614 lines
No EOL
2.5 MiB
Executable file
614 lines
No EOL
2.5 MiB
Executable file
/*
|
|
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
if you want to view the source, please visit the github repository of this plugin
|
|
*/
|
|
|
|
var Ja=Object.create;var Gr=Object.defineProperty;var Ha=Object.getOwnPropertyDescriptor;var Ua=Object.getOwnPropertyNames;var ja=Object.getPrototypeOf,La=Object.prototype.hasOwnProperty;var $a=(s,i)=>()=>(s&&(i=s(s=0)),i);var qa=(s,i)=>()=>(i||s((i={exports:{}}).exports,i),i.exports),rf=(s,i)=>{for(var e in i)Gr(s,e,{get:i[e],enumerable:!0})},tf=(s,i,e,r)=>{if(i&&typeof i=="object"||typeof i=="function")for(let t of Ua(i))!La.call(s,t)&&t!==e&&Gr(s,t,{get:()=>i[t],enumerable:!(r=Ha(i,t))||r.enumerable});return s};var _2=(s,i,e)=>(e=s!=null?Ja(ja(s)):{},tf(i||!s||!s.__esModule?Gr(e,"default",{value:s,enumerable:!0}):e,s)),Ka=s=>tf(Gr({},"__esModule",{value:!0}),s);var If=qa((n4,Fn)=>{(function(){var s={};typeof Fn=="object"?Fn.exports=s:self.UTIF=s;function i(){typeof process=="undefined"&&console.log.apply(console,arguments)}(function(e){(function(){"use strict";var r=function(){function A(l){this.message="JPEG error: "+l}return A.prototype=new Error,A.prototype.name="JpegError",A.constructor=A,A}(),t=function(){var A=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),l=4017,k=799,u=3406,h=2276,c=1567,d=3784,b=5793,g=2896;function v(_){_==null&&(_={}),_.w==null&&(_.w=-1),this.V=_.n,this.N=_.w}function w(_,x){for(var B=0,I=[],W,F,X=16,E;X>0&&!_[X-1];)X--;I.push({children:[],index:0});var S=I[0];for(W=0;W<X;W++){for(F=0;F<_[W];F++){for(S=I.pop(),S.children[S.index]=x[B];S.index>0;)S=I.pop();for(S.index++,I.push(S);I.length<=W;)I.push(E={children:[],index:0}),S.children[S.index]=E.children,S=E;B++}W+1<X&&(I.push(E={children:[],index:0}),S.children[S.index]=E.children,S=E)}return I[0].children}function p(_,x,B){return 64*((_.P+1)*x+B)}function m(_,x,B,I,W,F,X,E,S,M){M==null&&(M=!1);var T=B.m,z=B.Z,R=x,P=0,G=0,Q=0,Y=0,K,O=0,H,j,J,U,i0,$,t0=0,f0,p0,B0,o0;function g0(){if(G>0)return G--,P>>G&1;if(P=_[x++],P===255){var a0=_[x++];if(a0){if(a0===220&&M){x+=2;var c0=f(_,x);if(x+=2,c0>0&&c0!==B.s)throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data",c0)}else if(a0===217){if(M){var w0=O*8;if(w0>0&&w0<B.s/10)throw new DNLMarkerError("Found EOI marker (0xFFD9) while parsing scan data, possibly caused by incorrect `scanLines` parameter",w0)}throw new EOIMarkerError("Found EOI marker (0xFFD9) while parsing scan data")}throw new r("unexpected marker")}}return G=7,P>>>7}function b0(a0){for(var c0=a0;;){switch(c0=c0[g0()],typeof c0){case"number":return c0;case"object":continue}throw new r("invalid huffman sequence")}}function X0(a0){for(var c0=0;a0>0;)c0=c0<<1|g0(),a0--;return c0}function D0(a0){if(a0===1)return g0()===1?1:-1;var c0=X0(a0);return c0>=1<<a0-1?c0:c0+(-1<<a0)+1}function Ai(a0,c0){var w0=b0(a0.J),j0=w0===0?0:D0(w0),I0=1;for(a0.D[c0]=a0.Q+=j0;I0<64;){var L0=b0(a0.i),_0=L0&15,T0=L0>>4;if(_0===0){if(T0<15)break;I0+=16;continue}I0+=T0;var fi=A[I0];a0.D[c0+fi]=D0(_0),I0++}}function v0(a0,c0){var w0=b0(a0.J),j0=w0===0?0:D0(w0)<<S;a0.D[c0]=a0.Q+=j0}function Q0(a0,c0){a0.D[c0]|=g0()<<S}function U0(a0,c0){if(Q>0){Q--;return}for(var w0=F,j0=X;w0<=j0;){var I0=b0(a0.i),L0=I0&15,_0=I0>>4;if(L0===0){if(_0<15){Q=X0(_0)+(1<<_0)-1;break}w0+=16;continue}w0+=_0;var T0=A[w0];a0.D[c0+T0]=D0(L0)*(1<<S),w0++}}function n0(a0,c0){for(var w0=F,j0=X,I0=0,L0,_0;w0<=j0;){var T0=c0+A[w0],fi=a0.D[T0]<0?-1:1;switch(Y){case 0:if(_0=b0(a0.i),L0=_0&15,I0=_0>>4,L0===0)I0<15?(Q=X0(I0)+(1<<I0),Y=4):(I0=16,Y=1);else{if(L0!==1)throw new r("invalid ACn encoding");K=D0(L0),Y=I0?2:3}continue;case 1:case 2:a0.D[T0]?a0.D[T0]+=fi*(g0()<<S):(I0--,I0===0&&(Y=Y===2?3:0));break;case 3:a0.D[T0]?a0.D[T0]+=fi*(g0()<<S):(a0.D[T0]=K<<S,Y=0);break;case 4:a0.D[T0]&&(a0.D[T0]+=fi*(g0()<<S));break}w0++}Y===4&&(Q--,Q===0&&(Y=0))}function s0(a0,c0,w0,j0,I0){var L0=w0/T|0,_0=w0%T;O=L0*a0.A+j0;var T0=_0*a0.h+I0,fi=p(a0,O,T0);c0(a0,fi)}function ti(a0,c0,w0){O=w0/a0.P|0;var j0=w0%a0.P,I0=p(a0,O,j0);c0(a0,I0)}var mi=I.length;for(z?F===0?$=E===0?v0:Q0:$=E===0?U0:n0:$=Ai,mi===1?p0=I[0].P*I[0].c:p0=T*B.R;t0<=p0;){var ni=W?Math.min(p0-t0,W):p0;if(ni>0){for(j=0;j<mi;j++)I[j].Q=0;if(Q=0,mi===1)for(H=I[0],i0=0;i0<ni;i0++)ti(H,$,t0),t0++;else for(i0=0;i0<ni;i0++){for(j=0;j<mi;j++)for(H=I[j],B0=H.h,o0=H.A,J=0;J<o0;J++)for(U=0;U<B0;U++)s0(H,$,t0,J,U);t0++}}if(G=0,f0=Z(_,x),!f0)break;if(f0.u){var vi=ni>0?"unexpected":"excessive";x=f0.offset}if(f0.M>=65488&&f0.M<=65495)x+=2;else break}return x-R}function C(_,x,B){var I=_.$,W=_.D,F,X,E,S,M,T,z,R,P,G,Q,Y,K,O,H,j,J;if(!I)throw new r("missing required Quantization Table.");for(var U=0;U<64;U+=8){if(P=W[x+U],G=W[x+U+1],Q=W[x+U+2],Y=W[x+U+3],K=W[x+U+4],O=W[x+U+5],H=W[x+U+6],j=W[x+U+7],P*=I[U],!(G|Q|Y|K|O|H|j)){J=b*P+512>>10,B[U]=J,B[U+1]=J,B[U+2]=J,B[U+3]=J,B[U+4]=J,B[U+5]=J,B[U+6]=J,B[U+7]=J;continue}G*=I[U+1],Q*=I[U+2],Y*=I[U+3],K*=I[U+4],O*=I[U+5],H*=I[U+6],j*=I[U+7],F=b*P+128>>8,X=b*K+128>>8,E=Q,S=H,M=g*(G-j)+128>>8,R=g*(G+j)+128>>8,T=Y<<4,z=O<<4,F=F+X+1>>1,X=F-X,J=E*d+S*c+128>>8,E=E*c-S*d+128>>8,S=J,M=M+z+1>>1,z=M-z,R=R+T+1>>1,T=R-T,F=F+S+1>>1,S=F-S,X=X+E+1>>1,E=X-E,J=M*h+R*u+2048>>12,M=M*u-R*h+2048>>12,R=J,J=T*k+z*l+2048>>12,T=T*l-z*k+2048>>12,z=J,B[U]=F+R,B[U+7]=F-R,B[U+1]=X+z,B[U+6]=X-z,B[U+2]=E+T,B[U+5]=E-T,B[U+3]=S+M,B[U+4]=S-M}for(var i0=0;i0<8;++i0){if(P=B[i0],G=B[i0+8],Q=B[i0+16],Y=B[i0+24],K=B[i0+32],O=B[i0+40],H=B[i0+48],j=B[i0+56],!(G|Q|Y|K|O|H|j)){J=b*P+8192>>14,J<-2040?J=0:J>=2024?J=255:J=J+2056>>4,W[x+i0]=J,W[x+i0+8]=J,W[x+i0+16]=J,W[x+i0+24]=J,W[x+i0+32]=J,W[x+i0+40]=J,W[x+i0+48]=J,W[x+i0+56]=J;continue}F=b*P+2048>>12,X=b*K+2048>>12,E=Q,S=H,M=g*(G-j)+2048>>12,R=g*(G+j)+2048>>12,T=Y,z=O,F=(F+X+1>>1)+4112,X=F-X,J=E*d+S*c+2048>>12,E=E*c-S*d+2048>>12,S=J,M=M+z+1>>1,z=M-z,R=R+T+1>>1,T=R-T,F=F+S+1>>1,S=F-S,X=X+E+1>>1,E=X-E,J=M*h+R*u+2048>>12,M=M*u-R*h+2048>>12,R=J,J=T*k+z*l+2048>>12,T=T*l-z*k+2048>>12,z=J,P=F+R,j=F-R,G=X+z,H=X-z,Q=E+T,O=E-T,Y=S+M,K=S-M,P<16?P=0:P>=4080?P=255:P>>=4,G<16?G=0:G>=4080?G=255:G>>=4,Q<16?Q=0:Q>=4080?Q=255:Q>>=4,Y<16?Y=0:Y>=4080?Y=255:Y>>=4,K<16?K=0:K>=4080?K=255:K>>=4,O<16?O=0:O>=4080?O=255:O>>=4,H<16?H=0:H>=4080?H=255:H>>=4,j<16?j=0:j>=4080?j=255:j>>=4,W[x+i0]=P,W[x+i0+8]=G,W[x+i0+16]=Q,W[x+i0+24]=Y,W[x+i0+32]=K,W[x+i0+40]=O,W[x+i0+48]=H,W[x+i0+56]=j}}function y(_,x){for(var B=x.P,I=x.c,W=new Int16Array(64),F=0;F<I;F++)for(var X=0;X<B;X++){var E=p(x,F,X);C(x,E,W)}return x.D}function Z(_,x,B){B==null&&(B=x);var I=_.length-1,W=B<x?B:x;if(x>=I)return null;var F=f(_,x);if(F>=65472&&F<=65534)return{u:null,M:F,offset:x};for(var X=f(_,W);!(X>=65472&&X<=65534);){if(++W>=I)return null;X=f(_,W)}return{u:F.toString(16),M:X,offset:W}}return v.prototype={parse(_,x){x==null&&(x={});var B=x.F,I=0,W=null,F=null,X,E,S=0;function M(){var _0=f(_,I);I+=2;var T0=I+_0-2,fi=Z(_,T0,I);fi&&fi.u&&(T0=fi.offset);var se=_.subarray(I,T0);return I+=se.length,se}function T(_0){for(var T0=Math.ceil(_0.o/8/_0.X),fi=Math.ceil(_0.s/8/_0.B),se=0;se<_0.W.length;se++){n0=_0.W[se];var Oi=Math.ceil(Math.ceil(_0.o/8)*n0.h/_0.X),Ae=Math.ceil(Math.ceil(_0.s/8)*n0.A/_0.B),q2=T0*n0.h,Fr=fi*n0.A,un=64*Fr*(q2+1);n0.D=new Int16Array(un),n0.P=Oi,n0.c=Ae}_0.m=T0,_0.R=fi}var z=[],R=[],P=[],G=f(_,I);if(I+=2,G!==65496)throw new r("SOI not found");G=f(_,I),I+=2;i:for(;G!==65497;){var Q,Y,K;switch(G){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var O=M();G===65504&&O[0]===74&&O[1]===70&&O[2]===73&&O[3]===70&&O[4]===0&&(W={version:{d:O[5],T:O[6]},K:O[7],j:O[8]<<8|O[9],H:O[10]<<8|O[11],S:O[12],I:O[13],C:O.subarray(14,14+3*O[12]*O[13])}),G===65518&&O[0]===65&&O[1]===100&&O[2]===111&&O[3]===98&&O[4]===101&&(F={version:O[5]<<8|O[6],k:O[7]<<8|O[8],q:O[9]<<8|O[10],a:O[11]});break;case 65499:var H=f(_,I),j;I+=2;for(var J=H+I-2;I<J;){var U=_[I++],i0=new Uint16Array(64);if(U>>4)if(U>>4===1)for(Y=0;Y<64;Y++)j=A[Y],i0[j]=f(_,I),I+=2;else throw new r("DQT - invalid table spec");else for(Y=0;Y<64;Y++)j=A[Y],i0[j]=_[I++];z[U&15]=i0}break;case 65472:case 65473:case 65474:if(X)throw new r("Only single frame JPEGs supported");I+=2,X={},X.G=G===65473,X.Z=G===65474,X.precision=_[I++];var $=f(_,I),t0,f0=0,p0=0;I+=2,X.s=B||$,X.o=f(_,I),I+=2,X.W=[],X._={};var B0=_[I++];for(Q=0;Q<B0;Q++){t0=_[I];var o0=_[I+1]>>4,g0=_[I+1]&15;f0<o0&&(f0=o0),p0<g0&&(p0=g0);var b0=_[I+2];K=X.W.push({h:o0,A:g0,L:b0,$:null}),X._[t0]=K-1,I+=3}X.X=f0,X.B=p0,T(X);break;case 65476:var X0=f(_,I);for(I+=2,Q=2;Q<X0;){var D0=_[I++],Ai=new Uint8Array(16),v0=0;for(Y=0;Y<16;Y++,I++)v0+=Ai[Y]=_[I];var Q0=new Uint8Array(v0);for(Y=0;Y<v0;Y++,I++)Q0[Y]=_[I];Q+=17+v0,(D0>>4?R:P)[D0&15]=w(Ai,Q0)}break;case 65501:I+=2,E=f(_,I),I+=2;break;case 65498:var U0=++S===1&&!B,n0;I+=2;var s0=_[I++],ti=[];for(Q=0;Q<s0;Q++){var mi=_[I++],ni=X._[mi];n0=X.W[ni],n0.index=mi;var vi=_[I++];n0.J=P[vi>>4],n0.i=R[vi&15],ti.push(n0)}var a0=_[I++],c0=_[I++],w0=_[I++];try{var j0=m(_,I,X,ti,E,a0,c0,w0>>4,w0&15,U0);I+=j0}catch(_0){if(_0 instanceof DNLMarkerError)return this.parse(_,{F:_0.s});if(_0 instanceof EOIMarkerError)break i;throw _0}break;case 65500:I+=4;break;case 65535:_[I]!==255&&I--;break;default:var I0=Z(_,I-2,I-3);if(I0&&I0.u){I=I0.offset;break}if(I>=_.length-1)break i;throw new r("JpegImage.parse - unknown marker: "+G.toString(16))}G=f(_,I),I+=2}for(this.width=X.o,this.height=X.s,this.g=W,this.b=F,this.W=[],Q=0;Q<X.W.length;Q++){n0=X.W[Q];var L0=z[n0.L];L0&&(n0.$=L0),this.W.push({index:n0.index,e:y(X,n0),l:n0.h/X.X,t:n0.A/X.B,P:n0.P,c:n0.c})}this.p=this.W.length},Y(_,x,B){B==null&&(B=!1);var I=this.width/_,W=this.height/x,F,X,E,S,M,T,z,R,P,G,Q=0,Y,K=this.W.length,O=_*x*K,H=new Uint8ClampedArray(O),j=new Uint32Array(_),J=4294967288,U;for(z=0;z<K;z++){if(F=this.W[z],X=F.l*I,E=F.t*W,Q=z,Y=F.e,S=F.P+1<<3,X!==U){for(M=0;M<_;M++)R=0|M*X,j[M]=(R&J)<<3|R&7;U=X}for(T=0;T<x;T++)for(R=0|T*E,G=S*(R&J)|(R&7)<<3,M=0;M<_;M++)H[Q]=Y[G+j[M]],Q+=K}var i0=this.V;if(!B&&K===4&&!i0&&(i0=new Int32Array([-256,255,-256,255,-256,255,-256,255])),i0)for(z=0;z<O;)for(R=0,P=0;R<K;R++,z++,P+=2)H[z]=(H[z]*i0[P]>>8)+i0[P+1];return H},get f(){return this.b?!!this.b.a:this.p===3?this.N===0?!1:!(this.W[0].index===82&&this.W[1].index===71&&this.W[2].index===66):this.N===1},z:function(x){for(var B,I,W,F=0,X=x.length;F<X;F+=3)B=x[F],I=x[F+1],W=x[F+2],x[F]=B-179.456+1.402*W,x[F+1]=B+135.459-.344*I-.714*W,x[F+2]=B-226.816+1.772*I;return x},O:function(x){for(var B,I,W,F,X=0,E=0,S=x.length;E<S;E+=4)B=x[E],I=x[E+1],W=x[E+2],F=x[E+3],x[X++]=-122.67195406894+I*(-660635669420364e-19*I+.000437130475926232*W-54080610064599e-18*B+.00048449797120281*F-.154362151871126)+W*(-.000957964378445773*W+.000817076911346625*B-.00477271405408747*F+1.53380253221734)+B*(.000961250184130688*B-.00266257332283933*F+.48357088451265)+F*(-.000336197177618394*F+.484791561490776),x[X++]=107.268039397724+I*(219927104525741e-19*I-.000640992018297945*W+.000659397001245577*B+.000426105652938837*F-.176491792462875)+W*(-.000778269941513683*W+.00130872261408275*B+.000770482631801132*F-.151051492775562)+B*(.00126935368114843*B-.00265090189010898*F+.25802910206845)+F*(-.000318913117588328*F-.213742400323665),x[X++]=-20.810012546947+I*(-.000570115196973677*I-263409051004589e-19*W+.0020741088115012*B-.00288260236853442*F+.814272968359295)+W*(-153496057440975e-19*W-.000132689043961446*B+.000560833691242812*F-.195152027534049)+B*(.00174418132927582*B-.00255243321439347*F+.116935020465145)+F*(-.000343531996510555*F+.24165260232407);return x.subarray(0,X)},r:function(x){for(var B,I,W,F=0,X=x.length;F<X;F+=4)B=x[F],I=x[F+1],W=x[F+2],x[F]=434.456-B-1.402*W,x[F+1]=119.541-B+.344*I+.714*W,x[F+2]=481.816-B-1.772*I;return x},U:function(x){for(var B,I,W,F,X=0,E=0,S=x.length;E<S;E+=4)B=x[E],I=x[E+1],W=x[E+2],F=x[E+3],x[X++]=255+B*(-6747147073602441e-20*B+.0008379262121013727*I+.0002894718188643294*W+.003264231057537806*F-1.1185611867203937)+I*(26374107616089405e-21*I-8626949158638572e-20*W-.0002748769067499491*F-.02155688794978967)+W*(-3878099212869363e-20*W-.0003267808279485286*F+.0686742238595345)-F*(.0003361971776183937*F+.7430659151342254),x[X++]=255+B*(.00013596372813588848*B+.000924537132573585*I+.00010567359618683593*W+.0004791864687436512*F-.3109689587515875)+I*(-.00023545346108370344*I+.0002702845253534714*W+.0020200308977307156*F-.7488052167015494)+W*(6834815998235662e-20*W+.00015168452363460973*F-.09751927774728933)-F*(.0003189131175883281*F+.7364883807733168),x[X++]=255+B*(13598650411385307e-21*B+.00012423956175490851*I+.0004751985097583589*W-36729317476630422e-22*F-.05562186980264034)+I*(.00016141380598724676*I+.0009692239130725186*W+.0007782692450036253*F-.44015232367526463)+W*(5068882914068769e-22*W+.0017778369011375071*F-.7591454649749609)-F*(.0003435319965105553*F+.7063770186160144);return x.subarray(0,X)},getData:function(_){var x=_.width,B=_.height,I=_.forceRGB,W=_.isSourcePDF;if(this.p>4)throw new r("Unsupported color mode");var F=this.Y(x,B,W);if(this.p===1&&I){for(var X=F.length,E=new Uint8ClampedArray(X*3),S=0,M=0;M<X;M++){var T=F[M];E[S++]=T,E[S++]=T,E[S++]=T}return E}else{if(this.p===3&&this.f)return this.z(F);if(this.p===4){if(this.f)return I?this.O(F):this.r(F);if(I)return this.U(F)}}return F}},v}();function n(a,A){return a[A]<<24>>24}function f(a,A){return a[A]<<8|a[A+1]}function o(a,A){return(a[A]<<24|a[A+1]<<16|a[A+2]<<8|a[A+3])>>>0}e.JpegDecoder=t})(),e.encodeImage=function(r,t,n,f){var o=new Uint8Array(r),a=window&&window.pako?8:1;a==8&&(o=pako.deflate(o));var A={t256:[t],t257:[n],t258:[8,8,8,8],t259:[a],t262:[2],t273:[1e3],t277:[4],t278:[n],t279:[o.length],t282:[[72,1]],t283:[[72,1]],t284:[1],t286:[[0,1]],t287:[[0,1]],t296:[1],t305:["Photopea (UTIF.js)"],t338:[1]};if(f)for(var l in f)A[l]=f[l];for(var k=new Uint8Array(e.encode([A])),u=new Uint8Array(1e3+o.length),l=0;l<k.length;l++)u[l]=k[l];for(var l=0;l<o.length;l++)u[1e3+l]=o[l];return u.buffer},e.encode=function(r){var t=!1,n=new Uint8Array(2e4),f=4,o=t?e._binLE:e._binBE;n[0]=n[1]=t?73:77,o.writeUshort(n,2,42);var a=8;o.writeUint(n,f,a),f+=4;for(var A=0;A<r.length;A++){var l=e._writeIFD(o,e._types.basic,n,a,r[A]);a=l[1],A<r.length-1&&(a&3&&(a+=4-(a&3)),o.writeUint(n,l[0],a))}return n.slice(0,a).buffer},e.decode=function(r,t){t==null&&(t={parseMN:!0,debug:!1});var n=new Uint8Array(r),f=0,o=e._binBE.readASCII(n,f,2);f+=2;var a=o=="II"?e._binLE:e._binBE,A=a.readUshort(n,f);f+=2;var l=a.readUint(n,f);f+=4;for(var k=[];;){var u=a.readUshort(n,l),h=a.readUshort(n,l+4);if(u!=0&&(h<1||13<h)){i("error in TIFF");break}if(e._readIFD(a,n,l,k,0,t),l=a.readUint(n,l+2+u*12),l==0)break}return k},e.decodeImage=function(r,t,n){if(!t.data){var f=new Uint8Array(r),o=e._binBE.readASCII(f,0,2);if(t.t256!=null){t.isLE=o=="II",t.width=t.t256[0],t.height=t.t257[0];var a=t.t259?t.t259[0]:1,A=t.t266?t.t266[0]:1;a==7&&t.t258&&t.t258.length>3&&(t.t258=t.t258.slice(0,3));var l=t.t258?t.t258[0]:1,k=t.t277?t.t277[0]:1,u=t.t284?t.t284[0]:1;k!=3&&(u=1),u==2&&i("PlanarConfiguration 2 should not be used!");var h=l*k;a==1&&t.t279!=null&&t.t278&&t.t262[0]==32803&&(h=Math.round(t.t279[0]*8/(t.width*t.t278[0]))),t.t50885&&t.t50885[0]==4&&(h=t.t258[0]*3);var c=Math.ceil(t.width*h/8)*8,d=t.t273;(d==null||t.t322)&&(d=t.t324);var b=t.t279;a==1&&d.length==1&&(b=[t.height*(c>>>3)]),(b==null||t.t322)&&(b=t.t325);var g=new Uint8Array(t.height*(c>>>3)),v=0;if(t.t322!=null){var w=t.t322[0],p=t.t323[0],m=Math.floor((t.width+w-1)/w),C=Math.floor((t.height+p-1)/p),y=new Uint8Array(Math.ceil(w*p*h/8)|0);console.log("====",m,C);for(var Z=0;Z<C;Z++)for(var _=0;_<m;_++){var x=Z*m+_;y.fill(0),e.decode._decompress(t,n,f,d[x],b[x],a,y,0,A,w,p),a==6?g=y:e._copyTile(y,Math.ceil(w*h/8)|0,p,g,Math.ceil(t.width*h/8)|0,t.height,Math.ceil(_*w*h/8)|0,Z*p)}v=g.length*8}else{if(d==null)return;var B=t.t278?t.t278[0]:t.height;B=Math.min(B,t.height);for(var x=0;x<d.length;x++){if(u==1){var I=Math.ceil(v/8)|0;e.decode._decompress(t,n,f,d[x],b[x],a,g,I,A,t.width,B)}else{var W=new Uint8Array(t.width*B);e.decode._decompress(t,n,f,d[x],b[x],a,W,0,A,t.width,B);for(var F=Math.ceil(d.length/3),I=x%F*t.width*B*3,X=Math.floor(x/F),E=0;E<W.length;E++)g[I+E*3+X]=W[E]}v+=c*B}v=Math.min(v,g.length*8)}t.data=new Uint8Array(g.buffer,0,Math.ceil(v/8)|0)}}},e.decode._decompress=function(r,t,n,f,o,a,A,l,k,u,h){if(r.t271&&r.t271[0]=="Panasonic"&&(r.t45&&r.t45[0]==6?a=34316:a==34828&&(a=1)),a==1)for(var c=0;c<o;c++)A[l+c]=n[f+c];else if(a==2)e.decode._decodeG2(n,f,o,A,l,u,k);else if(a==3)e.decode._decodeG3(n,f,o,A,l,u,k,r.t292?(r.t292[0]&1)==1:!1);else if(a==4)e.decode._decodeG4(n,f,o,A,l,u,k);else if(a==5)e.decode._decodeLZW(n,f,o,A,l,8);else if(a==6)e.decode._decodeOldJPEG(r,n,f,o,A,l);else if(a==7||a==34892)e.decode._decodeNewJPEG(r,n,f,o,A,l);else if(a==8||a==32946){var d=new Uint8Array(n.buffer,f+2,o-6),b=e._inflateRaw(d);l+b.length<=A.length&&A.set(b,l)}else a==9?e.decode._decodeVC5(n,f,o,A,l,r.t33422):a==32767?e.decode._decodeARW(r,n,f,o,A,l):a==32773?e.decode._decodePackBits(n,f,o,A,l):a==32809?e.decode._decodeThunder(n,f,o,A,l):a==34316?e.decode._decodePanasonic(r,n,f,o,A,l):a==34713?e.decode._decodeNikon(r,t,n,f,o,A,l):a==34676?e.decode._decodeLogLuv32(r,n,f,o,A,l):i("Unknown compression",a);var g=r.t284?r.t284[0]:1,v=r.t258?Math.min(32,r.t258[0]):1,w=g==2?1:r.t277?r.t277[0]:1,p=v*w>>>3,m=Math.ceil(v*w*u/8);if(v==16&&!r.isLE&&r.t33422==null)for(var C=0;C<h;C++)for(var y=l+C*m,Z=1;Z<m;Z+=2){var _=A[y+Z];A[y+Z]=A[y+Z-1],A[y+Z-1]=_}if(r.t317&&r.t317[0]==2)for(var C=0;C<h;C++){var x=l+C*m;if(v==16)for(var c=p;c<m;c+=2){var B=(A[x+c+1]<<8|A[x+c])+(A[x+c-p+1]<<8|A[x+c-p]);A[x+c]=B&255,A[x+c+1]=B>>>8&255}else if(w==3)for(var c=3;c<m;c+=3)A[x+c]=A[x+c]+A[x+c-3]&255,A[x+c+1]=A[x+c+1]+A[x+c-2]&255,A[x+c+2]=A[x+c+2]+A[x+c-1]&255;else for(var c=p;c<m;c++)A[x+c]=A[x+c]+A[x+c-p]&255}},e.decode._decodePanasonic=function(r,t,n,f,o,a){var A=t.buffer,l=r.t2[0],k=r.t3[0],u=r.t10[0],h=r.t45[0],c=0,d=0,b=0,g=0,v,w,p=h==6?new Uint32Array(18):new Uint8Array(16),m,C,y,Z=[0,0],_=[0,0],x,B=0,I,W,F,X,E=new Uint8Array(16384),S=new Uint16Array(o.buffer);function M(g0){if(b==0){var b0=new Uint8Array(A,n+d+8184,8200),X0=new Uint8Array(A,n+d,8184);E.set(b0),E.set(X0,b0.length),d+=16384}if(h==5)for(m=0;m<16;m++)p[m]=E[b++],b&=16383;else return b=b-g0&131071,g=b>>3^16368,(E[g]|E[g+1]<<8)>>(b&7)&~(-1<<g0)}function T(g0){return E[b+15-g0]}function z(){p[0]=T(0)<<6|T(1)>>2,p[1]=((T(1)&3)<<12|T(2)<<4|T(3)>>4)&16383,p[2]=T(3)>>2&3,p[3]=(T(3)&3)<<8|T(4),p[4]=T(5)<<2|T(6)>>6,p[5]=(T(6)&63)<<4|T(7)>>4,p[6]=T(7)>>2&3,p[7]=(T(7)&3)<<8|T(8),p[8]=T(9)<<2&1020|T(10)>>6,p[9]=(T(10)<<4|T(11)>>4)&1023,p[10]=T(11)>>2&3,p[11]=(T(11)&3)<<8|T(12),p[12]=(T(13)<<2&1020|T(14)>>6)&1023,p[13]=(T(14)<<4|T(15)>>4)&1023,b+=16,g=0}function R(){p[0]=T(0)<<4|T(1)>>4,p[1]=((T(1)&15)<<8|T(2))&4095,p[2]=T(3)>>6&3,p[3]=(T(3)&63)<<2|T(4)>>6,p[4]=(T(4)&63)<<2|T(5)>>6,p[5]=(T(5)&63)<<2|T(6)>>6,p[6]=T(6)>>4&3,p[7]=(T(6)&15)<<4|T(7)>>4,p[8]=(T(7)&15)<<4|T(8)>>4,p[9]=(T(8)&15)<<4|T(9)>>4,p[10]=T(9)>>2&3,p[11]=(T(9)&3)<<6|T(10)>>2,p[12]=(T(10)&3)<<6|T(11)>>2,p[13]=(T(11)&3)<<6|T(12)>>2,p[14]=T(12)&3,p[15]=T(13),p[16]=T(14),p[17]=T(15),b+=16,g=0}function P(){Z[0]=0,Z[1]=0,_[0]=0,_[1]=0}if(h==7)throw h;if(h==6){var G=u==12,Q=G?R:z,Y=G?14:11,K=G?128:512,O=G?2048:8192,H=G?16383:65535,j=G?4095:16383,J=l/Y,U=J*16,i0=G?18:14;for(W=0;W<k-15;W+=16){var $=Math.min(16,k-W),t0=U*$;for(E=new Uint8Array(A,n+c,t0),b=0,c+=t0,X=0,F=0;X<$;X++,F=0){B=(W+X)*l;for(var f0=0;f0<J;f0++)for(Q(),P(),y=0,I=0,m=0;m<Y;m++){if(x=m&1,m%3==2){var p0=g<i0?p[g++]:0;p0==3&&(p0=4),I=K<<p0,y=1<<p0}var B0=g<i0?p[g++]:0;Z[x]?(B0*=y,I<O&&_[x]>I&&(B0+=_[x]-I),_[x]=B0):(Z[x]=B0,B0?_[x]=B0:B0=_[x]),S[B+F++]=B0-15<=H?B0-15&H:B0+2147483633>>31&j}}}}else if(h==5){var o0=u==12?10:9;for(W=0;W<k;W++)for(F=0;F<l;F+=o0)M(0),u==12?(S[B++]=((p[1]&15)<<8)+p[0],S[B++]=16*p[2]+(p[1]>>4),S[B++]=((p[4]&15)<<8)+p[3],S[B++]=16*p[5]+(p[4]>>4),S[B++]=((p[7]&15)<<8)+p[6],S[B++]=16*p[8]+(p[7]>>4),S[B++]=((p[10]&15)<<8)+p[9],S[B++]=16*p[11]+(p[10]>>4),S[B++]=((p[13]&15)<<8)+p[12],S[B++]=16*p[14]+(p[13]>>4)):u==14&&(S[B++]=p[0]+((p[1]&63)<<8),S[B++]=(p[1]>>6)+4*p[2]+((p[3]&15)<<10),S[B++]=(p[3]>>4)+16*p[4]+((p[5]&3)<<12),S[B++]=((p[5]&252)>>2)+(p[6]<<6),S[B++]=p[7]+((p[8]&63)<<8),S[B++]=(p[8]>>6)+4*p[9]+((p[10]&15)<<10),S[B++]=(p[10]>>4)+16*p[11]+((p[12]&3)<<12),S[B++]=((p[12]&252)>>2)+(p[13]<<6),S[B++]=p[14]+((p[15]&63)<<8))}else if(h==4)for(W=0;W<k;W++)for(F=0;F<l;F++)m=F%14,x=m&1,m==0&&P(),m%3==2&&(y=4>>3-M(2)),_[x]?(C=M(8),C!=0&&(Z[x]-=128<<y,(Z[x]<0||y==4)&&(Z[x]&=~(-1<<y)),Z[x]+=C<<y)):(_[x]=M(8),(_[x]||m>11)&&(Z[x]=_[x]<<4|M(4))),S[B++]=Z[F&1];else throw h},e.decode._decodeVC5=function(){var r=[1,0,1,0,2,2,1,1,3,7,1,2,5,25,1,3,6,48,1,4,6,54,1,5,7,111,1,8,7,99,1,6,7,105,12,0,7,107,1,7,8,209,20,0,8,212,1,9,8,220,1,10,9,393,1,11,9,394,32,0,9,416,1,12,9,427,1,13,10,887,1,18,10,784,1,14,10,790,1,15,10,835,60,0,10,852,1,16,10,885,1,17,11,1571,1,19,11,1668,1,20,11,1669,100,0,11,1707,1,21,11,1772,1,22,12,3547,1,29,12,3164,1,24,12,3166,1,25,12,3140,1,23,12,3413,1,26,12,3537,1,27,12,3539,1,28,13,7093,1,35,13,6283,1,30,13,6331,1,31,13,6335,180,0,13,6824,1,32,13,7072,1,33,13,7077,320,0,13,7076,1,34,14,12565,1,36,14,12661,1,37,14,12669,1,38,14,13651,1,39,14,14184,1,40,15,28295,1,46,15,28371,1,47,15,25320,1,42,15,25336,1,43,15,25128,1,41,15,27300,1,44,15,28293,1,45,16,50259,1,48,16,50643,1,49,16,50675,1,50,16,56740,1,53,16,56584,1,51,16,56588,1,52,17,113483,1,61,17,113482,1,60,17,101285,1,55,17,101349,1,56,17,109205,1,57,17,109207,1,58,17,100516,1,54,17,113171,1,59,18,202568,1,62,18,202696,1,63,18,218408,1,64,18,218412,1,65,18,226340,1,66,18,226356,1,67,18,226358,1,68,19,402068,1,69,19,405138,1,70,19,405394,1,71,19,436818,1,72,19,436826,1,73,19,452714,1,75,19,452718,1,76,19,452682,1,74,20,804138,1,77,20,810279,1,78,20,810790,1,79,20,873638,1,80,20,873654,1,81,20,905366,1,82,20,905430,1,83,20,905438,1,84,21,1608278,1,85,21,1620557,1,86,21,1621582,1,87,21,1621583,1,88,21,1747310,1,89,21,1810734,1,90,21,1810735,1,91,21,1810863,1,92,21,1810879,1,93,22,3621725,1,99,22,3621757,1,100,22,3241112,1,94,22,3494556,1,95,22,3494557,1,96,22,3494622,1,97,22,3494623,1,98,23,6482227,1,102,23,6433117,1,101,23,6989117,1,103,23,6989119,1,105,23,6989118,1,104,23,7243449,1,106,23,7243512,1,107,24,13978233,1,111,24,12964453,1,109,24,12866232,1,108,24,14486897,1,113,24,13978232,1,110,24,14486896,1,112,24,14487026,1,114,24,14487027,1,115,25,25732598,1,225,25,25732597,1,189,25,25732596,1,188,25,25732595,1,203,25,25732594,1,202,25,25732593,1,197,25,25732592,1,207,25,25732591,1,169,25,25732590,1,223,25,25732589,1,159,25,25732522,1,235,25,25732579,1,152,25,25732575,1,192,25,25732489,1,179,25,25732573,1,201,25,25732472,1,172,25,25732576,1,149,25,25732488,1,178,25,25732566,1,120,25,25732571,1,219,25,25732577,1,150,25,25732487,1,127,25,25732506,1,211,25,25732548,1,125,25,25732588,1,158,25,25732486,1,247,25,25732467,1,238,25,25732508,1,163,25,25732552,1,228,25,25732603,1,183,25,25732513,1,217,25,25732587,1,168,25,25732520,1,122,25,25732484,1,128,25,25732562,1,249,25,25732505,1,187,25,25732504,1,186,25,25732483,1,136,25,25928905,1,181,25,25732560,1,255,25,25732500,1,230,25,25732482,1,135,25,25732555,1,233,25,25732568,1,222,25,25732583,1,145,25,25732481,1,134,25,25732586,1,167,25,25732521,1,248,25,25732518,1,209,25,25732480,1,243,25,25732512,1,216,25,25732509,1,164,25,25732547,1,140,25,25732479,1,157,25,25732544,1,239,25,25732574,1,191,25,25732564,1,251,25,25732478,1,156,25,25732546,1,139,25,25732498,1,242,25,25732557,1,133,25,25732477,1,162,25,25732515,1,213,25,25732584,1,165,25,25732514,1,212,25,25732476,1,227,25,25732494,1,198,25,25732531,1,236,25,25732530,1,234,25,25732529,1,117,25,25732528,1,215,25,25732527,1,124,25,25732526,1,123,25,25732525,1,254,25,25732524,1,253,25,25732523,1,148,25,25732570,1,218,25,25732580,1,146,25,25732581,1,147,25,25732569,1,224,25,25732533,1,143,25,25732540,1,184,25,25732541,1,185,25,25732585,1,166,25,25732556,1,132,25,25732485,1,129,25,25732563,1,250,25,25732578,1,151,25,25732501,1,119,25,25732502,1,193,25,25732536,1,176,25,25732496,1,245,25,25732553,1,229,25,25732516,1,206,25,25732582,1,144,25,25732517,1,208,25,25732558,1,137,25,25732543,1,241,25,25732466,1,237,25,25732507,1,190,25,25732542,1,240,25,25732551,1,131,25,25732554,1,232,25,25732565,1,252,25,25732475,1,171,25,25732493,1,205,25,25732492,1,204,25,25732491,1,118,25,25732490,1,214,25,25928904,1,180,25,25732549,1,126,25,25732602,1,182,25,25732539,1,175,25,25732545,1,141,25,25732559,1,138,25,25732537,1,177,25,25732534,1,153,25,25732503,1,194,25,25732606,1,160,25,25732567,1,121,25,25732538,1,174,25,25732497,1,246,25,25732550,1,130,25,25732572,1,200,25,25732474,1,170,25,25732511,1,221,25,25732601,1,196,25,25732532,1,142,25,25732519,1,210,25,25732495,1,199,25,25732605,1,155,25,25732535,1,154,25,25732499,1,244,25,25732510,1,220,25,25732600,1,195,25,25732607,1,161,25,25732604,1,231,25,25732473,1,173,25,25732599,1,226,26,51465122,1,116,26,51465123,0,1],t,n,f,o=[3,3,3,3,2,2,2,1,1,1],a=24576,A=16384,l=8192,k=A|l;function u(m){var C=m[1],y=m[0][C>>>3]>>>7-(C&7)&1;return m[1]++,y}function h(m,C){if(t==null){t={};for(var y=0;y<r.length;y+=4)t[r[y+1]]=r.slice(y,y+4)}for(var Z=u(m),_=t[Z];_==null;)Z=Z<<1|u(m),_=t[Z];var x=_[3];x!=0&&(x=u(m)==0?x:-x),C[0]=_[2],C[1]=x}function c(m,C){for(var y=0;y<C;y++)(m&1)==1&&m++,m=m>>>1;return m}function d(m,C){return m>>C}function b(m,C,y,Z,_,x){C[y]=d(d(11*m[_]-4*m[_+x]+m[_+x+x]+4,3)+m[Z],1),C[y+x]=d(d(5*m[_]+4*m[_+x]-m[_+x+x]+4,3)-m[Z],1)}function g(m,C,y,Z,_,x){var B=m[_-x]-m[_+x],I=m[_],W=m[Z];C[y]=d(d(B+4,3)+I+W,1),C[y+x]=d(d(-B+4,3)+I-W,1)}function v(m,C,y,Z,_,x){C[y]=d(d(5*m[_]+4*m[_-x]-m[_-x-x]+4,3)+m[Z],1),C[y+x]=d(d(11*m[_]-4*m[_-x]+m[_-x-x]+4,3)-m[Z],1)}function w(m){return m=m<0?0:m>4095?4095:m,m=f[m]>>>2,m}function p(m,C,y,Z,_,x){Z=new Uint16Array(Z.buffer);var B=Date.now(),I=e._binBE,W=C+y,F,X,E,S,M,T,z,R,P,G,Q,Y,K,O,H,j,J,U;C+=4;for(var i0=x[0]==1;C<W;){var $=I.readShort(m,C),t0=I.readUshort(m,C+2);if(C+=4,$==12)F=t0;else if($==20)X=t0;else if($==21)E=t0;else if($==48)S=t0;else if($==53)M=t0;else if($==35)T=t0;else if($==62)z=t0;else if($==101)R=t0;else if($==109)P=t0;else if($==84)G=t0;else if($==106)Q=t0;else if($==107)Y=t0;else if($==108)K=t0;else if($==102)O=t0;else if($==104)H=t0;else if($==105)j=t0;else{var f0=$<0?-$:$,p0=f0&65280,B0=0;if(f0&k&&(f0&l?(B0=t0&65535,B0+=(f0&255)<<16):B0=t0&65535),(f0&a)==a){if(J==null){J=[];for(var o0=0;o0<4;o0++)J[o0]=new Int16Array((X>>>1)*(E>>>1));U=new Int16Array((X>>>1)*(E>>>1)),n=new Int16Array(1024);for(var o0=0;o0<1024;o0++){var g0=o0-512,b0=Math.abs(g0),F=Math.floor(768*b0*b0*b0/(255*255*255))+b0;n[o0]=Math.sign(g0)*F}f=new Uint16Array(4096);for(var X0=(1<<16)-1,o0=0;o0<4096;o0++){var D0=o0,Ai=X0*(Math.pow(113,D0/4095)-1)/112;f[o0]=Math.min(Ai,X0)}}var v0=J[z],Q0=c(X,1+o[S]),U0=c(E,1+o[S]);if(S==0)for(var n0=0;n0<U0;n0++)for(var s0=0;s0<Q0;s0++){var ti=C+(n0*Q0+s0)*2;v0[n0*(X>>>1)+s0]=m[ti]<<8|m[ti+1]}else{for(var mi=[m,C*8],ni=[],vi=0,a0=Q0*U0,c0=[0,0],w0=0,t0=0;vi<a0;)for(h(mi,c0),w0=c0[0],t0=c0[1];w0>0;)ni[vi++]=t0,w0--;for(var j0=(S-1)%3,I0=j0!=1?Q0:0,L0=j0!=0?U0:0,n0=0;n0<U0;n0++)for(var _0=(n0+L0)*(X>>>1)+I0,T0=n0*Q0,s0=0;s0<Q0;s0++)v0[_0+s0]=n[ni[T0+s0]+512]*M;if(j0==2){for(var H=X>>>1,fi=Q0*2,se=U0*2,n0=0;n0<U0;n0++)for(var s0=0;s0<fi;s0++){var o0=n0*2*H+s0,Oi=n0*H+s0,Ae=U0*H+Oi;n0==0?b(v0,U,o0,Ae,Oi,H):n0==U0-1?v(v0,U,o0,Ae,Oi,H):g(v0,U,o0,Ae,Oi,H)}var q2=v0;v0=U,U=q2;for(var n0=0;n0<se;n0++)for(var s0=0;s0<Q0;s0++){var o0=n0*H+2*s0,Oi=n0*H+s0,Ae=Q0+Oi;s0==0?b(v0,U,o0,Ae,Oi,1):s0==Q0-1?v(v0,U,o0,Ae,Oi,1):g(v0,U,o0,Ae,Oi,1)}var q2=v0;v0=U,U=q2;for(var Fr=[],un=2-~~((S-1)/3),Xr=0;Xr<3;Xr++)Fr[Xr]=P>>14-Xr*2&3;var j1=Fr[un];if(j1!=0)for(var n0=0;n0<se;n0++)for(var s0=0;s0<fi;s0++){var o0=n0*H+s0;v0[o0]=v0[o0]<<j1}}}if(S==9&&z==3)for(var Pa=J[0],Na=J[1],Qa=J[2],Ya=J[3],n0=0;n0<E;n0+=2)for(var s0=0;s0<X;s0+=2){var ye=n0*X+s0,ti=(n0>>>1)*(X>>>1)+(s0>>>1),Vr=Pa[ti],Oa=Na[ti]-2048,za=Qa[ti]-2048,L1=Ya[ti]-2048,$1=(Oa<<1)+Vr,q1=(za<<1)+Vr,K1=Vr+L1,ef=Vr-L1;i0?(Z[ye]=w(K1),Z[ye+1]=w(q1),Z[ye+X]=w($1),Z[ye+X+1]=w(ef)):(Z[ye]=w($1),Z[ye+1]=w(K1),Z[ye+X]=w(ef),Z[ye+X+1]=w(q1))}C+=B0*4}else if(f0==16388)C+=B0*4;else if(!(p0==8192||p0==8448||p0==9216))throw f0.toString(16)}}console.log(Date.now()-B)}return p}(),e.decode._decodeLogLuv32=function(r,t,n,f,o,a){for(var A=r.width,l=A*4,k=0,u=new Uint8Array(l);k<f;){for(var h=0;h<l;){var c=t[n+k];if(k++,c<128){for(var d=0;d<c;d++)u[h+d]=t[n+k+d];h+=c,k+=c}else{c=c-126;for(var d=0;d<c;d++)u[h+d]=t[n+k];h+=c,k++}}for(var b=0;b<A;b++)o[a+0]=u[b],o[a+1]=u[b+A],o[a+2]=u[b+A*2],o[a+4]=u[b+A*3],a+=6}},e.decode._ljpeg_diff=function(r,t,n){var f=e.decode._getbithuff,o,a;return o=f(r,t,n[0],n),a=f(r,t,o,0),a&1<<o-1||(a-=(1<<o)-1),a},e.decode._decodeARW=function(r,t,n,f,o,a){var A=r.t256[0],l=r.t257[0],k=r.t258[0],u=r.isLE?e._binLE:e._binBE,h=A*l==f||A*l*1.5==f;if(!h){l+=8;var c=[n,0,0,0],d=new Uint16Array(32770),b=[3857,3856,3599,3342,3085,2828,2571,2314,2057,1800,1543,1286,1029,772,771,768,514,513],z,g,v,I,B,w=0,p=e.decode._ljpeg_diff;for(d[0]=15,v=z=0;z<18;z++)for(var m=32768>>>(b[z]>>>8),g=0;g<m;g++)d[++v]=b[z];for(I=A;I--;)for(B=0;B<l+1;B+=2)if(B==l&&(B=1),w+=p(t,c,d),B<l){var C=w&4095;e.decode._putsF(o,(B*A+I)*k,C<<16-k)}return}if(A*l*1.5==f){for(var z=0;z<f;z+=3){var y=t[n+z+0],Z=t[n+z+1],_=t[n+z+2];o[a+z]=Z<<4|y>>>4,o[a+z+1]=y<<4|_>>>4,o[a+z+2]=_<<4|Z>>>4}return}var x=new Uint16Array(16),B,I,W,F,X,E,S,M,T,z,R,P=new Uint8Array(A+1);for(B=0;B<l;B++){for(var G=0;G<A;G++)P[G]=t[n++];for(R=0,I=0;I<A-30;R+=16){for(F=2047&(W=u.readUint(P,R)),X=2047&W>>>11,E=15&W>>>22,S=15&W>>>26,M=0;M<4&&128<<M<=F-X;M++);for(T=30,z=0;z<16;z++)z==E?x[z]=F:z==S?x[z]=X:(x[z]=((u.readUshort(P,R+(T>>3))>>>(T&7)&127)<<M)+X,x[z]>2047&&(x[z]=2047),T+=7);for(z=0;z<16;z++,I+=2){var C=x[z]<<1;e.decode._putsF(o,(B*A+I)*k,C<<16-k)}I-=I&1?1:31}}},e.decode._decodeNikon=function(r,t,n,f,o,a,A){var l=[[0,0,1,5,1,1,1,1,1,1,2,0,0,0,0,0,0,5,4,3,6,2,7,1,0,8,9,11,10,12],[0,0,1,5,1,1,1,1,1,1,2,0,0,0,0,0,0,57,90,56,39,22,5,4,3,2,1,0,11,12,12],[0,0,1,4,2,3,1,2,0,0,0,0,0,0,0,0,0,5,4,6,3,7,2,8,1,9,0,10,11,12],[0,0,1,4,3,1,1,1,1,1,2,0,0,0,0,0,0,5,6,4,7,8,3,9,2,1,0,10,11,12,13,14],[0,0,1,5,1,1,1,1,1,1,1,2,0,0,0,0,0,8,92,75,58,41,7,6,5,4,3,2,1,0,13,14],[0,0,1,4,2,2,3,1,2,0,0,0,0,0,0,0,0,7,6,8,5,9,4,10,3,11,12,2,0,1,13,14]],k=r.t256[0],u=r.t257[0],h=r.t258[0],c=0,d=0,b=e.decode._make_decoder,g=e.decode._getbithuff,v=t[0].exifIFD.makerNote,w=v.t150?v.t150:v.t140,p=0;if(v.t147&&v.t147[0]==2){for(var m=Math.ceil(k/10),C=m*16,y=k*3>>>1,Z=0;Z<u;Z++)for(var _=0;_<m;_++)for(var M=0;M<15;M++)a[Z*y+_*15+M]=n[f+Z*C+_*16+M];return}var x=w[p++],B=w[p++];(x==73||B==88)&&(p+=2110),x==70&&(c=2),h==14&&(c+=3);for(var I=[[0,0],[0,0]],W=r.isLE?e._binLE:e._binBE,M=0;M<2;M++)for(var F=0;F<2;F++)I[M][F]=W.readShort(w,p),p+=2;var X=1<<h&32767,E=0,S=W.readShort(w,p);p+=2,S>1&&(E=Math.floor(X/(S-1))),x==68&&B==32&&E>0&&(d=W.readShort(w,562));var M,T,z,R,P,G,Q=0,Y=[0,0],K=b(l[c]),O=[f,0,0,0];for(Q=T=0;T<u;T++)for(d&&T==d&&(K=b(l[c+1])),z=0;z<k;z++){M=g(n,O,K[0],K),R=M&15,P=M>>>4,G=(g(n,O,R-P,0)<<1)+1<<P>>>1,G&1<<R-1||(G-=(1<<R)-(P==0?1:0)),z<2?Y[z]=I[T&1][z]+=G:Y[z&1]+=G;var H=Math.min(Math.max(Y[z&1],0),(1<<h)-1),j=(T*k+z)*h;e.decode._putsF(a,j,H<<16-h)}},e.decode._putsF=function(r,t,n){n=n<<8-(t&7);var f=t>>>3;r[f]|=n>>>16,r[f+1]|=n>>>8,r[f+2]|=n},e.decode._getbithuff=function(r,t,n,f){var o=0,a=e.decode._get_byte,A,l=t[0],k=t[1],u=t[2],h=t[3];if(n==0||u<0)return 0;for(;!h&&u<n&&(A=r[l++])!=-1&&!(h=o&&A==255&&r[l++]);)k=(k<<8)+A,u+=8;if(A=k<<32-u>>>32-n,f?(u-=f[A+1]>>>8,A=f[A+1]&255):u-=n,u<0)throw"e";return t[0]=l,t[1]=k,t[2]=u,t[3]=h,A},e.decode._make_decoder=function(r){var t,n,f,o,a,A=[];for(t=16;t!=0&&!r[t];t--);var l=17;for(A[0]=t,f=n=1;n<=t;n++)for(o=0;o<r[n];o++,++l)for(a=0;a<1<<t-n;a++)f<=1<<t&&(A[f++]=n<<8|r[l]);return A},e.decode._decodeNewJPEG=function(r,t,n,f,o,a){f=Math.min(f,t.length-n);var A=r.t347,l=A?A.length:0,k=new Uint8Array(l+f);if(A){for(var u=216,h=217,c=0,d=0;d<l-1&&!(A[d]==255&&A[d+1]==h);d++)k[c++]=A[d];var b=t[n],g=t[n+1];(b!=255||g!=u)&&(k[c++]=b,k[c++]=g);for(var d=2;d<f;d++)k[c++]=t[n+d]}else for(var d=0;d<f;d++)k[d]=t[n+d];if(r.t262[0]==32803||r.t259[0]==7&&r.t262[0]==34892){var v=r.t258[0],w=e.LosslessJpegDecode(k),p=w[0],m=p.length;if(w[3]==4&&r.t29456){var C=p.slice(0);C.fill(0);for(var y=w[1],Z=w[2],_=y*2,x=0;x<Z;x++)for(var B=0;B<y;B++){var I=x*y*4+B*2,W=I+B*2;C[I]=p[W],C[I+1]=p[W+1],C[I+_]=p[W+2],C[I+_+1]=p[W+3]}p=C}if(v==16)if(r.isLE)for(var d=0;d<m;d++)o[a+(d<<1)]=p[d]&255,o[a+(d<<1)+1]=p[d]>>>8;else for(var d=0;d<m;d++)o[a+(d<<1)]=p[d]>>>8,o[a+(d<<1)+1]=p[d]&255;else if(v==14||v==12||v==10)for(var F=16-v,d=0;d<m;d++)e.decode._putsF(o,d*v,p[d]<<F);else if(v==8)for(var d=0;d<m;d++)o[a+d]=p[d];else throw new Error("unsupported bit depth "+v)}else{var X=new e.JpegDecoder;X.parse(k);for(var E=X.getData({width:X.width,height:X.height,forceRGB:!0,isSourcePDF:!1}),d=0;d<E.length;d++)o[a+d]=E[d]}r.t262[0]==6&&(r.t262[0]=2)},e.decode._decodeOldJPEGInit=function(r,t,n,f){var o=216,a=217,A=219,l=196,k=221,u=192,h=218,c=0,d=0,b,g,v=!1,w,p,m,C=r.t513,y=C?C[0]:0,Z=r.t514,_=Z?Z[0]:0,x=r.t324||r.t273||C,B=r.t530,I=0,W=0,F=r.t277?r.t277[0]:1,X=r.t515;if(x&&(d=x[0],v=x.length>1),!v){if(t[n]==255&&t[n+1]==o)return{jpegOffset:n};if(C!=null&&(t[n+y]==255&&t[n+y+1]==o?c=n+y:i("JPEGInterchangeFormat does not point to SOI"),Z==null?i("JPEGInterchangeFormatLength field is missing"):(y>=d||y+_<=d)&&i("JPEGInterchangeFormatLength field value is invalid"),c!=null))return{jpegOffset:c}}if(B!=null&&(I=B[0],W=B[1]),C!=null&&Z!=null)if(_>=2&&y+_<=d){for(t[n+y+_-2]==255&&t[n+y+_-1]==o?b=new Uint8Array(_-2):b=new Uint8Array(_),w=0;w<b.length;w++)b[w]=t[n+y+w];i("Incorrect JPEG interchange format: using JPEGInterchangeFormat offset to derive tables")}else i("JPEGInterchangeFormat+JPEGInterchangeFormatLength > offset to first strip or tile");if(b==null){var E=0,S=[];S[E++]=255,S[E++]=o;var M=r.t519;if(M==null)throw new Error("JPEGQTables tag is missing");for(w=0;w<M.length;w++)for(S[E++]=255,S[E++]=A,S[E++]=0,S[E++]=67,S[E++]=w,p=0;p<64;p++)S[E++]=t[n+M[w]+p];for(m=0;m<2;m++){var T=r[m==0?"t520":"t521"];if(T==null)throw new Error((m==0?"JPEGDCTables":"JPEGACTables")+" tag is missing");for(w=0;w<T.length;w++){S[E++]=255,S[E++]=l;var z=19;for(p=0;p<16;p++)z+=t[n+T[w]+p];for(S[E++]=z>>>8,S[E++]=z&255,S[E++]=w|m<<4,p=0;p<16;p++)S[E++]=t[n+T[w]+p];for(p=0;p<z;p++)S[E++]=t[n+T[w]+16+p]}}if(S[E++]=255,S[E++]=u,S[E++]=0,S[E++]=8+3*F,S[E++]=8,S[E++]=r.height>>>8&255,S[E++]=r.height&255,S[E++]=r.width>>>8&255,S[E++]=r.width&255,S[E++]=F,F==1)S[E++]=1,S[E++]=17,S[E++]=0;else for(w=0;w<3;w++)S[E++]=w+1,S[E++]=w!=0?17:(I&15)<<4|W&15,S[E++]=w;X!=null&&X[0]!=0&&(S[E++]=255,S[E++]=k,S[E++]=0,S[E++]=4,S[E++]=X[0]>>>8&255,S[E++]=X[0]&255),b=new Uint8Array(S)}var R=-1;for(w=0;w<b.length-1;){if(b[w]==255&&b[w+1]==u){R=w;break}w++}if(R==-1){var P=new Uint8Array(b.length+10+3*F);P.set(b);var G=b.length;if(R=b.length,b=P,b[G++]=255,b[G++]=u,b[G++]=0,b[G++]=8+3*F,b[G++]=8,b[G++]=r.height>>>8&255,b[G++]=r.height&255,b[G++]=r.width>>>8&255,b[G++]=r.width&255,b[G++]=F,F==1)b[G++]=1,b[G++]=17,b[G++]=0;else for(w=0;w<3;w++)b[G++]=w+1,b[G++]=w!=0?17:(I&15)<<4|W&15,b[G++]=w}if(t[d]==255&&t[d+1]==h){var Q=t[d+2]<<8|t[d+3];for(g=new Uint8Array(Q+2),g[0]=t[d],g[1]=t[d+1],g[2]=t[d+2],g[3]=t[d+3],w=0;w<Q-2;w++)g[w+4]=t[d+w+4]}else{g=new Uint8Array(2+6+2*F);var Y=0;if(g[Y++]=255,g[Y++]=h,g[Y++]=0,g[Y++]=6+2*F,g[Y++]=F,F==1)g[Y++]=1,g[Y++]=0;else for(w=0;w<3;w++)g[Y++]=w+1,g[Y++]=w<<4|w;g[Y++]=0,g[Y++]=63,g[Y++]=0}return{jpegOffset:n,tables:b,sosMarker:g,sofPosition:R}},e.decode._decodeOldJPEG=function(r,t,n,f,o,a){var A,l,k,u,h,c=e.decode._decodeOldJPEGInit(r,t,n,f);if(c.jpegOffset!=null)for(l=n+f-c.jpegOffset,u=new Uint8Array(l),A=0;A<l;A++)u[A]=t[c.jpegOffset+A];else{for(k=c.tables.length,u=new Uint8Array(k+c.sosMarker.length+f+2),u.set(c.tables),h=k,u[c.sofPosition+5]=r.height>>>8&255,u[c.sofPosition+6]=r.height&255,u[c.sofPosition+7]=r.width>>>8&255,u[c.sofPosition+8]=r.width&255,(t[n]!=255||t[n+1]!=SOS)&&(u.set(c.sosMarker,h),h+=sosMarker.length),A=0;A<f;A++)u[h++]=t[n+A];u[h++]=255,u[h++]=EOI}var d=new e.JpegDecoder;d.parse(u);var b=d.getData({width:d.width,height:d.height,forceRGB:!0,isSourcePDF:!1}),g=d.width*d.height;if(r.t262&&r.t262[0]==1)for(var A=0;A<g;A++)o[a+A]=b[A*3];else for(var A=0;A<b.length;A++)o[a+A]=b[A];r.t262&&r.t262[0]==6&&(r.t262[0]=2)},e.decode._decodePackBits=function(r,t,n,f,o){for(var a=new Int8Array(r.buffer),A=new Int8Array(f.buffer),l=t+n;t<l;){var k=a[t];if(t++,k>=0&&k<128)for(var u=0;u<k+1;u++)A[o]=a[t],o++,t++;if(k>=-127&&k<0){for(var u=0;u<-k+1;u++)A[o]=a[t],o++;t++}}return o},e.decode._decodeThunder=function(r,t,n,f,o){for(var a=[0,1,0,-1],A=[0,1,2,3,0,-3,-2,-1],l=t+n,k=o*2,u=0;t<l;){var h=r[t],c=h>>>6,d=h&63;if(t++,c==3&&(u=d&15,f[k>>>1]|=u<<4*(1-k&1),k++),c==0)for(var b=0;b<d;b++)f[k>>>1]|=u<<4*(1-k&1),k++;if(c==2)for(var b=0;b<2;b++){var g=d>>>3*(1-b)&7;g!=4&&(u+=A[g],f[k>>>1]|=u<<4*(1-k&1),k++)}if(c==1)for(var b=0;b<3;b++){var g=d>>>2*(2-b)&3;g!=2&&(u+=a[g],f[k>>>1]|=u<<4*(1-k&1),k++)}}},e.decode._dmap={1:0,"011":1,"000011":2,"0000011":3,"010":-1,"000010":-2,"0000010":-3},e.decode._lens=function(){var r=function(k,u,h,c){for(var d=0;d<u.length;d++)k[u[d]]=h+d*c},t="00110101,000111,0111,1000,1011,1100,1110,1111,10011,10100,00111,01000,001000,000011,110100,110101,101010,101011,0100111,0001100,0001000,0010111,0000011,0000100,0101000,0101011,0010011,0100100,0011000,00000010,00000011,00011010,00011011,00010010,00010011,00010100,00010101,00010110,00010111,00101000,00101001,00101010,00101011,00101100,00101101,00000100,00000101,00001010,00001011,01010010,01010011,01010100,01010101,00100100,00100101,01011000,01011001,01011010,01011011,01001010,01001011,00110010,00110011,00110100",n="0000110111,010,11,10,011,0011,0010,00011,000101,000100,0000100,0000101,0000111,00000100,00000111,000011000,0000010111,0000011000,0000001000,00001100111,00001101000,00001101100,00000110111,00000101000,00000010111,00000011000,000011001010,000011001011,000011001100,000011001101,000001101000,000001101001,000001101010,000001101011,000011010010,000011010011,000011010100,000011010101,000011010110,000011010111,000001101100,000001101101,000011011010,000011011011,000001010100,000001010101,000001010110,000001010111,000001100100,000001100101,000001010010,000001010011,000000100100,000000110111,000000111000,000000100111,000000101000,000001011000,000001011001,000000101011,000000101100,000001011010,000001100110,000001100111",f="11011,10010,010111,0110111,00110110,00110111,01100100,01100101,01101000,01100111,011001100,011001101,011010010,011010011,011010100,011010101,011010110,011010111,011011000,011011001,011011010,011011011,010011000,010011001,010011010,011000,010011011",o="0000001111,000011001000,000011001001,000001011011,000000110011,000000110100,000000110101,0000001101100,0000001101101,0000001001010,0000001001011,0000001001100,0000001001101,0000001110010,0000001110011,0000001110100,0000001110101,0000001110110,0000001110111,0000001010010,0000001010011,0000001010100,0000001010101,0000001011010,0000001011011,0000001100100,0000001100101",a="00000001000,00000001100,00000001101,000000010010,000000010011,000000010100,000000010101,000000010110,000000010111,000000011100,000000011101,000000011110,000000011111";t=t.split(","),n=n.split(","),f=f.split(","),o=o.split(","),a=a.split(",");var A={},l={};return r(A,t,0,1),r(A,f,64,64),r(A,a,1792,64),r(l,n,0,1),r(l,o,64,64),r(l,a,1792,64),[A,l]}(),e.decode._decodeG4=function(r,t,n,f,o,a,A){for(var l=e.decode,k=t<<3,u=0,h="",c=[],d=[],b=0;b<a;b++)d.push(0);d=l._makeDiff(d);for(var g=0,v=0,w=0,p=0,m=0,C=0,y=0,Z="",_=0,x=Math.ceil(a/8)*8;k>>>3<t+n;){p=l._findDiff(d,g+(g==0?0:1),1-C),m=l._findDiff(d,p,C);var B=0;if(A==1&&(B=r[k>>>3]>>>7-(k&7)&1),A==2&&(B=r[k>>>3]>>>(k&7)&1),k++,h+=B,Z=="H"){if(l._lens[C][h]!=null){var I=l._lens[C][h];h="",u+=I,I<64&&(l._addNtimes(c,u,C),g+=u,C=1-C,u=0,_--,_==0&&(Z=""))}}else h=="0001"&&(h="",l._addNtimes(c,m-g,C),g=m),h=="001"&&(h="",Z="H",_=2),l._dmap[h]!=null&&(v=p+l._dmap[h],l._addNtimes(c,v-g,C),g=v,h="",C=1-C);c.length==a&&Z==""&&(l._writeBits(c,f,o*8+y*x),C=0,y++,g=0,d=l._makeDiff(c),c=[])}},e.decode._findDiff=function(r,t,n){for(var f=0;f<r.length;f+=2)if(r[f]>=t&&r[f+1]==n)return r[f]},e.decode._makeDiff=function(r){var t=[];r[0]==1&&t.push(0,1);for(var n=1;n<r.length;n++)r[n-1]!=r[n]&&t.push(n,r[n]);return t.push(r.length,0,r.length,1),t},e.decode._decodeG2=function(r,t,n,f,o,a,A){for(var l=e.decode,k=t<<3,u=0,h="",c=[],d=0,b=0,g=Math.ceil(a/8)*8;k>>>3<t+n;){var v=0;A==1&&(v=r[k>>>3]>>>7-(k&7)&1),A==2&&(v=r[k>>>3]>>>(k&7)&1),k++,h+=v,u=l._lens[d][h],u!=null&&(l._addNtimes(c,u,d),h="",u<64&&(d=1-d),c.length==a&&(l._writeBits(c,f,o*8+b*g),c=[],b++,d=0,k&7&&(k+=8-(k&7)),u>=64&&(k+=8)))}},e.decode._decodeG3=function(r,t,n,f,o,a,A,l){for(var k=e.decode,u=t<<3,h=0,c="",d=[],b=[],g=0;g<a;g++)d.push(0);for(var v=0,w=0,p=0,m=0,C=0,y=0,Z=-1,_="",x=0,B=!0,I=Math.ceil(a/8)*8;u>>>3<t+n;){m=k._findDiff(b,v+(v==0?0:1),1-y),C=k._findDiff(b,m,y);var W=0;if(A==1&&(W=r[u>>>3]>>>7-(u&7)&1),A==2&&(W=r[u>>>3]>>>(u&7)&1),u++,c+=W,B){if(k._lens[y][c]!=null){var F=k._lens[y][c];c="",h+=F,F<64&&(k._addNtimes(d,h,y),y=1-y,h=0)}}else if(_=="H"){if(k._lens[y][c]!=null){var F=k._lens[y][c];c="",h+=F,F<64&&(k._addNtimes(d,h,y),v+=h,y=1-y,h=0,x--,x==0&&(_=""))}}else c=="0001"&&(c="",k._addNtimes(d,C-v,y),v=C),c=="001"&&(c="",_="H",x=2),k._dmap[c]!=null&&(w=m+k._dmap[c],k._addNtimes(d,w-v,y),v=w,c="",y=1-y);c.endsWith("000000000001")&&(Z>=0&&k._writeBits(d,f,o*8+Z*I),l&&(A==1&&(B=(r[u>>>3]>>>7-(u&7)&1)==1),A==2&&(B=(r[u>>>3]>>>(u&7)&1)==1),u++),c="",y=0,Z++,v=0,b=k._makeDiff(d),d=[])}d.length==a&&k._writeBits(d,f,o*8+Z*I)},e.decode._addNtimes=function(r,t,n){for(var f=0;f<t;f++)r.push(n)},e.decode._writeBits=function(r,t,n){for(var f=0;f<r.length;f++)t[n+f>>>3]|=r[f]<<7-(n+f&7)},e.decode._decodeLZW=e.decode._decodeLZW=function(){var r,t,n,f,o=0,a=0,A=0,l=0,k=function(){var w=r>>>3,p=t[w]<<16|t[w+1]<<8|t[w+2],m=p>>>24-(r&7)-a&(1<<a)-1;return r+=a,m},u=new Uint32Array(4096*4),h=0,c=function(w){if(w!=h){h=w,A=1<<w,l=A+1;for(var p=0;p<l+1;p++)u[4*p]=u[4*p+3]=p,u[4*p+1]=65535,u[4*p+2]=1}},d=function(w){a=w+1,o=l+1},b=function(w){for(var p=w<<2,m=u[p+2],C=f+m-1;p!=65535;)n[C--]=u[p],p=u[p+1];f+=m},g=function(w,p){var m=o<<2,C=w<<2;u[m]=u[(p<<2)+3],u[m+1]=C,u[m+2]=u[C+2]+1,u[m+3]=u[C+3],o++,o+1==1<<a&&a!=12&&a++},v=function(w,p,m,C,y,Z){r=p<<3,t=w,n=C,f=y;var _=p+m<<3,x=0,B=0;for(c(Z),d(Z);r<_&&(x=k())!=l;){if(x==A){if(d(Z),x=k(),x==l)break;b(x)}else x<o?(b(x),g(B,x)):(g(B,B),b(o-1));B=x}return f};return v}(),e.tags={},e._types=function(){var r=new Array(250);r.fill(0),r=r.concat([0,0,0,0,4,3,3,3,3,3,0,0,3,0,0,0,3,0,0,2,2,2,2,4,3,0,0,3,4,4,3,3,5,5,3,2,5,5,0,0,0,0,4,4,0,0,3,3,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,2,2,3,5,5,3,0,3,3,4,4,4,3,4,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);var t={33432:2,33434:5,33437:5,34665:4,34850:3,34853:4,34855:3,34864:3,34866:4,36864:7,36867:2,36868:2,37121:7,37377:10,37378:5,37380:10,37381:5,37383:3,37384:3,37385:3,37386:5,37510:7,37520:2,37521:2,37522:2,40960:7,40961:3,40962:4,40963:4,40965:4,41486:5,41487:5,41488:3,41985:3,41986:3,41987:3,41988:5,41989:3,41990:3,41993:3,41994:3,41995:7,41996:3,42032:2,42033:2,42034:5,42036:2,42037:2,59932:7};return{basic:{main:r,rest:t},gps:{main:[1,2,5,2,5,1,5,5,0,9],rest:{18:2,29:2}}}}(),e._readIFD=function(r,t,n,f,o,a){var A=r.readUshort(t,n);n+=2;var l={};a.debug&&i(" ".repeat(o),f.length-1,">>>----------------");for(var k=0;k<A;k++){var u=r.readUshort(t,n);n+=2;var h=r.readUshort(t,n);n+=2;var c=r.readUint(t,n);n+=4;var d=r.readUint(t,n);n+=4;var b=[];if(h==1||h==7){var g=c<5?n-4:d;g+c>t.buffer.byteLength&&(c=t.buffer.byteLength-g),b=new Uint8Array(t.buffer,g,c)}if(h==2){var v=c<5?n-4:d,w=t[v],p=Math.max(0,Math.min(c-1,t.length-v));w<128||p==0?b.push(r.readASCII(t,v,p)):b=new Uint8Array(t.buffer,v,p)}if(h==3)for(var m=0;m<c;m++)b.push(r.readUshort(t,(c<3?n-4:d)+2*m));if(h==4||h==13)for(var m=0;m<c;m++)b.push(r.readUint(t,(c<2?n-4:d)+4*m));if(h==5||h==10)for(var C=h==5?r.readUint:r.readInt,m=0;m<c;m++)b.push([C(t,d+m*8),C(t,d+m*8+4)]);if(h==8)for(var m=0;m<c;m++)b.push(r.readShort(t,(c<3?n-4:d)+2*m));if(h==9)for(var m=0;m<c;m++)b.push(r.readInt(t,(c<2?n-4:d)+4*m));if(h==11)for(var m=0;m<c;m++)b.push(r.readFloat(t,d+m*4));if(h==12)for(var m=0;m<c;m++)b.push(r.readDouble(t,d+m*8));if(c!=0&&b.length==0){if(i(u,"unknown TIFF tag type: ",h,"num:",c),k==0)return;continue}if(a.debug&&i(" ".repeat(o),u,h,e.tags[u],b),l["t"+u]=b,!(u==330&&l.t272&&l.t272[0]=="DSLR-A100")){if(u==330||u==34665||u==34853||u==50740&&r.readUshort(t,r.readUint(b,0))<300||u==61440){for(var y=u==50740?[r.readUint(b,0)]:b,Z=[],m=0;m<y.length;m++)e._readIFD(r,t,y[m],Z,o+1,a);u==330&&(l.subIFD=Z),u==34665&&(l.exifIFD=Z[0]),u==34853&&(l.gpsiIFD=Z[0]),u==50740&&(l.dngPrvt=Z[0]),u==61440&&(l.fujiIFD=Z[0])}}if(u==37500&&a.parseMN){var _=b;if(r.readASCII(_,0,5)=="Nikon")l.makerNote=e.decode(_.slice(10).buffer)[0];else if(r.readASCII(_,0,5)=="OLYMP"||r.readASCII(_,0,9)=="OM SYSTEM"){var x=[8208,8224,8240,8256,8272],B=[];e._readIFD(r,_,_[1]==77?16:_[5]==85?12:8,B,o+1,a);for(var I=l.makerNote=B.pop(),m=0;m<x.length;m++){var W="t"+x[m];I[W]!=null&&(I[W].length==1?e._readIFD(r,_,I[W][0],B,o+1,a):e._readIFD(r,I[W],0,B,o+1,a),I[W]=B.pop())}I.t12288&&(e._readIFD(r,I.t12288,0,B,o+1,a),I.t12288=B.pop())}else if(r.readUshort(t,d)<300&&r.readUshort(t,d+4)<=12){var B=[];e._readIFD(r,t,d,B,o+1,a),l.makerNote=B[0]}}}return f.push(l),a.debug&&i(" ".repeat(o),"<<<---------------"),n},e._writeIFD=function(r,t,n,f,o){var a=Object.keys(o),A=a.length;o.exifIFD&&A--,o.gpsiIFD&&A--,r.writeUshort(n,f,A),f+=2;for(var l=f+A*12+4,k=0;k<a.length;k++){var u=a[k];if(!(u=="t34665"||u=="t34853")){u=="exifIFD"&&(u="t34665"),u=="gpsiIFD"&&(u="t34853");var h=parseInt(u.slice(1)),c=t.main[h];if(c==null&&(c=t.rest[h]),c==null||c==0)throw new Error("unknown type of tag: "+h);var d=o[u];if(h==34665){var b=e._writeIFD(r,t,n,l,o.exifIFD);d=[l],l=b[1]}if(h==34853){var b=e._writeIFD(r,e._types.gps,n,l,o.gpsiIFD);d=[l],l=b[1]}c==2&&(d=d[0]+"\0");var g=d.length;r.writeUshort(n,f,h),f+=2,r.writeUshort(n,f,c),f+=2,r.writeUint(n,f,g),f+=4;var v=[-1,1,1,2,4,8,0,1,0,4,8,0,8][c]*g,w=f;if(v>4&&(r.writeUint(n,f,l),w=l),c==1||c==7)for(var p=0;p<g;p++)n[w+p]=d[p];else if(c==2)r.writeASCII(n,w,d);else if(c==3)for(var p=0;p<g;p++)r.writeUshort(n,w+2*p,d[p]);else if(c==4)for(var p=0;p<g;p++)r.writeUint(n,w+4*p,d[p]);else if(c==5||c==10)for(var m=c==5?r.writeUint:r.writeInt,p=0;p<g;p++){var C=d[p],y=C[0],Z=C[1];if(y==null)throw"e";m(n,w+8*p,y),m(n,w+8*p+4,Z)}else if(c==9)for(var p=0;p<g;p++)r.writeInt(n,w+4*p,d[p]);else if(c==12)for(var p=0;p<g;p++)r.writeDouble(n,w+8*p,d[p]);else throw c;v>4&&(v+=v&1,l+=v),f+=4}}return[f,l]},e.toRGBA8=function(r,t){function n(L0){return L0<.0031308?12.92*L0:1.055*Math.pow(L0,1/2.4)-.055}var f=r.width,o=r.height,a=f*o,A=a*4,l=r.data,k=new Uint8Array(a*4),u=r.t262?r.t262[0]:2,h=r.t258?Math.min(32,r.t258[0]):1;r.t262==null&&h==1&&(u=0);var c=r.t277?r.t277[0]:r.t258?r.t258.length:[1,1,3,1,1,4,3][u],d=r.t339?r.t339[0]:null;if(u==1&&h==32&&d!=3)throw"e";var b=Math.ceil(c*h*f/8);if(u==0){t=1/256;for(var g=0;g<o;g++){var v=g*b,w=g*f;if(h==1)for(var p=0;p<f;p++){var m=w+p<<2,C=l[v+(p>>3)]>>7-(p&7)&1;k[m]=k[m+1]=k[m+2]=(1-C)*255,k[m+3]=255}if(h==4)for(var p=0;p<f;p++){var m=w+p<<2,C=l[v+(p>>1)]>>4-4*(p&1)&15;k[m]=k[m+1]=k[m+2]=(15-C)*17,k[m+3]=255}if(h==8)for(var p=0;p<f;p++){var m=w+p<<2,C=l[v+p];k[m]=k[m+1]=k[m+2]=255-C,k[m+3]=255}if(h==16)for(var p=0;p<f;p++){var m=w+p<<2,y=v+2*p,C=l[y+1]<<8|l[y];k[m]=k[m+1]=k[m+2]=Math.min(255,255-~~(C*t)),k[m+3]=255}}}else if(u==1){t==null&&(t=1/256);for(var Z=l.length&3?null:new Float32Array(l.buffer),g=0;g<o;g++){var v=g*b,w=g*f;if(h==1)for(var p=0;p<f;p++){var m=w+p<<2,C=l[v+(p>>3)]>>7-(p&7)&1;k[m]=k[m+1]=k[m+2]=C*255,k[m+3]=255}if(h==2)for(var p=0;p<f;p++){var m=w+p<<2,C=l[v+(p>>2)]>>6-2*(p&3)&3;k[m]=k[m+1]=k[m+2]=C*85,k[m+3]=255}if(h==8)for(var p=0;p<f;p++){var m=w+p<<2,C=l[v+p*c];k[m]=k[m+1]=k[m+2]=C,k[m+3]=255}if(h==16)for(var p=0;p<f;p++){var m=w+p<<2,y=v+2*p,C=l[y+1]<<8|l[y];k[m]=k[m+1]=k[m+2]=Math.min(255,~~(C*t)),k[m+3]=255}if(h==32)for(var p=0;p<f;p++){var m=w+p<<2,y=(v>>>2)+p,C=Z[y];k[m]=k[m+1]=k[m+2]=~~(.5+255*C),k[m+3]=255}}}else if(u==2)if(h==8){if(c==1)for(var p=0;p<a;p++)k[4*p]=k[4*p+1]=k[4*p+2]=l[p],k[4*p+3]=255;if(c==3)for(var p=0;p<a;p++){var m=p<<2,_=p*3;k[m]=l[_],k[m+1]=l[_+1],k[m+2]=l[_+2],k[m+3]=255}if(c>=4)for(var p=0;p<a;p++){var m=p<<2,_=p*c;k[m]=l[_],k[m+1]=l[_+1],k[m+2]=l[_+2],k[m+3]=l[_+3]}}else if(h==16){if(c==4)for(var p=0;p<a;p++){var m=p<<2,_=p*8+1;k[m]=l[_],k[m+1]=l[_+2],k[m+2]=l[_+4],k[m+3]=l[_+6]}if(c==3)for(var p=0;p<a;p++){var m=p<<2,_=p*6+1;k[m]=l[_],k[m+1]=l[_+2],k[m+2]=l[_+4],k[m+3]=255}}else if(h==32){for(var x=new Float32Array(l.buffer),B=0,p=0;p<x.length;p++)B=Math.min(B,x[p]);if(B<0)for(var p=0;p<l.length;p+=4){var I=l[p];l[p]=l[p+3],l[p+3]=I,I=l[p+1],l[p+1]=l[p+2],l[p+2]=I}for(var W=[],p=0;p<65536;p++)W.push(n(p/65535));for(var p=0;p<x.length;p++){var F=Math.max(0,Math.min(1,x[p]));x[p]=W[~~(.5+F*65535)]}if(c==3)for(var p=0;p<a;p++){var m=p<<2,_=p*3;k[m]=~~(.5+x[_]*255),k[m+1]=~~(.5+x[_+1]*255),k[m+2]=~~(.5+x[_+2]*255),k[m+3]=255}else if(c==4)for(var p=0;p<a;p++){var m=p<<2,_=p*4;k[m]=~~(.5+x[_]*255),k[m+1]=~~(.5+x[_+1]*255),k[m+2]=~~(.5+x[_+2]*255),k[m+3]=~~(.5+x[_+3]*255)}else throw c}else throw h;else if(u==3)for(var X=r.t320,E=1<<h,S=h==8&&c>1&&r.t338&&r.t338[0]!=0,g=0;g<o;g++)for(var M=0;M<f;M++){var p=g*f+M,m=p<<2,T=0,z=g*b;if(h==1)T=l[z+(M>>>3)]>>>7-(M&7)&1;else if(h==2)T=l[z+(M>>>2)]>>>6-2*(M&3)&3;else if(h==4)T=l[z+(M>>>1)]>>>4-4*(M&1)&15;else if(h==8)T=l[z+M*c];else throw h;k[m]=X[T]>>8,k[m+1]=X[E+T]>>8,k[m+2]=X[E+E+T]>>8,k[m+3]=S?l[z+M*c+1]:255}else if(u==5)for(var R=c>4?1:0,p=0;p<a;p++){var m=p<<2,P=p*c;if(window.UDOC){var G=l[P],Q=l[P+1],Y=l[P+2],K=l[P+3],O=UDOC.C.cmykToRgb([G*(1/255),Q*(1/255),Y*(1/255),K*(1/255)]);k[m]=~~(.5+255*O[0]),k[m+1]=~~(.5+255*O[1]),k[m+2]=~~(.5+255*O[2])}else{var G=255-l[P],Q=255-l[P+1],Y=255-l[P+2],K=(255-l[P+3])*(1/255);k[m]=~~(G*K+.5),k[m+1]=~~(Q*K+.5),k[m+2]=~~(Y*K+.5)}k[m+3]=255*(1-R)+l[P+4]*R}else if(u==6&&r.t278)for(var H=r.t278[0],g=0;g<o;g+=H)for(var p=g*f,j=H*f,J=0;J<j;J++){var m=4*(p+J),P=3*p+4*(J>>>1),Y=l[P+(J&1)],U=l[P+2]-128,i0=l[P+3]-128,$=Y+((i0>>2)+(i0>>3)+(i0>>5)),t0=Y-((U>>2)+(U>>4)+(U>>5))-((i0>>1)+(i0>>3)+(i0>>4)+(i0>>5)),f0=Y+(U+(U>>1)+(U>>2)+(U>>6));k[m]=Math.max(0,Math.min(255,$)),k[m+1]=Math.max(0,Math.min(255,t0)),k[m+2]=Math.max(0,Math.min(255,f0)),k[m+3]=255}else if(u==8){if(c!=3||h!=16)throw"e";for(var p0=new Uint16Array(l.buffer),B0=new Int16Array(l.buffer),Q=[3.1338561,-1.6168667,-.4906146,-.9787684,1.9161415,.033454,.0719453,-.2289914,1.4052427],g=0;g<o;g++)for(var M=0;M<f;M++){var p=g*f+M,m=p*4,_=p*3,o0=p0[_]*(100/65535),g0=B0[_+1]*(255/65535),f0=B0[_+2]*(255/65535),b0=903.3,X0=.008856,D0=(o0+16)/116,Ai=D0*D0*D0,v0=D0-f0/200,Q0=v0*v0*v0,U0=g0/500+D0,n0=U0*U0*U0,s0=Q0>X0?Q0:(116*v0-16)/b0,ti=Ai>X0?Ai:(116*D0-16)/b0,mi=n0>X0?n0:(116*U0-16)/b0,ni=mi*(96.42/100),Y=ti*(100/100),vi=s0*(82.49/100);k[m]=Math.max(0,Math.min(255,n(ni*Q[0]+Y*Q[1]+vi*Q[2])*255)),k[m+1]=Math.max(0,Math.min(255,n(ni*Q[3]+Y*Q[4]+vi*Q[5])*255)),k[m+2]=Math.max(0,Math.min(255,n(ni*Q[6]+Y*Q[7]+vi*Q[8])*255)),k[m+3]=255}}else if(u==32845)for(var g=0;g<o;g++)for(var M=0;M<f;M++){var P=(g*f+M)*6,m=(g*f+M)*4,o0=l[P+1]<<8|l[P],o0=Math.pow(2,(o0+.5)/256-64),a0=(l[P+3]+.5)/410,c0=(l[P+5]+.5)/410,w0=9*a0/(6*a0-16*c0+12),j0=4*c0/(6*a0-16*c0+12),I0=o0,ni=w0*I0/j0,Y=I0,vi=(1-w0-j0)*I0/j0,$=2.69*ni-1.276*Y-.414*vi,t0=-1.022*ni+1.978*Y+.044*vi,f0=.061*ni-.224*Y+1.163*vi;k[m]=n(Math.min($,1))*255,k[m+1]=n(Math.min(t0,1))*255,k[m+2]=n(Math.min(f0,1))*255,k[m+3]=255}else i("Unknown Photometric interpretation: "+u);return k},e.replaceIMG=function(r){r==null&&(r=document.getElementsByTagName("img"));for(var t=["tif","tiff","dng","cr2","nef"],n=0;n<r.length;n++){var f=r[n],o=f.getAttribute("src");if(o!=null){var a=o.split(".").pop().toLowerCase();if(t.indexOf(a)!=-1){var A=new XMLHttpRequest;e._xhrs.push(A),e._imgs.push(f),A.open("GET",o),A.responseType="arraybuffer",A.onload=e._imgLoaded,A.send()}}}},e._xhrs=[],e._imgs=[],e._imgLoaded=function(r){var t=e._xhrs.indexOf(r.target),n=e._imgs[t];e._xhrs.splice(t,1),e._imgs.splice(t,1),n.setAttribute("src",e.bufferToURI(r.target.response))},e.bufferToURI=function(r){var t=e.decode(r),n=t,f=0,o=n[0];t[0].subIFD&&(n=n.concat(t[0].subIFD));for(var a=0;a<n.length;a++){var A=n[a];if(!(A.t258==null||A.t258.length<3)){var l=A.t256*A.t257;l>f&&(f=l,o=A)}}e.decodeImage(r,o,t);var k=e.toRGBA8(o),u=o.width,h=o.height,c=document.createElement("canvas");c.width=u,c.height=h;var d=c.getContext("2d"),b=new ImageData(new Uint8ClampedArray(k.buffer),u,h);return d.putImageData(b,0,0),c.toDataURL()},e._binBE={nextZero:function(r,t){for(;r[t]!=0;)t++;return t},readUshort:function(r,t){return r[t]<<8|r[t+1]},readShort:function(r,t){var n=e._binBE.ui8;return n[0]=r[t+1],n[1]=r[t+0],e._binBE.i16[0]},readInt:function(r,t){var n=e._binBE.ui8;return n[0]=r[t+3],n[1]=r[t+2],n[2]=r[t+1],n[3]=r[t+0],e._binBE.i32[0]},readUint:function(r,t){var n=e._binBE.ui8;return n[0]=r[t+3],n[1]=r[t+2],n[2]=r[t+1],n[3]=r[t+0],e._binBE.ui32[0]},readASCII:function(r,t,n){for(var f="",o=0;o<n;o++)f+=String.fromCharCode(r[t+o]);return f},readFloat:function(r,t){for(var n=e._binBE.ui8,f=0;f<4;f++)n[f]=r[t+3-f];return e._binBE.fl32[0]},readDouble:function(r,t){for(var n=e._binBE.ui8,f=0;f<8;f++)n[f]=r[t+7-f];return e._binBE.fl64[0]},writeUshort:function(r,t,n){r[t]=n>>8&255,r[t+1]=n&255},writeInt:function(r,t,n){var f=e._binBE.ui8;e._binBE.i32[0]=n,r[t+3]=f[0],r[t+2]=f[1],r[t+1]=f[2],r[t+0]=f[3]},writeUint:function(r,t,n){r[t]=n>>24&255,r[t+1]=n>>16&255,r[t+2]=n>>8&255,r[t+3]=n>>0&255},writeASCII:function(r,t,n){for(var f=0;f<n.length;f++)r[t+f]=n.charCodeAt(f)},writeDouble:function(r,t,n){e._binBE.fl64[0]=n;for(var f=0;f<8;f++)r[t+f]=e._binBE.ui8[7-f]}},e._binBE.ui8=new Uint8Array(8),e._binBE.i16=new Int16Array(e._binBE.ui8.buffer),e._binBE.i32=new Int32Array(e._binBE.ui8.buffer),e._binBE.ui32=new Uint32Array(e._binBE.ui8.buffer),e._binBE.fl32=new Float32Array(e._binBE.ui8.buffer),e._binBE.fl64=new Float64Array(e._binBE.ui8.buffer),e._binLE={nextZero:e._binBE.nextZero,readUshort:function(r,t){return r[t+1]<<8|r[t]},readShort:function(r,t){var n=e._binBE.ui8;return n[0]=r[t+0],n[1]=r[t+1],e._binBE.i16[0]},readInt:function(r,t){var n=e._binBE.ui8;return n[0]=r[t+0],n[1]=r[t+1],n[2]=r[t+2],n[3]=r[t+3],e._binBE.i32[0]},readUint:function(r,t){var n=e._binBE.ui8;return n[0]=r[t+0],n[1]=r[t+1],n[2]=r[t+2],n[3]=r[t+3],e._binBE.ui32[0]},readASCII:e._binBE.readASCII,readFloat:function(r,t){for(var n=e._binBE.ui8,f=0;f<4;f++)n[f]=r[t+f];return e._binBE.fl32[0]},readDouble:function(r,t){for(var n=e._binBE.ui8,f=0;f<8;f++)n[f]=r[t+f];return e._binBE.fl64[0]},writeUshort:function(r,t,n){r[t]=n&255,r[t+1]=n>>8&255},writeInt:function(r,t,n){var f=e._binBE.ui8;e._binBE.i32[0]=n,r[t+0]=f[0],r[t+1]=f[1],r[t+2]=f[2],r[t+3]=f[3]},writeUint:function(r,t,n){r[t]=n>>>0&255,r[t+1]=n>>>8&255,r[t+2]=n>>>16&255,r[t+3]=n>>>24&255},writeASCII:e._binBE.writeASCII},e._copyTile=function(r,t,n,f,o,a,A,l){for(var k=Math.min(t,o-A),u=Math.min(n,a-l),h=0;h<u;h++)for(var c=(l+h)*o+A,d=h*t,b=0;b<k;b++)f[c+b]=r[d+b]},e._inflateRaw=function(){var r={};return r.H={},r.H.N=function(t,n){var f=Uint8Array,o=0,a=0,A=0,l=0,k=0,u=0,h=0,c=0,d=0,b,g;if(t[0]==3&&t[1]==0)return n||new f(0);var v=r.H,w=v.b,p=v.e,m=v.R,C=v.n,y=v.A,Z=v.Z,_=v.m,x=n==null;for(x&&(n=new f(t.length>>>2<<5));o==0;){if(o=w(t,d,1),a=w(t,d+1,2),d+=3,a==0){d&7&&(d+=8-(d&7));var B=(d>>>3)+4,I=t[B-4]|t[B-3]<<8;x&&(n=r.H.W(n,c+I)),n.set(new f(t.buffer,t.byteOffset+B,I),c),d=B+I<<3,c+=I;continue}if(x&&(n=r.H.W(n,c+(1<<17))),a==1&&(b=_.J,g=_.h,u=(1<<9)-1,h=(1<<5)-1),a==2){A=p(t,d,5)+257,l=p(t,d+5,5)+1,k=p(t,d+10,4)+4,d+=14;for(var W=d,F=1,X=0;X<38;X+=2)_.Q[X]=0,_.Q[X+1]=0;for(var X=0;X<k;X++){var E=p(t,d+X*3,3);_.Q[(_.X[X]<<1)+1]=E,E>F&&(F=E)}d+=3*k,C(_.Q,F),y(_.Q,F,_.u),b=_.w,g=_.d,d=m(_.u,(1<<F)-1,A+l,t,d,_.v);var S=v.V(_.v,0,A,_.C);u=(1<<S)-1;var M=v.V(_.v,A,l,_.D);h=(1<<M)-1,C(_.C,S),y(_.C,S,b),C(_.D,M),y(_.D,M,g)}for(;;){var T=b[Z(t,d)&u];d+=T&15;var z=T>>>4;if(!(z>>>8))n[c++]=z;else{if(z==256)break;var R=c+z-254;if(z>264){var P=_.q[z-257];R=c+(P>>>3)+p(t,d,P&7),d+=P&7}var G=g[Z(t,d)&h];d+=G&15;var Q=G>>>4,Y=_.c[Q],K=(Y>>>4)+w(t,d,Y&15);for(d+=Y&15;c<R;)n[c]=n[c++-K],n[c]=n[c++-K],n[c]=n[c++-K],n[c]=n[c++-K];c=R}}}return n.length==c?n:n.slice(0,c)},r.H.W=function(t,n){var f=t.length;if(n<=f)return t;var o=new Uint8Array(f<<1);return o.set(t,0),o},r.H.R=function(t,n,f,o,a,A){for(var l=r.H.e,k=r.H.Z,u=0;u<f;){var h=t[k(o,a)&n];a+=h&15;var c=h>>>4;if(c<=15)A[u]=c,u++;else{var d=0,b=0;c==16?(b=3+l(o,a,2),a+=2,d=A[u-1]):c==17?(b=3+l(o,a,3),a+=3):c==18&&(b=11+l(o,a,7),a+=7);for(var g=u+b;u<g;)A[u]=d,u++}}return a},r.H.V=function(t,n,f,o){for(var a=0,A=0,l=o.length>>>1;A<f;){var k=t[A+n];o[A<<1]=0,o[(A<<1)+1]=k,k>a&&(a=k),A++}for(;A<l;)o[A<<1]=0,o[(A<<1)+1]=0,A++;return a},r.H.n=function(t,n){for(var f=r.H.m,o=t.length,a,A,l,k,u,h=f.j,k=0;k<=n;k++)h[k]=0;for(k=1;k<o;k+=2)h[t[k]]++;var c=f.K;for(a=0,h[0]=0,A=1;A<=n;A++)a=a+h[A-1]<<1,c[A]=a;for(l=0;l<o;l+=2)u=t[l+1],u!=0&&(t[l]=c[u],c[u]++)},r.H.A=function(t,n,f){for(var o=t.length,a=r.H.m,A=a.r,l=0;l<o;l+=2)if(t[l+1]!=0)for(var k=l>>1,u=t[l+1],h=k<<4|u,c=n-u,d=t[l]<<c,b=d+(1<<c);d!=b;){var g=A[d]>>>15-n;f[g]=h,d++}},r.H.l=function(t,n){for(var f=r.H.m.r,o=15-n,a=0;a<t.length;a+=2){var A=t[a]<<n-t[a+1];t[a]=f[A]>>>o}},r.H.M=function(t,n,f){f=f<<(n&7);var o=n>>>3;t[o]|=f,t[o+1]|=f>>>8},r.H.I=function(t,n,f){f=f<<(n&7);var o=n>>>3;t[o]|=f,t[o+1]|=f>>>8,t[o+2]|=f>>>16},r.H.e=function(t,n,f){return(t[n>>>3]|t[(n>>>3)+1]<<8)>>>(n&7)&(1<<f)-1},r.H.b=function(t,n,f){return(t[n>>>3]|t[(n>>>3)+1]<<8|t[(n>>>3)+2]<<16)>>>(n&7)&(1<<f)-1},r.H.Z=function(t,n){return(t[n>>>3]|t[(n>>>3)+1]<<8|t[(n>>>3)+2]<<16)>>>(n&7)},r.H.i=function(t,n){return(t[n>>>3]|t[(n>>>3)+1]<<8|t[(n>>>3)+2]<<16|t[(n>>>3)+3]<<24)>>>(n&7)},r.H.m=function(){var t=Uint16Array,n=Uint32Array;return{K:new t(16),j:new t(16),X:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],T:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],q:new t(32),p:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],z:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],c:new n(32),J:new t(512),_:[],h:new t(32),$:[],w:new t(32768),C:[],v:[],d:new t(32768),D:[],u:new t(512),Q:[],r:new t(1<<15),s:new n(286),Y:new n(30),a:new n(19),t:new n(15e3),k:new t(1<<16),g:new t(1<<15)}}(),function(){for(var t=r.H.m,n=1<<15,f=0;f<n;f++){var o=f;o=(o&2863311530)>>>1|(o&1431655765)<<1,o=(o&3435973836)>>>2|(o&858993459)<<2,o=(o&4042322160)>>>4|(o&252645135)<<4,o=(o&4278255360)>>>8|(o&16711935)<<8,t.r[f]=(o>>>16|o<<16)>>>17}function a(A,l,k){for(;l--!=0;)A.push(0,k)}for(var f=0;f<32;f++)t.q[f]=t.S[f]<<3|t.T[f],t.c[f]=t.p[f]<<4|t.z[f];a(t._,144,8),a(t._,255-143,9),a(t._,279-255,7),a(t._,287-279,8),r.H.n(t._,9),r.H.A(t._,9,t.J),r.H.l(t._,9),a(t.$,32,5),r.H.n(t.$,5),r.H.A(t.$,5,t.h),r.H.l(t.$,5),a(t.Q,19,0),a(t.C,286,0),a(t.D,30,0),a(t.v,320,0)}(),r.H.N}(),e.LosslessJpegDecode=function(){var r,t;function n(){return r[t++]}function f(){return r[t++]<<8|r[t++]}function o(w){for(var p=n(),m=[0,0,0,255],C=[],y=8,Z=0;Z<16;Z++)C[Z]=n();for(var Z=0;Z<16;Z++)for(var _=0;_<C[Z];_++){var x=a(m,0,Z+1,1);m[x+3]=n()}var B=new Uint8Array(1<<y);w[p]=[new Uint8Array(m),B];for(var Z=0;Z<1<<y;Z++){for(var I=y,W=Z,F=0,X=0;m[F+3]==255&&I!=0;)X=W>>--I&1,F=m[F+X];B[Z]=F}}function a(w,p,m,C){if(w[p+3]!=255)return 0;if(m==0)return p;for(var y=0;y<2;y++){w[p+y]==0&&(w[p+y]=w.length,w.push(0,0,C,255));var Z=a(w,w[p+y],m-1,C+1);if(Z!=0)return Z}return 0}function A(w){for(var p=w.c,m=w.f;p<25&&w.d<w.a;){var C=w.data[w.d++];C==255&&!w.b&&w.d++,m=m<<8|C,p+=8}if(p<0)throw"e";w.c=p,w.f=m}function l(w,p){return p.c<w&&A(p),p.f>>(p.c-=w)&65535>>16-w}function k(w,p){var m=w[0],C=0,y=255,Z=0;p.c<16&&A(p);var _=p.f>>p.c-8&255;for(C=w[1][_],y=m[C+3],p.c-=m[C+2];y==255;)Z=p.f>>--p.c&1,C=m[C+Z],y=m[C+3];return y}function u(w,p){return w<32768>>16-p&&(w+=-(1<<p)+1),w}function h(w,p){var m=k(w,p);if(m==0)return 0;if(m==16)return-32768;var C=l(m,p);return u(C,m)}function c(w,p,m,C,y,Z){for(var _=0,x=0;x<Z;x++){for(var B=x*p,I=0;I<p;I+=y){_++;for(var W=0;W<y;W++)w[B+I+W]=h(C[W],m)}if(m.e!=0&&_%m.e==0&&x!=0){for(var F=m.d,X=m.data;X[F]!=255||!(208<=X[F+1]&&X[F+1]<=215);)F--;m.d=F+2,m.f=0,m.c=0}}}function d(w,p){return u(l(w,p),w)}function b(w,p,m,C,y){for(var Z=r.length-t,_=0;_<Z;_+=4){var x=r[t+_];r[t+_]=r[t+_+3],r[t+_+3]=x;var x=r[t+_+1];r[t+_+1]=r[t+_+2],r[t+_+2]=x}for(var B=0;B<y;B++)for(var I=32768,W=32768,F=0;F<p;F+=2){var X=k(C,m),E=k(C,m);X!=0&&(I+=d(X,m)),E!=0&&(W+=d(E,m)),w[B*p+F]=I&65535,w[B*p+F+1]=W&65535}}function g(w){if(r=w,t=0,f()!=65496)throw"e";for(var p=[],m=0,C=0,y=0,Z=[],_=[],x=[],B=0,I=0,W=0;;){var F=f();if(F==65535){t--;continue}var X=f();if(F==65475){C=n(),I=f(),W=f(),B=n();for(var E=0;E<B;E++){var S=n(),M=n(),T=n();if(T!=0)throw"e";p[S]=[E,M>>4,M&15]}}else if(F==65476)for(var z=t+X-2;t<z;)o(_);else if(F==65498){t++;for(var E=0;E<B;E++){var R=n(),P=p[R];x[P[0]]=_[n()>>>4],Z[P[0]]=P.slice(1)}m=n(),t+=2;break}else F==65501?y=f():t+=X-2}var G=C>8?Uint16Array:Uint8Array,Q=new G(I*W*B),Y={c:0,f:0,b:m==8,d:t,data:r,a:r.length,e:y};if(Y.b)b(Q,W*B,Y,x[0],I);else{for(var K=[],O=0,H=0,E=0;E<B;E++){var j=Z[E],J=j[0],U=j[1];J>O&&(O=J),U>H&&(H=U),K.push(J*U)}if(O!=1||H!=1){if(B!=3||K[1]!=1||K[2]!=1||O!=2||H!=1&&H!=2)throw"e";for(var i0=[],$=0,E=0;E<B;E++){for(var t0=0;t0<K[E];t0++)i0.push(x[E]);$+=K[E]}var f0=W/O,p0=I/H,B0=f0*p0;c(Q,f0*$,Y,i0,$,p0),v(Q,m,f0,p0,$-2,$,$,C);var o0=new Uint16Array(B0*K[0]);if(O==2&&H==2){for(var E=0;E<B0;E++)o0[4*E]=Q[6*E],o0[4*E+1]=Q[6*E+1],o0[4*E+2]=Q[6*E+2],o0[4*E+3]=Q[6*E+3];v(o0,m,f0*4,p0,0,1,1,C);for(var E=0;E<B0;E++)Q[6*E]=o0[4*E],Q[6*E+1]=o0[4*E+1],Q[6*E+2]=o0[4*E+2],Q[6*E+3]=o0[4*E+3]}if(O==2&&H==1){for(var E=0;E<B0;E++)o0[2*E]=Q[4*E],o0[2*E+1]=Q[4*E+1];v(o0,m,f0*2,p0,0,1,1,C);for(var E=0;E<B0;E++)Q[4*E]=o0[2*E],Q[4*E+1]=o0[2*E+1]}for(var g0=Q.slice(0),U=0;U<I;U++)if(H==2)for(var J=0;J<W;J++){var b0=(U*W+J)*B,X0=((U>>>1)*f0+(J>>>1))*$,D0=(U&1)*2+(J&1);Q[b0]=g0[X0+D0],Q[b0+1]=g0[X0+4],Q[b0+2]=g0[X0+5]}else for(var J=0;J<W;J++){var b0=(U*W+J)*B,X0=(U*f0+(J>>>1))*$,D0=J&1;Q[b0]=g0[X0+D0],Q[b0+1]=g0[X0+2],Q[b0+2]=g0[X0+3]}}else if(c(Q,W*B,Y,x,B,I),y==0)v(Q,m,W,I,0,B,B,C);else for(var Ai=Math.floor(y/W),U=0;U<I;U+=Ai){var v0=Q.slice(U*W*B,(U+Ai)*W*B);v(v0,m,W,Ai,0,B,B,C),Q.set(v0,U*W*B)}}return[Q,W,I,B]}function v(w,p,m,C,y,Z,_,x){for(var B=m*_,I=y;I<Z;I++)w[I]+=1<<x-1;for(var W=_;W<B;W+=_)for(var I=y;I<Z;I++)w[W+I]+=w[W+I-_];for(var F=1;F<C;F++){for(var X=F*B,I=y;I<Z;I++)w[X+I]+=w[X+I-B];for(var W=_;W<B;W+=_)for(var I=y;I<Z;I++){var E=X+W+I,S=E-B,M=w[E-_],T=0;if(p==0)T=0;else if(p==1)T=M;else if(p==2)T=w[S];else if(p==3)T=w[S-_];else if(p==4)T=M+(w[S]-w[S-_]);else if(p==5)T=M+(w[S]-w[S-_]>>>1);else if(p==6)T=w[S]+(M-w[S-_]>>>1);else if(p==7)T=M+w[S]>>>1;else throw p;w[E]+=T}}}return g}(),function(){var r=0,t=1,n=2,f=3,o=4,a=5,A=6,l=7,k=8,u=9,h=10,c=11,d=12,b=13,g=14,v=15,w=16,p=17,m=18;function C(R){var P=e._binBE.readUshort,G={b:P(R,0),i:R[2],C:R[3],u:R[4],q:P(R,5),k:P(R,7),e:P(R,9),l:P(R,11),s:R[13],d:P(R,14)};if(G.b!=18771||G.i>1||G.q<6||G.q%6||G.e<768||G.e%24||G.l!=768||G.k<G.l||G.k%G.l||G.k-G.e>=G.l||G.s>16||G.s!=G.k/G.l||G.s!=Math.ceil(G.e/G.l)||G.d!=G.q/6||G.u!=12&&G.u!=14&&G.u!=16||G.C!=16&&G.C!=0)throw"Invalid data";if(G.i==0)throw"Not implemented. We need this file!";return G.h=G.C==16,G.m=(G.h?G.l*2/3:G.l>>>1)|0,G.A=G.m+2,G.f=64,G.g=(1<<G.u)-1,G.n=4*G.u,G}function y(R,P){var G=new Array(P.s),Q=4*P.s,Y=16+Q;Q&12&&(Y+=16-(Q&12));for(var K=0,O=16;K<P.s;O+=4){var H=e._binBE.readUint(R,O);G[K]=R.slice(Y,Y+H),G[K].j=0,G[K].a=0,Y+=H,K++}if(Y!=R.length)throw"Invalid data";return G}function Z(R,P){for(var G=-P[4],Q=0;G<=P[4];Q++,G++)R[Q]=G<=-P[3]?-4:G<=-P[2]?-3:G<=-P[1]?-2:G<-P[0]?-1:G<=P[0]?0:G<P[1]?1:G<P[2]?2:G<P[3]?3:4}function _(R,P,G){var Q=[P,3*P+18,5*P+67,7*P+276,G];R.o=P,R.w=(Q[4]+2*P)/(2*P+1)+1|0,R.v=Math.ceil(Math.log2(R.w)),R.t=9,Z(R.c,Q)}function x(R){var P={c:new Int8Array(2<<R.u)};return _(P,0,R.g),P}function B(R){for(var P=[[],[],[]],G=Math.max(2,R.w+32>>>6),Q=0;Q<3;Q++)for(var Y=0;Y<41;Y++)P[Q][Y]=[G,1];return P}function I(R){for(var P=-1,G=0;!G;P++)G=R[R.j]>>>7-R.a&1,R.a++,R.a&=7,R.a||R.j++;return P}function W(R,P){var G=0,Q=8-R.a,Y=R.j,K=R.a;if(P){if(P>=Q)do G<<=Q,P-=Q,G|=R[R.j]&(1<<Q)-1,R.j++,Q=8;while(P>=8);P&&(G<<=P,Q-=P,G|=R[R.j]>>>Q&(1<<P)-1),R.a=8-Q}return G}function F(R,P){var G=0;if(P<R)for(;G<=14&&P<<++G<R;);return G}function X(R,P,G,Q,Y,K,O,H){H==null&&(H=0);var j=K+1,J=j%2,U=0,i0=0,$=0,t0,f0,p0=Q[Y],B0=Q[Y-1],o0=Q[Y-2][j],g0=B0[j-1],b0=B0[j],X0=B0[j+1],D0=p0[j-1],Ai=p0[j+1],v0=Math.abs,Q0,U0,n0,s0;if(J&&(Q0=v0(X0-b0),U0=v0(o0-b0),n0=v0(g0-b0)),J){if(s0=Q0>n0&&U0<Q0?o0+g0:Q0<n0&&U0<n0?o0+X0:X0+g0,s0=s0+2*b0>>>2,H){p0[j]=s0;return}t0=P.t*P.c[R.g+b0-o0]+P.c[R.g+g0-b0]}else s0=b0>g0&&b0>X0||b0<g0&&b0<X0?Ai+D0+2*b0>>>2:D0+Ai>>>1,t0=P.t*P.c[R.g+b0-g0]+P.c[R.g+g0-D0];f0=v0(t0);var ti=I(G);if(ti<R.n-P.v-1){var mi=F(O[f0][0],O[f0][1]);$=W(G,mi)+(ti<<mi)}else $=W(G,P.v)+1;$=$&1?-1-($>>>1):$>>>1,O[f0][0]+=v0($),O[f0][1]==R.f&&(O[f0][0]>>>=1,O[f0][1]>>>=1),O[f0][1]++,s0=t0<0?s0-$:s0+$,R.i&&(s0<0?s0+=P.w:s0>R.g&&(s0-=P.w)),p0[j]=s0>=0?Math.min(s0,R.g):0}function E(R,P,G){for(var Q=R[0].length,Y=P;Y<=G;Y++)R[Y][0]=R[Y-1][1],R[Y][Q-1]=R[Y-1][Q-2]}function S(R){E(R,l,d),E(R,n,o),E(R,v,p)}function M(R,P,G,Q,Y,K,O,H,j,J,U,i0,$){for(var t0=0,f0=1,p0=Y<b&&Y>o;f0<R.m;)t0<R.m&&(X(R,P,G,Q,Y,t0,O[j],R.h&&(p0&&J||!p0&&(U||(t0&i0)==$))),X(R,P,G,Q,K,t0,O[j],R.h&&(!p0&&J||p0&&(U||(t0&i0)==$))),t0+=2),t0>8&&(X(R,P,G,Q,Y,f0,H[j]),X(R,P,G,Q,K,f0,H[j]),f0+=2);S(Q)}function T(R,P,G,Q,Y,K){M(R,P,G,Q,n,l,Y,K,0,0,1,0,8),M(R,P,G,Q,k,v,Y,K,1,0,1,0,8),M(R,P,G,Q,f,u,Y,K,2,1,0,3,0),M(R,P,G,Q,h,w,Y,K,0,0,0,3,2),M(R,P,G,Q,o,c,Y,K,1,0,0,3,2),M(R,P,G,Q,d,p,Y,K,2,1,0,3,0)}function z(R,P,G,Q,Y,K){var O=K.length,H=R.l;Y+1==R.s&&(H=R.e-Y*R.l);for(var j=6*R.e*Q+Y*R.l,J=0;J<6;J++){for(var U=0;U<H;U++){var i0=K[J%O][U%O],$;i0==0?$=n+(J>>>1):i0==2?$=v+(J>>>1):$=l+J;var t0=R.h?(U*2/3&2147483646|U%3&1)+(U%3>>>1):U>>>1;P[j+U]=G[$][t0+1]}j+=R.e}}e._decompressRAF=function(R,P){var G=C(R),Q=y(R,G),Y=x(G),K=new Int16Array(G.e*G.q);P==null&&(P=G.h?[[1,1,0,1,1,2],[1,1,2,1,1,0],[2,0,1,0,2,1],[1,1,2,1,1,0],[1,1,0,1,1,2],[0,2,1,2,0,1]]:[[0,1],[3,2]]);for(var O=[[r,f],[t,o],[a,c],[A,d],[b,w],[g,p]],H=[],j=0;j<m;j++)H[j]=new Uint16Array(G.A);for(var J=0;J<G.s;J++){for(var U=B(Y),i0=B(Y),j=0;j<m;j++)for(var $=0;$<G.A;$++)H[j][$]=0;for(var t0=0;t0<G.d;t0++){T(G,Y,Q[J],H,U,i0);for(var j=0;j<6;j++)for(var $=0;$<G.A;$++)H[O[j][0]][$]=H[O[j][1]][$];z(G,K,H,t0,J,P);for(var j=n;j<m;j++)if([a,A,b,g].indexOf(j)==-1)for(var $=0;$<G.A;$++)H[j][$]=0;S(H)}}return K}}()})(s)})()});var Wf={};rf(Wf,{heicTo:()=>Ws,isHeic:()=>Bs});var et,Bs,xs,Zs,Ef,Is,Es,Ws,Ff=$a(()=>{et=(s,i,e)=>new Promise((r,t)=>{var n=a=>{try{o(e.next(a))}catch(A){t(A)}},f=a=>{try{o(e.throw(a))}catch(A){t(A)}},o=a=>a.done?r(a.value):Promise.resolve(a.value).then(n,f);o((e=e.apply(s,i)).next())}),Bs=s=>et(void 0,null,function*(){let i=(yield s.arrayBuffer()).slice(8,12);switch(new TextDecoder("utf-8").decode(i).replace("\0"," ").trim()){case"mif1":return!0;case"msf1":return!0;case"heic":case"heix":return!0;case"hevc":case"hevx":return!0}return!1}),xs='(()=>{var h5=(y1=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(y1,{get:(T1,a1)=>(typeof require!="undefined"?require:T1)[a1]}):y1)(function(y1){if(typeof require!="undefined")return require.apply(this,arguments);throw Error(\'Dynamic require of "\'+y1+\'" is not supported\')});var tJ=(y1,T1)=>()=>(y1&&(T1=y1(y1=0)),T1);var oJ=(y1,T1)=>()=>(T1||y1((T1={exports:{}}).exports,T1),T1.exports);var w5=(y1,T1,a1)=>new Promise((F8,O)=>{var K8=l4=>{try{Si(a1.next(l4))}catch(O4){O(O4)}},E8=l4=>{try{Si(a1.throw(l4))}catch(O4){O(O4)}},Si=l4=>l4.done?F8(l4.value):Promise.resolve(l4.value).then(K8,E8);Si((a1=a1.apply(y1,T1)).next())});var lJ,Po,Lo=tJ(()=>{lJ=(()=>{var T1;var y1=typeof document!="undefined"?(T1=document.currentScript)==null?void 0:T1.src:void 0;return typeof __filename!="undefined"&&(y1||(y1=__filename)),function(a1={}){var F8,O=a1,K8,E8,Si=new Promise((F,N)=>{K8=F,E8=N}),l4=typeof window=="object",O4=typeof importScripts=="function",q8=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",v5=Object.assign({},O),m5=[],Me="./this.program",B5=(F,N)=>{throw N},z4="";function Ko(F){return O.locateFile?O.locateFile(F,z4):z4+F}var xe,Oi;if(q8){var ze=h5("fs"),Z5=h5("path");z4=__dirname+"/",Oi=F=>{F=Se(F)?new URL(F):Z5.normalize(F);var N=ze.readFileSync(F);return N},xe=(F,N=!0)=>(F=Se(F)?new URL(F):Z5.normalize(F),new Promise((M,T)=>{ze.readFile(F,N?void 0:"utf8",($,K)=>{$?T($):M(N?K.buffer:K)})})),!O.thisProgram&&process.argv.length>1&&(Me=process.argv[1].replace(/\\\\/g,"/")),m5=process.argv.slice(2),B5=(F,N)=>{throw process.exitCode=F,N}}else(l4||O4)&&(O4?z4=self.location.href:typeof document!="undefined"&&document.currentScript&&(z4=document.currentScript.src),y1&&(z4=y1),z4.startsWith("blob:")?z4="":z4=z4.substr(0,z4.replace(/[?#].*/,"").lastIndexOf("/")+1),O4&&(Oi=F=>{var N=new XMLHttpRequest;return N.open("GET",F,!1),N.responseType="arraybuffer",N.send(null),new Uint8Array(N.response)}),xe=F=>Se(F)?new Promise((N,M)=>{var T=new XMLHttpRequest;T.open("GET",F,!0),T.responseType="arraybuffer",T.onload=()=>{(T.status==200||T.status==0&&T.response)&&M(T.response),N(T.status)},T.onerror=N,T.send(null)}):fetch(F,{credentials:"same-origin"}).then(N=>N.ok?N.arrayBuffer():Promise.reject(new Error(N.status+" : "+N.url))));var He=O.print||console.log.bind(console),ji=O.printErr||console.error.bind(console);Object.assign(O,v5),v5=null,O.arguments&&(m5=O.arguments),O.thisProgram&&(Me=O.thisProgram),O.quit&&(B5=O.quit);var d6;O.wasmBinary&&(d6=O.wasmBinary);var Pi={Memory:function(F){this.buffer=new ArrayBuffer(F.initial*65536)},Module:function(F){},Instance:function(F,N){this.exports=function(T){function $(n1){return n1.set=function(C2,l){this[C2]=l},n1.get=function(C2){return this[C2]},n1}for(var K,o0=new Uint8Array(123),s0=25;s0>=0;--s0)o0[48+s0]=52+s0,o0[65+s0]=s0,o0[97+s0]=26+s0;o0[43]=62,o0[47]=63;function t0(n1,C2,l){for(var X,i,s=0,Q=C2,k0=l.length,Z0=C2+(k0*3>>2)-(l[k0-2]=="=")-(l[k0-1]=="=");s<k0;s+=4)X=o0[l.charCodeAt(s+1)],i=o0[l.charCodeAt(s+2)],n1[Q++]=o0[l.charCodeAt(s)]<<2|X>>4,Q<Z0&&(n1[Q++]=X<<4|i>>2),Q<Z0&&(n1[Q++]=i<<6|o0[l.charCodeAt(s+3)])}function E0(n1){t0(K,1024,"MjBTdHJlYW1SZWFkZXJfaXN0cmVhbQAxMlN0cmVhbVJlYWRlcgAxOVN0cmVhbVJlYWRlcl9tZW1vcnkAMTdTdHJlYW1SZWFkZXJfQ0FwaQBoZWlmX3N1YmVycm9yX0lwbWFfYm94X3JlZmVyZW5jZXNfbm9uZXhpc3RpbmdfcHJvcGVydHkAaGVpZl9zdWJlcnJvcl9Ob19pc3BlX3Byb3BlcnR5AGhlaWZfc3ViZXJyb3JfSW52YWxpZF9wcm9wZXJ0eQAnaXBtYScgYm94IHJlZmVyZW5jZXMgYSBub24tZXhpc3RpbmcgcHJvcGVydHkATm8gaXNwZSBwcm9wZXJ0eQBJbnZhbGlkIHByb3BlcnR5AEltYWdlIGhhcyBubyAnaXNwZScgcHJvcGVydHkAaW5maW5pdHkAaGVpZl9zdWJlcnJvcl9DYW5ub3RfcmVhZF9wbHVnaW5fZGlyZWN0b3J5AGhlaWZfY29udGV4dF9yZWFkX2Zyb21fbWVtb3J5AEZlYnJ1YXJ5AEphbnVhcnkASnVseQBUaHVyc2RheQBUdWVzZGF5AFdlZG5lc2RheQBTYXR1cmRheQBTdW5kYXkATW9uZGF5AEZyaWRheQBNYXkAJW0vJWQvJXkAaGV2eABoZWlmX3N1YmVycm9yX05vX2lkYXRfYm94AGhlaWZfc3ViZXJyb3JfTm9faGRscl9ib3gAaGVpZl9zdWJlcnJvcl9Ob19pY2JyX2JveABoZWlmX3N1YmVycm9yX05vX2Z0eXBfYm94AGhlaWZfc3ViZXJyb3JfTm9faXBycF9ib3gAaGVpZl9zdWJlcnJvcl9Ob19pcGNvX2JveABoZWlmX3N1YmVycm9yX05vX3BpdG1fYm94AGhlaWZfc3ViZXJyb3JfSW52YWxpZF9waXhpX2JveABoZWlmX3N1YmVycm9yX05vX2lpbmZfYm94AGhlaWZfc3ViZXJyb3JfTm9faXJlZl9ib3gAaGVpZl9zdWJlcnJvcl9Ob19pbmZlX2JveABoZWlmX3N1YmVycm9yX05vX2lsb2NfYm94AGhlaWZfc3ViZXJyb3JfTm9fbWV0YV9ib3gAaGVpZl9zdWJlcnJvcl9Ob19pcG1hX2JveABoZWlmX3N1YmVycm9yX05vX3Z2Y0NfYm94AGhlaWZfc3ViZXJyb3JfTm9faHZjQ19ib3gAaGVpZl9zdWJlcnJvcl9Ob19hdjFDX2JveAB0aGlzIHByb3BlcnR5IGlzIG5vdCByZWFkIGFzIGEgcmF3IGJveABlcnJvciByZWFkaW5nIGZ0eXAgYm94AGlucHV0IGlzIG5vdCBhIGZ0eXAgYm94AEludmFsaWQgcGl4aSBib3gAKSBoYXMgbm8gcHJvcGVydGllcyBhc3NpZ25lZCB0byBpdCBpbiBpcG1hIGJveAAgcmVmZXJlbmNlZCBpbiBpcG1hIGJveABlcnJvciB3aGlsZSByZWFkaW5nIGh2Y0MgYm94AE5vICdpZGF0JyBib3gATm8gJ2hkbHInIGJveABObyAnaWNicicgYm94AE5vICdmdHlwJyBib3gATm8gJ2lwcnAnIGJveABObyAnaXBjbycgYm94AE5vICdwaXRtJyBib3gATm8gJ2lpbmYnIGJveABObyAnaXJlZicgYm94AE5vICdpbmZlJyBib3gATm8gJ2lsb2MnIGJveABObyAnbWV0YScgYm94AE5vICdpcG1hJyBib3gATm8gJ3Z2Y0MnIGJveABObyAnaHZjQycgYm94AE5vICdhdjFDJyBib3gATlVMTCBwYXNzZWQgYXMgbWF0cml4AEludmFsaWQgcXVhdGVybmlvbiBpbiBleHRyaW5zaWMgcm90YXRpb24gbWF0cml4AGhlaXgAY21leAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AF9fbmV4dF9wcmltZSBvdmVyZmxvdwBoZWlmX2Nocm9tYV9kb3duc2FtcGxpbmdfc2hhcnBfeXV2AE5vdgBUaHUAaGVpZl9jb250ZXh0AGdldF90aHJlYWRfY29udGV4dABoZWlmX3dyaXRlciBjYWxsYmFjayByZXR1cm5lZCBhIG51bGwgZXJyb3IgdGV4dABoZWlmX2Vycm9yX0ludmFsaWRfaW5wdXQAaW52YWxpZCBkaXNwYXJpdHlfcmVmZXJlbmNlX3ZpZXcgaW4gaW5wdXQAaW52YWxpZCBkZXB0aCByZXByZXNlbnRhdGlvbiB0eXBlIGluIGlucHV0AHVuc3VwcG9ydGVkIGxvY2FsZSBmb3Igc3RhbmRhcmQgaW5wdXQASW52YWxpZCBpbnB1dABBdWd1c3QAaGVpZl9lcnJvcl9JbnB1dF9kb2VzX25vdF9leGlzdABoZWlmX2Vycm9yX0NvbG9yX3Byb2ZpbGVfZG9lc19ub3RfZXhpc3QAUmVnaW9uIGl0ZW0gZG9lcyBub3QgZXhpc3QAQ29sb3IgcHJvZmlsZSBkb2VzIG5vdCBleGlzdABJbnB1dCBmaWxlIGRvZXMgbm90IGV4aXN0AHJlYWRfc2NhbGluZ19saXN0AE1hc2sgaW1hZ2UgZGF0YSBpcyB0b28gc2hvcnQASEVWQyBTRUkgTkFMIHRvbyBzaG9ydAB1bnNpZ25lZCBzaG9ydAB1bnNpZ25lZCBpbnQAY29tcG9uZW50AGhlaWZfc3ViZXJyb3JfTnVsbF9wb2ludGVyX2FyZ3VtZW50AE5VTEwgYXJndW1lbnQAcmVmY250AGNvbnN0YW50AEhpZ2ggdmFyaWFudABoZWlmX2ZpbGV0eXBlX3Jlc3VsdAByZWFkX3RyYW5zZm9ybV91bml0AHJlYWRfY29kaW5nX3VuaXQAaW5pdABoZWlmX2Nocm9tYV9pbnRlcmxlYXZlZF8yNGJpdABoZWlmX2Nocm9tYV9pbnRlcmxlYXZlZF8zMmJpdABoZWlmX2ltYWdlX2hhbmRsZV9nZXRfaGVpZ2h0AHplcm8gd2lkdGggb3IgaGVpZ2h0ACBpcyBub3QgaW1wbGVtZW50ZWQgeWV0AHJlYWRfc2hvcnRfdGVybV9yZWZfcGljX3NldABnZXQAT2N0AGZsb2F0AGhlaWZfY29tcHJlc3Npb25fZm9ybWF0AGhlaWZfc3ViZXJyb3JfV3JvbmdfdGlsZV9pbWFnZV9jaHJvbWFfZm9ybWF0AE5vIGRlY29kaW5nIHBsdWdpbiBpbnN0YWxsZWQgZm9yIHRoaXMgY29tcHJlc3Npb24gZm9ybWF0AFdyb25nIHRpbGUgaW1hZ2UgY2hyb21hIGZvcm1hdABTYXQAdWludDY0X3QAaGV2cwBhbGxvY2F0ZV90aHJlYWRfY29udGV4dHMAbiA8IG5UaHJlYWRDb250ZXh0cwBjb25zdHJ1Y3RfcmVmZXJlbmNlX3BpY3R1cmVfbGlzdHMAaGVpZl9zdWJlcnJvcl9Vbmtub3duX05DTFhfbWF0cml4X2NvZWZmaWNpZW50cwBVbmtub3duIE5DTFggbWF0cml4IGNvZWZmaWNpZW50cwB1bml0WSA+PSAwICYmIHVuaXRZIDwgaGVpZ2h0X2luX3VuaXRzAHVuaXRYID49IDAgJiYgdW5pdFggPCB3aWR0aF9pbl91bml0cwBTdWNjZXNzAGZpbGxfbHVtYV9tb3Rpb25fdmVjdG9yX3ByZWRpY3RvcnMAZGVyaXZlX2NvbGxvY2F0ZWRfbW90aW9uX3ZlY3RvcnMAc3BzAHBwcwBGb3JtYXRSYW5nZUV4dGVuc2lvbnMAaGVpZl9zdWJlcnJvcl9Ub29fbWFueV9yZWdpb25zAEVycm9yIHdoaWxlIHNjYW5uaW5nIHRoZSBkaXJlY3RvcnkgZm9yIHBsdWdpbnMARGVyaXZlZCBpbWFnZSBkb2VzIG5vdCByZWZlcmVuY2UgYW55IG90aGVyIGltYWdlIGl0ZW1zAGNoYW5uZWxzAGluaXRpYWxpemVfQ0FCQUNfbW9kZWxzAGF2aXMAaGVpcwBpbWFnZS9qMmlzAEdyaWQgdGlsZXMgaGF2ZSBkaWZmZXJlbnQgc2l6ZXMAc2V0X2Rlcml2ZWRfdmFsdWVzACBieXRlcwBkZXJpdmVfY29tYmluZWRfYmlwcmVkaWN0aXZlX21lcmdpbmdfY2FuZGlkYXRlcwBZQ2JDciBpbWFnZSB3aXRob3V0IFksQ2IsQ3IgcGxhbmVzAFJHQiBpbnB1dCB3aXRob3V0IFIsRyxCLCBwbGFuZXMAZ2VuZXJhdGVfaW50ZXJfcHJlZGljdGlvbl9zYW1wbGVzAGRlY29kZV9zbGljZV91bml0X3RpbGVzAGhlaWZfc3ViZXJyb3JfVW5rbm93bl9OQ0xYX2NvbG9yX3ByaW1hcmllcwBVbmtub3duIE5DTFggY29sb3IgcHJpbWFyaWVzAHRocmVhZF9maW5pc2hlcwBoZWlmX2NvbnRleHRfZ2V0X251bWJlcl9vZl90b3BfbGV2ZWxfaW1hZ2VzAGhlaWZfc3ViZXJyb3JfTWlzc2luZ19ncmlkX2ltYWdlcwAnc3RlcicgZW50aXR5IGdyb3VwIGRvZXMgbm90IGV4aXN0cyBvZiBleGFjdGx5IHR3byBpbWFnZXMATWlzc2luZyBncmlkIGltYWdlcwB1ZGVzACdpcmVmJyBoYXMgZG91YmxlIHJlZmVyZW5jZXMATnVtYmVyIG9mIGltYWdlIG9mZnNldHMgZG9lcyBub3QgbWF0Y2ggdGhlIG51bWJlciBvZiBpbWFnZSByZWZlcmVuY2VzAGhlaWZfc3ViZXJyb3JfVW5rbm93bl9OQ0xYX3RyYW5zZmVyX2NoYXJhY3RlcmlzdGljcwBVbmtub3duIE5DTFggdHJhbnNmZXIgY2hhcmFjdGVyaXN0aWNzAGhlaWZfc3ViZXJyb3JfT3ZlcmxheV9pbWFnZV9vdXRzaWRlX29mX2NhbnZhcwB5PHNwcy0+UGljSGVpZ2h0SW5NaW5QVXMAeDxzcHMtPlBpY1dpZHRoSW5NaW5QVXMAaGVpZl9qc19jb250ZXh0X2dldF9saXN0X29mX3RvcF9sZXZlbF9pbWFnZV9JRHMAYmFkX3dlYWtfcHRyAEFwcgB2ZWN0b3IAZmlsbF9zY2FsaW5nX2ZhY3RvcgBoZWlmX3N1YmVycm9yX0NvbXByZXNzaW9uX2luaXRpYWxpc2F0aW9uX2Vycm9yAGhlaWZfZXJyb3JfTWVtb3J5X2FsbG9jYXRpb25fZXJyb3IAaGVpZl9lcnJvcl9FbmNvZGVyX3BsdWdpbl9lcnJvcgBoZWlmX2Vycm9yX0RlY29kZXJfcGx1Z2luX2Vycm9yAGhlaWZfZXJyb3JfRW5jb2RpbmdfZXJyb3IAaGVpZl9zdWJlcnJvcl9QbHVnaW5fbG9hZGluZ19lcnJvcgBoZWlmX2Vycm9yX1BsdWdpbl9sb2FkaW5nX2Vycm9yAGhlaWZfZXJyb3IAaGVpZl9lcnJvcl9Vc2FnZV9lcnJvcgBtb25leV9nZXQgZXJyb3IAVW5rbm93biBlcnJvcgBNZW1vcnkgYWxsb2NhdGlvbiBlcnJvcgBFbmNvZGVyIHBsdWdpbiBnZW5lcmF0ZWQgYW4gZXJyb3IARGVjb2RlciBwbHVnaW4gZ2VuZXJhdGVkIGFuIGVycm9yAFVzYWdlIGVycm9yAENvbXByZXNzaW9uIGluaXRpYWxpc2F0aW9uIG1ldGhvZCBlcnJvcgBoZWlmX2Nocm9tYV91cHNhbXBsaW5nX25lYXJlc3RfbmVpZ2hib3IAaGVpZl9jaHJvbWFfZG93bnNhbXBsaW5nX25lYXJlc3RfbmVpZ2hib3IAaGRscgBzdWJfbGF5ZXIAbXVsdGktbGF5ZXIAaGVpZl9zdWJlcnJvcl9VbnN1cHBvcnRlZF9wYXJhbWV0ZXIAVW5zdXBwb3J0ZWQgZW5jb2RlciBwYXJhbWV0ZXIAVW5zdXBwb3J0ZWQgcGFyYW1ldGVyAGhlaWZfc3ViZXJyb3JfTm9fcGljdF9oYW5kbGVyAE5vdCBhICdwaWN0JyBoYW5kbGVyAE1pc3NpbmcgcmVxdWlyZWQgU0laIE1hcmtlcgBNaXNzaW5nIHJlcXVpcmVkIFNPQyBNYXJrZXIAZGUyNjVfaW1hZ2VfZ2V0X2J1ZmZlcgBvdXRwdXRfbmV4dF9waWN0dXJlX2luX3Jlb3JkZXJfYnVmZmVyAGluaXRfQ0FCQUNfZGVjb2RlcgBsaWJkZTI2NSBIRVZDIGRlY29kZXIAZHVtcF9zbGljZV9zZWdtZW50X2hlYWRlcgBPY3RvYmVyAGhlaWZfZ2V0X3ZlcnNpb25fbnVtYmVyAGhlaWZfc3ViZXJyb3JfSW52YWxpZF9mcmFjdGlvbmFsX251bWJlcgBJbnZhbGlkIGZyYWN0aW9uYWwgbnVtYmVyAE5vdmVtYmVyAFNlcHRlbWJlcgBEZWNlbWJlcgBicgBwbGFuYXIAaW50cmFfcHJlZGljdGlvbl9hbmd1bGFyAHVuc2lnbmVkIGNoYXIAaGVpZl9jaHJvbWFfdXBzYW1wbGluZ19iaWxpbmVhcgBpb3NfYmFzZTo6Y2xlYXIATWFyAGhlaWZfY29sb3JzcGFjZV9ZQ2JDcgBoZWlmX2NoYW5uZWxfQ3IAaGVpZl9zdWJlcnJvcl9FbmNvZGVyX2NsZWFudXAAU2VwACVJOiVNOiVTICVwAG1vbm8AaGVpZl9maWxldHlwZV9ubwB1bmtub3duAFVua25vd24AU3VuAEp1bgBzdGQ6OmV4Y2VwdGlvbgBkZXJpdmVfc3BhdGlhbF9sdW1hX3ZlY3Rvcl9wcmVkaWN0aW9uAGhlaWZfc3ViZXJyb3JfRW5jb2Rlcl9pbml0aWFsaXphdGlvbgB1bmtub3duIGNvbG9yIGNvbmZpZ3VyYXRpb24ASW52YWxpZCBkYXRhIGluIGdlbmVyaWMgY29tcHJlc3Npb24gaW5mbGF0aW9uAEludmFsaWQgY2xlYW4tYXBlcnR1cmUgc3BlY2lmaWNhdGlvbgBoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2NvbG9yX2NvbnZlcnNpb24AVW5zdXBwb3J0ZWQgY29sb3IgY29udmVyc2lvbgBoZWlmX2dldF92ZXJzaW9uAGhlaWZfc3ViZXJyb3JfVW5zdXBwb3J0ZWRfd3JpdGVyX3ZlcnNpb24AaGVpZl9zdWJlcnJvcl9VbnN1cHBvcnRlZF9wbHVnaW5fdmVyc2lvbgBoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2RhdGFfdmVyc2lvbgBVbnN1cHBvcnRlZCBwbHVnaW4gdmVyc2lvbgBVbnN1cHBvcnRlZCBkYXRhIHZlcnNpb24ASW5zdWZmaWNpZW50IGRhdGEgcmVtYWluaW5nIGZvciBwb2ludCByZWdpb24AVW5zdXBwb3J0ZWQgYml0IGRlcHRoIGZvciBtYXNrIHJlZ2lvbgBVbnN1cHBvcnRlZCBjb2xvdXJzcGFjZSBmb3IgbWFzayByZWdpb24ASW5zdWZmaWNpZW50IGRhdGEgcmVtYWluaW5nIGZvciBpbmxpbmUgbWFzayByZWdpb24ASW5zdWZmaWNpZW50IGRhdGEgcmVtYWluaW5nIGZvciByZWZlcmVuY2VkIG1hc2sgcmVnaW9uAEluc3VmZmljaWVudCBkYXRhIHJlbWFpbmluZyBmb3IgZWxsaXBzZSByZWdpb24ASW5zdWZmaWNpZW50IGRhdGEgcmVtYWluaW5nIGZvciByZWN0YW5nbGUgcmVnaW9uAEluc3VmZmljaWVudCBkYXRhIHJlbWFpbmluZyBmb3IgcG9seWdvbgBNb24AY21pbgBFcnJvciB3aGlsZSBsb2FkaW5nIHBsdWdpbgBNYWluAE5VTEwgYXJndW1lbnQgcGFzc2VkIGluAG5hbgByZ2FuAEphbgBoZXZtAHBpdG0AY29weV9saW5lc19mcm9tAGhlaW0AaGVpZl9jaHJvbWFfdXBzYW1wbGluZ19hbGdvcml0aG0AaGVpZl9jaHJvbWFfZG93bnNhbXBsaW5nX2FsZ29yaXRobQBoZWlmX3N1YmVycm9yX05vX29yX2ludmFsaWRfcHJpbWFyeV9pdGVtAGhlaWZfc3ViZXJyb3JfTm9fcHJvcGVydGllc19hc3NpZ25lZF90b19pdGVtAE5vIG9yIGludmFsaWQgcHJpbWFyeSBpdGVtAE5vIHByb3BlcnRpZXMgYXNzaWduZWQgdG8gaXRlbQBVbnN1cHBvcnRlZCBiaXQgZGVwdGggZm9yIG1hc2sgaXRlbQBDbGVhbnVwIHByb2JsZW0ASW5pdGlhbGl6YXRpb24gcHJvYmxlbQBFbmNvZGluZyBwcm9ibGVtAGhlaWZfc3ViZXJyb3JfSW52YWxpZF9KMktfY29kZXN0cmVhbQBJbnZhbGlkIEpQRUcgMjAwMCBjb2Rlc3RyZWFtAEp1bAB1cmwAZGUyNjVfc2V0X3BhcmFtZXRlcl9ib29sAGFwcGxpY2F0aW9uL3JkZit4bWwAbGwAQXByaWwAVGh1bWJuYWlsIHJlZmVyZW5jZXMgYW5vdGhlciB0aHVtYm5haWwAQ2FuIGN1cnJlbnRseSBvbmx5IG1pcnJvciBpbWFnZXMgd2l0aCA4IGJpdHMgcGVyIHBpeGVsAENhbiBjdXJyZW50bHkgb25seSBmaWxsIGltYWdlcyB3aXRoIDggYml0cyBwZXIgcGl4ZWwAaGVpZl9jaGFubmVsAElubGluZSBtYXNrIGltYWdlIG11c3QgaGF2ZSBhIFkgY2hhbm5lbABkZWNvZGVfc2xpY2VfdW5pdF9wYXJhbGxlbABnZW5lcmFsAHNjYWxlX2NvZWZmaWNpZW50c19pbnRlcm5hbABoZWlmX2NvbXByZXNzaW9uX21hc2sAdHJhbnNmb3JtX3NraXBfOF9mYWxsYmFjawBwdXRfd2VpZ2h0ZWRfcHJlZF9hdmdfOF9mYWxsYmFjawBwdXRfd2VpZ2h0ZWRfYmlwcmVkXzhfZmFsbGJhY2sAcHV0X3Vud2VpZ2h0ZWRfcHJlZF84X2ZhbGxiYWNrAHB1dF93ZWlnaHRlZF9wcmVkXzhfZmFsbGJhY2sAdHJhbnNmb3JtX3NraXBfMTZfZmFsbGJhY2sAcHV0X3dlaWdodGVkX3ByZWRfYXZnXzE2X2ZhbGxiYWNrAHB1dF93ZWlnaHRlZF9iaXByZWRfMTZfZmFsbGJhY2sAcHV0X3Vud2VpZ2h0ZWRfcHJlZF8xNl9mYWxsYmFjawBwdXRfd2VpZ2h0ZWRfcHJlZF8xNl9mYWxsYmFjawBoZWlmX2Vycm9yX09rAGltYWdlL2hlajJrAHBpeGkARnJpAG1za2kAajJraQBoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2JpdF9kZXB0aABoZWlmX3N1YmVycm9yX1dyb25nX3RpbGVfaW1hZ2VfcGl4ZWxfZGVwdGgAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTpkZXB0aABVbnN1cHBvcnRlZCBiaXQgZGVwdGgAV3JvbmcgdGlsZSBpbWFnZSBwaXhlbCBkZXB0aABkZXJpdmVfYm91bmRhcnlTdHJlbmd0aABiYWRfYXJyYXlfbmV3X2xlbmd0aABoZWlmX2ltYWdlX2hhbmRsZV9nZXRfd2lkdGgAcHVzaABNYXJjaAAuL2RlY2N0eC5oAC4uL2xpYmRlMjY1L2ltYWdlLmgALi9pbWFnZS5oAC4vaW50cmFwcmVkLmgAQXVnAGltYWdlL3BuZwB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBiYXNpY19zdHJpbmcAc3RkOjpzdHJpbmcAc3RkOjp1MTZzdHJpbmcAc3RkOjp1MzJzdHJpbmcARmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgdGhlIHR5cGUgc3RyaW5nAGludHJhX3ByZWRpY3Rpb25fc2FtcGxlX2ZpbHRlcmluZwBoZWlmX3N1YmVycm9yX0VuY29kZXJfZW5jb2RpbmcAaW1hZ2UvanBlZwBkZWNvZGVfc3BsaXRfdHJhbnNmb3JtX2ZsYWcAaW5mACdpZGVuJyBpbWFnZSByZWZlcnJpbmcgdG8gaXRzZWxmAEV4aWYAaW1hZ2UvYXZpZgBpbWFnZS9oZWlmAGlyZWYAZHJlZgAlLjBMZgAlTGYAaGVpZl9zdWJlcnJvcl9JbnZhbGlkX2JveF9zaXplAGhlaWZfc3ViZXJyb3JfSW52YWxpZF9pbWFnZV9zaXplAGlkeDxpbnRyYVByZWRNb2RlQy5kYXRhX3NpemUASW52YWxpZCBib3ggc2l6ZQBhdjFDIHdpdGggdW5zcGVjaWZpZWQgYm94IHNpemUAanBnQyBibG9jayBleGNlZWRzIG1heGltdW0gc2l6ZQBJbnZhbGlkIGltYWdlIHNpemUAQ29sb3IgcHJvZmlsZSBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAZGF0YSBsZW5ndGggbXVzdCBiZSBwb3NpdGl2ZQBpbnRlcmxlYXZlAHRydWUAaGVpZl9zdWJlcnJvcl9JbnZhbGlkX3BhcmFtZXRlcl92YWx1ZQBPdXQgb2YgcmFuZ2UgTHNpeiB2YWx1ZQBPdXQgb2YgcmFuZ2UgQ3NpeiB2YWx1ZQBJbnZhbGlkIHBhcmFtZXRlciB2YWx1ZQBPdXQgb2YgcmFuZ2UgTGNhcCB2YWx1ZQBzZXRfaW5pdFZhbHVlAFR1ZQBSZWdpb24gZGF0YSBpbmNvbXBsZXRlAE92ZXJsYXkgaW1hZ2UgZGF0YSBpbmNvbXBsZXRlAEdyaWQgaW1hZ2UgZGF0YSBpbmNvbXBsZXRlAGRlZmxhdGUAZmFsc2UAaGVpZl9pbWFnZV9oYW5kbGVfcmVsZWFzZQBoZWlmX2ltYWdlX3JlbGVhc2UAaGVpZl9zdWJlcnJvcl9JbnZhbGlkX2NsZWFuX2FwZXJ0dXJlAGdlbmVyYXRlX3VuYXZhaWxhYmxlX3JlZmVyZW5jZV9waWN0dXJlAE1haW5TdGlsbFBpY3R1cmUAaGVpZl9lcnJvcl9VbnN1cHBvcnRlZF9mZWF0dXJlAFVuc3VwcG9ydGVkIGZlYXR1cmUAaGVpZl9qc19jaGVja19maWxldHlwZQBoZWlmX2Vycm9yX1Vuc3VwcG9ydGVkX2ZpbGV0eXBlAGhlaWZfc3ViZXJyb3JfVW5rbm93bl9jb2xvcl9wcm9maWxlX3R5cGUAaGVpZl9zdWJlcnJvcl9VbnN1cHBvcnRlZF9pbWFnZV90eXBlAFVuc3VwcG9ydGVkIGZpbGUtdHlwZQB3cm9uZyBwcm9wZXJ0eSB0eXBlAFVua25vd24gY29sb3IgcHJvZmlsZSB0eXBlAFVuc3VwcG9ydGVkIGltYWdlIHR5cGUAaXNwZQBKdW5lAENvbnN0cmFpbmVkIEJhc2VsaW5lAGRlMjY1X2dldF9pbWFnZV9wbGFuZQBzY2FsaW5nIGlucHV0IGhhcyBleHRyYSBjb2xvciBwbGFuZQBDYW5ub3QgYWxsb2NhdGUgbWVtb3J5IGZvciBpbWFnZSBwbGFuZQBtb25vY2hyb21lIGlucHV0IHdpdGggbm8gWSBwbGFuZQBoZWlmX2NvbG9yc3BhY2VfbW9ub2Nocm9tZQBoZWlmX2Nocm9tYV9tb25vY2hyb21lAG1pbWUAZGVjb3VwbGUARXJyb3IgZHVyaW5nIGVuY29kaW5nIG9yIHdyaXRpbmcgb3V0cHV0IGZpbGUAaWRhdCBib3ggcmVmZXJlbmNlZCBpbiBpcmVmIGJveCBpcyBub3QgcHJlc2VudCBpbiBmaWxlACB0aWxlIGltYWdlcyBpbiBmaWxlAFVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUAaGVpZl9qc19jb250ZXh0X2dldF9wcmltYXJ5X2ltYWdlX2hhbmRsZQBoZWlmX2pzX2NvbnRleHRfZ2V0X2ltYWdlX2hhbmRsZQBoZWlmX2ltYWdlX2hhbmRsZQBoZWlmX3N1YmVycm9yX0l0ZW1fcmVmZXJlbmNlX2N5Y2xlAEltYWdlIHJlZmVyZW5jZSBjeWNsZQBkb3VibGUAcmVhZF9wcmVkX3dlaWdodF90YWJsZQBhbGxvY19hbmRfaW5pdF9zaWduaWZpY2FudF9jb2VmZl9jdHhJZHhfbG9va3VwVGFibGUAQm94IHNpemUgdG9vIGxhcmdlAHByb3BlcnR5IGluZGV4IG91dCBvZiByYW5nZQBpbnB1dCBkZXB0aCByZXByZXNlbnRhdGlvbiB0eXBlIG91dCBvZiByYW5nZQBpbG9jIGRhdGEgcG9pbnRlcnMgb3V0IG9mIGFsbG93ZWQgcmFuZ2UAbWVzc2FnZQBoZWlmX2Nocm9tYV9kb3duc2FtcGxpbmdfYXZlcmFnZQBoZWlmX2ltYWdlX2hhbmRsZV9pc19wcmltYXJ5X2ltYWdlAG5ld19pbWFnZQBmaWxsX2Zyb21faW1hZ2UAaGVpZl9pbWFnZQBhbGxvY19pbWFnZQBObyBpcmVmIGJveCBhdmFpbGFibGUsIGJ1dCBuZWVkZWQgZm9yIGlkZW4gaW1hZ2UAUmVnaW9uIG1hc2sgcmVmZXJlbmNlZCBpdGVtIGlzIG5vdCBhbiBpbWFnZQBObyBpcmVmIGJveCBhdmFpbGFibGUsIGJ1dCBuZWVkZWQgZm9yIGlvdmwgaW1hZ2UAUmVnaW9uIGl0ZW0gYXNzaWduZWQgdG8gbm9uLWV4aXN0aW5nIGltYWdlAGBwcmVtYCBsaW5rIGFzc2lnbmVkIHRvIG5vbi1leGlzdGluZyBpbWFnZQBNZXRhZGF0YSBhc3NpZ25lZCB0byBub24tZXhpc3RpbmcgaW1hZ2UAJ3BpdG0nIGJveCByZWZlcmVuY2VzIGEgbm9uLWV4aXN0aW5nIGltYWdlAFRodW1ibmFpbCByZWZlcmVuY2VzIGEgbm9uLWV4aXN0aW5nIGltYWdlAE5vIHZ2Y0MgcHJvcGVydHkgaW4gdnZjMSB0eXBlIGltYWdlAE5vIGh2Y0MgcHJvcGVydHkgaW4gaHZjMSB0eXBlIGltYWdlAEdyaWQgdGlsZXMgZG8gbm90IGNvdmVyIHdob2xlIGltYWdlACdpZGVuJyBpbWFnZSB3aXRoIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIGltYWdlAE5vIGlyZWYgYm94IGF2YWlsYWJsZSwgYnV0IG5lZWRlZCBmb3IgZ3JpZCBpbWFnZQBJbWFnZSB0aWxlIGhhcyBkaWZmZXJlbnQgY2hyb21hIGZvcm1hdCB0aGFuIGNvbWJpbmVkIGltYWdlAGluZmUAcmVhZF90cmFuc2Zvcm1fdHJlZQBoZWlmX2NvbnRleHRfZnJlZQBkZWNvZGVfcGFydF9tb2RlAGRlY29kZQBzdWJjb2RlAGhlaWZfc3ViZXJyb3JfY29kZQBoZWlmX2Vycm9yX2NvZGUAUHJlZE1vZGUgPT0gY3VQcmVkTW9kZQBzdHJpZGUAaW1hZ2UvYXZpZi1zZXF1ZW5jZQBpbWFnZS9oZWlmLXNlcXVlbmNlAGltYWdlL2hlaWMtc2VxdWVuY2UAUmVnaW9uIG1hc2sgcmVmZXJlbmNlIHdpdGggbm9uLWV4aXN0aW5nIG1hc2sgaW1hZ2UgcmVmZXJlbmNlAGhlaWZfY29sb3JzcGFjZQBoZWlmX2ZpbGV0eXBlX21heWJlAGhlaWZfc3ViZXJyb3JfVW5zdXBwb3J0ZWRfaXRlbV9jb25zdHJ1Y3Rpb25fbWV0aG9kAGhlaWZfc3ViZXJyb3JfVW5zdXBwb3J0ZWRfaGVhZGVyX2NvbXByZXNzaW9uX21ldGhvZABoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2dlbmVyaWNfY29tcHJlc3Npb25fbWV0aG9kAFVuc3VwcG9ydGVkIGl0ZW0gY29uc3RydWN0aW9uIG1ldGhvZABVbnN1cHBvcnRlZCBoZWFkZXIgY29tcHJlc3Npb24gbWV0aG9kAFVuc3VwcG9ydGVkIGdlbmVyaWMgY29tcHJlc3Npb24gbWV0aG9kACUwKmxsZAAlKmxsZAArJWxsZAAlKy40bGQAZ3JpZAB2b2lkAE5VTEwgYXJndW1lbnQgcmVjZWl2ZWQAaGVpZl9jaGFubmVsX2ludGVybGVhdmVkAGhlaWZfZmlsZXR5cGVfeWVzX3Vuc3VwcG9ydGVkAGhlaWZfZmlsZXR5cGVfeWVzX3N1cHBvcnRlZABUaGUgdmVyc2lvbiBvZiB0aGUgcGFzc2VkIHdyaXRlciBpcyBub3Qgc3VwcG9ydGVkAFRoZSB2ZXJzaW9uIG9mIHRoZSBwYXNzZWQgcGx1Z2luIGlzIG5vdCBzdXBwb3J0ZWQAcGNsciBtb3JlIHRoYW4gMTYgYml0cyBwZXIgY2hhbm5lbCBpcyBub3Qgc3VwcG9ydGVkAHBjbHIgd2l0aCBzaWduZWQgZGF0YSBpcyBub3Qgc3VwcG9ydGVkAFBsdWdpbnMgYXJlIG5vdCBzdXBwb3J0ZWQAQ2hhbm5lbHMgd2l0aCBkaWZmZXJlbnQgbnVtYmVyIG9mIGJpdHMgcGVyIHBpeGVsIGFyZSBub3Qgc3VwcG9ydGVkAGNvbHIgYm94ZXMgd2l0aCB1bmRlZmluZWQgYm94IHNpemUgYXJlIG5vdCBzdXBwb3J0ZWQAanBnQyB3aXRoIHVuc3BlY2lmaWVkIHNpemUgYXJlIG5vdCBzdXBwb3J0ZWQAbG9jYWxlIG5vdCBzdXBwb3J0ZWQARGVmbGF0ZSBjb21wcmVzc2VkIGlubGluZSBtYXNrIGlzIG5vdCB5ZXQgc3VwcG9ydGVkAHNjYWxpbmcgbGlzdCBsb2dnaW5nIG91dHB1dCBub3QgaW1wbGVtZW50ZWQAUmVjdXJzaXZlIGF1eCBpbWFnZSBkZXRlY3RlZABSZWN1cnNpdmUgdGh1bWJuYWlsIGltYWdlIGRldGVjdGVkAFJlY3Vyc2l2ZSBkZXB0aCBpbWFnZSBkZXRlY3RlZABSZWN1cnNpdmUgYWxwaGEgaW1hZ2UgZGV0ZWN0ZWQAaGVpZl9jb21wcmVzc2lvbl91bmNvbXByZXNzZWQATlVMTCBwYXNzZWQAaGVpZl9zdWJlcnJvcl9DYW1lcmFfZXh0cmluc2ljX21hdHJpeF91bmRlZmluZWQAaGVpZl9zdWJlcnJvcl9DYW1lcmFfaW50cmluc2ljX21hdHJpeF91bmRlZmluZWQAaGVpZl9jb21wcmVzc2lvbl91bmRlZmluZWQAaGVpZl9jb2xvcnNwYWNlX3VuZGVmaW5lZABoZWlmX2Nocm9tYV91bmRlZmluZWQAQ2FtZXJhIGV4dHJpbnNpYyBtYXRyaXggdW5kZWZpbmVkAENhbWVyYSBpbnRyaW5zaWMgbWF0cml4IHVuZGVmaW5lZABoZWlmX3N1YmVycm9yX05vX21hdGNoaW5nX2RlY29kZXJfaW5zdGFsbGVkAG11dGV4IGxvY2sgZmFpbGVkAGhlaWZfc3ViZXJyb3JfQXV4aWxpYXJ5X2ltYWdlX3R5cGVfdW5zcGVjaWZpZWQAVHlwZSBvZiBhdXhpbGlhcnkgaW1hZ2UgdW5zcGVjaWZpZWQAaGVpZl9zdWJlcnJvcl9VbnNwZWNpZmllZABoZWlmX3N1YmVycm9yX1NlY3VyaXR5X2xpbWl0X2V4Y2VlZGVkAFNlY3VyaXR5IGxpbWl0IGV4Y2VlZGVkAFNlY3VyaXR5IGxpbWl0IGZvciBtYXhpbXVtIG5lc3Rpbmcgb2YgYm94ZXMgaGFzIGJlZW4gZXhjZWVkZWQAaGVpZl9zdWJlcnJvcl9QbHVnaW5faXNfbm90X2xvYWRlZABUcnlpbmcgdG8gcmVtb3ZlIGEgcGx1Z2luIHRoYXQgaXMgbm90IGxvYWRlZABQbHVnaW4gZmlsZSBjYW5ub3QgYmUgbG9hZGVkAGhlaWZfc3ViZXJyb3JfTm9uZXhpc3RpbmdfaXRlbV9yZWZlcmVuY2VkAGhlaWZfc3ViZXJyb3JfTm9uZXhpc3RpbmdfaW1hZ2VfY2hhbm5lbF9yZWZlcmVuY2VkAE5vbi1leGlzdGluZyBpbWFnZSBjaGFubmVsIHJlZmVyZW5jZWQATm9uLWV4aXN0aW5nIGF1eCBpbWFnZSByZWZlcmVuY2VkAE5vbi1leGlzdGluZyBkZXB0aCBpbWFnZSByZWZlcmVuY2VkAE5vbmV4aXN0ZW50IGdyaWQgaW1hZ2UgcmVmZXJlbmNlZABOb24tZXhpc3RpbmcgYWxwaGEgaW1hZ2UgcmVmZXJlbmNlZABOb24tZXhpc3RpbmcgaXRlbSBJRCByZWZlcmVuY2VkAFdlZABzcHMtPnNwc19yZWFkAHBwcy0+cHBzX3JlYWQAc2xpY2Utc2VnbWVudC0lZDslZABjdGItcm93LSVkAHNhby0lZAAlWS0lbS0lZABkZWJsb2NrLSVkAColZABoZXZjAGhlaWZfY29udGV4dF9hbGxvYwBzdGQ6OmJhZF9hbGxvYwBpbG9jAGN0eElkeExvb2t1cFtsb2cydy0yXVtjSWR4XVtzY2FuSWR4XVtwcmV2Q3NiZl1beEMrKHlDPDxsb2cydyldID09IGN0eElkeEluYwBnZXRfdXZsYwB2dmljAGltYWdlL2hlaWMAaGVpZl9zdWJlcnJvcl9VbnN1cHBvcnRlZF9jb2RlYwBNaXNzaW5nIHJlcXVpcmVkIGJveCBmb3IgbWFzayBjb2RlYwBVbnN1cHBvcnRlZCBjb2RlYwBEZWMAZGVjY3R4LmNjAGZhbGxiYWNrLWRjdC5jYwB2cHMuY2MAc3BzLmNjAHBwcy5jYwBuYWwtcGFyc2VyLmNjAGZhbGxiYWNrLW1vdGlvbi5jYwB0cmFuc2Zvcm0uY2MAYml0c3RyZWFtLmNjAGNvbnRleHRtb2RlbC5jYwBkZWJsb2NrLmNjAGltYWdlLmNjAHNsaWNlLmNjAHJlZnBpYy5jYwBjYWJhYy5jYwBkcGIuY2MAZGUyNjUuY2MAd2IAcmIAY29tcHJlc3NfemxpYgBGZWIAYWIAaGVpZl9jaGFubmVsX0NiAHcrYgByK2IAYStiAHJ3YQBtZXRhAGRlY291cGxlX29yX2FsbG9jX3dpdGhfZW1wdHlfZGF0YQBoZWlmX3N1YmVycm9yX0ludmFsaWRfb3ZlcmxheV9kYXRhAGhlaWZfc3ViZXJyb3JfQ2Fubm90X3dyaXRlX291dHB1dF9kYXRhAGhlaWZfc3ViZXJyb3JfSW52YWxpZF9yZWdpb25fZGF0YQBoZWlmX3N1YmVycm9yX05vX2l0ZW1fZGF0YQBoZWlmX3N1YmVycm9yX0VuZF9vZl9kYXRhAGhlaWZfc3ViZXJyb3JfSW52YWxpZF9ncmlkX2RhdGEAaGVpZl9zdWJlcnJvcl9EZWNvbXByZXNzaW9uX2ludmFsaWRfZGF0YQBJbnZhbGlkIG92ZXJsYXkgZGF0YQBDYW5ub3Qgd3JpdGUgb3V0cHV0IGRhdGEAaW5zdWZmaWNpZW50IGlucHV0IGRhdGEASXRlbSBoYXMgbm8gZGF0YQBJbnZhbGlkIHJlZ2lvbiBpdGVtIGRhdGEATGVzcyB0aGFuIDggYnl0ZXMgb2YgZGF0YQBJbnZhbGlkIGdyaWQgZGF0YQAgaGFzIG5vIGNvbXByZXNzZWQgZGF0YQBpcG1hAGhlaWZfY2hyb21hAG1jX2Nocm9tYQB1cm46bXBlZzptcGVnQjpjaWNwOnN5c3RlbXM6YXV4aWxpYXJ5OmFscGhhAGhlaWZfY2hhbm5lbF9BbHBoYQBPdmVybGF5IGltYWdlIG91dHNpZGUgb2YgY2FudmFzIGFyZWEASW5zdWZmaWNpZW50IGRhdGEgcmVtYWluaW5nIGZvciBpbmxpbmUgbWFzayByZWdpb24gZGF0YVtdACAgcSA9IFsAbGF5ZXItc2l6ZXM6IFsAaGVpZl9jaGFubmVsX1kAJWEgJWIgJWQgJUg6JU06JVMgJVkAUE9TSVgAZmlyc3RMYXllclJlYWQgPCBNQVhfVEVNUE9SQUxfU1VCTEFZRVJTAFZQUwBTUFMAUFBTAFNVRkZJWF9BUFMAUFJFRklYX0FQUwBqPj0wICYmIGogPCBNQVhfTlVNX1JFRl9QSUNTACVIOiVNOiVTAGhlaWZfY2hhbm5lbF9SAGRlY29kZV9zbGljZV91bml0X1dQUABOQU4AUE0AU0VDQU0AJUg6JU0AdGhyZWFkX2NvbnRleHRzPT1OVUxMAHBlbmRpbmdfaW5wdXRfTkFMID09IE5VTEwATENfQUxMAFBBTABwdXNoX05BTABoZWlmX2NvbXByZXNzaW9uX0hUSjJLAE9QSQBBU0NJSQBEQ0kAUEgAaGVpZl9jaGFubmVsX0cATEFORwBoZWlmX2NvbXByZXNzaW9uX0pQRUcASU5GAG5UIDw9IE1BWF9JTlRSQV9QUkVEX0JMT0NLX1NJWkUAaGVpZl9jaHJvbWFfaW50ZXJsZWF2ZWRfUlJHR0JCX0xFAGhlaWZfY2hyb21hX2ludGVybGVhdmVkX1JSR0dCQkFBX0xFAGhlaWZfY2hyb21hX2ludGVybGVhdmVkX1JSR0dCQl9CRQBoZWlmX2Nocm9tYV9pbnRlcmxlYXZlZF9SUkdHQkJBQV9CRQBhdXhDAHNwcy0+U3ViSGVpZ2h0QyA9PSBTdWJIZWlnaHRDAHNwcy0+U3ViV2lkdGhDID09IFN1YldpZHRoQwBzZXRfSW50cmFQcmVkTW9kZUMAaGVpZl9jb21wcmVzc2lvbl9WVkMAaGVpZl9jb21wcmVzc2lvbl9FVkMAaGVpZl9jb21wcmVzc2lvbl9IRVZDAGhlaWZfY29tcHJlc3Npb25fQVZDAE5UU0MATUFDAGhlaWZfY2hhbm5lbF9CAHNoZHItPnNsaWNlX3R5cGUgPT0gU0xJQ0VfVFlQRV9CAGhlaWZfY29sb3JzcGFjZV9SR0IAaGVpZl9jaHJvbWFfaW50ZXJsZWF2ZWRfUkdCAGhlaWZfY2hyb21hX2ludGVybGVhdmVkX1JHQkEAPwBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDY0X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDY0X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgA7aW5kZXg9AE5vbmV4aXN0aW5nIHByb3BlcnR5IChpbmRleD0ASXRlbSAoSUQ9AFRpbGUgaW1hZ2UgSUQ9ADsAY29uZmlnIE9CVXM6AGdlbmVyYWwgbGV2ZWw6ADAxMjM0NTY3ODkAQy5VVEYtOAByZWY8NwBoZHItPm51bV9yZWZfaWR4X2wxX2FjdGl2ZSA8PSAxNgBoZHItPm51bV9yZWZfaWR4X2wwX2FjdGl2ZSA8PSAxNgBpbWctPkJpdERlcHRoX1kgPj0gOCAmJiBpbWctPkJpdERlcHRoX1kgPD0gMTYAaW1nLT5CaXREZXB0aF9DID49IDggJiYgaW1nLT5CaXREZXB0aF9DIDw9IDE2AGxpYmRlMjY1AGludHJhUHJlZE1vZGU8MzUAMS4wLjE1AEhpZ2ggNDo0OjQAQ0FMVkMgNDo0OjQAaGVpZl9jaHJvbWFfNDQ0AHNjYWxpbmdfbGlzdF9wcmVkX21hdHJpeF9pZF9kZWx0YT09MwBoZWlmX2pzX2RlY29kZV9pbWFnZTIAaW50cmFQcmVkTW9kZT49MgBudW1NVlBDYW5kTFg9PTIAdXJuOm1wZWc6aGV2YzoyMDE1OmF1eGlkOjIASGlnaCA0OjI6MgBtb2RlbFtpXS5zdGF0ZSA8PSA2MgBuVDw9MzIAaGVpZl9jaHJvbWFfNDIyADEuMTguMgBjb250ZXh0ID49IDAgJiYgY29udGV4dCA8PSAyAGNoYW5uZWw+PTAgJiYgY2hhbm5lbCA8PSAyAGluaXRUeXBlID49IDAgJiYgaW5pdFR5cGUgPD0gMgBqMmsxAG1zZjEAbWlmMQB2dmMxAGh2YzEAaGVpZl9jb21wcmVzc2lvbl9BVjEAcmVmUGljUTA9PXJlZlBpY1ExACpyZWZjbnQ+MQBsb2cyV0Q+PTEAdXJuOm1wZWc6aGV2YzoyMDE1OmF1eGlkOjEAdXJuOm1wZWc6YXZjOjIwMTU6YXV4aWQ6MQBhdjAxAGNiZl9jciAhPSAtMQBjYmZfY2IgIT0gLTEAY2JmX2x1bWEgIT0gLTEAbXNraSBlcnJvciAxAHZhbHVlPjAAUklkeD49MAByZWZQaWNMaXN0Pj0wAHRpbGVYPj0wICYmIHRpbGVZPj0wAHJkcGNtTW9kZT09MAAod2lkdGgmMSk9PTAANDoyOjAAaGVpZl9jaHJvbWFfNDIwAE1haW4xMABIaWdoIDEwAGhlaWZfY29tcHJlc3Npb25fSlBFRzIwMDAAbGVuZ3RoID49IDAAblRocmVhZHNSdW5uaW5nID49IDAAZmlyc3QgJSAyID09IDAAZW5kICUgMiA9PSAwAGltZy0+bnVtX3RocmVhZHNfYWN0aXZlKCkgPT0gMAAvAENhbm5vdCBhbGxvY2F0ZSBpbWFnZSBtZW1vcnkuAEludmFsaWQgYml0cyBwZXIgcGl4ZWwgaW4gcGl4aSBib3guAFRvbyBtYW55IGVudGl0aWVzIGluIGRyZWYgYm94LgBOdW1iZXIgb2YgaXJlZiByZWZlcmVuY2VzIGV4Y2VlZHMgc2VjdXJpdHkgbGltaXQuAE92ZXJsYXkgaW1hZ2Ugd2l0aCB6ZXJvIHdpZHRoIG9yIGhlaWdodC4AVG9vIG1hbnkgVlZDIE5BTCBhcnJheXMuAFRvbyBtYW55IFZWQyBOQUwgdW5pdHMuACBpdGVtcy4AaGVpZl9pbWFnZV9jcmVhdGU6IE5VTEwgcGFzc2VkIGFzIGltYWdlIHBvaW50ZXIuAEludmFsaWQgY29sb3JzcGFjZS9jaHJvbWEgY29tYmluYXRpb24uAFRvbyBtYW55IHJlZ2lvbnMgKD4yNTUpIGluIGFuICdyZ2FuJyBpdGVtLgBEaWZmZXJlbnQgbnVtYmVyIG9mIGJpdHMgcGVyIHBpeGVsIGluIGVhY2ggY2hhbm5lbC4ATm8gcGl4aSBpbmZvcm1hdGlvbiBmb3IgbHVtYSBjaGFubmVsLgBWVkMgTkFMIHRvbyBsYXJnZS4AVkNDIGJpdCBkZXB0aCBvdXQgb2YgcmFuZ2UuAEV4Y2VlZGVkIHN1cHBvcnRlZCB2YWx1ZSByYW5nZS4AIGlzIG5vdCBhIHByb3BlciBpbWFnZS4AVGh1bWJuYWlsIGltYWdlcyBtdXN0IGJlIHNtYWxsZXIgdGhhbiB0aGUgb3JpZ2luYWwgaW1hZ2UuAE5vIHN1cHBvcnRlZCBicmFuZHMgZm91bmQuAHZ2Y0Mgd2l0aCBudW1fYnl0ZXNfY29uc3RyYWludF9pbmZvPT0wIGlzIG5vdCBhbGxvd2VkLgAgZXhjZWVkZWQuAENvdWxkIG5vdCBmaW5kIGxvY2F0aW9uIG9mIFRJRkYgaGVhZGVyIGluIEV4aWYgbWV0YWRhdGEuAC0AKiwAdysAcisAYSsASW52YWxpZCBjb2xvcl9wcm9maWxlX3R5cGUgKG11c3QgYmUgNCBjaGFyYWN0ZXJzKQAoZnJvbSBwcHMpAGZ0eXAgYm94IHRvbyBzbWFsbCAobGVzcyB0aGFuIDggYnl0ZXMpAE1pc3NpbmcgcmVxdWlyZWQgaGVhZGVyIG1hcmtlcihzKQAodW5rbm93bikAKG51bGwpAGRwYi5oYXNfZnJlZV9kcGJfcGljdHVyZSh0cnVlKQAob3ZlcnJpZGUpAGN0eC0+aGFzX2ltYWdlKGNvbFBpYykAKGZyb20gUFBTKQBTUFMgbWF4IHBpY3R1cmUgd2lkdGggb3IgaGVpZ2h0IGV4Y2VlZHMgbWF4aW11bSAoNjU1MzUpACEodHJhZm9EZXB0aD09MCAmJiBsb2cyVHJhZm9TaXplPT0yKQAhcmVvcmRlcl9vdXRwdXRfcXVldWUuZW1wdHkoKQBSSWR4ID49IDAgJiYgUklkeCA8IHNldHMuc2l6ZSgpAE51bWJlciBvZiBleHRlbnRzIGluIGlsb2MgYm94ICgAKSBleGNlZWRzIHNlY3VyaXR5IGxpbWl0ICgAQm94IHNpemUgKAAgYnl0ZXMpIHNtYWxsZXIgdGhhbiBoZWFkZXIgc2l6ZSAoAHdoaXRlIHBvaW50ICh4LHkpOiAoAHJlZmVyZW5jZSB3aXRoIHR5cGUgJwAlAFB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsZWQhAHwgACB0aWxlcywgYnV0IG9ubHkgACB4IABpbG9jIGJveCBjb250YWlucyAATWF4aW11bSBudW1iZXIgb2YgY2hpbGQgYm94ZXMgAEV4dGVudCBpbiBpbG9jIGJveCByZWZlcmVuY2VzIGRhdGEgb3V0c2lkZSBvZiBmaWxlIGJvdW5kcyAAbGF5ZXIgAChwb2ludHMgdG8gZmlsZSBwb3NpdGlvbiAAb3JpZW50YXRpb24gAEdyaWQgaW1hZ2UgdmVyc2lvbiAAIGJveCBkYXRhIHZlcnNpb24gAE92ZXJsYXkgaW1hZ2UgZGF0YSB2ZXJzaW9uIAAsIHZlcnNpb24gACkgZm9yIGl0ZW0gAHVyaSAAVGlsZWQgaW1hZ2Ugd2l0aCAAIGl0ZW1zLCB3aGljaCBleGNlZWRzIHRoZSBzZWN1cml0eSBsaW1pdCBvZiAAIGJ5dGVzLCBleGNlZWRpbmcgdGhlIHNlY3VyaXR5IGxpbWl0IG9mIABpbnZhbGlkIGJveCBzaXplIABCb3ggc2l6ZSAAIGV4Y2VlZHMgdGhlIG1heGltdW0gaW1hZ2Ugc2l6ZSAASW1hZ2Ugc2l6ZSAATm8gYXV4QyBwcm9wZXJ0eSBmb3IgaW1hZ2UgACBieXRlcywgdG90YWwgbWVtb3J5IHNpemUgd291bGQgYmUgAEl0ZW0gY29uc3RydWN0aW9uIG1ldGhvZCAAaWRhdCBib3ggY29udGFpbmVkIABpbG9jIGJveCBjb250YWluZWQgAColZCAAKiVkJWMgAEl0ZW0gd2l0aCBJRCAAIDsgAHByb2ZpbGVfY29tcGF0aWJpbGl0eTogAGluaXRpYWxfcHJlc2VudGF0aW9uX2RlbGF5OiAAY2hyb21hX3N1YnNhbXBsaW5nX3k6IABCb3g6IABjb21wb25lbnRfaW5kZXg6IABpdGVtX3Byb3RlY3Rpb25faW5kZXg6IABjaGFubmVsX2luZGV4OiAAICBkYXRhX3JlZmVyZW5jZV9pbmRleDogAG9scy1pbmRleDogAG9wLWluZGV4OiAAcHJvcGVydHkgaW5kZXg6IABjaHJvbWFfc3Vic2FtcGxpbmdfeDogAHNrZXc6IABwcmluY2lwYWwtcG9pbnQ6IAB0d2VsdmVfYml0OiAAbWF4IHBpY3R1cmUgaGVpZ2h0OiAAaW1hZ2UgaGVpZ2h0OiAAICBiYXNlX29mZnNldDogAGNocm9tYV9mb3JtYXQ6IABjaHJvbWEtZm9ybWF0OiAAbnVtIG9mIGFycmF5czogACAgZXh0ZW50czogAG1hdHJpeF9jb2VmZmljaWVudHM6IABhcnJheV9jb21wbGV0ZW5lc3M6IABhcnJheSBjb21wbGV0ZW5lc3M6IABudW0gc3VibGF5ZXJzOiAAbnVtX3RlbXBvcmFsX2xheWVyczogACwgZGVjb2RlX2xheWVyczogACwgZGlzY2FyZF9sZXZlbHM6IAB0YWdzOiAAICAlc19wcm9maWxlX2NvbXBhdGliaWxpdHlfZmxhZ3M6IABnZW5lcmFsX3Byb2ZpbGVfY29tcGF0aWJpbGl0eV9mbGFnczogAGdlbmVyYWxfY29uc3RyYWludF9pbmRpY2F0b3JfZmxhZ3M6IABudW0gYnl0ZXM6IABudW1iZXIgb2YgZGF0YSBieXRlczogAGF1eCBzdWJ0eXBlczogAHwgdGlsZXM6IABjb2xvdXJfcHJpbWFyaWVzOiAAdGlsZSByb3cgYm91bmRhcmllczogAHRpbGUgY29sdW1uIGJvdW5kYXJpZXM6IABjb21wYXRpYmxlIGJyYW5kczogAHRyYW5zZmVyX2NoYXJhY3RlcmlzdGljczogAGVudGl0eSBJRHM6IAAgdG8gSURzOiAALCBwYWxldHRlX2NvbG91cjogAGRlc2NyaXB0aW9uOiAAY2hyb21hX3NhbXBsZV9wb3NpdGlvbjogAG1pcnJvciBkaXJlY3Rpb246IAByb3RhdGlvbjogACwgY2hhbm5lbF9hc3NvY2lhdGlvbjogAGxvY2F0aW9uOiAAQVZDTGV2ZWxJbmRpY2F0aW9uOiAAQVZDUHJvZmlsZUluZGljYXRpb246IABjb25maWd1cmF0aW9uX3ZlcnNpb246IABtaW5vciB2ZXJzaW9uOiAAaGlkZGVuIGl0ZW06IABiaXRzX3Blcl9waXhlbDogAG1heF9jb250ZW50X2xpZ2h0X2xldmVsOiAAbWF4X3BpY19hdmVyYWdlX2xpZ2h0X2xldmVsOiAAYml0c19wZXJfY2hhbm5lbDogACAoZXNzZW50aWFsOiAAaGlnaF9iaXRkZXB0aDogAGJpdC1kZXB0aDogAGZvY2FsLWxlbmd0aDogAGltYWdlIHdpZHRoOiAAICBwaXRjaDogAHwgYmlubmluZzogAGNvbnRlbnRfZW5jb2Rpbmc6IAB2U3BhY2luZzogAGhTcGFjaW5nOiAAbGFuZzogAGdlbmVyYWxfdGllcl9mbGFnOiAAZnVsbF9yYW5nZV9mbGFnOiAAcHRsIGZyYW1lIG9ubHkgY29uc3RyYWludCBmbGFnOiAAdGllciBmbGFnOiAAcHRsIG11bHRpIGxheWVyIGVuYWJsZWQgZmxhZzogAGxlbmd0aF9zaXplOiAAICAgKGhlYWRlciBzaXplOiAATkFMIGxlbmd0aCBzaXplOiAAdGlsZSBzaXplOiAAcHJvZmlsZSBzaXplOiAAdW5oYW5kbGVkIGV4dGVuZGVkIGNhcGFiaWxpdGllcyB2YWx1ZTogAGNvbnN0YW50X2ZyYW1lX3JhdGU6IABhdmdfZnJhbWVfcmF0ZTogAGNvbnN0YW50IGZyYW1lIHJhdGU6IABjbGVhbl9hcGVydHVyZTogAGNvbnRlbnRfdHlwZTogAE5BTF91bml0X3R5cGU6IABjb2xvdXJfdHlwZTogAGhhbmRsZXJfdHlwZTogAHBhcmFsbGVsaXNtX3R5cGU6IABpdGVtX3R5cGU6IAAsIGNoYW5uZWxfdHlwZTogACwgbWFwcGluZ190eXBlOiAAYXV4IHR5cGU6IABpdGVtIHVyaSB0eXBlOiAATkFMIHR5cGU6IABpdGVtX25hbWU6IABzZXFfcHJvZmlsZTogAGdlbmVyYWwgcHJvZmlsZTogAEVycm9yIG9wZW5pbmcgZmlsZTogAG1heCBkaXNwbGF5IG1hc3RlcmluZyBsdW1pbmFuY2U6IABtaW4gZGlzcGxheSBtYXN0ZXJpbmcgbHVtaW5hbmNlOiAAZ2VuZXJhbF9wcm9maWxlX3NwYWNlOiAAICBjb25zdHJ1Y3Rpb24gbWV0aG9kOiAAbWFqb3IgYnJhbmQ6IABsYXllcl9pZDogAGdyb3VwIGlkOiAAd29ybGQgY29vcmRpbmF0ZSBzeXN0ZW0gaWQ6IAB0ZW1wb3JhbF9pZF9uZXN0ZWQ6IABwcmVfZGVmaW5lZDogAG1pbl9zcGF0aWFsX3NlZ21lbnRhdGlvbl9pZGM6IABnZW5lcmFsX2xldmVsX2lkYzogAGdlbmVyYWxfcHJvZmlsZV9pZGM6IABkYXRhOiAAYml0X2RlcHRoX2x1bWE6IABiaXRfZGVwdGhfY2hyb21hOiAAcmVmX3BpY19zZXRbICUyZCBdOiAAU1BTOiAAUFBTOiAARVJSOiAASU5GTzogAE5FOiAAaXRlbV9JRDogACBmcm9tIElEOiAAYXNzb2NpYXRpb25zIGZvciBpdGVtIElEOiAAcmlnaHQgaW1hZ2UgSUQ6IABsZWZ0IGltYWdlIElEOiAALCBOUEM6IAAsIEI6IABzZXFfbGV2ZWxfaWR4XzA6IABkaXNwbGF5X3ByaW1hcmllcyAoeCx5KTogAGNhbWVyYSBwb3NpdGlvbiAodW0pOiAAKSwgACAgcm9sbDogIABtYXggcGljdHVyZSB3aWR0aDogIAAgIHlhdzogICAAICAgICAgAG5vIHNrZXcKAG5vdCBwcmVzZW50CgBTUFMgZXJyb3I6IENCIGFsaWdubWVudAoAJXAgaW5pdAoAKiVzCgBzbGljZV9kZWJsb2NraW5nX2ZpbHRlcl9kaXNhYmxlZF9mbGFnIDogJWQgJXMKAG51bV9yZWZfaWR4X2wxX2FjdGl2ZSAgICAgICAgICA6ICVkICVzCgBudW1fcmVmX2lkeF9sMF9hY3RpdmUgICAgICAgICAgOiAlZCAlcwoAICAlc19wcm9maWxlX2lkYyAgICAgICA6ICVzCgAgIHZpZGVvX2Zvcm1hdCAgICAgICAgICAgICAgICA6ICVzCgAlcCBkZXN0cnVjdG9yCgAlcCByZWxlYXNlICVwCgBtZnJlZSAlcAoAJXAgYyd0b3IgPSAlcAoAJXAgYXNzaWduID0gJXAKAGhvcml6b250YWwKAHZlcnRpY2FsCgBTUFMgZXJyb3I6IHRyYW5zZm9ybSBoaWVyYXJjaHkgZGVwdGggKGludGVyKSA+IENUQiBzaXplIC0gbWluIFRCIHNpemUKAFNQUyBlcnJvcjogdHJhbnNmb3JtIGhpZXJhcmNoeSBkZXB0aCAoaW50cmEpID4gQ1RCIHNpemUgLSBtaW4gVEIgc2l6ZQoAbm8gY29sb3IgcHJvZmlsZQoAbnVtYmVyIG9mIGRhdGEgYnl0ZXMgaXMgaW52YWxpZAoAaW52YWxpZCBTUFMgcmVmZXJlbmNlZAoAaW52YWxpZCBQUFMgcmVmZXJlbmNlZAoAUFBTICVkIGhhcyBub3QgYmVlbiByZWFkCgBzYW1wbGUgYXNwZWN0IHJhdGlvICAgICAgICA6ICVkOiVkCgBMYXllciAlZAoAdnBzX251bV9sYXllcl9zZXRzID0gJWQKAHZwc19udW1fdW5pdHNfaW5fdGljayA9ICVkCgBsYXllciAlZDogdnBzX21heF9kZWNfcGljX2J1ZmZlcmluZyA9ICVkCgBsYXllciAoYWxsKTogdnBzX21heF9kZWNfcGljX2J1ZmZlcmluZyA9ICVkCgB2cHNfdGltaW5nX2luZm9fcHJlc2VudF9mbGFnID0gJWQKAHZwc19leHRlbnNpb25fZmxhZyA9ICVkCgB2cHNfcG9jX3Byb3BvcnRpb25hbF90b190aW1pbmdfZmxhZyA9ICVkCgB2cHNfbnVtX3RpY2tzX3BvY19kaWZmX29uZSA9ICVkCgBocmRfbGF5ZXJfc2V0X2lkeFslZF0gPSAlZAoAbGF5ZXJfaWRfaW5jbHVkZWRfZmxhZ1slZF1bJWRdID0gJWQKACAgICAgICAgICAgICB2cHNfbWF4X251bV9yZW9yZGVyX3BpY3MgID0gJWQKACAgICAgICAgICAgICB2cHNfbWF4X2xhdGVuY3lfaW5jcmVhc2UgID0gJWQKAHZwc19tYXhfbGF5ZXJfaWQgICA9ICVkCgB2cHNfbnVtX2hyZF9wYXJhbWV0ZXJzICAgICA9ICVkCgB2cHNfdGltZV9zY2FsZSAgICAgICAgPSAlZAoAY29uZl93aW5fYm90dG9tX29mZnNldDogJWQKAGNocm9tYV9sb2NfaW5mb19wcmVzZW50X2ZsYWc6ICVkCgBsaXN0c19tb2RpZmljYXRpb25fcHJlc2VudF9mbGFnOiAlZAoAZGVibG9ja2luZ19maWx0ZXJfY29udHJvbF9wcmVzZW50X2ZsYWc6ICVkCgB2aWRlb19zaWduYWxfdHlwZV9wcmVzZW50X2ZsYWc6ICVkCgBwaWNfc2NhbGluZ19saXN0X2RhdGFfcHJlc2VudF9mbGFnOiAlZAoAcGljX2Rpc2FibGVfZGVibG9ja2luZ19maWx0ZXJfZmxhZzogJWQKAG5ldXRyYWxfY2hyb21hX2luZGljYXRpb25fZmxhZzogJWQKAHVuaWZvcm1fc3BhY2luZ19mbGFnOiAlZAoAdHJhbnNxdWFudF9ieXBhc3NfZW5hYmxlX2ZsYWc6ICVkCgBjb25zdHJhaW5lZF9pbnRyYV9wcmVkX2ZsYWc6ICVkCgBwcHNfbG9vcF9maWx0ZXJfYWNyb3NzX3NsaWNlc19lbmFibGVkX2ZsYWc6ICVkCgB0cmFuc2Zvcm1fc2tpcF9lbmFibGVkX2ZsYWc6ICVkCgBkZWJsb2NraW5nX2ZpbHRlcl9vdmVycmlkZV9lbmFibGVkX2ZsYWc6ICVkCgBlbnRyb3B5X2NvZGluZ19zeW5jX2VuYWJsZWRfZmxhZzogJWQKACAgY2hyb21hX3NhbXBsZV9sb2NfdHlwZV9ib3R0b21fZmllbGQ6ICVkCgAgICVkOiAlZAoAY29uZl93aW5fcmlnaHRfb2Zmc2V0IDogJWQKAG51bV9zaG9ydF90ZXJtX3JlZl9waWNfc2V0cyA6ICVkCgBudW1fbG9uZ190ZXJtX3JlZl9waWNzX3NwcyA6ICVkCgBwaWNfaGVpZ2h0X2luX2x1bWFfc2FtcGxlcyA6ICVkCgBtYXhfdHJhbnNmb3JtX2hpZXJhcmNoeV9kZXB0aF9pbnRlciA6ICVkCgAgICAgJXNfZnJhbWVfb25seV9jb25zdHJhaW50X2ZsYWcgOiAlZAoAICAgICVzX25vbl9wYWNrZWRfY29uc3RyYWludF9mbGFnIDogJWQKAHBwc19zbGljZV9jaHJvbWFfcXBfb2Zmc2V0c19wcmVzZW50X2ZsYWcgOiAlZAoAdnVpX2hyZF9wYXJhbWV0ZXJzX3ByZXNlbnRfZmxhZyA6ICVkCgBsb25nX3Rlcm1fcmVmX3BpY3NfcHJlc2VudF9mbGFnIDogJWQKAG92ZXJzY2FuX2luZm9fcHJlc2VudF9mbGFnIDogJWQKAHZwc19zdWJfbGF5ZXJfb3JkZXJpbmdfaW5mb19wcmVzZW50X2ZsYWcgOiAlZAoAc3BzX3N1Yl9sYXllcl9vcmRlcmluZ19pbmZvX3ByZXNlbnRfZmxhZyA6ICVkCgBmcmFtZV9maWVsZF9pbmZvX3ByZXNlbnRfZmxhZyA6ICVkCgAgIGNvbG91cl9kZXNjcmlwdGlvbl9wcmVzZW50X2ZsYWcgOiAlZAoAc2xpY2Vfc2VnbWVudF9oZWFkZXJfZXh0ZW5zaW9uX3ByZXNlbnRfZmxhZyA6ICVkCgBzcHNfc2NhbGluZ19saXN0X2RhdGFfcHJlc2VudF9mbGFnIDogJWQKACAgbW90aW9uX3ZlY3RvcnNfb3Zlcl9waWNfYm91bmRhcmllc19mbGFnIDogJWQKAHNwc19tdWx0aWxheWVyX2V4dGVuc2lvbl9mbGFnIDogJWQKAHBwc19tdWx0aWxheWVyX2V4dGVuc2lvbl9mbGFnIDogJWQKAHNwc190ZW1wb3JhbF9pZF9uZXN0aW5nX2ZsYWcgOiAlZAoAdnVpX3BvY19wcm9wb3J0aW9uYWxfdG9fdGltaW5nX2ZsYWcgOiAlZAoAc2VwYXJhdGVfY29sb3VyX3BsYW5lX2ZsYWcgOiAlZAoAc2NhbGluZ19saXN0X2VuYWJsZV9mbGFnIDogJWQKAHN0cm9uZ19pbnRyYV9zbW9vdGhpbmdfZW5hYmxlX2ZsYWcgOiAlZAoAZGVibG9ja2luZ19maWx0ZXJfb3ZlcnJpZGVfZmxhZyA6ICVkCgBudW1fcmVmX2lkeF9hY3RpdmVfb3ZlcnJpZGVfZmxhZyA6ICVkCgAgICAgJXNfcHJvZ3Jlc3NpdmVfc291cmNlX2ZsYWcgOiAlZAoAICAgICVzX2ludGVybGFjZWRfc291cmNlX2ZsYWcgOiAlZAoAc2FtcGxlX2FkYXB0aXZlX29mZnNldF9lbmFibGVkX2ZsYWcgOiAlZAoAZGVwZW5kZW50X3NsaWNlX3NlZ21lbnRzX2VuYWJsZWRfZmxhZyA6ICVkCgBsb29wX2ZpbHRlcl9hY3Jvc3NfdGlsZXNfZW5hYmxlZF9mbGFnIDogJWQKAHNsaWNlX2xvb3BfZmlsdGVyX2Fjcm9zc19zbGljZXNfZW5hYmxlZF9mbGFnIDogJWQKAHNsaWNlX3RlbXBvcmFsX212cF9lbmFibGVkX2ZsYWcgOiAlZAoAY3Jvc3NfY29tcG9uZW50X3ByZWRpY3Rpb25fZW5hYmxlZF9mbGFnIDogJWQKAHBlcnNpc3RlbnRfcmljZV9hZGFwdGF0aW9uX2VuYWJsZWRfZmxhZyA6ICVkCgBsb2cyX2RpZmZfbWF4X21pbl90cmFuc2Zvcm1fYmxvY2tfc2l6ZSA6ICVkCgBsb2cyX2RpZmZfbWF4X21pbl9sdW1hX2NvZGluZ19ibG9ja19zaXplIDogJWQKAGxvZzJfbWluX2x1bWFfY29kaW5nX2Jsb2NrX3NpemUgOiAlZAoAbG9nMl9kaWZmX21heF9taW5fcGNtX2x1bWFfY29kaW5nX2Jsb2NrX3NpemUgOiAlZAoAbG9nMl9taW5fcGNtX2x1bWFfY29kaW5nX2Jsb2NrX3NpemUgOiAlZAoAbnVtX3JlZl9pZHhfbDFfZGVmYXVsdF9hY3RpdmUgOiAlZAoAbnVtX3JlZl9pZHhfbDBfZGVmYXVsdF9hY3RpdmUgOiAlZAoAbG9nMl9tYXhfcGljX29yZGVyX2NudF9sc2IgOiAlZAoAbWF4X3RyYW5zZm9ybV9oaWVyYXJjaHlfZGVwdGhfaW50cmEgOiAlZAoAYml0X2RlcHRoX2Nocm9tYSA6ICVkCgBlbnRyeSBwb2ludCBbJWldIDogJWQKACAgc3BzX21heF9sYXRlbmN5X2luY3JlYXNlX3BsdXMxIDogJWQKAHJlZl9waWNfbGlzdF9tb2RpZmljYXRpb25fZmxhZ19sMSA6ICVkCgByZWZfcGljX2xpc3RfbW9kaWZpY2F0aW9uX2ZsYWdfbDAgOiAlZAoATG9nMk1pbkN1Q2hyb21hUXBPZmZzZXRTaXplIChSRXh0KSA6ICVkCgBMb2cyTWF4VHJhbnNmb3JtU2tpcFNpemUgICAgKFJFeHQpIDogJWQKAGNvbmZfd2luX2xlZnRfb2Zmc2V0ICA6ICVkCgAgIGRlZl9kaXNwX3dpbl9ib3R0b21fb2Zmc2V0ICA6ICVkCgBzbGljZV9iZXRhX29mZnNldCAgOiAlZAoAcGljX3dpZHRoX2luX2x1bWFfc2FtcGxlcyAgOiAlZAoAdnVpX3RpbWluZ19pbmZvX3ByZXNlbnRfZmxhZyAgOiAlZAoAb3ZlcnNjYW5fYXBwcm9wcmlhdGVfZmxhZyAgOiAlZAoAcGNtX2xvb3BfZmlsdGVyX2Rpc2FibGVfZmxhZyAgOiAlZAoAZml2ZV9taW51c19tYXhfbnVtX21lcmdlX2NhbmQgIDogJWQKAHZpZGVvX3BhcmFtZXRlcl9zZXRfaWQgIDogJWQKACAgZGVmX2Rpc3Bfd2luX3JpZ2h0X29mZnNldCAgIDogJWQKAGNvbmZfd2luX3RvcF9vZmZzZXQgICA6ICVkCgBkZWZhdWx0X2Rpc3BsYXlfd2luZG93X2ZsYWcgICA6ICVkCgBjdV9xcF9kZWx0YV9lbmFibGVkX2ZsYWcgICA6ICVkCgBsb2cyX21pbl90cmFuc2Zvcm1fYmxvY2tfc2l6ZSAgIDogJWQKACAgY2hyb21hX3NhbXBsZV9sb2NfdHlwZV90b3BfZmllbGQgICA6ICVkCgBiaXRfZGVwdGhfbHVtYSAgIDogJWQKAHBjbV9zYW1wbGVfYml0X2RlcHRoX2Nocm9tYSAgIDogJWQKAE1heENiU2l6ZVkgICA6ICVkCgBNaW5DYlNpemVZICAgOiAlZAoATWF4VEJTaXplWSAgIDogJWQKAE1pblRCU2l6ZVkgICA6ICVkCgAgIGRlZl9kaXNwX3dpbl9sZWZ0X29mZnNldCAgICA6ICVkCgBzbGljZV90Y19vZmZzZXQgICAgOiAlZAoAbnVtX2V4dHJhX3NsaWNlX2hlYWRlcl9iaXRzICAgIDogJWQKAG51bV9lbnRyeV9wb2ludF9vZmZzZXRzICAgIDogJWQKAG51bV90aWxlX2NvbHVtbnMgICAgOiAlZAoAICB0cmFuc2Zlcl9jaGFyYWN0ZXJpc3RpY3MgICAgOiAlZAoAICBsb2cyX21heF9tdl9sZW5ndGhfaG9yaXpvbnRhbCAgICA6ICVkCgBjb25mb3JtYW5jZV93aW5kb3dfZmxhZyAgICA6ICVkCgBjYWJhY19pbml0X3ByZXNlbnRfZmxhZyAgICA6ICVkCgBzcHNfZXh0ZW5zaW9uX3ByZXNlbnRfZmxhZyAgICA6ICVkCgAgIHJlc3RyaWN0ZWRfcmVmX3BpY19saXN0c19mbGFnICAgIDogJWQKAHRyYW5zZm9ybV9za2lwX3JvdGF0aW9uX2VuYWJsZWRfZmxhZyAgICA6ICVkCgBzZXFfcGFyYW1ldGVyX3NldF9pZCAgICA6ICVkCgBzbGljZV9jcl9xcF9vZmZzZXQgICAgIDogJWQKAHNsaWNlX2NiX3FwX29mZnNldCAgICAgOiAlZAoAICBkZWZfZGlzcF93aW5fdG9wX29mZnNldCAgICAgOiAlZAoAZGlmZl9jdV9xcF9kZWx0YV9kZXB0aCAgICAgOiAlZAoAb3V0cHV0X2ZsYWdfcHJlc2VudF9mbGFnICAgICA6ICVkCgB0cmFuc2Zvcm1fc2tpcF9jb250ZXh0X2VuYWJsZWRfZmxhZyAgICAgOiAlZAoAY2FiYWNfYnlwYXNzX2FsaWdubWVudF9lbmFibGVkX2ZsYWcgICAgIDogJWQKAGhpZ2hfcHJlY2lzaW9uX29mZnNldHNfZW5hYmxlZF9mbGFnICAgICA6ICVkCgAgICVzX3Byb2ZpbGVfc3BhY2UgICAgIDogJWQKACAgbWluX3NwYXRpYWxfc2VnbWVudGF0aW9uX2lkYyAgICAgOiAlZAoAcGNtX3NhbXBsZV9iaXRfZGVwdGhfbHVtYSAgICAgOiAlZAoAQ3RiU2l6ZVkgICAgIDogJWQKAHNwc19tYXhfc3ViX2xheWVycyAgICAgIDogJWQKAGxvZzJfcGFyYWxsZWxfbWVyZ2VfbGV2ZWwgICAgICA6ICVkCgAgIGxvZzJfbWF4X212X2xlbmd0aF92ZXJ0aWNhbCAgICAgIDogJWQKACAgc3BzX21heF9kZWNfcGljX2J1ZmZlcmluZyAgICAgIDogJWQKAHNob3J0X3Rlcm1fcmVmX3BpY19zZXRfc3BzX2ZsYWcgICAgICA6ICVkCgBzcHNfcmFuZ2VfZXh0ZW5zaW9uX2ZsYWcgICAgICA6ICVkCgBwcHNfcmFuZ2VfZXh0ZW5zaW9uX2ZsYWcgICAgICA6ICVkCgBleHRlbmRlZF9wcmVjaXNpb25fcHJvY2Vzc2luZ19mbGFnICAgICAgOiAlZAoAc2lnbl9kYXRhX2hpZGluZ19mbGFnICAgICAgOiAlZAoAY2hyb21hX3FwX29mZnNldF9saXN0X2VuYWJsZWRfZmxhZyAgICAgIDogJWQKAHNwc190ZW1wb3JhbF9tdnBfZW5hYmxlZF9mbGFnICAgICAgOiAlZAoAZmlyc3Rfc2xpY2Vfc2VnbWVudF9pbl9waWNfZmxhZyAgICAgIDogJWQKAGxvZzJfbWF4X3RyYW5zZm9ybV9za2lwX2Jsb2NrX3NpemUgICAgICA6ICVkCgBudW1fdGlsZV9yb3dzICAgICAgIDogJWQKACAgc3BzX21heF9udW1fcmVvcmRlcl9waWNzICAgICAgIDogJWQKACAgdnVpX251bV91bml0c19pbl90aWNrICAgICAgIDogJWQKACAgdGlsZXNfZml4ZWRfc3RydWN0dXJlX2ZsYWcgICAgICAgOiAlZAoAICB2aWRlb19mdWxsX3JhbmdlX2ZsYWcgICAgICAgOiAlZAoAc2VxX3BhcmFtZXRlcl9zZXRfaWQgICAgICAgOiAlZAoAcGljX3BhcmFtZXRlcl9zZXRfaWQgICAgICAgOiAlZAoAICBtYXhfYml0c19wZXJfbWluX2N1X2Rlbm9tICAgICAgICA6ICVkCgB2dWlfcGFyYW1ldGVyc19wcmVzZW50X2ZsYWcgICAgICAgIDogJWQKAGNvbGxvY2F0ZWRfZnJvbV9sMF9mbGFnICAgICAgICA6ICVkCgBDaHJvbWFXZWlnaHRfTCVkWyVkXVslZF0gICAgICAgIDogJWQKAENocm9tYU9mZnNldF9MJWRbJWRdWyVkXSAgICAgICAgOiAlZAoAUGljSGVpZ2h0SW5DdGJzWSAgICAgICAgOiAlZAoAbHVtYV9sb2cyX3dlaWdodF9kZW5vbSAgICAgICAgIDogJWQKAGRlcGVuZGVudF9zbGljZV9zZWdtZW50X2ZsYWcgICAgICAgICA6ICVkCgBub19vdXRwdXRfb2ZfcHJpb3JfcGljc19mbGFnICAgICAgICAgOiAlZAoAICAlc190aWVyX2ZsYWcgICAgICAgICA6ICVkCgBiaXRzdHJlYW1fcmVzdHJpY3Rpb25fZmxhZyAgICAgICAgIDogJWQKAHdlaWdodGVkX2JpcHJlZF9mbGFnICAgICAgICAgOiAlZAoAc2xpY2VfcXBfZGVsdGEgICAgICAgICA6ICVkCgBQaWNXaWR0aEluQ3Ric1kgICAgICAgICA6ICVkCgAgIG1heF9ieXRlc19wZXJfcGljX2Rlbm9tICAgICAgICAgIDogJWQKAENocm9tYUxvZzJXZWlnaHREZW5vbSAgICAgICAgICA6ICVkCgBkaWZmX2N1X2Nocm9tYV9xcF9vZmZzZXRfZGVwdGggICAgICAgICAgOiAlZAoAdnBzX3RlbXBvcmFsX2lkX25lc3RpbmdfZmxhZyAgICAgICAgICA6ICVkCgBMb2cyTWluQ3VRcERlbHRhU2l6ZSAgICAgICAgICA6ICVkCgB2dWlfbnVtX3RpY2tzX3BvY19kaWZmX29uZSAgICAgICAgICA6ICVkCgBzaG9ydF90ZXJtX3JlZl9waWNfc2V0X2lkeCAgICAgICAgICAgOiAlZAoAc3BzX2V4dGVuc2lvbl82Yml0cyAgICAgICAgICAgOiAlZAoAcHBzX2V4dGVuc2lvbl82Yml0cyAgICAgICAgICAgOiAlZAoAd2VpZ2h0ZWRfcHJlZF9mbGFnICAgICAgICAgICA6ICVkCgBpbnRyYV9zbW9vdGhpbmdfZGlzYWJsZWRfZmxhZyAgICAgICAgICAgOiAlZAoAdGlsZXNfZW5hYmxlZF9mbGFnICAgICAgICAgICA6ICVkCgBzbGljZV9zYW9fY2hyb21hX2ZsYWcgICAgICAgICAgIDogJWQKAHNsaWNlX3BpY19wYXJhbWV0ZXJfc2V0X2lkICAgICAgICAgICA6ICVkCgAgIGNvbG91cl9wcmltYXJpZXMgICAgICAgICAgICA6ICVkCgBwcHNfZXh0ZW5zaW9uX2ZsYWcgICAgICAgICAgICA6ICVkCgBsb2cyX3Nhb19vZmZzZXRfc2NhbGVfY2hyb21hICAgICAgICAgICAgOiAlZAoAbHVtYV9vZmZzZXRfbCVkWyVkXSAgICAgICAgICAgIDogJWQKAGNvbGxvY2F0ZWRfcmVmX2lkeCAgICAgICAgICAgICA6ICVkCgBwaWNfY3JfcXBfb2Zmc2V0ICAgICAgICAgICAgIDogJWQKAHBpY19jYl9xcF9vZmZzZXQgICAgICAgICAgICAgOiAlZAoAZXhwbGljaXRfcmRwY21fZW5hYmxlZF9mbGFnICAgICAgICAgICAgIDogJWQKAGltcGxpY2l0X3JkcGNtX2VuYWJsZWRfZmxhZyAgICAgICAgICAgICA6ICVkCgBzbGljZV9zYW9fbHVtYV9mbGFnICAgICAgICAgICAgIDogJWQKAEx1bWFXZWlnaHRfTCVkWyVkXSAgICAgICAgICAgICA6ICVkCgAgIHZ1aV90aW1lX3NjYWxlICAgICAgICAgICAgICA6ICVkCgBzbGljZV9waWNfb3JkZXJfY250X2xzYiAgICAgICAgICAgICAgOiAlZAoAbG9nMl9zYW9fb2Zmc2V0X3NjYWxlX2x1bWEgICAgICAgICAgICAgIDogJWQKAFN1YkhlaWdodEMgICAgICAgICAgICAgIDogJWQKACAgbWF0cml4X2NvZWZmcyAgICAgICAgICAgICAgIDogJWQKAGNocm9tYV9xcF9vZmZzZXRfbGlzdF9sZW4gICAgICAgICAgICAgICA6ICVkCgBtdmRfbDFfemVyb19mbGFnICAgICAgICAgICAgICAgOiAlZAoAU3ViV2lkdGhDICAgICAgICAgICAgICAgOiAlZAoAc2xpY2Vfc2VnbWVudF9hZGRyZXNzICAgICAgICAgICAgICAgIDogJWQKAHBpY19pbml0X3FwICAgICAgICAgICAgICAgIDogJWQKAGNhYmFjX2luaXRfZmxhZyAgICAgICAgICAgICAgICA6ICVkCgBmaWVsZF9zZXFfZmxhZyAgICAgICAgICAgICAgICA6ICVkCgB2aWRlb19wYXJhbWV0ZXJfc2V0X2lkICAgICAgICAgICAgICAgIDogJWQKAG9mZnNldF9sZW4gICAgICAgICAgICAgICAgIDogJWQKAHZwc19tYXhfc3ViX2xheWVycyAgICAgICAgICAgICAgICAgICAgOiAlZAoAYW1wX2VuYWJsZWRfZmxhZyAgICAgICAgICAgICAgICAgICAgOiAlZAoAcGNtX2VuYWJsZWRfZmxhZyAgICAgICAgICAgICAgICAgICAgOiAlZAoAY3JfcXBfb2Zmc2V0X2xpc3RbJWRdICAgICAgICAgICAgICAgICAgICA6ICVkCgBjYl9xcF9vZmZzZXRfbGlzdFslZF0gICAgICAgICAgICAgICAgICAgIDogJWQKAHBpY19vdXRwdXRfZmxhZyAgICAgICAgICAgICAgICAgICAgICA6ICVkCgBjb2xvdXJfcGxhbmVfaWQgICAgICAgICAgICAgICAgICAgICAgOiAlZAoAbnVtX2xvbmdfdGVybV9waWNzICAgICAgICAgICAgICAgICAgICAgICA6ICVkCgB2cHNfbWF4X2xheWVycyAgICAgICAgICAgICAgICAgICAgICAgIDogJWQKAG51bV9sb25nX3Rlcm1fc3BzICAgICAgICAgICAgICAgICAgICAgICAgOiAlZAoAYmV0YV9vZmZzZXQ6ICAlZAoAdGNfb2Zmc2V0OiAgICAlZAoAc2xpY2VfdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJWMKACAgUHJvZmlsZS9UaWVyL0xldmVsIFtMYXllciAlZF0KAFNQUyBlcnJvcjogYml0ZGVwdGggWSBub3QgaW4gWzg7MTZdCgBTUFMgZXJyb3I6IGJpdGRlcHRoIEMgbm90IGluIFs4OzE2XQoAU1BTIGVycm9yOiBUQl9tYXggPiAzMiBvciBDVEIKAFNQUyBlcnJvcjogVEIgPiBDQgoAPGFycmF5PgoAY29uZmlnIE5BTHM6CgBGaWxlIGRvZXMgbm90IGluY2x1ZGUgYW55IHN1cHBvcnRlZCBicmFuZHMuCgBsaWJoZWlmIHdhcm5pbmc6IGhlaWZfaW1hZ2VfY3JlYXRlKCkgdXNlZCB3aXRoIGFuIGlsbGVnYWwgY29sb3JzcGFjZS9jaHJvbWEgY29tYmluYXRpb24uIFRoaXMgd2lsbCByZXR1cm4gYW4gZXJyb3IgaW4gYSBmdXR1cmUgdmVyc2lvbi4KAC0tLS0tLS0tLS0tLS0tLS0tIFNQUy1yYW5nZS1leHRlbnNpb24gLS0tLS0tLS0tLS0tLS0tLS0KAC0tLS0tLS0tLS0tLS0tLS0tIFZQUyAtLS0tLS0tLS0tLS0tLS0tLQoALS0tLS0tLS0tLS0tLS0tLS0gU1BTIC0tLS0tLS0tLS0tLS0tLS0tCgAtLS0tLS0tLS0tLS0tLS0tLSBQUFMgLS0tLS0tLS0tLS0tLS0tLS0KAC0tLS0tLS0tLS0tLS0tLS0tIFZVSSAtLS0tLS0tLS0tLS0tLS0tLQoALS0tLS0tLS0tLS0tLS0tLS0gU0xJQ0UgLS0tLS0tLS0tLS0tLS0tLS0KAC0tLS0tLS0tLS0gUFBTIHJhbmdlLWV4dGVuc2lvbiAtLS0tLS0tLS0tCgAgLS0tLS0KAGNvbG91cl90eXBlOiAtLS0KACoKAChhbmdsZXMpCgBjaHJvbWFfZm9ybWF0X2lkYyAgICAgICA6ICVkICglcykKACAoc21hbGxlciB0aGFuIGhlYWRlcikKACVwIGRlY291cGxlICglcCkKAChxdWF0ZXJpb24pCgAgICVzX2xldmVsX2lkYyAgICAgICAgIDogJWQgKCU0LjJmKQoAbHRfcmVmX3BpY19wb2NfbHNiX3Nwc1slZF0gOiAlZCAgICh1c2VkX2J5X2N1cnJfcGljX2x0X3Nwc19mbGFnPSVkKQoAJXAgKGFsbG9jKQoAIGRlZ3JlZXMgKENDVykKAAkAM0JveAA5Qm94SGVhZGVyADhCb3hfaXNwZQA3RnVsbEJveAA5Qm94X290aGVyADhCb3hfZnR5cAA4Qm94X21ldGEAOEJveF9oZGxyADhCb3hfcGl0bQA4Qm94X2lsb2MAOEJveF9pbmZlADhCb3hfaWluZgA4Qm94X2lwcnAAOEJveF9pcGNvADhCb3hfaXBtYQA4Qm94X2F1eEMAOEJveF9pcm90ADhCb3hfaW1pcgA4Qm94X2NsYXAAOEJveF9pcmVmADhCb3hfcGl4aQA4Qm94X3Bhc3AAOEJveF9sc2VsADhCb3hfY2xsaQA4Qm94X2NtaW4AOEJveF9jbWV4ADhCb3hfdWRlcwA4Qm94X21kY3YAOEJveF9pZGF0ADhCb3hfZ3JwbAAxN0JveF9FbnRpdHlUb0dyb3VwADhCb3hfc3RlcgA4Qm94X3B5bWQAOEJveF9kaW5mADhCb3hfZHJlZgA3Qm94X3VybABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2Z0eXBOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9tZXRhTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfaGRsck5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X3BpdG1OU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9pbG9jTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfaWluZk5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2luZmVOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9pcHJwTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfaXBjb05TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2lwbWFOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9pc3BlTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfYXV4Q05TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2lyb3ROU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9pbWlyTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfY2xhcE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2lyZWZOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9odmNDTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfYXYxQ05TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X3Z2Y0NOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9pZGF0TlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfZ3JwbE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X3B5bWROU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMTdCb3hfRW50aXR5VG9Hcm91cE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X3N0ZXJOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9kaW5mTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfZHJlZk5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk3Qm94X3VybE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2NvbHJOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9waXhpTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfcGFzcE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2xzZWxOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9hMW9wTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfYTFseE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2NsbGlOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9tZGN2TlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfY21pbk5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2NtZXhOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF91ZGVzTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfanBnQ05TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2oya0hOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9jZGVmTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfY21hcE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X3BjbHJOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9qMmtMTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfbXNrQ05TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2F2Y0NOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJM0JveE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk5Qm94X290aGVyTlNfOWFsbG9jYXRvcklTMV9FRUVFAFN1Y2Nlc3MAU3VjY2VzcwAxM2NvbG9yX3Byb2ZpbGUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEhlaWZGaWxlTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTEwUmVnaW9uSXRlbU5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMTFIZWlmQ29udGV4dDVJbWFnZUVOU185YWxsb2NhdG9ySVMyX0VFRUUAMTBTRUlNZXNzYWdlADM2U0VJTWVzc2FnZV9kZXB0aF9yZXByZXNlbnRhdGlvbl9pbmZvADMwaGVpZl9kZXB0aF9yZXByZXNlbnRhdGlvbl9pbmZvAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTEzSW1hZ2VNZXRhZGF0YU5TXzlhbGxvY2F0b3JJUzFfRUVFRQAxNFJlZ2lvbkdlb21ldHJ5AE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE0SGVpZlBpeGVsSW1hZ2VOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMThjb2xvcl9wcm9maWxlX25jbHhOU185YWxsb2NhdG9ySVMxX0VFRUUAAAAAAAAD"),t0(K,35200,"AQEBAQABAQEAAQEBAAEBAU5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTIwU3RyZWFtUmVhZGVyX2lzdHJlYW1OU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMTlTdHJlYW1SZWFkZXJfbWVtb3J5TlNfOWFsbG9jYXRvcklTMV9FRUVFAAADAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAAwAAAAQAAAAGAAAACAAAAAYAAAAIAAAAMTdjb2xvcl9wcm9maWxlX3JhdwAxOGNvbG9yX3Byb2ZpbGVfbmNseAA4Qm94X2NvbHIATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMTdjb2xvcl9wcm9maWxlX3Jhd05TXzlhbGxvY2F0b3JJUzFfRUVFRQAAAJqZmT4AAAAAAAAAAD0KVz7hepQ+UriePlK4nj7+1Hg+exQuPgAAAAAUroc+FK6HPg=="),t0(K,35624,"PQqXPpqZGT8AAAAAAAAAAI/CNT+amRk/7FEYP+xRGD/pJjE/MQhMPwAAgD/XozA/16MwPw=="),t0(K,35712,"SOEaP5qZGT4AAAAAAAAAAClcDz6amRk+UrgePlK4Hj7hehQ+3SQGPgAAAACamRk+mpkZPg=="),t0(K,35800,"UrgePo/CdT0AAAAAAAAAAArXoz2PwnU9KVyPPSlcjz05tEg9f2o8PQAAAACPwnU9j8J1PQ=="),t0(K,35888,"LbKdPQrXIz8AAAAAAAAAAB+FKz8K1yM/rkchP65HIT8EVi4/fT81PwAAgD97FC4/exQuPw=="),t0(K,35976,"rkchP8P1qD4AAAAAAAAAAMP1qD7D9ag+exSuPnsUrj74U6M+BoGVPgAAAAAK16M+CtejPg=="),t0(K,36064,"exSuPjcaoD4AAAAAAAAAAFK4nj43GqA+NxqgPjcaoD5SuJ4+NxqgPp+qqj6cxKA+NxqgPg=="),t0(K,36152,"NxqgPrByqD4AAAAAAAAAAMHKoT6wcqg+sHKoPrByqD7ByqE+sHKoPjuqqj5GtrM+sHKoPg=="),t0(K,36240,"sHKoPgEAAAACAAAAAgAAAAEAAAABAAAAAgAAAAEAAAABAAAAMjBSZWdpb25HZW9tZXRyeV9Qb2ludAAyNFJlZ2lvbkdlb21ldHJ5X1JlY3RhbmdsZQAyMlJlZ2lvbkdlb21ldHJ5X0VsbGlwc2UAMjJSZWdpb25HZW9tZXRyeV9Qb2x5Z29uADI5UmVnaW9uR2VvbWV0cnlfUmVmZXJlbmNlZE1hc2sAMjVSZWdpb25HZW9tZXRyeV9JbmxpbmVNYXNrAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTIwUmVnaW9uR2VvbWV0cnlfUG9pbnROU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMjRSZWdpb25HZW9tZXRyeV9SZWN0YW5nbGVOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMjJSZWdpb25HZW9tZXRyeV9FbGxpcHNlTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTIyUmVnaW9uR2VvbWV0cnlfUG9seWdvbk5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkyOVJlZ2lvbkdlb21ldHJ5X1JlZmVyZW5jZWRNYXNrTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTI1UmVnaW9uR2VvbWV0cnlfSW5saW5lTWFza05TXzlhbGxvY2F0b3JJUzFfRUVFRQAAAGZpdmFjaWVoeGllaGlrMmpnZXBqZmFpbTFmaW0yZmltAQAAAAIAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAAWAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAAEAAAAEAAAAAwAAAAcAAAAKAAAABQAAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAHBwAGlwAFAxMmhlaWZfY29udGV4dAAxMmhlaWZfY29udGV4dAB2cHAAMTBoZWlmX2Vycm9yAHBwcHAAMjBoZWlmX2ZpbGV0eXBlX3Jlc3VsdABpcHAATjEwZW1zY3JpcHRlbjN2YWxFAHBwcABwcHBpAFAxN2hlaWZfaW1hZ2VfaGFuZGxlADE3aGVpZl9pbWFnZV9oYW5kbGUAMTVoZWlmX2NvbG9yc3BhY2UAMTFoZWlmX2Nocm9tYQBwcHBpaQAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAACgAAAFAxMGhlaWZfaW1hZ2UAMTBoZWlmX2ltYWdlADEyaGVpZl9jaGFubmVsAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQBQSzE3aGVpZl9pbWFnZV9oYW5kbGUAUEsxMGhlaWZfaW1hZ2UAMTVoZWlmX2Vycm9yX2NvZGUAMThoZWlmX3N1YmVycm9yX2NvZGUAMjNoZWlmX2NvbXByZXNzaW9uX2Zvcm1hdAAzNGhlaWZfY2hyb21hX2Rvd25zYW1wbGluZ19hbGdvcml0aG0AMzJoZWlmX2Nocm9tYV91cHNhbXBsaW5nX2FsZ29yaXRobQBQSzEyaGVpZl9jb250ZXh0AHYAdnAAcAB2cHBpAHZwcHAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMTFIZWlmQ29udGV4dE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkxN1N0cmVhbVJlYWRlcl9DQXBpTlNfOWFsbG9jYXRvcklTMV9FRUVFAFN1Y2Nlc3MAOEJveF9odmNDAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTM2U0VJTWVzc2FnZV9kZXB0aF9yZXByZXNlbnRhdGlvbl9pbmZvTlNfOWFsbG9jYXRvcklTMV9FRUVFADhCb3hfYXYxQwA4Qm94X2Exb3AAOEJveF9hMWx4ADhCb3hfanBnQwA4Qm94X2NkZWYAOEJveF9jbWFwADhCb3hfcGNscgA4Qm94X2oya0wAOEJveF9qMmtIADhCb3hfdnZjQwA4Qm94X2F2Y0MAOEJveF9tc2tDAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE4T3BfUkdCX3RvX1JHQjI0XzMyTlNfOWFsbG9jYXRvcklTMV9FRUVFADI0Q29sb3JDb252ZXJzaW9uT3BlcmF0aW9uAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE4T3BfUkdCMjRfMzJfdG9fUkdCTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE1T3BfWUNiQ3JfdG9fUkdCSXRFTlNfOWFsbG9jYXRvcklTMl9FRUVFADE1T3BfWUNiQ3JfdG9fUkdCSXRFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE1T3BfWUNiQ3JfdG9fUkdCSWhFTlNfOWFsbG9jYXRvcklTMl9FRUVFADE1T3BfWUNiQ3JfdG9fUkdCSWhFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTIwT3BfWUNiQ3I0MjBfdG9fUkdCMjROU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMjBPcF9ZQ2JDcjQyMF90b19SR0IzMk5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkyM09wX1lDYkNyNDIwX3RvX1JSR0dCQmFhTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTI1T3BfUkdCX0hEUl90b19SUkdHQkJhYV9CRU5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkyMU9wX1JHQl90b19SUkdHQkJhYV9CRU5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkxOU9wX21vbm9fdG9fWUNiQ3I0MjBOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMTlPcF9tb25vX3RvX1JHQjI0XzMyTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTI3T3BfUlJHR0JCYWFfc3dhcF9lbmRpYW5uZXNzTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTI1T3BfUlJHR0JCYWFfQkVfdG9fUkdCX0hEUk5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkyME9wX1JHQjI0XzMyX3RvX1lDYkNyTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE1T3BfUkdCX3RvX1lDYkNySWhFTlNfOWFsbG9jYXRvcklTMl9FRUVFADE1T3BfUkdCX3RvX1lDYkNySWhFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE1T3BfUkdCX3RvX1lDYkNySXRFTlNfOWFsbG9jYXRvcklTMl9FRUVFADE1T3BfUkdCX3RvX1lDYkNySXRFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTI3T3BfUlJHR0JCeHhfSERSX3RvX1lDYkNyNDIwTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTI3T3BfUkdCMjRfMzJfdG9fWUNiQ3I0NDRfR0JSTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE5T3BfZHJvcF9hbHBoYV9wbGFuZU5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkxNk9wX3RvX2hkcl9wbGFuZXNOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMTZPcF90b19zZHJfcGxhbmVzTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTMyT3BfWUNiQ3I0MjBfYmlsaW5lYXJfdG9fWUNiQ3I0NDRJaEVOU185YWxsb2NhdG9ySVMyX0VFRUUAMzJPcF9ZQ2JDcjQyMF9iaWxpbmVhcl90b19ZQ2JDcjQ0NEloRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkzMk9wX1lDYkNyNDIwX2JpbGluZWFyX3RvX1lDYkNyNDQ0SXRFTlNfOWFsbG9jYXRvcklTMl9FRUVFADMyT3BfWUNiQ3I0MjBfYmlsaW5lYXJfdG9fWUNiQ3I0NDRJdEUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMzJPcF9ZQ2JDcjQyMl9iaWxpbmVhcl90b19ZQ2JDcjQ0NEloRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAzMk9wX1lDYkNyNDIyX2JpbGluZWFyX3RvX1lDYkNyNDQ0SWhFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTMyT3BfWUNiQ3I0MjJfYmlsaW5lYXJfdG9fWUNiQ3I0NDRJdEVOU185YWxsb2NhdG9ySVMyX0VFRUUAMzJPcF9ZQ2JDcjQyMl9iaWxpbmVhcl90b19ZQ2JDcjQ0NEl0RQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkzMU9wX1lDYkNyNDQ0X3RvX1lDYkNyNDIwX2F2ZXJhZ2VJaEVOU185YWxsb2NhdG9ySVMyX0VFRUUAMzFPcF9ZQ2JDcjQ0NF90b19ZQ2JDcjQyMF9hdmVyYWdlSWhFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTMxT3BfWUNiQ3I0NDRfdG9fWUNiQ3I0MjBfYXZlcmFnZUl0RU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAzMU9wX1lDYkNyNDQ0X3RvX1lDYkNyNDIwX2F2ZXJhZ2VJdEUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMzFPcF9ZQ2JDcjQ0NF90b19ZQ2JDcjQyMl9hdmVyYWdlSWhFTlNfOWFsbG9jYXRvcklTMl9FRUVFADMxT3BfWUNiQ3I0NDRfdG9fWUNiQ3I0MjJfYXZlcmFnZUloRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkzMU9wX1lDYkNyNDQ0X3RvX1lDYkNyNDIyX2F2ZXJhZ2VJdEVOU185YWxsb2NhdG9ySVMyX0VFRUUAMzFPcF9ZQ2JDcjQ0NF90b19ZQ2JDcjQyMl9hdmVyYWdlSXRFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTI5T3BfQW55X1JHQl90b19ZQ2JDcl80MjBfU2hhcnBOU185YWxsb2NhdG9ySVMxX0VFRUUAMjdPcF9SUkdHQkJ4eF9IRFJfdG9fWUNiQ3I0MjAAMjBPcF9SR0IyNF8zMl90b19ZQ2JDcgAyN09wX1JHQjI0XzMyX3RvX1lDYkNyNDQ0X0dCUgAyOU9wX0FueV9SR0JfdG9fWUNiQ3JfNDIwX1NoYXJwADIwT3BfWUNiQ3I0MjBfdG9fUkdCMjQAMjBPcF9ZQ2JDcjQyMF90b19SR0IzMgAyM09wX1lDYkNyNDIwX3RvX1JSR0dCQmFhADE4T3BfUkdCX3RvX1JHQjI0XzMyADI1T3BfUkdCX0hEUl90b19SUkdHQkJhYV9CRQAyMU9wX1JHQl90b19SUkdHQkJhYV9CRQAyNU9wX1JSR0dCQmFhX0JFX3RvX1JHQl9IRFIAMThPcF9SR0IyNF8zMl90b19SR0IAMjdPcF9SUkdHQkJhYV9zd2FwX2VuZGlhbm5lc3MADgAAAA8AAAAMAAAADQAAADE5T3BfbW9ub190b19ZQ2JDcjQyMAAxOU9wX21vbm9fdG9fUkdCMjRfMzIAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAADE2T3BfdG9faGRyX3BsYW5lcwAxNk9wX3RvX3Nkcl9wbGFuZXMAMTlPcF9kcm9wX2FscGhhX3BsYW5lAFN1Y2Nlc3M="),t0(K,41336,"AQAAAAIAAABMAAAAVAAAAFQAAABQAAAAWAAAAFgAAADAQQAAyEEAAMhB"),t0(K,41392,"xQAAALkAAADJAAAAxQAAALkAAADJAAAAlQAAAIYAAABuAAAAmgAAAHoAAACJAAAAjAAAAMYAAACpAAAAxgAAAIsAAACNAAAAnQAAAGsAAACLAAAAfgAAAGsAAACLAAAAfg=="),t0(K,41504,"uAAAAJoAAACLAAAAmgAAAJoAAACaAAAAiwAAAJoAAACaAAAAuAAAAJoAAAC3AAAAPwAAAJgAAACYAAAAAAAAAG8AAACNAAAAmQAAAG8AAABeAAAAigAAALYAAACaAAAAlQAAAGsAAACnAAAAmgAAAJUAAABcAAAApwAAAJoAAACZAAAAigAAAIoAAAB8AAAAigAAAF4AAADgAAAApwAAAHo="),t0(K,41680,"bgAAAG4AAAB8AAAAfQAAAIwAAACZAAAAfQAAAH8AAACMAAAAbQAAAG8AAACPAAAAfwAAAG8AAABPAAAAbAAAAHsAAAA/AAAAfQAAAG4AAABeAAAAbgAAAF8AAABPAAAAfQAAAG8AAABuAAAATgAAAG4AAABvAAAAbwAAAF8AAABeAAAAbAAAAHsAAABsAAAAfQAAAG4AAAB8AAAAbgAAAF8AAABeAAAAfQAAAG8AAABvAAAATwAAAH0AAAB+AAAAbwAAAG8AAABPAAAAbAAAAHsAAABd"),t0(K,41904,"WwAAAKsAAACGAAAAjQAAAHkAAACMAAAAPQAAAJoAAAB5AAAAjAAAAD0AAACaAAAAbwAAAG8AAAB9AAAAbgAAAG4AAABeAAAAfAAAAGwAAAB8AAAAawAAAH0AAACNAAAAswAAAJkAAAB9AAAAawAAAH0AAACNAAAAswAAAJkAAAB9AAAAawAAAH0AAACNAAAAswAAAJkAAAB9AAAAjAAAAIsAAAC2AAAAtgAAAJgAAACIAAAAmAAAAIgAAACZAAAAiAAAAIsAAABvAAAAiAAAAIsAAABvAAAAmwAAAJoAAACLAAAAmQAAAIsAAAB7AAAAewAAAD8AAACZAAAApgAAALcAAACMAAAAiAAAAJkAAACaAAAApgAAALcAAACMAAAAiAAAAJkAAACaAAAApgAAALcAAACMAAAAiAAAAJkAAACaAAAAqgAAAJkAAAB7AAAAewAAAGsAAAB5AAAAawAAAHkAAACnAAAAlwAAALcAAACMAAAAlwAAALcAAACMAAAAqgAAAJoAAACLAAAAmQAAAIsAAAB7AAAAewAAAD8AAAB8AAAApgAAALcAAACMAAAAiAAAAJkAAACaAAAApgAAALcAAACMAAAAiAAAAJkAAACaAAAApgAAALcAAACMAAAAiAAAAJkAAACaAAAAqgAAAJkAAACKAAAAigAAAHoAAAB5AAAAegAAAHkAAACnAAAAlwAAALcAAACMAAAAlwAAALcAAACM"),t0(K,42464,"jQAAAG8AAACMAAAAjAAAAIwAAACM"),t0(K,42496,"jAAAAFwAAACJAAAAigAAAIwAAACYAAAAigAAAIsAAACZAAAASgAAAJUAAABcAAAAiwAAAGsAAAB6AAAAmAAAAIwAAACzAAAApgAAALYAAACMAAAA4wAAAHoAAADFAAAAmgAAAMQAAADEAAAApwAAAJoAAACYAAAApwAAALYAAAC2AAAAhgAAAJUAAACIAAAAmQAAAHkAAACIAAAAiQAAAKkAAADCAAAApgAAAKcAAACaAAAApwAAAIkAAAC2AAAAmgAAAMQAAACnAAAApwAAAJoAAACYAAAApwAAALYAAAC2AAAAhgAAAJUAAACIAAAAmQAAAHkAAACIAAAAegAAAKkAAADQAAAApgAAAKcAAACaAAAAmAAAAKcAAAC2AAAAigAAAJkAAACIAAAApwAAAJgAAACYAAAAawAAAKcAAABbAAAAegAAAGsAAACnAAAAawAAAKcAAABbAAAAawAAAGsAAACnAAAAyAAAALkAAACgAAAAAAAAAMCnAABVAwAAVgMAAFcDAABYAwAAMjZ0aHJlYWRfdGFza19kZWJsb2NrX0NUQlJvdwAxMXRocmVhZF90YXNrAAC8CAEAqacAAOQIAQCMpwAAuKc="),t0(K,42976,"BgcICQoLDA0ODxAREhQWGBocHiAiJCYoKiwuMDI0Njg6PD5A"),t0(K,43042,"AQEBAQEBAQEBAgICAgMDAwMEBAQFBQYGBwgJCgsNDhASFBYY"),t0(K,43088,"gLDQ8ICnxeOAnrvYe5ayzXSOqcNvh6C5aYCYr2R6kKZfdImeWm6CllVoe45RY3WHTV5vgElZaXpFVWR0QlBfbj5MWmg7SFZjOEVRXjVBTVkzPklVMDtFUC44QkwrNT9IKTI7RScwOEElLTY+IyszOyEpMDggJy41HiUrMh0jKTAbISctGh8lKxgeIykXHCEnFhsgJRUaHiMUGB0hExcbHxIWGh4RFRkcEBQXGw8TFhkOEhUYDhEUFw0QExYMDxIVDA4RFAsOEBMLDQ8SCgwPEQoMDhAJCw0PCQsMDggKDA4ICQsNBwkLDAcJCgwHCAoLBggJCwYHCQoGBwgJAgICAgECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+Pj8GBQQEAwMDAwICAgICAgICAQEBAQEBAQEBAQEBAQEBAQAAAQICBAQFBgcICQkLCwwNDQ8PEBASEhMTFRUWFhcYGBkaGhsbHB0dHh4eHyAgISEhIiIjIyMkJCQlJSUmJj8AAAAAWKoAAFkDAABaAwAAWwMAAFsDAAAAAAAAcKoAAFwDAABdAwAAXgMAAF8DAAAxNWRlY29kZXJfY29udGV4dAAxMmJhc2VfY29udGV4dAAxMWVycm9yX3F1ZXVlAAC8CAEAQaoAAEAJAQAyqgAAAAAAAAEAAABQqgAAAgQAAOQIAQAgqgAAWKoAAAAAAADkqgAAYAMAAGEDAABiAwAAuAAAAGMDAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkxOXZpZGVvX3BhcmFtZXRlcl9zZXROU185YWxsb2NhdG9ySVMxX0VFRUUAAAAA5AgBAJiqAADYBQEAAAAAAFSrAABkAwAAZQMAAGYDAAC4AAAAZwMAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE3c2VxX3BhcmFtZXRlcl9zZXROU185YWxsb2NhdG9ySVMxX0VFRUUAAOQIAQAMqwAA2AUBAAAAAADEqwAAaAMAAGkDAABqAwAAuAAAAGsDAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkxN3BpY19wYXJhbWV0ZXJfc2V0TlNfOWFsbG9jYXRvcklTMV9FRUVFAADkCAEAfKsAANgFAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFpaWFVSTklDPTYuJh8WDQT88+rh2tLKw723sq6rqKamWldQRjkrGQn359XHurCppqapsLrH1ef3CRkrOUZQV1paUkMuFvzhyrerpqiyw9rzDSY9TlhaVUk2HwTq0r2upllLMhLuzrWnp7XO7hIyS1lZSzIS7s61p6e1zu4SMktZWEMf88quprLS/CZJWlU9FurDq6a32gQuTlpSNg3hvahXOQnVsKa65xlGWlAr98epqcf3K1BaRhnnuqaw1Qk5V1Uu872mt+omUlg2/MOmsuEfTlo9BMqortoWSVpDDdKrUyTcra3cJFNTJNytrdwkU1Mk3K2t3CRTUyTcra3cJFNSFsqmww1OVR/Spr0ESVgm2qi3/ENaLuGrsvM9WjbqrlAJuqnnOVor1abHGVdG97Cw90ZXGcem1StaOeepuglQTvyutw1VQ+qowx9aNtqm0i5aJsqm4T1YFr2r80lSBLJL7qfOMlkStbUSWTLOp+5LS+6nzjJZErW1ElkyzqfuS0nhpupOQ9qm81I90qj8VTbKqwRYLsOuDVomvbIWWh+3RtWpCVoZsMc5UOem91crurorV/em51A5x7AZWgmp1UZDyrImVeqmBFoNqOFSLrfDPUnSrh9Y86b8Whar2k42vUDAwEBAwMBAQMDAQEDAwEBAwMBAQMDAQEDAwEBAwMBAPbfSUh+o81r8phZV2rI2Q73KTiar6loEpg1Y4a4uScM5sOda96krRrrVVwmmGVDHx1AZpglX1bpGK6n3WuewOTar/FjSw1INpiZDsupa4bdJH6YWTr3aWvOuPS6oBFXKMqcSS7XuWc7OWe61SxKnMjKnEku17lnOzlnutUsSpzIupiY2ph89qBZDqw1JrgROsvxSt/NVvepYw+Faytpa0iumORmpRgmwUPe6V+fHWtXVWsfnV7r3ULAJRqkZOaYrJqhJ/L1a0uFVsg09pjYWrlLqylrD806rHy6mQwS3WNokrVPc3FOtJCStU9zcU60kJK1T3NxTrSQkrVPc3FOtJB+yWsMENqhS2upJpkPz0lWrLg29WrcWJq5Yyvw9pk7hGbpasCsJx1epOffVUKZG5+dGplDV9zmpV8cJK7BauhkWw1WmSdr8LrJarjbz4UOoWL0fDcpSpk7SBCa3Wqs96hLOS6dZtTLu7jK1WadLzhISzkunWbUy7u4ytVmnS84SDdo9slimVbc24QQW0kOuWqZSvS7q/B/KSataqE7DJvMJ5yvHRrBXplqpULo51Rn39xnVObpQqVqmV7BGxyvnCQTzFuEm0jbDQ7dOrlWoWqZaplirUrJJvT3KLtof6g38AAAAAAMAAAADAAAAAgAAAAAAAAADAAAABAAAAAQAAAAAAAAAHLAAAFUDAAC/AwAAwAMAAMEDAAAxNXRocmVhZF90YXNrX3NhbwAAAOQIAQAIsAAAuKcAAAEAAAAAAAAAAQAAAP//////////AAAAAP////8BAAAAAAAAAAEAAAABAAAAAQAAAAAAAAD///////////////8AAAAAAAAAABQ1AQAWNQEAIDUBAEA1AQDANQEAwDcB"),t0(K,45200,"FDUBAMA/AQDQPwEA8D8BAHBAAQBwQgE="),t0(K,45232,"FDUBAHBKAQCASgEAoEoBACBLAQAgTQE="),t0(K,45272,"IFUBAEBVAQDAVQEAwFcB"),t0(K,45296,"wF8BAOBfAQBgYAEAYGIB"),t0(K,45320,"YGoBAIBqAQAAawEAAG0BAHCwAACQsAAAsLA="),t0(K,45368,"IAAAABoAAAAVAAAAEQAAAA0AAAAJAAAABQAAAAIAAAAAAAAA/v////v////3////8////+/////r////5v///+D////m////6////+/////z////9/////v////+////AAAAAAIAAAAFAAAACQAAAA0AAAARAAAAFQAAABoAAAAgAAAAAAAAAADw//+a+f//cvz//4r9//8e/v//ev7//8X+//8A////xf7//3r+//8e/v//iv3//3L8//+a+f//APD//wAAAAAAAAAAAQAAAAAAAAACAAAAAQAAAAIAAAAAAAAAAwAAAAEAAAADAAAAAgAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAADAAAAAAAAAAMAAAABAAAAAwAAAAIAAAAAAAAAsLIAAMIDAADDAwAAMzBNb3Rpb25WZWN0b3JBY2Nlc3NfZGUyNjVfaW1hZ2UAMThNb3Rpb25WZWN0b3JBY2Nlc3MAAAC8CAEAkbIAAOQIAQBwsgAAqLI="),t0(K,45764,"AwAAAAMAAAACAAAAAAAAAAMAAAAEAAAABAAAAAABBAUCAwQFBgYICAcHCGMAAAAAGgAAAAoAAAABAAAAAAECAgICAwUHCAoMDQ8REhMUFRYXFxgYGRkaGxscHB0dHh8AAAAAAFizAABVAwAAxAMAAMUDAADGAwAAMjV0aHJlYWRfdGFza19zbGljZV9zZWdtZW50AOQIAQA8swAAuKcAAAAAAACUswAAVQMAAMcDAADIAwAAyQMAADE5dGhyZWFkX3Rhc2tfY3RiX3JvdwAAAOQIAQB8swAAuKcAAAEAAAACAAAAAgAAAAEAAAABAAAAAgAAAAEAAAABAAAA8SYAADNDAACRQQAAAAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIQAAACIAAAAiAAAAIwAAACMAAAAkAAAAJAAAACU="),t0(K,46096,"KAAAAC0AAAAzAAAAOQAAAEAAAABIAAAAhBsAAElDAAAEJQAAJw8="),t0(K,46148,"AQABAAwACwAKAAsAEAALACgAIQAYAAsAFAALACAACwBQACEAEgALAA8ACwBAACEAoABjAAQAAwADAAIAAgABAAAAAADyCwAA2ToAAI88AACWOgAAlDwAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0loTlNfMTFjaGFyX3RyYWl0c0loRUVOU185YWxsb2NhdG9ySWhFRUVFAAC8CAEAnLQAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAAC8CAEA5LQAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0lEc05TXzExY2hhcl90cmFpdHNJRHNFRU5TXzlhbGxvY2F0b3JJRHNFRUVFAAAAvAgBACy1AABOU3QzX18yMTJiYXNpY19zdHJpbmdJRGlOU18xMWNoYXJfdHJhaXRzSURpRUVOU185YWxsb2NhdG9ySURpRUVFRQAAALwIAQB4tQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAAC8CAEAxLUAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQAAvAgBAOy1AABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lzRUUAALwIAQAUtgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAAC8CAEAPLYAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQAAvAgBAGS2AABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUAALwIAQCMtgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAAC8CAEAtLYAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQAAvAgBANy2AABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l4RUUAALwIAQAEtwAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJeUVFAAC8CAEALLcAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQAAvAgBAFS3AABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUAALwIAQB8tw=="),t0(K,47024,"AwAAAAQAAAAEAAAABgAAAIP5ogBETm4A/CkVANFXJwDdNPUAYtvAADyZlQBBkEMAY1H+ALveqwC3YcUAOm4kANJNQgBJBuAACeouAByS0QDrHf4AKbEcAOg+pwD1NYIARLsuAJzphAC0JnAAQX5fANaROQBTgzkAnPQ5AItfhAAo+b0A+B87AN7/lwAPmAUAES/vAApaiwBtH20Az342AAnLJwBGT7cAnmY/AC3qXwC6J3UA5evHAD178QD3OQcAklKKAPtr6gAfsV8ACF2NADADVgB7/EYA8KtrACC8zwA29JoA46kdAF5hkQAIG+YAhZllAKAUXwCNQGgAgNj/ACdzTQAGBjEAylYVAMmocwB74mAAa4zAABnERwDNZ8MACejcAFmDKgCLdsQAphyWAESv3QAZV9EApT4FAAUH/wAzfj8AwjLoAJhP3gC7fTIAJj3DAB5r7wCf+F4ANR86AH/yygDxhx0AfJAhAGokfADVbvoAMC13ABU7QwC1FMYAwxmdAK3EwgAsTUEADABdAIZ9RgDjcS0Am8aaADNiAAC00nwAtKeXADdV1QDXPvYAoxAYAE12/ABknSoAcNerAGN8+AB6sFcAFxXnAMBJVgA71tkAp4Q4ACQjywDWincAWlQjAAAfuQDxChsAGc7fAJ8x/wBmHmoAmVdhAKz7RwB+f9gAImW3ADLoiQDmv2AA78TNAGw2CQBdP9QAFt7XAFg73gDem5IA0iIoACiG6ADiWE0AxsoyAAjjFgDgfcsAF8BQAPMdpwAY4FsALhM0AIMSYgCDSAEA9Y5bAK2wfwAe6fIASEpDABBn0wCq3dgArl9CAGphzgAKKKQA05m0AAam8gBcd38Ao8KDAGE8iACKc3gAr4xaAG/XvQAtpmMA9L/LAI2B7wAmwWcAVcpFAMrZNgAoqNIAwmGNABLJdwAEJhQAEkabAMRZxADIxUQATbKRAAAX8wDUQ60AKUnlAP3VEAAAvvwAHpTMAHDO7gATPvUA7PGAALPnwwDH+CgAkwWUAMFxPgAuCbMAC0XzAIgSnACrIHsALrWfAEeSwgB7Mi8ADFVtAHKnkABr5x8AMcuWAHkWSgBBeeIA9N+JAOiUlwDi5oQAmTGXAIjtawBfXzYAu/0OAEiatABnpGwAcXJCAI1dMgCfFbgAvOUJAI0xJQD3dDkAMAUcAA0MAQBLCGgALO5YAEeqkAB05wIAvdYkAPd9pgBuSHIAnxbvAI6UpgC0kfYA0VNRAM8K8gAgmDMA9Ut+ALJjaADdPl8AQF0DAIWJfwBVUikAN2TAAG3YEAAySDIAW0x1AE5x1ABFVG4ACwnBACr1aQAUZtUAJwedAF0EUAC0O9sA6nbFAIf5FwBJa30AHSe6AJZpKQDGzKwArRRUAJDiagCI2YkALHJQAASkvgB3B5QA8zBwAAD8JwDqcagAZsJJAGTgPQCX3YMAoz+XAEOU/QANhowAMUHeAJI5nQDdcIwAF7fnAAjfOwAVNysAXICgAFqAkwAQEZIAD+jYAGyArwDb/0sAOJAPAFkYdgBipRUAYcu7AMeJuQAQQL0A0vIEAEl1JwDrtvYA2yK7AAoUqgCJJi8AZIN2AAk7MwAOlBoAUTqqAB2jwgCv7a4AXCYSAG3CTQAtepwAwFaXAAM/gwAJ8PYAK0CMAG0xmQA5tAcADCAVANjDWwD1ksQAxq1LAE7KpQCnN80A5qk2AKuSlADdQmgAGWPeAHaM7wBoi1IA/Ns3AK6hqwDfFTEAAK6hAAz72gBkTWYA7QW3ACllMABXVr8AR/86AGr5uQB1vvMAKJPfAKuAMABmjPYABMsVAPoiBgDZ5B0APbOkAFcbjwA2zQkATkLpABO+pAAzI7UA8KoaAE9lqADSwaUACz8PAFt4zQAj+XYAe4sEAIkXcgDGplMAb27iAO/rAACbSlgAxNq3AKpmugB2z88A0QIdALHxLQCMmcEAw613AIZI2gD3XaAAxoD0AKzwLwDd7JoAP1y8ANDebQCQxx8AKtu2AKMlOgAAr5oArVOTALZXBAApLbQAS4B+ANoHpwB2qg4Ae1mhABYSKgDcty0A+uX9AInb/gCJvv0A5HZsAAap/AA+gHAAhW4VAP2H/wAoPgcAYWczACoYhgBNveoAs+evAI9tbgCVZzkAMb9bAITXSAAw3xYAxy1DACVhNQDJcM4AMMu4AL9s/QCkAKIABWzkAFrdoAAhb0cAYhLSALlchABwYUkAa1bgAJlSAQBQVTcAHtW3ADPxxAATbl8AXTDkAIUuqQAdssMAoTI2AAi3pADqsdQAFvchAI9p5AAn/3cADAOAAI1ALQBPzaAAIKWZALOi0wAvXQoAtPlCABHaywB9vtAAm9vBAKsXvQDKooEACGpcAC5VFwAnAFUAfxTwAOEHhgAUC2QAlkGNAIe+3gDa/SoAayW2AHuJNAAF8/4Aub+eAGhqTwBKKqgAT8RaAC34vADXWpgA9MeVAA1NjQAgOqYApFdfABQ/sQCAOJUAzCABAHHdhgDJ3rYAv2D1AE1lEQABB2sAjLCsALLA0ABRVUgAHvsOAJVywwCjBjsAwEA1AAbcewDgRcwATin6ANbKyADo80EAfGTeAJtk2ADZvjEApJfDAHdY1ABp48UA8NoTALo6PABGGEYAVXVfANK99QBuksYArC5dAA5E7QAcPkIAYcSHACn96QDn1vMAInzKAG+RNQAI4MUA/9eNAG5q4gCw/cYAkwjBAHxddABrrbIAzW6dAD5yewDGEWoA98+pAClz3wC1yboAtwBRAOKyDQB0uiQA5X1gAHTYigANFSwAgRgMAH5mlAABKRYAn3p2AP39vgBWRe8A2X42AOzZEwCLurkAxJf8ADGoJwDxbsMAlMU2ANioVgC0qLUAz8wOABKJLQBvVzQALFaJAJnO4wDWILkAa16qAD4qnAARX8wA/QtKAOH0+wCOO20A4oYsAOnUhAD8tKkA7+7RAC41yQAvOWEAOCFEABvZyACB/AoA+0pqAC8c2ABTtIQATpmMAFQizAAqVdwAwMbWAAsZlgAacLgAaZVkACZaYAA/Uu4AfxEPAPS1EQD8y/UANLwtADS87gDoXcwA3V5gAGeOmwCSM+8AyRe4AGFYmwDhV7wAUYPGANg+EADdcUgALRzdAK8YoQAhLEYAWfPXANl6mACeVMAAT4b6AFYG/ADlea4AiSI2ADitIgBnk9wAVeiqAIImOADK55sAUQ2kAJkzsQCp1w4AaQVIAGWy8AB/iKcAiEyXAPnRNgAhkrMAe4JKAJjPIQBAn9wA3EdVAOF0OgBn60IA/p3fAF7UXwB7Z6QAuqx6AFX2ogAriCMAQbpVAFluCAAhKoYAOUeDAInj5gDlntQASftAAP9W6QAcD8oAxVmKAJT6KwDTwcUAD8XPANtargBHxYYAhUNiACGGOwAseZQAEGGHACpMewCALBoAQ78SAIgmkAB4PIkAqMTkAOXbewDEOsIAJvTqAPdnigANkr8AZaMrAD2TsQC9fAsApFHcACfdYwBp4d0AmpQZAKgplQBozigACe20AESfIABOmMoAcIJjAH58IwAPuTIAp/WOABRW5wAh8QgAtZ0qAG9+TQClGVEAtfmrAILf1gCW3WEAFjYCAMQ6nwCDoqEAcu1tADmNegCCuKkAazJcAEYnWwAANO0A0gB3APz0VQABWU0A4HGA"),t0(K,49811,"QPsh+T8AAAAALUR0PgAAAICYRvg8AAAAYFHMeDsAAACAgxvwOQAAAEAgJXo4AAAAgCKC4zYAAAAAHfNpNdAvAQBoMAEATm8gZXJyb3IgaW5mb3JtYXRpb24ASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATXVsdGlob3AgYXR0ZW1wdGVkAFJlcXVpcmVkIGtleSBub3QgYXZhaWxhYmxlAEtleSBoYXMgZXhwaXJlZABLZXkgaGFzIGJlZW4gcmV2b2tlZABLZXkgd2FzIHJlamVjdGVkIGJ5IHNlcnZpY2U="),t0(K,51810,"pQJbAPABtQWMBSUBgwYdA5QE/wDHAzEDCwa8AY8BfwPKBCsA2gavAEIDTgPcAQ4EFQChBg0BlAILAjgGZAK8Av8CXQPnBAsHzwLLBe8F2wXhAh4GRQKFAIICbANvBPEA8wMYBdkA2gNMBlQCewGdA70EAABRABUCuwCzA20A/wGFBC8F+QQ4AGUBRgGfALcGqAFzAlMB"),t0(K,52008,"IQQAAAAAAAAAAC8C"),t0(K,52040,"NQRHBFYE"),t0(K,52062,"oAQ="),t0(K,52082,"RgVgBW4FYQYAAM8BAAAAAAAAAADJBukG+QYeBzkHSQdeBw=="),t0(K,52128,"GQALABkZGQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAAZAAoKGRkZAwoHAAEACQsYAAAJBgsAAAsABhkAAAAZGRk="),t0(K,52209,"DgAAAAAAAAAAGQALDRkZGQANAAACAAkOAAAACQAOAAAO"),t0(K,52267,"DA=="),t0(K,52279,"EwAAAAATAAAAAAkMAAAAAAAMAAAM"),t0(K,52325,"EA=="),t0(K,52337,"DwAAAAQPAAAAAAkQAAAAAAAQAAAQ"),t0(K,52383,"Eg=="),t0(K,52395,"EQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoa"),t0(K,52450,"GgAAABoaGgAAAAAAAAk="),t0(K,52499,"FA=="),t0(K,52511,"FwAAAAAXAAAAAAkUAAAAAAAUAAAU"),t0(K,52557,"Fg=="),t0(K,52569,"FQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVG"),t0(K,52644,"0gM="),t0(K,52684,"//////////8="),t0(K,52756,"AgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAAAAAAAJNIAANUDAADWAwAA1wMAANgDAADZAwAA2gMAANsDAADcAwAA3QMAAN4DAADfAwAA4AMAAOEDAADiAwAACAAAAAAAAABc0gAA4wMAAOQDAAD4////+P///1zSAADlAwAA5gMAANzPAADwzwAABAAAAAAAAACk0gAA5wMAAOgDAAD8/////P///6TSAADpAwAA6gMAAAzQAAAg0AAADAAAAAAAAAA80wAA6wMAAOwDAAAEAAAA+P///zzTAADtAwAA7gMAAPT////0////PNMAAO8DAADwAwAAPNAAAMjSAADc0gAA8NIAAATTAABk0AAAUNAAAAAAAADY0wAA8QMAAPIDAADzAwAA9AMAAPUDAAD2AwAA9wMAAPgDAAD5AwAA+gMAAPsDAAD8AwAA/QMAAP4DAAAIAAAAAAAAABDUAAD/AwAAAAQAAPj////4////ENQAAAEEAAACBAAA1NAAAOjQAAAEAAAAAAAAAFjUAAADBAAABAQAAPz////8////WNQAAAUEAAAGBAAABNEAABjRAAAAAAAAtNQAAAcEAAAIBAAA1wMAANgDAAAJBAAACgQAANsDAADcAwAA3QMAAAsEAADfAwAADAQAAOEDAAANBAAAAAAAACDYAAAOBAAADwQAABAEAAARBAAAEgQAABMEAAAUBAAA3AMAAN0DAAAVBAAA3wMAABYEAADhAwAAFwQAAAAAAADk0QAAGAQAABkEAABOU3QzX18yOWJhc2ljX2lvc0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQAAAOQIAQC40QAAUNgAAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1ZkljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQAAAAC8CAEA8NEAAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUAAEAJAQAs0gAAAAAAAAEAAADk0QAAA/T//05TdDNfXzIxM2Jhc2ljX29zdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUAAEAJAQB00gAAAAAAAAEAAADk0QAAA/T//wwAAAAAAAAAXNIAAOMDAADkAwAA9P////T///9c0gAA5QMAAOYDAAAEAAAAAAAAAKTSAADnAwAA6AMAAPz////8////pNIAAOkDAADqAwAATlN0M19fMjE0YmFzaWNfaW9zdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUAQAkBAAzTAAADAAAAAgAAAFzSAAACAAAApNIAAAIIAAAAAAAAmNMAABoEAAAbBAAATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUAAADkCAEAbNMAAFDYAABOU3QzX18yMTViYXNpY19zdHJlYW1idWZJd05TXzExY2hhcl90cmFpdHNJd0VFRUUAAAAAvAgBAKTTAABOU3QzX18yMTNiYXNpY19pc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAABACQEA4NMAAAAAAAABAAAAmNMAAAP0//9OU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAABACQEAKNQAAAAAAAABAAAAmNMAAAP0//9OU3QzX18yMTViYXNpY19zdHJpbmdidWZJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAAAOQIAQBw1AAAJNIAAEAAAAAAAAAA+NUAABwEAAAdBAAAOAAAAPj////41QAAHgQAAB8EAADA////wP////jVAAAgBAAAIQQAAMzUAAAw1QAAbNUAAIDVAACU1QAAqNUAAFjVAABE1QAA9NQAAODUAABAAAAAAAAAADzTAADrAwAA7AMAADgAAAD4////PNMAAO0DAADuAwAAwP///8D///880wAA7wMAAPADAABAAAAAAAAAAFzSAADjAwAA5AMAAMD////A////XNIAAOUDAADmAwAAOAAAAAAAAACk0gAA5wMAAOgDAADI////yP///6TSAADpAwAA6gMAAE5TdDNfXzIxOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAAAAAOQIAQCw1QAAPNMAADgAAAAAAAAArNYAACIEAAAjBAAAyP///8j///+s1gAAJAQAACUEAAAQ1gAASNYAAFzWAAAk1gAAOAAAAAAAAACk0gAA5wMAAOgDAADI////yP///6TSAADpAwAA6gMAAE5TdDNfXzIxOWJhc2ljX29zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAAAOQIAQBk1gAApNIAAGwAAAAAAAAASNcAACYEAAAnBAAAlP///5T///9I1wAAKAQAACkEAADE1gAA/NYAABDXAADY1gAAbAAAAAAAAABc0gAA4wMAAOQDAACU////lP///1zSAADlAwAA5gMAAE5TdDNfXzIxNGJhc2ljX2lmc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAOQIAQAY1wAAXNIAAGgAAAAAAAAA5NcAACoEAAArBAAAmP///5j////k1wAALAQAAC0EAABg1wAAmNcAAKzXAAB01wAAaAAAAAAAAACk0gAA5wMAAOgDAACY////mP///6TSAADpAwAA6gMAAE5TdDNfXzIxNGJhc2ljX29mc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAOQIAQC01wAApNIAAE5TdDNfXzIxM2Jhc2ljX2ZpbGVidWZJY05TXzExY2hhcl90cmFpdHNJY0VFRUUAAOQIAQDw1wAAJNIAAAAAAABQ2AAALgQAAC8EAABOU3QzX18yOGlvc19iYXNlRQAAALwIAQA82AAAADEBAAAAAADeEgSVAAAAAP///////////////2DYAAAUAAAAQy5VVEYtOA=="),t0(K,55472,"dNg="),t0(K,55504,"AgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzbAAAAAPTZAADVAwAAMQQAADIEAADYAwAA2QMAANoDAADbAwAA3AMAAN0DAAAzBAAANAQAADUEAADhAwAA4gMAAE5TdDNfXzIxMF9fc3RkaW5idWZJY0VFAOQIAQDc2QAAJNIAAAAAAABc2gAA1QMAADYEAAA3BAAA2AMAANkDAADaAwAAOAQAANwDAADdAwAA3gMAAN8DAADgAwAAOQQAADoEAABOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAAAAA5AgBAEDaAAAk0gAAAAAAAMDaAADxAwAAOwQAADwEAAD0AwAA9QMAAPYDAAD3AwAA+AMAAPkDAAA9BAAAPgQAAD8EAAD9AwAA/gMAAE5TdDNfXzIxMF9fc3RkaW5idWZJd0VFAOQIAQCo2gAA2NMAAAAAAAAo2wAA8QMAAEAEAABBBAAA9AMAAPUDAAD2AwAAQgQAAPgDAAD5AwAA+gMAAPsDAAD8AwAAQwQAAEQEAABOU3QzX18yMTFfX3N0ZG91dGJ1Zkl3RUUAAAAA5AgBAAzbAADY0w=="),t0(K,56128,"0XSeAFedvSqAcFIP//8+JwoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFGAAAADUAAABxAAAAa////877//+Sv///AAAAAAAAAAD/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wABAgQHAwYFAAAAAAAAAExDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VT"),t0(K,56564,"gN4oAIDITQAAp3YAADSeAIASxwCAn+4AAH4XAYBcQAGA6WcBAMiQAQBVuAFVVEMALg=="),t0(K,56624,"U3VuAE1vbgBUdWUAV2VkAFRodQBGcmkAU2F0AFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AEphbgBGZWIATWFyAEFwcgBNYXkASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAEphbnVhcnkARmVicnVhcnkATWFyY2gAQXByaWwATWF5AEp1bmUASnVseQBBdWd1c3QAU2VwdGVtYmVyAE9jdG9iZXIATm92ZW1iZXIARGVjZW1iZXIAQU0AUE0AJWEgJWIgJWUgJVQgJVkAJW0vJWQvJXkAJUg6JU06JVMAJUk6JU06JVMgJXAAAAAlbS8lZC8leQAwMTIzNDU2Nzg5ACVhICViICVlICVUICVZACVIOiVNOiVTAAAAAABeW3lZXQBeW25OXQB5ZXMAbm8AAJDg"),t0(K,57492,"AQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABaAAAAWwAAAFwAAABdAAAAXgAAAF8AAABgAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAAB7AAAAfAAAAH0AAAB+AAAAfw=="),t0(K,58512,"oOY="),t0(K,59044,"AQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAGEAAABiAAAAYwAAAGQAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcgAAAHMAAAB0AAAAdQAAAHYAAAB3AAAAeAAAAHkAAAB6AAAAWwAAAFwAAABdAAAAXgAAAF8AAABgAAAAYQAAAGIAAABjAAAAZAAAAGUAAABmAAAAZwAAAGgAAABpAAAAagAAAGsAAABsAAAAbQAAAG4AAABvAAAAcAAAAHEAAAByAAAAcwAAAHQAAAB1AAAAdgAAAHcAAAB4AAAAeQAAAHoAAAB7AAAAfAAAAH0AAAB+AAAAfw=="),t0(K,60064,"MDEyMzQ1Njc4OWFiY2RlZkFCQ0RFRnhYKy1wUGlJbk4AJUk6JU06JVMgJXAlSDolTQ=="),t0(K,60128,"JQAAAG0AAAAvAAAAJQAAAGQAAAAvAAAAJQAAAHkAAAAlAAAAWQAAAC0AAAAlAAAAbQAAAC0AAAAlAAAAZAAAACUAAABJAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAAIAAAACUAAABwAAAAAAAAACUAAABIAAAAOgAAACUAAABN"),t0(K,60272,"JQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAAAAAA5PQAAFoEAABbBAAAXAQAAAAAAABE9QAAXQQAAF4EAABcBAAAXwQAAGAEAABhBAAAYgQAAGMEAABkBAAAZQQAAGYE"),t0(K,60384,"BAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABQIAAAUAAAAFAAAABQAAAAUAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAADAgAAggAAAIIAAACCAAAAggAAAIIAAACCAAAAggAAAIIAAACCAAAAggAAAIIAAACCAAAAggAAAIIAAACCAAAAQgEAAEIBAABCAQAAQgEAAEIBAABCAQAAQgEAAEIBAABCAQAAQgEAAIIAAACCAAAAggAAAIIAAACCAAAAggAAAIIAAAAqAQAAKgEAACoBAAAqAQAAKgEAACoBAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAAIIAAACCAAAAggAAAIIAAACCAAAAggAAADIBAAAyAQAAMgEAADIBAAAyAQAAMgEAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAggAAAIIAAACCAAAAggAAAAQ="),t0(K,61412,"rPQAAGcEAABoBAAAXAQAAGkEAABqBAAAawQAAGwEAABtBAAAbgQAAG8EAAAAAAAAfPUAAHAEAABxBAAAXAQAAHIEAABzBAAAdAQAAHUEAAB2BAAAAAAAAKD1AAB3BAAAeAQAAFwEAAB5BAAAegQAAHsEAAB8BAAAfQQAAHQAAAByAAAAdQAAAGUAAAAAAAAAZgAAAGEAAABsAAAAcwAAAGUAAAAAAAAAJQAAAG0AAAAvAAAAJQAAAGQAAAAvAAAAJQAAAHkAAAAAAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAAAAAAJQAAAGEAAAAgAAAAJQAAAGIAAAAgAAAAJQAAAGQAAAAgAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAFkAAAAAAAAAJQAAAEkAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAHA="),t0(K,61788,"hPEAAH4EAAB/BAAAXAQAAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQAAAOQIAQBs8QAAsAUBAAAAAAAE8gAAfgQAAIAEAABcBAAAgQQAAIIEAACDBAAAhAQAAIUEAACGBAAAhwQAAIgEAACJBAAAigQAAIsEAACMBAAATlN0M19fMjVjdHlwZUl3RUUATlN0M19fMjEwY3R5cGVfYmFzZUUAALwIAQDm8QAAQAkBANTxAAAAAAAAAgAAAITxAAACAAAA/PEAAAIAAAAAAAAAmPIAAH4EAACNBAAAXAQAAI4EAACPBAAAkAQAAJEEAACSBAAAkwQAAJQEAABOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjEyY29kZWN2dF9iYXNlRQAAAAC8CAEAdvIAAEAJAQBU8gAAAAAAAAIAAACE8QAAAgAAAJDyAAACAAAAAAAAAAzzAAB+BAAAlQQAAFwEAACWBAAAlwQAAJgEAACZBAAAmgQAAJsEAACcBAAATlN0M19fMjdjb2RlY3Z0SURzYzExX19tYnN0YXRlX3RFRQAAQAkBAOjyAAAAAAAAAgAAAITxAAACAAAAkPIAAAIAAAAAAAAAgPMAAH4EAACdBAAAXAQAAJ4EAACfBAAAoAQAAKEEAACiBAAAowQAAKQEAABOU3QzX18yN2NvZGVjdnRJRHNEdTExX19tYnN0YXRlX3RFRQBACQEAXPMAAAAAAAACAAAAhPEAAAIAAACQ8gAAAgAAAAAAAAD08wAAfgQAAKUEAABcBAAApgQAAKcEAACoBAAAqQQAAKoEAACrBAAArAQAAE5TdDNfXzI3Y29kZWN2dElEaWMxMV9fbWJzdGF0ZV90RUUAAEAJAQDQ8wAAAAAAAAIAAACE8QAAAgAAAJDyAAACAAAAAAAAAGj0AAB+BAAArQQAAFwEAACuBAAArwQAALAEAACxBAAAsgQAALMEAAC0BAAATlN0M19fMjdjb2RlY3Z0SURpRHUxMV9fbWJzdGF0ZV90RUUAQAkBAET0AAAAAAAAAgAAAITxAAACAAAAkPIAAAIAAABOU3QzX18yN2NvZGVjdnRJd2MxMV9fbWJzdGF0ZV90RUUAAABACQEAiPQAAAAAAAACAAAAhPEAAAIAAACQ8gAAAgAAAE5TdDNfXzI2bG9jYWxlNV9faW1wRQAAAOQIAQDM9AAAhPEAAE5TdDNfXzI3Y29sbGF0ZUljRUUA5AgBAPD0AACE8QAATlN0M19fMjdjb2xsYXRlSXdFRQDkCAEAEPUAAITxAABOU3QzX18yNWN0eXBlSWNFRQAAAEAJAQAw9QAAAAAAAAIAAACE8QAAAgAAAPzxAAACAAAATlN0M19fMjhudW1wdW5jdEljRUUAAAAA5AgBAGT1AACE8QAATlN0M19fMjhudW1wdW5jdEl3RUUAAAAA5AgBAIj1AACE8QAAAAAAAAT1AAC1BAAAtgQAAFwEAAC3BAAAuAQAALkEAAAAAAAAJPUAALoEAAC7BAAAXAQAALwEAAC9BAAAvgQAAAAAAADA9gAAfgQAAL8EAABcBAAAwAQAAMEEAADCBAAAwwQAAMQEAADFBAAAxgQAAMcEAADIBAAAyQQAAMoEAABOU3QzX18yN251bV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fZ2V0SWNFRQBOU3QzX18yMTRfX251bV9nZXRfYmFzZUUAALwIAQCG9gAAQAkBAHD2AAAAAAAAAQAAAKD2AAAAAAAAQAkBACz2AAAAAAAAAgAAAITxAAACAAAAqPY="),t0(K,63204,"lPcAAH4EAADLBAAAXAQAAMwEAADNBAAAzgQAAM8EAADQBAAA0QQAANIEAADTBAAA1AQAANUEAADWBAAATlN0M19fMjdudW1fZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEl3RUUAAABACQEAZPcAAAAAAAABAAAAoPYAAAAAAABACQEAIPcAAAAAAAACAAAAhPEAAAIAAAB89w=="),t0(K,63416,"fPgAAH4EAADXBAAAXAQAANgEAADZBAAA2gQAANsEAADcBAAA3QQAAN4EAADfBAAATlN0M19fMjdudW1fcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEljRUUATlN0M19fMjE0X19udW1fcHV0X2Jhc2VFAAC8CAEAQvgAAEAJAQAs+AAAAAAAAAEAAABc+AAAAAAAAEAJAQDo9wAAAAAAAAIAAACE8QAAAgAAAGT4"),t0(K,63648,"RPkAAH4EAADgBAAAXAQAAOEEAADiBAAA4wQAAOQEAADlBAAA5gQAAOcEAADoBAAATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAAABACQEAFPkAAAAAAAABAAAAXPgAAAAAAABACQEA0PgAAAAAAAACAAAAhPEAAAIAAAAs+Q=="),t0(K,63848,"RPoAAOkEAADqBAAAXAQAAOsEAADsBAAA7QQAAO4EAADvBAAA8AQAAPEEAAD4////RPoAAPIEAADzBAAA9AQAAPUEAAD2BAAA9wQAAPgEAABOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOXRpbWVfYmFzZUUAvAgBAP35AABOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUAAAC8CAEAGPoAAEAJAQC4+QAAAAAAAAMAAACE8QAAAgAAABD6AAACAAAAPPoAAAAIAAAAAAAAMPsAAPkEAAD6BAAAXAQAAPsEAAD8BAAA/QQAAP4EAAD/BAAAAAUAAAEFAAD4////MPsAAAIFAAADBQAABAUAAAUFAAAGBQAABwUAAAgFAABOU3QzX18yOHRpbWVfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUl3RUUAALwIAQAF+wAAQAkBAMD6AAAAAAAAAwAAAITxAAACAAAAEPoAAAIAAAAo+wAAAAgAAAAAAADU+wAACQUAAAoFAABcBAAACwUAAE5TdDNfXzI4dGltZV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMF9fdGltZV9wdXRFAAAAvAgBALX7AABACQEAcPsAAAAAAAACAAAAhPEAAAIAAADM+wAAAAgAAAAAAABU/AAADAUAAA0FAABcBAAADgUAAE5TdDNfXzI4dGltZV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAAAAAEAJAQAM/AAAAAAAAAIAAACE8QAAAgAAAMz7AAAACAAAAAAAAOj8AAB+BAAADwUAAFwEAAAQBQAAEQUAABIFAAATBQAAFAUAABUFAAAWBQAAFwUAABgFAABOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUAAAAAvAgBAMj8AABACQEArPwAAAAAAAACAAAAhPEAAAIAAADg/AAAAgAAAAAAAABc/QAAfgQAABkFAABcBAAAGgUAABsFAAAcBQAAHQUAAB4FAAAfBQAAIAUAACEFAAAiBQAATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAEAJAQBA/QAAAAAAAAIAAACE8QAAAgAAAOD8AAACAAAAAAAAAND9AAB+BAAAIwUAAFwEAAAkBQAAJQUAACYFAAAnBQAAKAUAACkFAAAqBQAAKwUAACwFAABOU3QzX18yMTBtb25leXB1bmN0SXdMYjBFRUUAQAkBALT9AAAAAAAAAgAAAITxAAACAAAA4PwAAAIAAAAAAAAARP4AAH4EAAAtBQAAXAQAAC4FAAAvBQAAMAUAADEFAAAyBQAAMwUAADQFAAA1BQAANgUAAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMUVFRQBACQEAKP4AAAAAAAACAAAAhPEAAAIAAADg/AAAAgAAAAAAAADo/gAAfgQAADcFAABcBAAAOAUAADkFAABOU3QzX18yOW1vbmV5X2dldEljTlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjExX19tb25leV9nZXRJY0VFAAC8CAEAxv4AAEAJAQCA/gAAAAAAAAIAAACE8QAAAgAAAOD+"),t0(K,65292,"jP8AAH4EAAA6BQAAXAQAADsFAAA8BQAATlN0M19fMjltb25leV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SXdFRQAAvAgBAGr/AABACQEAJP8AAAAAAAACAAAAhPEAAAIAAACE/w=="),t0(K,65456,"MAABAH4EAAA9BQAAXAQAAD4FAAA/BQAATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQAAvAgBAA4AAQBACQEAyP8AAAAAAAACAAAAhPEAAAIAAAAoAAE="),t0(K,65620,"1AABAH4EAABABQAAXAQAAEEFAABCBQAATlN0M19fMjltb25leV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SXdFRQAAvAgBALIAAQBACQEAbAABAAAAAAACAAAAhPEAAAIAAADMAAE="),t0(K,65784,"TAEBAH4EAABDBQAAXAQAAEQFAABFBQAARgUAAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAAAAALwIAQApAQEAQAkBABQBAQAAAAAAAgAAAITxAAACAAAARAEBAAIAAAAAAAAApAEBAH4EAABHBQAAXAQAAEgFAABJBQAASgUAAE5TdDNfXzI4bWVzc2FnZXNJd0VFAAAAAEAJAQCMAQEAAAAAAAIAAACE8QAAAgAAAEQBAQACAAAAUwAAAHUAAABuAAAAZAAAAGEAAAB5AAAAAAAAAE0AAABvAAAAbgAAAGQAAABhAAAAeQAAAAAAAABUAAAAdQAAAGUAAABzAAAAZAAAAGEAAAB5AAAAAAAAAFcAAABlAAAAZAAAAG4AAABlAAAAcwAAAGQAAABhAAAAeQAAAAAAAABUAAAAaAAAAHUAAAByAAAAcwAAAGQAAABhAAAAeQAAAAAAAABGAAAAcgAAAGkAAABkAAAAYQAAAHkAAAAAAAAAUwAAAGEAAAB0AAAAdQAAAHIAAABkAAAAYQAAAHkAAAAAAAAAUwAAAHUAAABuAAAAAAAAAE0AAABvAAAAbgAAAAAAAABUAAAAdQAAAGUAAAAAAAAAVwAAAGUAAABkAAAAAAAAAFQAAABoAAAAdQAAAAAAAABGAAAAcgAAAGkAAAAAAAAAUwAAAGEAAAB0AAAAAAAAAEoAAABhAAAAbgAAAHUAAABhAAAAcgAAAHkAAAAAAAAARgAAAGUAAABiAAAAcgAAAHUAAABhAAAAcgAAAHkAAAAAAAAATQAAAGEAAAByAAAAYwAAAGgAAAAAAAAAQQAAAHAAAAByAAAAaQAAAGwAAAAAAAAATQAAAGEAAAB5AAAAAAAAAEoAAAB1AAAAbgAAAGUAAAAAAAAASgAAAHUAAABsAAAAeQAAAAAAAABBAAAAdQAAAGcAAAB1AAAAcwAAAHQAAAAAAAAAUwAAAGUAAABwAAAAdAAAAGUAAABtAAAAYgAAAGUAAAByAAAAAAAAAE8AAABjAAAAdAAAAG8AAABiAAAAZQAAAHIAAAAAAAAATgAAAG8AAAB2AAAAZQAAAG0AAABiAAAAZQAAAHIAAAAAAAAARAAAAGUAAABjAAAAZQAAAG0AAABiAAAAZQAAAHIAAAAAAAAASgAAAGEAAABuAAAAAAAAAEYAAABlAAAAYgAAAAAAAABNAAAAYQAAAHIAAAAAAAAAQQAAAHAAAAByAAAAAAAAAEoAAAB1AAAAbgAAAAAAAABKAAAAdQAAAGwAAAAAAAAAQQAAAHUAAABnAAAAAAAAAFMAAABlAAAAcAAAAAAAAABPAAAAYwAAAHQAAAAAAAAATgAAAG8AAAB2AAAAAAAAAEQAAABlAAAAYwAAAAAAAABBAAAATQAAAAAAAABQAAAATQ=="),t0(K,66876,"PPoAAPIEAADzBAAA9AQAAPUEAAD2BAAA9wQAAPgEAAAAAAAAKPsAAAIFAAADBQAABAUAAAUFAAAGBQAABwUAAAgFAAAAAAAAsAUBAEsFAABMBQAAWwMAAE5TdDNfXzIxNF9fc2hhcmVkX2NvdW50RQAAAAC8CAEAlAUBAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRFAAAAQAkBALgFAQAAAAAAAQAAALAFAQ=="),t0(K,67060,"HAYBAJcBAABNBQAATgUAAE5TdDNfXzIxMmJhZF93ZWFrX3B0ckUAAOQIAQAEBgEA/AkBAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAAAAAOQIAQAoBgEA8AoBAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQAAAOQIAQBYBgEATAYBAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQAAAOQIAQCIBgEATAYBAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAOQIAQC4BgEArAYBAE4xMF9fY3h4YWJpdjEyMF9fZnVuY3Rpb25fdHlwZV9pbmZvRQAAAADkCAEA6AYBAEwGAQBOMTBfX2N4eGFiaXYxMjlfX3BvaW50ZXJfdG9fbWVtYmVyX3R5cGVfaW5mb0UAAADkCAEAHAcBAKwGAQAAAAAAnAcBAE8FAABQBQAAUQUAAFIFAABTBQAATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAOQIAQB0BwEATAYBAHYAAABgBwEAqAcBAERuAABgBwEAtAcBAGIAAABgBwEAwAcBAGMAAABgBwEAzAcBAGgAAABgBwEA2AcBAGEAAABgBwEA5AcBAHMAAABgBwEA8AcBAHQAAABgBwEA/AcBAGkAAABgBwEACAgBAGoAAABgBwEAFAgBAGwAAABgBwEAIAgBAG0AAABgBwEALAgBAHgAAABgBwEAOAgBAHkAAABgBwEARAgBAGYAAABgBwEAUAgBAGQAAABgBwEAXAgBAAAAAACoCAEATwUAAFQFAABRBQAAUgUAAFUFAABOMTBfX2N4eGFiaXYxMTZfX2VudW1fdHlwZV9pbmZvRQAAAADkCAEAhAgBAEwGAQAAAAAAfAYBAE8FAABWBQAAUQUAAFIFAABXBQAAWAUAAFkFAABaBQAAAAAAACwJAQBPBQAAWwUAAFEFAABSBQAAVwUAAFwFAABdBQAAXgUAAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQAAAADkCAEABAkBAHwGAQAAAAAAiAkBAE8FAABfBQAAUQUAAFIFAABXBQAAYAUAAGEFAABiBQAATjEwX19jeHhhYml2MTIxX192bWlfY2xhc3NfdHlwZV9pbmZvRQAAAOQIAQBgCQEAfAYBAAAAAADcBgEATwUAAGMFAABRBQAAUgUAAGQFAAAAAAAAFAoBABQAAABlBQAAZgUAAAAAAAA8CgEAFAAAAGcFAABoBQAAAAAAAPwJAQAUAAAAaQUAAGoFAABTdDlleGNlcHRpb24AAAAAvAgBAOwJAQBTdDliYWRfYWxsb2MAAAAA5AgBAAQKAQD8CQEAU3QyMGJhZF9hcnJheV9uZXdfbGVuZ3RoAAAAAOQIAQAgCgEAFAoBAAAAAABsCgEAAQAAAGsFAABsBQAAU3QxMWxvZ2ljX2Vycm9yAOQIAQBcCgEA/AkBAAAAAACgCgEAAQAAAG0FAABsBQAAU3QxMmxlbmd0aF9lcnJvcgAAAADkCAEAjAoBAGwKAQAAAAAA1AoBAAEAAABuBQAAbAUAAFN0MTJvdXRfb2ZfcmFuZ2UAAAAA5AgBAMAKAQBsCgEAU3Q5dHlwZV9pbmZvAAAAALwIAQDgCgE="),t0(K,68356,"aAsBAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAAAAAB0CwEACAAAAAkAAAAKAAAACwAAAAwAAAANAAAAAAAAAIALAQAOAAAADwAAABAAAAARAAAAEgAAABMAAAC8CAEAFwQAAOQIAQAABAAAYAsBAOQIAQAmBAAAYAsBAOQIAQA8BAAAYAsBAAAAAADUCwEAFQAAABYAAAAXAAAAGAAAAAAAAADEEQEAGQAAABoAAAAbAAAAGAAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAALwIAQBzegAA5AgBAG56AADUCwEA5AgBAIh6AADcCwEA5AgBAH56AADoCwEAAAAAANwLAQAZAAAAIgAAACMAAAAYAAAAJAAAAB0AAAAeAAAAJQAAACAAAAAhAAAAAAAAAGAMAQAmAAAAJwAAACgAAAAYAAAAKQAAAB0AAAAeAAAAKgAAACAAAAAhAAAA5AgBAJF6AADcCwEAAAAAAJwMAQArAAAALAAAAC0AAAAYAAAALgAAAB0AAAAeAAAALwAAACAAAAAhAAAA5AgBAJx6AADcCwEAAAAAANgMAQAZAAAAMAAAADEAAAAyAAAAJAAAADMAAAAeAAAANAAAADUAAAA2AAAA5AgBAKZ6AADoCwEAAAAAABQNAQA3AAAAOAAAADkAAAAyAAAAOgAAADMAAAAeAAAAOwAAADUAAAA2AAAA5AgBALB6AADoCwEAAAAAAFANAQAZAAAAPAAAAD0AAAAyAAAAPgAAAD8AAAAeAAAAQAAAADUAAAA2AAAA5AgBALp6AADoCwEAAAAAAIwNAQBBAAAAQgAAAEMAAAAyAAAARAAAAEUAAAAeAAAARgAAADUAAAA2AAAA5AgBAMR6AADoCwEAAAAAAMgNAQBHAAAASAAAAEkAAAAyAAAASgAAAEsAAAAeAAAATAAAADUAAAA2AAAA5AgBAM56AADoCwEAAAAAAAQOAQAZAAAATQAAAE4AAAAyAAAATwAAAFAAAAAeAAAAUQAAADUAAAA2AAAA5AgBANh6AADoCwEAAAAAAEAOAQAZAAAAUgAAAFMAAAAYAAAAJAAAAB0AAAAeAAAAVAAAACAAAAAhAAAA5AgBAOJ6AADcCwEAAAAAAHwOAQAZAAAAVQAAAFYAAAAYAAAAJAAAAB0AAAAeAAAAVwAAACAAAAAhAAAA5AgBAOx6AADcCwEAAAAAAPQLAQAZAAAAWAAAAFkAAAAyAAAAWgAAADMAAABbAAAAXAAAADUAAAA2AAAAAAAAAOgOAQBdAAAAXgAAAF8AAAAyAAAAYAAAAGEAAAAeAAAAYgAAADUAAAA2AAAA5AgBAPZ6AADoCwEAAAAAACQPAQBjAAAAZAAAAGUAAAAyAAAAZgAAADMAAAAeAAAAZwAAADUAAAA2AAAA5AgBAAB7AADoCwEAAAAAAGAPAQAZAAAAaAAAAGkAAAAYAAAAagAAAB0AAAAeAAAAawAAACAAAAAhAAAA5AgBAAp7AADcCwEAAAAAAJwPAQAZAAAAbAAAAG0AAAAYAAAAbgAAAB0AAAAeAAAAbwAAACAAAAAhAAAA5AgBABR7AADcCwEAAAAAANgPAQAZAAAAcAAAAHEAAAAYAAAAcgAAAB0AAAAeAAAAcwAAACAAAAAhAAAA5AgBAB57AADcCwEAAAAAABQQAQB0AAAAdQAAAHYAAAAyAAAAdwAAAHgAAAAeAAAAeQAAADUAAAA2AAAA5AgBACh7AADoCwEAAAAAAFAQAQB6AAAAewAAAHwAAAAyAAAAfQAAADMAAAAeAAAAfgAAADUAAAA2AAAA5AgBADJ7AADoCwEAAAAAAIwQAQAZAAAAfwAAAIAAAAAYAAAAgQAAAB0AAAAeAAAAggAAACAAAAAhAAAA5AgBADx7AADcCwEAAAAAAMgQAQAZAAAAgwAAAIQAAAAYAAAAhQAAAB0AAAAeAAAAhgAAACAAAAAhAAAA5AgBAEZ7AADcCwEAAAAAAAQRAQAZAAAAhwAAAIgAAAAYAAAAiQAAAB0AAAAeAAAAigAAACAAAAAhAAAA5AgBAFB7AADcCwEAAAAAAEARAQAZAAAAiwAAAIwAAAAyAAAAjQAAADMAAAAeAAAAjgAAADUAAAA2AAAA5AgBAFp7AADoCwEAAAAAAHwRAQAZAAAAjwAAAJAAAAAyAAAAkQAAADMAAAAeAAAAkgAAADUAAAA2AAAA5AgBAGR7AADoCwEAAAAAALgRAQCTAAAAlAAAAJUAAAAyAAAAlgAAADMAAAAeAAAAlwAAADUAAAA2AAAA5AgBAG57AADoCwEA5AgBAHh7AADcCwEAAAAAAAASAQCYAAAAmQAAAJoAAAAYAAAAmwAAAB0AAAAeAAAAnAAAACAAAAAhAAAA5AgBAIJ7AADcCwEAAAAAADwSAQAZAAAAnQAAAJ4AAAAYAAAAJAAAAB0AAAAeAAAAnwAAACAAAAAhAAAA5AgBAIx7AADcCwEAAAAAAHgSAQCgAAAAoQAAAKIAAAAyAAAAJAAAADMAAAAeAAAAowAAADUAAAA2AAAA5AgBAJZ7AADoCwEAAAAAALQSAQCgAAAApAAAAKUAAAAyAAAAJAAAADMAAAAeAAAApgAAADUAAAA2AAAA5AgBAKp7AAB4EgEAAAAAAPASAQCnAAAAqAAAAKkAAAAyAAAAJAAAADMAAAAeAAAAqgAAADUAAAA2AAAA5AgBALR7AAB4EgEAAAAAACwTAQAZAAAAqwAAAKwAAAAYAAAAJAAAAB0AAAAeAAAArQAAACAAAAAhAAAA5AgBAL57AADcCwEAAAAAAGgTAQAZAAAArgAAAK8AAAAyAAAAJAAAADMAAAAeAAAAsAAAADUAAAA2AAAA5AgBAMh7AADoCwEAAAAAAKQTAQCxAAAAsgAAALMAAAAyAAAAJAAAADMAAAAeAAAAtAAAADUAAAA2AAAA5AgBANJ7AADoCwEAAAAAAMwTAQC1AAAAtgAAALcAAAC4AAAAuQAAAOQIAQDbewAA2AUBAAAAAAD0EwEAugAAALsAAAC8AAAAuAAAAL0AAADkCAEAGHwAANgFAQAAAAAAHBQBAL4AAAC/AAAAwAAAALgAAADBAAAA5AgBAFV8AADYBQEAAAAAAEQUAQDCAAAAwwAAAMQAAAC4AAAAxQAAAOQIAQCSfAAA2AUBAAAAAABsFAEAxgAAAMcAAADIAAAAuAAAAMkAAADkCAEAz3wAANgFAQAAAAAAlBQBAMoAAADLAAAAzAAAALgAAADNAAAA5AgBAAx9AADYBQEAAAAAALwUAQDOAAAAzwAAANAAAAC4AAAA0QAAAOQIAQBJfQAA2AUBAAAAAADkFAEA0gAAANMAAADUAAAAuAAAANUAAADkCAEAhn0AANgFAQAAAAAADBUBANYAAADXAAAA2AAAALgAAADZAAAA5AgBAMN9AADYBQEAAAAAADQVAQDaAAAA2wAAANwAAAC4AAAA3QAAAOQIAQAAfgAA2AUBAAAAAABcFQEA3gAAAN8AAADgAAAAuAAAAOEAAADkCAEAPX4AANgFAQAAAAAAhBUBAOIAAADjAAAA5AAAALgAAADlAAAA5AgBAHp+AADYBQEAAAAAAKwVAQDmAAAA5wAAAOgAAAC4AAAA6QAAAOQIAQC3fgAA2AUBAAAAAADUFQEA6gAAAOsAAADsAAAAuAAAAO0AAADkCAEA9H4AANgFAQAAAAAA/BUBAO4AAADvAAAA8AAAALgAAADxAAAA5AgBADF/AADYBQEAAAAAACQWAQDyAAAA8wAAAPQAAAC4AAAA9QAAAOQIAQBufwAA2AUBAAAAAABMFgEA9gAAAPcAAAD4AAAAuAAAAPkAAADkCAEAq38AANgFAQAAAAAAdBYBAPoAAAD7AAAA/AAAALgAAAD9AAAA5AgBAOh/AADYBQEAAAAAAJwWAQD+AAAA/wAAAAABAAC4AAAAAQEAAOQIAQAlgAAA2AUBAAAAAADEFgEAAgEAAAMBAAAEAQAAuAAAAAUBAADkCAEAYoAAANgFAQAAAAAA7BYBAAYBAAAHAQAACAEAALgAAAAJAQAA5AgBAJ+AAADYBQEAAAAAABQXAQAKAQAACwEAAAwBAAC4AAAADQEAAOQIAQDcgAAA2AUBAAAAAAA8FwEADgEAAA8BAAAQAQAAuAAAABEBAADkCAEAGYEAANgFAQAAAAAAZBcBABIBAAATAQAAFAEAALgAAAAVAQAA5AgBAGCBAADYBQEAAAAAAIwXAQAWAQAAFwEAABgBAAC4AAAAGQEAAOQIAQCdgQAA2AUBAAAAAAC0FwEAGgEAABsBAAAcAQAAuAAAAB0BAADkCAEA2oEAANgFAQAAAAAA3BcBAB4BAAAfAQAAIAEAALgAAAAhAQAA5AgBABeCAADYBQEAAAAAAAQYAQAiAQAAIwEAACQBAAC4AAAAJQEAAOQIAQBTggAA2AUBAAAAAAAsGAEAJgEAACcBAAAoAQAAuAAAACkBAADkCAEAkIIAANgFAQAAAAAAVBgBACoBAAArAQAALAEAALgAAAAtAQAA5AgBAM2CAADYBQEAAAAAAHwYAQAuAQAALwEAADABAAC4AAAAMQEAAOQIAQAKgwAA2AUBAAAAAACkGAEAMgEAADMBAAA0AQAAuAAAADUBAADkCAEAR4MAANgFAQAAAAAAzBgBADYBAAA3AQAAOAEAALgAAAA5AQAA5AgBAISDAADYBQEAAAAAAPQYAQA6AQAAOwEAADwBAAC4AAAAPQEAAOQIAQDBgwAA2AUBAAAAAAAcGQEAPgEAAD8BAABAAQAAuAAAAEEBAADkCAEA/oMAANgFAQAAAAAARBkBAEIBAABDAQAARAEAALgAAABFAQAA5AgBADuEAADYBQEAAAAAAGwZAQBGAQAARwEAAEgBAAC4AAAASQEAAOQIAQB4hAAA2AUBAAAAAACUGQEASgEAAEsBAABMAQAAuAAAAE0BAADkCAEAtYQAANgFAQAAAAAAvBkBAE4BAABPAQAAUAEAALgAAABRAQAA5AgBAPKEAADYBQEAAAAAAOQZAQBSAQAAUwEAAFQBAAC4AAAAVQEAAOQIAQAvhQAA2AUBAAAAAAAMGgEAVgEAAFcBAABYAQAAuAAAAFkBAADkCAEAbIUAANgFAQAAAAAANBoBAFoBAABbAQAAXAEAALgAAABdAQAA5AgBAKmFAADYBQEAAAAAAFwaAQBeAQAAXwEAAGABAAC4AAAAYQEAAOQIAQDmhQAA2AUBAAAAAACEGgEAYgEAAGMBAABkAQAAuAAAAGUBAADkCAEAI4YAANgFAQAAAAAArBoBAGYBAABnAQAAaAEAALgAAABpAQAA5AgBAGCGAADYBQEAAAAAANQaAQBqAQAAawEAAGwBAAC4AAAAbQEAAOQIAQCdhgAA2AUBAAAAAAD8GgEAbgEAAG8BAABwAQAAuAAAAHEBAADkCAEA2oYAANgFAQAAAAAAJBsBAHIBAABzAQAAdAEAALgAAAB1AQAA5AgBABKHAADYBQEAcRQAAFCHAAB2CwAA4QoAAM0lAAA0JQAA2xQAAH8UAAC5FAAAlxQAAAonAABZCwAAaRs="),t0(K,72556,"WIcAALwIAQBghwAAAAAAAJQbAQB3AQAAeAEAAHkBAAC4AAAAegEAAOQIAQBwhwAA2AUBAAAAAAC8GwEAewEAAHwBAAB9AQAAuAAAAH4BAADkCAEArYcAANgFAQAAAAAA5BsBAH8BAACAAQAAgQEAALgAAACCAQAA5AgBAO2HAADYBQEAvAgBADaIAAC8CAEAaogAAEAJAQBDiAAAAAAAAAIAAADwGwEAAgAAAPgbAQACCAAAAAAAADwcAQCDAQAAhAEAAIUBAAC4AAAAhgEAAOQIAQCLiAAA2AUBALwIAQDOiAAAAAAAAGwcAQCHAQAAiAEAAIkBAAC4AAAAigEAAOQIAQDfiAAA2AUBAAAAAACUHAEAiwEAAIwBAACNAQAAuAAAAI4BAADkCAEAI4kAANgFAQAAAAAAvBwBAI8BAACQAQAAkQEAALgAAACSAQAA5AgBAJCJAADYBQEAAAAAAOQcAQCTAQAAlAEAAJUBAAC4AAAAlgEAAOQIAQDaiQAA2AUBAAAAAAAMHQEAmgEAAJsBAACcAQAAnQEAAJ4BAADkCAEAWIoAAHAbAQAAAAAANB0BAJ8BAACgAQAAoQEAAKIBAACjAQAA5AgBAGyKAABwGwEAAAAAAHAdAQCkAQAApQEAAKYBAAAYAAAApwEAAB0AAAAeAAAAqAEAACAAAAAhAAAA5AgBAIGKAADcCwEAAAAAAJgdAQCpAQAAqgEAAKsBAAC4AAAArAEAAOQIAQCLigAA2AUBAAQAAAAAAAAAby8AAAAAAADQHQEArQEAAK4BAACvAQAAsAEAALEBAACyAQAA5AgBALSNAABIHAEAAAAAAPwdAQCtAQAAswEAALQBAAC1AQAAtgEAALcBAADkCAEAy40AAEgcAQAAAAAAKB4BAK0BAAC4AQAAuQEAALoBAAC7AQAAvAEAAOQIAQDmjQAASBwBAAAAAABUHgEAvQEAAL4BAAC/AQAAwAEAAMEBAADCAQAA5AgBAP+NAABIHAEAAAAAAIAeAQCtAQAAwwEAAMQBAADFAQAAxgEAAMcBAADkCAEAGI4AAEgcAQAAAAAArB4BAMgBAADJAQAAygEAAMsBAADGAQAAzAEAAOQIAQA4jgAASBwBAAAAAADUHgEAzQEAAM4BAADPAQAAuAAAANABAADkCAEAVI4AANgFAQAAAAAA/B4BANEBAADSAQAA0wEAALgAAADUAQAA5AgBAJ6OAADYBQEAAAAAACQfAQDVAQAA1gEAANcBAAC4AAAA2AEAAOQIAQDsjgAA2AUBAAAAAABMHwEA2QEAANoBAADbAQAAuAAAANwBAADkCAEAOI8AANgFAQAAAAAAdB8BAN0BAADeAQAA3wEAALgAAADgAQAA5AgBAISPAADYBQEAAAAAAJwfAQDhAQAA4gEAAOMBAAC4AAAA5AEAAOQIAQDXjwAA2AUB"),t0(K,73648,"zZMAAAUAAADRBwAAPzEAAAYAAAAAAAAAgiYAAAUAAAAAAAAA50YAAAUAAADTBwAAvxkAAAUAAADWBwAA6yMAAAUAAADVBwAAoBUAAAAgAQC8CAEADJEAABgIAQAYIAEAvAgBAGGRAACcCQEAUZEAAAAAAAAQIAEArAcBABggAQA8IAEAGCABAAAgAQC8CAEAdJEAAEwgAQAAIAEAcAgBAIaRAAAMCAEAGCABAGQgAQAYIAEAvAgBAKGRAABkIAEAGCABABgIAQC8CAEA0pEAAJwJAQC9kQAAAAAAAHggAQBkIAEAgCABAKAgAQCoIAEAcAgBAOaRAABwCAEA+JEAALwIAQA6kgAAnAkBACySAAAAAAAAsCABAHAIAQBHkgAAvAgBAFaSAACsBwEAZCABAKwHAQDoIAEAnAkBAHWSAAABAAAAeCABAAwIAQDoIAEArAcBAAghAQCcCQEAi5IAAAEAAACwIAEAcAgBAJqSAABwCAEArJIAAHAIAQDBkgAAcAgBANuSAABwCAEAAJMAAJwJAQAjkwAAAQAAABAgAQAAAAAAbCEBABcCAAAYAgAAGQIAALgAAAAaAgAA5AgBAEWTAADYBQEAAAAAAJQhAQAbAgAAHAIAAB0CAAC4AAAAHgIAAOQIAQCGkwAA2AUBAJ8sAACfLAAAXCIAAFwiAACfLAAAnywAAFwiAACLLAAAUSIAAHcsAABcIgAAXCIAAFwiAABcIgAA2R8AAO0P"),t0(K,74216,"0w4AAAUAAADVBwAAoBUAAAUAAADWBwAA6yMAAAAAAAA0IgEAHwIAACACAAAhAgAAGAAAACICAAAdAAAAHgAAACMCAAAgAAAAIQAAAOQIAQDVkwAA3AsBAAAAAABcIgEAJAIAACUCAAAmAgAAuAAAACcCAADkCAEA35MAANgFAQAAAAAAABwBACgCAAApAgAAAAAAAKgiAQAqAgAAKwIAACwCAAAYAAAALQIAAB0AAAAeAAAALgIAACAAAAAhAAAA5AgBADmUAADcCwEAAAAAAOQiAQAZAAAALwIAADACAAAYAAAAMQIAAB0AAAAeAAAAMgIAACAAAAAhAAAA5AgBAEOUAADcCwEAAAAAACAjAQAZAAAAMwIAADQCAAAYAAAANQIAAB0AAAAeAAAANgIAACAAAAAhAAAA5AgBAE2UAADcCwEAAAAAAFwjAQA3AgAAOAIAADkCAAAYAAAAOgIAAB0AAAAeAAAAOwIAACAAAAAhAAAA5AgBAFeUAADcCwEAAAAAAJgjAQA8AgAAPQIAAD4CAAAYAAAAPwIAAB0AAAAeAAAAQAIAACAAAAAhAAAA5AgBAGGUAADcCwEAAAAAANQjAQBBAgAAQgIAAEMCAAAYAAAARAIAAB0AAAAeAAAARQIAACAAAAAhAAAA5AgBAGuUAADcCwEAAAAAABAkAQBGAgAARwIAAEgCAAAYAAAASQIAAB0AAAAeAAAASgIAACAAAAAhAAAA5AgBAHWUAADcCwEAAAAAAEwkAQBLAgAATAIAAE0CAAAyAAAATgIAADMAAAAeAAAATwIAADUAAAA2AAAA5AgBAH+UAADoCwEAAAAAAIgkAQAZAAAAUAIAAFECAAAYAAAAJAAAAB0AAAAeAAAAUgIAACAAAAAhAAAA5AgBAImUAADcCwE="),t0(K,74912,"9hcAADNDAACRQQAA/0AAAAAAAADgJAEAUwIAAFQCAABVAgAAMgAAAFYCAAAzAAAAHgAAAFcCAAA1AAAANgAAAOQIAQCTlAAA6AsBAP06AAAHOwAAIjoAACY6AAAqOgAAOToAAC46AAALOwAAAAAAADwlAQBYAgAAWQIAAFoCAAAYAAAAWwIAAB0AAAAeAAAAXAIAACAAAAAhAAAA5AgBAJ2UAADcCwEAAAAAAHglAQAZAAAAXQIAAF4CAAAyAAAAXwIAADMAAAAeAAAAYAIAADUAAAA2AAAA5AgBAKeUAADoCwEAAAAAAKAlAQBiAgAAYwIAAGQCAAC4AAAAZQIAAOQIAQCxlAAA2AUBALwIAQD5lAAAAAAAANAlAQBmAgAAZwIAAGgCAAC4AAAAaQIAAOQIAQAUlQAA2AUBAAAAAAD4JQEAagIAAGsCAABsAgAAuAAAAG0CAADkCAEAXJUAANgFAQAAAAAAHCYBAG4CAABvAgAAcAIAAHECAADkCAEApJUAAKwlAQAAAAAARCYBAHICAABzAgAAdAIAALgAAAB1AgAA5AgBALmVAADYBQEAAAAAAGgmAQBuAgAAdgIAAHcCAAB4AgAA5AgBAAGWAACsJQEAAAAAAJAmAQB5AgAAegIAAHsCAAC4AAAAfAIAAOQIAQAWlgAA2AUBAAAAAAC4JgEAfQIAAH4CAAB/AgAAuAAAAIACAADkCAEAYJYAANgFAQAAAAAA4CYBAIECAACCAgAAgwIAALgAAACEAgAA5AgBAKqWAADYBQEAAAAAAAgnAQCFAgAAhgIAAIcCAAC4AAAAiAIAAOQIAQD3lgAA2AUBAAAAAAAwJwEAiQIAAIoCAACLAgAAuAAAAIwCAADkCAEARpcAANgFAQAAAAAAWCcBAI0CAACOAgAAjwIAALgAAACQAgAA5AgBAJGXAADYBQEAAAAAAIAnAQCRAgAAkgIAAJMCAAC4AAAAlAIAAOQIAQDalwAA2AUBAAAAAACoJwEAlQIAAJYCAACXAgAAuAAAAJgCAADkCAEAI5gAANgFAQAAAAAA0CcBAJkCAACaAgAAmwIAALgAAACcAgAA5AgBAHSYAADYBQEAAAAAAPgnAQCdAgAAngIAAJ8CAAC4AAAAoAIAAOQIAQDDmAAA2AUBAAAAAAAgKAEAoQIAAKICAACjAgAAuAAAAKQCAADkCAEADZkAANgFAQAAAAAARCgBAG4CAAClAgAApgIAAKcCAADkCAEAVZkAAKwlAQAAAAAAbCgBAKgCAACpAgAAqgIAALgAAACrAgAA5AgBAGqZAADYBQEAAAAAAJAoAQBuAgAArAIAAK0CAACuAgAA5AgBALKZAACsJQEAAAAAALgoAQCvAgAAsAIAALECAAC4AAAAsgIAAOQIAQDHmQAA2AUBAAAAAADgKAEAswIAALQCAAC1AgAAuAAAALYCAADkCAEAGJoAANgFAQAAAAAACCkBALcCAAC4AgAAuQIAALgAAAC6AgAA5AgBAGmaAADYBQEAAAAAADApAQC7AgAAvAIAAL0CAAC4AAAAvgIAAOQIAQCymgAA2AUBAAAAAABYKQEAvwIAAMACAADBAgAAuAAAAMICAADkCAEA+JoAANgFAQAAAAAAgCkBAMMCAADEAgAAxQIAALgAAADGAgAA5AgBAD6bAADYBQEAAAAAAKQpAQBuAgAAxwIAAMgCAADJAgAA5AgBAJebAACsJQEAAAAAAMwpAQDKAgAAywIAAMwCAAC4AAAAzQIAAOQIAQC9mwAA2AUBAAAAAADwKQEAbgIAAM4CAADPAgAA0AIAAOQIAQAWnAAArCUBAAAAAAAYKgEA0QIAANICAADTAgAAuAAAANQCAADkCAEAPJwAANgFAQAAAAAAPCoBAG4CAADVAgAA1gIAANcCAADkCAEAlZwAAKwlAQAAAAAAZCoBANgCAADZAgAA2gIAALgAAADbAgAA5AgBALucAADYBQEAAAAAAIgqAQBuAgAA3AIAAN0CAADeAgAA5AgBABSdAACsJQEAAAAAALAqAQDfAgAA4AIAAOECAAC4AAAA4gIAAOQIAQA6nQAA2AUBAAAAAADUKgEAbgIAAOMCAADkAgAA5QIAAOQIAQCSnQAArCUBAAAAAAD8KgEA5gIAAOcCAADoAgAAuAAAAOkCAADkCAEAt50AANgFAQAAAAAAICsBAG4CAADqAgAA6wIAAOwCAADkCAEAD54AAKwlAQAAAAAASCsBAO0CAADuAgAA7wIAALgAAADwAgAA5AgBADSeAADYBQEAAAAAAGwrAQBuAgAA8QIAAPICAADzAgAA5AgBAIyeAACsJQEAAAAAAJQrAQD0AgAA9QIAAPYCAAC4AAAA9wIAAOQIAQCxngAA2AUBAAAAAAC4KwEAbgIAAPgCAAD5AgAA+gIAAOQIAQAJnwAArCUBAAAAAADgKwEA+wIAAPwCAAD9AgAAuAAAAP4CAADkCAEALp8AANgFAQAAAAAABCwBAG4CAAD/AgAAAAMAAAEDAADkCAEAgZ8AAKwlAQAAAAAAKCwBAG4CAAACAwAAAwMAAAQDAADkCAEAn58AAKwlAQAAAAAATCwBAG4CAAAFAwAABgMAAAcDAADkCAEAtp8AAKwlAQAAAAAAcCwBAG4CAAAIAwAACQMAAAoDAADkCAEA1J8AAKwlAQAAAAAAlCwBAG4CAAALAwAADAMAAA0DAADkCAEA9J8AAKwlAQAAAAAAuCwBAG4CAAAOAwAADwMAABADAADkCAEAC6AAAKwlAQAAAAAA3CwBAG4CAAARAwAAEgMAABMDAADkCAEAIqAAAKwlAQAAAAAAAC0BAG4CAAAUAwAAFQMAABYDAADkCAEAPKAAAKwlAQAAAAAAJC0BAG4CAAAXAwAAGAMAABkDAADkCAEAUaAAAKwlAQAAAAAASC0BAG4CAAAaAwAAGwMAABwDAADkCAEAbaAAAKwlAQAAAAAAbC0BAG4CAAAdAwAAHgMAAB8DAADkCAEAhaAAAKwlAQAAAAAAkC0BAG4CAAAgAwAAIQMAACIDAADkCAEAoaAAAKwlAQAAAAAAtC0BAG4CAAAjAwAAJAMAACUDAADkCAEAtqAAAKwlAQAAAAAA2C0BAG4CAAAmAwAAJwMAACgDAADkCAEA5KAAAKwlAQAAAAAA/C0BAG4CAAApAwAAKgMAACsDAADkCAEA+qAAAKwlAQAAAAAAIC4BAG4CAAAsAwAALQMAAC4DAADkCAEALKEAAKwlAQAAAAAARC4BAG4CAAAvAwAAMAMAADEDAADkCAEAP6EAAKwlAQAAAAAAaC4BAG4CAAAyAwAAMwMAADQDAADkCAEAUqEAAKwlAQADAAAANQMAADYDAAA3AwAAOAMAADkDAAA6AwAAOwMAADwDAAA9AwAAzUAAAAcAAABkAAAAcKE="),t0(K,77492,"aKEAAAMAAAAJAAAAlR4AADwAAAABAAAAAQAAAD4DAAA/AwAAQAMAAEEDAABCAwAAQwMAAEQDAABFAwAARgMAAEcDAABIAwAASQMAAEoDAABLAwAATAMAAE0DAABOAwAATwMAAFADAABRAwAAUgMAAFMDAAAAAAAAvQMAAL4D"),t0(K,77632,"EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAREBEQERIREhIREhUTFBUUExUYFhYYGBYWGBkZGx4bGRkdHyMjHx0kKSwpJC82Ni9BRkFYWHMQEBAQEBAQEBAQERERERESEhISEhIUFBQUFBQUGBgYGBgYGBgZGRkZGRkZHBwcHBwcISEhISEpKSkpNjY2R0dbBQ=="),t0(K,77788,"ywM="),t0(K,77812,"zAMAAM0DAADwdgE="),t0(K,77836,"Ag=="),t0(K,77852,"//////////8="),t0(K,77920,"0C8BAAAAAAAF"),t0(K,77940,"zgM="),t0(K,77964,"zAMAAM8DAAD4dgEAAAQ="),t0(K,77988,"AQ=="),t0(K,78004,"/////wo="),t0(K,78072,"aDABAHCNAgAJ"),t0(K,78092,"ywM="),t0(K,78112,"0wMAAAAAAADNAwAA+HwBAAAE"),t0(K,78156,"/////w=="),t0(K,78224,"JW0vJWQvJXkAAAAIJUg6JU06JVMAAAAI")}var R0=new ArrayBuffer(16),e2=new Int32Array(R0),u2=new Float32Array(R0),k2=new Float64Array(R0);function j0(n1){return e2[n1]}function N2(n1,C2){e2[n1]=C2}function m1(){return k2[0]}function U2(n1){k2[0]=n1}function P(){throw new Error("abort")}function s1(n1){u2[2]=n1}function l8(){return u2[2]}function u4(n1){var C2=new ArrayBuffer(16973824),l=new Int8Array(C2),X=new Int16Array(C2),i=new Int32Array(C2),s=new Uint8Array(C2),Q=new Uint16Array(C2),k0=new Uint32Array(C2),Z0=new Float32Array(C2),i0=new Float64Array(C2),m=Math.imul,Y=Math.fround,d0=Math.abs,$2=Math.clz32,UU=Math.min,MU=Math.max,us=Math.floor,b5=Math.ceil,xU=Math.trunc,ss=Math.sqrt,V2=n1.a,C0=V2.a,V0=V2.b,t1=V2.c,R1=V2.d,j1=V2.e,k4=V2.f,g4=V2.g,H4=V2.h,u8=V2.i,s8=V2.j,hr=V2.k,wr=V2.l,oA=V2.m,lA=V2.n,uA=V2.o,sA=V2.p,d5=V2.q,c5=V2.r,ik=V2.s,rk=V2.t,ek=V2.u,hs=V2.v,ws=V2.w,_s=V2.x,vs=V2.y,ms=V2.z,Bs=V2.A,Zs=V2.B,ps=V2.C,Ws=V2.D,Xs=V2.E,Gs=V2.F,Cs=V2.G,Vs=V2.H,Is=V2.I,Qs=V2.J,ys=V2.K,Fs=V2.L,Es=V2.M,Ys=V2.N,Js=V2.O,B=167280,d8=0,c8=0,w0=0;function Ak(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0;d=B-16|0,B=d;i:{r:{e:{A:{if(A=i[f+580>>2],A){r=f+549|0;break A}if(k=s[f+548|0],!(!(k&1)&s[f+549|0]!=1|i[f+3208>>2]!=i[f+3212>>2])){if(Ut(f+2140|0),!e)break e;i[e>>2]=i[f+2192>>2];break e}if(r=f+549|0,l[f+549|0]&1|(A|k&1))break A;if(r=13,!e)break e;i[e>>2]=1;break e}if(!B9(f+2140|0,0)){if(r=9,!e)break e;i[e>>2]=1;break e}l[d+15|0]=0,A=i[f+580>>2];A:{f:{if(A){if(A&&(k=i[f+564>>2],r=i[f+576>>2],C=i[i[k+(r>>>8&16777212)>>2]+((r&1023)<<2)>>2],i[f+580>>2]=A-1,r=r+1|0,i[f+576>>2]=r,r>>>0>=2048&&(G(i[k>>2]),i[f+564>>2]=i[f+564>>2]+4,i[f+576>>2]=i[f+576>>2]-1024),i[f+584>>2]=i[f+584>>2]-i[C+24>>2]),!C)break r;S=B-32|0,B=S,Z=i[C+20>>2],h=i[C+24>>2],r=S+8|0,i[r+16>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[r+4>>2]=h,i[r>>2]=Z,k=-64;k:{if(!h||(i[r>>2]=Z+1,A=s[Z|0],t=h-1|0,i[r+4>>2]=t,i[r+8>>2]=0,A=A<<24,i[r+12>>2]=A,!t)||(i[r>>2]=Z+2,t=s[Z+1|0],_=h-2|0,i[r+4>>2]=_,i[r+8>>2]=w,A=t<<16|A,i[r+12>>2]=A,!_)||(i[r>>2]=Z+3,t=s[Z+2|0],_=h-3|0,i[r+4>>2]=_,A=t<<8|A,t=A,i[r+8>>2]=w,i[r+12>>2]=A,!_)||(i[r>>2]=Z+4,A=s[Z+3|0],_=h-4|0,i[r+4>>2]=_,i[r+8>>2]=u,A=A|t,i[r+12>>2]=A,!_)||(i[r>>2]=Z+5,t=s[Z+4|0],_=h-5|0,i[r+4>>2]=_,u=A,A=t,t=A>>>8|0,w=A<<24|w,i[r+8>>2]=w,A=t|u,i[r+12>>2]=A,!_)||(i[r>>2]=Z+6,t=s[Z+5|0],_=h-6|0,i[r+4>>2]=_,w=t<<16|w,i[r+8>>2]=w,A=t>>>16|A,i[r+12>>2]=A,!_)||(i[r>>2]=Z+7,t=s[Z+6|0],_=h-7|0,i[r+4>>2]=_,u=A,A=t,t=A>>>24|0,A=A<<8|w,i[r+8>>2]=A,t=t|u,i[r+12>>2]=t,!_))break k;i[r>>2]=Z+8,k=s[Z+7|0],i[r+4>>2]=h-8,i[r+8>>2]=A|k,i[r+12>>2]=t,k=-56}i[r+16>>2]=(((h>>>0>=7?7:h)<<3)+k|0)- -64,l[S+7|0]=0,l[S+5|0]=0,l[S+6|0]=0,ni(r,1),j=S,L=u0(r,6),l[j+5|0]=L,j=S,L=u0(r,6),l[j+6|0]=L,j=S,L=u0(r,3)-1|0,l[j+7|0]=L,r=s[S+5|0],l[f+3204|0]=r,l[f+3206|0]=(r&248)==16,l[f+3205|0]=(r-19&255)>>>0<2;k:{if(s[S+6|0]){w4(f+548|0,C);break k}if(i[f+1904>>2]<s[S+7|0]){w4(f+548|0,C);break k}if(r>>>0<=31){o=f,f=S+8|0,t=C,Z=B-16|0,B=Z,A=U(1364),i[A+792>>2]=0,i[A+784>>2]=0,i[A+788>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,q=A+1340|0,r=q,i[r>>2]=0,i[r+4>>2]=0,i[A+1360>>2]=0,i[A+1352>>2]=0,i[A+1356>>2]=0,r=i[A+8>>2],i[A+4>>2]=0,i[A+8>>2]=0;n:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break n;V[i[i[r>>2]+8>>2]](r),g(r)}l[A+40|0]=0,i[A+36>>2]=0,l[A+20|0]=0,i[A+16>>2]=0,X[A+12>>1]=0,i[A>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,X[A+32>>1]=0,Ue(A+42|0),i[A+776>>2]=0,i[A+780>>2]=0,B0(A+144|0,0,237),B0(A+384|0,0,358),l[A+759|0]=0,l[A+760|0]=0,l[A+761|0]=0,l[A+762|0]=0,i[A+752>>2]=0,i[A+756>>2]=0,i[A+744>>2]=0,i[A+748>>2]=0,i[A+764>>2]=0,i[A+768>>2]=0,l[A+772|0]=0,i[A+796>>2]=0,i[A+800>>2]=0,i[A+804>>2]=0,i[A+808>>2]=0,i[A+812>>2]=0,i[A+816>>2]=0,i[A+788>>2]=i[A+784>>2],Ue(A+820|0),B0(A+920|0,0,420),l[A+1348|0]=0,i[A+1356>>2]=i[A+1352>>2],C=f,l[Z+15|0]=0,f=i[A+8>>2],i[A+4>>2]=0,i[A+8>>2]=0;n:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break n;V[i[i[f>>2]+8>>2]](f),g(f)}l[A+40|0]=0,i[A+36>>2]=0,l[A+20|0]=0,i[A+16>>2]=0,X[A+12>>1]=0,i[A>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,X[A+32>>1]=0,k=A+42|0,Ue(k),i[A+776>>2]=0,i[A+780>>2]=0,_=B0(A+144|0,0,237),w=B0(A+384|0,0,358),l[A+759|0]=0,l[A+760|0]=0,l[A+761|0]=0,l[A+762|0]=0,i[A+752>>2]=0,i[A+756>>2]=0,i[A+744>>2]=0,i[A+748>>2]=0,i[A+764>>2]=0,i[A+768>>2]=0,l[A+772|0]=0,i[A+796>>2]=0,i[A+800>>2]=0,i[A+804>>2]=0,i[A+808>>2]=0,i[A+812>>2]=0,i[A+816>>2]=0,i[A+788>>2]=i[A+784>>2],v=A+820|0,Ue(v),B0(A+920|0,0,420),l[A+1348|0]=0,l[A+20|0]=0,i[A+1356>>2]=i[A+1352>>2],j=A,L=u0(C,1),l[j+12|0]=L,s[o+3206|0]&&(j=A,L=u0(C,1),l[j+13|0]=L),f=M0(C),i[A+16>>2]=f;n:{t:{o:{u:{l:{if(!((f|0)!=-99999&(f|0)<=63)||(f=o+(f<<3)|0,n=i[f+856>>2],!n))break l;r=i[f+860>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[A+4>>2]=n,f=i[A+8>>2],i[A+8>>2]=r;s:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break s;V[i[i[f>>2]+8>>2]](f),g(f)}if(r=i[A+4>>2],n=i[r+4>>2],!s[n|0]){v2(o+4|0,1010,0);break u}s:{h:{w:{_:{if(!s[A+12|0]){for(f=0,s[r+14|0]?r=u0(C,1):r=0,l[A+20|0]=r,u=i[n+16908>>2];r=f,f=r+1|0,(u|0)>1<<r;);if(h=u0(C,r),p=s[A+20|0],p){if(!h){l[Z+15|0]=0,v2(o+4|0,1021,0),u=0;break n}if(u=16,f=i[o+2220>>2],!f)break n;i[A>>2]=i[f>>2],r=i[f+4>>2],u=i[f+8>>2],u&&(i[u+4>>2]=i[u+4>>2]+1),i[A+4>>2]=r,r=i[A+8>>2],i[A+8>>2]=u;v:{if(!r||(u=i[r+4>>2],i[r+4>>2]=u-1,u))break v;V[i[i[r>>2]+8>>2]](r),g(r)}l0(A+12|0,f+12|0,772);v:{if((f|0)!=(A|0)){r=i[f+784>>2],u=i[f+788>>2],ki(A+784|0,r,u,u-r>>2),l0(A+796|0,f+796|0,544),Ii(A+1340|0,f+1340|0),l[A+1348|0]=s[f+1348|0],r=i[f+1352>>2],f=i[f+1356>>2],ki(A+1352|0,r,f,f-r>>2);break v}l0(A+796|0,f+796|0,544),Ii(A+1340|0,f+1340|0),l[A+1348|0]=s[f+1348|0]}l[A+20|0]=1,l[A+12|0]=0}if(i[A+24>>2]=h,(h|0)<0)break s;if((h|0)<i[n+16908>>2])break _;break s}if(i[A+24>>2]=0,l[A+20|0]=0,i[n+16908>>2]<=0)break s;r=i[A+4>>2];break w}if(r=i[A+4>>2],p)break h}if(f=0,l[r+8240|0]>0)for(;ni(C,1),f=f+1|0,(f|0)<l[i[A+4>>2]+8240|0];);if(f=M0(C),i[A+28>>2]=f,!((f|0)!=-99999&(f|0)<=2)){v2(o+4|0,1007,0);break u}s[i[A+4>>2]+43|0]?f=u0(C,1):f=1,l[A+32|0]=f,s[n+480|0]==1&&(j=A,L=u0(C,2),l[j+33|0]=L),h=0,l[A+40|0]=0,i[A+36>>2]=0;w:{_:{v:{Z:{m:{if((s[o+3204|0]-19&255)>>>0>=2){j=A,L=u0(C,i[n+520>>2]),i[j+36>>2]=L,f=u0(C,1),l[A+40|0]=f;B:{if(!(f&255)){Dk(o+4|0,n,C,k,(i[n+8820>>2]-i[n+8816>>2]|0)/100|0,n+8816|0,1),i[A+816>>2]=(i[n+8820>>2]-i[n+8816>>2]|0)/100;break B}for(k=i[n+8816>>2],h=(i[n+8820>>2]-k|0)/100|0,r=0;f=r,r=r+1|0,1<<f<(h|0););p:{if(!f){f=0;break p}f=u0(C,f),k=i[n+8816>>2],h=(i[n+8820>>2]-k|0)/100|0}if(i[_>>2]=f,(f|0)>=(h|0))break Z;i[A+816>>2]=f,k=m(f,100)+k|0}l0(v,k,100);B:{p:{if(s[n+8828|0]){W:{if(i[n+8832>>2]>0){if(f=M0(C),i[A+148>>2]=f,(f|0)!=-99999)break W;u=8;break n}i[A+148>>2]=0}if(r=M0(C),i[A+152>>2]=r,u=8,(r|0)==-99999)break n;if(f=i[A+148>>2],r=r+f|0,i[(n+(l[n+2|0]<<2)|0)+524>>2]<(s[A+917|0]+(r+s[A+916|0]|0)|0))break v;if((r|0)<=0)break p;for(_=o+2352|0,v=A+268|0,y=A+252|0,W=n+8964|0,I=n+8836|0,z=A+156|0,R=o+2288|0,p=o+2224|0,D=A+236|0,J=A+172|0,h=0,k=0;;){W:{if((f|0)>(k|0)){for(E=i[n+8832>>2],f=0;r=f,f=r+1|0,(E|0)>1<<r;);if(f=k+z|0,r=u0(C,r),l[f|0]=r,r=r&255,(r|0)<i[n+8832>>2]){i[p+(k<<2)>>2]=i[I+(r<<2)>>2],f=W+s[f|0]|0;break W}v2(o+4|0,1023,0);break u}r=k<<2,E=r+J|0,j=E,L=u0(C,i[n+520>>2]),i[j>>2]=L,f=k+D|0,j=f,L=u0(C,1),l[j|0]=L,i[r+p>>2]=i[E>>2]}r=k<<2,E=l[f|0],i[r+R>>2]=E,f=u0(C,1),l[k+y|0]=f;W:{if(f&255){if(f=M0(C),i[r+v>>2]=f,(f|0)!=-99999)break W;break n}f=0,i[r+v>>2]=0}if(h=((E|0)!=0)+h|0,i[r+_>>2]=!k|i[A+148>>2]==(k|0)?f:i[(r+_|0)-4>>2]+f|0,k=k+1|0,f=i[A+148>>2],!((k|0)<(f+i[A+152>>2]|0)))break}break B}i[A+148>>2]=0,i[A+152>>2]=0}h=0}if(s[n+8996|0]){j=A,L=u0(C,1),l[j+332|0]=L;break m}l[A+332|0]=0;break m}i[A+148>>2]=0,i[A+152>>2]=0}m:{if(s[n+8799|0]){if(j=A,L=u0(C,1),l[j+333|0]=L,f=0,!i[n+16848>>2])break m;f=u0(C,1);break m}l[A+333|0]=0,f=0}if(i[A+336>>2]=0,i[A+340>>2]=0,l[A+334|0]=f,k0[A+28>>2]>1)break w;f=u0(C,1),l[A+335|0]=f;m:{if(f&255){if(f=M0(C),i[A+336>>2]=f,(f|0)==-99999)break o;if(f=f+1|0,i[A+336>>2]=f,i[A+28>>2]){r=i[A+340>>2];break m}if(f=M0(C),i[A+340>>2]=f,(f|0)==-99999)break o;r=f+1|0,i[A+340>>2]=r,f=i[A+336>>2];break m}r=i[A+4>>2],f=l[r+17|0],i[A+336>>2]=f,r=l[r+18|0],i[A+340>>2]=r}if(u=8,(f|0)>16|(r|0)>16)break n;k=s[A+919|0]+h|0,i[A+920>>2]=k;m:{B:{if(!(!s[i[A+4>>2]+8233|0]|(k|0)<2)){for(r=0;f=r,r=r+1|0,(k|0)>1<<f;);if(r=u0(C,1),l[A+344|0]=r,!(!(r&255)|i[A+336>>2]<=0))for(k=A+346|0,r=0;j=r+k|0,L=u0(C,f),l[j|0]=L,r=r+1|0,(r|0)<i[A+336>>2];);if(!i[A+28>>2]){if(r=u0(C,1),l[A+345|0]=r,!(r&255)|i[A+340>>2]<=0)break B;for(k=A+362|0,r=0;j=r+k|0,L=u0(C,f),l[j|0]=L,r=r+1|0,(r|0)<i[A+340>>2];);break B}l[A+345|0]=0;break m}X[A+344>>1]=0}if(i[A+28>>2])break m;j=A,L=u0(C,1),l[j+378|0]=L}if(s[i[A+4>>2]+16|0]?f=u0(C,1):f=0,l[A+379|0]=f,!s[A+332|0])break _;f=1,i[A+28>>2]||(f=u0(C,1)),l[A+380|0]=f,r=f&255;m:{if(!(i[A+340>>2]<2|r)||i[A+336>>2]>1&&r){if(r=M0(C),i[w>>2]=r,(r|0)!=-99999){f=s[A+380|0];break m}break o}r=0,i[w>>2]=0}m:{if(f&255){if(i[A+336>>2]<=(r|0))break m;break _}if(i[A+340>>2]>(r|0))break _}break t}v2(o+4|0,1015,0),u=8;break n}v2(o+4|0,1018,0);break u}_:{if(f=i[A+4>>2],r=i[A+28>>2],!(!(r|!s[f+42|0])||(r|0)==1&&s[f+41|0]))break _;v:{Z:{if(f=i[(o+(i[A+16>>2]<<3)|0)+856>>2],f){if(r=i[(o+(l[f+13|0]<<3)|0)+728>>2],!r)break Z;f=M0(C),l[A+388|0]=f,k=0;m:{if(f>>>0>7)break m;if(i[r+476>>2]){if(f=_1(C)+s[A+388|0]|0,f>>>0>7)break m;l[A+389|0]=f}u=A+678|0,_=A+550|0,z=A+518|0,v=A+454|0,p=A+422|0,y=A+390|0,f=0,w=i[A+336>>2];B:{if((w|0)<=0)break B;for(;j=f+y|0,L=u0(C,1),l[j|0]=L,f=f+1|0,(w|0)!=(f|0););if(!(!i[r+476>>2]|(w|0)<=0))for(f=0;j=f+p|0,L=u0(C,1),l[j|0]=L,f=f+1|0,(w|0)!=(f|0););if((w|0)<=0)break B;for(f=0;;){p:{if(s[f+y|0]){if(k=0,h=_1(C),h-128>>>0<4294967040)break v;if(X[v+(f<<1)>>1]=h+(1<<s[A+388|0]),h=_1(C),W=i[r+16996>>2],(h|0)<(0-W|0))break m;if((h|0)<(W|0))break p;break m}X[v+(f<<1)>>1]=1<<s[A+388|0],h=0}l[f+z|0]=h,A0=u+(f<<1)|0;p:{W:{if(s[f+p|0]){if(k=_1(C),k-128>>>0>=4294967040)break W;k=0;break v}k=_+(f<<2)|0,h=1<<s[A+389|0],X[k>>1]=h,l[u+(f<<1)|0]=0,X[k+2>>1]=h,k=0;break p}if(W=_+(f<<2)|0,X[W>>1]=k+(1<<s[A+389|0]),k=0,I=_1(C),h=i[r+17e3>>2],D=h<<2,(I|0)<(0-D|0)|(I|0)>=(D|0)||(D=0-h|0,I=(h+I|0)-(m(h,X[W>>1])>>s[A+389|0])|0,l[u+(f<<1)|0]=(I|0)<(D|0)?D:(h|0)>(I|0)?I:h-1|0,h=_1(C),h-128>>>0<4294967040)||(X[W+2>>1]=h+(1<<s[A+389|0]),I=_1(C),h=i[r+17e3>>2],D=h<<2,(I|0)<(0-D|0)|(I|0)>=(D|0)))break m;D=0-h|0,k=(h+I|0)-(m(h,X[W+2>>1])>>s[A+389|0])|0,k=(k|0)<(D|0)?D:(k|0)<(h|0)?k:h+255|0}if(l[A0+1|0]=k,f=f+1|0,(w|0)==(f|0))break}}if(k=1,i[A+28>>2])break v;if(w=i[A+340>>2],(w|0)<=0)break m;for(f=0;j=f+y|0,L=u0(C,1),l[j+16|0]=L,f=f+1|0,(w|0)!=(f|0););if(!(!i[r+476>>2]|(w|0)<=0))for(f=0;j=f+p|0,L=u0(C,1),l[j+16|0]=L,f=f+1|0,(w|0)!=(f|0););if((w|0)<=0)break m;for(f=0;;){B:{if(s[(f+y|0)+16|0]){if(k=0,h=_1(C),h-128>>>0<4294967040)break v;if(X[(v+(f<<1)|0)+32>>1]=h+(1<<s[A+388|0]),h=_1(C),W=i[r+16996>>2],(h|0)<(0-W|0))break m;if((h|0)<(W|0))break B;break m}X[(v+(f<<1)|0)+32>>1]=1<<s[A+388|0],h=0}l[(f+z|0)+16|0]=h;B:{if(s[(f+p|0)+16|0]){if(k=0,h=_1(C),h-128>>>0<4294967040)break v;if(I=_+(f<<2)|0,R=I- -64|0,X[R>>1]=h+(1<<s[A+389|0]),W=_1(C),h=i[r+17e3>>2],D=h<<2,(W|0)<(0-D|0)|(W|0)>=(D|0)||(D=0-h|0,W=(h+W|0)-(m(h,X[R>>1])>>s[A+389|0])|0,l[(u+(f<<1)|0)+32|0]=(W|0)<(D|0)?D:(h|0)>(W|0)?W:h-1|0,h=_1(C),h-128>>>0<4294967040)||(X[I+66>>1]=h+(1<<s[A+389|0]),W=_1(C),h=i[r+17e3>>2],R=h<<2,(W|0)<(0-R|0)|(W|0)>=(R|0)))break m;R=0-h|0,k=(h+W|0)-(m(h,X[I+66>>1])>>s[A+389|0])|0,h=(k|0)<(R|0)?R:(k|0)<(h|0)?k:h+255|0;break B}k=_+(f<<2)|0,h=1<<s[A+389|0],X[k- -64>>1]=h,l[(u+(f<<1)|0)+32|0]=0,X[k+66>>1]=h,h=0}if(k=1,l[(u+(f<<1)|0)+33|0]=h,f=f+1|0,(w|0)==(f|0))break}}break v}C0(3875,14036,152,10294),P()}C0(3871,14036,154,10294),P()}if(k)break _;break t}if(f=M0(C),i[A+744>>2]=f,(f|0)==-99999)break o;i[A+812>>2]=5-f}if(f=_1(C),i[A+748>>2]=f,(f|0)==-99999)break o;f=i[A+4>>2];w:{if(s[f+40|0]){if(f=_1(C),i[A+752>>2]=f,(f|0)==-99999)break o;if(f=_1(C),i[A+756>>2]=f,(f|0)!=-99999){f=i[A+4>>2];break w}break o}i[A+752>>2]=0,i[A+756>>2]=0}s[f+8248|0]==1&&(j=A,L=u0(C,1),l[j+760|0]=L,f=i[A+4>>2]);w:{_:{if(!s[f+60|0]){l[A+761|0]=0,i[A+764>>2]=i[f+64>>2],i[A+768>>2]=i[f+68>>2];break _}if(r=u0(C,1),l[A+761|0]=r,f=i[A+4>>2],i[A+764>>2]=i[f+64>>2],i[A+768>>2]=i[f+68>>2],!(r&255))break _;if(f=u0(C,1),l[A+762|0]=f,f&255)break w;if(f=_1(C),i[A+764>>2]=f,(f|0)==-99999||(i[A+764>>2]=f<<1,f=_1(C),i[A+768>>2]=f,(f|0)==-99999))break o;i[A+768>>2]=f<<1;break w}l[A+762|0]=s[f+61|0]}if(r=i[A+4>>2],f=s[r+58|0],!(!f|!(!s[A+762|0]||s[A+333|0]|s[A+334|0]))){j=A,L=u0(C,1),l[j+772|0]=L,r=i[A+4>>2];break h}l[A+772|0]=f}h:{if(s[r+46|0]|s[r+45|0]){if(f=M0(C),i[A+776>>2]=f,(f|0)==-99999||(r=i[A+4>>2],!(!s[r+45|0]|i[n+16900>>2]>(f+(i[A+24>>2]/i[n+16892>>2]|0)|0))|!(!s[r+46|0]|(f|0)<=(m(i[r+52>>2],i[r+48>>2])|0))))break o;r=A+784|0,n=i[r>>2],k=i[r+4>>2]-n>>2;w:{if(k>>>0<f>>>0){Qi(r,f-k|0);break w}f>>>0<k>>>0&&(i[r+4>>2]=n+(f<<2))}if(i[A+776>>2]<=0)break h;if(f=M0(C),i[A+780>>2]=f,(f|0)==-99999)break o;if(r=f+1|0,i[A+780>>2]=r,u=8,(f|0)>31)break n;if(i[A+776>>2]<=0||(f=1,r=u0(C,r),i[i[A+784>>2]>>2]=r+1,i[A+776>>2]<2))break h;for(;r=u0(C,i[A+780>>2]),n=i[A+784>>2]+(f<<2)|0,i[n>>2]=(r+i[n-4>>2]|0)+1,f=f+1|0,(f|0)<i[A+776>>2];);break h}i[A+776>>2]=0}h:{if(!s[i[A+4>>2]+8241|0])break h;if(r=M0(C),i[A+796>>2]=r,(r|0)==-99999|(r|0)>1e3)break o;if(f=0,(r|0)<=0)break h;for(;u0(C,8),f=f+1|0,(f|0)<i[A+796>>2];);}i[A+800>>2]=i[A+748>>2]+i[i[A+4>>2]+20>>2],f=0;h:{w:{_:switch(i[A+28>>2]){case 1:f=l[A+379|0]+1|0;break w;case 2:break w;case 0:break _;default:break h}f=2-l[A+379|0]|0}i[A+804>>2]=f}i[A+812>>2]=5-i[A+744>>2],l[Z+15|0]=1,u=0;break n}v2(o+4|0,1020,0),u=8;break n}v2(o+4|0,1009,0),u=0;break n}l[Z+15|0]=0,u=0;break n}v2(o+4|0,1007,0),u=8;break n}v2(o+4|0,8,0),u=8}i[Z+8>>2]=u;n:{t:{o:{if(!s[Z+15|0]){f=i[o+2216>>2],f&&(l[f+312|0]=2),w4(o+548|0,t),f=i[A+1352>>2],f&&(i[A+1356>>2]=f,G(f)),C8(q),f=i[A+784>>2],f&&(i[A+788>>2]=f,G(f)),f=i[A+8>>2];u:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break u;V[i[i[f>>2]+8>>2]](f),g(f)}G(A),n=i[Z+8>>2];break o}if(n=i[o+528>>2],(n|0)>=0)u:{f=B-864|0,B=f,r=49876;l:{s:{h:{w:switch(n-1|0){case 1:r=49872;break;case 0:break w;default:break h}if(r=i[r>>2],c(r,30991,0),n=i[(o+(i[A+16>>2]<<3)|0)+856>>2],!n){c(r,22306,0);break h}if(!s[n|0])break s;if(u=i[(o+(l[n+13|0]<<3)|0)+728>>2],!u){c(r,22282,0);break h}if(!s[u|0])break l;i[f+848>>2]=l[A+12|0],c(r,27520,f+848|0),(s[o+3204|0]&248)==16&&(i[f+832>>2]=l[A+13|0],c(r,28158,f+832|0)),i[f+816>>2]=i[A+16>>2],c(r,28880,f+816|0),s[A+12|0]||(i[f+800>>2]=l[A+20|0],c(r,28115,f+800|0),i[f+784>>2]=i[A+24>>2],c(r,29656,f+784|0)),k=i[A+28>>2],i[f+768>>2]=k?(k|0)==1?80:73:66,c(r,30364,f+768|0),s[n+43|0]&&(i[f+752>>2]=l[A+32|0],c(r,30104,f+752|0)),s[u+480|0]==1&&(i[f+736>>2]=l[A+33|0],c(r,30147,f+736|0)),i[f+720>>2]=i[A+36>>2],c(r,29388,f+720|0);w:{if((s[o+3204|0]-19&255)>>>0<2)break w;i[f+704>>2]=l[A+40|0],c(r,27239,f+704|0),k=i[u+8820>>2]-i[u+8816>>2]|0;_:{v:{if(!s[A+40|0]){i[f+672>>2]=(k|0)/100,c(r,21478,f+672|0),k=A+42|0;break v}if((k|0)<101)break _;i[f+688>>2]=i[A+144>>2],c(r,28611,f+688|0),k=i[u+8816>>2]+m(i[A+144>>2],100)|0}o7(k,r)}if(s[u+8828|0]&&(i[u+8832>>2]>0&&(i[f+656>>2]=i[A+148>>2],c(r,30281,f+656|0)),i[f+640>>2]=i[A+152>>2],c(r,30190,f+640|0)),!s[u+8996|0])break w;i[f+624>>2]=l[A+332|0],c(r,24824,f+624|0)}if(s[u+8799|0]&&(i[f+608>>2]=l[A+333|0],c(r,29277,f+608|0),i[f+592>>2]=l[A+334|0],c(r,28842,f+592|0)),k0[A+28>>2]<=1){i[f+576>>2]=l[A+335|0],c(r,24531,f+576|0),k=s[A+335|0],i[f+560>>2]=i[A+336>>2],i[f+564>>2]=k?31341:18367,c(r,21891,f+560|0),i[A+28>>2]||(k=s[A+335|0],i[f+544>>2]=i[A+340>>2],i[f+548>>2]=k?31341:18367,c(r,21851,f+544|0));w:{if(!s[n+8233|0]|i[A+920>>2]<2)break w;if(i[f+528>>2]=l[A+344|0],c(r,25449,f+528|0),!(!s[A+344|0]|i[A+336>>2]<=0))for(h=A+346|0,k=0;i[f+516>>2]=s[k+h|0],i[f+512>>2]=k,c(r,23514,f+512|0),k=k+1|0,(k|0)<i[A+336>>2];);if(i[f+496>>2]=l[A+345|0],c(r,25409,f+496|0),!s[A+345|0]|i[A+340>>2]<=0)break w;for(h=A+362|0,k=0;i[f+484>>2]=s[k+h|0],i[f+480>>2]=k,c(r,23514,f+480|0),k=k+1|0,(k|0)<i[A+340>>2];);}i[A+28>>2]||(i[f+464>>2]=l[A+378|0],c(r,29589,f+464|0)),i[f+448>>2]=l[A+379|0],c(r,29732,f+448|0),s[A+332|0]&&(i[f+432>>2]=l[A+380|0],c(r,27935,f+432|0),i[f+416>>2]=i[A+384>>2],c(r,29078,f+416|0)),k=i[A+28>>2];w:{if(!(!(k|!s[n+42|0])||(k|0)==1&&s[n+41|0]))break w;if(i[f+400>>2]=s[A+388|0],c(r,28078,f+400|0),i[u+476>>2]&&(i[f+384>>2]=s[A+389|0],c(r,28406,f+384|0)),u=A+678|0,h=A+550|0,w=A+518|0,_=A+454|0,v=i[A+336>>2],(v|0)>0)for(k=0;p=k<<1,i[f+376>>2]=X[p+_>>1],i[f+372>>2]=k,i[f+368>>2]=0,c(r,29315,f+368|0),i[f+360>>2]=l[k+w|0],i[f+356>>2]=k,i[f+352>>2]=0,c(r,29041,f+352|0),y=h+(k<<2)|0,i[f+348>>2]=X[y>>1],i[f+344>>2]=0,i[f+340>>2]=k,i[f+336>>2]=0,c(r,27972,f+336|0),p=u+p|0,i[f+332>>2]=l[p|0],i[f+328>>2]=0,i[f+324>>2]=k,i[f+320>>2]=0,c(r,28010,f+320|0),i[f+316>>2]=X[y+2>>1],i[f+312>>2]=1,i[f+308>>2]=k,i[f+304>>2]=0,c(r,27972,f+304|0),i[f+300>>2]=l[p+1|0],i[f+296>>2]=1,i[f+292>>2]=k,i[f+288>>2]=0,c(r,28010,f+288|0),k=k+1|0,(v|0)!=(k|0););if(i[A+28>>2]||(v=i[A+340>>2],(v|0)<=0))break w;for(k=0;p=k<<1,i[f+280>>2]=X[(p+_|0)+32>>1],i[f+276>>2]=k,i[f+272>>2]=1,c(r,29315,f+272|0),i[f+264>>2]=l[(k+w|0)+16|0],i[f+260>>2]=k,i[f+256>>2]=1,c(r,29041,f+256|0),y=h+(k<<2)|0,i[f+252>>2]=X[y- -64>>1],i[f+248>>2]=0,i[f+244>>2]=k,i[f+240>>2]=1,c(r,27972,f+240|0),p=u+p|0,i[f+236>>2]=l[p+32|0],i[f+232>>2]=0,i[f+228>>2]=k,i[f+224>>2]=1,c(r,28010,f+224|0),i[f+220>>2]=X[y+66>>1],i[f+216>>2]=1,i[f+212>>2]=k,i[f+208>>2]=1,c(r,27972,f+208|0),i[f+204>>2]=l[p+33|0],i[f+200>>2]=1,i[f+196>>2]=k,i[f+192>>2]=1,c(r,28010,f+192|0),k=k+1|0,(v|0)!=(k|0););}i[f+176>>2]=i[A+744>>2],c(r,25798,f+176|0)}if(i[f+160>>2]=i[A+748>>2],c(r,28306,f+160|0),s[n+40|0]&&(i[f+144>>2]=i[A+752>>2],c(r,26696,f+144|0),i[f+128>>2]=i[A+756>>2],c(r,26667,f+128|0)),s[n+60|0]&&(i[f+112>>2]=l[A+761|0],c(r,24493,f+112|0)),k=s[A+761|0],i[f+96>>2]=l[A+762|0],i[f+100>>2]=k?18333:18201,c(r,21804,f+96|0),s[A+762|0]|!s[A+761|0]||(i[f+80>>2]=i[A+764>>2],c(r,25635,f+80|0),i[f+64>>2]=i[A+768>>2],c(r,26250,f- -64|0)),!s[n+58|0]|!(!s[A+762|0]||s[A+333|0]|s[A+334|0])||(i[f+48>>2]=l[A+772|0],c(r,24773,f+48|0)),!(s[n+46|0]|s[n+45|0])||(i[f+32>>2]=i[A+776>>2],c(r,26312,f+32|0),i[A+776>>2]<=0)||(i[f+16>>2]=i[A+780>>2],c(r,29849,f+16|0),i[A+776>>2]<=0))break h;for(k=0;i[f+4>>2]=i[i[A+784>>2]+(k<<2)>>2],i[f>>2]=k,c(r,25347,f),k=k+1|0,(k|0)<i[A+776>>2];);}B=f+864|0;break u}C0(13583,14036,1287,5797),P()}C0(13569,14036,1294,5797),P()}u=i[t+8>>2],I=i[t+12>>2],z=i[t+16>>2],_=B-80|0,B=_,i[Z+8>>2]=0,l[o+3220|0]=0,r=i[A+16>>2],n=o+(r<<3)|0,f=i[n+856>>2];u:{if(!(s[f|0]&&f)){if(i[_>>2]=r,r=B-16|0,B=r,s[95749]|i[23936]<-9999||(f=i[12469],n=s[22330]==42,n||F1(21511,5,1,f),i[r+12>>2]=_,qr(f,n+22330|0,_,976,977),x8(f)),B=r+16|0,f=i[i[o+2216>>2]+112>>2],r=i[f+84>>2],(r|0)==20){i[f+80>>2]=1001,r=0;break u}i[f+84>>2]=r+1,i[(f+(r<<2)|0)+4>>2]=1009,r=0;break u}r=i[n+860>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[o+1384>>2]=f,f=i[o+1388>>2],i[o+1388>>2]=r;l:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break l;V[i[i[f>>2]+8>>2]](f),g(f)}f=o+(l[i[o+1384>>2]+13|0]<<3)|0,n=i[f+728>>2],r=i[f+732>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[o+1376>>2]=n,f=i[o+1380>>2],i[o+1380>>2]=r;l:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break l;V[i[i[f>>2]+8>>2]](f),g(f)}f=o+(l[i[o+1376>>2]+1|0]<<3)|0,n=i[f+600>>2],r=i[f+604>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[o+1368>>2]=n,f=i[o+1372>>2],i[o+1372>>2]=r;l:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break l;V[i[i[f>>2]+8>>2]](f),g(f)}l:{s:{h:{w:{if(f=i[o+1376>>2],!f){if(f=i[o+1368>>2],f)break w;if(f=6,s[o+2108|0]!=6)break s;break l}if(k=l[f+2|0],f=k-1|0,(f|0)!=l[o+2108|0])break h;break l}if(k=i[f+8>>2],l[o+2108|0]==(k-1|0))break l;f=k-1|0}if((k|0)<=0)break l}for(R=o+2112|0,v=o+1908|0,p=f+1|0;;){r=m(f,100),w=(r+100|0)/(p|0)|0,n=(r|0)/(p|0)|0;s:{if((w|0)<(n|0)){r=f;break s}h=i[o+1888>>2];h:{if(n+w&1){r=f,k=n;break h}r=v+(n<<1)|0,l[r+1|0]=(f|0)>(h|0)?100:0,k=r,r=(f|0)<(h|0)?f:h,l[k|0]=r,k=n+1|0}if((n|0)==(w|0))break s;for(y=w-n|0,f=r;W=v+(k<<1)|0,r=(f|0)<(h|0)?f:h,l[W|0]=r,l[W+1|0]=(f|0)>(h|0)?100:(m(k-n|0,100)|0)/(y|0)|0,W=k+1|0,f=v+(W<<1)|0,l[f+1|0]=(m(W-n|0,100)|0)/(y|0),l[f|0]=r,k=k+2|0,f=r,(w|0)!=(W|0););}if(i[R+(r<<2)>>2]=w,f=r-1|0,!((r|0)>0))break}}f=o+(i[o+1892>>2]<<1)|0,r=l[f+1908|0],i[o+1896>>2]=r,i[o+1900>>2]=l[f+1909|0],i[o+1904>>2]=r;l:{s:{if(s[A+12|0]){if(i[o+2196>>2]=i[A+36>>2],r=s[o+533|0],f=i[o+1376>>2],n=s[f+8799|0],i[_+72>>2]=f,f=i[o+1380>>2],i[_+76>>2]=f,f&&(i[f+4>>2]=i[f+4>>2]+1),f=i[_+76>>2],i[_+40>>2]=i[_+72>>2],i[_+44>>2]=f,f=fn(o+2140|0,_+40|0,o,u,I,z,(r|!n)&1),(f|0)<0){r=0,i[Z+8>>2]=0-f;break u}r=0,n=i[o+2148>>2],f>>>0<i[o+2152>>2]-n>>2>>>0&&(r=i[n+(f<<2)>>2]),i[o+2216>>2]=r,l[r+316|0]=s[S+7|0],f=s[S+5|0]|s[S+6|0]<<8,l[r+314|0]=f,l[r+315|0]=f>>>8,f=i[o+2216>>2],i[_+64>>2]=i[o+1368>>2],r=i[o+1372>>2],i[_+68>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),i[_+56>>2]=i[o+1376>>2],r=i[o+1380>>2],i[_+60>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),i[_+48>>2]=i[o+1384>>2],r=i[o+1388>>2],i[_+52>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[_+68>>2],i[_+32>>2]=i[_+64>>2],i[_+36>>2]=r,r=i[_+60>>2],i[_+24>>2]=i[_+56>>2],i[_+28>>2]=r,r=i[_+52>>2],i[_+16>>2]=i[_+48>>2],i[_+20>>2]=r,r=i[_+32>>2],n=i[_+36>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[f+116>>2]=r,r=i[f+120>>2],i[f+120>>2]=n;h:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break h;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[_+24>>2],n=i[_+28>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[f+124>>2]=r,r=i[f+128>>2],i[f+128>>2]=n;h:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break h;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[_+16>>2],n=i[_+20>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[f+132>>2]=r,r=i[f+136>>2],i[f+136>>2]=n;h:{if(!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break h;V[i[i[r>>2]+8>>2]](r),g(r)}f=i[_+20>>2];h:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break h;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[_+28>>2];h:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break h;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[_+36>>2];h:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break h;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[o+2216>>2],i[f+112>>2]=o,k=0,h=0,r=i[f+160>>2],r&&B0(r,0,m(i[f+164>>2],3)),r=i[f+140>>2],r&&B0(r,0,m(i[f+144>>2],24)),r=i[f+260>>2],r&&B0(r,0,i[f+264>>2]),n=i[f+144>>2];h:{if((n|0)<=0)break h;if(r=i[f+320>>2],f=0,n>>>0>=8)for(u=n&2147483640;i[r+m(f,76)>>2]=0,i[r+m(f|1,76)>>2]=0,i[r+m(f|2,76)>>2]=0,i[r+m(f|3,76)>>2]=0,i[r+m(f|4,76)>>2]=0,i[r+m(f|5,76)>>2]=0,i[r+m(f|6,76)>>2]=0,i[r+m(f|7,76)>>2]=0,f=f+8|0,h=h+8|0,(u|0)!=(h|0););if(n=n&7,!n)break h;for(;i[r+m(f,76)>>2]=0,f=f+1|0,k=k+1|0,(n|0)!=(k|0););}f=s[o+3204|0];h:{if((f&248)!=16)break h;w:{if(!(s[o+2200|0]|((f|0)==18|(f&254)==16|(f-19&255)>>>0<2))&&s[o+2203|0]!=1)break w;l[o+2203|0]=0,l[o+2201|0]=1;break h}l[o+2201|0]=0,l[o+2202|0]=0}h:{if(!((s[o+3204|0]&254)!=8|s[o+2201|0]!=1)){l[i[o+2216>>2]+104|0]=0;break h}l[i[o+2216>>2]+104|0]=s[A+32|0]!=0}n=0;h:{if(!((s[o+3204|0]&248)!=16|s[o+2201|0]!=1)){l[o+3220|0]=1,i[o+2204>>2]=0,f=i[A+36>>2];break h}f=i[A+36>>2],n=i[o+2208>>2],r=i[i[o+1376>>2]+16868>>2];w:{if(!((f|0)>=(n|0)|(n-f|0)<((r|0)/2|0))){u=r+i[o+2212>>2]|0;break w}if(u=i[o+2212>>2]-r|0,!((f|0)<=(n|0)|(f-n|0)<=((r|0)/2|0)))break w;u=i[o+2212>>2]}n=u,i[o+2204>>2]=n}r=i[o+2216>>2],i[r+92>>2]=f,i[r+96>>2]=f+n;h:{if(s[r+316|0]||(f=s[o+3204|0],!(f&241))||(f=f&254,(f|0)==8|(f|0)==6))break h;i[o+2208>>2]=i[A+36>>2],i[o+2212>>2]=i[o+2204>>2]}if(!s[A+12|0])break s;i[i[o+2216>>2]+100>>2]=1,n=0,k=0,u=0,p=0,w=B-32|0,B=w,i[w+28>>2]=0,i[w+20>>2]=0,i[w+24>>2]=0,f=i[o+2216>>2],y=i[f>>2];h:{if((s[o+3204|0]&248)!=16|s[o+2201|0]!=1||(h=i[o+2148>>2],v=i[o+2152>>2],(h|0)==(v|0)))break h;for(z=i[f+96>>2];;){W=i[(u<<2)+h>>2];w:{if(!i[W+100>>2]|(z|0)<=i[W+96>>2]||(I=i[W>>2],I>>>0>=k0[W+108>>2]))break w;_:{if(k>>>0<p>>>0){i[k>>2]=I,k=k+4|0;break _}if(r=k-n>>2,f=r+1|0,f>>>0>=1073741824)break t;if(p=p-n|0,R=p>>1,f=p>>>0>=2147483644?1073741823:f>>>0<R>>>0?R:f,f){if(f>>>0>=1073741824)break i;p=U(f<<2)}else p=0;if(r=p+(r<<2)|0,i[r>>2]=I,p=p+(f<<2)|0,f=r,(k|0)!=(n|0))for(;f=f-4|0,k=k-4|0,i[f>>2]=i[k>>2],(k|0)!=(n|0););k=r+4|0,i[w+28>>2]=p,i[w+20>>2]=f,n&&(G(n),v=i[o+2152>>2],h=i[o+2148>>2]),n=f}i[w+24>>2]=k,i[W+108>>2]=i[W>>2]}if(u=u+1|0,!(u>>>0<v-h>>2>>>0))break}}h:{if((s[o+3204|0]-19&255)>>>0<2){i[o+2544>>2]=0,i[o+2548>>2]=0,i[o+2560>>2]=0,f=o+2552|0,i[f>>2]=0,i[f+4>>2]=0;break h}if(u=0,k=0,n=0,h=s[A+916|0],h)for(v=A+820|0,p=o+2692|0,W=o+2564|0,I=A+884|0,z=i[o+2216>>2],f=0;r=s[f+I|0],i[(r?W+(n<<2)|0:p+(k<<2)|0)>>2]=i[z+96>>2]+X[v+(f<<1)>>1],n=((r|0)!=0)+n|0,k=!r+k|0,f=f+1|0,(h|0)!=(f|0););if(i[o+2544>>2]=n,n=s[A+917|0],n)for(h=o+2692|0,v=o+2628|0,p=A+852|0,W=A+900|0,I=i[o+2216>>2],f=0;r=s[f+W|0],i[(r?v+(u<<2)|0:h+(k<<2)|0)>>2]=i[I+96>>2]+X[p+(f<<1)>>1],u=((r|0)!=0)+u|0,k=!r+k|0,f=f+1|0,(n|0)!=(f|0););i[o+2552>>2]=k,i[o+2548>>2]=u;w:{if((i[A+152>>2]+i[A+148>>2]|0)<=0){n=0,h=0;break w}for(v=o+2480|0,p=o+2820|0,W=o+2416|0,I=o+2756|0,z=o+2288|0,R=o+2352|0,D=A+252|0,J=o+2224|0,E=i[o+1376>>2],a=i[o+2216>>2],k=0,h=0,n=0;;){r=k<<2,f=i[r+J>>2],u=k+D|0,s[u|0]&&(f=i[a+96>>2]+f-(i[A+36>>2]+m(i[E+16868>>2],i[r+R>>2]))|0);_:{if(i[r+z>>2]){r=h<<2,i[r+I>>2]=f,i[r+W>>2]=l[u|0],h=h+1|0;break _}r=n<<2,i[r+p>>2]=f,i[r+v>>2]=l[u|0],n=n+1|0}if(k=k+1|0,!((k|0)<(i[A+152>>2]+i[A+148>>2]|0)))break}}i[o+2560>>2]=n,i[o+2556>>2]=h}if(f=i[o+2148>>2],r=i[o+2152>>2],i[w+16>>2]=0,i[w+8>>2]=0,i[w+12>>2]=0,(f|0)!=(r|0)){if(f=r-f>>2,(f|0)<0)break t;r=U(f),i[w+8>>2]=r,n=f+r|0,i[w+16>>2]=n,B0(r,0,f),i[w+12>>2]=n}r=o+2140|0;h:{w:{if(n=i[o+2556>>2],(n|0)<=0)break w;for(v=o+3076|0,p=o+2756|0,W=o+2416|0,u=0;;){f=u<<2,h=f+p|0,n=i[h>>2],I=f+v|0;_:{if(!i[f+W>>2]){k=a7(r,n,y);break _}k=X6(r,n,y,1)}i[I>>2]=k;_:{if((k|0)>=0)f=i[w+8>>2]+k|0;else{if(k=zr(o,i[o+1376>>2],i[h>>2],1),(k|0)<0)break _;f=i[o+2148>>2],n=i[o+2152>>2],l[w+7|0]=0,f=n-f>>2,h=i[w+8>>2],n=i[w+12>>2]-h|0;v:{if(f>>>0>n>>>0){Lr(w+8|0,f-n|0,w+7|0),h=i[w+8>>2];break v}if(f>>>0>=n>>>0)break v;i[w+12>>2]=f+h}i[I>>2]=k,f=k+h|0}if(l[f|0]=1,s[i[i[o+2148>>2]+(k<<2)>>2]+312|0]&&(l[i[o+2216>>2]+312|0]=4),n=i[o+2556>>2],u=u+1|0,(n|0)>(u|0))continue;break w}break}k=0-k|0;break h}if(v=i[o+2560>>2],(v|0)>0){p=o+3140|0,W=o+2820|0,I=o+2480|0,u=0;w:{for(;;){f=u<<2,k=f+W|0,n=i[k>>2],v=f+p|0;_:{if(!i[f+I>>2]){f=a7(r,n,y);break _}f=X6(r,n,y,1)}i[v>>2]=f;_:{if((f|0)>=0)f=f+i[w+8>>2]|0;else{if(f=zr(o,i[o+1376>>2],i[k>>2],1),(f|0)<0)break _;n=i[o+2148>>2],k=i[o+2152>>2],l[w+7|0]=0,n=k-n>>2,h=i[w+8>>2],k=i[w+12>>2]-h|0;v:{if(n>>>0>k>>>0){Lr(w+8|0,n-k|0,w+7|0),h=i[w+8>>2];break v}if(k>>>0<=n>>>0)break v;i[w+12>>2]=n+h}i[v>>2]=f,f=f+h|0}if(l[f|0]=1,u=u+1|0,v=i[o+2560>>2],(u|0)>=(v|0))break w;continue}break}k=0-f|0;break h}n=i[o+2556>>2]}w:{if((n|0)<=0)break w;if(W=o+3076|0,f=i[o+2148>>2],h=0,k=0,n>>>0>=4)for(I=n&2147483644,p=0;u=W+(k<<2)|0,i[i[f+(i[u>>2]<<2)>>2]+100>>2]=2,i[i[f+(i[u+4>>2]<<2)>>2]+100>>2]=2,i[i[f+(i[u+8>>2]<<2)>>2]+100>>2]=2,i[i[f+(i[u+12>>2]<<2)>>2]+100>>2]=2,k=k+4|0,p=p+4|0,(I|0)!=(p|0););if(n=n&3,!n)break w;for(;i[i[f+(i[W+(k<<2)>>2]<<2)>>2]+100>>2]=2,k=k+1|0,h=h+1|0,(n|0)!=(h|0););}w:{if((v|0)<=0)break w;if(u=v&3,p=o+3140|0,f=i[o+2148>>2],h=0,k=0,v>>>0>=4)for(W=v&2147483644,v=0;n=p+(k<<2)|0,i[i[f+(i[n>>2]<<2)>>2]+100>>2]=2,i[i[f+(i[n+4>>2]<<2)>>2]+100>>2]=2,i[i[f+(i[n+8>>2]<<2)>>2]+100>>2]=2,i[i[f+(i[n+12>>2]<<2)>>2]+100>>2]=2,k=k+4|0,v=v+4|0,(W|0)!=(v|0););if(!u)break w;for(;i[i[f+(i[p+(k<<2)>>2]<<2)>>2]+100>>2]=2,k=k+1|0,h=h+1|0,(u|0)!=(h|0););}w:{if(i[o+2544>>2]<=0)break w;for(v=o+2884|0,p=o+2564|0,u=0;;){_:{if(f=u<<2,n=f+v|0,f=f+p|0,k=X6(r,i[f>>2],y,0),i[n>>2]=k,(k|0)>=0)f=i[w+8>>2]+k|0;else{if(k=zr(o,i[o+1376>>2],i[f>>2],0),(k|0)<0)break _;i[n>>2]=k,f=i[o+2148>>2],n=i[o+2152>>2],l[w+7|0]=0,f=n-f>>2,n=i[w+8>>2],h=i[w+12>>2]-n|0;v:{if(f>>>0>h>>>0){Lr(w+8|0,f-h|0,w+7|0),n=i[w+8>>2];break v}if(f>>>0>=h>>>0)break v;i[w+12>>2]=f+n}f=k+n|0}if(l[f|0]=1,s[i[i[o+2148>>2]+(k<<2)>>2]+312|0]&&(l[i[o+2216>>2]+312|0]=4),u=u+1|0,(u|0)<i[o+2544>>2])continue;break w}break}k=0-k|0;break h}w:{if(i[o+2548>>2]<=0)break w;for(v=o+2948|0,p=o+2628|0,u=0;;){_:{if(f=u<<2,n=f+v|0,f=f+p|0,k=X6(r,i[f>>2],y,0),i[n>>2]=k,(k|0)>=0)f=i[w+8>>2]+k|0;else{if(k=zr(o,i[o+1376>>2],i[f>>2],0),(k|0)<0)break _;i[n>>2]=k,f=i[o+2148>>2],n=i[o+2152>>2],l[w+7|0]=0,f=n-f>>2,n=i[w+8>>2],h=i[w+12>>2]-n|0;v:{if(f>>>0>h>>>0){Lr(w+8|0,f-h|0,w+7|0),n=i[w+8>>2];break v}if(f>>>0>=h>>>0)break v;i[w+12>>2]=f+n}f=k+n|0}if(l[f|0]=1,s[i[i[o+2148>>2]+(k<<2)>>2]+312|0]&&(l[i[o+2216>>2]+312|0]=4),u=u+1|0,(u|0)<i[o+2548>>2])continue;break w}break}k=0-k|0;break h}if(i[o+2552>>2]>0)for(n=o+3012|0,u=o+2692|0,k=0;h=k<<2,f=X6(r,i[h+u>>2],y,0),i[n+h>>2]=f,(f|0)>=0&&(l[f+i[w+8>>2]|0]=1),k=k+1|0,(k|0)<i[o+2552>>2];);if(r=0,n=i[o+2152>>2],u=i[o+2148>>2],(n-u|0)>0)for(;;){f=i[w+8>>2];w:{if(s[f+r|0]&&i[w+12>>2]-f>>>0>r>>>0||(y=i[(r<<2)+u>>2],f=i[o+2216>>2],(y|0)==(f|0)|k0[y+108>>2]<=k0[f>>2]|!i[y+100>>2]))break w;v=i[y>>2],k=i[w+24>>2],h=i[w+28>>2];_:{if(k>>>0<h>>>0){i[k>>2]=v,v=k+4|0;break _}if(p=i[w+20>>2],I=k-p>>2,f=I+1|0,f>>>0>=1073741824)break t;if(h=h-p|0,W=h>>1,W=h>>>0>=2147483644?1073741823:f>>>0<W>>>0?W:f,W){if(W>>>0>=1073741824)break i;h=U(W<<2)}else h=0;if(f=h+(I<<2)|0,i[f>>2]=v,v=f+4|0,(k|0)!=(p|0))for(;f=f-4|0,k=k-4|0,i[f>>2]=i[k>>2],(k|0)!=(p|0););if(i[w+28>>2]=h+(W<<2),i[w+24>>2]=v,i[w+20>>2]=f,!p)break _;G(p),u=i[o+2148>>2],n=i[o+2152>>2]}i[w+24>>2]=v,i[y+108>>2]=i[i[o+2216>>2]>>2]}if(r=r+1|0,!((r|0)<n-u>>2))break}if(k=0,f=A+1352|0,(f|0)==(w+20|0))break h;n=f,f=i[w+20>>2],r=i[w+24>>2],ki(n,f,r,r-f>>2)}if(f=i[w+8>>2],f&&(i[w+12>>2]=f,G(f)),f=i[w+20>>2],f&&(i[w+24>>2]=f,G(f)),B=w+32|0,i[Z+8>>2]=k,!k)break s;r=0;break u}if(i[o+2216>>2])break l;r=0;break u}f=i[o+2216>>2],i[f+100>>2]=1,i[23936]=i[f+96>>2],l[o+2200|0]=0}r=1;l:{if(k0[A+28>>2]>1)break l;f=0,n=B-480|0,B=n,u=i[A+336>>2],h=i[A+920>>2],k=B0(n,0,96),v=o+3076|0,p=o+2948|0,y=o+2884|0,n=(u|0)>(h|0)?u:h,w=n-1|0,R=i[o+2556>>2],W=R-1|0,D=i[o+2548>>2],I=D-1|0,J=i[o+2544>>2],z=J-1|0,J=(J|0)<=0;s:{h:{w:{_:{v:{for(;;){if((f|0)>=(n|0))break v;if(J||(E=w-f|0,E=E>>>0<z>>>0?E:z,l0((k+288|0)+(f<<2)|0,y,(E<<2)+4|0),f=(f+E|0)+1|0),(D|0)<=0|(f|0)>=(n|0)||(E=w-f|0,E=I>>>0>E>>>0?E:I,l0((k+288|0)+(f<<2)|0,p,(E<<2)+4|0),f=(f+E|0)+1|0),(R|0)<=0|(f|0)>=(n|0)||(E=w-f|0,E=W>>>0>E>>>0?E:W,a=E+1|0,B0(f+k|0,1,a),l0((k+288|0)+(f<<2)|0,v,(E<<2)+4|0),f=f+a|0),!f)break}if(f=i[o+84>>2],(f|0)==20){i[o+80>>2]=1001,n=0;break _}i[o+84>>2]=f+1,i[(o+(f<<2)|0)+4>>2]=1016,n=0;break _}if((u|0)>16)break w;if((u|0)>0)for(I=A+1180|0,z=A+1052|0,R=A+1308|0,D=A+924|0,J=A+346|0,f=0,E=s[A+344|0];;){if(w=f<<2,W=w+D|0,n=E?s[f+J|0]:f,i[W>>2]=i[(k+288|0)+(n<<2)>>2],l[f+R|0]=s[k+n|0],n=0,W=i[W>>2],a=i[o+2148>>2],W>>>0>=i[o+2152>>2]-a>>2>>>0||(W=i[a+(W<<2)>>2],!W))break _;if(i[w+z>>2]=i[W+96>>2],i[w+I>>2]=i[W+100>>2],f=f+1|0,(u|0)==(f|0))break}if(n=1,i[A+28>>2])break _;R=i[o+2556>>2],w=R-1|0,D=i[o+2544>>2],W=D-1|0,J=i[o+2548>>2],I=J-1|0,u=i[A+340>>2],n=(u|0)>(h|0)?u:h,h=n-1|0,z=k+48|0,f=0,J=(J|0)<=0;v:{for(;;){if((f|0)>=(n|0))break v;if(J||(E=h-f|0,E=I>>>0>E>>>0?E:I,l0((k+96|0)+(f<<2)|0,p,(E<<2)+4|0),f=(f+E|0)+1|0),(D|0)<=0|(f|0)>=(n|0)||(E=h-f|0,E=W>>>0>E>>>0?E:W,l0((k+96|0)+(f<<2)|0,y,(E<<2)+4|0),f=(f+E|0)+1|0),(R|0)<=0|(f|0)>=(n|0)||(E=h-f|0,E=w>>>0>E>>>0?E:w,a=E+1|0,B0(f+z|0,1,a),l0((k+96|0)+(f<<2)|0,v,(E<<2)+4|0),f=f+a|0),!f)break}if(f=i[o+84>>2],(f|0)==20){i[o+80>>2]=1001,n=0;break _}i[o+84>>2]=f+1,i[(o+(f<<2)|0)+4>>2]=1016,n=0;break _}if((u|0)>16)break h;if(n=1,(u|0)<=0)break _;for(v=A+1244|0,p=A+1116|0,y=A+1324|0,W=A+988|0,I=A+362|0,f=0,R=s[A+345|0];;){if(h=f<<2,w=h+W|0,n=R?s[f+I|0]:f,i[w>>2]=i[(k+96|0)+(n<<2)>>2],l[f+y|0]=s[n+z|0],n=0,w=i[w>>2],D=i[o+2148>>2],w>>>0>=i[o+2152>>2]-D>>2>>>0||(w=i[D+(w<<2)>>2],!w))break _;if(i[h+p>>2]=i[w+96>>2],i[h+v>>2]=i[w+100>>2],n=1,f=f+1|0,(u|0)==(f|0))break}}B=k+480|0;break s}C0(16464,13894,1799,3606),P()}C0(16431,13894,1852,3606),P()}if(n)break l;r=0;break u}i[A+808>>2]=i[(s[A+20|0]?i[o+2220>>2]+808|0:A+24|0)>>2],i[o+2220>>2]=A}if(B=_+80|0,u=i[o+2216>>2],!r){u&&(l[u+312|0]=2),w4(o+548|0,t),f=i[A+1352>>2],f&&(i[A+1356>>2]=f,G(f)),C8(q),f=i[A+784>>2],f&&(i[A+788>>2]=f,G(f)),f=i[A+8>>2];u:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break u;V[i[i[f>>2]+8>>2]](f),g(f)}G(A),n=i[Z+8>>2];break o}n=i[u+56>>2],r=i[u+52>>2],k=n-r>>2,i[A>>2]=k;u:{if(h=i[u+60>>2],h>>>0>n>>>0){i[n>>2]=A,i[u+56>>2]=n+4;break u}l:{if(f=k+1|0,f>>>0<1073741824){if(h=h-r|0,w=h>>1,h=h>>>0>=2147483644?1073741823:f>>>0<w>>>0?w:f,h){if(h>>>0>=1073741824)break l;f=U(h<<2)}else f=0;if(k=f+(k<<2)|0,i[k>>2]=A,w=k+4|0,(r|0)!=(n|0)){for(;k=k-4|0,n=n-4|0,i[k>>2]=i[n>>2],(r|0)!=(n|0););r=i[u+52>>2]}i[u+60>>2]=f+(h<<2),i[u+56>>2]=w,i[u+52>>2]=k,r&&G(r),i[u+56>>2]=w;break u}break t}break i}if(ni(C,1),Gt(C),i[A+776>>2]>0)for(h=i[C>>2]-i[t+20>>2]|0,n=i[A+784>>2],k=0;;){w=k<<2,n=i[w+n>>2],_=i[t+32>>2],f=i[t+36>>2]-_>>2;u:{for(;;){if(r=f,u=0,(r|0)<=0)break u;if(f=r-1|0,!((n|0)<(i[_+(f<<2)>>2]-h|0)))break}u=r}if(n=i[A+784>>2],f=w+n|0,i[f>>2]=i[f>>2]-u,k=k+1|0,!((k|0)<i[A+776>>2]))break}u:{if(!s[A+12|0]){f=i[o+3212>>2];break u}h=U(480),N7(h+8|0),i[h+472>>2]=0,i[h+476>>2]=0,i[h+464>>2]=0,i[h+468>>2]=0,i[h+456>>2]=0,i[h+460>>2]=0,i[h+448>>2]=0,i[h+452>>2]=0,i[h+440>>2]=0,i[h+444>>2]=0,i[h+432>>2]=0,i[h+436>>2]=0,i[h+424>>2]=0,i[h+428>>2]=0,i[h>>2]=i[o+2216>>2],k=i[o+3212>>2],n=i[o+3216>>2];l:{if(k>>>0<n>>>0){i[k>>2]=h,f=k+4|0;break l}if(r=i[o+3208>>2],u=k-r>>2,f=u+1|0,f>>>0>=1073741824)break t;if(v=u<<2,n=n-r|0,w=n>>1,w=n>>>0>=2147483644?1073741823:f>>>0<w>>>0?w:f,w){if(w>>>0>=1073741824)break i;u=U(w<<2)}else u=0;if(n=v+u|0,i[n>>2]=h,f=n+4|0,(r|0)!=(k|0)){for(;n=n-4|0,k=k-4|0,i[n>>2]=i[k>>2],(r|0)!=(k|0););r=i[o+3208>>2]}if(i[o+3216>>2]=u+(w<<2),i[o+3212>>2]=f,i[o+3208>>2]=n,!r)break l;G(r)}i[o+3212>>2]=f}if(i[o+3208>>2]!=(f|0)){n=U(144),l[n+36|0]=0,i[n+32>>2]=0,i[n>>2]=0,i[n+4>>2]=0,i[n+44>>2]=0,i[n+140>>2]=o,i[n+128>>2]=-1,i[n+132>>2]=0,i[n+120>>2]=0,i[n+124>>2]=-1,i[n+136>>2]=0,i[n+40>>2]=0,i[n+4>>2]=A,i[n>>2]=t,f=i[C+4>>2],i[n+8>>2]=i[C>>2],i[n+12>>2]=f,f=i[C+12>>2],i[n+16>>2]=i[C+8>>2],i[n+20>>2]=f,f=i[C+20>>2],i[n+24>>2]=i[C+16>>2],i[n+28>>2]=f,l[n+36|0]=s[o+3220|0],A=i[i[o+3212>>2]-4>>2],t=i[A+428>>2],k=i[A+432>>2];u:{if(t>>>0<k>>>0){i[t>>2]=n,n=t+4|0;break u}if(r=i[A+424>>2],u=t-r>>2,f=u+1|0,f>>>0>=1073741824)break t;if(k=k-r|0,C=k>>1,C=k>>>0>=2147483644?1073741823:f>>>0<C>>>0?C:f,C){if(C>>>0>=1073741824)break i;f=U(C<<2)}else f=0;if(k=f+(u<<2)|0,i[k>>2]=n,n=k+4|0,(r|0)!=(t|0)){for(;k=k-4|0,t=t-4|0,i[k>>2]=i[t>>2],(r|0)!=(t|0););r=i[A+424>>2]}if(i[A+432>>2]=f+(C<<2),i[A+428>>2]=n,i[A+424>>2]=k,!r)break u;G(r)}i[A+428>>2]=n}fk(o,Z+7|0),n=0}B=Z+16|0;break n}y0(),P()}break k}n:switch(r-32|0){case 0:Z=U(668),i[Z>>2]=43652,i[Z+4>>2]=0,i[Z+8>>2]=0,k=f,w=f+4|0,A=B0(Z+12|0,0,656),u=S+8|0,f=u0(u,4),i[A>>2]=f,n=8;t:{if((f|0)>15||(ni(u,2),f=u0(u,6),i[A+4>>2]=f+1,(f|0)>62)||(f=u0(u,3),i[A+8>>2]=f+1,(f|0)>6))break t;if(j=A,L=u0(u,1),i[j+12>>2]=L,ni(u,16),K7(A+16|0,u,i[A+8>>2]),f=u0(u,1),i[A+484>>2]=f,o=i[A+8>>2],r=f?0:o-1|0,(r|0)<(o|0)){for(t=A+488|0,f=r;;){if(o=t+m(f,12)|0,j=o,L=M0(u),i[j>>2]=L,j=o,L=M0(u),i[j+4>>2]=L,h=M0(u),i[o+8>>2]=h,i[o>>2]==-99999|(h|0)==-99999|i[o+4>>2]==-99999)break t;if(f=f+1|0,!((f|0)<i[A+8>>2]))break}f=i[A+484>>2]}o:{u:{l:{if(f)break l;if((r|0)>7)break u;if((r|0)<=0||(o=(A+488|0)+m(r,12)|0,f=i[o>>2],n=i[o+4>>2],o=i[o+8>>2],i[A+496>>2]=o,i[A+492>>2]=n,i[A+488>>2]=f,(r|0)==1)||(i[A+508>>2]=o,i[A+504>>2]=n,i[A+500>>2]=f,(r|0)==2)||(i[A+520>>2]=o,i[A+516>>2]=n,i[A+512>>2]=f,(r|0)==3)||(i[A+532>>2]=o,i[A+528>>2]=n,i[A+524>>2]=f,(r|0)==4)||(i[A+544>>2]=o,i[A+540>>2]=n,i[A+536>>2]=f,(r|0)==5)||(i[A+556>>2]=o,i[A+552>>2]=n,i[A+548>>2]=f,(r|0)==6))break l;i[A+568>>2]=o,i[A+564>>2]=n,i[A+560>>2]=f}if(j=A,L=u0(u,6),l[j+584|0]=L,f=M0(u),i[A+588>>2]=f,f-1023>>>0<=4294966271)break o;n=f+1|0,i[A+588>>2]=n,f=i[A+596>>2],r=f,t=i[A+592>>2],o=(r-t|0)/12|0;l:{if(o>>>0<n>>>0){if(r=0,t=n-o|0,h=i[A+600>>2],t>>>0<=(h-f|0)/12>>>0){t&&(r=f,f=m(t,12)-12|0,f=(f-((f>>>0)%12|0)|0)+12|0,f=B0(r,0,f)+f|0),i[A+596>>2]=f;break l}s:{if(o=i[A+592>>2],_=(f-o|0)/12|0,n=_+t|0,n>>>0<357913942){if(h=(h-o|0)/12|0,v=h<<1,h=h>>>0>=178956970?357913941:n>>>0<v>>>0?v:n,h){if(h>>>0>=357913942)break s;r=U(m(h,12))}n=m(_,12)+r|0,t=m(t,12)-12|0,_=(t-((t>>>0)%12|0)|0)+12|0,t=B0(n,0,_),_=t+_|0,h=m(h,12)+r|0;h:{if((f|0)==(o|0)){r=t;break h}for(;v=n-4|0,i[v>>2]=0,r=n-12|0,t=f-12|0,i[r>>2]=i[t>>2],i[n-8>>2]=i[f-8>>2],f=f-4|0,i[v>>2]=i[f>>2],i[f>>2]=0,i[t>>2]=0,i[t+4>>2]=0,n=r,f=t,(o|0)!=(f|0););f=i[A+596>>2],o=i[A+592>>2]}if(i[A+600>>2]=h,i[A+596>>2]=_,i[A+592>>2]=r,(f|0)!=(o|0))for(;r=f-12|0,n=i[r>>2],n&&(i[f-8>>2]=n,G(n)),f=r,(o|0)!=(r|0););o&&G(o);break l}y0(),P()}break i}if(n>>>0>=o>>>0)break l;if(n=t+m(n,12)|0,(n|0)!=(r|0))for(;f=r-12|0,o=i[f>>2],o&&(i[r-8>>2]=o,G(o)),r=f,(r|0)!=(n|0););i[A+596>>2]=n}if(i[A+588>>2]>=2)for(n=s[A+584|0],f=1;;){r=n+1|0,h=m(f,12),o=h+i[A+592>>2]|0,t=i[o>>2],v=n,n=i[o+4>>2]-t|0;l:{if(v>>>0>=n>>>0){L2(o,r-n|0);break l}if(r>>>0>=n>>>0)break l;i[o+4>>2]=r+t}for(r=0;n=u0(u,1),l[i[h+i[A+592>>2]>>2]+r|0]=n,n=s[A+584|0],o=n>>>0>r>>>0,r=r+1|0,!!o;);if(f=f+1|0,!((f|0)<i[A+588>>2]))break}f=u0(u,1),l[A+604|0]=f;l:{s:{if(!(f&255)||(j=A,L=u0(u,32),i[j+608>>2]=L,j=A,L=u0(u,32),i[j+612>>2]=L,f=u0(u,1),l[A+616|0]=f,!(f&255)))break s;if(j=A,L=M0(u)+1|0,i[j+620>>2]=L,r=M0(u),i[A+624>>2]=r,r>>>0>=1024)break o;t=0,f=i[A+632>>2],o=i[A+628>>2],n=f-o>>1;h:{if(n>>>0<r>>>0){if(n=r-n|0,h=i[A+636>>2],n>>>0<=h-f>>1>>>0){n&&(r=f,f=n<<1,f=B0(r,0,f)+f|0),i[A+632>>2]=f;break h}w:{if(r=i[A+628>>2],w=f-r>>1,o=w+n|0,(o|0)>=0){if(h=h-r|0,h=h>>>0>=2147483646?2147483647:o>>>0<h>>>0?h:o,h){if((h|0)<0)break w;t=U(h<<1)}if(o=(w<<1)+t|0,n=n<<1,n=B0(o,0,n)+n|0,(f|0)!=(r|0))for(;o=o-2|0,f=f-2|0,X[o>>1]=Q[f>>1],(f|0)!=(r|0););i[A+636>>2]=(h<<1)+t,i[A+632>>2]=n,i[A+628>>2]=o,r&&G(r);break h}y0(),P()}break i}r>>>0<n>>>0&&(i[A+632>>2]=o+(r<<1))}f=A+640|0,n=i[f>>2],r=i[A+624>>2],o=i[f+4>>2]-n|0;h:{if(r>>>0>o>>>0){L2(f,r-o|0);break h}r>>>0<o>>>0&&(i[f+4>>2]=r+n)}if(i[A+624>>2]<=0)break s;f=M0(u),X[i[A+628>>2]>>1]=f;break l}j=A,L=u0(u,1),l[j+652|0]=L}n=0;break t}C0(14842,13920,144,13592),P()}v2(w,8,0),n=8}r=n;t:{if(r)break t;if(n=i[k+520>>2],(n|0)>=0){o=B-368|0,B=o,f=49876;o:{u:switch(n-1|0){case 1:f=49872;break;case 0:break u;default:break o}if(t=i[f>>2],c(t,30827,0),i[o+352>>2]=i[A>>2],c(t,29805,o+352|0),i[o+336>>2]=i[A+4>>2],c(t,30237,o+336|0),i[o+320>>2]=i[A+8>>2],c(t,29882,o+320|0),i[o+304>>2]=i[A+12>>2],c(t,28489,o+304|0),f=i[A+8>>2],Cr(A+16|0,1,t),(f|0)>=2)for(n=f-2|0,u=A+68|0,f=0;i[o+288>>2]=f,c(t,30407,o+288|0),Cr(u+m(f,52)|0,0,t),h=(f|0)!=(n|0),f=f+1|0,!!h;);i[o+272>>2]=i[A+484>>2],c(t,23930,o+272|0);u:{if(i[A+484>>2]){if(i[A+8>>2]<=0)break u;for(u=A+488|0,f=0;n=u+m(f,12)|0,i[o+260>>2]=i[n>>2],i[o+256>>2]=f,c(t,22455,o+256|0),i[o+240>>2]=i[n+4>>2],c(t,22746,o+240|0),i[o+224>>2]=i[n+8>>2],c(t,22791,o+224|0),f=f+1|0,(f|0)<i[A+8>>2];);break u}i[o+208>>2]=i[A+488>>2],c(t,22497,o+208|0),i[o+192>>2]=i[A+492>>2],c(t,22742,o+192|0),i[o+176>>2]=i[A+496>>2],c(t,22787,o+176|0)}if(i[o+160>>2]=s[A+584|0],c(t,22832,o+160|0),i[o+144>>2]=i[A+588>>2],c(t,22402,o+144|0),i[A+588>>2]>=2)for(n=1;;){for(f=0,u=m(n,12);i[o+136>>2]=l[i[u+i[A+592>>2]>>2]+f|0],i[o+132>>2]=f,i[o+128>>2]=n,c(t,22705,o+128|0),h=s[A+584|0]>f>>>0,f=f+1|0,!!h;);if(n=n+1|0,!((n|0)<i[A+588>>2]))break}i[o+112>>2]=l[A+604|0],c(t,22542,o+112|0);u:{if(!s[A+604|0]||(i[o+96>>2]=i[A+608>>2],c(t,22427,o+96|0),i[o+80>>2]=i[A+612>>2],c(t,22890,o+80|0),i[o+64>>2]=l[A+616|0],c(t,22602,o- -64|0),!s[A+616|0])||(i[o+48>>2]=i[A+620>>2],c(t,22644,o+48|0),i[o+32>>2]=i[A+624>>2],c(t,22857,o+32|0),i[A+624>>2]<=0))break u;i[o+20>>2]=Q[i[A+628>>2]>>1],i[o+16>>2]=0,c(t,22677,o+16|0);break o}i[o>>2]=l[A+652|0],c(t,22577,o)}B=o+368|0}if(i[Z+4>>2]=i[Z+4>>2]+1,n=k+(i[Z+12>>2]<<3)|0,i[n+600>>2]=A,f=i[n+604>>2],i[n+604>>2]=Z,!f||(n=i[f+4>>2],i[f+4>>2]=n-1,n))break t;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[Z+4>>2],i[Z+4>>2]=f-1,f||(V[i[i[Z>>2]+8>>2]](Z),g(Z)),n=r,w4(k+548|0,C);break k;case 1:u=0,Z=U(17016),i[Z>>2]=43768,i[Z+4>>2]=0,i[Z+8>>2]=0,o=f+4|0,A=Z+12|0,i[A+8824>>2]=0,i[A+8816>>2]=0,i[A+8820>>2]=0,r=A+9e3|0,X[r+2>>1]=0,X[r+4>>1]=0,l[r|0]=0,l[r+21|0]=0,l[r+22|0]=0,l[r+23|0]=0,l[r+24|0]=0,l[r+25|0]=0,l[r+26|0]=0,l[r+27|0]=0,l[r+28|0]=0,l[r+20|0]=2,i[r+12>>2]=5,i[r+16>>2]=33685504,i[r+48>>2]=0,i[r+52>>2]=0,X[r+7810>>1]=258,X[r+7812>>1]=3855,X[r+7808>>1]=0,i[r+7804>>2]=65536,l[r+64|0]=0,i[r+60>>2]=1,l[r+5|0]=0,l[r+6|0]=0,l[r+7|0]=0,l[r+8|0]=0,l[r+29|0]=0,l[r+30|0]=0,l[r+31|0]=0,l[r+32|0]=0,l[r+33|0]=0,l[r+34|0]=0,l[r+35|0]=0,l[r+36|0]=0,l[r+37|0]=0,l[r+38|0]=0,l[r+39|0]=0,l[r+40|0]=0,l[r+41|0]=0,l[r+42|0]=0,l[r+43|0]=0,l[r+44|0]=0,l[r+56|0]=0,l[A+16828|0]=0,i[A+16820>>2]=0,i[A+16824>>2]=0,l[A|0]=0,k=S+8|0,j=A,L=u0(k,4),l[j+1|0]=L,n=u0(k,3)+1|0,l[A+2|0]=n,r=8;t:{if(n<<24>>24>7)break t;j=A,L=u0(k,1),l[j+3|0]=L,K7(A+4|0,k,l[A+2|0]);o:{u:{l:{if(n=M0(k),(n|0)==-99999)break l;if(i[A+472>>2]=n,(n|0)>15)break t;if(t=M0(k),(t|0)==-99999)break l;if(i[A+476>>2]=t,(t|0)==3&&(u=u0(k,1),t=i[A+476>>2]),l[A+480|0]=u,t>>>0>=4){v2(o,1019,0);break t}if(n=M0(k),(n|0)==-99999||(i[A+484>>2]=n,n=M0(k),(n|0)==-99999))break l;if(i[A+488>>2]=n,!n||(t=i[A+484>>2],!t|(n|0)>65535|(t|0)>65535))break t;r=u0(k,1),l[A+492|0]=r;s:{if(r&255){if(r=M0(k),(r|0)==-99999||(i[A+496>>2]=r,r=M0(k),(r|0)==-99999)||(i[A+500>>2]=r,r=M0(k),(r|0)==-99999)||(i[A+504>>2]=r,r=M0(k),(r|0)==-99999))break l;i[A+508>>2]=r;break s}i[A+496>>2]=0,i[A+500>>2]=0,i[A+504>>2]=0,i[A+508>>2]=0}if(r=M0(k),(r|0)==-99999||(i[A+512>>2]=r+8,r=M0(k),(r|0)==-99999))break l;if(i[A+516>>2]=r+8,!(i[A+512>>2]<17&(r|0)<=8))break u;if(r=M0(k),(r|0)==-99999)break l;if(n=r+4|0,i[A+520>>2]=n,r>>>0>=13)break u;if(i[A+16868>>2]=1<<n,n=u0(k,1),l[A+524|0]=n,t=l[A+2|0],r=n&255?0:t-1|0,(r|0)<(t|0)){for(u=A+16964|0,h=A+584|0,w=A+556|0,_=A+528|0;;){if(t=M0(k),!((t|0)!=-99999&(t|0)<16)||(n=r<<2,i[n+_>>2]=t+1,t=M0(k),(t|0)==-99999)||(v=n+w|0,i[v>>2]=t,t=M0(k),(t|0)==-99999))break l;if(i[n+h>>2]=t,i[n+u>>2]=(t+i[v>>2]|0)-1,r=r+1|0,t=l[A+2|0],!((r|0)<(t|0)))break}n=s[A+524|0]}s:{h:{if(!(n&255))break h;if((t|0)>7)break s;if((t|0)<2||(r=t-1|0,u=r<<2,n=u+(A+528|0)|0,i[A+528>>2]=i[n>>2],t=u+(A+556|0)|0,i[A+556>>2]=i[t>>2],u=u+(A+584|0)|0,i[A+584>>2]=i[u>>2],(r|0)==1)||(i[A+532>>2]=i[n>>2],i[A+560>>2]=i[t>>2],i[A+588>>2]=i[u>>2],(r|0)==2)||(i[A+536>>2]=i[n>>2],i[A+564>>2]=i[t>>2],i[A+592>>2]=i[u>>2],(r|0)==3)||(i[A+540>>2]=i[n>>2],i[A+568>>2]=i[t>>2],i[A+596>>2]=i[u>>2],(r|0)==4)||(i[A+544>>2]=i[n>>2],i[A+572>>2]=i[t>>2],i[A+600>>2]=i[u>>2],(r|0)==5))break h;i[A+548>>2]=i[n>>2],i[A+576>>2]=i[t>>2],i[A+604>>2]=i[u>>2]}if(r=M0(k),(r|0)==-99999||(i[A+612>>2]=r+3,r=M0(k),(r|0)==-99999)||(i[A+616>>2]=r,r=M0(k),(r|0)==-99999)||(i[A+620>>2]=r+2,r=M0(k),(r|0)==-99999)||(i[A+624>>2]=r,r=M0(k),(r|0)==-99999)||(i[A+628>>2]=r,r=M0(k),(r|0)==-99999))break l;if(i[A+632>>2]=r,r=8,n=i[A+612>>2],(n|0)>6|(n+i[A+616>>2]|0)>6||(n=i[A+620>>2],(n|0)>5|(n+i[A+624>>2]|0)>5))break t;r=u0(k,1),l[A+636|0]=r;h:{if(!(r&255))break h;if(r=u0(k,1),l[A+637|0]=r,n=A+638|0,r&255){if(r=Yk(k,n),!r)break h;break t}for(r=0,L4(n,77632,0),L4(n+16|0,77632,0),L4(n+32|0,77632,0),L4(n+48|0,77632,0),L4(n- -64|0,77632,0),L4(n+80|0,77632,0),u=n+96|0,h=i[i[11334]+12>>2];t=h+(r<<1)|0,l[(u+(s[t+1|0]<<3)|0)+s[t|0]|0]=s[r+77648|0],l[s[t+2|0]+(u+(s[t+3|0]<<3)|0)|0]=s[r+77649|0],r=r+2|0,(r|0)!=64;);for(u=n+288|0,r=0,h=i[i[11334]+12>>2];t=h+(r<<1)|0,l[(u+(s[t+1|0]<<3)|0)+s[t|0]|0]=s[r+77712|0],l[s[t+2|0]+(u+(s[t+3|0]<<3)|0)|0]=s[r+77713|0],r=r+2|0,(r|0)!=64;);for(u=n+160|0,r=0,h=i[i[11334]+12>>2];t=h+(r<<1)|0,l[(u+(s[t+1|0]<<3)|0)+s[t|0]|0]=s[r+77648|0],l[s[t+2|0]+(u+(s[t+3|0]<<3)|0)|0]=s[r+77649|0],r=r+2|0,(r|0)!=64;);for(u=n+352|0,r=0,h=i[i[11334]+12>>2];t=h+(r<<1)|0,l[(u+(s[t+1|0]<<3)|0)+s[t|0]|0]=s[r+77712|0],l[s[t+2|0]+(u+(s[t+3|0]<<3)|0)|0]=s[r+77713|0],r=r+2|0,(r|0)!=64;);for(u=n+224|0,r=0,h=i[i[11334]+12>>2];t=h+(r<<1)|0,l[(u+(s[t+1|0]<<3)|0)+s[t|0]|0]=s[r+77648|0],l[s[t+2|0]+(u+(s[t+3|0]<<3)|0)|0]=s[r+77649|0],r=r+2|0,(r|0)!=64;);for(u=n+416|0,r=0,h=i[i[11334]+12>>2];t=h+(r<<1)|0,l[(u+(s[t+1|0]<<3)|0)+s[t|0]|0]=s[r+77712|0],l[s[t+2|0]+(u+(s[t+3|0]<<3)|0)|0]=s[r+77713|0],r=r+2|0,(r|0)!=64;);for(u=n+481|0,h=n+480|0,r=0,w=i[i[11334]+12>>2];t=w+(r<<1)|0,_=r+77648|0,v=s[_|0],l[(h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,l[(u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,_=s[_|0],l[((h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,l[((u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,r=r+1|0,(r|0)!=64;);for(u=n+1249|0,h=n+1248|0,r=0,w=i[i[11334]+12>>2];t=w+(r<<1)|0,_=r+77712|0,v=s[_|0],l[(h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,l[(u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,_=s[_|0],l[((h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,l[((u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,r=r+1|0,(r|0)!=64;);for(u=n+737|0,h=n+736|0,r=0,w=i[i[11334]+12>>2];t=w+(r<<1)|0,_=r+77648|0,v=s[_|0],l[(h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,l[(u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,_=s[_|0],l[((h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,l[((u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,r=r+1|0,(r|0)!=64;);for(u=n+1505|0,h=n+1504|0,r=0,w=i[i[11334]+12>>2];t=w+(r<<1)|0,_=r+77712|0,v=s[_|0],l[(h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,l[(u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,_=s[_|0],l[((h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,l[((u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,r=r+1|0,(r|0)!=64;);for(u=n+993|0,h=n+992|0,r=0,w=i[i[11334]+12>>2];t=w+(r<<1)|0,_=r+77648|0,v=s[_|0],l[(h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,l[(u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,_=s[_|0],l[((h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,l[((u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,r=r+1|0,(r|0)!=64;);for(u=n+1761|0,h=n+1760|0,r=0,w=i[i[11334]+12>>2];t=w+(r<<1)|0,_=r+77712|0,v=s[_|0],l[(h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,l[(u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,_=s[_|0],l[((h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,l[((u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,r=r+1|0,(r|0)!=64;);L4(n+2016|0,77648,3),L4(n+3040|0,77712,3)}j=A,L=u0(k,1),l[j+8798|0]=L,j=A,L=u0(k,1),l[j+8799|0]=L,r=u0(k,1),l[A+8800|0]=r;h:{if(r&255){if(j=A,L=u0(k,4)+1|0,l[j+8801|0]=L,j=A,L=u0(k,4)+1|0,l[j+8802|0]=L,r=M0(k),(r|0)==-99999||(i[A+8804>>2]=r+3,r=M0(k),(r|0)==-99999))break l;if(i[A+8808>>2]=r,j=A,L=u0(k,1),l[j+8812|0]=L,i[A+512>>2]<l[A+8801|0])break o;if(i[A+516>>2]>=l[A+8802|0])break h;break o}i[A+8804>>2]=0,i[A+8808>>2]=0,l[A+8801|0]=0,l[A+8802|0]=0,l[A+8812|0]=0}if(n=M0(k),(n|0)==-99999)break l;if(n>>>0>=65){v2(o,1014,0),r=8;break t}u=0,r=A+8816|0,t=i[r+4>>2],w=i[r>>2],h=(t-w|0)/100|0;h:{if(h>>>0<n>>>0){if(w=n-h|0,v=i[r+8>>2],w>>>0<=(v-t|0)/100>>>0){w&&(u=t,t=m(w,100)-100|0,t=(t-((t>>>0)%100|0)|0)+100|0,t=B0(u,0,t)+t|0),i[r+4>>2]=t;break h}w:{if(h=i[r>>2],p=(t-h|0)/100|0,_=p+w|0,_>>>0<42949673){if(v=(v-h|0)/100|0,y=v<<1,_=v>>>0>=21474836?42949672:_>>>0<y>>>0?y:_,_){if(_>>>0>=42949673)break w;u=U(m(_,100))}if(v=m(p,100)+u|0,w=m(w,100)-100|0,w=(w-((w>>>0)%100|0)|0)+100|0,w=B0(v,0,w)+w|0,(t|0)!=(h|0)){for(;v=v-100|0,t=t-100|0,l0(v,t,100),(t|0)!=(h|0););h=i[r>>2]}i[r+8>>2]=m(_,100)+u,i[r+4>>2]=w,i[r>>2]=v,h&&G(h);break h}y0(),P()}break i}n>>>0<h>>>0&&(i[r+4>>2]=w+m(n,100))}h:{if(!n)break h;for(t=0;;){if(Dk(o,A,k,i[A+8816>>2]+m(t,100)|0,t,r,0)){if(t=t+1|0,(n|0)!=(t|0))continue;break h}break}r=1005;break t}r=u0(k,1),l[A+8828|0]=r;h:{if(r&255){if(n=M0(k),(n|0)==-99999)break l;if(i[A+8832>>2]=n,r=8,(n|0)>32)break t;if((n|0)<=0)break h;for(r=A+8964|0,n=A+8836|0,t=0;j=n+(t<<2)|0,L=u0(k,i[A+520>>2]),i[j>>2]=L,j=r+t|0,L=u0(k,1),l[j|0]=L,t=t+1|0,(t|0)<i[A+8832>>2];);break h}i[A+8832>>2]=0}if(j=A,L=u0(k,1),l[j+8996|0]=L,j=A,L=u0(k,1),l[j+8997|0]=L,r=u0(k,1),l[A+8998|0]=r,r&255){r=0,n=A+9e3|0,t=u0(k,1),l[n|0]=(t|0)!=0;h:{if(t){if(r=u0(k,8),(r|0)<=17){r=r<<2,X[n+2>>1]=Q[r+46144>>1],r=Q[r+46146>>1];break h}if((r|0)==255){j=n,L=u0(k,16),X[j+2>>1]=L,r=u0(k,16);break h}r=0}X[n+2>>1]=0}X[n+4>>1]=r,r=u0(k,1),l[n+6|0]=(r|0)!=0,r&&(j=n,L=(u0(k,1)|0)!=0,l[j+7|0]=L),l[n+20|0]=2,X[n+18>>1]=514,l[n+16|0]=0,i[n+12>>2]=5,r=u0(k,1),l[n+8|0]=(r|0)!=0;h:{if(!r||(r=u0(k,3),i[n+12>>2]=(r|0)>=5?5:r,j=n,L=(u0(k,1)|0)!=0,l[j+16|0]=L,r=u0(k,1),l[n+17|0]=(r|0)!=0,!r))break h;r=u0(k,8),l[n+18|0]=r;w:{_:{v:switch(r=r&255,r|0){case 0:case 3:break _;default:break v}if(r>>>0<11)break w}l[n+18|0]=2}r=u0(k,8),l[n+19|0]=r;w:{_:switch(r&255){default:if((r&254)>>>0<18)break w;break;case 0:case 3:break _}l[n+19|0]=2}r=u0(k,8),l[n+20|0]=(r&255)>>>0>10?2:r}r=0,t=u0(k,1),l[n+21|0]=(t|0)!=0;h:{w:{_:{if(t){if(r=M0(k),(r|0)==-99999)break w;if(l[n+22|0]=r,r=M0(k),(r|0)!=-99999)break _;break w}l[n+22|0]=0}l[n+23|0]=r,j=n,L=(u0(k,1)|0)!=0,l[j+24|0]=L,j=n,L=(u0(k,1)|0)!=0,l[j+25|0]=L,j=n,L=(u0(k,1)|0)!=0,l[j+26|0]=L,r=u0(k,1),l[n+27|0]=(r|0)!=0;_:{if(r){if(r=M0(k),(r|0)==-99999||(i[n+28>>2]=r,r=M0(k),(r|0)==-99999)||(i[n+32>>2]=r,r=M0(k),(r|0)==-99999)||(i[n+36>>2]=r,r=M0(k),(r|0)==-99999))break w;i[n+40>>2]=r;break _}i[n+28>>2]=0,i[n+32>>2]=0,i[n+36>>2]=0,i[n+40>>2]=0}r=u0(k,1),l[n+44|0]=(r|0)!=0;_:{v:{if(!r)break v;if(j=n,L=u0(k,32),i[j+48>>2]=L,j=n,L=u0(k,32),i[j+52>>2]=L,r=u0(k,1),l[n+56|0]=(r|0)!=0,r){if(r=M0(k),(r|0)==-99999)break w;i[n+60>>2]=r+1}if(r=u0(k,1),l[n+64|0]=(r|0)!=0,!r)break v;u=0,j=n,L=(u0(k,1)|0)!=0,l[j+65|0]=L,r=u0(k,1),l[n+66|0]=(r|0)!=0,r|l[n+65|0]&1&&(r=u0(k,1),l[n+67|0]=(r|0)!=0,r&&(j=n,L=u0(k,8),i[j+68>>2]=L,j=n,L=u0(k,5),i[j+72>>2]=L,j=n,L=(u0(k,1)|0)!=0,l[j+76|0]=L,j=n,L=u0(k,5),i[j+80>>2]=L),j=n,L=u0(k,4),i[j+84>>2]=L,j=n,L=u0(k,4),i[j+88>>2]=L,s[n+67|0]==1&&(j=n,L=u0(k,4),i[j+92>>2]=L),j=n,L=u0(k,5),i[j+96>>2]=L,j=n,L=u0(k,5),i[j+100>>2]=L,j=n,L=u0(k,5),i[j+104>>2]=L),r=0;Z:{if(l[A+2|0]<=0)break Z;_=n+7356|0,v=n+5564|0,p=n+3772|0,y=n+1980|0,W=n+188|0,R=n+160|0,I=n+132|0,q=n+122|0,z=n+115|0,D=n+108|0;m:{for(;;){B:{r=u0(k,1),l[u+D|0]=(r|0)!=0;p:{W:{G:{C:{if(r){l[u+z|0]=1,r=u+q|0,l[r|0]=0,h=I+(u<<2)|0,i[h>>2]=0;break C}if(t=u0(k,1),l[u+z|0]=(t|0)!=0,r=u+q|0,l[r|0]=0,h=I+(u<<2)|0,i[h>>2]=0,!t)break G}if(t=M0(k),(t|0)==-99999)break B;if(i[R+(u<<2)>>2]=t,l[r|0]&1)break p;break W}if(t=r,r=u0(k,1),l[t|0]=(r|0)!=0,r)break p}if(r=M0(k),(r|0)==-99999)break B;if(i[h>>2]=r,r>>>0<=31)break p;r=8;break Z}if(r=0,s[n+65|0]==1)for(;;){if(J=M0(k),(J|0)==-99999||(w=r<<3,t=u<<8,i[w+(t+W|0)>>2]=J,J=M0(k),(J|0)==-99999))break B;if(i[w+(t+y|0)>>2]=J,s[n+67|0]==1){if(J=M0(k),(J|0)==-99999||(i[w+(t+p|0)>>2]=J,J=M0(k),(J|0)==-99999))break B;i[w+(t+v|0)>>2]=J}if(j=(_+(u<<6)|0)+(r<<1)|0,L=(u0(k,1)|0)!=0,l[j|0]=L,t=k0[h>>2]>r>>>0,r=r+1|0,!t)break}if(r=0,s[n+66|0]==1)for(;;){if(J=M0(k),(J|0)==-99999||(w=r<<3,t=u<<8,i[(w+(t+W|0)|0)+4>>2]=J,J=M0(k),(J|0)==-99999))break B;if(i[(w+(t+y|0)|0)+4>>2]=J,s[n+67|0]==1){if(J=M0(k),(J|0)==-99999||(i[(w+(t+p|0)|0)+4>>2]=J,J=M0(k),(J|0)==-99999))break B;i[(w+(t+v|0)|0)+4>>2]=J}if(j=(_+(u<<6)|0)+(r<<1)|0,L=(u0(k,1)|0)!=0,l[j+1|0]=L,t=k0[h>>2]>r>>>0,r=r+1|0,!t)break}if(r=0,u=u+1|0,(u|0)<l[A+2|0])continue;break m}break}r=8,v2(o,8,0)}}if(r)break _}if(r=u0(k,1),l[n+7804|0]=(r|0)!=0,r){if(j=n,L=(u0(k,1)|0)!=0,l[j+7805|0]=L,j=n,L=(u0(k,1)|0)!=0,l[j+7806|0]=L,j=n,L=(u0(k,1)|0)!=0,l[j+7807|0]=L,r=M0(k),(r|0)==-99999||(X[n+7808>>1]=r,r&61440&&(v2(o,8,0),X[n+7808>>1]=0),r=M0(k),(r|0)==-99999)||(l[n+7810|0]=r,(r&255)>>>0>=17&&(v2(o,8,0),l[n+7810|0]=2),r=M0(k),(r|0)==-99999)||(l[n+7811|0]=r,(r&255)>>>0>=17&&(v2(o,8,0),l[n+7811|0]=1),r=M0(k),(r|0)==-99999)||(l[n+7812|0]=r,r&240&&(v2(o,8,0),l[n+7812|0]=15),t=M0(k),(t|0)==-99999))break w;if(l[n+7813|0]=t,r=0,!(t&240))break _;v2(o,8,0),l[n+7813|0]=15;break h}X[n+7810>>1]=258,X[n+7812>>1]=3855,r=0,X[n+7808>>1]=0,l[n+7807|0]=0,l[n+7805|0]=0,l[n+7806|0]=1}break h}v2(o,8,0),r=8}if(r)break t}r=u0(k,1),l[A+16816|0]=r;h:{if(!(r&255)){l[A+16817|0]=0;break h}if(j=A,L=u0(k,1),l[j+16817|0]=L,j=A,L=u0(k,1),l[j+16818|0]=L,j=A,L=u0(k,6),l[j+16819|0]=L,!s[A+16817|0])break h;r=A+16820|0,j=r,L=u0(k,1),l[j|0]=L,j=r,L=u0(k,1),l[j+1|0]=L,j=r,L=u0(k,1),l[j+2|0]=L,j=r,L=u0(k,1),l[j+3|0]=L,j=r,L=u0(k,1),l[j+4|0]=L,j=r,L=u0(k,1),l[j+5|0]=L,j=r,L=u0(k,1),l[j+6|0]=L,j=r,L=u0(k,1),l[j+7|0]=L,j=r,L=u0(k,1),l[j+8|0]=L}o=i[A+476>>2],r=o<<2,y=i[r+46e3>>2],i[A+16856>>2]=y,W=i[r+45984>>2],i[A+16852>>2]=W,z=s[A+480|0];h:{if(z){i[A+16848>>2]=0,n=1,r=1;break h}i[A+16848>>2]=o,n=o?y:1,r=o?W:1}i[A+16864>>2]=n,i[A+16860>>2]=r,t=i[A+512>>2],i[A+16832>>2]=t,h=i[A+516>>2],i[A+16840>>2]=h,w=i[A+612>>2],i[A+16872>>2]=w,k=1<<w,i[A+16880>>2]=k,R=i[A+616>>2],_=R+w|0,i[A+16876>>2]=_,I=i[A+488>>2],q=i[A+484>>2],i[A+16912>>2]=m(I,q),i[A+16836>>2]=m(t,6)-48,i[A+16844>>2]=m(h,6)-48,r=1<<_,i[A+16884>>2]=r,n=q-1|0,u=(n+k|0)/(k|0)|0,i[A+16888>>2]=u,v=I-1|0,p=(v+k|0)/(k|0)|0,i[A+16896>>2]=p,n=(r+n|0)/(r|0)|0,i[A+16892>>2]=n,i[A+16904>>2]=m(u,p),u=(r+v|0)/(r|0)|0,i[A+16900>>2]=u,i[A+16908>>2]=m(n,u),p=0,v=0;h:{if(!o||(v=0,z))break h;p=(r|0)/(W|0)|0,v=(r|0)/(y|0)|0}i[A+16920>>2]=v,i[A+16916>>2]=p,r=i[A+620>>2],i[A+16936>>2]=r,p=r+i[A+624>>2]|0,i[A+16940>>2]=p;h:{w:{if(o=_-r|0,(o|0)<i[A+628>>2]){F1(22089,70,1,i[12468]);break w}if((o|0)<i[A+632>>2]){F1(22160,70,1,i[12468]);break w}i[A+16944>>2]=w-1,v=i[A+8804>>2],i[A+16956>>2]=v,y=u<<o,i[A+16928>>2]=y,o=n<<o,i[A+16924>>2]=o,A0=u,u=R+1|0,i[A+16952>>2]=A0<<u,i[A+16948>>2]=n<<u,i[A+16960>>2]=v+i[A+8808>>2],i[A+16932>>2]=m(o,y);_:{if(s[A+16826|0]){u=1<<h-1,v=0,o=0,n=1<<t-1;break _}v=t-8|0,u=128,o=h-8|0,n=128}if(i[A+17e3>>2]=u,i[A+16996>>2]=n,l[A+16993|0]=o,l[A+16992|0]=v,k-1&(I|q)){F1(21765,24,1,i[12468]);break w}if((r|0)>(w|0)){F1(30545,19,1,i[12468]);break w}if((p|0)>(((_|0)>=5?5:_)|0)){F1(30514,30,1,i[12468]);break w}if(t-17>>>0<=4294967286){F1(30440,36,1,i[12468]);break w}if(h-17>>>0<=4294967286){F1(30477,36,1,i[12468]);break w}l[A|0]=1,r=0;break h}r=8}if(r)break t;l[A|0]=1,r=0;break t}C0(16425,13927,320,13592),P()}v2(o,8,0),r=8;break t}v2(o,1005,0),r=8;break t}v2(o,1027,0),r=8}if(n=r,!r){if(u=i[f+516>>2],(u|0)>=0){n=B-928|0,B=n,t=49876;t:{o:switch(u-1|0){case 1:t=49872;break;case 0:break o;default:break t}if(r=i[t>>2],c(r,30868,0),i[n+912>>2]=l[A+1|0],c(r,25835,n+912|0),i[n+896>>2]=l[A+2|0],c(r,27092,n+896|0),i[n+880>>2]=l[A+3|0],c(r,24311,n+880|0),o=l[A+2|0],k=B-16|0,B=k,t=A+4|0,Cr(t,1,r),(o|0)>=2)for(o=o-2|0,h=t+52|0,t=0;i[k>>2]=t,c(r,30407,k),Cr(h+m(t,52)|0,0,r),w=(t|0)==(o|0),t=t+1|0,!w;);B=k+16|0,i[n+864>>2]=i[A+472>>2],c(r,26637,n+864|0),k=i[A+476>>2];o:{if(k>>>0>=3){t=(k|0)==3?16639:6156;break o}t=i[(k<<2)+46016>>2]}if(i[n+852>>2]=t,i[n+848>>2]=k,c(r,31116,n+848|0),i[A+476>>2]==3&&(i[n+832>>2]=l[A+480|0],c(r,24388,n+832|0)),i[n+816>>2]=i[A+484>>2],c(r,25660,n+816|0),i[n+800>>2]=i[A+488>>2],c(r,23619,n+800|0),i[n+784>>2]=l[A+492|0],c(r,26448,n+784|0),s[A+492|0]&&(i[n+768>>2]=i[A+496>>2],c(r,25571,n+768|0),i[n+752>>2]=i[A+500>>2],c(r,23524,n+752|0),i[n+736>>2]=i[A+504>>2],c(r,25901,n+736|0),i[n+720>>2]=i[A+508>>2],c(r,22918,n+720|0)),i[n+704>>2]=i[A+512>>2],c(r,26079,n+704|0),i[n+688>>2]=i[A+516>>2],c(r,25324,n+688|0),i[n+672>>2]=i[A+520>>2],c(r,25249,n+672|0),i[n+656>>2]=l[A+524|0],c(r,23977,n+656|0),k=l[A+2|0],t=s[A+524|0]?0:k-1|0,(t|0)<(k|0))for(o=A+584|0,h=A+556|0,w=A+528|0;i[n+640>>2]=t,c(r,22392,n+640|0),k=t<<2,i[n+624>>2]=i[k+w>>2],c(r,27200,n+624|0),i[n+608>>2]=i[k+h>>2],c(r,27635,n+608|0),i[n+592>>2]=i[k+o>>2],c(r,25370,n+592|0),t=t+1|0,(t|0)<l[A+2|0];);i[n+576>>2]=i[A+612>>2],c(r,25046,n+576|0),i[n+560>>2]=i[A+616>>2],c(r,24999,n+560|0),i[n+544>>2]=i[A+620>>2],c(r,25998,n+544|0),i[n+528>>2]=i[A+624>>2],c(r,24954,n+528|0),i[n+512>>2]=i[A+628>>2],c(r,23652,n+512|0),i[n+496>>2]=i[A+632>>2],c(r,25282,n+496|0),i[n+480>>2]=l[A+636|0],c(r,24421,n+480|0);o:{if(!s[A+636|0]||(i[n+464>>2]=l[A+637|0],c(r,24150,n+464|0),!s[A+637|0]))break o;c(r,12407,0)}if(i[n+448>>2]=l[A+8798|0],c(r,29926,n+448|0),i[n+432>>2]=l[A+8799|0],c(r,24643,n+432|0),i[n+416>>2]=l[A+8800|0],c(r,29968,n+416|0),s[A+8800|0]&&(i[n+400>>2]=l[A+8801|0],c(r,27037,n+400|0),i[n+384>>2]=l[A+8802|0],c(r,26102,n+384|0),i[n+368>>2]=i[A+8804>>2],c(r,25135,n+368|0),i[n+352>>2]=i[A+8808>>2],c(r,25084,n+352|0),i[n+336>>2]=l[A+8812|0],c(r,25762,n+336|0)),i[n+320>>2]=(i[A+8820>>2]-i[A+8816>>2]|0)/100,c(r,23552,n+320|0),i[A+8820>>2]!=i[A+8816>>2])for(t=0;i[n+304>>2]=t,c(r,21478,n+304|0),o7(i[A+8816>>2]+m(t,100)|0,r),t=t+1|0,t>>>0<(i[A+8820>>2]-i[A+8816>>2]|0)/100>>>0;);i[n+288>>2]=l[A+8828|0],c(r,23859,n+288|0);o:{if(!s[A+8828|0]||(i[n+272>>2]=i[A+8832>>2],c(r,23586,n+272|0),i[A+8832>>2]<=0))break o;for(k=A+8964|0,o=A+8836|0,t=0;h=i[o+(t<<2)>>2],i[n+264>>2]=l[k+t|0],i[n+260>>2]=h,i[n+256>>2]=t,c(r,31243,n+256|0),t=t+1|0,(t|0)<i[A+8832>>2];);}if(i[n+240>>2]=l[A+8996|0],c(r,27479,n+240|0),i[n+224>>2]=l[A+8997|0],c(r,24452,n+224|0),i[n+208>>2]=l[A+8998|0],c(r,27894,n+208|0),i[n+192>>2]=l[A+16816|0],c(r,26514,n+192|0),i[n+176>>2]=l[A+16817|0],c(r,27282,n+176|0),i[n+160>>2]=l[A+16818|0],c(r,24239,n+160|0),i[n+144>>2]=l[A+16819|0],c(r,28654,n+144|0),i[n+128>>2]=i[A+16884>>2],c(r,27073,n+128|0),i[n+112>>2]=i[A+16880>>2],c(r,26157,n+112|0),i[n+96>>2]=1<<i[A+616>>2]+i[A+612>>2],c(r,26138,n+96|0),i[n+80>>2]=1<<i[A+620>>2],c(r,26195,n+80|0),i[n+64>>2]=1<<i[A+624>>2]+i[A+620>>2],c(r,26176,n- -64|0),i[n+48>>2]=i[A+16892>>2],c(r,28335,n+48|0),i[n+32>>2]=i[A+16900>>2],c(r,28048,n+32|0),i[n+16>>2]=i[A+16852>>2],c(r,29626,n+16|0),i[n>>2]=i[A+16856>>2],c(r,29477,n),s[A+16817|0]){o=A+16820|0,k=B-144|0,B=k,r=49876;o:switch(u-1|0){case 1:r=49872;case 0:r=i[r>>2],c(r,30770,0),i[k+128>>2]=s[o|0],c(r,26591,k+128|0),i[k+112>>2]=s[o+1|0],c(r,26829,k+112|0),i[k+96>>2]=s[o+2|0],c(r,29231,k+96|0),i[k+80>>2]=s[o+3|0],c(r,29185,k+80|0),i[k+64>>2]=s[o+4|0],c(r,27354,k- -64|0),i[k+48>>2]=s[o+5|0],c(r,28761,k+48|0),i[k+32>>2]=s[o+6|0],c(r,26921,k+32|0),i[k+16>>2]=s[o+7|0],c(r,24908,k+16|0),i[k>>2]=s[o+8|0],c(r,26875,k);break;default:break o}B=k+144|0}if(!s[A+8998|0])break t;o=A+9e3|0,k=B-576|0,B=k,r=49876;o:{u:switch(u-1|0){case 1:r=49872;break;case 0:break u;default:break o}if(r=i[r>>2],c(r,30950,0),t=Q[o+2>>1],i[k+564>>2]=Q[o+4>>1],i[k+560>>2]=t,c(r,22356,k+560|0),i[k+544>>2]=s[o+6|0],c(r,23897,k+544|0),i[k+528>>2]=s[o+7|0],c(r,25729,k+528|0),i[k+512>>2]=s[o+8|0],c(r,23061,k+512|0),s[o+8|0]==1&&(t=i[o+12>>2],t>>>0<=4?u=i[(t<<2)+46216>>2]:u=12991,i[k+496>>2]=u,c(r,21960,k+496|0),i[k+480>>2]=s[o+16|0],c(r,27751,k+480|0),i[k+464>>2]=s[o+17|0],c(r,24060,k+464|0),i[k+448>>2]=s[o+18|0],c(r,28923,k+448|0),i[k+432>>2]=s[o+19|0],c(r,26371,k+432|0),i[k+416>>2]=s[o+20|0],c(r,29507,k+416|0)),i[k+400>>2]=s[o+21|0],c(r,22946,k+400|0),s[o+21|0]==1&&(i[k+384>>2]=s[o+22|0],c(r,26036,k+384|0),i[k+368>>2]=s[o+23|0],c(r,23471,k+368|0)),i[k+352>>2]=s[o+24|0],c(r,23177,k+352|0),i[k+336>>2]=s[o+25|0],c(r,29769,k+336|0),i[k+320>>2]=s[o+26|0],c(r,24024,k+320|0),i[k+304>>2]=s[o+27|0],c(r,25929,k+304|0),i[k+288>>2]=i[o+28>>2],c(r,26214,k+288|0),i[k+272>>2]=i[o+32>>2],c(r,25865,k+272|0),i[k+256>>2]=i[o+36>>2],c(r,26725,k+256|0),i[k+240>>2]=i[o+40>>2],c(r,25599,k+240|0),i[k+224>>2]=s[o+44|0],c(r,25693,k+224|0),s[o+44|0]==1&&(i[k+208>>2]=i[o+48>>2],c(r,27674,k+208|0),i[k+192>>2]=i[o+52>>2],c(r,29352,k+192|0)),i[k+176>>2]=s[o+56|0],c(r,24346,k+176|0),i[k+160>>2]=i[o+60>>2],c(r,28569,k+160|0),i[k+144>>2]=s[o+64|0],c(r,23821,k+144|0),i[k+128>>2]=s[o+7804|0],c(r,28230,k+128|0),s[o+7804|0]!=1)break o;i[k+112>>2]=s[o+7805|0],c(r,27710,k+112|0),i[k+96>>2]=s[o+7806|0],c(r,24191,k+96|0),i[k+80>>2]=s[o+7807|0],c(r,26550,k+80|0),i[k+64>>2]=Q[o+7808>>1],c(r,26996,k- -64|0),i[k+48>>2]=s[o+7810|0],c(r,28365,k+48|0),i[k+32>>2]=s[o+7811|0],c(r,27853,k+32|0),i[k+16>>2]=s[o+7812|0],c(r,26407,k+16|0),i[k>>2]=s[o+7813|0],c(r,27159,k)}B=k+576|0}B=n+928|0}i[Z+4>>2]=i[Z+4>>2]+1,n=(i[Z+484>>2]<<3)+f|0,i[n+728>>2]=A,r=i[n+732>>2],i[n+732>>2]=Z;t:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break t;V[i[i[r>>2]+8>>2]](r),g(r)}for(n=856,t=f+856|0;;){r=i[t>>2];t:{if(!r|i[Z+484>>2]!=l[r+13|0]||(r=i[t+4>>2],i[t>>2]=0,i[t+4>>2]=0,!r)||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break t;V[i[i[r>>2]+8>>2]](r),g(r)}if(n=n+8|0,t=n+f|0,(n|0)==1368)break}n=0}r=i[Z+4>>2],i[Z+4>>2]=r-1,r||(V[i[i[Z>>2]+8>>2]](Z),g(Z)),w4(f+548|0,C);break k;case 2:A=f,f=S+8|0,w=U(8520),i[w>>2]=43880,i[w+4>>2]=0,i[w+8>>2]=0,n=1006,t=w+12|0,l[t+8263|0]=0,l[t+8264|0]=0,l[t+8246|0]=2,l[t+8247|0]=0,l[t+8248|0]=0,l[t+8249|0]=0,l[t+8250|0]=0,i[t+4>>2]=0,i[t+8>>2]=0,l[t|0]=0,i[t+8448>>2]=0,i[t+8452>>2]=0,l[t+26|0]=0,X[t+24>>1]=0,i[t+20>>2]=27,l[t+17|0]=1,l[t+18|0]=1,l[t+9|0]=0,l[t+10|0]=0,l[t+11|0]=0,l[t+12|0]=0,l[t+13|0]=0,l[t+14|0]=0,l[t+15|0]=0,l[t+16|0]=0,r=t+8456|0,i[r>>2]=0,i[r+4>>2]=0,r=t+8464|0,i[r>>2]=0,i[r+4>>2]=0,k=t+8472|0,i[k>>2]=0,i[k+4>>2]=0,k=t+8480|0,i[k>>2]=0,i[k+4>>2]=0,k=t+8488|0,i[k>>2]=0,i[k+4>>2]=0,u=t+8496|0,i[u>>2]=0,i[u+4>>2]=0,i[t+8504>>2]=0,l[t+43|0]=0,l[t+44|0]=0,l[t+45|0]=0,l[t+46|0]=0,i[t+36>>2]=0,i[t+40>>2]=0,i[t+28>>2]=0,i[t+32>>2]=0,X[t+56>>1]=257,i[t+48>>2]=1,i[t+52>>2]=1,l[t+58|0]=1,B0(t+8280|0,0,168),i[k>>2]=0,i[r>>2]=0,i[t+8268>>2]=0,l[t+8233|0]=0,l[t+61|0]=0,l[t+59|0]=0,l[t+60|0]=0,i[t+64>>2]=0,i[t+68>>2]=0,l[t+72|0]=0,i[t+8236>>2]=2,i[t+8240>>2]=0,X[t+8244>>1]=0,l[t|0]=0,r=i[t+8>>2],i[t+4>>2]=0,i[t+8>>2]=0;t:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break t;V[i[i[r>>2]+8>>2]](r),g(r)}i[t+12>>2]=0,i[t+28>>2]=0,i[t+32>>2]=0,l[t+26|0]=0,X[t+24>>1]=0,i[t+20>>2]=27,l[t+18|0]=1,l[t+58|0]=1,X[t+56>>1]=257,i[t+48>>2]=1,i[t+52>>2]=1,X[t+16>>1]=256,i[t+36>>2]=0,i[t+40>>2]=0,l[t+43|0]=0,l[t+44|0]=0,l[t+45|0]=0,l[t+46|0]=0,Z=B0(t+8280|0,0,168),i[t+8268>>2]=0,l[t+8233|0]=0,l[t+61|0]=0,l[t+59|0]=0,l[t+60|0]=0,i[t+64>>2]=0,i[t+68>>2]=0,l[t+72|0]=0,i[t+8236>>2]=2,i[t+8240>>2]=0,X[t+8244>>1]=0,i[t+8452>>2]=i[t+8448>>2],i[t+8464>>2]=i[t+8460>>2],i[t+8476>>2]=i[t+8472>>2],i[t+8488>>2]=i[t+8484>>2],i[t+8500>>2]=i[t+8496>>2],r=M0(f),l[t+12|0]=r;t:{if(!((r|0)!=-99999&(r|0)<=63)){v2(A+4|0,1009,0);break t}r=M0(f),l[t+13|0]=r;o:{u:{if(!((r|0)!=-99999&(r|0)<=15))break u;if(j=t,L=u0(f,1),l[j+14|0]=L,j=t,L=u0(f,1),l[j+43|0]=L,j=t,L=u0(f,3),l[j+8240|0]=L,j=t,L=u0(f,1),l[j+15|0]=L,j=t,L=u0(f,1),l[j+16|0]=L,r=M0(f),l[t+17|0]=r,(r|0)==-99999||(l[t+17|0]=r+1,r=M0(f),l[t+18|0]=r,(r|0)==-99999))break o;if(l[t+18|0]=r+1,r=A+(l[t+13|0]<<3)|0,u=i[r+728>>2],!u)break u;k=i[r+732>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[t+4>>2]=u,r=i[t+8>>2],i[t+8>>2]=k;l:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break l;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=_1(f),i[t+20>>2]=r,(r|0)==-99999)break o;i[t+20>>2]=r+26,j=t,L=u0(f,1),l[j+24|0]=L,j=t,L=u0(f,1),l[j+25|0]=L,r=u0(f,1),l[t+26|0]=r;l:{if(r&255){if(r=M0(f),i[t+28>>2]=r,(r|0)!=-99999)break l;break o}i[t+28>>2]=0}if(r=_1(f),i[t+32>>2]=r,(r|0)==-99999||(r=_1(f),i[t+36>>2]=r,(r|0)==-99999))break o;j=t,L=u0(f,1),l[j+40|0]=L,j=t,L=u0(f,1),l[j+41|0]=L,j=t,L=u0(f,1),l[j+42|0]=L,j=t,L=u0(f,1),l[j+44|0]=L,j=t,L=u0(f,1),l[j+46|0]=L,j=t,L=u0(f,1),l[j+45|0]=L;l:{s:{if(s[t+46|0]){if(r=M0(f),i[t+48>>2]=r,!((r|0)!=-99999&(r|0)<10)||(i[t+48>>2]=r+1,r=M0(f),i[t+52>>2]=r,!((r|0)!=-99999&(r|0)<10)))break o;if(i[t+52>>2]=r+1,r=u0(f,1),l[t+56|0]=r,!(r&255)){if(r=i[t+4>>2],u=i[r+16900>>2],k=i[r+16892>>2],h=i[t+48>>2],(h|0)>=2)for(r=0;;){if(h=Z+(r<<2)|0,o=M0(f),i[h>>2]=o,(o|0)==-99999)break o;if(o=o+1|0,i[h>>2]=o,k=k-o|0,r=r+1|0,h=i[t+48>>2],!((r|0)<(h-1|0)))break}if(o=0,(k|0)<=0)break l;if(i[(Z+(h<<2)|0)-4>>2]=k,k=i[t+52>>2],(k|0)>=2)for(Z=t+8320|0,r=0;;){if(h=Z+(r<<2)|0,k=M0(f),i[h>>2]=k,(k|0)==-99999)break o;if(k=k+1|0,i[h>>2]=k,u=u-k|0,r=r+1|0,k=i[t+52>>2],!((r|0)<(k-1|0)))break}if((u|0)<=0)break l;i[(t+(k<<2)|0)+8316>>2]=u}r=u0(f,1);break s}l[t+56|0]=1,i[t+48>>2]=1,i[t+52>>2]=1,r=0}i[t+64>>2]=0,i[t+68>>2]=0,l[t+57|0]=r,j=t,L=u0(f,1),l[j+58|0]=L,r=u0(f,1),l[t+59|0]=r;s:{if(r&255){if(j=t,L=u0(f,1),l[j+60|0]=L,r=u0(f,1),l[t+61|0]=r,r&255)break s;if(r=_1(f),i[t- -64>>2]=r,(r|0)==-99999||(i[t+64>>2]=r<<1,r=_1(f),i[t+68>>2]=r,(r|0)==-99999))break o;i[t+68>>2]=r<<1;break s}X[t+60>>1]=0}if(k=u0(f,1),l[t+72|0]=k,r=i[t+4>>2],u=k&255,!(s[r+636|0]|!u))break o;k=t+73|0;s:{if(u){if(r=Yk(f,k),!r)break s;v2(A+4|0,r,0);break t}l0(k,r+638|0,8160)}if(j=t,L=u0(f,1),l[j+8233|0]=L,r=M0(f),i[t+8236>>2]=r,(r|0)==-99999)break o;if(i[t+8236>>2]=r+2,k=i[t+4>>2],(r|0)>((i[k+612>>2]+i[k+616>>2]|0)-2|0))break l;j=t,L=u0(f,1),l[j+8241|0]=L,r=u0(f,1),l[t+8242|0]=r;s:{if(!(r&255)||(j=t,L=u0(f,1),l[j+8243|0]=L,j=t,L=u0(f,1),l[j+8244|0]=L,j=t,L=u0(f,6),l[j+8245|0]=L,!s[t+8243|0]))break s;r=t+8246|0,u=i[(A+(l[t+13|0]<<3)|0)+728>>2],s[t+25|0]&&(j=r,L=M0(f)+2|0,l[j|0]=L),k=u0(f,1),l[r+1|0]=(k|0)!=0,!k|i[u+16848>>2]==3||v2(A+4|0,1006,0),k=u0(f,1),l[r+2|0]=(k|0)!=0;h:{w:{_:{v:{if(!(i[u+16848>>2]|!k)){if(v2(A+4|0,1006,0),l[r+2|0]&1)break v;break _}if(!k)break _}if(k=M0(f),!((k|0)!=-99999&(k|0)<=i[u+616>>2])||(l[r+3|0]=k,k=M0(f),!((k|0)!=-99999&(k|0)<6)))break w;if(k=(k&255)+1|0,l[r+4|0]=k,(k|0)!=(k&255))break _;for(Z=r+11|0,h=r+5|0,k=0;;){if(_=_1(f),_-13>>>0<=4294967270||(l[k+h|0]=_,_=_1(f),_-13>>>0<=4294967270))break w;if(l[k+Z|0]=_,k=k+1|0,!(k>>>0<s[r+4|0]))break}}_:{if(k=M0(f),(k|0)!=-99999&&(Z=i[u+16832>>2],(k|0)<=(((Z|0)>=10?Z-10|0:0)|0)))break _;break w}l[r+17|0]=k;_:{if(f=M0(f),(f|0)!=-99999&&(k=i[u+16840>>2],(f|0)<=(((k|0)>=10?k-10|0:0)|0)))break _;break w}l[r+18|0]=f,f=1;break h}v2(A+4|0,1006,0),f=0}if(!f)break l}u=0,r=B,A0=r,Z=i[t+4>>2],f=i[Z+16876>>2],i[t+8276>>2]=s[t+8246|0],i[t+8268>>2]=f-i[t+28>>2],i[t+8272>>2]=f-s[t+8249|0],k=i[t+48>>2];s:{if(!s[t+56|0])break s;_=r-((k<<2)+19&-16)|0,B=_;h:{if((k|0)<0)break h;if(f=i[Z+16892>>2],k)for(o=k+1&-2,r=0;i[_+(u<<2)>>2]=(m(f,u)|0)/(k|0),h=u|1,i[_+(h<<2)>>2]=(m(f,h)|0)/(k|0),u=u+2|0,r=r+2|0,(o|0)!=(r|0););k&1||(i[_+(u<<2)>>2]=(m(f,u)|0)/(k|0)),p=k&3,v=t+8280|0,r=i[_>>2],h=0;w:{if(k-1>>>0<3){u=0;break w}for(W=k&2147483644,u=0,o=0;f=u<<2,I=f|4,y=i[I+_>>2],i[f+v>>2]=y-r,q=v+I|0,r=f|8,I=i[r+_>>2],i[q>>2]=I-y,f=f|12,y=i[f+_>>2],i[r+v>>2]=y-I,u=u+4|0,r=i[_+(u<<2)>>2],i[f+v>>2]=r-y,o=o+4|0,(W|0)!=(o|0););}if(!p)break h;for(;o=v+(u<<2)|0,u=u+1|0,f=i[_+(u<<2)>>2],i[o>>2]=f-r,r=f,h=h+1|0,(p|0)!=(h|0););}if(u=0,f=i[t+52>>2],_=_-((f<<2)+19&-16)|0,B=_,(f|0)<0)break s;if(o=i[Z+16900>>2],f)for(h=f+1&-2,r=0;i[_+(u<<2)>>2]=(m(o,u)|0)/(f|0),v=u|1,i[_+(v<<2)>>2]=(m(o,v)|0)/(f|0),u=u+2|0,r=r+2|0,(h|0)!=(r|0););f&1||(i[_+(u<<2)>>2]=(m(o,u)|0)/(f|0)),p=f&3,v=t+8320|0,r=i[_>>2],h=0;h:{if(f-1>>>0<3){u=0;break h}for(W=f&2147483644,u=0,o=0;f=u<<2,I=f|4,y=i[I+_>>2],i[f+v>>2]=y-r,q=v+I|0,r=f|8,I=i[r+_>>2],i[q>>2]=I-y,f=f|12,y=i[f+_>>2],i[r+v>>2]=y-I,u=u+4|0,r=i[_+(u<<2)>>2],i[f+v>>2]=r-y,o=o+4|0,(W|0)!=(o|0););}if(!p)break s;for(;o=v+(u<<2)|0,u=u+1|0,f=i[_+(u<<2)>>2],i[o>>2]=f-r,r=f,h=h+1|0,(p|0)!=(h|0););}if(i[t+8360>>2]=0,_=t+8360|0,(k|0)>0)for(o=t+8280|0,k=0,f=0;r=f+1|0,k=i[o+(f<<2)>>2]+k|0,i[_+(r<<2)>>2]=k,f=r,(r|0)<i[t+48>>2];);if(i[t+8404>>2]=0,v=t+8404|0,i[t+52>>2]>0)for(o=t+8320|0,k=0,f=0;r=f+1|0,k=i[o+(f<<2)>>2]+k|0,i[v+(r<<2)>>2]=k,f=r,(r|0)<i[t+52>>2];);q=t+8448|0,f=i[Z+16908>>2],k=i[t+8448>>2],r=i[t+8452>>2]-k>>2;s:{if(f>>>0>r>>>0){Qi(q,f-r|0),f=i[Z+16908>>2];break s}if(f>>>0>=r>>>0)break s;i[t+8452>>2]=k+(f<<2)}k=i[t+8460>>2],r=i[t+8464>>2]-k>>2;s:{if(r>>>0<f>>>0){Qi(t+8460|0,f-r|0),f=i[Z+16908>>2];break s}if(f>>>0>=r>>>0)break s;i[t+8464>>2]=k+(f<<2)}D=t+8472|0,k=i[t+8472>>2],r=i[t+8476>>2]-k>>2;s:{if(r>>>0<f>>>0){Qi(D,f-r|0),f=i[Z+16908>>2];break s}if(f>>>0>=r>>>0)break s;i[t+8476>>2]=k+(f<<2)}J=t+8484|0,k=i[t+8484>>2],r=i[t+8488>>2]-k>>2;s:{if(r>>>0<f>>>0){Qi(J,f-r|0);break s}if(f>>>0>=r>>>0)break s;i[t+8488>>2]=k+(f<<2)}E=t+8496|0,f=i[Z+16932>>2],k=i[t+8496>>2],r=i[t+8500>>2]-k>>2;s:{if(f>>>0>r>>>0){Qi(E,f-r|0);break s}if(f>>>0>=r>>>0)break s;i[t+8500>>2]=k+(f<<2)}if(i[Z+16908>>2]>0)for(z=t+8280|0,R=t+8320|0,f0=i[t+8460>>2],h0=i[t+8448>>2],r=0;;){f=i[Z+16892>>2],y=(r|0)/(f|0)|0,W=r-m(f,y)|0,h=-1,o=i[t+48>>2];s:{if((o|0)<=0)break s;if(u=0,f=0,o>>>0>=4)for(p=o&2147483644,k=0;I=(W|0)<i[_+(f<<2)>>2]?h:f,h=f|1,I=(W|0)<i[_+(h<<2)>>2]?I:h,h=f|2,I=(W|0)<i[_+(h<<2)>>2]?I:h,h=f|3,h=(W|0)<i[_+(h<<2)>>2]?I:h,f=f+4|0,k=k+4|0,(p|0)!=(k|0););if(k=o&3,!k)break s;for(;h=(W|0)<i[_+(f<<2)>>2]?h:f,f=f+1|0,u=u+1|0,(k|0)!=(u|0););}p=i[t+52>>2];s:{if((p|0)<=0){o=-1;break s}if(o=-1,u=0,f=0,p>>>0>=4)for(I=p&2147483644,k=0;H=(y|0)<i[v+(f<<2)>>2]?o:f,o=f|1,H=(y|0)<i[v+(o<<2)>>2]?H:o,o=f|2,H=(y|0)<i[v+(o<<2)>>2]?H:o,o=f|3,o=(y|0)<i[v+(o<<2)>>2]?H:o,f=f+4|0,k=k+4|0,(I|0)!=(k|0););if(k=p&3,!k)break s;for(;o=(y|0)<i[v+(f<<2)>>2]?o:f,f=f+1|0,u=u+1|0,(k|0)!=(u|0););}u=0,f=(r<<2)+h0|0,i[f>>2]=0;s:{if((h|0)<=0)break s;if(I=R+(o<<2)|0,p=0,k=0,h>>>0>=4)for(n0=h&2147483644,a=0;H=u,u=z+(k<<2)|0,H=H+m(i[u>>2],i[I>>2])|0,i[f>>2]=H,H=H+m(i[u+4>>2],i[I>>2])|0,i[f>>2]=H,H=H+m(i[u+8>>2],i[I>>2])|0,i[f>>2]=H,u=H+m(i[u+12>>2],i[I>>2])|0,i[f>>2]=u,k=k+4|0,a=a+4|0,(n0|0)!=(a|0););if(a=h&3,!a)break s;for(;u=m(i[z+(k<<2)>>2],i[I>>2])+u|0,i[f>>2]=u,k=k+1|0,p=p+1|0,(a|0)!=(p|0););}s:{if((o|0)<=0)break s;a=o&3,I=0;h:{if(o>>>0<4){k=0;break h}for(n0=o&2147483644,k=0,p=0;H=u,u=R+(k<<2)|0,H=H+m(i[u>>2],i[Z+16892>>2])|0,i[f>>2]=H,H=H+m(i[u+4>>2],i[Z+16892>>2])|0,i[f>>2]=H,H=H+m(i[u+8>>2],i[Z+16892>>2])|0,i[f>>2]=H,u=H+m(i[u+12>>2],i[Z+16892>>2])|0,i[f>>2]=u,k=k+4|0,p=p+4|0,(n0|0)!=(p|0););}if(!a)break s;for(;u=m(i[R+(k<<2)>>2],i[Z+16892>>2])+u|0,i[f>>2]=u,k=k+1|0,I=I+1|0,(a|0)!=(I|0););}if((o|h)<0&&(C0(17156,13934,620,4120),P()),k=h<<2,o=m(i[k+z>>2],y-i[v+(o<<2)>>2]|0)+u|0,i[f>>2]=o,u=f,f=o+(W-i[k+_>>2]|0)|0,i[u>>2]=f,i[(f<<2)+f0>>2]=r,r=r+1|0,!((r|0)<i[Z+16908>>2]))break}u=i[t+52>>2];s:{if((u|0)<=0||(k=0,f=i[t+48>>2],(f|0)<=0))break s;for(h=0;;){h:{if((f|0)<=0){h=h+1|0;break h}if(o=0,p=v+(h<<2)|0,h=h+1|0,W=v+(h<<2)|0,I=i[W>>2],(I|0)<=i[p>>2]){k=((f|0)<=1?1:f)+k|0;break h}for(;;){u=i[p>>2];w:{if((I|0)<=(u|0)){o=o+1|0;break w}if(y=_+(o<<2)|0,o=o+1|0,z=_+(o<<2)|0,r=i[z>>2],(r|0)<=i[y>>2])break w;for(R=i[J>>2],a=i[D>>2],f0=i[q>>2];;){if(f=i[y>>2],(r|0)>(f|0)){for(;r=f<<2,i[a+(i[r+(f0+(m(i[Z+16892>>2],u)<<2)|0)>>2]<<2)>>2]=k,i[r+(R+(m(i[Z+16892>>2],u)<<2)|0)>>2]=k,f=f+1|0,r=i[z>>2],(f|0)<(r|0););I=i[W>>2]}if(u=u+1|0,!((I|0)>(u|0)))break}f=i[t+48>>2]}if(k=k+1|0,!((f|0)>(o|0)))break}u=i[t+52>>2]}if(!((u|0)>(h|0)))break}}u=i[Z+16928>>2];s:{if((u|0)<=0||(k=0,f=i[Z+16924>>2],(f|0)<=0))break s;for(v=i[E>>2],p=i[q>>2];;){if(r=0,(f|0)>0){for(;;){y=v+(r<<2)|0,u=y+(m(f,k)<<2)|0,f=i[Z+16936>>2],o=i[Z+16876>>2],i[u>>2]=i[(p+(m(i[Z+16892>>2],k<<f>>o)<<2)|0)+(r<<f>>o<<2)>>2]<<(o-f<<1),o=i[Z+16876>>2],h=i[Z+16936>>2],_=o-h|0;h:{if((_|0)<=0){u=0;break h}if(f=0,u=0,(o|0)!=(h+1|0))for(W=_&2147483646,h=0;I=f|1,o=2<<f,q=u,u=1<<f,u=((o&k?4<<f<<I:0)+((q+(u&k?o<<f:0)|0)+(r&u?u<<f:0)|0)|0)+(r&o?o<<I:0)|0,f=f+2|0,h=h+2|0,(W|0)!=(h|0););if(!(_&1))break h;o=1<<f,u=((o&k?2<<f<<f:0)+u|0)+(r&o?o<<f:0)|0}if(f=y+(m(i[Z+16924>>2],k)<<2)|0,i[f>>2]=i[f>>2]+u,f=i[Z+16924>>2],r=r+1|0,!((f|0)>(r|0)))break}u=i[Z+16928>>2]}if(k=k+1|0,!((k|0)<(u|0)))break}}B=A0,l[t|0]=1,o=1}break t}v2(A+4|0,1010,0);break t}v2(A+4|0,1006,0),o=0}t:{if(!o)break t;if(n=0,Z=i[A+524>>2],(Z|0)>=0){u=0,f=B-720|0,B=f,r=49876;o:{u:switch(Z-1|0){case 1:r=49872;break;case 0:break u;default:break o}if(r=i[r>>2],c(r,30909,0),i[f+704>>2]=l[t+12|0],c(r,27820,f+704|0),i[f+688>>2]=l[t+13|0],c(r,27787,f+688|0),i[f+672>>2]=l[t+14|0],c(r,24685,f+672|0),i[f+656>>2]=l[t+15|0],c(r,27400,f+656|0),i[f+640>>2]=l[t+16|0],c(r,26481,f+640|0),i[f+624>>2]=l[t+17|0],c(r,25213,f+624|0),i[f+608>>2]=l[t+18|0],c(r,25177,f+608|0),i[f+592>>2]=i[t+20>>2],c(r,29699,f+592|0),i[f+576>>2]=l[t+24|0],c(r,23274,f+576|0),i[f+560>>2]=l[t+25|0],c(r,23355,f+560|0),i[f+544>>2]=l[t+26|0],c(r,25965,f+544|0),s[t+26|0]&&(i[f+528>>2]=i[t+28>>2],c(r,26761,f+528|0)),i[f+512>>2]=i[t+32>>2],c(r,29150,f+512|0),i[f+496>>2]=i[t+36>>2],c(r,29115,f+496|0),i[f+480>>2]=l[t+40|0],c(r,23774,f+480|0),i[f+464>>2]=l[t+41|0],c(r,28726,f+464|0),i[f+448>>2]=l[t+42|0],c(r,28271,f+448|0),i[f+432>>2]=l[t+43|0],c(r,26794,f+432|0),i[f+416>>2]=l[t+44|0],c(r,23239,f+416|0),i[f+400>>2]=l[t+46|0],c(r,28807,f+400|0),i[f+384>>2]=l[t+45|0],c(r,23433,f+384|0),s[t+46|0]){if(i[f+368>>2]=i[t+48>>2],c(r,26345,f+368|0),i[f+352>>2]=i[t+52>>2],c(r,27609,f+352|0),i[f+336>>2]=l[t+56|0],c(r,23213,f+336|0),c(r,20060,0),i[t+48>>2]>=0)for(k=t+8360|0;i[f+320>>2]=i[k+(u<<2)>>2],c(r,19295,f+320|0),o=i[t+48>>2]>(u|0),u=u+1|0,!!o;);if(u=0,c(r,31103,0),c(r,20038,0),i[t+52>>2]>=0)for(k=t+8404|0;i[f+304>>2]=i[k+(u<<2)>>2],c(r,19295,f+304|0),o=i[t+52>>2]>(u|0),u=u+1|0,!!o;);c(r,31103,0),i[f+288>>2]=l[t+57|0],c(r,24729,f+288|0)}if(i[f+272>>2]=l[t+58|0],c(r,23307,f+272|0),i[f+256>>2]=l[t+59|0],c(r,23017,f+256|0),s[t+59|0]&&(i[f+240>>2]=l[t+60|0],c(r,23388,f+240|0),i[f+224>>2]=l[t+61|0],c(r,23137,f+224|0),i[f+208>>2]=i[t+64>>2],c(r,30328,f+208|0),i[f+192>>2]=i[t+68>>2],c(r,30346,f+192|0)),i[f+176>>2]=l[t+72|0],c(r,23097,f+176|0),i[f+160>>2]=l[t+8233|0],c(r,22980,f+160|0),i[f+144>>2]=i[t+8236>>2],c(r,27122,f+144|0),i[f+128>>2]=l[t+8240|0],c(r,26275,f+128|0),i[f+112>>2]=l[t+8241|0],c(r,24100,f+112|0),i[f+96>>2]=l[t+8242|0],c(r,28959,f+96|0),i[f+80>>2]=l[t+8243|0],c(r,27318,f+80|0),i[f+64>>2]=l[t+8244|0],c(r,24275,f- -64|0),i[f+48>>2]=l[t+8245|0],c(r,28690,f+48|0),i[f+32>>2]=i[t+8268>>2],c(r,28533,f+32|0),i[f+16>>2]=i[t+8272>>2],c(r,25489,f+16|0),i[f>>2]=i[t+8276>>2],c(r,25530,f),!s[t+8243|0])break o;o=t+8246|0,r=B-144|0,B=r,k=49876;u:switch(Z-1|0){case 1:k=49872;case 0:u=i[k>>2],c(u,31034,0),i[r+128>>2]=s[o|0],c(u,27563,r+128|0),i[r+112>>2]=s[o+1|0],c(u,24862,r+112|0),i[r+96>>2]=s[o+2|0],c(u,27433,r+96|0);l:{if(s[o+2|0]!=1||(i[r+80>>2]=s[o+3|0],c(u,28443,r+80|0),i[r+64>>2]=s[o+4|0],c(u,29543,r- -64|0),!s[o+4|0]))break l;for(Z=o+11|0,h=o+5|0,k=0;i[r+52>>2]=l[k+h|0],i[r+48>>2]=k,c(u,30057,r+48|0),i[r+36>>2]=l[k+Z|0],i[r+32>>2]=k,c(u,30010,r+32|0),k=k+1|0,k>>>0<s[o+4|0];);}i[r+16>>2]=s[o+17|0],c(u,29431,r+16|0),i[r>>2]=s[o+18|0],c(u,28995,r);break;default:break u}B=r+144|0}B=f+720|0}if(i[w+4>>2]=i[w+4>>2]+1,r=A+(l[w+24|0]<<3)|0,i[r+856>>2]=t,f=i[r+860>>2],i[r+860>>2]=w,!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break t;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[w+4>>2],i[w+4>>2]=f-1,f||(V[i[i[w>>2]+8>>2]](w),g(w)),w4(A+548|0,C);break k;case 7:case 8:k=S+8|0,u=(r|0)==40,r=0,t=B-80|0,B=t;t:{o:{for(o=i[f+1376>>2];A=u0(k,8),r=A+r|0,(A|0)==255;);for(;A=u0(k,8),n=A+n|0,(A|0)==255;);i[t+4>>2]=n,i[t>>2]=r,A=0;u:{if((r|0)!=132||(j=t,L=u0(k,8),i[j+8>>2]=L,A=1025,!o))break u;for(A=t+12|0,Z=t+60|0,h=t+68|0,o=i[o+476>>2],n=0;;){l:{s:switch(i[t+8>>2]){case 0:r=A+(n<<4)|0,j=r,L=u0(k,8),l[j|0]=L,j=r,L=u0(k,8),l[j+1|0]=L,j=r,L=u0(k,8),l[j+2|0]=L,j=r,L=u0(k,8),l[j+3|0]=L,j=r,L=u0(k,8),l[j+4|0]=L,j=r,L=u0(k,8),l[j+5|0]=L,j=r,L=u0(k,8),l[j+6|0]=L,j=r,L=u0(k,8),l[j+7|0]=L,j=r,L=u0(k,8),l[j+8|0]=L,j=r,L=u0(k,8),l[j+9|0]=L,j=r,L=u0(k,8),l[j+10|0]=L,j=r,L=u0(k,8),l[j+11|0]=L,j=r,L=u0(k,8),l[j+12|0]=L,j=r,L=u0(k,8),l[j+13|0]=L,j=r,L=u0(k,8),l[j+14|0]=L,j=r,L=u0(k,8),l[j+15|0]=L;break l;case 1:j=Z+(n<<1)|0,L=u0(k,16),X[j>>1]=L;break l;case 2:break s;default:break l}j=h+(n<<2)|0,L=u0(k,32),i[j>>2]=L}if(!(o&&(r=n>>>0<2,n=n+1|0,r)))break}A=0}u:{if(!A){if(r=i[f+3212>>2],!u|(r|0)==i[f+3208>>2])break u;if(u=i[r-4>>2],r=i[u+440>>2],o=i[u+444>>2],r>>>0<o>>>0){j=u,L=l0(r,t,80)+80|0,i[j+440>>2]=L;break u}if(n=i[u+436>>2],h=(r-n|0)/80|0,k=h+1|0,k>>>0>=53687092)break o;if(o=(o-n|0)/80|0,Z=o<<1,Z=o>>>0>=26843545?53687091:k>>>0<Z>>>0?Z:k,Z){if(Z>>>0>=53687092)break i;k=U(m(Z,80))}else k=0;if(o=k+m(h,80)|0,h=l0(o,t,80)+80|0,(r|0)!=(n|0)){for(;o=o-80|0,r=r-80|0,l0(o,r,80),(r|0)!=(n|0););n=i[u+436>>2]}i[u+444>>2]=k+m(Z,80),i[u+440>>2]=h,i[u+436>>2]=o,n&&G(n),i[u+440>>2]=h;break u}if(r=i[f+84>>2],(r|0)==20){i[f+80>>2]=1001;break u}i[f+84>>2]=r+1,i[((r<<2)+f|0)+4>>2]=A}B=t+80|0,n=A;break t}y0(),P()}w4(f+548|0,C);break k;case 4:l[f+2203|0]=1,w4(f+548|0,C);break k;default:break n}w4(f+548|0,C)}B=S+32|0,l[d+15|0]=1,r=n;break f}if(!(s[r|0]!=1|i[f+3208>>2]!=i[f+3212>>2])){if(r=13,f=1,e)break A;break e}r=fk(f,d+15|0)}if(!e)break e;f=r?0:s[d+15|0]}i[e>>2]=f}return B=d+16|0,r}C0(7808,13894,1328,11303),P()}_2(),P()}function f6(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0;u=B-128|0,B=u,W6(u+116|0,i[e+48>>2],r);i:{r:{w=i[e+20>>2];e:{if(!w)break e;for(n0=e+20|0,o=n0,G0=w;h=k0[G0+16>>2]<r>>>0,o=h?o:G0,G0=i[(h<<2)+G0>>2],!!G0;);if(G0=0,(o|0)==(n0|0)|k0[o+16>>2]>r>>>0)break e;for(G0=n0;o=k0[w+16>>2]<r>>>0,G0=o?G0:w,w=i[(o<<2)+w>>2],!!w;);if(G0=(n0|0)!=(G0|0)&k0[G0+16>>2]<=r>>>0?G0:n0,_=i[G0+20>>2],G0=i[G0+24>>2],G0&&(i[G0+4>>2]=i[G0+4>>2]+1),_)break r}if(l[u+96|0]=0,l[u+107|0]=0,r0(f,2,2e3,u+96|0),l[u+107|0]>=0)break i;G(i[u+96>>2]);break i}i[u+96>>2]=0,i[u+100>>2]=0,i[u+112>>2]=0,i[u+104>>2]=0,i[u+108>>2]=0,ei(u+88|0,i[e+48>>2],r);r:{e:{if(o=i[u+88>>2],!o||(l6(u- -64|0,e,i[o+56>>2],i[o+60>>2]),h=i[u+68>>2],o=i[u+64>>2],i[u+96>>2]=o,i[u+100>>2]=h,l[u+115|0]<0&&(G(i[u+104>>2]),o=i[u+96>>2]),h=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=h,i[u+112>>2]=i[u+80>>2],!o))break e;e=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+112>>2],e=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=e,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0;break r}w=l[u+127|0],h=(w|0)<0;e:{A:{f:{k:{o=i[u+120>>2];n:{if(((h?o:w)|0)==4&&(h=h?i[u+116>>2]:u+116|0,Z=s[h+1|0]<<8,D=s[h+2|0]<<16|s[h+3|0]<<24,(s[h|0]|Z|D)==828601960||(h=D|(Z|s[h|0]),(h|0)==828601974|(h|0)==825259617|((h|0)==829108842|(h|0)==1734701162))))break n;if(!E4(u+116|0,9980)||(o=u- -64|0,cr(o,i[e+48>>2],r),o=E4(o,8704),l[u+75|0]<0&&G(i[u+64>>2]),!o))break k;w=s[u+127|0],o=i[u+120>>2]}n:{t:{if(h=o,o=w<<24>>24<0,((o?h:w)|0)!=4)break t;if(o=o?i[u+116>>2]:u+116|0,h=s[o+1|0]<<8,w=s[o+2|0]<<16|s[o+3|0]<<24,Z=1,(s[o|0]|h|w)==828601960||(o=w|(h|s[o|0]),Z=5,(o|0)==828601974)||(Z=4,(o|0)==825259617))break n;if((o|0)!=1734701162)break t;Z=3;break n}t:{if(!E4(u+116|0,9980)||(o=u- -64|0,cr(o,i[e+48>>2],r),o=E4(o,8704),l[u+75|0]<0&&G(i[u+64>>2]),!o))break t;Z=3;break n}Z=E4(u+116|0,16929)?7:0}if(Z=n7(Z,i[n+24>>2]),!Z){if(l[u+64|0]=0,l[u+75|0]=0,r0(f,11,6003,u- -64|0),l[u+75|0]>=0)break r;G(i[u+64>>2]);break r}i[u+8>>2]=0,i[u>>2]=0,i[u+4>>2]=0,w8(u- -64|0,i[e+48>>2],r,u),h=i[u+68>>2],o=i[u+64>>2],i[u+96>>2]=o,i[u+100>>2]=h,l[u+115|0]<0&&(G(i[u+104>>2]),o=i[u+96>>2]),h=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=h,i[u+112>>2]=i[u+80>>2];n:{if(o){k=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=k,i[f+16>>2]=i[u+112>>2],k=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=k,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,w=1;break n}if(V[i[Z+20>>2]](u- -64|0,u+60|0),h=i[u+64>>2],h){if(o=i[u+68>>2],t=i[u+72>>2],_=G2(t),_>>>0>=2147483640)break f;t:{o:{if(_>>>0>=11){k=(_|7)+1|0,w=U(k),i[u+56>>2]=k|-2147483648,i[u+48>>2]=w,i[u+52>>2]=_;break o}if(l[u+59|0]=_,w=u+48|0,!_)break t}F2(w,t,_)}l[w+_|0]=0,r0(f,h,o,u+48|0),l[u+59|0]<0&&G(i[u+48>>2]),w=1;break n}t:{if(i[Z>>2]<2||(o=i[Z+36>>2],!o))break t;V[o|0](i[u+60>>2],s[n+21|0])}if(h=u+48|0,o=i[u>>2],V[i[Z+28>>2]](h,i[u+60>>2],o,i[u+4>>2]-o|0),i[u+72>>2]=i[u+56>>2],o=i[u+52>>2],w=i[u+48>>2],i[u+64>>2]=w,i[u+68>>2]=o,w){V[i[Z+24>>2]](i[u+60>>2]),t=i[u+64>>2],o=i[u+68>>2],k=C1(h,i[u+72>>2]),r0(f,t,o,k),l[k+11|0]<0&&G(i[k>>2]),w=1;break n}if(i[u+44>>2]=0,h=u+48|0,V[i[Z+32>>2]](h,i[u+60>>2],u+44|0),i[u+72>>2]=i[u+56>>2],o=i[u+52>>2],w=i[u+48>>2],i[u+64>>2]=w,i[u+68>>2]=o,w){V[i[Z+24>>2]](i[u+60>>2]),t=i[u+64>>2],o=i[u+68>>2],k=C1(h,i[u+72>>2]),r0(f,t,o,k),l[k+11|0]<0&&G(i[k>>2]),w=1;break n}if(o=i[u+44>>2],!o){V[i[Z+24>>2]](i[u+60>>2]),k=C1(u+48|0,31341),r0(f,7,0,k),l[k+11|0]<0&&G(i[k>>2]),w=1;break n}if(si(A,o),G4(i[u+44>>2]),V[i[Z+24>>2]](i[u+60>>2]),o=i[_+176>>2],i[u+36>>2]=o,h=i[_+180>>2],i[u+40>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),o){w=i[A>>2],o=i[u+36>>2],h=i[u+40>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),i[w+44>>2]=o,Z=i[w+48>>2],i[w+48>>2]=h;t:{if(!Z||(o=i[Z+4>>2],i[Z+4>>2]=o-1,o))break t;V[i[i[Z>>2]+8>>2]](Z),g(Z)}}if(o=i[_+184>>2],i[u+28>>2]=o,h=i[_+188>>2],i[u+32>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),o){w=i[A>>2],o=i[u+28>>2],h=i[u+32>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),i[w+52>>2]=o,_=i[w+56>>2],i[w+56>>2]=h;t:{if(!_||(o=i[_+4>>2],i[_+4>>2]=o-1,o))break t;V[i[i[_>>2]+8>>2]](_),g(_)}}w=0;t:{if(t||(o=i[A>>2],t=i[o+32>>2],k=(k|0)==99?t:k,h=k>>>0<=1?1:k,k=(k|0)!=2?3:0,w=0,(k|0)==i[o+36>>2]&(t|0)==(h|0))||(i[u+20>>2]=0,i[u+24>>2]=0,t=u+48|0,o=k,k=u+20|0,N8(t,A,h,o,k,0,n+28|0),si(A,t),v1(t),v1(k),w=0,i[A>>2]))break t;k=C1(t,31341),r0(f,4,3003,k),l[k+11|0]<0&&G(i[k>>2]),w=1}v1(u+28|0),v1(u+36|0)}if(k=i[u>>2],k&&(i[u+4>>2]=k,G(k)),w)break r;break e}k=l[u+127|0],t=(k|0)<0;k:{n:{t:{if(((t?i[u+120>>2]:k)|0)!=4)break t;if(k=t?i[u+116>>2]:u+116|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))==1684632167){if(i[u+8>>2]=0,i[u>>2]=0,i[u+4>>2]=0,w8(u- -64|0,i[e+48>>2],r,u),t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],k)break n;q=u- -64|0,v=B-224|0,B=v,i[v+216>>2]=0,i[v+208>>2]=0,i[v+212>>2]=0,Uk(v+184|0,v+208|0,u);o:{if(i[v+184>>2]){k=i[v+188>>2],i[q>>2]=i[v+184>>2],i[q+4>>2]=k,i[q+16>>2]=i[v+200>>2],k=i[v+196>>2],i[q+8>>2]=i[v+192>>2],i[q+12>>2]=k,i[v+200>>2]=0,i[v+192>>2]=0,i[v+196>>2]=0;break o}k=i[e+48>>2],t=i[k+76>>2],L=i[k+80>>2],L&&(i[L+4>>2]=i[L+4>>2]+1);u:{if(!t){if(o=U(56),i[v+24>>2]=o,i[v+28>>2]=48,i[v+32>>2]=-2147483592,t=s[11139]|s[11140]<<8|(s[11141]<<16|s[11142]<<24),k=s[11135]|s[11136]<<8|(s[11137]<<16|s[11138]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+48|0]=0,t=s[11179]|s[11180]<<8|(s[11181]<<16|s[11182]<<24),k=s[11175]|s[11176]<<8|(s[11177]<<16|s[11178]<<24),l[o+40|0]=k,l[o+41|0]=k>>>8,l[o+42|0]=k>>>16,l[o+43|0]=k>>>24,l[o+44|0]=t,l[o+45|0]=t>>>8,l[o+46|0]=t>>>16,l[o+47|0]=t>>>24,t=s[11171]|s[11172]<<8|(s[11173]<<16|s[11174]<<24),k=s[11167]|s[11168]<<8|(s[11169]<<16|s[11170]<<24),l[o+32|0]=k,l[o+33|0]=k>>>8,l[o+34|0]=k>>>16,l[o+35|0]=k>>>24,l[o+36|0]=t,l[o+37|0]=t>>>8,l[o+38|0]=t>>>16,l[o+39|0]=t>>>24,t=s[11163]|s[11164]<<8|(s[11165]<<16|s[11166]<<24),k=s[11159]|s[11160]<<8|(s[11161]<<16|s[11162]<<24),l[o+24|0]=k,l[o+25|0]=k>>>8,l[o+26|0]=k>>>16,l[o+27|0]=k>>>24,l[o+28|0]=t,l[o+29|0]=t>>>8,l[o+30|0]=t>>>16,l[o+31|0]=t>>>24,t=s[11155]|s[11156]<<8|(s[11157]<<16|s[11158]<<24),k=s[11151]|s[11152]<<8|(s[11153]<<16|s[11154]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[11147]|s[11148]<<8|(s[11149]<<16|s[11150]<<24),k=s[11143]|s[11144]<<8|(s[11145]<<16|s[11146]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,r0(q,2,113,v+24|0),l[v+35|0]>=0)break u;G(i[v+24>>2]);break u}oi(v+172|0,t,r);l:{s:{h:{if(Z=Q[v+210>>1],_=Q[v+208>>1],w=m(Z,_),y=i[v+176>>2],h=i[v+172>>2],(w|0)==y-h>>2){if((h|0)!=(y|0)){if(o=i[e+16>>2],w=e+20|0,(o|0)==(w|0))break h;for(;;){for(_=i[h>>2],t=o;;){if(i[t+16>>2]!=(_|0)){k=i[t+4>>2];w:{if(k){for(;;)if(t=k,k=i[k>>2],!k)break w}for(;k=t,t=i[t+8>>2],(k|0)!=i[t>>2];);}if((t|0)!=(w|0))continue;break s}break}if(h=h+4|0,(y|0)==(h|0))break}}t=i[e+48>>2],i[v+12>>2]=i[t+52>>2],k=i[t+56>>2],i[v+16>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1,t=i[e+48>>2]),k=i[t+44>>2],R=i[t+48>>2],R&&(i[R+4>>2]=i[R+4>>2]+1),p4(v+4|0,k,r,v+12|0,1885960297);w:{_:{if(k=i[v+4>>2],!k||(k=N0(k,68572,69712),!k))break _;if(p0=i[v+8>>2],!p0){p0=0;break w}i[p0+4>>2]=i[p0+4>>2]+1;break w}k=0}Z=i[v+212>>2],_=i[v+216>>2],l6(v+24|0,e,Z,_),o=i[v+28>>2],t=i[v+24>>2],i[v+184>>2]=t,i[v+188>>2]=o,l[v+203|0]<0&&(G(i[v+192>>2]),t=i[v+184>>2]),o=i[v+36>>2],i[v+192>>2]=i[v+32>>2],i[v+196>>2]=o,i[v+200>>2]=i[v+40>>2];w:{if(t){k=i[v+188>>2],i[q>>2]=i[v+184>>2],i[q+4>>2]=k,i[q+16>>2]=i[v+200>>2],k=i[v+196>>2],i[q+8>>2]=i[v+192>>2],i[q+12>>2]=k,i[v+192>>2]=0,i[v+196>>2]=0,i[v+200>>2]=0;break w}t=U(136),i[t+4>>2]=0,i[t+8>>2]=0,i[t>>2]=72792,B0(t+20|0,0,104),w=i[t+4>>2],h=w+1|0,i[t+4>>2]=h,i[t+56>>2]=0,i[t+60>>2]=0,i[t+44>>2]=99,i[t+48>>2]=99,i[t+32>>2]=34648,o=t- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[t+132>>2]=0,i[t+124>>2]=0,i[t+128>>2]=0,i[t+84>>2]=1,i[t+88>>2]=1,i[t+72>>2]=t+76,i[t+92>>2]=0,i[t+96>>2]=0,i[t+100>>2]=0,i[t+104>>2]=0,i[t+108>>2]=0,i[t+112>>2]=0,l[t+113|0]=0,l[t+114|0]=0,l[t+115|0]=0,l[t+116|0]=0,l[t+117|0]=0,l[t+118|0]=0,l[t+119|0]=0,l[t+120|0]=0,o=t+12|0,i[t+12>>2]=o,i[t+8>>2]=i[t+8>>2]+1,i[t+4>>2]=w,i[t+16>>2]=t,h||(V[i[i[t>>2]+8>>2]](t),g(t)),i[A>>2]=o,o=i[A+4>>2],i[A+4>>2]=t;_:{if(!o||(t=i[o+4>>2],i[o+4>>2]=t-1,t))break _;V[i[i[o>>2]+8>>2]](o),g(o)}t=i[A>>2],i[t+36>>2]=3,i[t+32>>2]=1,i[t+28>>2]=_,i[t+24>>2]=Z;_:{if(k){if(o=i[k+56>>2],k=i[k+60>>2]-o|0,(k|0)<=0){if(k=C1(v+24|0,17788),r0(q,2,130,k),l[k+11|0]>=0)break w;G(i[k>>2]);break w}if(t=s[o|0],(t|0)==s[o+1|0]&s[o+2|0]==(t|0)|(k|0)!=3)break _;if(k=C1(v+24|0,17736),r0(q,2,130,k),l[k+11|0]>=0)break w;G(i[k>>2]);break w}v:{t=i[e+20>>2];Z:{if(!t)break Z;for(w=i[i[v+172>>2]>>2],h=e+20|0,k=h;o=w>>>0>k0[t+16>>2],k=o?k:t,t=i[(o<<2)+t>>2],!!t;);if((k|0)==(h|0))break Z;if(w>>>0>=k0[k+16>>2])break v}if(k=C1(v+24|0,13463),r0(q,2,119,k),l[k+11|0]>=0)break w;G(i[k>>2]);break w}t=i[k+20>>2],i[v+24>>2]=t,k=i[k+24>>2],i[v+28>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1),t=Ek(t),v1(v+24|0)}if(t-17>>>0<=4294967286){if(k=C1(v+24|0,17390),r0(q,2,130,k),l[k+11|0]>=0)break w;G(i[k>>2]);break w}if(J0(i[A>>2],3,Z,_,t),J0(i[A>>2],4,Z,_,t),J0(i[A>>2],5,Z,_,t),t=Q[v+208>>1],t)for(y=e+20|0,D=Q[v+210>>1],h=0,o=0;;){_:{if(!D){D=0;break _}for(h0=0,_=0;;){v:{t=i[y>>2];Z:{if(!t)break Z;for(Z=i[i[v+172>>2]+(Y0<<2)>>2],k=y;w=Z>>>0>k0[t+16>>2],k=w?k:t,t=i[(w<<2)+t>>2],!!t;);if((k|0)==(y|0))break Z;if(Z>>>0>=k0[k+16>>2])break v}if(o=U(40),i[v+24>>2]=o,i[v+28>>2]=33,i[v+32>>2]=-2147483608,t=s[13467]|s[13468]<<8|(s[13469]<<16|s[13470]<<24),k=s[13463]|s[13464]<<8|(s[13465]<<16|s[13466]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+33|0]=0,l[o+32|0]=s[13495],t=s[13491]|s[13492]<<8|(s[13493]<<16|s[13494]<<24),k=s[13487]|s[13488]<<8|(s[13489]<<16|s[13490]<<24),l[o+24|0]=k,l[o+25|0]=k>>>8,l[o+26|0]=k>>>16,l[o+27|0]=k>>>24,l[o+28|0]=t,l[o+29|0]=t>>>8,l[o+30|0]=t>>>16,l[o+31|0]=t>>>24,t=s[13483]|s[13484]<<8|(s[13485]<<16|s[13486]<<24),k=s[13479]|s[13480]<<8|(s[13481]<<16|s[13482]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[13475]|s[13476]<<8|(s[13477]<<16|s[13478]<<24),k=s[13471]|s[13472]<<8|(s[13473]<<16|s[13474]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,r0(q,2,119,v+24|0),l[v+35|0]>=0)break w;G(i[v+24>>2]);break w}t=i[k+20>>2],d=i[k+24>>2],d&&(i[d+4>>2]=i[d+4>>2]+1),p=i[t+24>>2],t=i[t+28>>2],l6(v+24|0,e,p,t),w=i[v+28>>2],k=i[v+24>>2],i[v+184>>2]=k,i[v+188>>2]=w,l[v+203|0]<0&&(G(i[v+192>>2]),k=i[v+184>>2]),w=i[v+36>>2],i[v+192>>2]=i[v+32>>2],i[v+196>>2]=w,i[v+200>>2]=i[v+40>>2];v:{Z:{if(k)break Z;m:{if(p>>>0>=k0[v+212>>2]/(D>>>0)>>>0&&t>>>0>=k0[v+216>>2]/Q[v+208>>1]>>>0)break m;w=U(40),i[v+24>>2]=w,i[v+28>>2]=35,i[v+32>>2]=-2147483608,t=s[11055]|s[11056]<<8|(s[11057]<<16|s[11058]<<24),k=s[11051]|s[11052]<<8|(s[11053]<<16|s[11054]<<24),l[w|0]=k,l[w+1|0]=k>>>8,l[w+2|0]=k>>>16,l[w+3|0]=k>>>24,l[w+4|0]=t,l[w+5|0]=t>>>8,l[w+6|0]=t>>>16,l[w+7|0]=t>>>24,l[w+35|0]=0,k=s[11082]|s[11083]<<8|(s[11084]<<16|s[11085]<<24),l[w+31|0]=k,l[w+32|0]=k>>>8,l[w+33|0]=k>>>16,l[w+34|0]=k>>>24,t=s[11079]|s[11080]<<8|(s[11081]<<16|s[11082]<<24),k=s[11075]|s[11076]<<8|(s[11077]<<16|s[11078]<<24),l[w+24|0]=k,l[w+25|0]=k>>>8,l[w+26|0]=k>>>16,l[w+27|0]=k>>>24,l[w+28|0]=t,l[w+29|0]=t>>>8,l[w+30|0]=t>>>16,l[w+31|0]=t>>>24,t=s[11071]|s[11072]<<8|(s[11073]<<16|s[11074]<<24),k=s[11067]|s[11068]<<8|(s[11069]<<16|s[11070]<<24),l[w+16|0]=k,l[w+17|0]=k>>>8,l[w+18|0]=k>>>16,l[w+19|0]=k>>>24,l[w+20|0]=t,l[w+21|0]=t>>>8,l[w+22|0]=t>>>16,l[w+23|0]=t>>>24,t=s[11063]|s[11064]<<8|(s[11065]<<16|s[11066]<<24),k=s[11059]|s[11060]<<8|(s[11061]<<16|s[11062]<<24),l[w+8|0]=k,l[w+9|0]=k>>>8,l[w+10|0]=k>>>16,l[w+11|0]=k>>>24,l[w+12|0]=t,l[w+13|0]=t>>>8,l[w+14|0]=t>>>16,l[w+15|0]=t>>>24,r0(q,2,118,v+24|0),l[v+35|0]<0&&G(i[v+24>>2]),k=0;break v}m:{if(!(H|h0)){o=p,h=t;break m}if((o|0)==(p|0)&(t|0)==(h|0))break m;w=U(32),i[v+24>>2]=w,i[v+28>>2]=31,i[v+32>>2]=-2147483616,t=s[4092]|s[4093]<<8|(s[4094]<<16|s[4095]<<24),k=s[4088]|s[4089]<<8|(s[4090]<<16|s[4091]<<24),l[w|0]=k,l[w+1|0]=k>>>8,l[w+2|0]=k>>>16,l[w+3|0]=k>>>24,l[w+4|0]=t,l[w+5|0]=t>>>8,l[w+6|0]=t>>>16,l[w+7|0]=t>>>24,l[w+31|0]=0,t=s[4115]|s[4116]<<8|(s[4117]<<16|s[4118]<<24),k=s[4111]|s[4112]<<8|(s[4113]<<16|s[4114]<<24),l[w+23|0]=k,l[w+24|0]=k>>>8,l[w+25|0]=k>>>16,l[w+26|0]=k>>>24,l[w+27|0]=t,l[w+28|0]=t>>>8,l[w+29|0]=t>>>16,l[w+30|0]=t>>>24,t=s[4108]|s[4109]<<8|(s[4110]<<16|s[4111]<<24),k=s[4104]|s[4105]<<8|(s[4106]<<16|s[4107]<<24),l[w+16|0]=k,l[w+17|0]=k>>>8,l[w+18|0]=k>>>16,l[w+19|0]=k>>>24,l[w+20|0]=t,l[w+21|0]=t>>>8,l[w+22|0]=t>>>16,l[w+23|0]=t>>>24,t=s[4100]|s[4101]<<8|(s[4102]<<16|s[4103]<<24),k=s[4096]|s[4097]<<8|(s[4098]<<16|s[4099]<<24),l[w+8|0]=k,l[w+9|0]=k>>>8,l[w+10|0]=k>>>16,l[w+11|0]=k>>>24,l[w+12|0]=t,l[w+13|0]=t>>>8,l[w+14|0]=t>>>16,l[w+15|0]=t>>>24,r0(q,2,118,v+24|0),l[v+35|0]<0&&G(i[v+24>>2]),k=0;break v}j=v+24|0,I=B+-64|0,B=I,i[I+56>>2]=0,i[I+60>>2]=0,f6(I+32|0,e,Z,I+56|0,i[i[A>>2]+32>>2],n,0);m:{if(i[I+32>>2]!=i[19564]){k=i[I+36>>2],i[j>>2]=i[I+32>>2],i[j+4>>2]=k,i[j+16>>2]=i[I+48>>2],k=i[I+44>>2],i[j+8>>2]=i[I+40>>2],i[j+12>>2]=k,i[I+48>>2]=0,i[I+40>>2]=0,i[I+44>>2]=0;break m}if(k=i[A>>2],t=i[I+56>>2],i[k+36>>2]!=i[t+36>>2]){if(w=U(64),i[I+20>>2]=w,i[I+24>>2]=58,i[I+28>>2]=-2147483584,t=s[11188]|s[11189]<<8|(s[11190]<<16|s[11191]<<24),k=s[11184]|s[11185]<<8|(s[11186]<<16|s[11187]<<24),l[w|0]=k,l[w+1|0]=k>>>8,l[w+2|0]=k>>>16,l[w+3|0]=k>>>24,l[w+4|0]=t,l[w+5|0]=t>>>8,l[w+6|0]=t>>>16,l[w+7|0]=t>>>24,l[w+58|0]=0,k=s[11240]|s[11241]<<8,l[w+56|0]=k,l[w+57|0]=k>>>8,t=s[11236]|s[11237]<<8|(s[11238]<<16|s[11239]<<24),k=s[11232]|s[11233]<<8|(s[11234]<<16|s[11235]<<24),l[w+48|0]=k,l[w+49|0]=k>>>8,l[w+50|0]=k>>>16,l[w+51|0]=k>>>24,l[w+52|0]=t,l[w+53|0]=t>>>8,l[w+54|0]=t>>>16,l[w+55|0]=t>>>24,t=s[11228]|s[11229]<<8|(s[11230]<<16|s[11231]<<24),k=s[11224]|s[11225]<<8|(s[11226]<<16|s[11227]<<24),l[w+40|0]=k,l[w+41|0]=k>>>8,l[w+42|0]=k>>>16,l[w+43|0]=k>>>24,l[w+44|0]=t,l[w+45|0]=t>>>8,l[w+46|0]=t>>>16,l[w+47|0]=t>>>24,t=s[11220]|s[11221]<<8|(s[11222]<<16|s[11223]<<24),k=s[11216]|s[11217]<<8|(s[11218]<<16|s[11219]<<24),l[w+32|0]=k,l[w+33|0]=k>>>8,l[w+34|0]=k>>>16,l[w+35|0]=k>>>24,l[w+36|0]=t,l[w+37|0]=t>>>8,l[w+38|0]=t>>>16,l[w+39|0]=t>>>24,t=s[11212]|s[11213]<<8|(s[11214]<<16|s[11215]<<24),k=s[11208]|s[11209]<<8|(s[11210]<<16|s[11211]<<24),l[w+24|0]=k,l[w+25|0]=k>>>8,l[w+26|0]=k>>>16,l[w+27|0]=k>>>24,l[w+28|0]=t,l[w+29|0]=t>>>8,l[w+30|0]=t>>>16,l[w+31|0]=t>>>24,t=s[11204]|s[11205]<<8|(s[11206]<<16|s[11207]<<24),k=s[11200]|s[11201]<<8|(s[11202]<<16|s[11203]<<24),l[w+16|0]=k,l[w+17|0]=k>>>8,l[w+18|0]=k>>>16,l[w+19|0]=k>>>24,l[w+20|0]=t,l[w+21|0]=t>>>8,l[w+22|0]=t>>>16,l[w+23|0]=t>>>24,t=s[11196]|s[11197]<<8|(s[11198]<<16|s[11199]<<24),k=s[11192]|s[11193]<<8|(s[11194]<<16|s[11195]<<24),l[w+8|0]=k,l[w+9|0]=k>>>8,l[w+10|0]=k>>>16,l[w+11|0]=k>>>24,l[w+12|0]=t,l[w+13|0]=t>>>8,l[w+14|0]=t>>>16,l[w+15|0]=t>>>24,r0(j,2,127,I+20|0),l[I+31|0]>=0)break m;G(i[I+20>>2]);break m}J=i[t+28>>2],S=i[t+24>>2],A0=i[k+28>>2],f0=i[k+24>>2];B:{if(!V9(t)||V9(i[A>>2]))break B;t=U0(i[I+56>>2],6),a=(-1<<t^-1)&65535,X0=i[A>>2],J0(X0,6,f0,A0,t),w=X0- -64|0,E=1;p:{W:switch(i[X0+36>>2]){case 10:case 12:case 14:Z=3;break p;case 11:case 13:case 15:Z=4;break p;default:E=0;break;case 0:case 1:case 2:case 3:case 99:break W}Z=E}E=i[X0+64>>2];p:{W:{G:{if((t|0)<=8){if(!E)break G;for(k=w;t=i[E+16>>2]<6,k=t?k:E,E=i[(t<<2)+E>>2],!!E;);if((k|0)==(w|0))break G;if(w=0,t=0,i[k+16>>2]>6)break W;w=i[k+48>>2],t=i[k+40>>2];break W}C:{y:{if(!E)break y;for(t=w;k=i[E+16>>2]<6,t=k?t:E,E=i[(k<<2)+E>>2],!!E;);if((t|0)==(w|0))break y;if(w=0,k=0,i[t+16>>2]>6)break C;w=i[t+48>>2]/2|0,k=i[t+40>>2];break C}w=0,k=0}if((A0|0)<=0||(t=m(Z,f0),(t|0)<=0))break p;for(X0=t&2147483640,Q0=t&7,F0=0,Z=t>>>0<8;;){if(I0=(m(w,F0)<<1)+k|0,t=0,E=0,!Z)for(;z=I0+(t<<1)|0,X[z>>1]=a,X[z+2>>1]=a,X[z+4>>1]=a,X[z+6>>1]=a,X[z+8>>1]=a,X[z+10>>1]=a,X[z+12>>1]=a,X[z+14>>1]=a,t=t+8|0,E=E+8|0,(X0|0)!=(E|0););if(E=0,Q0)for(;X[I0+(t<<1)>>1]=a,t=t+1|0,E=E+1|0,(Q0|0)!=(E|0););if(F0=F0+1|0,(A0|0)==(F0|0))break}break p}w=0,t=0}if((A0|0)<=0)break p;if(X0=m(Z,f0),k=0,E=0,A0>>>0>=4)for(Z=A0&2147483644,F0=0;B0(m(w,E)+t|0,a,X0),B0(m(w,E|1)+t|0,a,X0),B0(m(w,E|2)+t|0,a,X0),B0(m(w,E|3)+t|0,a,X0),E=E+4|0,F0=F0+4|0,(Z|0)!=(F0|0););if(Z=A0&3,!Z)break p;for(;B0(m(w,E)+t|0,a,X0),E=E+1|0,k=k+1|0,(Z|0)!=(k|0););}}l7(I+20|0,i[I+56>>2]);B:{p:{if(w=i[I+20>>2],z=I+24|0,(w|0)!=(z|0)){if(C>>>0>=A0>>>0|_>>>0>=f0>>>0)break p;for(k=f0-_|0,Q0=k>>>0<S>>>0?k:S,k=A0-C|0,f0=k>>>0<J>>>0?k:J,I0=f0&2147483646,X0=f0&1,E=(f0|0)>0;;){k=i[w+16>>2],J=v0(i[I+56>>2],k,I+16|0),Z=v0(i[A>>2],k,I+12|0);W:{G:{if((U0(i[A>>2],k)|0)==(U0(i[I+56>>2],k)|0)){if(t=r3(i[I+56>>2],3),k=r3(i[I+56>>2],3),!E)break W;if(S=m(Q0,t>>>3|0),Z=Z+m(k>>>3|0,_)|0,k=0,F0=0,(f0|0)==1)break G;for(;l0(Z+m(i[I+12>>2],k+C|0)|0,J+m(i[I+16>>2],k)|0,S),t=k|1,l0(Z+m(i[I+12>>2],t+C|0)|0,J+m(t,i[I+16>>2])|0,S),k=k+2|0,F0=F0+2|0,(I0|0)!=(F0|0););break G}if(l[I|0]=0,l[I+11|0]=0,r0(j,2,132,I),l[I+11|0]>=0)break B;G(i[I>>2]);break B}if(!X0)break W;l0(Z+m(i[I+12>>2],k+C|0)|0,J+m(i[I+16>>2],k)|0,S)}t=i[w+4>>2];W:{if(t){for(;;)if(k=t,t=i[k>>2],!t)break W}for(;k=i[w+8>>2],t=i[k>>2]!=(w|0),w=k,!!t;);}if(w=k,(k|0)==(z|0))break}}if(k=i[19565],i[j>>2]=i[19564],i[j+4>>2]=k,t=j+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break B}_0(t,i[19566],i[19567]);break B}if(k=i[w+16>>2],v0(i[I+56>>2],k,I+16|0),v0(i[A>>2],k,I+12|0),l[I|0]=0,l[I+11|0]=0,r0(j,2,118,I),l[I+11|0]>=0)break B;G(i[I>>2])}j6(I+20|0,i[I+24>>2])}l[I+51|0]<0&&G(i[I+40>>2]),t=i[I+60>>2];m:{if(!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break m;V[i[i[t>>2]+8>>2]](t),g(t)}if(B=I- -64|0,t=i[v+28>>2],k=i[v+24>>2],i[v+184>>2]=k,i[v+188>>2]=t,l[v+203|0]<0&&(G(i[v+192>>2]),k=i[v+184>>2]),t=i[v+36>>2],i[v+192>>2]=i[v+32>>2],i[v+196>>2]=t,i[v+200>>2]=i[v+40>>2],k)break Z;Y0=Y0+1|0,_=_+p|0,k=1;break v}k=i[v+188>>2],i[q>>2]=i[v+184>>2],i[q+4>>2]=k,i[q+16>>2]=i[v+200>>2],k=i[v+196>>2],i[q+8>>2]=i[v+192>>2],i[q+12>>2]=k,i[v+192>>2]=0,i[v+196>>2]=0,i[v+200>>2]=0,k=0}v:{if(!d||(t=i[d+4>>2],i[d+4>>2]=t-1,t))break v;V[i[i[d>>2]+8>>2]](d),g(d)}if(!k)break w;if(D=Q[v+210>>1],h0=h0+1|0,!(D>>>0>h0>>>0))break}t=Q[v+208>>1]}if(C=h+C|0,H=H+1|0,!(H>>>0<(t&65535)>>>0))break}V3(q)}w:{if(!p0||(k=i[p0+4>>2],i[p0+4>>2]=k-1,k))break w;V[i[i[p0>>2]+8>>2]](p0),g(p0)}t=i[v+8>>2];w:{if(!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break w;V[i[i[t>>2]+8>>2]](t),g(t)}w:{if(!R||(k=i[R+4>>2],i[R+4>>2]=k-1,k))break w;V[i[i[R>>2]+8>>2]](R),g(R)}if(t=i[v+16>>2],!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break l;V[i[i[t>>2]+8>>2]](t),g(t);break l}i[v+32>>2]=54496,i[v+88>>2]=54516,k=i[13633],i[v+24>>2]=k,h=v+24|0,i[h+i[k-12>>2]>>2]=i[13634],i[v+28>>2]=0,k=h+i[i[v+24>>2]-12>>2]|0,o=v+36|0,b0(k,o),i[k+72>>2]=0,i[k+76>>2]=-1,k=i[13635],i[v+32>>2]=k,t=v+32|0,i[t+i[k-12>>2]>>2]=i[13636],k=i[13632],i[v+24>>2]=k,i[h+i[k-12>>2]>>2]=i[13637],i[v+88>>2]=54516,i[v+24>>2]=54476,i[v+32>>2]=54496,o=$0(o),i[o>>2]=53552,i[v+76>>2]=0,i[v+80>>2]=0,i[v+68>>2]=0,i[v+72>>2]=0,i[v+84>>2]=24,x(L0(x(H0(x(L0(x(L0(x(t,18988,17),_),2490,1),Z),16374,1),w),18716,17),i[v+176>>2]-i[v+172>>2]>>2),10094,20),k=v+12|0,i2(k,o),r0(q,2,119,k),l[v+23|0]<0&&G(i[v+12>>2]),k=i[13631],i[v+24>>2]=k,i[i[k-12>>2]+(v+24|0)>>2]=i[13639],i[v+32>>2]=i[13640],i[o>>2]=53552,l[v+79|0]<0&&G(i[v+68>>2]),K0(o),T0(v+88|0);break l}_=i[h>>2]}i[v+32>>2]=54496,i[v+88>>2]=54516,k=i[13633],i[v+24>>2]=k,h=v+24|0,i[h+i[k-12>>2]>>2]=i[13634],i[v+28>>2]=0,k=h+i[i[v+24>>2]-12>>2]|0,o=v+36|0,b0(k,o),i[k+72>>2]=0,i[k+76>>2]=-1,k=i[13635],i[v+32>>2]=k,t=v+32|0,i[t+i[k-12>>2]>>2]=i[13636],k=i[13632],i[v+24>>2]=k,i[h+i[k-12>>2]>>2]=i[13637],i[v+88>>2]=54516,i[v+24>>2]=54476,i[v+32>>2]=54496,o=$0(o),i[o>>2]=53552,i[v+76>>2]=0,i[v+80>>2]=0,i[v+68>>2]=0,i[v+72>>2]=0,i[v+84>>2]=24,x(L0(x(t,16361,14),_),17905,23),k=v+12|0,i2(k,o),r0(q,2,119,k),l[v+23|0]<0&&G(i[v+12>>2]),k=i[13631],i[v+24>>2]=k,i[i[k-12>>2]+(v+24|0)>>2]=i[13639],i[v+32>>2]=i[13640],i[o>>2]=53552,l[v+79|0]<0&&G(i[v+68>>2]),K0(o),T0(v+88|0)}if(k=i[v+172>>2],!k)break u;i[v+176>>2]=k,G(k)}if(!L||(k=i[L+4>>2],i[L+4>>2]=k-1,k))break o;V[i[i[L>>2]+8>>2]](L),g(L)}if(l[v+203|0]<0&&G(i[v+192>>2]),B=v+224|0,t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],k)break n;if(k=i[u>>2],!k)break e;i[u+4>>2]=k,G(k);break e}if((s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))==1852138601){w=B-32|0,B=w,k=i[e+48>>2],t=i[k+76>>2],h=i[k+80>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),o=u- -64|0;o:{if(!t){if(_=U(56),i[w+20>>2]=_,i[w+24>>2]=48,i[w+28>>2]=-2147483592,t=s[10630]|s[10631]<<8|(s[10632]<<16|s[10633]<<24),k=s[10626]|s[10627]<<8|(s[10628]<<16|s[10629]<<24),l[_|0]=k,l[_+1|0]=k>>>8,l[_+2|0]=k>>>16,l[_+3|0]=k>>>24,l[_+4|0]=t,l[_+5|0]=t>>>8,l[_+6|0]=t>>>16,l[_+7|0]=t>>>24,l[_+48|0]=0,t=s[10670]|s[10671]<<8|(s[10672]<<16|s[10673]<<24),k=s[10666]|s[10667]<<8|(s[10668]<<16|s[10669]<<24),l[_+40|0]=k,l[_+41|0]=k>>>8,l[_+42|0]=k>>>16,l[_+43|0]=k>>>24,l[_+44|0]=t,l[_+45|0]=t>>>8,l[_+46|0]=t>>>16,l[_+47|0]=t>>>24,t=s[10662]|s[10663]<<8|(s[10664]<<16|s[10665]<<24),k=s[10658]|s[10659]<<8|(s[10660]<<16|s[10661]<<24),l[_+32|0]=k,l[_+33|0]=k>>>8,l[_+34|0]=k>>>16,l[_+35|0]=k>>>24,l[_+36|0]=t,l[_+37|0]=t>>>8,l[_+38|0]=t>>>16,l[_+39|0]=t>>>24,t=s[10654]|s[10655]<<8|(s[10656]<<16|s[10657]<<24),k=s[10650]|s[10651]<<8|(s[10652]<<16|s[10653]<<24),l[_+24|0]=k,l[_+25|0]=k>>>8,l[_+26|0]=k>>>16,l[_+27|0]=k>>>24,l[_+28|0]=t,l[_+29|0]=t>>>8,l[_+30|0]=t>>>16,l[_+31|0]=t>>>24,t=s[10646]|s[10647]<<8|(s[10648]<<16|s[10649]<<24),k=s[10642]|s[10643]<<8|(s[10644]<<16|s[10645]<<24),l[_+16|0]=k,l[_+17|0]=k>>>8,l[_+18|0]=k>>>16,l[_+19|0]=k>>>24,l[_+20|0]=t,l[_+21|0]=t>>>8,l[_+22|0]=t>>>16,l[_+23|0]=t>>>24,t=s[10638]|s[10639]<<8|(s[10640]<<16|s[10641]<<24),k=s[10634]|s[10635]<<8|(s[10636]<<16|s[10637]<<24),l[_+8|0]=k,l[_+9|0]=k>>>8,l[_+10|0]=k>>>16,l[_+11|0]=k>>>24,l[_+12|0]=t,l[_+13|0]=t>>>8,l[_+14|0]=t>>>16,l[_+15|0]=t>>>24,r0(o,2,113,w+20|0),l[w+31|0]>=0)break o;G(i[w+20>>2]);break o}oi(w+20|0,t,r),k=i[w+20>>2];u:{if((i[w+24>>2]-k|0)!=4){if(_=U(48),i[w+8>>2]=_,i[w+12>>2]=47,i[w+16>>2]=-2147483600,t=s[11091]|s[11092]<<8|(s[11093]<<16|s[11094]<<24),k=s[11087]|s[11088]<<8|(s[11089]<<16|s[11090]<<24),l[_|0]=k,l[_+1|0]=k>>>8,l[_+2|0]=k>>>16,l[_+3|0]=k>>>24,l[_+4|0]=t,l[_+5|0]=t>>>8,l[_+6|0]=t>>>16,l[_+7|0]=t>>>24,l[_+47|0]=0,t=s[11130]|s[11131]<<8|(s[11132]<<16|s[11133]<<24),k=s[11126]|s[11127]<<8|(s[11128]<<16|s[11129]<<24),l[_+39|0]=k,l[_+40|0]=k>>>8,l[_+41|0]=k>>>16,l[_+42|0]=k>>>24,l[_+43|0]=t,l[_+44|0]=t>>>8,l[_+45|0]=t>>>16,l[_+46|0]=t>>>24,t=s[11123]|s[11124]<<8|(s[11125]<<16|s[11126]<<24),k=s[11119]|s[11120]<<8|(s[11121]<<16|s[11122]<<24),l[_+32|0]=k,l[_+33|0]=k>>>8,l[_+34|0]=k>>>16,l[_+35|0]=k>>>24,l[_+36|0]=t,l[_+37|0]=t>>>8,l[_+38|0]=t>>>16,l[_+39|0]=t>>>24,t=s[11115]|s[11116]<<8|(s[11117]<<16|s[11118]<<24),k=s[11111]|s[11112]<<8|(s[11113]<<16|s[11114]<<24),l[_+24|0]=k,l[_+25|0]=k>>>8,l[_+26|0]=k>>>16,l[_+27|0]=k>>>24,l[_+28|0]=t,l[_+29|0]=t>>>8,l[_+30|0]=t>>>16,l[_+31|0]=t>>>24,t=s[11107]|s[11108]<<8|(s[11109]<<16|s[11110]<<24),k=s[11103]|s[11104]<<8|(s[11105]<<16|s[11106]<<24),l[_+16|0]=k,l[_+17|0]=k>>>8,l[_+18|0]=k>>>16,l[_+19|0]=k>>>24,l[_+20|0]=t,l[_+21|0]=t>>>8,l[_+22|0]=t>>>16,l[_+23|0]=t>>>24,t=s[11099]|s[11100]<<8|(s[11101]<<16|s[11102]<<24),k=s[11095]|s[11096]<<8|(s[11097]<<16|s[11098]<<24),l[_+8|0]=k,l[_+9|0]=k>>>8,l[_+10|0]=k>>>16,l[_+11|0]=k>>>24,l[_+12|0]=t,l[_+13|0]=t>>>8,l[_+14|0]=t>>>16,l[_+15|0]=t>>>24,r0(o,2,0,w+8|0),l[w+19|0]>=0)break u;G(i[w+8>>2]);break u}if(k=i[k>>2],(k|0)==(r|0)){if(_=U(40),i[w+8>>2]=_,i[w+12>>2]=32,i[w+16>>2]=-2147483608,t=s[8751]|s[8752]<<8|(s[8753]<<16|s[8754]<<24),k=s[8747]|s[8748]<<8|(s[8749]<<16|s[8750]<<24),l[_|0]=k,l[_+1|0]=k>>>8,l[_+2|0]=k>>>16,l[_+3|0]=k>>>24,l[_+4|0]=t,l[_+5|0]=t>>>8,l[_+6|0]=t>>>16,l[_+7|0]=t>>>24,l[_+32|0]=0,t=s[8775]|s[8776]<<8|(s[8777]<<16|s[8778]<<24),k=s[8771]|s[8772]<<8|(s[8773]<<16|s[8774]<<24),l[_+24|0]=k,l[_+25|0]=k>>>8,l[_+26|0]=k>>>16,l[_+27|0]=k>>>24,l[_+28|0]=t,l[_+29|0]=t>>>8,l[_+30|0]=t>>>16,l[_+31|0]=t>>>24,t=s[8767]|s[8768]<<8|(s[8769]<<16|s[8770]<<24),k=s[8763]|s[8764]<<8|(s[8765]<<16|s[8766]<<24),l[_+16|0]=k,l[_+17|0]=k>>>8,l[_+18|0]=k>>>16,l[_+19|0]=k>>>24,l[_+20|0]=t,l[_+21|0]=t>>>8,l[_+22|0]=t>>>16,l[_+23|0]=t>>>24,t=s[8759]|s[8760]<<8|(s[8761]<<16|s[8762]<<24),k=s[8755]|s[8756]<<8|(s[8757]<<16|s[8758]<<24),l[_+8|0]=k,l[_+9|0]=k>>>8,l[_+10|0]=k>>>16,l[_+11|0]=k>>>24,l[_+12|0]=t,l[_+13|0]=t>>>8,l[_+14|0]=t>>>16,l[_+15|0]=t>>>24,r0(o,2,0,w+8|0),l[w+19|0]>=0)break u;G(i[w+8>>2]);break u}f6(o,e,k,A,1,n,0)}if(k=i[w+20>>2],!k)break o;i[w+24>>2]=k,G(k)}o:{if(!h||(k=i[h+4>>2],i[h+4>>2]=k-1,k))break o;V[i[i[h>>2]+8>>2]](h),g(h)}if(B=w+32|0,t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],!k)break e;e=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+112>>2],e=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=e,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0;break r}if((s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))==1819701097){if(i[u+8>>2]=0,i[u>>2]=0,i[u+4>>2]=0,w8(u- -64|0,i[e+48>>2],r,u),t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],k)break k;W=B-112|0,B=W,k=i[e+48>>2],t=i[k+76>>2],a=i[k+80>>2],a&&(i[a+4>>2]=i[a+4>>2]+1),I=u- -64|0;o:{if(!t){if(o=U(56),i[W+68>>2]=o,i[W+72>>2]=48,i[W+76>>2]=-2147483592,t=s[10723]|s[10724]<<8|(s[10725]<<16|s[10726]<<24),k=s[10719]|s[10720]<<8|(s[10721]<<16|s[10722]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+48|0]=0,t=s[10763]|s[10764]<<8|(s[10765]<<16|s[10766]<<24),k=s[10759]|s[10760]<<8|(s[10761]<<16|s[10762]<<24),l[o+40|0]=k,l[o+41|0]=k>>>8,l[o+42|0]=k>>>16,l[o+43|0]=k>>>24,l[o+44|0]=t,l[o+45|0]=t>>>8,l[o+46|0]=t>>>16,l[o+47|0]=t>>>24,t=s[10755]|s[10756]<<8|(s[10757]<<16|s[10758]<<24),k=s[10751]|s[10752]<<8|(s[10753]<<16|s[10754]<<24),l[o+32|0]=k,l[o+33|0]=k>>>8,l[o+34|0]=k>>>16,l[o+35|0]=k>>>24,l[o+36|0]=t,l[o+37|0]=t>>>8,l[o+38|0]=t>>>16,l[o+39|0]=t>>>24,t=s[10747]|s[10748]<<8|(s[10749]<<16|s[10750]<<24),k=s[10743]|s[10744]<<8|(s[10745]<<16|s[10746]<<24),l[o+24|0]=k,l[o+25|0]=k>>>8,l[o+26|0]=k>>>16,l[o+27|0]=k>>>24,l[o+28|0]=t,l[o+29|0]=t>>>8,l[o+30|0]=t>>>16,l[o+31|0]=t>>>24,t=s[10739]|s[10740]<<8|(s[10741]<<16|s[10742]<<24),k=s[10735]|s[10736]<<8|(s[10737]<<16|s[10738]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[10731]|s[10732]<<8|(s[10733]<<16|s[10734]<<24),k=s[10727]|s[10728]<<8|(s[10729]<<16|s[10730]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,r0(I,2,113,W+68|0),l[W+79|0]>=0)break o;G(i[W+68>>2]);break o}oi(W+100|0,t,r),i[W+96>>2]=0,i[W+88>>2]=0,i[W+92>>2]=0,w=W+68|0,H=i[W+104>>2]-i[W+100>>2]>>2,_=0,R=B-192|0,B=R,o=U(32),i[R+24>>2]=o,i[R+28>>2]=29,i[R+32>>2]=-2147483616,t=s[9309]|s[9310]<<8|(s[9311]<<16|s[9312]<<24),k=s[9305]|s[9306]<<8|(s[9307]<<16|s[9308]<<24),l[o+21|0]=k,l[o+22|0]=k>>>8,l[o+23|0]=k>>>16,l[o+24|0]=k>>>24,l[o+25|0]=t,l[o+26|0]=t>>>8,l[o+27|0]=t>>>16,l[o+28|0]=t>>>24,t=s[9304]|s[9305]<<8|(s[9306]<<16|s[9307]<<24),k=s[9300]|s[9301]<<8|(s[9302]<<16|s[9303]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[9296]|s[9297]<<8|(s[9298]<<16|s[9299]<<24),k=s[9292]|s[9293]<<8|(s[9294]<<16|s[9295]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,t=s[9288]|s[9289]<<8|(s[9290]<<16|s[9291]<<24),k=s[9284]|s[9285]<<8|(s[9286]<<16|s[9287]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+29|0]=0,o=r0(R+168|0,2,121,R+24|0),l[R+35|0]<0&&G(i[R+24>>2]),d=W+48|0,t=i[u>>2],h=i[u+4>>2]-t|0;u:{if(h>>>0<=9){k=i[o+4>>2],i[d>>2]=i[o>>2],i[d+4>>2]=k,i[d+16>>2]=i[o+16>>2],k=i[o+12>>2],i[d+8>>2]=i[o+8>>2],i[d+12>>2]=k,i[o+16>>2]=0,i[o+8>>2]=0,i[o+12>>2]=0;break u}if(k=s[t|0],l[w|0]=k,k){i[R+32>>2]=54496,i[R+88>>2]=54516,k=i[13633],i[R+24>>2]=k,_=R+24|0,i[_+i[k-12>>2]>>2]=i[13634],i[R+28>>2]=0,k=_+i[i[R+24>>2]-12>>2]|0,h=R+36|0,b0(k,h),i[k+72>>2]=0,i[k+76>>2]=-1,k=i[13635],i[R+32>>2]=k,t=R+32|0,i[t+i[k-12>>2]>>2]=i[13636],k=i[13632],i[R+24>>2]=k,i[_+i[k-12>>2]>>2]=i[13637],i[R+88>>2]=54516,i[R+24>>2]=54476,i[R+32>>2]=54496,h=$0(h),i[h>>2]=53552,i[R+76>>2]=0,i[R+80>>2]=0,i[R+68>>2]=0,i[R+72>>2]=0,i[R+84>>2]=24,x(H0(x(t,18932,27),s[w|0]),3320,23),k=R+12|0,i2(k,h),r0(d,4,3002,k),l[R+23|0]<0&&G(i[R+12>>2]),k=i[13631],i[R+24>>2]=k,i[i[k-12>>2]+(R+24|0)>>2]=i[13639],i[R+32>>2]=i[13640],i[h>>2]=53552,l[R+79|0]<0&&G(i[R+68>>2]),K0(h),T0(R+88|0);break u}if(t=s[t+1|0],l[w+1|0]=t,k=10,z=t&1,f0=z?4:2,y=f0<<1,t=y+10|0,h>>>0>=t+(H<<1<<(z?2:1))>>>0){if(h=i[u>>2],h=s[h+2|0]|s[h+3|0]<<8,X[w+2>>1]=h<<8|h>>>8,h=i[u>>2],h=s[h+4|0]|s[h+5|0]<<8,X[w+4>>1]=h<<8|h>>>8,h=i[u>>2],h=s[h+6|0]|s[h+7|0]<<8,X[w+6>>1]=h<<8|h>>>8,h=i[u>>2],h=s[h+8|0]|s[h+9|0]<<8,X[w+8>>1]=h<<8|h>>>8,C=i[u>>2],z){for(Z=f0&4;h=k,k=k+4|0,_=_+4|0,(Z|0)!=(_|0););h=h+C|0,_=(s[h|0]<<16|s[h+1|0]<<8|s[h+2|0])<<8|s[h+3|0]}if(h=f0&2,h)for(;_=s[k+C|0]|_<<8,k=k+1|0,S=S+1|0,(h|0)!=(S|0););if(i[w+12>>2]=_,p=f0&2,k=f0+10|0,C=i[u>>2],z){for(Z=f0&4,S=0;h=k,k=k+4|0,S=S+4|0,(Z|0)!=(S|0););h=h+C|0,S=(s[h|0]<<16|s[h+1|0]<<8|s[h+2|0])<<8|s[h+3|0]}else S=0;if(p)for(;S=s[k+C|0]|S<<8,k=k+1|0,J=J+1|0,(p|0)!=(J|0););if(i[w+16>>2]=S,!(S&&_)){if(h=U(48),i[R+24>>2]=h,i[R+28>>2]=40,i[R+32>>2]=-2147483600,t=s[17511]|s[17512]<<8|(s[17513]<<16|s[17514]<<24),k=s[17507]|s[17508]<<8|(s[17509]<<16|s[17510]<<24),l[h|0]=k,l[h+1|0]=k>>>8,l[h+2|0]=k>>>16,l[h+3|0]=k>>>24,l[h+4|0]=t,l[h+5|0]=t>>>8,l[h+6|0]=t>>>16,l[h+7|0]=t>>>24,l[h+40|0]=0,t=s[17543]|s[17544]<<8|(s[17545]<<16|s[17546]<<24),k=s[17539]|s[17540]<<8|(s[17541]<<16|s[17542]<<24),l[h+32|0]=k,l[h+33|0]=k>>>8,l[h+34|0]=k>>>16,l[h+35|0]=k>>>24,l[h+36|0]=t,l[h+37|0]=t>>>8,l[h+38|0]=t>>>16,l[h+39|0]=t>>>24,t=s[17535]|s[17536]<<8|(s[17537]<<16|s[17538]<<24),k=s[17531]|s[17532]<<8|(s[17533]<<16|s[17534]<<24),l[h+24|0]=k,l[h+25|0]=k>>>8,l[h+26|0]=k>>>16,l[h+27|0]=k>>>24,l[h+28|0]=t,l[h+29|0]=t>>>8,l[h+30|0]=t>>>16,l[h+31|0]=t>>>24,t=s[17527]|s[17528]<<8|(s[17529]<<16|s[17530]<<24),k=s[17523]|s[17524]<<8|(s[17525]<<16|s[17526]<<24),l[h+16|0]=k,l[h+17|0]=k>>>8,l[h+18|0]=k>>>16,l[h+19|0]=k>>>24,l[h+20|0]=t,l[h+21|0]=t>>>8,l[h+22|0]=t>>>16,l[h+23|0]=t>>>24,t=s[17519]|s[17520]<<8|(s[17521]<<16|s[17522]<<24),k=s[17515]|s[17516]<<8|(s[17517]<<16|s[17518]<<24),l[h+8|0]=k,l[h+9|0]=k>>>8,l[h+10|0]=k>>>16,l[h+11|0]=k>>>24,l[h+12|0]=t,l[h+13|0]=t>>>8,l[h+14|0]=t>>>16,l[h+15|0]=t>>>24,r0(d,2,121,R+24|0),l[R+35|0]>=0)break u;G(i[R+24>>2]);break u}_=w+20|0,k=i[w+20>>2],h=i[w+24>>2]-k>>3;l:{s:{if(h>>>0<H>>>0){SA(_,H-h|0);break s}if(h>>>0>H>>>0&&(i[w+24>>2]=k+(H<<3)),!H)break l}for(X0=f0&4,Q0=f0&2,I0=128<<(f0<<3)-8,E=I0^-1,C=i[_>>2];;){if(S=i[u>>2],k=t,J=0,_=0,z){for(;h=k,k=k+4|0,J=J+4|0,(X0|0)!=(J|0););h=h+S|0,w=(s[h|0]<<16|s[h+1|0]<<8|s[h+2|0])<<8,_=w|s[h+3|0]}if(J=0,Q0)for(;w=_<<8,_=w|s[k+S|0],k=k+1|0,J=J+1|0,(Q0|0)!=(J|0););if(J=0,Z=C+(F0<<3)|0,i[Z>>2]=(_&E)-(w&I0?I0:0),k=t+f0|0,p=i[u>>2],w=0,_=0,z){for(;h=k,k=k+4|0,w=w+4|0,(X0|0)!=(w|0););h=h+p|0,S=(s[h|0]<<16|s[h+1|0]<<8|s[h+2|0])<<8,_=S|s[h+3|0]}if(Q0)for(;S=_<<8,_=S|s[k+p|0],k=k+1|0,J=J+1|0,(Q0|0)!=(J|0););if(i[Z+4>>2]=(_&E)-(S&I0?I0:0),t=t+y|0,F0=F0+1|0,(H|0)==(F0|0))break}}if(k=i[19565],i[d>>2]=i[19564],i[d+4>>2]=k,t=d+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break u}_0(t,i[19566],i[19567]);break u}k=i[o+4>>2],i[d>>2]=i[o>>2],i[d+4>>2]=k,i[d+16>>2]=i[o+16>>2],k=i[o+12>>2],i[d+8>>2]=i[o+8>>2],i[d+12>>2]=k,i[o+16>>2]=0,i[o+8>>2]=0,i[o+12>>2]=0}l[o+19|0]<0&&G(i[o+8>>2]),B=R+192|0;u:{if(i[W+48>>2]){k=i[W+52>>2],i[I>>2]=i[W+48>>2],i[I+4>>2]=k,t=W- -64|0,i[I+16>>2]=i[t>>2],k=i[W+60>>2],i[I+8>>2]=i[W+56>>2],i[I+12>>2]=k,i[t>>2]=0,i[W+56>>2]=0,i[W+60>>2]=0;break u}if(i[W+104>>2]-i[W+100>>2]>>2!=i[W+92>>2]-i[W+88>>2]>>3){if(k=U(72),i[W+24>>2]=k,i[W+28>>2]=69,i[W+32>>2]=-2147483576,c0=l0(k,4597,69),r2=0,l[c0+69|0]=r2,r0(I,2,121,W+24|0),l[W+35|0]>=0)break u;G(i[W+24>>2]);break u}if(_=i[W+80>>2],w=i[W+84>>2],l6(W+24|0,e,_,w),t=i[W+28>>2],k=i[W+24>>2],i[W+48>>2]=k,i[W+52>>2]=t,v=W+56|0,l[W+67|0]<0&&(G(i[W+56>>2]),k=i[W+48>>2]),t=i[W+36>>2],i[v>>2]=i[W+32>>2],i[v+4>>2]=t,i[v+8>>2]=i[W+40>>2],k){k=i[W+52>>2],i[I>>2]=i[W+48>>2],i[I+4>>2]=k,i[I+16>>2]=i[v+8>>2],k=i[v+4>>2],i[I+8>>2]=i[v>>2],i[I+12>>2]=k,i[v>>2]=0,i[v+4>>2]=0,i[v+8>>2]=0;break u}k=U(136),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=72792,B0(k+20|0,0,104),h=i[k+4>>2],o=h+1|0,i[k+4>>2]=o,i[k+56>>2]=0,i[k+60>>2]=0,i[k+44>>2]=99,i[k+48>>2]=99,i[k+32>>2]=34648,t=k- -64|0,i[t>>2]=0,i[t+4>>2]=0,i[k+132>>2]=0,i[k+124>>2]=0,i[k+128>>2]=0,i[k+84>>2]=1,i[k+88>>2]=1,i[k+72>>2]=k+76,i[k+92>>2]=0,i[k+96>>2]=0,i[k+100>>2]=0,i[k+104>>2]=0,i[k+108>>2]=0,i[k+112>>2]=0,l[k+113|0]=0,l[k+114|0]=0,l[k+115|0]=0,l[k+116|0]=0,l[k+117|0]=0,l[k+118|0]=0,l[k+119|0]=0,l[k+120|0]=0,t=k+12|0,i[k+12>>2]=t,i[k+8>>2]=i[k+8>>2]+1,i[k+4>>2]=h,i[k+16>>2]=k,o||(V[i[i[k>>2]+8>>2]](k),g(k)),i[A>>2]=t,t=i[A+4>>2],i[A+4>>2]=k;l:{if(!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break l;V[i[i[t>>2]+8>>2]](t),g(t)}k=i[A>>2],i[k+36>>2]=3,i[k+32>>2]=1,i[k+28>>2]=w,i[k+24>>2]=_,J0(i[A>>2],3,_,w,8),J0(i[A>>2],4,_,w,8),J0(i[A>>2],5,_,w,8),y=W+24|0,C=Q[W+70>>1],_=Q[W+72>>1],w=Q[W+74>>1],Z=Q[W+76>>1],p=B-16|0,B=p;l:{s:{if(k=i[A>>2],o=i[k+64>>2],!o)break s;for(t=k- -64|0,k=t;h=i[o+16>>2]<3,k=h?k:o,o=i[(h<<2)+o>>2],!!o;);if((k|0)==(t|0)|i[k+16>>2]>=4)break s;_=_>>>8|0,w=w>>>8|0,Z=Z>>>8|0,h=C>>>8|0;h:{if(s[k+20|0]!=8)break h;if(B0(i[k+40>>2],h,m(i[k+28>>2],i[k+48>>2])),o=i[t>>2],!o)break s;for(k=t;h=i[o+16>>2]<4,k=h?k:o,o=i[(h<<2)+o>>2],!!o;);if((k|0)==(t|0)|i[k+16>>2]>4)break s;if(s[k+20|0]!=8)break h;if(B0(i[k+40>>2],_,m(i[k+28>>2],i[k+48>>2])),o=i[t>>2],!o)break s;for(k=t;h=i[o+16>>2]<5,k=h?k:o,o=i[(h<<2)+o>>2],!!o;);if((k|0)==(t|0)|i[k+16>>2]>5)break s;if(s[k+20|0]!=8)break h;B0(i[k+40>>2],w,m(i[k+28>>2],i[k+48>>2])),o=i[t>>2];w:{if(!o)break w;for(k=t;h=i[o+16>>2]<6,k=h?k:o,o=i[(h<<2)+o>>2],!!o;);if((k|0)==(t|0)|i[k+16>>2]>6)break w;if(s[k+20|0]!=8)break h;if(o=i[k+48>>2],t=i[k+28>>2],h=m(o,t),k=i[k+40>>2],t>>>0>=4294967295/(o>>>0)>>>0){B0(k,Z,h);break w}B0(k,Z,h)}if(k=i[19565],i[y>>2]=i[19564],i[y+4>>2]=k,t=y+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break l}_0(t,i[19566],i[19567]);break l}if(o=U(56),i[p+4>>2]=o,i[p+8>>2]=52,i[p+12>>2]=-2147483592,t=s[7647]|s[7648]<<8|(s[7649]<<16|s[7650]<<24),k=s[7643]|s[7644]<<8|(s[7645]<<16|s[7646]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+52|0]=0,k=s[7691]|s[7692]<<8|(s[7693]<<16|s[7694]<<24),l[o+48|0]=k,l[o+49|0]=k>>>8,l[o+50|0]=k>>>16,l[o+51|0]=k>>>24,t=s[7687]|s[7688]<<8|(s[7689]<<16|s[7690]<<24),k=s[7683]|s[7684]<<8|(s[7685]<<16|s[7686]<<24),l[o+40|0]=k,l[o+41|0]=k>>>8,l[o+42|0]=k>>>16,l[o+43|0]=k>>>24,l[o+44|0]=t,l[o+45|0]=t>>>8,l[o+46|0]=t>>>16,l[o+47|0]=t>>>24,t=s[7679]|s[7680]<<8|(s[7681]<<16|s[7682]<<24),k=s[7675]|s[7676]<<8|(s[7677]<<16|s[7678]<<24),l[o+32|0]=k,l[o+33|0]=k>>>8,l[o+34|0]=k>>>16,l[o+35|0]=k>>>24,l[o+36|0]=t,l[o+37|0]=t>>>8,l[o+38|0]=t>>>16,l[o+39|0]=t>>>24,t=s[7671]|s[7672]<<8|(s[7673]<<16|s[7674]<<24),k=s[7667]|s[7668]<<8|(s[7669]<<16|s[7670]<<24),l[o+24|0]=k,l[o+25|0]=k>>>8,l[o+26|0]=k>>>16,l[o+27|0]=k>>>24,l[o+28|0]=t,l[o+29|0]=t>>>8,l[o+30|0]=t>>>16,l[o+31|0]=t>>>24,t=s[7663]|s[7664]<<8|(s[7665]<<16|s[7666]<<24),k=s[7659]|s[7660]<<8|(s[7661]<<16|s[7662]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[7655]|s[7656]<<8|(s[7657]<<16|s[7658]<<24),k=s[7651]|s[7652]<<8|(s[7653]<<16|s[7654]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,r0(y,4,0,p+4|0),l[p+15|0]>=0)break l;G(i[p+4>>2]);break l}if(l[p+4|0]=0,l[p+15|0]=0,r0(y,5,2002,p+4|0),l[p+15|0]>=0)break l;G(i[p+4>>2])}B=p+16|0,t=i[W+28>>2],k=i[W+24>>2],i[W+48>>2]=k,i[W+52>>2]=t,l[W+67|0]<0&&(G(i[W+56>>2]),k=i[W+48>>2]),t=i[W+36>>2],i[v>>2]=i[W+32>>2],i[v+4>>2]=t,i[v+8>>2]=i[W+40>>2];l:{s:{if(!k){if(h=i[W+100>>2],(h|0)==i[W+104>>2])break l;L=n+28|0,w=0;break s}k=i[W+52>>2],i[I>>2]=i[W+48>>2],i[I+4>>2]=k,i[I+16>>2]=i[v+8>>2],k=i[v+4>>2],i[I+8>>2]=i[v>>2],i[I+12>>2]=k,i[v>>2]=0,i[v+4>>2]=0,i[v+8>>2]=0;break u}for(;;){i[W+16>>2]=0,i[W+20>>2]=0,f6(W+24|0,e,i[(w<<2)+h>>2],W+16|0,1,n,0),t=i[W+28>>2],k=i[W+24>>2],i[W+48>>2]=k,i[W+52>>2]=t,l[W+67|0]<0&&(G(i[W+56>>2]),k=i[W+48>>2]),t=i[W+36>>2],i[v>>2]=i[W+32>>2],i[v+4>>2]=t,i[v+8>>2]=i[W+40>>2];s:{if((k|0)==i[19564]){i[W+8>>2]=0,i[W+12>>2]=0,N8(W+24|0,W+16|0,1,3,W+8|0,0,L),t=i[W+24>>2],k=i[W+28>>2],i[W+24>>2]=0,i[W+28>>2]=0,o=i[W+20>>2],i[W+16>>2]=t,i[W+20>>2]=k;h:{if(!o||(k=i[o+4>>2],i[o+4>>2]=k-1,k||(V[i[i[o>>2]+8>>2]](o),g(o)),t=i[W+28>>2],!t)||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break h;V[i[i[t>>2]+8>>2]](t),g(t)}t=i[W+12>>2];h:{if(!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break h;V[i[i[t>>2]+8>>2]](t),g(t)}if(!i[W+16>>2]){l[W+24|0]=0,l[W+35|0]=0,r0(I,4,3003,W+24|0),l[W+35|0]<0&&G(i[W+24>>2]),h=0;break s}if(C=i[A>>2],k=i[W+88>>2]+(w<<3)|0,z=i[k>>2],Q0=i[k+4>>2],Y0=0,h0=B-16|0,B=h0,k=i[W+16>>2],I0=h0+8|0,i[h0+4>>2]=I0,i[h0+8>>2]=0,i[h0+12>>2]=0,q=W+24|0,t=i[k+60>>2],_=k- -64|0,(t|0)!=(_|0)){for(;;){Z=i[t+16>>2],h=I0,k=h,o=i[h0+8>>2];h:{w:{if(!o)break w;for(;;){if(k=o,o=i[k+16>>2],(o|0)>(Z|0)){if(h=k,o=i[k>>2],o)continue;break w}if((o|0)>=(Z|0))break h;if(o=i[k+4>>2],!o)break}h=k+4|0}o=U(20),i[o+8>>2]=k,i[o>>2]=0,i[o+4>>2]=0,i[o+16>>2]=Z,i[h>>2]=o,k=i[i[h0+4>>2]>>2],k&&(i[h0+4>>2]=k,o=i[h>>2]),D1(i[h0+8>>2],o),i[h0+12>>2]=i[h0+12>>2]+1}o=i[t+4>>2];h:{if(o){for(;;)if(k=o,o=i[k>>2],!o)break h}for(;k=i[t+8>>2],o=i[k>>2]!=(t|0),t=k,!!o;);}if(t=k,(k|0)==(_|0))break}k=i[W+16>>2]}Z=k- -64|0,k=i[k+64>>2];h:{w:{if(!k)break w;for(t=Z,o=k;h=i[o+16>>2]<6,t=h?t:o,o=i[(h<<2)+o>>2],!!o;);if((t|0)==(Z|0))break w;if(i[t+16>>2]<7)break h}t=Z}h:{if(!k)break h;for(o=Z;h=i[k+16>>2]<6,o=h?o:k,k=i[(h<<2)+k>>2],!!k;);if((o|0)==(Z|0)|i[o+16>>2]>6)break h;Y0=i[o+40>>2]}h:{w:{if(h=i[h0+4>>2],(I0|0)==(h|0)||(o=i[C+64>>2],!o))break w;for(X0=0-Q0|0,E=0-z|0,_=C- -64|0,R=(z|0)<=0,d=(z|0)>=0,f0=(t|0)!=(Z|0);;){_:{if(!o)break _;for(H=i[h+16>>2],t=_,k=o;Z=(H|0)>i[k+16>>2],t=Z?t:k,k=i[(Z<<2)+k>>2],!!k;);if((t|0)==(_|0)|(H|0)<i[t+16>>2])break _;k=i[W+16>>2],Z=k- -64|0,C=Z;v:{Z:{if(t=i[k+64>>2],k=t,!k)break Z;for(;y=(H|0)>i[k+16>>2],C=y?C:k,k=i[(y<<2)+k>>2],!!k;);if((Z|0)==(C|0))break Z;if(F0=0,p=0,(H|0)<i[C+16>>2])break v;F0=i[C+48>>2],p=i[C+40>>2];break v}F0=0,p=0}for(C=_,k=o;y=(H|0)>i[k+16>>2],C=y?C:k,k=i[(y<<2)+k>>2],!!k;);v:{if((_|0)==(C|0)){S=0,y=0;break v}if(S=0,y=0,(H|0)<i[C+16>>2])break v;S=i[C+40>>2],y=i[C+48>>2]}C=Z,k=t;v:{if(!k){D=-1,A0=-1;break v}for(;J=(H|0)>i[k+16>>2],C=J?C:k,k=i[(J<<2)+k>>2],!!k;);for(D=-1,D=(Z|0)==(C|0)|(H|0)<i[C+16>>2]?D:i[C+24>>2],k=Z;C=(H|0)>i[t+16>>2],k=C?k:t,t=i[(C<<2)+t>>2],!!t;);if(A0=-1,(k|0)==(Z|0)|(H|0)<i[k+16>>2])break v;A0=i[k+28>>2]}for(t=_,k=o;Z=(H|0)>i[k+16>>2],t=Z?t:k,k=i[(Z<<2)+k>>2],!!k;);for(C=-1,C=(t|0)==(_|0)|(H|0)<i[t+16>>2]?C:i[t+24>>2],k=_;t=(H|0)>i[o+16>>2],k=t?k:o,o=i[(t<<2)+o>>2],!!o;);if(t=-1,t=(k|0)==(_|0)|(H|0)<i[k+16>>2]?t:i[k+28>>2],!(C>>>0>z>>>0|R)){if(k=i[19565],i[q>>2]=i[19564],i[q+4>>2]=k,t=q+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break h}_0(t,i[19566],i[19567]);break h}if(o=0,d)k=z;else{if(E>>>0>=D>>>0){if(k=i[19565],i[q>>2]=i[19564],i[q+4>>2]=k,t=q+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break h}_0(t,i[19566],i[19567]);break h}D=z+D|0,o=E,k=0}if(!((Q0|0)<=0|t>>>0>Q0>>>0)){if(k=i[19565],i[q>>2]=i[19564],i[q+4>>2]=k,t=q+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break h}_0(t,i[19566],i[19567]);break h}if(J=0,(Q0|0)>=0)Z=Q0;else{if(A0>>>0<=X0>>>0){if(k=i[19565],i[q>>2]=i[19564],i[q+4>>2]=k,t=q+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break h}_0(t,i[19566],i[19567]);break h}A0=A0+Q0|0,J=X0,Z=0}if(H=t-Q0|0,p0=Q0>>>0>(A0^-1)>>>0||A0+Q0>>>0>t>>>0?H:A0,p0>>>0<=J>>>0)break _;if(t=C-z|0,j=z>>>0>(D^-1)>>>0||z+D>>>0>C>>>0?t:D,A0=k+S|0,H=Z-J|0,!f0){for(t=j-o|0,k=o+p|0;l0(A0+m(y,J+H|0)|0,k+m(J,F0)|0,t),J=J+1|0,(p0|0)!=(J|0););break _}if(o>>>0>=j>>>0)break _;for(;;){for(S=m(J,F0)+o|0,C=A0+m(y,J+H|0)|0,k=o;t=k+C|0,D=t,S0=s[t|0],Z=k+S|0,t=s[Z+Y0|0],l[D|0]=(m(S0,t^255)+m(t,s[Z+p|0])>>>0)/255,k=k+1|0,(j|0)!=(k|0););if(J=J+1|0,(p0|0)==(J|0))break}}o=i[h+4>>2];_:{if(o){for(;;)if(k=o,o=i[k>>2],!o)break _}for(;k=i[h+8>>2],t=i[k>>2]!=(h|0),h=k,!!t;);}if((k|0)==(I0|0))break w;o=i[_>>2],h=k}}if(k=i[19565],i[q>>2]=i[19564],i[q+4>>2]=k,t=q+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break h}_0(t,i[19566],i[19567])}if(j6(h0+4|0,i[h0+8>>2]),B=h0+16|0,t=i[W+28>>2],k=i[W+24>>2],i[W+48>>2]=k,i[W+52>>2]=t,l[W+67|0]<0&&(G(i[W+56>>2]),k=i[W+48>>2]),t=i[W+36>>2],i[v>>2]=i[W+32>>2],i[v+4>>2]=t,i[v+8>>2]=i[W+40>>2],h=1,!k)break s;if(!((k|0)!=2|i[W+52>>2]!=122)){if(k=i[19565],i[W+48>>2]=i[19564],i[W+52>>2]=k,t=l[78275],l[W+67|0]>=0){if((t|0)>=0){k=i[19567],i[v>>2]=i[19566],i[v+4>>2]=k,i[v+8>>2]=i[19568];break s}i4(v,i[19566],i[19567]);break s}k=(t|0)<0,_4(v,k?i[19566]:78264,k?i[19567]:t);break s}}k=i[W+52>>2],i[I>>2]=i[W+48>>2],i[I+4>>2]=k,i[I+16>>2]=i[v+8>>2],k=i[v+4>>2],i[I+8>>2]=i[v>>2],i[I+12>>2]=k,i[v>>2]=0,i[v+4>>2]=0,h=0,i[v+8>>2]=0}t=i[W+20>>2];s:{if(!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break s;V[i[i[t>>2]+8>>2]](t),g(t)}if(!h)break u;if(w=w+1|0,h=i[W+100>>2],!(w>>>0<i[W+104>>2]-h>>2>>>0))break}}k=i[W+52>>2],i[I>>2]=i[W+48>>2],i[I+4>>2]=k,i[I+16>>2]=i[v+8>>2],k=i[v+4>>2],i[I+8>>2]=i[v>>2],i[I+12>>2]=k,i[v>>2]=0,i[v+4>>2]=0,i[v+8>>2]=0}if(l[W+67|0]<0&&G(i[W+56>>2]),k=i[W+88>>2],k&&(i[W+92>>2]=k,G(k)),k=i[W+100>>2],!k)break o;i[W+104>>2]=k,G(k)}o:{if(!a||(k=i[a+4>>2],i[a+4>>2]=k-1,k))break o;V[i[i[a>>2]+8>>2]](a),g(a)}if(B=W+112|0,t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],k)break k;if(k=i[u>>2],!k)break e;i[u+4>>2]=k,G(k);break e}if((s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=1768649581)break t;if(i[u+8>>2]=0,i[u>>2]=0,i[u+4>>2]=0,w8(u- -64|0,i[e+48>>2],r,u),t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],k){k=x(98732,17113,12),A=B-16|0,B=A,r=A+12|0,e=i[(k+i[i[k>>2]-12>>2]|0)+28>>2],i[r>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(r,100192),e=V[i[i[e>>2]+28>>2]](e,10)|0,O0(r),D9(k,e),Ni(k),B=A+16|0;break A}y=u- -64|0,h=0,p=B+-64|0,B=p,i[p+60>>2]=0,i[p+52>>2]=0,i[p+56>>2]=0,k=i[e+48>>2],t=i[e+52>>2];o:{if(!t){I1(p+32|0,k,r,p+52|0);break o}if(i[t+4>>2]=i[t+4>>2]+1,I1(p+32|0,k,r,p+52|0),k=i[t+4>>2],i[t+4>>2]=k-1,k)break o;V[i[i[t>>2]+8>>2]](t),g(t)}o:{if(i[p+32>>2]){k=i[p+36>>2],i[y>>2]=i[p+32>>2],i[y+4>>2]=k,i[y+16>>2]=i[p+48>>2],k=i[p+44>>2],i[y+8>>2]=i[p+40>>2],i[y+12>>2]=k,i[p+48>>2]=0,i[p+40>>2]=0,i[p+44>>2]=0;break o}u:{l:{if(D=i[p+52>>2],Z=i[p+56>>2],(D|0)!=(Z|0)){for(t=0;;){if(h0=i[D>>2],h0){w=0;s:{h:{if(k=N0(h0,68572,68596),!k)break h;if(w=i[D+4>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),Y0=i[k+56>>2],C=i[k+60>>2],l6(p+8|0,e,Y0,C),o=i[p+12>>2],k=i[p+8>>2],i[p+32>>2]=k,i[p+36>>2]=o,l[p+51|0]<0&&(G(i[p+40>>2]),k=i[p+32>>2]),o=i[p+20>>2],i[p+40>>2]=i[p+16>>2],i[p+44>>2]=o,i[p+48>>2]=i[p+24>>2],k){k=i[p+36>>2],i[y>>2]=i[p+32>>2],i[y+4>>2]=k,i[y+16>>2]=i[p+48>>2],k=i[p+44>>2],i[y+8>>2]=i[p+40>>2],i[y+12>>2]=k,i[p+40>>2]=0,i[p+44>>2]=0,_=0,i[p+48>>2]=0;break s}if(E=1,h0=i[D>>2],h0)break h;_=1;break s}if(_=1,k=N0(h0,68572,75128),!k)break s;o=i[D+4>>2],o&&(i[o+4>>2]=i[o+4>>2]+2);h:{if(!h||(t=i[h+4>>2],i[h+4>>2]=t-1,t))break h;V[i[i[h>>2]+8>>2]](h),g(h)}if(!o){h=0,t=k;break s}t=i[o+4>>2],i[o+4>>2]=t-1,t||(V[i[i[o>>2]+8>>2]](o),g(o)),t=k,h=o}s:{if(!w||(k=i[w+4>>2],i[w+4>>2]=k-1,k))break s;V[i[i[w>>2]+8>>2]](w),g(w)}if(!_)break u}if(D=D+8|0,(Z|0)==(D|0))break}if((t|0)!=0&E)break l}if(o=U(40),i[p+8>>2]=o,i[p+12>>2]=35,i[p+16>>2]=-2147483608,t=s[13840]|s[13841]<<8|(s[13842]<<16|s[13843]<<24),k=s[13836]|s[13837]<<8|(s[13838]<<16|s[13839]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+35|0]=0,k=s[13867]|s[13868]<<8|(s[13869]<<16|s[13870]<<24),l[o+31|0]=k,l[o+32|0]=k>>>8,l[o+33|0]=k>>>16,l[o+34|0]=k>>>24,t=s[13864]|s[13865]<<8|(s[13866]<<16|s[13867]<<24),k=s[13860]|s[13861]<<8|(s[13862]<<16|s[13863]<<24),l[o+24|0]=k,l[o+25|0]=k>>>8,l[o+26|0]=k>>>16,l[o+27|0]=k>>>24,l[o+28|0]=t,l[o+29|0]=t>>>8,l[o+30|0]=t>>>16,l[o+31|0]=t>>>24,t=s[13856]|s[13857]<<8|(s[13858]<<16|s[13859]<<24),k=s[13852]|s[13853]<<8|(s[13854]<<16|s[13855]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[13848]|s[13849]<<8|(s[13850]<<16|s[13851]<<24),k=s[13844]|s[13845]<<8|(s[13846]<<16|s[13847]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,r0(y,4,3002,p+8|0),l[p+19|0]>=0)break u;G(i[p+8>>2]);break u}l:switch(s[t+56|0]-8|0){default:if(k=C1(p+8|0,7329),r0(y,4,3002,k),l[k+11|0]>=0)break u;G(i[k>>2]);break u;case 0:case 8:break l}if(i[u+4>>2]-i[u>>2]>>>0<m(C,Y0)>>>0){if(o=U(32),i[p+8>>2]=o,i[p+12>>2]=28,i[p+16>>2]=-2147483616,t=s[2982]|s[2983]<<8|(s[2984]<<16|s[2985]<<24),k=s[2978]|s[2979]<<8|(s[2980]<<16|s[2981]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+28|0]=0,k=s[3002]|s[3003]<<8|(s[3004]<<16|s[3005]<<24),l[o+24|0]=k,l[o+25|0]=k>>>8,l[o+26|0]=k>>>16,l[o+27|0]=k>>>24,t=s[2998]|s[2999]<<8|(s[3e3]<<16|s[3001]<<24),k=s[2994]|s[2995]<<8|(s[2996]<<16|s[2997]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[2990]|s[2991]<<8|(s[2992]<<16|s[2993]<<24),k=s[2986]|s[2987]<<8|(s[2988]<<16|s[2989]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,r0(y,2,0,p+8|0),l[p+19|0]>=0)break u;G(i[p+8>>2]);break u}k=U(136),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=72792,B0(k+20|0,0,104),_=i[k+4>>2],w=_+1|0,i[k+4>>2]=w,i[k+56>>2]=0,i[k+60>>2]=0,i[k+44>>2]=99,i[k+48>>2]=99,i[k+32>>2]=3795,o=k- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[k+132>>2]=0,i[k+124>>2]=0,i[k+128>>2]=0,i[k+84>>2]=1,i[k+88>>2]=1,i[k+72>>2]=k+76,i[k+92>>2]=0,i[k+96>>2]=0,i[k+100>>2]=0,i[k+104>>2]=0,i[k+108>>2]=0,i[k+112>>2]=0,l[k+113|0]=0,l[k+114|0]=0,l[k+115|0]=0,l[k+116|0]=0,l[k+117|0]=0,l[k+118|0]=0,l[k+119|0]=0,l[k+120|0]=0,o=k+12|0,i[k+12>>2]=o,i[k+8>>2]=i[k+8>>2]+1,i[k+4>>2]=_,i[k+16>>2]=k,w||(V[i[i[k>>2]+8>>2]](k),g(k)),i[A>>2]=o,o=i[A+4>>2],i[A+4>>2]=k;l:{if(!o||(k=i[o+4>>2],i[o+4>>2]=k-1,k))break l;V[i[i[o>>2]+8>>2]](o),g(o)}k=i[A>>2],i[k+36>>2]=0,i[k+32>>2]=2,i[k+28>>2]=C,i[k+24>>2]=Y0,J0(i[A>>2],0,Y0,C,s[t+56|0]),o=v0(i[A>>2],0,p+8|0);l:{if(i[p+8>>2]!=(Y0|0)){if(!C)break l;if(D=0,(C|0)!=1)for(t=C&-2,h0=0;l0(o+m(i[p+8>>2],D)|0,i[u>>2]+m(D,Y0)|0,Y0),k=D|1,l0(o+m(k,i[p+8>>2])|0,i[u>>2]+m(k,Y0)|0,Y0),D=D+2|0,h0=h0+2|0,(t|0)!=(h0|0););if(!(C&1))break l;l0(o+m(i[p+8>>2],D)|0,i[u>>2]+m(D,Y0)|0,Y0);break l}k=i[u>>2],l0(o,k,i[u+4>>2]-k|0)}if(k=i[19565],i[y>>2]=i[19564],i[y+4>>2]=k,t=y+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break u}_0(t,i[19566],i[19567])}if(!h||(k=i[h+4>>2],i[h+4>>2]=k-1,k))break o;V[i[i[h>>2]+8>>2]](h),g(h)}if(l[p+51|0]<0&&G(i[p+40>>2]),k=i[p+52>>2],k){if(D=i[p+56>>2],w=k,(D|0)!=(k|0)){for(;;){o=i[D-4>>2];o:{if(!o||(t=i[o+4>>2],i[o+4>>2]=t-1,t))break o;V[i[i[o>>2]+8>>2]](o),g(o)}if(D=D-8|0,(k|0)==(D|0))break}w=i[p+52>>2]}i[p+56>>2]=k,G(w)}if(B=p- -64|0,t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],k)break A;if(k=i[u>>2],!k)break e;i[u+4>>2]=k,G(k);break e}if(e=f,f=C1(u- -64|0,31341),r0(e,4,3001,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}if(e=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+112>>2],e=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=e,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,f=i[u>>2],!f)break r;i[u+4>>2]=f,G(f);break r}if(e=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+112>>2],e=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=e,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,f=i[u>>2],!f)break r;i[u+4>>2]=f,G(f);break r}c2(),P()}if(e=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+112>>2],e=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=e,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,f=i[u>>2],!f)break r;i[u+4>>2]=f,G(f);break r}e:{if(!s[n+1|0]){if(i[u+8>>2]=0,i[u>>2]=0,i[u+4>>2]=0,t=i[e+48>>2],k=i[t+44>>2],i[u+48>>2]=k,o=i[t+48>>2],i[u+52>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1,t=i[e+48>>2]),i[u+36>>2]=i[t+52>>2],t=i[t+56>>2],i[u+40>>2]=t,t&&(i[t+4>>2]=i[t+4>>2]+1),ii(u- -64|0,k,r,u+36|0,u),k=i[u+68>>2],i[u+96>>2]=i[u+64>>2],i[u+100>>2]=k,l[u+115|0]<0&&G(i[u+104>>2]),k=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=k,i[u+112>>2]=i[u+80>>2],t=i[u>>2],Q0=i[u+4>>2],(t|0)!=(Q0|0))for(;;){if(k=i[t>>2],w=i[k+16>>2],(w|0)==1769107316){w=0,o=N0(k,68572,69472);A:{if(!o||(k=i[t+4>>2],!k))break A;i[k+4>>2]=i[k+4>>2]+1,w=k}i[u+28>>2]=0,i[u+32>>2]=0,L=u- -64|0,p0=i[A>>2];A:{f:{k:{n:{t:{o:{if(A0=i[o+48>>2],!A0){if(k=i[p0+4>>2],!k)break o;for(o=i[p0>>2],C=B-16|0,B=C,h=i[k+4>>2],i[C+12>>2]=h;;){u:{if((h|0)==-1){k=0;break u}if(_=i[k+4>>2],Z=(_|0)==i[C+12>>2],i[k+4>>2]=Z?h+1|0:_,Z||(i[C+12>>2]=_),Z)break u;h=i[C+12>>2];continue}break}if(B=C+16|0,!k)break o;i[u+28>>2]=o,o=i[u+32>>2],i[u+32>>2]=k;u:{if(!o||(k=i[o+4>>2],i[o+4>>2]=k-1,k))break u;V[i[i[o>>2]+8>>2]](o),g(o)}if(k=i[19565],i[L>>2]=i[19564],i[L+4>>2]=k,k=L+8|0,l[78275]<0)break t;break f}k=i[p0+28>>2],o=i[p0+24>>2];u:{if(!((A0|0)==270|(A0|0)==90)){h=o,o=k;break u}h=k}k=U(136),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=72792,B0(k+20|0,0,104),C=i[k+4>>2],Z=C+1|0,i[k+4>>2]=Z,i[k+56>>2]=0,i[k+60>>2]=0,i[k+44>>2]=99,i[k+48>>2]=99,i[k+32>>2]=3795,_=k- -64|0,i[_>>2]=0,i[_+4>>2]=0,i[k+132>>2]=0,i[k+124>>2]=0,i[k+128>>2]=0,i[k+84>>2]=1,i[k+88>>2]=1,i[k+72>>2]=k+76,i[k+92>>2]=0,i[k+96>>2]=0,i[k+100>>2]=0,i[k+104>>2]=0,i[k+108>>2]=0,i[k+112>>2]=0,l[k+113|0]=0,l[k+114|0]=0,l[k+115|0]=0,l[k+116|0]=0,l[k+117|0]=0,l[k+118|0]=0,l[k+119|0]=0,l[k+120|0]=0,_=k+12|0,i[k+12>>2]=_,i[k+8>>2]=i[k+8>>2]+1,i[k+4>>2]=C,i[k+16>>2]=k,Z||(V[i[i[k>>2]+8>>2]](k),g(k)),i[u+28>>2]=_,_=i[u+32>>2],i[u+32>>2]=k;u:{if(!_||(k=i[_+4>>2],i[_+4>>2]=k-1,k))break u;V[i[i[_>>2]+8>>2]](_),g(_)}if(Z=i[p0+32>>2],_=i[p0+36>>2],k=i[u+28>>2],i[k+28>>2]=o,i[k+32>>2]=Z,i[k+36>>2]=_,i[k+24>>2]=h,_=i[p0+60>>2],I0=p0- -64|0,(_|0)==(I0|0))break k;for(X0=(A0|0)==270,S=(A0|0)!=180,f0=(A0|0)!=90;;){h=i[_+28>>2],k=i[_+24>>2];u:{if(!(!f0|X0)){o=k,k=h;break u}o=h}C=i[_+16>>2],J0(i[u+28>>2],C,o,k,s[_+20|0]),k=i[u+28>>2],Z=k- -64|0,o=Z;u:{l:{if(k=i[k+64>>2],!k)break l;for(;h=(C|0)>i[k+16>>2],o=h?o:k,k=i[(h<<2)+k>>2],!!k;);if((o|0)==(Z|0))break l;if(E=0,k=0,(C|0)<i[o+16>>2])break u;E=i[o+40>>2],k=i[o+48>>2];break u}E=0,k=0}o=k,R=i[_+40>>2],d=i[_+48>>2],j=i[_+28>>2],a=i[_+24>>2];u:{l:{if(s[_+20|0]==8){if((A0|0)!=270)break l;if((j|0)<=0)break u;for(C=a&2147483644,y=a&3,h0=0,Z=a-1>>>0>2;;){s:{if((a|0)<=0)break s;if(z=E+h0|0,p=R+m(d,j+(h0^-1)|0)|0,J=0,k=0,D=0,Z)for(;l[z+m(k,o)|0]=s[k+p|0],h=k|1,l[z+m(h,o)|0]=s[h+p|0],h=k|2,l[z+m(h,o)|0]=s[h+p|0],h=k|3,l[z+m(h,o)|0]=s[h+p|0],k=k+4|0,D=D+4|0,(C|0)!=(D|0););if(!y)break s;for(;l[z+m(k,o)|0]=s[k+p|0],k=k+1|0,J=J+1|0,(y|0)!=(J|0););}if(h0=h0+1|0,(j|0)==(h0|0))break}break u}if((A0|0)==270){if((j|0)<=0|(a|0)<=0)break u;for(p=a&2147483646,y=a&1,h=0;;){if(H=(h<<1)+E|0,z=R+m(d,j+(h^-1)|0)|0,k=0,J=0,(a|0)!=1)for(;C=H+m(k,o)|0,Z=z+(k<<1)|0,l[C|0]=s[Z|0],l[C+1|0]=s[Z+1|0],Z=k|1,C=H+m(Z,o)|0,Z=z+(Z<<1)|0,l[C|0]=s[Z|0],l[C+1|0]=s[Z+1|0],k=k+2|0,J=J+2|0,(p|0)!=(J|0););if(y&&(Z=H+m(k,o)|0,k=z+(k<<1)|0,l[Z|0]=s[k|0],l[Z+1|0]=s[k+1|0]),h=h+1|0,(j|0)==(h|0))break}break u}if(!S){if((j|0)<=0|(a|0)<=0)break u;for(y=a&2147483646,C=a&1,h=0;;){if(p=m(o,h)+E|0,H=R+m(d,j+(h^-1)|0)|0,k=0,J=0,(a|0)!=1)for(;z=p+(k<<1)|0,Z=H+(a+(k^-1)<<1)|0,l[z|0]=s[Z|0],l[z+1|0]=s[Z+1|0],Z=H+(a+(k^2147483646)<<1)|0,l[z+2|0]=s[Z|0],l[z+3|0]=s[Z+1|0],k=k+2|0,J=J+2|0,(y|0)!=(J|0););if(C&&(Z=p+(k<<1)|0,k=H+(a+(k^-1)<<1)|0,l[Z|0]=s[k|0],l[Z+1|0]=s[k+1|0]),h=h+1|0,(j|0)==(h|0))break}break u}if((j|0)<=0|f0|(a|0)<=0)break u;for(p=a&2147483646,y=a&1,h=0;;){if(H=(h<<1)+E|0,z=R+m(h,d)|0,k=0,J=0,(a|0)!=1)for(;C=H+m(k,o)|0,Z=z+(a+(k^-1)<<1)|0,l[C|0]=s[Z|0],l[C+1|0]=s[Z+1|0],C=H+m(o,k|1)|0,Z=z+(a+(k^2147483646)<<1)|0,l[C|0]=s[Z|0],l[C+1|0]=s[Z+1|0],k=k+2|0,J=J+2|0,(p|0)!=(J|0););if(y&&(Z=H+m(k,o)|0,k=z+(a+(k^-1)<<1)|0,l[Z|0]=s[k|0],l[Z+1|0]=s[k+1|0]),h=h+1|0,(j|0)==(h|0))break}break u}if(!S){if((j|0)<=0|(a|0)<=0)break u;for(y=R+a|0,C=a&2147483644,z=a&3,D=0,Z=a-1>>>0<3;;){if(p=m(o,D)+E|0,H=y+m(d,j+(D^-1)|0)|0,k=0,J=0,!Z)for(;h=k+p|0,l[h|0]=s[H+(k^-1)|0],l[h+1|0]=s[H+(k^-2)|0],l[h+2|0]=s[H+(k^-3)|0],l[h+3|0]=s[H+(k^-4)|0],k=k+4|0,J=J+4|0,(C|0)!=(J|0););if(h=0,z)for(;l[k+p|0]=s[H+(k^-1)|0],k=k+1|0,h=h+1|0,(z|0)!=(h|0););if(D=D+1|0,(j|0)==(D|0))break}break u}if((j|0)<=0|f0)break u;for(y=a&2147483644,p=a&3,C=R+a|0,h=0,Z=a-1>>>0>2;;){l:{if((a|0)<=0)break l;if(H=h+E|0,z=C+m(h,d)|0,J=0,k=0,D=0,Z)for(;l[H+m(k,o)|0]=s[z+(k^-1)|0],l[H+m(o,k|1)|0]=s[z+(k^-2)|0],l[H+m(o,k|2)|0]=s[z+(k^-3)|0],l[H+m(o,k|3)|0]=s[z+(k^-4)|0],k=k+4|0,D=D+4|0,(y|0)!=(D|0););if(!p)break l;for(;l[H+m(k,o)|0]=s[z+(k^-1)|0],k=k+1|0,J=J+1|0,(p|0)!=(J|0););}if(h=h+1|0,(j|0)==(h|0))break}}o=i[_+4>>2];u:{if(o){for(;;)if(k=o,o=i[k>>2],!o)break u}for(;k=i[_+8>>2],o=i[k>>2]!=(_|0),_=k,!!o;);}if(_=k,(k|0)==(I0|0))break}break n}f=Ne(4),i[f>>2]=67064,wr(f|0,67100,407),P()}_0(k,i[19566],i[19567]);break A}k=i[u+28>>2]}o=i[p0+44>>2],h=i[p0+48>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),i[k+44>>2]=o,o=i[k+48>>2],i[k+48>>2]=h;k:{if(!o||(k=i[o+4>>2],i[o+4>>2]=k-1,k))break k;V[i[i[o>>2]+8>>2]](o),g(o)}k=i[p0+52>>2],h=i[u+28>>2],o=i[p0+56>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),i[h+52>>2]=k,_=i[h+56>>2],i[h+56>>2]=o;k:{if(!_||(k=i[_+4>>2],i[_+4>>2]=k-1,k))break k;V[i[i[_>>2]+8>>2]](_),g(_)}if(k=i[19565],i[L>>2]=i[19564],i[L+4>>2]=k,k=L+8|0,l[78275]>=0)break f;_0(k,i[19566],i[19567]);break A}o=i[19567],i[k>>2]=i[19566],i[k+4>>2]=o,i[k+8>>2]=i[19568]}o=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=o,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),o=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=o,i[u+112>>2]=i[u+80>>2];A:{if(k){o=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=o,i[f+16>>2]=i[u+112>>2],o=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=o,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0;break A}if(o=i[u+32>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),i[A>>2]=i[u+28>>2],h=i[A+4>>2],i[A+4>>2]=o,!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break A;V[i[i[h>>2]+8>>2]](h),g(h)}h=i[u+32>>2];A:{if(!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break A;V[i[i[h>>2]+8>>2]](h),g(h)}A:{if(!w||(o=i[w+4>>2],i[w+4>>2]=o-1,o))break A;V[i[i[w>>2]+8>>2]](w),g(w)}if(k)break e;k=i[t>>2],w=i[k+16>>2]}if((w|0)==1768778098){k=N0(k,68572,69532);A:{f:{if(k){if(i[u+28>>2]=k,w=i[t+4>>2],i[u+32>>2]=w,!w)break f;i[w+4>>2]=i[w+4>>2]+1;break A}i[u+28>>2]=0,i[u+32>>2]=0}w=0}R=u- -64|0,h=i[k+48>>2],L=B-16|0,B=L;A:{f:{k=i[A>>2],o=i[k+60>>2],H=k- -64|0;k:{if((o|0)==(H|0))break k;if((h|0)==1)for(;;){if(s[o+20|0]!=8)break f;I0=i[o+28>>2];n:{if((I0|0)<=0||(d=i[o+24>>2],(d|0)<2))break n;for(X0=i[o+40>>2],E=i[o+48>>2],k=(d|0)/2|0,p=k&1073741822,y=k&1,J=0,C=(d&2147483646)==2;;){if(z=X0+m(E,J)|0,f0=z+d|0,k=0,h=0,!C)for(;S=k+z|0,Z=s[S|0],_=f0+(k^-1)|0,l[S|0]=s[_|0],l[_|0]=Z,Z=s[S+1|0],_=f0+(k^-2)|0,l[S+1|0]=s[_|0],l[_|0]=Z,k=k+2|0,h=h+2|0,(p|0)!=(h|0););if(y&&(_=k+z|0,h=s[_|0],k=f0+(k^-1)|0,l[_|0]=s[k|0],l[k|0]=h),J=J+1|0,(I0|0)==(J|0))break}}h=i[o+4>>2];n:{if(!h){for(;;)if(k=i[o+8>>2],h=i[k>>2]!=(o|0),o=k,!h)break n}for(;k=h,h=i[k>>2],!!h;);}if(o=k,(k|0)==(H|0))break k}for(;;){if(s[o+20|0]!=8)break f;S=i[o+28>>2],E=(S|0)/2|0;n:{if((S|0)<2||(k=i[o+24>>2],(k|0)<=0))break n;for(z=i[o+40>>2],I0=i[o+48>>2],p=k&2147483644,X0=k&3,D=0,y=k>>>0<4;;){if(f0=z+m(D,I0)|0,J=z+m(I0,S+(D^-1)|0)|0,k=0,h=0,!y)for(;_=k+f0|0,Z=s[_|0],C=_,_=k+J|0,l[C|0]=s[_|0],l[_|0]=Z,C=k|1,_=C+f0|0,Z=s[_|0],A0=_,_=C+J|0,l[A0|0]=s[_|0],l[_|0]=Z,C=k|2,_=C+f0|0,Z=s[_|0],A0=_,_=C+J|0,l[A0|0]=s[_|0],l[_|0]=Z,C=k|3,_=C+f0|0,Z=s[_|0],A0=_,_=C+J|0,l[A0|0]=s[_|0],l[_|0]=Z,k=k+4|0,h=h+4|0,(p|0)!=(h|0););if(h=0,X0)for(;_=k+f0|0,Z=s[_|0],C=_,_=k+J|0,l[C|0]=s[_|0],l[_|0]=Z,k=k+1|0,h=h+1|0,(X0|0)!=(h|0););if(D=D+1|0,(E|0)==(D|0))break}}h=i[o+4>>2];n:{if(h){for(;;)if(k=h,h=i[k>>2],!h)break n}for(;k=i[o+8>>2],h=i[k>>2]!=(o|0),o=k,!!h;);}if(o=k,(k|0)==(H|0))break}}if(k=i[19565],i[R>>2]=i[19564],i[R+4>>2]=k,o=R+8|0,l[78275]>=0){k=i[19567],i[o>>2]=i[19566],i[o+4>>2]=k,i[o+8>>2]=i[19568];break A}_0(o,i[19566],i[19567]);break A}if(h=U(56),i[L+4>>2]=h,i[L+8>>2]=54,i[L+12>>2]=-2147483592,o=s[7592]|s[7593]<<8|(s[7594]<<16|s[7595]<<24),k=s[7588]|s[7589]<<8|(s[7590]<<16|s[7591]<<24),l[h|0]=k,l[h+1|0]=k>>>8,l[h+2|0]=k>>>16,l[h+3|0]=k>>>24,l[h+4|0]=o,l[h+5|0]=o>>>8,l[h+6|0]=o>>>16,l[h+7|0]=o>>>24,l[h+54|0]=0,o=s[7638]|s[7639]<<8|(s[7640]<<16|s[7641]<<24),k=s[7634]|s[7635]<<8|(s[7636]<<16|s[7637]<<24),l[h+46|0]=k,l[h+47|0]=k>>>8,l[h+48|0]=k>>>16,l[h+49|0]=k>>>24,l[h+50|0]=o,l[h+51|0]=o>>>8,l[h+52|0]=o>>>16,l[h+53|0]=o>>>24,o=s[7632]|s[7633]<<8|(s[7634]<<16|s[7635]<<24),k=s[7628]|s[7629]<<8|(s[7630]<<16|s[7631]<<24),l[h+40|0]=k,l[h+41|0]=k>>>8,l[h+42|0]=k>>>16,l[h+43|0]=k>>>24,l[h+44|0]=o,l[h+45|0]=o>>>8,l[h+46|0]=o>>>16,l[h+47|0]=o>>>24,o=s[7624]|s[7625]<<8|(s[7626]<<16|s[7627]<<24),k=s[7620]|s[7621]<<8|(s[7622]<<16|s[7623]<<24),l[h+32|0]=k,l[h+33|0]=k>>>8,l[h+34|0]=k>>>16,l[h+35|0]=k>>>24,l[h+36|0]=o,l[h+37|0]=o>>>8,l[h+38|0]=o>>>16,l[h+39|0]=o>>>24,o=s[7616]|s[7617]<<8|(s[7618]<<16|s[7619]<<24),k=s[7612]|s[7613]<<8|(s[7614]<<16|s[7615]<<24),l[h+24|0]=k,l[h+25|0]=k>>>8,l[h+26|0]=k>>>16,l[h+27|0]=k>>>24,l[h+28|0]=o,l[h+29|0]=o>>>8,l[h+30|0]=o>>>16,l[h+31|0]=o>>>24,o=s[7608]|s[7609]<<8|(s[7610]<<16|s[7611]<<24),k=s[7604]|s[7605]<<8|(s[7606]<<16|s[7607]<<24),l[h+16|0]=k,l[h+17|0]=k>>>8,l[h+18|0]=k>>>16,l[h+19|0]=k>>>24,l[h+20|0]=o,l[h+21|0]=o>>>8,l[h+22|0]=o>>>16,l[h+23|0]=o>>>24,o=s[7600]|s[7601]<<8|(s[7602]<<16|s[7603]<<24),k=s[7596]|s[7597]<<8|(s[7598]<<16|s[7599]<<24),l[h+8|0]=k,l[h+9|0]=k>>>8,l[h+10|0]=k>>>16,l[h+11|0]=k>>>24,l[h+12|0]=o,l[h+13|0]=o>>>8,l[h+14|0]=o>>>16,l[h+15|0]=o>>>24,r0(R,4,0,L+4|0),l[L+15|0]>=0)break A;G(i[L+4>>2])}if(B=L+16|0,o=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=o,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),o=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=o,i[u+112>>2]=i[u+80>>2],k){e=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+112>>2],e=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=e,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,v1(u+28|0);break e}A:{if(!w||(k=i[w+4>>2],i[w+4>>2]=k-1,k))break A;V[i[i[w>>2]+8>>2]](w),g(w)}k=i[t>>2],w=i[k+16>>2]}if((w|0)==1668047216){o=0,y=N0(k,68572,69592);A:{if(!y||(k=i[t+4>>2],!k))break A;i[k+4>>2]=i[k+4>>2]+1,o=k}k=i[A>>2],C=i[k+28>>2],Z=i[k+24>>2],_=Ir(y,Z),w=Ln(y,Z),h=Vr(y,C),k=Kn(y,C);A:{f:{if(_=(_|0)>0?_:0,w=(w|0)<(Z|0)?w:Z-1|0,(_|0)<=(w|0)&&(h=(h|0)>0?h:0,k=(k|0)<(C|0)?k:C-1|0,(h|0)<=(k|0)))break f;l[u+64|0]=0,l[u+75|0]=0,r0(f,2,120,u- -64|0),l[u+75|0]<0&&G(i[u+64>>2]),w=1;break A}i[u+28>>2]=0,i[u+32>>2]=0,Mk(u- -64|0,i[A>>2],_,w,h,k,u+28|0),h=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=h,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),h=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=h,i[u+112>>2]=i[u+80>>2];f:{if(k){k=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=k,i[f+16>>2]=i[u+112>>2],k=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=k,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,w=1;break f}if(k=i[u+32>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[A>>2]=i[u+28>>2],h=i[A+4>>2],i[A+4>>2]=k,w=0,!h||(k=i[h+4>>2],i[h+4>>2]=k-1,k))break f;V[i[i[h>>2]+8>>2]](h),g(h)}if(h=i[u+32>>2],!h||(k=i[h+4>>2],i[h+4>>2]=k-1,k))break A;V[i[i[h>>2]+8>>2]](h),g(h)}A:{if(!o||(k=i[o+4>>2],i[o+4>>2]=k-1,k))break A;V[i[i[o>>2]+8>>2]](o),g(o)}if(w)break e}if(t=t+8|0,(Q0|0)==(t|0))break}v1(u+36|0),v1(u+48|0),_3(u)}A:{f:{k:{n:{k=i[n0>>2];t:{if(!k)break t;for(w=n0,t=k;o=k0[t+16>>2]<r>>>0,w=o?w:t,t=i[(o<<2)+t>>2],!!t;);if((w|0)==(n0|0)|k0[w+16>>2]>r>>>0)break t;for(t=n0;o=k0[k+16>>2]<r>>>0,t=o?t:k,k=i[(o<<2)+k>>2],!!k;);if(t=(t|0)!=(n0|0)&k0[t+16>>2]<=r>>>0?t:n0,C=i[t+20>>2],p=i[t+24>>2],p&&(i[p+4>>2]=i[p+4>>2]+1),h=i[C+52>>2],y=i[C+56>>2],y&&(i[y+4>>2]=i[y+4>>2]+1),h){if(i[u+48>>2]=0,i[u+52>>2]=0,f6(u- -64|0,e,i[h+20>>2],u+48|0,99,n,1),i[u+64>>2]){e=i[u+68>>2],i[f>>2]=i[u+64>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+80>>2],e=i[u+76>>2],i[f+8>>2]=i[u+72>>2],i[f+12>>2]=e,i[u+80>>2]=0,i[u+72>>2]=0,i[u+76>>2]=0;break k}if(o=i[u+48>>2],k=i[o+32>>2],k>>>0>=3){if(e=f,f=C1(u,31341),r0(e,2,3003,f),l[f+11|0]>=0)break k;G(i[f>>2]);break k}n0=i[(k<<2)+35180>>2],n=i[A>>2],k=i[n+24>>2];o:{u:{if((k|0)!=i[h+24>>2]){t=i[n+28>>2];break u}if(t=i[n+28>>2],(t|0)==i[h+28>>2])break o}if(i[u+36>>2]=0,i[u+40>>2]=0,vA(u,o,u+36|0,k,t),n=i[u+4>>2],k=i[u>>2],i[u+64>>2]=k,i[u+68>>2]=n,l[u+83|0]<0&&(G(i[u+72>>2]),k=i[u+64>>2]),n=i[u+12>>2],i[u+72>>2]=i[u+8>>2],i[u+76>>2]=n,i[u+80>>2]=i[u+16>>2],k)break n;n=i[u+36>>2],k=i[u+40>>2],i[u+36>>2]=0,i[u+40>>2]=0,t=i[u+52>>2],i[u+48>>2]=n,i[u+52>>2]=k;u:{if(!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break u;V[i[i[t>>2]+8>>2]](t),g(t)}v1(u+36|0),n=i[A>>2]}w=n,E=B-32|0,B=E,_=i[u+48>>2],o=i[_+64>>2];o:{u:{if(!o){t=_- -64|0,k=t;break u}for(n=o;;){if(k=n,n=i[k+16>>2],(n|0)>(n0|0)){if(t=k,n=i[k>>2],n)continue;break u}if((n|0)>=(n0|0)){n=k;break o}if(n=i[k+4>>2],!n)break}t=k+4|0}n=U(52),i[n+20>>2]=0,i[n+24>>2]=0,i[n+16>>2]=n0,i[n+8>>2]=k,i[n>>2]=0,i[n+4>>2]=0,i[n+28>>2]=0,i[n+32>>2]=0,i[n+36>>2]=0,i[n+40>>2]=0,i[n+44>>2]=0,i[n+48>>2]=0,i[t>>2]=n,k=n,o=i[i[_+60>>2]>>2],o&&(i[_+60>>2]=o,k=i[t>>2]),D1(i[_+64>>2],k),i[_+68>>2]=i[_+68>>2]+1,_=i[u+48>>2],o=i[_+64>>2]}k=i[n+48>>2],i[E+24>>2]=i[n+44>>2],i[E+28>>2]=k,k=i[n+40>>2],i[E+16>>2]=i[n+36>>2],i[E+20>>2]=k,k=i[n+32>>2],i[E+8>>2]=i[n+28>>2],i[E+12>>2]=k,k=i[n+24>>2],i[E>>2]=i[n+20>>2],i[E+4>>2]=k;o:{if(!o)break o;for(h=_- -64|0,n=h,k=o;t=(n0|0)>i[k+16>>2],n=t?n:k,k=i[(t<<2)+k>>2],!!k;);if((n|0)==(h|0)|(n0|0)<i[n+16>>2])break o;t=i[n+4>>2];u:{if(!t){for(t=n;k=i[t+8>>2],h=i[k>>2]!=(t|0),t=k,!!h;);break u}for(;k=t,t=i[k>>2],!!t;);}i[_+60>>2]==(n|0)&&(i[_+60>>2]=k),i[_+68>>2]=i[_+68>>2]-1;u:{l:{if(n0=n,t=i[n>>2],t){if(k=i[n+4>>2],!k)break l;for(;n=k,k=i[k>>2],!!k;);}if(t=i[n+4>>2],t)break l;_=i[n+8>>2],t=0,h=1;break u}_=i[n+8>>2],i[t+8>>2]=_,h=0}k=i[_>>2];u:{if((n|0)==(k|0)){if(i[_>>2]=t,(n|0)==(o|0)){k=0,o=t;break u}k=i[_+4>>2];break u}i[_+4>>2]=t}Z=s[n+12|0],(n|0)!=(n0|0)&&(_=i[n0+8>>2],i[n+8>>2]=_,i[_+(((n0|0)!=i[_>>2])<<2)>>2]=n,_=i[n0>>2],i[n>>2]=_,i[_+8>>2]=n,_=i[n0+4>>2],i[n+4>>2]=_,_&&(i[_+8>>2]=n),l[n+12|0]=s[n0+12|0],o=(o|0)==(n0|0)?n:o);u:{if(!o|!(Z&1))break u;if(h)for(;;){n=s[k+12|0];l:{if(h=i[k+8>>2],t=i[h>>2],(t|0)!=(k|0)){n&1||(l[k+12|0]=1,l[h+12|0]=0,t=i[h+4>>2],n=i[t>>2],i[h+4>>2]=n,n&&(i[n+8>>2]=h),n=i[h+8>>2],i[t+8>>2]=n,i[n+(((h|0)!=i[n>>2])<<2)>>2]=t,i[t>>2]=h,i[h+8>>2]=t,n=k,k=i[k>>2],o=(k|0)==(o|0)?n:o,k=i[k+4>>2]);s:{h:{n=i[k>>2];w:{if(!(s[n+12|0]!=1&&n)){if(t=i[k+4>>2],s[t+12|0]!=1&&t)break w;if(l[k+12|0]=0,k=i[k+8>>2],s[k+12|0]&&(o|0)!=(k|0))break l;l[k+12|0]=1;break u}if(t=i[k+4>>2],!t)break h}if(s[t+12|0]==1)break h;n=k;break s}l[n+12|0]=1,l[k+12|0]=0,t=i[n+4>>2],i[k>>2]=t,t&&(i[t+8>>2]=k),t=i[k+8>>2],i[n+8>>2]=t,i[t+((i[t>>2]!=(k|0))<<2)>>2]=n,i[n+4>>2]=k,i[k+8>>2]=n,t=k}o=i[n+8>>2],l[n+12|0]=s[o+12|0],l[o+12|0]=1,l[t+12|0]=1,n=i[o+4>>2],k=i[n>>2],i[o+4>>2]=k,k&&(i[k+8>>2]=o),k=i[o+8>>2],i[n+8>>2]=k,i[k+(((o|0)!=i[k>>2])<<2)>>2]=n,i[n>>2]=o,i[o+8>>2]=n;break u}n&1||(l[k+12|0]=1,l[h+12|0]=0,n=i[t+4>>2],i[h>>2]=n,n&&(i[n+8>>2]=h),n=i[h+8>>2],i[t+8>>2]=n,i[n+(((h|0)!=i[n>>2])<<2)>>2]=t,i[t+4>>2]=h,i[h+8>>2]=t,n=k,k=i[k+4>>2],o=(k|0)==(o|0)?n:o,k=i[k>>2]);s:{h:{w:{_:{if(t=i[k>>2],t&&(n=s[t+12|0],(n|0)!=1))break _;if(n=i[k+4>>2],!(s[n+12|0]!=1&&n)){if(l[k+12|0]=0,k=i[k+8>>2],s[k+12|0]==1&(k|0)!=(o|0))break l;l[k+12|0]=1;break u}if(!t)break h;if(l[t+12|0]&1)break w;n=k;break s}if(n)break w;n=k;break s}n=i[k+4>>2]}l[n+12|0]=1,l[k+12|0]=0,t=i[n>>2],i[k+4>>2]=t,t&&(i[t+8>>2]=k),t=i[k+8>>2],i[n+8>>2]=t,i[t+((i[t>>2]!=(k|0))<<2)>>2]=n,i[n>>2]=k,i[k+8>>2]=n,t=k}o=i[n+8>>2],l[n+12|0]=s[o+12|0],l[o+12|0]=1,l[t+12|0]=1,n=i[o>>2],k=i[n+4>>2],i[o>>2]=k,k&&(i[k+8>>2]=o),k=i[o+8>>2],i[n+8>>2]=k,i[k+(((o|0)!=i[k>>2])<<2)>>2]=n,i[n+4>>2]=o,i[o+8>>2]=n;break u}n=k,k=i[k+8>>2],k=i[(((n|0)==i[k>>2])<<2)+k>>2]}l[t+12|0]=1}G(n0)}n=i[w+64>>2];o:{u:{if(!n){t=w- -64|0,k=t;break u}for(;;){if(k=n,n=i[k+16>>2],(n|0)>6){if(t=k,n=i[k>>2],n)continue;break u}if((n|0)>=6)break o;if(n=i[k+4>>2],!n)break}t=k+4|0}n=U(52),i[n+16>>2]=6,o=i[E+4>>2],i[n+20>>2]=i[E>>2],i[n+24>>2]=o,o=i[E+12>>2],i[n+28>>2]=i[E+8>>2],i[n+32>>2]=o,o=i[E+20>>2],i[n+36>>2]=i[E+16>>2],i[n+40>>2]=o,o=i[E+28>>2],i[n+44>>2]=i[E+24>>2],i[n+48>>2]=o,i[n+8>>2]=k,i[n>>2]=0,i[n+4>>2]=0,i[t>>2]=n,k=i[i[w+60>>2]>>2],k&&(i[w+60>>2]=k,n=i[t>>2]),D1(i[w+64>>2],n),i[w+68>>2]=i[w+68>>2]+1}B=E+32|0,s[C+49|0]==1&&(l[i[A>>2]+40|0]=1),l[u+83|0]<0&&G(i[u+72>>2]),v1(u+48|0)}o:{if(!y||(k=i[y+4>>2],i[y+4>>2]=k-1,k))break o;V[i[i[y>>2]+8>>2]](y),g(y)}if(!p||(k=i[p+4>>2],i[p+4>>2]=k-1,k))break t;V[i[i[p>>2]+8>>2]](p),g(p)}t=i[e+48>>2],n=i[t+44>>2],n0=i[t+48>>2],n0&&(i[n0+4>>2]=i[n0+4>>2]+1,t=i[e+48>>2]),i[u+64>>2]=i[t+52>>2],e=i[t+56>>2],i[u+68>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),p4(u,n,r,u- -64|0,1668050025),t=0,w=0,e=i[u>>2];t:{if(!e||(e=N0(e,68572,69892),!e))break t;w=i[u+4>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),i[i[A>>2]+80>>2]=Q[e+48>>1]|Q[e+50>>1]<<16}p4(u+48|0,n,r,u- -64|0,1835295606),e=i[u+48>>2];t:{if(!e||(h=N0(e,68572,70084),!h))break t;t=i[u+52>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),e=i[h+52>>2],o=i[A>>2],k=o,i[k+84>>2]=i[h+48>>2],i[k+88>>2]=e,k=h- -64|0,e=i[k+4>>2],i[o+100>>2]=i[k>>2],i[o+104>>2]=e,e=i[h+60>>2],i[o+92>>2]=i[h+56>>2],i[o+96>>2]=e,l[o+108|0]=1}if(p4(u+36|0,n,r,u- -64|0,1885434736),e=i[u+36>>2],!e||(k=N0(e,68572,69772),!k))break A;if(n=i[u+40>>2],n)break f;e=i[k+52>>2],r=i[A>>2],i[r+72>>2]=i[k+48>>2],i[r+76>>2]=e;break A}e=i[u+68>>2],i[f>>2]=i[u+64>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+80>>2],e=i[u+76>>2],i[f+8>>2]=i[u+72>>2],i[f+12>>2]=e,i[u+72>>2]=0,i[u+76>>2]=0,i[u+80>>2]=0,v1(u+36|0)}l[u+83|0]<0&&G(i[u+72>>2]),e=i[u+52>>2];k:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break k;V[i[i[e>>2]+8>>2]](e),g(e)}k:{if(!y||(f=i[y+4>>2],i[y+4>>2]=f-1,f))break k;V[i[i[y>>2]+8>>2]](y),g(y)}if(!p||(f=i[p+4>>2],i[p+4>>2]=f-1,f))break r;V[i[i[p>>2]+8>>2]](p),g(p);break r}if(i[n+4>>2]=i[n+4>>2]+1,e=i[k+52>>2],r=i[A>>2],i[r+72>>2]=i[k+48>>2],i[r+76>>2]=e,e=i[n+4>>2],i[n+4>>2]=e-1,e)break A;V[i[i[n>>2]+8>>2]](n),g(n)}r=i[u+40>>2];A:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break A;V[i[i[r>>2]+8>>2]](r),g(r)}A:{if(!t||(e=i[t+4>>2],i[t+4>>2]=e-1,e))break A;V[i[i[t>>2]+8>>2]](t),g(t)}r=i[u+52>>2];A:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break A;V[i[i[r>>2]+8>>2]](r),g(r)}A:{if(!w||(e=i[w+4>>2],i[w+4>>2]=e-1,e))break A;V[i[i[w>>2]+8>>2]](w),g(w)}r=i[u+4>>2];A:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break A;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[u+68>>2];A:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break A;V[i[i[r>>2]+8>>2]](r),g(r)}A:{if(!n0||(e=i[n0+4>>2],i[n0+4>>2]=e-1,e))break A;V[i[i[n0>>2]+8>>2]](n0),g(n0)}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,e=f+8|0,l[78275]>=0){f=i[19567],i[e>>2]=i[19566],i[e+4>>2]=f,i[e+8>>2]=i[19568];break r}_0(e,i[19566],i[19567]);break r}e=i[u+40>>2];e:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[u+52>>2];e:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=i[u>>2],!f)break r;if(t=i[u+4>>2],r=f,(t|0)!=(f|0)){for(;;){r=i[t-4>>2];e:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(t=t-8|0,(f|0)==(t|0))break}r=i[u>>2]}i[u+4>>2]=f,G(r)}e=i[u+92>>2];r:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(l[u+115|0]>=0)break i;G(i[u+104>>2])}i:{if(!G0||(f=i[G0+4>>2],i[G0+4>>2]=f-1,f))break i;V[i[i[G0>>2]+8>>2]](G0),g(G0)}l[u+127|0]<0&&G(i[u+116>>2]),B=u+128|0}function hA(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0;if(t=B-272|0,B=t,H6(e+16|0,i[e+20>>2]),I=e+20|0,i[e+16>>2]=I,i[e+20>>2]=0,i[e+24>>2]=0,A=i[e+32>>2],k=i[e+28>>2],(A|0)!=(k|0))for(;;){r=i[A-4>>2];i:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(k|0)==(A|0))break}i[e+32>>2]=k,r=i[e+44>>2],i[e+40>>2]=0,i[e+44>>2]=0;i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(RA(t+260|0,i[e+48>>2]),k=i[t+260>>2],u=i[t+264>>2],(k|0)!=(u|0))for(_=e+28|0;;){o=i[k>>2],fe(t+80|0,i[e+48>>2],o),A=i[t+80>>2];i:{if(A){n=l[A+75|0],r=(n|0)<0;r:{if(((r?i[A+68>>2]:n)|0)!=4)break r;r=r?i[A+64>>2]:A- -64|0,h=s[r+1|0]<<8,w=s[r+2|0]<<16|s[r+3|0]<<24;e:{if((s[r|0]|h|w)==828601960||(n=w|(h|s[r|0]),(n|0)==1684632167|(n|0)==1852138601|((n|0)==1819701097|(n|0)==825259617))||(n|0)==1768124021|(n|0)==828601974|(n|0)==1734701162)break e;A:{if((n|0)!=1701669229||(w=l[A+99|0],n=(w|0)<0,((n?i[A+92>>2]:w)|0)!=10))break A;if(A=A+88|0,!K2(n?i[A>>2]:A,8704,10))break e}if(r=s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24),(r|0)==829108842)break e;if((r|0)!=1768649581)break r}A=U(360),r=A,i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,l[r+152|0]=0,i[r+36>>2]=o,i[r+32>>2]=e,i[r+28>>2]=34648,i[r+40>>2]=0,i[r+44>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[r+68>>2]=0,i[r+72>>2]=0,i[r+80>>2]=0,i[r+84>>2]=0,i[r+156>>2]=0,i[r+160>>2]=0,i[r>>2]=72656,i[r+24>>2]=0,X[r+48>>1]=0,X[r+58>>1]=0,X[r+60>>1]=0,X[r+62>>1]=0,X[r+64>>1]=0,l[r+76|0]=0,l[r+88|0]=0,i[r+204>>2]=0,i[r+196>>2]=0,i[r+200>>2]=0,i[r+188>>2]=0,i[r+192>>2]=0,i[r+180>>2]=0,i[r+184>>2]=0,i[r+172>>2]=0,i[r+176>>2]=0,i[r+164>>2]=0,i[r+168>>2]=0,i[r+212>>2]=0,i[r+216>>2]=0,l[r+208|0]=1,l[r+217|0]=0,l[r+218|0]=0,l[r+219|0]=0,l[r+220|0]=0,l[r+221|0]=0,l[r+222|0]=0,l[r+223|0]=0,l[r+224|0]=0,i[r+232>>2]=0,i[r+236>>2]=0,i[r+240>>2]=0,i[r+244>>2]=0,i[r+248>>2]=0,i[r+252>>2]=0,i[r+256>>2]=0,i[r+260>>2]=0,i[r+264>>2]=0,i[r+268>>2]=0,l[r+272|0]=0,B0(r+280|0,0,80),i[r+296>>2]=0,i[r+300>>2]=0,l[r+292|0]=1,i[r+304>>2]=0,i[r+308>>2]=0,i[r+312>>2]=0,i[r+316>>2]=0,i[r+328>>2]=0,i[r+332>>2]=0,i[r+320>>2]=0,i[r+324>>2]=1072693248,i[r+336>>2]=0,i[r+340>>2]=0,i[r+344>>2]=0,i[r+348>>2]=0,i[r+352>>2]=0,i[r+96>>2]=0,i[r+100>>2]=0,i[r+104>>2]=0,i[r+108>>2]=0,i[r+112>>2]=0,i[r+116>>2]=0,i[r+120>>2]=0,i[r+124>>2]=0,i[r+128>>2]=0,i[r+132>>2]=0,i[r+136>>2]=0,i[r+140>>2]=0,i[r+144>>2]=0,i[r+148>>2]=0,i[t+228>>2]=r,n=r+16|0,i[t+224>>2]=n,i[r+4>>2]=i[r+4>>2]+1,C=I,r=I;e:{A:{w=i[e+20>>2];f:{if(!w)break f;for(;;){if(r=w,w=i[r+16>>2],w>>>0>o>>>0){if(C=r,w=i[r>>2],w)continue;break f}if(o>>>0<=w>>>0)break A;if(w=i[r+4>>2],!w)break}C=r+4|0}w=U(28),i[w+24>>2]=A,i[w+20>>2]=n,i[w+16>>2]=o,i[w+8>>2]=r,i[w>>2]=0,i[w+4>>2]=0,i[C>>2]=w,r=i[i[e+16>>2]>>2],r&&(i[e+16>>2]=r,w=i[C>>2]),D1(i[e+20>>2],w),i[e+24>>2]=i[e+24>>2]+1;break e}if(r=i[A+4>>2],i[A+4>>2]=r-1,r)break e;V[i[i[A>>2]+8>>2]](A),g(A)}if(!s[i[t+80>>2]+124|0]){e:{if((o|0)!=i[i[i[e+48>>2]+84>>2]+56>>2]||(r=i[t+224>>2],l[r+32|0]=1,A=i[t+228>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[e+40>>2]=r,r=i[e+44>>2],i[e+44>>2]=A,!r)||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break e;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[e+32>>2];e:{if(r>>>0<k0[e+36>>2]){i[r>>2]=i[t+224>>2],A=i[t+228>>2],i[r+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),r=r+8|0;break e}r=Q2(_,t+224|0)}i[e+32>>2]=r}if(r=i[t+228>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[t+84>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r);break i}if(r=i[t+84>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k+4|0,(u|0)==(k|0))break}i:{r:{e:{if(!i[e+40>>2]){if(e=U(48),i[t+80>>2]=e,i[t+84>>2]=42,i[t+88>>2]=-2147483600,r=s[10898]|s[10899]<<8|(s[10900]<<16|s[10901]<<24),k=s[10894]|s[10895]<<8|(s[10896]<<16|s[10897]<<24),l[e|0]=k,l[e+1|0]=k>>>8,l[e+2|0]=k>>>16,l[e+3|0]=k>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+42|0]=0,r=s[10934]|s[10935]<<8,l[e+40|0]=r,l[e+41|0]=r>>>8,r=s[10930]|s[10931]<<8|(s[10932]<<16|s[10933]<<24),k=s[10926]|s[10927]<<8|(s[10928]<<16|s[10929]<<24),l[e+32|0]=k,l[e+33|0]=k>>>8,l[e+34|0]=k>>>16,l[e+35|0]=k>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[10922]|s[10923]<<8|(s[10924]<<16|s[10925]<<24),k=s[10918]|s[10919]<<8|(s[10920]<<16|s[10921]<<24),l[e+24|0]=k,l[e+25|0]=k>>>8,l[e+26|0]=k>>>16,l[e+27|0]=k>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[10914]|s[10915]<<8|(s[10916]<<16|s[10917]<<24),k=s[10910]|s[10911]<<8|(s[10912]<<16|s[10913]<<24),l[e+16|0]=k,l[e+17|0]=k>>>8,l[e+18|0]=k>>>16,l[e+19|0]=k>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[10906]|s[10907]<<8|(s[10908]<<16|s[10909]<<24),k=s[10902]|s[10903]<<8|(s[10904]<<16|s[10905]<<24),l[e+8|0]=k,l[e+9|0]=k>>>8,l[e+10|0]=k>>>16,l[e+11|0]=k>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]>=0)break e;G(i[t+80>>2]);break e}if(A=i[e+16>>2],(I|0)!=(A|0))for(S=i[13631],n0=S-12|0,d=i[13632],L=d-12|0,A0=i[13635],p0=A0-12|0,f0=i[13633],X0=f0-12|0,h0=i[13640],G0=i[13639],I0=i[13637],Q0=i[13636],F0=i[13634],D=t+92|0,R=t+88|0,Y0=t+144|0;;){i[t+256>>2]=0,i[t+248>>2]=0,i[t+252>>2]=0,I1(t+224|0,i[e+48>>2],i[A+16>>2],t+248|0);A:{if(i[t+224>>2]){r=i[t+228>>2],i[f>>2]=i[t+224>>2],i[f+4>>2]=r,i[f+16>>2]=i[t+240>>2],r=i[t+236>>2],i[f+8>>2]=i[t+232>>2],i[f+12>>2]=r,i[t+232>>2]=0,i[t+236>>2]=0,C=0,i[t+240>>2]=0;break A}Z=0;f:{if(r=i[t+248>>2],p=i[t+252>>2],(r|0)!=(p|0)){for(;;){k:{if(k=i[r>>2],!k||(n=N0(k,68572,68596),!n))break k;k=i[r+4>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),o=i[n+56>>2],u=i[n+60>>2],_=o>>>0<2147483647&u>>>0<2147483647;n:{if(!_){i[t+80>>2]=f0,i[t+88>>2]=54496,i[t+144>>2]=54516,n=t+80|0,i[n+i[X0>>2]>>2]=F0,i[t+84>>2]=0,w=n+i[i[t+80>>2]-12>>2]|0,b0(w,D),i[w+72>>2]=0,i[w+76>>2]=-1,i[t+88>>2]=A0,i[R+i[p0>>2]>>2]=Q0,i[t+80>>2]=d,i[n+i[L>>2]>>2]=I0,i[t+144>>2]=54516,i[t+80>>2]=54476,i[t+88>>2]=54496,n=$0(D),i[n>>2]=53552,i[t+132>>2]=0,i[t+136>>2]=0,i[t+124>>2]=0,i[t+128>>2]=0,i[t+140>>2]=24,x(n4(x(L0(x(L0(x(R,19153,11),o),2490,1),u),19120,32),i[e+64>>2],i[e+68>>2]),31338,1),o=t+68|0,i2(o,n),r0(f,6,1e3,o),l[t+79|0]<0&&G(i[t+68>>2]),i[t+80>>2]=S,i[i[n0>>2]+(t+80|0)>>2]=G0,i[t+88>>2]=h0,i[n>>2]=53552,l[t+135|0]<0&&G(i[t+124>>2]),K0(n),T0(Y0);break n}n=i[A+20>>2],i[n+28>>2]=u,i[n+24>>2]=o,Z=1}n:{if(!k||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break n;if(V[i[i[k>>2]+8>>2]](k),g(k),_)break k;C=0;break A}if(_)break k;C=0;break A}if(r=r+8|0,(p|0)==(r|0))break}if(Z)break f}r=U(32),i[t+80>>2]=r,i[t+84>>2]=28,i[t+88>>2]=-2147483616,k=s[1305]|s[1306]<<8|(s[1307]<<16|s[1308]<<24),n=s[1301]|s[1302]<<8|(s[1303]<<16|s[1304]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+28|0]=0,k=s[1325]|s[1326]<<8|(s[1327]<<16|s[1328]<<24),l[r+24|0]=k,l[r+25|0]=k>>>8,l[r+26|0]=k>>>16,l[r+27|0]=k>>>24,k=s[1321]|s[1322]<<8|(s[1323]<<16|s[1324]<<24),n=s[1317]|s[1318]<<8|(s[1319]<<16|s[1320]<<24),l[r+16|0]=n,l[r+17|0]=n>>>8,l[r+18|0]=n>>>16,l[r+19|0]=n>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[1313]|s[1314]<<8|(s[1315]<<16|s[1316]<<24),n=s[1309]|s[1310]<<8|(s[1311]<<16|s[1312]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(f,2,137,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),C=0;break A}if(C=1,r=i[t+248>>2],h=i[t+252>>2],(r|0)==(h|0))break A;for(;;){Z=i[r>>2];f:{if(!Z)break f;k=N0(Z,68572,73072);k:{if(k){w=i[r+4>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),i[t+80>>2]=i[k+48>>2],k=i[k+52>>2],i[t+84>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1),jA(i[A+20>>2],t+80|0),k=i[t+84>>2];n:{if(!k||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break n;V[i[i[k>>2]+8>>2]](k),g(k)}if(!w)break f;if(k=i[w+4>>2],i[w+4>>2]=k-1,!k)break k;break f}w=0,k=N0(Z,68572,69952);n:{if(k){w=i[r+4>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),u=i[A+20>>2],n=i[k+100>>2],i[t+120>>2]=i[k+96>>2],i[t+124>>2]=n,n=i[k+92>>2],i[t+112>>2]=i[k+88>>2],i[t+116>>2]=n,n=i[k+84>>2],i[t+104>>2]=i[k+80>>2],i[t+108>>2]=n,n=i[k+76>>2],i[t+96>>2]=i[k+72>>2],i[t+100>>2]=n,n=k- -64|0,o=i[n+4>>2],i[R>>2]=i[n>>2],i[R+4>>2]=o,n=i[k+60>>2],i[t+80>>2]=i[k+56>>2],i[t+84>>2]=n,_=t+80|0,o=B-48|0,B=o,l[u+208|0]=1,ei(o+8|0,i[i[u+16>>2]+48>>2],i[u+20>>2]),k=i[o+8>>2],k?n=i[k+56>>2]:n=0,k=i[o+12>>2];t:{if(!k||(p=i[k+4>>2],i[k+4>>2]=p-1,p))break t;V[i[i[k>>2]+8>>2]](k),g(k)}ei(o+8|0,i[i[u+16>>2]+48>>2],i[u+20>>2]),k=i[o+8>>2],k?k=i[k+60>>2]:k=0,p=i[o+12>>2];t:{if(!p||(Z=i[p+4>>2],i[p+4>>2]=Z-1,Z))break t;V[i[i[p>>2]+8>>2]](p),g(p)}if(E=+(n|0),H=i0[_>>3]*E,i0[o+8>>3]=H,c0=+(k|0),i0[o+16>>3]=s[_+24|0]?i0[_+32>>3]*c0:H,i0[o+24>>3]=i0[_+8>>3]*E,i0[o+32>>3]=i0[_+16>>3]*c0,i0[o+40>>3]=i0[_+40>>3],k=i[o+44>>2],i[u+248>>2]=i[o+40>>2],i[u+252>>2]=k,k=i[o+36>>2],i[u+240>>2]=i[o+32>>2],i[u+244>>2]=k,k=i[o+28>>2],i[u+232>>2]=i[o+24>>2],i[u+236>>2]=k,k=i[o+20>>2],i[u+224>>2]=i[o+16>>2],i[u+228>>2]=k,k=i[o+12>>2],i[u+216>>2]=i[o+8>>2],i[u+220>>2]=k,B=o+48|0,Z=i[r>>2],!Z)break n}if(o=N0(Z,68572,70012),!o||(k=i[r+4>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),n=i[A+20>>2],u=t+80|0,l0(u,o+56|0,80),l[n+256|0]=1,l0(n+264|0,u,76),!k)||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break n;V[i[i[k>>2]+8>>2]](k),g(k)}if(!w||(k=i[w+4>>2],i[w+4>>2]=k-1,k))break f}V[i[i[w>>2]+8>>2]](w),g(w)}if(r=r+8|0,(h|0)==(r|0))break}if(r=i[t+248>>2],j=i[t+252>>2],(r|0)==(j|0))break A;for(;;){k=i[r>>2];f:{if(!k)break f;Z=0,w=0,y=N0(k,68572,69592);k:{if(y){if(w=i[r+4>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),o=i[y+48>>2],k=i[y+52>>2],u=(k|0)/2|0,n=o+u|0,v=(o>>31)+(u>>31)|0,k=o2(n,n>>>0<u>>>0?v+1|0:v,k,k>>31),_=i[y+56>>2],n=i[y+60>>2],p=(n|0)/2|0,o=_+p|0,h=(_>>31)+(p>>31)|0,u=i[A+20>>2],s2=u,W2=o2(o,o>>>0<p>>>0?h+1|0:h,n,n>>31),i[s2+28>>2]=W2,i[u+24>>2]=k,J=i[A+20>>2],s[J+208|0]==1){a=i[J+28>>2],k=i[J+24>>2],n=k-1|0,k=k+65535>>>0<131073,_=k?n:(n|0)/2|0,n=i[y+64>>2],u=n>>31,p=k?2:1,o=i[y+68>>2];n:{if((p|0)==(o|0)){if(h=(_>>31)+u|0,k=_,_=n+_|0,h=k>>>0>_>>>0?h+1|0:h,k=h,(k-(_>>>0<2147483648)|0)==-1)break n;h=k>>31,n=_+(h|1)|0,h=k+h|0,_=o2(n,n>>>0<_>>>0?h+1|0:h,2,0),p=1;break n}if(p=o,W=o>>31,_=q0(o,W,_,_>>31),S0=w0,o=k,q=_,h=n,_=k&31,(k&63)>>>0>=32?(v=n<<_,k=0):(v=(1<<_)-1&h>>>32-_|u<<_,k=h<<_),_=q+k|0,h=v+S0|0,h=k>>>0>_>>>0?h+1|0:h,k=h,v=(k-(_>>>0<2147483648)|0)==-1,u=p,n=o&31,(o&63)>>>0>=32?(h=u<<n,n=0):(h=(1<<n)-1&u>>>32-n|W<<n,n=u<<n),o=h,!((o-(n>>>0<2147483648)|0)==-1&v))for(;h=o>>31,u=n+(h|1)|0,h=o+h|0,n=o2(u,n>>>0>u>>>0?h+1|0:h,2,0),o=w0,p=o-(n>>>0<2147483648)|0,h=k>>31,u=_+(h|1)|0,h=k+h|0,_=o2(u,u>>>0<_>>>0?h+1|0:h,2,0),k=w0,(k-(_>>>0<2147483648)&p)!=-1;);p=n}if(o=i[y+48>>2],k=i[y+52>>2],n=o-k|0,u=k>>31,o=(o>>31)-(u+(k>>>0>o>>>0)|0)|0,h=o-(n>>>0<2147483648)|0,(h|0)==-2|h>>>0<4294967294){for(;h=u>>31,W=k+(h|1)|0,h=u+h|0,k=o2(W,k>>>0>W>>>0?h+1|0:h,2,0),u=w0,h=o>>31,W=n+(h|1)|0,h=o+h|0,n=o2(W,n>>>0>W>>>0?h+1|0:h,2,0),o=w0,(o-(n>>>0<2147483648)|0)!=-1;);u=k>>31}if(h=u<<1|k>>>31,k=k<<1,u=h,h=u-(k>>>0<2147483648)|0,(h|0)==-2|h>>>0<4294967294)for(;h=o>>31,W=n+(h|1)|0,v=o+h|0,n=o2(W,n>>>0>W>>>0?v+1|0:v,2,0),o=w0,h=u>>31,W=k+(h|1)|0,h=u+h|0,k=o2(W,k>>>0>W>>>0?h+1|0:h,2,0),u=w0,(u-(k>>>0<2147483648)|0)!=-1;);o=_>>31;n:{if((k|0)==(p|0)){if(o=o-((n>>31)+(n>>>0>_>>>0)|0)|0,n=_-n|0,(o-(n>>>0<2147483648)|0)==-1)break n;for(k=p,u=k>>31;h=u>>31,_=k+(h|1)|0,h=u+h|0,k=o2(_,k>>>0>_>>>0?h+1|0:h,2,0),u=w0,h=o>>31,_=n+(h|1)|0,h=o+h|0,n=o2(_,n>>>0>_>>>0?h+1|0:h,2,0),o=w0,(o-(n>>>0<2147483648)|0)!=-1;);p=k;break n}if(o=q0(k,u,_,o),_=w0,h=p>>31,W=q0(p,h,n,n>>31),n=o-W|0,o=_-(w0+(o>>>0<W>>>0)|0)|0,k=q0(k,u,p,h),u=w0,(o-(n>>>0<2147483648)&u-(k>>>0<2147483648))!=-1)for(;h=u>>31,_=k+(h|1)|0,h=u+h|0,k=o2(_,k>>>0>_>>>0?h+1|0:h,2,0),u=w0,p=u-(k>>>0<2147483648)|0,h=o>>31,_=n+(h|1)|0,h=o+h|0,n=o2(_,n>>>0>_>>>0?h+1|0:h,2,0),o=w0,(o-(n>>>0<2147483648)&p)!=-1;);p=k}i0[J+232>>3]=i0[J+232>>3]-+(n|0)/+(p|0),k=a-1|0,h=k,n=(k|0)/2|0,k=a+65535>>>0<131073,_=k?h:n,n=i[y+72>>2],u=n>>31,p=k?2:1,o=i[y+76>>2];n:{if((p|0)==(o|0)){if(h=(_>>31)+u|0,k=_,_=n+_|0,h=k>>>0>_>>>0?h+1|0:h,k=h,(k-(_>>>0<2147483648)|0)==-1)break n;h=k>>31,n=_+(h|1)|0,h=k+h|0,_=o2(n,n>>>0<_>>>0?h+1|0:h,2,0),p=1;break n}if(p=o,W=o>>31,_=q0(o,W,_,_>>31),a=w0,o=k,q=_,h=n,_=k&31,(k&63)>>>0>=32?(v=n<<_,k=0):(v=(1<<_)-1&h>>>32-_|u<<_,k=h<<_),_=q+k|0,h=v+a|0,h=k>>>0>_>>>0?h+1|0:h,k=h,v=(k-(_>>>0<2147483648)|0)==-1,u=p,n=o&31,(o&63)>>>0>=32?(h=u<<n,n=0):(h=(1<<n)-1&u>>>32-n|W<<n,n=u<<n),o=h,!((o-(n>>>0<2147483648)|0)==-1&v))for(;h=o>>31,u=n+(h|1)|0,h=o+h|0,n=o2(u,n>>>0>u>>>0?h+1|0:h,2,0),o=w0,p=o-(n>>>0<2147483648)|0,h=k>>31,u=_+(h|1)|0,h=k+h|0,_=o2(u,u>>>0<_>>>0?h+1|0:h,2,0),k=w0,(k-(_>>>0<2147483648)&p)!=-1;);p=n}if(o=i[y+56>>2],k=i[y+60>>2],n=o-k|0,u=k>>31,o=(o>>31)-(u+(k>>>0>o>>>0)|0)|0,h=o-(n>>>0<2147483648)|0,(h|0)==-2|h>>>0<4294967294){for(;h=u>>31,W=k+(h|1)|0,h=u+h|0,k=o2(W,k>>>0>W>>>0?h+1|0:h,2,0),u=w0,h=o>>31,W=n+(h|1)|0,h=o+h|0,n=o2(W,n>>>0>W>>>0?h+1|0:h,2,0),o=w0,(o-(n>>>0<2147483648)|0)!=-1;);u=k>>31}if(h=u<<1|k>>>31,k=k<<1,u=h,h=u-(k>>>0<2147483648)|0,(h|0)==-2|h>>>0<4294967294)for(;h=o>>31,W=n+(h|1)|0,v=o+h|0,n=o2(W,n>>>0>W>>>0?v+1|0:v,2,0),o=w0,h=u>>31,W=k+(h|1)|0,h=u+h|0,k=o2(W,k>>>0>W>>>0?h+1|0:h,2,0),u=w0,(u-(k>>>0<2147483648)|0)!=-1;);o=_>>31;n:{if((k|0)==(p|0)){if(o=o-((n>>31)+(n>>>0>_>>>0)|0)|0,n=_-n|0,(o-(n>>>0<2147483648)|0)==-1)break n;for(k=p,u=k>>31;h=u>>31,_=k+(h|1)|0,h=u+h|0,k=o2(_,k>>>0>_>>>0?h+1|0:h,2,0),u=w0,h=o>>31,_=n+(h|1)|0,h=o+h|0,n=o2(_,n>>>0>_>>>0?h+1|0:h,2,0),o=w0,(o-(n>>>0<2147483648)|0)!=-1;);p=k;break n}if(o=q0(k,u,_,o),_=w0,h=p>>31,W=q0(p,h,n,n>>31),n=o-W|0,o=_-(w0+(o>>>0<W>>>0)|0)|0,k=q0(k,u,p,h),u=w0,(o-(n>>>0<2147483648)&u-(k>>>0<2147483648))!=-1)for(;h=u>>31,_=k+(h|1)|0,h=u+h|0,k=o2(_,k>>>0>_>>>0?h+1|0:h,2,0),u=w0,p=u-(k>>>0<2147483648)|0,h=o>>31,_=n+(h|1)|0,h=o+h|0,n=o2(_,n>>>0>_>>>0?h+1|0:h,2,0),o=w0,(o-(n>>>0<2147483648)&p)!=-1;);p=k}i0[J+240>>3]=i0[J+240>>3]-+(n|0)/+(p|0)}if(k=i[r>>2],!k)break k}n=N0(k,68572,69532);n:{if(!n)break n;Z=i[r+4>>2],Z&&(i[Z+4>>2]=i[Z+4>>2]+1),k=i[A+20>>2],p=i[k+28>>2],_=24,u=8;t:switch(i[n+48>>2]){case 1:i0[k+216>>3]=-i0[k+216>>3],p=i[k+24>>2],_=16,u=32;break;case 0:break t;default:break n}k=k+216|0,n=k+u|0,i0[n>>3]=-i0[n>>3],k=k+_|0,i0[k>>3]=+(p-1|0)-i0[k>>3]}k=i[r>>2];n:{if(!k||(n=N0(k,68572,69472),!n)||(k=i[r+4>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),n=i[n+48>>2],(n|0)!=270&(n|0)!=90||(n=i[A+20>>2],o=i[n+28>>2],i[n+28>>2]=i[n+24>>2],i[n+24>>2]=o),!k)||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break n;V[i[i[k>>2]+8>>2]](k),g(k)}if(!Z||(k=i[Z+4>>2],i[Z+4>>2]=k-1,k))break k;V[i[i[Z>>2]+8>>2]](Z),g(Z)}if(!w||(k=i[w+4>>2],i[w+4>>2]=k-1,k))break f;V[i[i[w>>2]+8>>2]](w),g(w)}if(r=r+8|0,(j|0)==(r|0))break}}if(l[t+243|0]<0&&G(i[t+232>>2]),k=i[t+248>>2],k){if(r=i[t+252>>2],w=k,(r|0)!=(k|0)){for(;;){n=i[r-4>>2];A:{if(!n||(o=i[n+4>>2],i[n+4>>2]=o-1,o))break A;V[i[i[n>>2]+8>>2]](n),g(n)}if(r=r-8|0,(k|0)==(r|0))break}w=i[t+248>>2]}i[t+252>>2]=k,G(w)}if(!C)break e;w=A,r=i[A+4>>2];A:{if(r){for(;;)if(A=r,r=i[r>>2],!r)break A}for(;A=i[w+8>>2],r=i[A>>2]!=(w|0),w=A,!!r;);}if((A|0)==(I|0))break}r=i[e+48>>2],R=i[r+76>>2],D=i[r+80>>2],D&&(i[D+4>>2]=i[D+4>>2]+1),k=i[e+16>>2];A:{if(!(!R|(I|0)==(k|0))){for(d=i[13631],L=d-12|0,A0=i[13632],p0=A0-12|0,f0=i[13635],X0=f0-12|0,h0=i[13633],G0=h0-12|0,I0=i[13640],Q0=i[13639],F0=i[13637],Y0=i[13636],j=i[13634],n0=t+92|0,a=t+88|0,S0=t+144|0;;){oe(t+248|0,R,i[i[k+20>>2]+20>>2]),C=i[t+248>>2],r2=i[t+252>>2];f:{if((C|0)==(r2|0)){Z=14;break f}y=k+20|0;k:{for(;;){n:{t:{o:{u:{l:{s:{h:{w:{_:{v:{Z:{m:{B:{if(r=i[C+16>>2],(r|0)!=1635088492){if((r|0)!=1953000802)break n;i[t+88>>2]=0,i[t+80>>2]=0,i[t+84>>2]=0,r=i[C+48>>2],A=i[C+44>>2],o=(r|0)==(A|0);p:{W:{if(o)break W;if(r=r-A|0,(r|0)<0)break B;if(n=U(r),i[t+80>>2]=n,u=r+n|0,i[t+88>>2]=u,l0(n,A,r),i[t+84>>2]=u,o)break W;for(;;){o=i[n>>2],_=i[y>>2],l[_+33|0]=1;G:{r=I,A=i[r>>2];C:{if(!A)break C;for(;w=o>>>0>k0[A+16>>2],r=w?r:A,A=i[(w<<2)+A>>2],!!A;);if((r|0)==(I|0))break C;if(o>>>0>=k0[r+16>>2])break G}r=U(48),i[t+224>>2]=r,i[t+228>>2]=41,i[t+232>>2]=-2147483600,A=s[10941]|s[10942]<<8|(s[10943]<<16|s[10944]<<24),n=s[10937]|s[10938]<<8|(s[10939]<<16|s[10940]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+41|0]=0,l[r+40|0]=s[10977],A=s[10973]|s[10974]<<8|(s[10975]<<16|s[10976]<<24),n=s[10969]|s[10970]<<8|(s[10971]<<16|s[10972]<<24),l[r+32|0]=n,l[r+33|0]=n>>>8,l[r+34|0]=n>>>16,l[r+35|0]=n>>>24,l[r+36|0]=A,l[r+37|0]=A>>>8,l[r+38|0]=A>>>16,l[r+39|0]=A>>>24,A=s[10965]|s[10966]<<8|(s[10967]<<16|s[10968]<<24),n=s[10961]|s[10962]<<8|(s[10963]<<16|s[10964]<<24),l[r+24|0]=n,l[r+25|0]=n>>>8,l[r+26|0]=n>>>16,l[r+27|0]=n>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[10957]|s[10958]<<8|(s[10959]<<16|s[10960]<<24),n=s[10953]|s[10954]<<8|(s[10955]<<16|s[10956]<<24),l[r+16|0]=n,l[r+17|0]=n>>>8,l[r+18|0]=n>>>16,l[r+19|0]=n>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[10949]|s[10950]<<8|(s[10951]<<16|s[10952]<<24),n=s[10945]|s[10946]<<8|(s[10947]<<16|s[10948]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+224|0),l[t+235|0]<0&&G(i[t+224>>2]),r=0;break p}if(r=i[r+20>>2],s[r+33|0]==1){r=U(40),i[t+224>>2]=r,i[t+228>>2]=38,i[t+232>>2]=-2147483608,A=s[7553]|s[7554]<<8|(s[7555]<<16|s[7556]<<24),n=s[7549]|s[7550]<<8|(s[7551]<<16|s[7552]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+38|0]=0,A=s[7583]|s[7584]<<8|(s[7585]<<16|s[7586]<<24),n=s[7579]|s[7580]<<8|(s[7581]<<16|s[7582]<<24),l[r+30|0]=n,l[r+31|0]=n>>>8,l[r+32|0]=n>>>16,l[r+33|0]=n>>>24,l[r+34|0]=A,l[r+35|0]=A>>>8,l[r+36|0]=A>>>16,l[r+37|0]=A>>>24,A=s[7577]|s[7578]<<8|(s[7579]<<16|s[7580]<<24),n=s[7573]|s[7574]<<8|(s[7575]<<16|s[7576]<<24),l[r+24|0]=n,l[r+25|0]=n>>>8,l[r+26|0]=n>>>16,l[r+27|0]=n>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[7569]|s[7570]<<8|(s[7571]<<16|s[7572]<<24),n=s[7565]|s[7566]<<8|(s[7567]<<16|s[7568]<<24),l[r+16|0]=n,l[r+17|0]=n>>>8,l[r+18|0]=n>>>16,l[r+19|0]=n>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[7561]|s[7562]<<8|(s[7563]<<16|s[7564]<<24),n=s[7557]|s[7558]<<8|(s[7559]<<16|s[7560]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+224|0),l[t+235|0]<0&&G(i[t+224>>2]),r=0;break p}if((r|0)==(_|0)){r=U(40),i[t+224>>2]=r,i[t+228>>2]=34,i[t+232>>2]=-2147483608,A=s[12484]|s[12485]<<8|(s[12486]<<16|s[12487]<<24),n=s[12480]|s[12481]<<8|(s[12482]<<16|s[12483]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+34|0]=0,A=s[12512]|s[12513]<<8,l[r+32|0]=A,l[r+33|0]=A>>>8,A=s[12508]|s[12509]<<8|(s[12510]<<16|s[12511]<<24),n=s[12504]|s[12505]<<8|(s[12506]<<16|s[12507]<<24),l[r+24|0]=n,l[r+25|0]=n>>>8,l[r+26|0]=n>>>16,l[r+27|0]=n>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[12500]|s[12501]<<8|(s[12502]<<16|s[12503]<<24),n=s[12496]|s[12497]<<8|(s[12498]<<16|s[12499]<<24),l[r+16|0]=n,l[r+17|0]=n>>>8,l[r+18|0]=n>>>16,l[r+19|0]=n>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[12492]|s[12493]<<8|(s[12494]<<16|s[12495]<<24),n=s[12488]|s[12489]<<8|(s[12490]<<16|s[12491]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+224|0),l[t+235|0]<0&&G(i[t+224>>2]),r=0;break p}A=i[r+40>>2];G:{if(A>>>0<k0[r+44>>2]){i[A>>2]=_,o=i[k+24>>2],i[A+4>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),A=A+8|0;break G}A=Q2(r+36|0,y)}if(i[r+40>>2]=A,n=n+4|0,(u|0)==(n|0))break}}VA(e,y),r=1}if(A=i[t+80>>2],A&&G(A),r)break n;Z=1;break k}if(i[t+76>>2]=0,i[t+68>>2]=0,i[t+72>>2]=0,I1(t+224|0,i[e+48>>2],i[i[y>>2]+20>>2],t+68|0),i[t+224>>2]){r=i[t+228>>2],i[f>>2]=i[t+224>>2],i[f+4>>2]=r,i[f+16>>2]=i[t+240>>2],r=i[t+236>>2],i[f+8>>2]=i[t+232>>2],i[f+12>>2]=r,i[t+232>>2]=0,i[t+236>>2]=0,i[t+240>>2]=0,Z=1;break t}if(n=0,p=0,A=i[t+68>>2],u=i[t+72>>2],(A|0)!=(u|0))break m;break Z}y0(),P()}for(;;){r=i[A>>2];m:{if(!r||(o=N0(r,68572,69412),!o))break m;r=i[A+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+2);B:{if(!n||(_=i[n+4>>2],i[n+4>>2]=_-1,_))break B;V[i[i[n>>2]+8>>2]](n),g(n)}r?(n=i[r+4>>2],i[r+4>>2]=n-1,n||(V[i[i[r>>2]+8>>2]](r),g(r))):r=0,n=r,p=o}if(A=A+8|0,(u|0)==(A|0))break}if(!p)break Z;if(u=0,i[t+64>>2]=0,i[t+56>>2]=0,i[t+60>>2]=0,o=0,r=i[C+48>>2],A=i[C+44>>2],(r|0)!=(A|0)){if(r=r-A|0,(r|0)<0)break i;o=U(r),i[t+56>>2]=o,u=r+o|0,i[t+64>>2]=u,l0(o,A,r),i[t+60>>2]=u}switch(W=p+56|0,A=l[p+67|0],_=(A|0)<0,r=i[p+60>>2],(_?r:A)-25|0){case 18:break w;case 1:break _;case 0:break v;default:break s}}i[t+80>>2]=h0,i[t+88>>2]=54496,i[t+144>>2]=54516,r=t+80|0,i[r+i[G0>>2]>>2]=j,i[t+84>>2]=0,A=r+i[i[t+80>>2]-12>>2]|0,b0(A,n0),i[A+72>>2]=0,i[A+76>>2]=-1,i[t+88>>2]=f0,i[i[X0>>2]+a>>2]=Y0,i[t+80>>2]=A0,i[r+i[p0>>2]>>2]=F0,i[t+144>>2]=54516,i[t+80>>2]=54476,i[t+88>>2]=54496,r=$0(n0),i[r>>2]=53552,i[t+132>>2]=0,i[t+136>>2]=0,i[t+124>>2]=0,i[t+128>>2]=0,i[t+140>>2]=24,L0(x(a,19165,27),i[i[y>>2]+20>>2]),A=t+56|0,i2(A,r),r0(f,2,123,A),l[t+67|0]<0&&G(i[t+56>>2]),i[t+80>>2]=d,i[i[L>>2]+(t+80|0)>>2]=Q0,i[t+88>>2]=I0,i[r>>2]=53552,l[t+135|0]<0&&G(i[t+124>>2]),K0(r),T0(S0),Z=1;break o}if(K2(_?i[W>>2]:W,17041,25))break s;if((o|0)!=(u|0))break h;break s}if(K2(_?i[W>>2]:W,17014,26))break s;if((o|0)!=(u|0))break h;break s}if(K2(_?i[W>>2]:W,14619,43)|(o|0)==(u|0))break s}for(;;){_=i[o>>2];h:{w:{r=I,A=i[r>>2];_:{if(!A)break _;for(;w=_>>>0>k0[A+16>>2],r=w?r:A,A=i[(w<<2)+A>>2],!!A;);if((r|0)==(I|0))break _;if(_>>>0>=k0[r+16>>2])break w}if(ne(i[e+48>>2],_))break h;r=U(40),i[t+80>>2]=r,i[t+84>>2]=35,i[t+88>>2]=-2147483608,A=s[13501]|s[13502]<<8|(s[13503]<<16|s[13504]<<24),o=s[13497]|s[13498]<<8|(s[13499]<<16|s[13500]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+35|0]=0,A=s[13528]|s[13529]<<8|(s[13530]<<16|s[13531]<<24),l[r+31|0]=A,l[r+32|0]=A>>>8,l[r+33|0]=A>>>16,l[r+34|0]=A>>>24,A=s[13525]|s[13526]<<8|(s[13527]<<16|s[13528]<<24),o=s[13521]|s[13522]<<8|(s[13523]<<16|s[13524]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[13517]|s[13518]<<8|(s[13519]<<16|s[13520]<<24),o=s[13513]|s[13514]<<8|(s[13515]<<16|s[13516]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[13509]|s[13510]<<8|(s[13511]<<16|s[13512]<<24),o=s[13505]|s[13506]<<8|(s[13507]<<16|s[13508]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),Z=1;break l}_=i[r+20>>2],A=i[r+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),h=i[y>>2];w:{if((h|0)==(_|0)){r=U(32),i[t+80>>2]=r,i[t+84>>2]=30,i[t+88>>2]=-2147483616,w=s[12550]|s[12551]<<8|(s[12552]<<16|s[12553]<<24),Z=s[12546]|s[12547]<<8|(s[12548]<<16|s[12549]<<24),l[r|0]=Z,l[r+1|0]=Z>>>8,l[r+2|0]=Z>>>16,l[r+3|0]=Z>>>24,l[r+4|0]=w,l[r+5|0]=w>>>8,l[r+6|0]=w>>>16,l[r+7|0]=w>>>24,l[r+30|0]=0,w=s[12572]|s[12573]<<8|(s[12574]<<16|s[12575]<<24),Z=s[12568]|s[12569]<<8|(s[12570]<<16|s[12571]<<24),l[r+22|0]=Z,l[r+23|0]=Z>>>8,l[r+24|0]=Z>>>16,l[r+25|0]=Z>>>24,l[r+26|0]=w,l[r+27|0]=w>>>8,l[r+28|0]=w>>>16,l[r+29|0]=w>>>24,w=s[12566]|s[12567]<<8|(s[12568]<<16|s[12569]<<24),Z=s[12562]|s[12563]<<8|(s[12564]<<16|s[12565]<<24),l[r+16|0]=Z,l[r+17|0]=Z>>>8,l[r+18|0]=Z>>>16,l[r+19|0]=Z>>>24,l[r+20|0]=w,l[r+21|0]=w>>>8,l[r+22|0]=w>>>16,l[r+23|0]=w>>>24,w=s[12558]|s[12559]<<8|(s[12560]<<16|s[12561]<<24),Z=s[12554]|s[12555]<<8|(s[12556]<<16|s[12557]<<24),l[r+8|0]=Z,l[r+9|0]=Z>>>8,l[r+10|0]=Z>>>16,l[r+11|0]=Z>>>24,l[r+12|0]=w,l[r+13|0]=w>>>8,l[r+14|0]=w>>>16,l[r+15|0]=w>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),Z=1;break w}if(l[h+48|0]=1,w=i[k+24>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),i[_+52>>2]=h,r=i[_+56>>2],i[_+56>>2]=w,Z=0,!r||(w=i[r+4>>2],i[r+4>>2]=w-1,w))break w;V[i[i[r>>2]+8>>2]](r),g(r)}w:{if(!A||(r=i[A+4>>2],i[A+4>>2]=r-1,r))break w;V[i[i[A>>2]+8>>2]](A),g(A)}if((h|0)==(_|0))break l}if(o=o+4|0,(u|0)==(o|0))break}A=s[p+67|0],r=i[p+60>>2]}s:{h:{w:{if(h=r,r=A<<24>>24<0,A=(r?h:A)-26|0,A){if((A|0)==17)break w;break s}if(!K2(r?i[W>>2]:W,16753,26))break h;break s}if(K2(r?i[W>>2]:W,8263,43))break s}if(l[i[y>>2]+60|0]=1,Z=i[t+56>>2],n2=i[t+60>>2],(Z|0)==(n2|0))break s;for(;;){o=i[Z>>2];h:{w:{r=I,A=i[r>>2];_:{if(!A)break _;for(;u=o>>>0>k0[A+16>>2],r=u?r:A,A=i[(u<<2)+A>>2],!!A;);if((r|0)==(I|0))break _;if(o>>>0>=k0[r+16>>2])break w}if(ne(i[e+48>>2],o))break h;r=U(40),i[t+80>>2]=r,i[t+84>>2]=35,i[t+88>>2]=-2147483608,A=s[13431]|s[13432]<<8|(s[13433]<<16|s[13434]<<24),o=s[13427]|s[13428]<<8|(s[13429]<<16|s[13430]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+35|0]=0,A=s[13458]|s[13459]<<8|(s[13460]<<16|s[13461]<<24),l[r+31|0]=A,l[r+32|0]=A>>>8,l[r+33|0]=A>>>16,l[r+34|0]=A>>>24,A=s[13455]|s[13456]<<8|(s[13457]<<16|s[13458]<<24),o=s[13451]|s[13452]<<8|(s[13453]<<16|s[13454]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[13447]|s[13448]<<8|(s[13449]<<16|s[13450]<<24),o=s[13443]|s[13444]<<8|(s[13445]<<16|s[13446]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[13439]|s[13440]<<8|(s[13441]<<16|s[13442]<<24),o=s[13435]|s[13436]<<8|(s[13437]<<16|s[13438]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),Z=1;break l}if(u=i[y>>2],A=i[r+20>>2],(u|0)==(A|0)){r=U(32),i[t+80>>2]=r,i[t+84>>2]=30,i[t+88>>2]=-2147483616,A=s[12519]|s[12520]<<8|(s[12521]<<16|s[12522]<<24),o=s[12515]|s[12516]<<8|(s[12517]<<16|s[12518]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+30|0]=0,A=s[12541]|s[12542]<<8|(s[12543]<<16|s[12544]<<24),o=s[12537]|s[12538]<<8|(s[12539]<<16|s[12540]<<24),l[r+22|0]=o,l[r+23|0]=o>>>8,l[r+24|0]=o>>>16,l[r+25|0]=o>>>24,l[r+26|0]=A,l[r+27|0]=A>>>8,l[r+28|0]=A>>>16,l[r+29|0]=A>>>24,A=s[12535]|s[12536]<<8|(s[12537]<<16|s[12538]<<24),o=s[12531]|s[12532]<<8|(s[12533]<<16|s[12534]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[12527]|s[12528]<<8|(s[12529]<<16|s[12530]<<24),o=s[12523]|s[12524]<<8|(s[12525]<<16|s[12526]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),Z=1;break l}o=i[k+24>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),i[A+64>>2]=u,r=i[A+68>>2],i[A+68>>2]=o;w:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break w;V[i[i[r>>2]+8>>2]](r),g(r)}if(i[t+52>>2]=0,i[t+44>>2]=0,i[t+48>>2]=0,r=i[p+72>>2],o=i[p+68>>2],(r|0)!=(o|0)){if(r=r-o|0,(r|0)<0)break r;A=U(r),i[t+48>>2]=A,i[t+44>>2]=A,u=r+A|0,i[t+52>>2]=u,l0(A,o,r),i[t+48>>2]=u}i[t+40>>2]=0,i[t+32>>2]=0,i[t+36>>2]=0,J=t+80|0,S=t+32|0,o=B-96|0,B=o,r=i[t+44>>2],A=w6(o- -64|0,r,i[t+48>>2]-r|0),r=i[A+8>>2],h=r>>31<<3|r>>>29,u=i[A+24>>2],r=u+(r<<3)|0,h=(u>>31)+h|0,h=r>>>0<u>>>0?h+1|0:h;w:{if((h|0)<=0&r>>>0<=31|(h|0)<0){if(r=U(24),i[o+32>>2]=r,i[o+36>>2]=22,i[o+40>>2]=-2147483624,A=s[3011]|s[3012]<<8|(s[3013]<<16|s[3014]<<24),u=s[3007]|s[3008]<<8|(s[3009]<<16|s[3010]<<24),l[r|0]=u,l[r+1|0]=u>>>8,l[r+2|0]=u>>>16,l[r+3|0]=u>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+22|0]=0,A=s[3025]|s[3026]<<8|(s[3027]<<16|s[3028]<<24),u=s[3021]|s[3022]<<8|(s[3023]<<16|s[3024]<<24),l[r+14|0]=u,l[r+15|0]=u>>>8,l[r+16|0]=u>>>16,l[r+17|0]=u>>>24,l[r+18|0]=A,l[r+19|0]=A>>>8,l[r+20|0]=A>>>16,l[r+21|0]=A>>>24,A=s[3019]|s[3020]<<8|(s[3021]<<16|s[3022]<<24),u=s[3015]|s[3016]<<8|(s[3017]<<16|s[3018]<<24),l[r+8|0]=u,l[r+9|0]=u>>>8,l[r+10|0]=u>>>16,l[r+11|0]=u>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(J,2,100,o+32|0),l[o+43|0]>=0)break w;G(i[o+32>>2]);break w}h=g0(A,32),r=(i[A+4>>2]-i[A+8>>2]|0)+(i[A+24>>2]/-8|0)|0;_:{if((h|0)<=(r|0))break _;if(r=r+i[t+44>>2]|0,u=w6(o+32|0,r,i[t+48>>2]-r|0),r=i[u+8>>2],h=r>>31<<3|r>>>29,A=i[u+24>>2],r=A+(r<<3)|0,v=(A>>31)+h|0,v=r>>>0<A>>>0?v+1|0:v,(v|0)<=0&r>>>0<=39|(v|0)<0){if(r=U(24),i[o+4>>2]=r,i[o+8>>2]=22,i[o+12>>2]=-2147483624,A=s[3011]|s[3012]<<8|(s[3013]<<16|s[3014]<<24),u=s[3007]|s[3008]<<8|(s[3009]<<16|s[3010]<<24),l[r|0]=u,l[r+1|0]=u>>>8,l[r+2|0]=u>>>16,l[r+3|0]=u>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+22|0]=0,A=s[3025]|s[3026]<<8|(s[3027]<<16|s[3028]<<24),u=s[3021]|s[3022]<<8|(s[3023]<<16|s[3024]<<24),l[r+14|0]=u,l[r+15|0]=u>>>8,l[r+16|0]=u>>>16,l[r+17|0]=u>>>24,l[r+18|0]=A,l[r+19|0]=A>>>8,l[r+20|0]=A>>>16,l[r+21|0]=A>>>24,A=s[3019]|s[3020]<<8|(s[3021]<<16|s[3022]<<24),u=s[3015]|s[3016]<<8|(s[3017]<<16|s[3018]<<24),l[r+8|0]=u,l[r+9|0]=u>>>8,l[r+10|0]=u>>>16,l[r+11|0]=u>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(J,2,100,o+4|0),l[o+15|0]>=0)break w;G(i[o+4>>2]);break w}if(g0(u,32),r=g0(u,8),p2(u,8),(r>>>1&255)-39>>>0>1)break _;if(r=i[u+24>>2],A=r,_=r>>31,r=i[u+8>>2],h=r>>31<<3|r>>>29,w=A,A=r<<3,r=w+A|0,h=h+_|0,h=r>>>0<A>>>0?h+1|0:h,(h|0)<=0&r>>>0<=15|(h|0)<0){if(r=U(24),i[o+4>>2]=r,i[o+8>>2]=22,i[o+12>>2]=-2147483624,A=s[3011]|s[3012]<<8|(s[3013]<<16|s[3014]<<24),u=s[3007]|s[3008]<<8|(s[3009]<<16|s[3010]<<24),l[r|0]=u,l[r+1|0]=u>>>8,l[r+2|0]=u>>>16,l[r+3|0]=u>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+22|0]=0,A=s[3025]|s[3026]<<8|(s[3027]<<16|s[3028]<<24),u=s[3021]|s[3022]<<8|(s[3023]<<16|s[3024]<<24),l[r+14|0]=u,l[r+15|0]=u>>>8,l[r+16|0]=u>>>16,l[r+17|0]=u>>>24,l[r+18|0]=A,l[r+19|0]=A>>>8,l[r+20|0]=A>>>16,l[r+21|0]=A>>>24,A=s[3019]|s[3020]<<8|(s[3021]<<16|s[3022]<<24),u=s[3015]|s[3016]<<8|(s[3017]<<16|s[3018]<<24),l[r+8|0]=u,l[r+9|0]=u>>>8,l[r+10|0]=u>>>16,l[r+11|0]=u>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(J,2,100,o+4|0),l[o+15|0]>=0)break w;G(i[o+4>>2]);break w}if(r=g0(u,8),g0(u,8),(r&255)!=177)break _;_=B-48|0,B=_,w=o+4|0,r=w,i[r>>2]=0,i[r+4>>2]=0,h=r+8|0,r=h,i[r>>2]=0,i[r+4>>2]=0,i[r+16>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,r=U(80),i[r+16>>2]=0,i[r+20>>2]=0,i[r+24>>2]=0,i[r+28>>2]=0,i[r>>2]=74312,i[r+4>>2]=0,i[r+8>>2]=0,i[r+72>>2]=0,i[r+76>>2]=0,i[r+16>>2]=74352,i[r+32>>2]=0,i[r+36>>2]=0,i[r+40>>2]=0,i[r+44>>2]=0,i[r+48>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[r+60>>2]=0,A=r- -64|0,i[A>>2]=0,i[A+4>>2]=0,l[r+24|0]=1,A=g0(u,1),l[r+25|0]=A,s2=r,W2=g0(u,1),l[s2+26|0]=W2,v=g0(u,1),l[r+27|0]=v,z=g0(u,1),l[r+28|0]=z;v:{Z:{m:{if(!g1(u,_+44|0)){if(A=U(48),i[_+12>>2]=A,i[_+16>>2]=42,i[_+20>>2]=-2147483600,u=s[2744]|s[2745]<<8,l[A+40|0]=u,l[A+41|0]=u>>>8,u=s[2740]|s[2741]<<8|(s[2742]<<16|s[2743]<<24),v=s[2736]|s[2737]<<8|(s[2738]<<16|s[2739]<<24),l[A+32|0]=v,l[A+33|0]=v>>>8,l[A+34|0]=v>>>16,l[A+35|0]=v>>>24,l[A+36|0]=u,l[A+37|0]=u>>>8,l[A+38|0]=u>>>16,l[A+39|0]=u>>>24,u=s[2732]|s[2733]<<8|(s[2734]<<16|s[2735]<<24),v=s[2728]|s[2729]<<8|(s[2730]<<16|s[2731]<<24),l[A+24|0]=v,l[A+25|0]=v>>>8,l[A+26|0]=v>>>16,l[A+27|0]=v>>>24,l[A+28|0]=u,l[A+29|0]=u>>>8,l[A+30|0]=u>>>16,l[A+31|0]=u>>>24,u=s[2724]|s[2725]<<8|(s[2726]<<16|s[2727]<<24),v=s[2720]|s[2721]<<8|(s[2722]<<16|s[2723]<<24),l[A+16|0]=v,l[A+17|0]=v>>>8,l[A+18|0]=v>>>16,l[A+19|0]=v>>>24,l[A+20|0]=u,l[A+21|0]=u>>>8,l[A+22|0]=u>>>16,l[A+23|0]=u>>>24,u=s[2716]|s[2717]<<8|(s[2718]<<16|s[2719]<<24),v=s[2712]|s[2713]<<8|(s[2714]<<16|s[2715]<<24),l[A+8|0]=v,l[A+9|0]=v>>>8,l[A+10|0]=v>>>16,l[A+11|0]=v>>>24,l[A+12|0]=u,l[A+13|0]=u>>>8,l[A+14|0]=u>>>16,l[A+15|0]=u>>>24,u=s[2708]|s[2709]<<8|(s[2710]<<16|s[2711]<<24),v=s[2704]|s[2705]<<8|(s[2706]<<16|s[2707]<<24),l[A|0]=v,l[A+1|0]=v>>>8,l[A+2|0]=v>>>16,l[A+3|0]=v>>>24,l[A+4|0]=u,l[A+5|0]=u>>>8,l[A+6|0]=u>>>16,l[A+7|0]=u>>>24,l[A+42|0]=0,A=r0(_+24|0,2,2006,_+12|0),u=i[A+4>>2],i[h>>2]=i[A>>2],i[h+4>>2]=u,l[w+27|0]<0&&G(i[w+16>>2]),u=i[A+12>>2],i[w+16>>2]=i[A+8>>2],i[w+20>>2]=u,i[w+24>>2]=i[A+16>>2],l[A+19|0]=0,l[A+8|0]=0,l[_+23|0]>=0)break m;G(i[_+12>>2]);break m}if(q=i[_+44>>2],q>>>0>=4){if(A=U(48),i[_+12>>2]=A,i[_+16>>2]=44,i[_+20>>2]=-2147483600,u=s[10456]|s[10457]<<8|(s[10458]<<16|s[10459]<<24),l[A+40|0]=u,l[A+41|0]=u>>>8,l[A+42|0]=u>>>16,l[A+43|0]=u>>>24,u=s[10452]|s[10453]<<8|(s[10454]<<16|s[10455]<<24),v=s[10448]|s[10449]<<8|(s[10450]<<16|s[10451]<<24),l[A+32|0]=v,l[A+33|0]=v>>>8,l[A+34|0]=v>>>16,l[A+35|0]=v>>>24,l[A+36|0]=u,l[A+37|0]=u>>>8,l[A+38|0]=u>>>16,l[A+39|0]=u>>>24,u=s[10444]|s[10445]<<8|(s[10446]<<16|s[10447]<<24),v=s[10440]|s[10441]<<8|(s[10442]<<16|s[10443]<<24),l[A+24|0]=v,l[A+25|0]=v>>>8,l[A+26|0]=v>>>16,l[A+27|0]=v>>>24,l[A+28|0]=u,l[A+29|0]=u>>>8,l[A+30|0]=u>>>16,l[A+31|0]=u>>>24,u=s[10436]|s[10437]<<8|(s[10438]<<16|s[10439]<<24),v=s[10432]|s[10433]<<8|(s[10434]<<16|s[10435]<<24),l[A+16|0]=v,l[A+17|0]=v>>>8,l[A+18|0]=v>>>16,l[A+19|0]=v>>>24,l[A+20|0]=u,l[A+21|0]=u>>>8,l[A+22|0]=u>>>16,l[A+23|0]=u>>>24,u=s[10428]|s[10429]<<8|(s[10430]<<16|s[10431]<<24),v=s[10424]|s[10425]<<8|(s[10426]<<16|s[10427]<<24),l[A+8|0]=v,l[A+9|0]=v>>>8,l[A+10|0]=v>>>16,l[A+11|0]=v>>>24,l[A+12|0]=u,l[A+13|0]=u>>>8,l[A+14|0]=u>>>16,l[A+15|0]=u>>>24,u=s[10420]|s[10421]<<8|(s[10422]<<16|s[10423]<<24),v=s[10416]|s[10417]<<8|(s[10418]<<16|s[10419]<<24),l[A|0]=v,l[A+1|0]=v>>>8,l[A+2|0]=v>>>16,l[A+3|0]=v>>>24,l[A+4|0]=u,l[A+5|0]=u>>>8,l[A+6|0]=u>>>16,l[A+7|0]=u>>>24,l[A+44|0]=0,A=r0(_+24|0,2,2006,_+12|0),u=i[A+4>>2],i[h>>2]=i[A>>2],i[h+4>>2]=u,l[w+27|0]<0&&G(i[w+16>>2]),u=i[A+12>>2],i[w+16>>2]=i[A+8>>2],i[w+20>>2]=u,i[w+24>>2]=i[A+16>>2],l[A+19|0]=0,l[A+8|0]=0,l[_+23|0]>=0)break m;G(i[_+12>>2]);break m}if(i[r+64>>2]=q,(v|z)&255){if(!g1(u,_+8|0)){if(A=U(48),i[_+12>>2]=A,i[_+16>>2]=41,i[_+20>>2]=-2147483600,l[A+40|0]=s[2702],u=s[2698]|s[2699]<<8|(s[2700]<<16|s[2701]<<24),v=s[2694]|s[2695]<<8|(s[2696]<<16|s[2697]<<24),l[A+32|0]=v,l[A+33|0]=v>>>8,l[A+34|0]=v>>>16,l[A+35|0]=v>>>24,l[A+36|0]=u,l[A+37|0]=u>>>8,l[A+38|0]=u>>>16,l[A+39|0]=u>>>24,u=s[2690]|s[2691]<<8|(s[2692]<<16|s[2693]<<24),v=s[2686]|s[2687]<<8|(s[2688]<<16|s[2689]<<24),l[A+24|0]=v,l[A+25|0]=v>>>8,l[A+26|0]=v>>>16,l[A+27|0]=v>>>24,l[A+28|0]=u,l[A+29|0]=u>>>8,l[A+30|0]=u>>>16,l[A+31|0]=u>>>24,u=s[2682]|s[2683]<<8|(s[2684]<<16|s[2685]<<24),v=s[2678]|s[2679]<<8|(s[2680]<<16|s[2681]<<24),l[A+16|0]=v,l[A+17|0]=v>>>8,l[A+18|0]=v>>>16,l[A+19|0]=v>>>24,l[A+20|0]=u,l[A+21|0]=u>>>8,l[A+22|0]=u>>>16,l[A+23|0]=u>>>24,u=s[2674]|s[2675]<<8|(s[2676]<<16|s[2677]<<24),v=s[2670]|s[2671]<<8|(s[2672]<<16|s[2673]<<24),l[A+8|0]=v,l[A+9|0]=v>>>8,l[A+10|0]=v>>>16,l[A+11|0]=v>>>24,l[A+12|0]=u,l[A+13|0]=u>>>8,l[A+14|0]=u>>>16,l[A+15|0]=u>>>24,u=s[2666]|s[2667]<<8|(s[2668]<<16|s[2669]<<24),v=s[2662]|s[2663]<<8|(s[2664]<<16|s[2665]<<24),l[A|0]=v,l[A+1|0]=v>>>8,l[A+2|0]=v>>>16,l[A+3|0]=v>>>24,l[A+4|0]=u,l[A+5|0]=u>>>8,l[A+6|0]=u>>>16,l[A+7|0]=u>>>24,l[A+41|0]=0,A=r0(_+24|0,2,2006,_+12|0),u=i[A+4>>2],i[h>>2]=i[A>>2],i[h+4>>2]=u,l[w+27|0]<0&&G(i[w+16>>2]),u=i[A+12>>2],i[w+16>>2]=i[A+8>>2],i[w+20>>2]=u,i[w+24>>2]=i[A+16>>2],l[A+19|0]=0,l[A+8|0]=0,l[_+23|0]<0&&G(i[_+12>>2]),A=i[r+4>>2],i[r+4>>2]=A-1,!A)break Z;break v}i[r+68>>2]=i[_+8>>2],A=s[r+25|0]}if(A&255){h=g0(u,1),A=g0(u,7),v=g0(u,5),z=v+1|0,E=+(g0(u,z)|0);B:{if((A|0)>0){H=M1(1,z),E=M1(1,A-31|0)*(E/H+1);break B}E=M1(1,-31-v|0)*E}i0[r+32>>3]=h?-E:E}if(s[r+26|0]){h=g0(u,1),A=g0(u,7),v=g0(u,5),z=v+1|0,E=+(g0(u,z)|0);B:{if((A|0)>0){H=M1(1,z),E=M1(1,A-31|0)*(E/H+1);break B}E=M1(1,-31-v|0)*E}i0[r+40>>3]=h?-E:E}if(s[r+27|0]){h=g0(u,1),A=g0(u,7),v=g0(u,5),z=v+1|0,E=+(g0(u,z)|0);B:{if((A|0)>0){H=M1(1,z),E=M1(1,A-31|0)*(E/H+1);break B}E=M1(1,-31-v|0)*E}i0[r+48>>3]=h?-E:E}if(s[r+28|0]){h=g0(u,1),A=g0(u,7),q=u,u=g0(u,5),v=u+1|0,E=+(g0(q,v)|0);B:{if((A|0)>0){H=M1(1,v),E=M1(1,A-31|0)*(E/H+1);break B}E=M1(1,-31-u|0)*E}i0[r+56>>3]=h?-E:E}if(i[r+4>>2]=i[r+4>>2]+1,i[w>>2]=r+16,A=i[w+4>>2],i[w+4>>2]=r,!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break m;V[i[i[A>>2]+8>>2]](A),g(A)}if(A=i[r+4>>2],i[r+4>>2]=A-1,A)break v}V[i[i[r>>2]+8>>2]](r),g(r)}if(B=_+48|0,i[o+12>>2]){r=i[o+16>>2],i[J>>2]=i[o+12>>2],i[J+4>>2]=r,r=J+8|0;v:{if(l[o+31|0]>=0){A=i[o+24>>2],i[r>>2]=i[o+20>>2],i[r+4>>2]=A,i[r+8>>2]=i[o+28>>2];break v}_0(r,i[o+20>>2],i[o+24>>2])}it(o+4|0);break w}r=o+4|0,A=i[S+4>>2];v:{if(A>>>0<k0[S+8>>2]){i[A>>2]=i[r>>2],u=i[r+4>>2],i[A+4>>2]=u,u&&(i[u+4>>2]=i[u+4>>2]+1),i[S+4>>2]=A+8;break v}s2=S,W2=Q2(S,r),i[s2+4>>2]=W2}it(r)}if(r=i[19565],i[J>>2]=i[19564],i[J+4>>2]=r,r=J+8|0,l[78275]>=0){A=i[19567],i[r>>2]=i[19566],i[r+4>>2]=A,i[r+8>>2]=i[19568];break w}_0(r,i[19566],i[19567])}if(B=o+96|0,r=i[t+84>>2],i[t+224>>2]=i[t+80>>2],i[t+228>>2]=r,l[t+243|0]<0&&G(i[t+232>>2]),r=i[a+4>>2],i[t+232>>2]=i[a>>2],i[t+236>>2]=r,i[t+240>>2]=i[a+8>>2],A=i[t+32>>2],_=i[t+36>>2],(A|0)!=(_|0)){for(;;){r=i[A>>2];w:{if(!r||(r=N0(r,72688,72704),!r))break w;if(u=i[A+4>>2],!u){o=i[y>>2],l[o+72|0]=1,u=i[r+12>>2],i[o+80>>2]=i[r+8>>2],i[o+84>>2]=u,u=i[r+20>>2],i[o+88>>2]=i[r+16>>2],i[o+92>>2]=u,u=i[r+28>>2],i[o+96>>2]=i[r+24>>2],i[o+100>>2]=u,u=i[r+36>>2],i[o+104>>2]=i[r+32>>2],i[o+108>>2]=u,u=i[r+44>>2],i[o+112>>2]=i[r+40>>2],i[o+116>>2]=u,u=i[r+52>>2],i[o+120>>2]=i[r+48>>2],i[o+124>>2]=u,u=i[r+60>>2],i[o+128>>2]=i[r+56>>2],i[o+132>>2]=u;break w}if(i[u+4>>2]=i[u+4>>2]+1,o=i[y>>2],l[o+72|0]=1,w=i[r+12>>2],i[o+80>>2]=i[r+8>>2],i[o+84>>2]=w,w=i[r+20>>2],i[o+88>>2]=i[r+16>>2],i[o+92>>2]=w,w=i[r+28>>2],i[o+96>>2]=i[r+24>>2],i[o+100>>2]=w,w=i[r+36>>2],i[o+104>>2]=i[r+32>>2],i[o+108>>2]=w,w=i[r+44>>2],i[o+112>>2]=i[r+40>>2],i[o+116>>2]=w,w=i[r+52>>2],i[o+120>>2]=i[r+48>>2],i[o+124>>2]=w,w=i[r+60>>2],i[o+128>>2]=i[r+56>>2],i[o+132>>2]=w,r=i[u+4>>2],i[u+4>>2]=r-1,r)break w;V[i[i[u>>2]+8>>2]](u),g(u)}if(A=A+8|0,(_|0)==(A|0))break}A=i[t+32>>2]}if(A){if(w=A,r=i[t+36>>2],(A|0)!=(r|0)){for(;;){o=i[r-4>>2];w:{if(!o||(u=i[o+4>>2],i[o+4>>2]=u-1,u))break w;V[i[i[o>>2]+8>>2]](o),g(o)}if(r=r-8|0,(A|0)==(r|0))break}w=i[t+32>>2]}i[t+36>>2]=A,G(w)}if(r=i[t+44>>2],!r)break h;i[t+48>>2]=r,G(r)}if(Z=Z+4|0,(n2|0)==(Z|0))break}}o=i[y>>2],l[o+136|0]=1,r=o+140|0;s:{if((r|0)==(W|0))break s;if(A=l[p+67|0],l[o+151|0]>=0){if((A|0)>=0){A=i[W+4>>2],i[r>>2]=i[W>>2],i[r+4>>2]=A,i[r+8>>2]=i[W+8>>2];break s}i4(r,i[p+56>>2],i[p+60>>2]);break s}h=r,r=(A|0)<0,_4(h,r?i[p+56>>2]:W,r?i[p+60>>2]:A)}if(p=i[t+56>>2],_=i[t+60>>2],(p|0)==(_|0)){Z=0;break u}for(;;){o=i[p>>2];s:{h:{r=I,A=i[r>>2];w:{if(!A)break w;for(;u=o>>>0>k0[A+16>>2],r=u?r:A,A=i[(u<<2)+A>>2],!!A;);if((r|0)==(I|0))break w;if(o>>>0>=k0[r+16>>2])break h}if(ne(i[e+48>>2],o))break s;r=U(40),i[t+80>>2]=r,i[t+84>>2]=33,i[t+88>>2]=-2147483608,A=s[13397]|s[13398]<<8|(s[13399]<<16|s[13400]<<24),o=s[13393]|s[13394]<<8|(s[13395]<<16|s[13396]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+33|0]=0,l[r+32|0]=s[13425],A=s[13421]|s[13422]<<8|(s[13423]<<16|s[13424]<<24),o=s[13417]|s[13418]<<8|(s[13419]<<16|s[13420]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[13413]|s[13414]<<8|(s[13415]<<16|s[13416]<<24),o=s[13409]|s[13410]<<8|(s[13411]<<16|s[13412]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[13405]|s[13406]<<8|(s[13407]<<16|s[13408]<<24),o=s[13401]|s[13402]<<8|(s[13403]<<16|s[13404]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),Z=1;break l}if(u=i[y>>2],A=i[r+20>>2],(u|0)==(A|0)){r=U(32),i[t+80>>2]=r,i[t+84>>2]=28,i[t+88>>2]=-2147483616,A=s[12455]|s[12456]<<8|(s[12457]<<16|s[12458]<<24),o=s[12451]|s[12452]<<8|(s[12453]<<16|s[12454]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+28|0]=0,A=s[12475]|s[12476]<<8|(s[12477]<<16|s[12478]<<24),l[r+24|0]=A,l[r+25|0]=A>>>8,l[r+26|0]=A>>>16,l[r+27|0]=A>>>24,A=s[12471]|s[12472]<<8|(s[12473]<<16|s[12474]<<24),o=s[12467]|s[12468]<<8|(s[12469]<<16|s[12470]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[12463]|s[12464]<<8|(s[12465]<<16|s[12466]<<24),o=s[12459]|s[12460]<<8|(s[12461]<<16|s[12462]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),Z=1;break l}r=i[k+24>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[t+84>>2]=r,i[t+80>>2]=u,o=i[A+156>>2];h:{if(o>>>0<k0[A+160>>2]){i[o+4>>2]=r,i[o>>2]=u,i[A+156>>2]=o+8;break h}if(o=z2(A+152|0,t+80|0),r=i[t+84>>2],i[A+156>>2]=o,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break h;V[i[i[r>>2]+8>>2]](r),g(r)}VA(e,y)}if(p=p+4|0,(_|0)==(p|0))break}Z=0}p=i[t+56>>2]}if(!p)break o;G(p)}if(!n||(r=i[n+4>>2],i[n+4>>2]=r-1,r))break t;V[i[i[n>>2]+8>>2]](n),g(n)}if(l[t+243|0]<0&&G(i[t+232>>2]),n=i[t+68>>2],n){if(r=n,A=i[t+72>>2],(r|0)!=(A|0)){for(;;){r=i[A-4>>2];t:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break t;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(n|0)==(A|0))break}r=i[t+68>>2]}i[t+72>>2]=n,G(r)}if(Z)break k}if(C=C+56|0,(r2|0)==(C|0))break}Z=14}C=i[t+248>>2]}if(C){if(r=C,A=i[t+252>>2],(r|0)!=(A|0)){for(;r=i[A-12>>2],r&&(i[A-8>>2]=r,G(r)),r=A-56|0,i[r>>2]=68500,n=i[A-36>>2],n&&(i[A-32>>2]=n,G(n)),A=r,(r|0)!=(C|0););r=i[t+248>>2]}i[t+252>>2]=C,G(r)}f:{if((Z|0)!=14){if((Z|0)==12)break f;break A}r=k,A=i[r+4>>2];k:{if(A){for(;;)if(k=A,A=i[A>>2],!A)break k}for(;k=i[r+8>>2],A=i[k>>2]!=(r|0),r=k,!!A;);}if((k|0)!=(I|0))continue}break}k=i[e+16>>2]}f:{if((k|0)!=(I|0)){for(;;){fe(t+224|0,i[e+48>>2],i[i[k+20>>2]+20>>2]),A=i[t+224>>2],w=i[A+68>>2],r=l[A+75|0],n=(r|0)<0;k:{if(((n?w:r)|0)!=4||(n=n?i[A+64>>2]:A- -64|0,(s[n|0]|s[n+1|0]<<8|(s[n+2|0]<<16|s[n+3|0]<<24))!=828601960))break k;A=i[e+48>>2],i[t+248>>2]=i[A+52>>2],r=i[A+56>>2],i[t+252>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1,A=i[e+48>>2]),n=i[A+44>>2],r=i[A+48>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),p4(t+80|0,n,i[i[k+20>>2]+20>>2],t+248|0,1752589123),n=i[t+80>>2],A=i[t+84>>2];n:{if(!A||(o=i[A+4>>2],i[A+4>>2]=o-1,o))break n;V[i[i[A>>2]+8>>2]](A),g(A)}if(!n){e=U(40),i[t+80>>2]=e,i[t+84>>2]=35,i[t+88>>2]=-2147483608,k=s[11019]|s[11020]<<8|(s[11021]<<16|s[11022]<<24),A=s[11015]|s[11016]<<8|(s[11017]<<16|s[11018]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=k,l[e+5|0]=k>>>8,l[e+6|0]=k>>>16,l[e+7|0]=k>>>24,l[e+35|0]=0,k=s[11046]|s[11047]<<8|(s[11048]<<16|s[11049]<<24),l[e+31|0]=k,l[e+32|0]=k>>>8,l[e+33|0]=k>>>16,l[e+34|0]=k>>>24,k=s[11043]|s[11044]<<8|(s[11045]<<16|s[11046]<<24),A=s[11039]|s[11040]<<8|(s[11041]<<16|s[11042]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=k,l[e+29|0]=k>>>8,l[e+30|0]=k>>>16,l[e+31|0]=k>>>24,k=s[11035]|s[11036]<<8|(s[11037]<<16|s[11038]<<24),A=s[11031]|s[11032]<<8|(s[11033]<<16|s[11034]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=k,l[e+21|0]=k>>>8,l[e+22|0]=k>>>16,l[e+23|0]=k>>>24,k=s[11027]|s[11028]<<8|(s[11029]<<16|s[11030]<<24),A=s[11023]|s[11024]<<8|(s[11025]<<16|s[11026]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=k,l[e+13|0]=k>>>8,l[e+14|0]=k>>>16,l[e+15|0]=k>>>24,r0(f,2,106,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]);n:{if(!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(f=i[t+252>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break f;V[i[i[f>>2]+8>>2]](f),g(f);break f}n:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break n;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[t+252>>2];n:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break n;V[i[i[r>>2]+8>>2]](r),g(r)}A=i[t+224>>2],r=s[A+75|0],w=i[A+68>>2]}h=r,r=r<<24>>24<0;k:{if(((r?w:h)|0)!=4||(r=r?i[A+64>>2]:A- -64|0,(s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24))!=828601974))break k;A=i[e+48>>2],i[t+248>>2]=i[A+52>>2],r=i[A+56>>2],i[t+252>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1,A=i[e+48>>2]),n=i[A+44>>2],r=i[A+48>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),p4(t+80|0,n,i[i[k+20>>2]+20>>2],t+248|0,1987470147),n=i[t+80>>2],A=i[t+84>>2];n:{if(!A||(o=i[A+4>>2],i[A+4>>2]=o-1,o))break n;V[i[i[A>>2]+8>>2]](A),g(A)}if(!n){e=U(40),i[t+80>>2]=e,i[t+84>>2]=35,i[t+88>>2]=-2147483608,k=s[10983]|s[10984]<<8|(s[10985]<<16|s[10986]<<24),A=s[10979]|s[10980]<<8|(s[10981]<<16|s[10982]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=k,l[e+5|0]=k>>>8,l[e+6|0]=k>>>16,l[e+7|0]=k>>>24,l[e+35|0]=0,k=s[11010]|s[11011]<<8|(s[11012]<<16|s[11013]<<24),l[e+31|0]=k,l[e+32|0]=k>>>8,l[e+33|0]=k>>>16,l[e+34|0]=k>>>24,k=s[11007]|s[11008]<<8|(s[11009]<<16|s[11010]<<24),A=s[11003]|s[11004]<<8|(s[11005]<<16|s[11006]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=k,l[e+29|0]=k>>>8,l[e+30|0]=k>>>16,l[e+31|0]=k>>>24,k=s[10999]|s[11e3]<<8|(s[11001]<<16|s[11002]<<24),A=s[10995]|s[10996]<<8|(s[10997]<<16|s[10998]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=k,l[e+21|0]=k>>>8,l[e+22|0]=k>>>16,l[e+23|0]=k>>>24,k=s[10991]|s[10992]<<8|(s[10993]<<16|s[10994]<<24),A=s[10987]|s[10988]<<8|(s[10989]<<16|s[10990]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=k,l[e+13|0]=k>>>8,l[e+14|0]=k>>>16,l[e+15|0]=k>>>24,r0(f,2,141,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]);n:{if(!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(f=i[t+252>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break f;V[i[i[f>>2]+8>>2]](f),g(f);break f}n:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[t+252>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break k;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[t+228>>2];k:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break k;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[k+4>>2];k:{if(r){for(;;)if(A=r,r=i[r>>2],!r)break k}for(;A=i[k+8>>2],r=i[A>>2]!=(k|0),k=A,!!r;);}if(k=A,(A|0)==(I|0))break}k=i[e+16>>2]}k:{if((k|0)==(I|0))break k;for(;;){n=i[k+16>>2],fe(t+224|0,i[e+48>>2],n),A=i[t+224>>2],r=A?30:31;n:{if(!R|!A)break n;o=l[A+75|0],r=(o|0)<0;t:{if(((r?i[A+68>>2]:o)|0)!=4||(r=r?i[A+64>>2]:A- -64|0,(s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24))!=1684632167))break t;oi(t+80|0,R,n),w=i[t+80>>2];o:{if((w|0)==i[t+84>>2]){r=31;break o}r=31,A=i[I>>2];u:{if(!A)break u;for(n=i[w>>2],w=I;o=n>>>0>k0[A+16>>2],w=o?w:A,A=i[(o<<2)+A>>2],!!A;);if((w|0)==(I|0)|n>>>0<k0[w+16>>2])break u;n=i[w+20>>2],A=i[w+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),r=i[k+20>>2];l:{if(i[r+184>>2]||(o=i[n+184>>2],!o))break l;i[t+248>>2]=o,o=i[n+188>>2],i[t+252>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),jA(r,t+248|0),r=i[t+252>>2];s:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break s;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[k+20>>2]}l:{if(i[r+176>>2]||(o=i[n+176>>2],!o)||(i[t+248>>2]=o,n=i[n+180>>2],i[t+252>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),jA(r,t+248|0),r=i[t+252>>2],!r)||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break l;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=0,!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break u;V[i[i[A>>2]+8>>2]](A),g(A)}w=i[t+80>>2]}if(w&&(i[t+84>>2]=w,G(w)),r)break n}r=0}A=i[t+228>>2];n:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break n;V[i[i[A>>2]+8>>2]](A),g(A)}if(r&&(r|0)!=31)break k;r=i[k+4>>2];n:{if(r){for(;;)if(A=r,r=i[r>>2],!r)break n}for(;A=i[k+8>>2],r=i[A>>2]!=(k|0),k=A,!!r;);}if(k=A,(A|0)==(I|0))break}}k:{p=i[t+260>>2],h=i[t+264>>2];n:{if((p|0)==(h|0))break n;for(;;){n=t+224|0,A=i[p>>2],W6(n,i[e+48>>2],A),r=l[t+235|0],k=(r|0)<0;t:{if(((k?i[t+228>>2]:r)|0)==4&&(Z=33,k=k?i[t+224>>2]:n,w=s[k+1|0]<<8,o=s[k+2|0]<<16|s[k+3|0]<<24,(s[k|0]|w|o)==1851877234|(o|(w|s[k|0]))==1852138601))break t;cr(t+248|0,i[e+48>>2],A),n=t+68|0,r=0;o:{u:{o=i[e+48>>2],k=i[o+112>>2];l:{if(!k)break l;for(o=o+112|0,w=o;r=A>>>0>k0[k+16>>2],w=r?w:k,k=i[(r<<2)+k>>2],!!k;);if(r=0,(o|0)==(w|0)|A>>>0<k0[w+16>>2])break l;if(k=i[w+20>>2],r=i[w+24>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),k)break u}l[n|0]=0,l[n+11|0]=0;break o}if(l[k+123|0]>=0){o=i[k+116>>2],i[n>>2]=i[k+112>>2],i[n+4>>2]=o,i[n+8>>2]=i[k+120>>2];break o}_0(n,i[k+112>>2],i[k+116>>2])}o:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break o;V[i[i[r>>2]+8>>2]](r),g(r)}k=U(64),r=k,i[r+16>>2]=0,i[r+20>>2]=0,i[r>>2]=72744,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=A,i[r+24>>2]=0,i[r+28>>2]=0,i[r+32>>2]=0,i[r+36>>2]=0,n=r+40|0,r=n,i[r>>2]=0,i[r+4>>2]=0,i[k+48>>2]=0,i[k+52>>2]=0,i[k+56>>2]=0,i[k+60>>2]=0,r=k+16|0;o:{u:{l:{s:{if(l[t+235|0]>=0){if(o=i[t+228>>2],i[r>>2]=i[t+224>>2],i[r+4>>2]=o,i[r+8>>2]=i[t+232>>2],r=k+28|0,l[t+259|0]>=0)break s;break u}if(i4(r,i[t+224>>2],i[t+228>>2]),r=k+28|0,o=l[t+259|0],l[k+39|0]<0)break l;if((o|0)<0)break u}o=i[t+252>>2],i[r>>2]=i[t+248>>2],i[r+4>>2]=o,i[r+8>>2]=i[t+256>>2];break o}w=r,r=(o|0)<0,_4(w,r?i[t+248>>2]:t+248|0,r?i[t+252>>2]:o);break o}i4(r,i[t+248>>2],i[t+252>>2])}r=l[t+79|0];o:{if(l[k+51|0]>=0){if((r|0)>=0){r=i[t+72>>2],i[n>>2]=i[t+68>>2],i[n+4>>2]=r,i[n+8>>2]=i[t+76>>2];break o}i4(n,i[t+68>>2],i[t+72>>2]);break o}w=n,n=(r|0)<0,_4(w,n?i[t+68>>2]:t+68|0,n?i[t+72>>2]:r)}w8(t+80|0,i[e+48>>2],A,k+52|0);o:{if(i[t+80>>2]){if(Z=33,A=l[t+235|0],r=(A|0)<0,((r?i[t+228>>2]:A)|0)!=4||(r=r?i[t+224>>2]:t+224|0,A=s[r+1|0]<<8,w=s[r+2|0]<<16|s[r+3|0]<<24,(s[r|0]|A|w)!=1718188101&(w|(A|s[r|0]))!=1701669229))break o;r=i[t+84>>2],i[f>>2]=i[t+80>>2],i[f+4>>2]=r,i[f+16>>2]=i[t+96>>2],r=i[t+92>>2],i[f+8>>2]=i[t+88>>2],i[f+12>>2]=r,i[t+88>>2]=0,i[t+92>>2]=0,i[t+96>>2]=0,Z=1;break o}if(R){oe(t+56|0,R,A),n=i[t+56>>2],w=i[t+60>>2];u:{if((n|0)!=(w|0)){u=k+12|0;l:{for(;;){r=i[n+16>>2];s:{if((r|0)!=1886545261){if((r|0)!=1667527523||(i[t+52>>2]=0,i[t+44>>2]=0,i[t+48>>2]=0,o=i[n+48>>2],r=i[n+44>>2],(o|0)==(r|0)))break s;if(A=o-r|0,(A|0)<0)break r;C=U(A),i[t+44>>2]=C,_=A+C|0,i[t+52>>2]=_,l0(C,r,A),i[t+48>>2]=_;h:{w:{if((r|0)==(o|0)){A=0;break w}_:{for(;;){o=i[C>>2];v:{Z:{r=I,A=i[r>>2];m:{if(!A)break m;for(;Z=o>>>0>k0[A+16>>2],r=Z?r:A,A=i[(Z<<2)+A>>2],!!A;);if((r|0)==(I|0))break m;if(o>>>0>=k0[r+16>>2])break Z}if(ne(i[e+48>>2],o))break v;r=U(40),i[t+32>>2]=r,i[t+36>>2]=39,i[t+40>>2]=-2147483608,A=s[10858]|s[10859]<<8|(s[10860]<<16|s[10861]<<24),o=s[10854]|s[10855]<<8|(s[10856]<<16|s[10857]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+39|0]=0,A=s[10889]|s[10890]<<8|(s[10891]<<16|s[10892]<<24),o=s[10885]|s[10886]<<8|(s[10887]<<16|s[10888]<<24),l[r+31|0]=o,l[r+32|0]=o>>>8,l[r+33|0]=o>>>16,l[r+34|0]=o>>>24,l[r+35|0]=A,l[r+36|0]=A>>>8,l[r+37|0]=A>>>16,l[r+38|0]=A>>>24,A=s[10882]|s[10883]<<8|(s[10884]<<16|s[10885]<<24),o=s[10878]|s[10879]<<8|(s[10880]<<16|s[10881]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[10874]|s[10875]<<8|(s[10876]<<16|s[10877]<<24),o=s[10870]|s[10871]<<8|(s[10872]<<16|s[10873]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[10866]|s[10867]<<8|(s[10868]<<16|s[10869]<<24),o=s[10862]|s[10863]<<8|(s[10864]<<16|s[10865]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+32|0),l[t+43|0]<0&&G(i[t+32>>2]),A=1;break _}if(A=i[r+20>>2],i[k+4>>2]=i[k+4>>2]+1,i[t+36>>2]=k,i[t+32>>2]=u,r=i[A+168>>2],r>>>0<k0[A+172>>2]){i[r+4>>2]=k,i[r>>2]=u,i[A+168>>2]=r+8;break v}if(o=z2(A+164|0,t+32|0),r=i[t+36>>2],i[A+168>>2]=o,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break v;V[i[i[r>>2]+8>>2]](r),g(r)}if(C=C+4|0,(_|0)==(C|0))break}A=0}if(C=i[t+44>>2],!C)break h}G(C)}if(!A)break s;Z=1;break l}h:{A=i[I>>2];w:{if(!A)break w;for(o=i[n+40>>2],r=I;_=o>>>0>k0[A+16>>2],r=_?r:A,A=i[(_<<2)+A>>2],!!A;);if((r|0)==(I|0))break w;if(o>>>0>=k0[r+16>>2])break h}r=U(48),i[t+44>>2]=r,i[t+48>>2]=42,i[t+52>>2]=-2147483600,A=s[10815]|s[10816]<<8|(s[10817]<<16|s[10818]<<24),n=s[10811]|s[10812]<<8|(s[10813]<<16|s[10814]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+42|0]=0,A=s[10851]|s[10852]<<8,l[r+40|0]=A,l[r+41|0]=A>>>8,A=s[10847]|s[10848]<<8|(s[10849]<<16|s[10850]<<24),n=s[10843]|s[10844]<<8|(s[10845]<<16|s[10846]<<24),l[r+32|0]=n,l[r+33|0]=n>>>8,l[r+34|0]=n>>>16,l[r+35|0]=n>>>24,l[r+36|0]=A,l[r+37|0]=A>>>8,l[r+38|0]=A>>>16,l[r+39|0]=A>>>24,A=s[10839]|s[10840]<<8|(s[10841]<<16|s[10842]<<24),n=s[10835]|s[10836]<<8|(s[10837]<<16|s[10838]<<24),l[r+24|0]=n,l[r+25|0]=n>>>8,l[r+26|0]=n>>>16,l[r+27|0]=n>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[10831]|s[10832]<<8|(s[10833]<<16|s[10834]<<24),n=s[10827]|s[10828]<<8|(s[10829]<<16|s[10830]<<24),l[r+16|0]=n,l[r+17|0]=n>>>8,l[r+18|0]=n>>>16,l[r+19|0]=n>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[10823]|s[10824]<<8|(s[10825]<<16|s[10826]<<24),n=s[10819]|s[10820]<<8|(s[10821]<<16|s[10822]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+44|0),l[t+55|0]<0&&G(i[t+44>>2]),Z=1;break l}l[i[r+20>>2]+49|0]=1}if(n=n+56|0,(w|0)==(n|0))break}Z=34}n=i[t+56>>2];break u}Z=34}if(n){if(r=n,A=i[t+60>>2],(r|0)!=(A|0)){for(;r=i[A-12>>2],r&&(i[A-8>>2]=r,G(r)),r=A-56|0,i[r>>2]=68500,o=i[A-36>>2],o&&(i[A-32>>2]=o,G(o)),A=r,(r|0)!=(n|0););r=i[t+56>>2]}i[t+60>>2]=n,G(r)}if((Z|0)!=34)break o}Z=0}l[t+99|0]<0&&G(i[t+88>>2]),r=i[k+4>>2],i[k+4>>2]=r-1,r||(V[i[i[k>>2]+8>>2]](k),g(k)),l[t+79|0]<0&&G(i[t+68>>2]),l[t+259|0]<0&&G(i[t+248>>2]),r=s[t+235|0]}r<<24>>24<0&&G(i[t+224>>2]);t:switch(Z-32|0){default:if(Z)break A;case 1:if(p=p+4|0,(h|0)!=(p|0))continue;break;case 0:break t}break}if(C=i[t+260>>2],W=i[t+264>>2],(C|0)==(W|0))break n;for(v=e+72|0;;){k=t+224|0,h=i[C>>2],W6(k,i[e+48>>2],h),A=l[t+235|0],r=(A|0)<0;t:{o:{if(((r?i[t+228>>2]:A)|0)!=4||(r=r?i[t+224>>2]:k,(s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24))!=1851877234))break o;r=U(36),i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=72616,i[r+24>>2]=0,i[r+28>>2]=0,i[r+32>>2]=0,i[t+36>>2]=r,i[t+32>>2]=r+12,i[r+12>>2]=h,i[t+256>>2]=0,i[t+248>>2]=0,i[t+252>>2]=0,w8(t+80|0,i[e+48>>2],h,t+248|0);u:{if(i[t+80>>2]){r=i[t+84>>2],i[f>>2]=i[t+80>>2],i[f+4>>2]=r,i[f+16>>2]=i[t+96>>2],r=i[t+92>>2],i[f+8>>2]=i[t+88>>2],i[f+12>>2]=r,i[t+88>>2]=0,i[t+92>>2]=0,i[t+96>>2]=0,r=1;break u}u=t+12|0,k=i[t+32>>2],A=B-16|0,B=A,_=t+248|0,r=i[_>>2],n=i[_+4>>2]-r|0;l:{if(n>>>0<=7){if(r=U(32),i[A+4>>2]=r,i[A+8>>2]=25,i[A+12>>2]=-2147483616,k=s[14528]|s[14529]<<8|(s[14530]<<16|s[14531]<<24),n=s[14524]|s[14525]<<8|(s[14526]<<16|s[14527]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+25|0]=0,l[r+24|0]=s[14548],k=s[14544]|s[14545]<<8|(s[14546]<<16|s[14547]<<24),n=s[14540]|s[14541]<<8|(s[14542]<<16|s[14543]<<24),l[r+16|0]=n,l[r+17|0]=n>>>8,l[r+18|0]=n>>>16,l[r+19|0]=n>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[14536]|s[14537]<<8|(s[14538]<<16|s[14539]<<24),n=s[14532]|s[14533]<<8|(s[14534]<<16|s[14535]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(u,2,136,A+4|0),l[A+15|0]>=0)break l;G(i[A+4>>2]);break l}Z=l[r+1|0]&1;s:{if(Z){if(n>>>0<=11){if(r=U(24),i[A+4>>2]=r,i[A+8>>2]=22,i[A+12>>2]=-2147483624,k=s[9265]|s[9266]<<8|(s[9267]<<16|s[9268]<<24),n=s[9261]|s[9262]<<8|(s[9263]<<16|s[9264]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+22|0]=0,k=s[9279]|s[9280]<<8|(s[9281]<<16|s[9282]<<24),n=s[9275]|s[9276]<<8|(s[9277]<<16|s[9278]<<24),l[r+14|0]=n,l[r+15|0]=n>>>8,l[r+16|0]=n>>>16,l[r+17|0]=n>>>24,l[r+18|0]=k,l[r+19|0]=k>>>8,l[r+20|0]=k>>>16,l[r+21|0]=k>>>24,k=s[9273]|s[9274]<<8|(s[9275]<<16|s[9276]<<24),n=s[9269]|s[9270]<<8|(s[9271]<<16|s[9272]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(u,2,136,A+4|0),l[A+15|0]>=0)break l;G(i[A+4>>2]);break l}n=s[r+2|0]|s[r+3|0]<<8|(s[r+4|0]<<16|s[r+5|0]<<24),i[k+4>>2]=n<<24|(n&65280)<<8|(n>>>8&65280|n>>>24),p=s[r+7|0]<<16|s[r+6|0]<<24|s[r+8|0]<<8,o=10,n=9;break s}i[k+4>>2]=s[r+3|0]|s[r+2|0]<<8,p=s[r+4|0]<<8,o=6,n=5}if(i[k+8>>2]=s[r+n|0]|p,w=s[r+o|0],i[A>>2]=o|1,w)for(p=Z?32:16,Z=k+12|0,o=0;;){if(r=i[A>>2],n=i[_>>2],r>>>0>=i[_+4>>2]-n>>>0){if(r=U(24),i[A+4>>2]=r,i[A+8>>2]=22,i[A+12>>2]=-2147483624,k=s[9265]|s[9266]<<8|(s[9267]<<16|s[9268]<<24),n=s[9261]|s[9262]<<8|(s[9263]<<16|s[9264]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+22|0]=0,k=s[9279]|s[9280]<<8|(s[9281]<<16|s[9282]<<24),n=s[9275]|s[9276]<<8|(s[9277]<<16|s[9278]<<24),l[r+14|0]=n,l[r+15|0]=n>>>8,l[r+16|0]=n>>>16,l[r+17|0]=n>>>24,l[r+18|0]=k,l[r+19|0]=k>>>8,l[r+20|0]=k>>>16,l[r+21|0]=k>>>24,k=s[9273]|s[9274]<<8|(s[9275]<<16|s[9276]<<24),n=s[9269]|s[9270]<<8|(s[9271]<<16|s[9272]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(u,2,136,A+4|0),l[A+15|0]>=0)break l;G(i[A+4>>2]);break l}n=s[r+n|0],i[A>>2]=r+1;s:{h:{w:switch(n|0){case 0:r=U(24),i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=73408,i[r+12>>2]=73144,i[A+8>>2]=r,i[A+4>>2]=r+12;break h;case 1:r=U(32),i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=73448,i[r+24>>2]=0,i[r+28>>2]=0,i[r+12>>2]=73188,i[A+8>>2]=r,i[A+4>>2]=r+12;break h;case 2:r=U(32),i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=73488,i[r+24>>2]=0,i[r+28>>2]=0,i[r+12>>2]=73232,i[A+8>>2]=r,i[A+4>>2]=r+12;break h;case 3:if(r=U(32),i[r+16>>2]=1,i[r+28>>2]=0,i[r+20>>2]=0,i[r+24>>2]=0,i[r+4>>2]=1,i[r+8>>2]=0,i[r>>2]=73528,i[r+12>>2]=73276,i[A+8>>2]=r,i[A+4>>2]=r+12,n=i[r+4>>2],i[r+4>>2]=n-1,n)break h;V[i[i[r>>2]+8>>2]](r),g(r);break h;case 4:r=U(36),i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=73568,i[r+24>>2]=0,i[r+28>>2]=0,i[r+32>>2]=0,i[r+12>>2]=73320,i[A+8>>2]=r,i[A+4>>2]=r+12;break h;case 5:r=U(44),i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+40>>2]=0,i[r+32>>2]=0,i[r+36>>2]=0,i[r>>2]=73608,i[r+24>>2]=0,i[r+28>>2]=0,i[r+12>>2]=73364,i[A+8>>2]=r,i[A+4>>2]=r+12;break h;case 6:break w;default:break s}if(r=U(32),i[r+16>>2]=0,i[r+28>>2]=0,i[r+20>>2]=0,i[r+24>>2]=0,i[r+4>>2]=1,i[r+8>>2]=0,i[r>>2]=73528,i[r+12>>2]=73276,i[A+8>>2]=r,i[A+4>>2]=r+12,n=i[r+4>>2],i[r+4>>2]=n-1,n)break h;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[A+4>>2],V[i[i[r>>2]+12>>2]](u,r,_,p,A),y=i[u>>2];h:{if(y)break h;r=i[k+16>>2];w:{if(r>>>0<k0[k+20>>2]){i[r>>2]=i[A+4>>2],n=i[A+8>>2],i[r+4>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),r=r+8|0;break w}r=Q2(Z,A+4|0)}if(i[k+16>>2]=r,l[u+19|0]>=0)break h;G(i[u+8>>2])}r=i[A+8>>2];h:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break h;V[i[i[r>>2]+8>>2]](r),g(r)}if(y)break l}if(o=o+1|0,(w|0)==(o|0))break}if(r=i[19565],i[u>>2]=i[19564],i[u+4>>2]=r,r=u+8|0,l[78275]>=0){k=i[19567],i[r>>2]=i[19566],i[r+4>>2]=k,i[r+8>>2]=i[19568];break l}_0(r,i[19566],i[19567])}if(B=A+16|0,l[t+31|0]<0&&G(i[t+20>>2]),R){oe(t+68|0,R,h),o=i[t+68>>2],y=i[t+72>>2];l:{if((o|0)==(y|0)){r=40;break l}s:{for(;;){if(r=i[o+16>>2],(r|0)==1667527523){if(i[t+64>>2]=0,i[t+56>>2]=0,i[t+60>>2]=0,A=i[o+48>>2],r=i[o+44>>2],(A|0)!=(r|0)){if(k=A-r|0,(k|0)<0)break i;if(n=l0(U(k),r,k),(r|0)!=(A|0))for(_=k+n|0,k=n;;){h:{A=i[I>>2];w:{if(!A)break w;for(u=i[k>>2],r=I;w=u>>>0>k0[A+16>>2],r=w?r:A,A=i[(w<<2)+A>>2],!!A;);if((r|0)==(I|0))break w;if(u>>>0>=k0[r+16>>2])break h}r=U(48),i[t+44>>2]=r,i[t+48>>2]=42,i[t+52>>2]=-2147483600,k=s[10772]|s[10773]<<8|(s[10774]<<16|s[10775]<<24),A=s[10768]|s[10769]<<8|(s[10770]<<16|s[10771]<<24),l[r|0]=A,l[r+1|0]=A>>>8,l[r+2|0]=A>>>16,l[r+3|0]=A>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+42|0]=0,k=s[10808]|s[10809]<<8,l[r+40|0]=k,l[r+41|0]=k>>>8,k=s[10804]|s[10805]<<8|(s[10806]<<16|s[10807]<<24),A=s[10800]|s[10801]<<8|(s[10802]<<16|s[10803]<<24),l[r+32|0]=A,l[r+33|0]=A>>>8,l[r+34|0]=A>>>16,l[r+35|0]=A>>>24,l[r+36|0]=k,l[r+37|0]=k>>>8,l[r+38|0]=k>>>16,l[r+39|0]=k>>>24,k=s[10796]|s[10797]<<8|(s[10798]<<16|s[10799]<<24),A=s[10792]|s[10793]<<8|(s[10794]<<16|s[10795]<<24),l[r+24|0]=A,l[r+25|0]=A>>>8,l[r+26|0]=A>>>16,l[r+27|0]=A>>>24,l[r+28|0]=k,l[r+29|0]=k>>>8,l[r+30|0]=k>>>16,l[r+31|0]=k>>>24,k=s[10788]|s[10789]<<8|(s[10790]<<16|s[10791]<<24),A=s[10784]|s[10785]<<8|(s[10786]<<16|s[10787]<<24),l[r+16|0]=A,l[r+17|0]=A>>>8,l[r+18|0]=A>>>16,l[r+19|0]=A>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[10780]|s[10781]<<8|(s[10782]<<16|s[10783]<<24),A=s[10776]|s[10777]<<8|(s[10778]<<16|s[10779]<<24),l[r+8|0]=A,l[r+9|0]=A>>>8,l[r+10|0]=A>>>16,l[r+11|0]=A>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(f,2,2e3,t+44|0),l[t+55|0]<0&&G(i[t+44>>2]),G(n),r=1;break s}y7(i[r+20>>2],h),r=i[e+76>>2];h:{if(r>>>0<k0[e+80>>2]){i[r>>2]=i[t+32>>2],A=i[t+36>>2],i[r+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),r=r+8|0;break h}r=Q2(v,t+32|0)}if(i[e+76>>2]=r,k=k+4|0,(_|0)==(k|0))break}G(n)}r=i[o+16>>2]}if((r|0)==1835103083){if(n=0,i[t+64>>2]=0,i[t+56>>2]=0,i[t+60>>2]=0,A=0,r=i[o+48>>2],k=i[o+44>>2],(r|0)!=(k|0)){if(r=r-k|0,(r|0)<0)break i;A=U(r),i[t+56>>2]=A,u=r+A|0,i[t+64>>2]=u,l0(A,k,r),i[t+60>>2]=u}_=0,r=i[t+32>>2],k=i[r+16>>2],r=i[r+12>>2],w=k-r|0;h:{if((w|0)<=0){r=44;break h}w:{for(;;){if(A=0,i[t+52>>2]=0,i[t+44>>2]=0,i[t+48>>2]=0,Z=0,(r|0)!=(k|0)){if((w|0)<0)break r;for(Z=U(w),i[t+44>>2]=Z,i[t+52>>2]=w+Z,A=Z;i[A>>2]=i[r>>2],u=i[r+4>>2],i[A+4>>2]=u,u&&(i[u+4>>2]=i[u+4>>2]+1),A=A+8|0,r=r+8|0,(k|0)!=(r|0););i[t+48>>2]=A}if(w=n<<3,r=i[w+Z>>2],k=V[i[i[r>>2]+8>>2]](r)|0,r=Z,(A|0)!=(r|0)){for(;;){r=i[A-4>>2];_:{if(!r||(u=i[r+4>>2],i[r+4>>2]=u-1,u))break _;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(Z|0)==(A|0))break}r=i[t+44>>2]}i[t+48>>2]=Z,G(r);_:{if((k|0)!=4)break _;if(p=0,i[t+52>>2]=0,i[t+44>>2]=0,i[t+48>>2]=0,A=0,Z=0,r=i[t+32>>2],k=i[r+16>>2],r=i[r+12>>2],(k|0)!=(r|0)){if(A=k-r|0,(A|0)<0)break k;for(Z=U(A),i[t+44>>2]=Z,i[t+52>>2]=A+Z,A=Z;i[A>>2]=i[r>>2],u=i[r+4>>2],i[A+4>>2]=u,u&&(i[u+4>>2]=i[u+4>>2]+1),A=A+8|0,r=r+8|0,(k|0)!=(r|0););i[t+48>>2]=A}k=0,r=w+Z|0,u=i[r>>2];v:{if(!u)break v;if(k=N0(u,72776,73344),!k){k=0;break v}if(p=i[r+4>>2],!p){p=0;break v}i[p+4>>2]=i[p+4>>2]+1}if(r=Z,(A|0)!=(r|0)){for(;;){r=i[A-4>>2];v:{if(!r||(u=i[r+4>>2],i[r+4>>2]=u-1,u))break v;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(Z|0)==(A|0))break}r=i[t+44>>2]}i[t+48>>2]=Z,G(r),r=i[t+56>>2];v:{if(i[t+60>>2]-r>>2>>>0<=_>>>0){r=U(64),i[t+44>>2]=r,i[t+48>>2]=60,i[t+52>>2]=-2147483584,k=s[11447]|s[11448]<<8|(s[11449]<<16|s[11450]<<24),A=s[11443]|s[11444]<<8|(s[11445]<<16|s[11446]<<24),l[r|0]=A,l[r+1|0]=A>>>8,l[r+2|0]=A>>>16,l[r+3|0]=A>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+60|0]=0,k=s[11499]|s[11500]<<8|(s[11501]<<16|s[11502]<<24),l[r+56|0]=k,l[r+57|0]=k>>>8,l[r+58|0]=k>>>16,l[r+59|0]=k>>>24,k=s[11495]|s[11496]<<8|(s[11497]<<16|s[11498]<<24),A=s[11491]|s[11492]<<8|(s[11493]<<16|s[11494]<<24),l[r+48|0]=A,l[r+49|0]=A>>>8,l[r+50|0]=A>>>16,l[r+51|0]=A>>>24,l[r+52|0]=k,l[r+53|0]=k>>>8,l[r+54|0]=k>>>16,l[r+55|0]=k>>>24,k=s[11487]|s[11488]<<8|(s[11489]<<16|s[11490]<<24),A=s[11483]|s[11484]<<8|(s[11485]<<16|s[11486]<<24),l[r+40|0]=A,l[r+41|0]=A>>>8,l[r+42|0]=A>>>16,l[r+43|0]=A>>>24,l[r+44|0]=k,l[r+45|0]=k>>>8,l[r+46|0]=k>>>16,l[r+47|0]=k>>>24,k=s[11479]|s[11480]<<8|(s[11481]<<16|s[11482]<<24),A=s[11475]|s[11476]<<8|(s[11477]<<16|s[11478]<<24),l[r+32|0]=A,l[r+33|0]=A>>>8,l[r+34|0]=A>>>16,l[r+35|0]=A>>>24,l[r+36|0]=k,l[r+37|0]=k>>>8,l[r+38|0]=k>>>16,l[r+39|0]=k>>>24,k=s[11471]|s[11472]<<8|(s[11473]<<16|s[11474]<<24),A=s[11467]|s[11468]<<8|(s[11469]<<16|s[11470]<<24),l[r+24|0]=A,l[r+25|0]=A>>>8,l[r+26|0]=A>>>16,l[r+27|0]=A>>>24,l[r+28|0]=k,l[r+29|0]=k>>>8,l[r+30|0]=k>>>16,l[r+31|0]=k>>>24,k=s[11463]|s[11464]<<8|(s[11465]<<16|s[11466]<<24),A=s[11459]|s[11460]<<8|(s[11461]<<16|s[11462]<<24),l[r+16|0]=A,l[r+17|0]=A>>>8,l[r+18|0]=A>>>16,l[r+19|0]=A>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[11455]|s[11456]<<8|(s[11457]<<16|s[11458]<<24),A=s[11451]|s[11452]<<8|(s[11453]<<16|s[11454]<<24),l[r+8|0]=A,l[r+9|0]=A>>>8,l[r+10|0]=A>>>16,l[r+11|0]=A>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(f,2,0,t+44|0),l[t+55|0]<0&&G(i[t+44>>2]),r=0;break v}Z:{if(A=i[e+16>>2],(I|0)!=(A|0))for(u=i[r+(_<<2)>>2];;){if((u|0)==i[A+16>>2])break Z;w=A,r=i[A+4>>2];m:{if(r){for(;;)if(A=r,r=i[r>>2],!r)break m}for(;A=i[w+8>>2],r=i[A>>2]!=(w|0),w=A,!!r;);}if((A|0)==(I|0))break}r=U(48),i[t+44>>2]=r,i[t+48>>2]=43,i[t+52>>2]=-2147483600,k=s[10679]|s[10680]<<8|(s[10681]<<16|s[10682]<<24),A=s[10675]|s[10676]<<8|(s[10677]<<16|s[10678]<<24),l[r|0]=A,l[r+1|0]=A>>>8,l[r+2|0]=A>>>16,l[r+3|0]=A>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+43|0]=0,k=s[10714]|s[10715]<<8|(s[10716]<<16|s[10717]<<24),l[r+39|0]=k,l[r+40|0]=k>>>8,l[r+41|0]=k>>>16,l[r+42|0]=k>>>24,k=s[10711]|s[10712]<<8|(s[10713]<<16|s[10714]<<24),A=s[10707]|s[10708]<<8|(s[10709]<<16|s[10710]<<24),l[r+32|0]=A,l[r+33|0]=A>>>8,l[r+34|0]=A>>>16,l[r+35|0]=A>>>24,l[r+36|0]=k,l[r+37|0]=k>>>8,l[r+38|0]=k>>>16,l[r+39|0]=k>>>24,k=s[10703]|s[10704]<<8|(s[10705]<<16|s[10706]<<24),A=s[10699]|s[10700]<<8|(s[10701]<<16|s[10702]<<24),l[r+24|0]=A,l[r+25|0]=A>>>8,l[r+26|0]=A>>>16,l[r+27|0]=A>>>24,l[r+28|0]=k,l[r+29|0]=k>>>8,l[r+30|0]=k>>>16,l[r+31|0]=k>>>24,k=s[10695]|s[10696]<<8|(s[10697]<<16|s[10698]<<24),A=s[10691]|s[10692]<<8|(s[10693]<<16|s[10694]<<24),l[r+16|0]=A,l[r+17|0]=A>>>8,l[r+18|0]=A>>>16,l[r+19|0]=A>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[10687]|s[10688]<<8|(s[10689]<<16|s[10690]<<24),A=s[10683]|s[10684]<<8|(s[10685]<<16|s[10686]<<24),l[r+8|0]=A,l[r+9|0]=A>>>8,l[r+10|0]=A>>>16,l[r+11|0]=A>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(f,2,0,t+44|0),l[t+55|0]<0&&G(i[t+44>>2]),r=0;break v}r=I,A=i[r>>2];Z:{m:{if(!A)break m;for(;w=u>>>0>k0[A+16>>2],r=w?r:A,A=i[(w<<2)+A>>2],!!A;);if((r|0)==(I|0))break m;if(u>>>0>=k0[r+16>>2])break Z}r=I}if(A=i[r+20>>2],i[t+4>>2]=A,r=i[r+24>>2],i[t+8>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),i[k+20>>2]=u,!i[k+12>>2]){ei(t+44|0,i[i[A+16>>2]+48>>2],i[A+20>>2]),r=i[t+44>>2],r?r=i[r+56>>2]:r=0,A=i[t+48>>2];Z:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break Z;V[i[i[A>>2]+8>>2]](A),g(A)}i[k+12>>2]=r}if(!i[k+16>>2]){r=i[t+4>>2],ei(t+44|0,i[i[r+16>>2]+48>>2],i[r+20>>2]),r=i[t+44>>2],r?r=i[r+60>>2]:r=0,A=i[t+48>>2];Z:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break Z;V[i[i[A>>2]+8>>2]](A),g(A)}i[k+16>>2]=r}VA(e,t+4|0),r=i[t+8>>2];Z:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break Z;V[i[i[r>>2]+8>>2]](r),g(r)}_=_+1|0,r=1}v:{if(!p||(k=i[p+4>>2],i[p+4>>2]=k-1,k))break v;V[i[i[p>>2]+8>>2]](p),g(p)}if(r)break _;n=1,r=1;break w}if(n=n+1|0,r=i[t+32>>2],k=i[r+16>>2],r=i[r+12>>2],w=k-r|0,!((n|0)<w>>3))break}n=0,r=44}A=i[t+56>>2]}if(A&&(i[t+60>>2]=A,G(A)),n)break s}if(o=o+56|0,(y|0)==(o|0))break}r=40}o=i[t+68>>2]}if(o){if(A=i[t+72>>2],w=o,(A|0)!=(o|0)){for(;k=i[A-12>>2],k&&(i[A-8>>2]=k,G(k)),k=A-56|0,i[k>>2]=68500,n=i[A-36>>2],n&&(i[A-32>>2]=n,G(n)),A=k,(o|0)!=(A|0););w=i[t+68>>2]}i[t+72>>2]=o,G(w)}if((r|0)!=40)break u}r=0}l[t+99|0]<0&&G(i[t+88>>2]),k=i[t+248>>2],k&&(i[t+252>>2]=k,G(k)),k=i[t+36>>2];u:{if(!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break u;V[i[i[k>>2]+8>>2]](k),g(k)}if(r)break t}r=0}if(l[t+235|0]<0&&G(i[t+224>>2]),r){if((r|0)==38)break n;break A}if(C=C+4|0,(W|0)==(C|0))break}}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break A}_0(f,i[19566],i[19567]);break A}break r}if(f=i[t+228>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break A;V[i[i[f>>2]+8>>2]](f),g(f)}if(!D||(f=i[D+4>>2],i[D+4>>2]=f-1,f))break e;V[i[i[D>>2]+8>>2]](D),g(D)}f=i[t+260>>2],f&&(i[t+264>>2]=f,G(f)),B=t+272|0;return}y0(),P()}y0(),P()}function h8(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0;i:{r:{e:{if(!n){y=i[f+18588>>2],f0=i[y+124>>2];A:{if(!k){if(u=i[y+208>>2],o=e>>u,(o|0)<0||(w=i[y+212>>2],(w|0)<=(o|0)))break r;if(u=r>>u,(u|0)<0|(u|0)>=i[y+216>>2])break i;o=s[(o+i[y+200>>2]|0)+m(u,w)|0],o=o>>>0<=34?o:0;break A}if(u=i[y+228>>2],o=m(i[f0+16852>>2],e)>>u,(o|0)<0||(w=i[y+232>>2],(w|0)<=(o|0)))break r;if(u=m(i[f0+16856>>2],r)>>u,(u|0)<0|(u|0)>=i[y+236>>2])break i;o=s[(o+i[y+220>>2]|0)+m(u,w)|0]&63}n0=o>>>0>34?1:o,C=n0,z=i[y+(k?44:40)>>2],o=m(z,r),u=i[(y+(k<<2)|0)+4>>2];A:{f:{k:{n:{t:{o:{if(i[i[y+124>>2]+(k?16840:16832)>>2]>=9){R=u+(e+o<<1)|0,a=B-528|0,B=a,W=B-336|0,B=W,i[W+24>>2]=k,i[W+16>>2]=y,i[W+32>>2]=r,i[W+28>>2]=e,v=a+256|0,i[W+12>>2]=v,i[W+20>>2]=A;u:{if((A|0)<65){i[W+316>>2]=16843009,h=W+12|0,An(h);l:{if(i[h+8>>2]<33){if(u=i[h+4>>2],o=i[h+12>>2],Z=i[u+(o?44:40)>>2],p=i[h+16>>2],w=i[h+24>>2],I=i[w+16936>>2],H=i[h+20>>2],I=i[(i[i[h+28>>2]+8496>>2]+(m(p,i[h+296>>2])>>I<<2)|0)+(m(i[w+16924>>2],m(H,i[h+300>>2])>>I)<<2)>>2],D=i[(u+(o<<2)|0)+4>>2],o=i[h+308>>2],!(s[h+304|0]!=1|(o|0)<=0))for(u=D-2|0,w=o-1|0;;){o=w;s:{if(s[h+304|0]!=1)break s;J=i[h+28>>2],S=m(i[h+296>>2],p-1|0),E=i[h+24>>2],q=i[E+16936>>2],d=o+H|0,A0=m(d,i[h+300>>2]),E=i[(i[J+8496>>2]+(S>>q<<2)|0)+(m(i[E+16924>>2],A0>>q)<<2)>>2];h:{if(s[J+24|0]){if(J=S,w=i[h+4>>2],S=i[w+168>>2],J=J>>S,(J|0)<0||(q=i[w+172>>2],(q|0)<=(J|0)))break r;if(S=A0>>S,(S|0)<0|(S|0)>=i[w+176>>2])break i;if(s[((i[w+160>>2]+m(J,3)|0)+m(m(S,q),3)|0)+1|0]&3)break s;if((I|0)>=(E|0))break h;break s}if((I|0)<(E|0))break s}i[h+316>>2]||(X[h+320>>1]=Q[(u+(p<<1)|0)+(m(Z,d)<<1)>>1]),w=o^-1,l[w+i[h+292>>2]|0]=1,X[i[h>>2]+(w<<1)>>1]=Q[(u+(i[h+16>>2]<<1)|0)+(m(Z,o+i[h+20>>2]|0)<<1)>>1],l[i[h+292>>2]-o|0]=1,X[i[h>>2]-(o<<1)>>1]=Q[(u+(i[h+16>>2]<<1)|0)+(m(Z,(o+i[h+20>>2]|0)-1|0)<<1)>>1],w=1-o|0,l[w+i[h+292>>2]|0]=1,X[i[h>>2]+(w<<1)>>1]=Q[(u+(i[h+16>>2]<<1)|0)+(m(Z,(o+i[h+20>>2]|0)-2|0)<<1)>>1],w=2-o|0,l[w+i[h+292>>2]|0]=1,p=i[h+16>>2],H=i[h+20>>2],X[i[h>>2]+(w<<1)>>1]=Q[(u+(p<<1)|0)+(m(Z,(o+H|0)-3|0)<<1)>>1],i[h+316>>2]=i[h+316>>2]+4}if(w=o-4|0,!((o|0)>3))break}s:{if(!s[h+307|0])break s;o=i[h+28>>2],w=m(i[h+296>>2],p-1|0),u=i[h+24>>2],E=i[u+16936>>2],J=H-1|0,H=m(J,i[h+300>>2]),u=i[(i[o+8496>>2]+(w>>E<<2)|0)+(m(i[u+16924>>2],H>>E)<<2)>>2];h:{if(s[o+24|0]){if(o=i[h+4>>2],E=i[o+168>>2],w=w>>E,(w|0)<0||(S=i[o+172>>2],(S|0)<=(w|0)))break r;if(H=H>>E,(H|0)<0|(H|0)>=i[o+176>>2])break i;if(s[((i[o+160>>2]+m(w,3)|0)+m(m(H,S),3)|0)+1|0]&3)break s;if((u|0)<=(I|0))break h;break s}if((u|0)>(I|0))break s}o=m(Z,J),i[h+316>>2]||(X[h+320>>1]=Q[((D+(p<<1)|0)+(o<<1)|0)-2>>1]),X[i[h>>2]>>1]=Q[((D+(p<<1)|0)+(o<<1)|0)-2>>1],l[i[h+292>>2]]=1,i[h+316>>2]=i[h+316>>2]+1}if(w=i[h+312>>2],(w|0)>0)for(u=0;;){s:{if(s[h+(i[h+8>>2]>(u|0)?305:306)|0]!=1)break s;o=i[h+28>>2],p=i[h+16>>2],E=m(i[h+296>>2],p+u|0),H=i[h+24>>2],J=i[H+16936>>2],S=i[h+20>>2]-1|0,q=m(S,i[h+300>>2]),H=i[(i[o+8496>>2]+(E>>J<<2)|0)+(m(i[H+16924>>2],q>>J)<<2)>>2];h:{if(s[o+24|0]){if(o=i[h+4>>2],J=i[o+168>>2],E=E>>J,(E|0)<0||(d=i[o+172>>2],(d|0)<=(E|0)))break r;if(J=q>>J,(J|0)<0|(J|0)>=i[o+176>>2])break i;if(s[((i[o+160>>2]+m(E,3)|0)+m(m(J,d),3)|0)+1|0]&3)break s;if((I|0)>=(H|0))break h;break s}if((I|0)<(H|0))break s}w=m(Z,S),i[h+316>>2]||(X[h+320>>1]=Q[((D+(p<<1)|0)+(u<<1)|0)+(w<<1)>>1]),H=u|1,o=D+(u<<1)|0,X[i[h>>2]+(H<<1)>>1]=Q[(o+(p<<1)|0)+(w<<1)>>1],l[H+i[h+292>>2]|0]=1,w=u|2,X[i[h>>2]+(w<<1)>>1]=Q[((o+(i[h+16>>2]<<1)|0)+(m(Z,i[h+20>>2]-1|0)<<1)|0)+2>>1],l[w+i[h+292>>2]|0]=1,w=u|3,X[i[h>>2]+(w<<1)>>1]=Q[((o+(i[h+16>>2]<<1)|0)+(m(Z,i[h+20>>2]-1|0)<<1)|0)+4>>1],l[w+i[h+292>>2]|0]=1,w=u+4|0,X[i[h>>2]+(w<<1)>>1]=Q[((o+(i[h+16>>2]<<1)|0)+(m(Z,i[h+20>>2]-1|0)<<1)|0)+6>>1],l[w+i[h+292>>2]|0]=1,i[h+316>>2]=i[h+316>>2]+4,w=i[h+312>>2]}if(u=u+4|0,!((w|0)>(u|0)))break}break l}break o}u=i[W+328>>2],o=i[W+20>>2],p=o<<2,w=p|1;l:{if((u|0)==(w|0))break l;if(!u){if(h=0,Z=o<<1,u=0-Z|0,(u|0)>(Z|0))break l;for(I=w&5,o=1<<i[i[i[W+16>>2]+124>>2]+(i[W+24>>2]?16840:16832)>>2]-1,w=i[W+12>>2];X[w+(u<<1)>>1]=o,u=u+1|0,h=h+1|0,(I|0)!=(h|0););if(p>>>0<7)break l;for(p=w+12|0,I=w+10|0,D=w+8|0,H=w+6|0,E=w+4|0,J=w+2|0;h=u<<1,X[h+w>>1]=o,X[h+J>>1]=o,X[h+E>>1]=o,X[h+H>>1]=o,X[h+D>>1]=o,X[h+I>>1]=o,X[h+p>>1]=o,h=u+7|0,X[w+(h<<1)>>1]=o,u=u+8|0,(h|0)!=(Z|0););break l}if(o=o<<1,u=0-o|0,w=i[W+304>>2],s[w-o|0]||(X[i[W+12>>2]+(u<<1)>>1]=Q[W+332>>1]),(o|0)<=(u|0))break l;for(u=u|1,h=i[W+12>>2];s[u+w|0]||(Z=h+(u<<1)|0,X[Z>>1]=Q[Z-2>>1]),Z=u+1|0,s[Z+w|0]||(p=h+(Z<<1)|0,X[p>>1]=Q[p-2>>1]),u=u+2|0,(o|0)!=(Z|0););}B=W+336|0;break u}break t}u=i[y+124>>2];u:{if(s[u+16825|0]||k&&(_=k,i[u+16848>>2]!=3))break u;w=B-272|0,B=w;l:{if((A|0)==4|(C|0)==1)break l;o=(C|0)<26?26-C|0:C-26|0,h=(C|0)<10?10-C|0:C-10|0,o=(o|0)<(h|0)?o:h;s:{h:switch(a0(A-8|0,29)|0){case 1:if((o|0)>1)break s;break l;case 3:if((o|0)>0)break s;break l;case 7:break l;case 0:break h;default:break n}if((o|0)<8)break l}s:{h:{w:{if(!(!s[u+8997|0]|(_|(A|0)!=32))&&(_=Q[v+128>>1],o=Q[v>>1],W=(_+o|0)-(Q[v+64>>1]<<1)|0,h=W>>31,Z=1<<i[u+512>>2]-5,(Z|0)>((h^W)-h|0)))break w;u=w+128|0;break h}if(u=w+128|0,h=Q[v-128>>1],p=(h+o|0)-(Q[v+-64>>1]<<1)|0,W=p>>31,Z>>>0<=(W^p)-W>>>0)break h;for(X[w+256>>1]=_,X[w>>1]=h,X[w+128>>1]=o,W=_-o|0,Z=h-o|0,_=1;;){if(h=_<<1,X[u-h>>1]=o+(m(_,Z)+32>>>6|0),X[u+h>>1]=o+(m(_,W)+32>>>6|0),h=_+1|0,(h|0)!=64){X[((_^-1)<<1)+u>>1]=o+(m(h,Z)+32>>>6|0),X[(h<<1)+u>>1]=o+(m(h,W)+32>>>6|0),_=_+2|0;continue}break}p=0-(A<<1)|0;break s}if(o=w+128|0,_=A<<2,X[o-_>>1]=Q[v-_>>1],X[o+_>>1]=Q[_+v>>1],h=A<<1,p=0-h|0,_=1-h|0,(_|0)>=(h|0))break s;for(Z=_<<1,D=v-2|0,_=2-h|0,W=Q[v+(_<<1)>>1],X[Z+o>>1]=(Q[D+Z>>1]+(W+(Q[v+Z>>1]<<1)|0)|0)+2>>>2;Z=_<<1,H=Z+2|0,I=Q[H+v>>1],X[o+Z>>1]=(Q[Z+D>>1]+(I+(W<<1)|0)|0)+2>>>2,_=_+2|0,W=Q[v+(_<<1)>>1],X[o+H>>1]=(Q[v+Z>>1]+(W+(I<<1)|0)|0)+2>>>2,(h|0)!=(_|0););}o=p<<1,l0(o+v|0,o+u|0,A<<3|2)}B=w+272|0}u:{l:switch(C|0){case 0:if(w=1,(A|0)>=2){for(u=0,o=A;w=u,u=u+1|0,_=o>>>0>3,o=o>>>1|0,!!_;);w=w+2|0}if((A|0)<=0)break u;for(H=A&2147483646,E=A&1,_=A-1|0,J=Q[v+((A^-1)<<1)>>1],h=Q[(v+(A<<1)|0)+2>>1],o=0;;){if(C=_-o|0,u=o+1|0,y=m(u,J),W=R+(m(o,z)<<1)|0,Z=Q[v+((o^-1)<<1)>>1],o=0,p=0,(A|0)!=1)for(;I=o|1,D=I<<1,X[W+(o<<1)>>1]=y+(((m(Z,_-o|0)+A|0)+m(h,I)|0)+m(C,Q[v+D>>1])|0)>>w,o=o+2|0,X[W+D>>1]=y+(((m(Z,_-I|0)+A|0)+m(h,o)|0)+m(C,Q[v+(o<<1)>>1])|0)>>w,p=p+2|0,(H|0)!=(p|0););if(E&&(S=W+(o<<1)|0,Z=m(Z,_-o|0)+A|0,o=o+1|0,X[S>>1]=y+((Z+m(o,h)|0)+m(C,Q[v+(o<<1)>>1])|0)>>w),o=u,(o|0)==(A|0))break}break u;case 1:if(u=0,_=1,(A|0)>=2){for(o=A;w=u,u=u+1|0,_=o>>>0>3,o=o>>>1|0,!!_;);_=w+2|0}s:{h:{w:{_:{if((A|0)>0){if(C=A&1,(A|0)!=1)break _;w=0,u=0;break w}if(k)break s;o=A>>_;break h}for(y=A&2147483646,o=0,u=0,h=0;w=o+2|0,u=Q[v+((o^2147483646)<<1)>>1]+(Q[v+(w<<1)>>1]+(Q[v+((o^-1)<<1)>>1]+(Q[(v+(o<<1)|0)+2>>1]+u|0)|0)|0)|0,o=w,h=h+2|0,(y|0)!=(h|0););}if(C&&(u=Q[v+((w^-1)<<1)>>1]+(Q[(v+(w<<1)|0)+2>>1]+u|0)|0),o=A+u>>_,!k&(A|0)<=31)break h;if((A|0)<=0)break s;for(y=A&2147483640,v=A&7,w=0,W=A>>>0<8;;){if(C=R+(m(w,z)<<1)|0,u=0,h=0,!W)for(;_=C+(u<<1)|0,X[_>>1]=o,X[_+2>>1]=o,X[_+4>>1]=o,X[_+6>>1]=o,X[_+8>>1]=o,X[_+10>>1]=o,X[_+12>>1]=o,X[_+14>>1]=o,u=u+8|0,h=h+8|0,(y|0)!=(h|0););if(h=0,v)for(;X[C+(u<<1)>>1]=o,u=u+1|0,h=h+1|0,(v|0)!=(h|0););if(w=w+1|0,(w|0)==(A|0))break}break s}if(u=1,X[R>>1]=(Q[v+2>>1]+(Q[v-2>>1]+(o<<1)|0)|0)+2>>>2,(A|0)<2)break s;if(_=A-1|0,y=_&3,C=m(o,3)+2|0,W=A-2|0,W>>>0>=3)for(p=_&-4,w=0;h=u<<1,Z=h+2|0,X[h+R>>1]=C+Q[v+Z>>1]>>>2,E=Z+R|0,Z=h+4|0,X[E>>1]=C+Q[Z+v>>1]>>>2,h=h+6|0,X[Z+R>>1]=C+Q[h+v>>1]>>>2,u=u+4|0,X[h+R>>1]=C+Q[v+(u<<1)>>1]>>>2,w=w+4|0,(p|0)!=(w|0););if(y)for(h=0;w=R+(u<<1)|0,u=u+1|0,X[w>>1]=C+Q[v+(u<<1)>>1]>>>2,h=h+1|0,(y|0)!=(h|0););if((A|0)<2)break s;if(u=1,w=m(o,3)+2|0,W)for(C=_&-2,h=0;X[R+(m(u,z)<<1)>>1]=w+Q[v+((u^-1)<<1)>>1]>>>2,X[R+(m(z,u+1|0)<<1)>>1]=w+Q[v+(-2-u<<1)>>1]>>>2,u=u+2|0,h=h+2|0,(C|0)!=(h|0););if(_&1&&(X[R+(m(u,z)<<1)>>1]=w+Q[v+((u^-1)<<1)>>1]>>>2),(A|0)<2)break s;for(y=_&-8,C=_&7,w=1;;){if(_=R+(m(w,z)<<1)|0,u=1,W>>>0>=7)for(Z=_+14|0,p=_+12|0,I=_+10|0,D=_+8|0,H=_+6|0,E=_+4|0,J=_+2|0,h=0;v=u<<1,X[v+_>>1]=o,X[v+J>>1]=o,X[v+E>>1]=o,X[v+H>>1]=o,X[v+D>>1]=o,X[v+I>>1]=o,X[v+p>>1]=o,X[v+Z>>1]=o,u=u+8|0,h=h+8|0,(y|0)!=(h|0););if(h=0,C)for(;X[_+(u<<1)>>1]=o,u=u+1|0,h=h+1|0,(C|0)!=(h|0););if(w=w+1|0,(w|0)==(A|0))break}}break u;default:break l}if(o=i[y+124>>2],H=i[o+(k?16840:16832)>>2],s[o+16822|0]){if(u=i[y+168>>2],o=e>>u,(o|0)<0||(w=i[y+172>>2],(w|0)<=(o|0)))break r;if(u=r>>u,(u|0)<0|(u|0)>=i[y+176>>2])break i;w=(s[((i[y+160>>2]+m(o,3)|0)+m(m(u,w),3)|0)+1|0]&8)>>>3|0}else w=0;o=0,_=0,y=B-528|0,B=y;l:{s:{h:{if((C|0)<35){if((C|0)>1){if(h=y+256|0,W=i[(C<<2)+45360>>2],C>>>0<=17){w:{if((A|0)<0)break w;if(u=A+1|0,Z=u&3,A>>>0>=3)for(p=u&-4;u=o<<1,X[u+h>>1]=Q[v-u>>1],I=u|2,X[I+h>>1]=Q[v-I>>1],I=u|4,X[I+h>>1]=Q[v-I>>1],u=u|6,X[u+h>>1]=Q[v-u>>1],o=o+4|0,_=_+4|0,(p|0)!=(_|0););if(!Z)break w;for(u=0;_=o<<1,X[_+h>>1]=Q[v-_>>1],o=o+1|0,u=u+1|0,(Z|0)!=(u|0););}if(u=C-11|0,u>>>0<15)break h;if(Z=A<<1,(Z|0)<=(A|0))break s;if(o=A,p=o&3,p)for(_=0,u=o;o=u+1|0,X[h+(o<<1)>>1]=Q[v+((u^-1)<<1)>>1],u=o,_=_+1|0,(p|0)!=(_|0););if(A-1>>>0<3)break s;for(_=h+6|0,p=h+4|0,I=h+2|0;u=o<<1,X[u+I>>1]=Q[v+((o^-1)<<1)>>1],X[u+p>>1]=Q[v+(-2-o<<1)>>1],X[u+_>>1]=Q[v+(-3-o<<1)>>1],u=o+4|0,X[h+(u<<1)>>1]=Q[v+(-4-o<<1)>>1],o=u,(o|0)!=(Z|0););break s}(A|0)>=0&&l0(h,v,(A<<1)+2|0),u=C-11|0;w:{if(u>>>0>=15){if(o=A<<1,(o|0)<=(A|0))break w;l0((o+y|0)+258|0,(o+v|0)+2|0,o);break w}if(_=m(A,W),o=_>>5,(o|0)>-2)break w;for(u=i[(u<<2)+45504>>2],_&32&&(X[h+(o<<1)>>1]=Q[v-(m(o,u)+128>>8<<1)>>1],o=o+1|0);X[h+(o<<1)>>1]=Q[v-(m(o,u)+128>>8<<1)>>1],_=o+1|0,X[h+(_<<1)>>1]=Q[v-(m(u,_)+128>>8<<1)>>1],o=o+2|0,!!o;);}if((A|0)>0)for(S=y+258|0,q=A&2147483646,d=A&1,A0=A<<1,j=z<<1,u=0;;){o=u,u=o+1|0,Z=m(W,u),_=Z>>5<<1,Z=Z&31;w:{if(Z){if(p=R+(m(o,z)<<1)|0,I=32-Z|0,D=h+_|0,o=0,(A|0)!=1)for(L=D+4|0,_=0;E=o<<1,h0=E+D|0,J=Q[h0+4>>1],X[p+E>>1]=(m(I,Q[h0+2>>1])+m(Z,J)|0)+16>>>5,E=E|2,X[E+p>>1]=(m(I,J)+m(Z,Q[E+L>>1])|0)+16>>>5,o=o+2|0,_=_+2|0,(q|0)!=(_|0););if(!d)break w;_=o<<1,o=_+D|0,X[_+p>>1]=(m(I,Q[o+2>>1])+m(Z,Q[o+4>>1])|0)+16>>>5;break w}l0(R+m(o,j)|0,_+S|0,A0)}if((A|0)==(u|0))break}if((C|0)!=26|A-32>>>0<4294967265|(k|w))break l;for(u=-1<<H^-1,o=0;w=Q[v+2>>1]+(Q[v+((o^-1)<<1)>>1]-Q[v>>1]>>1)|0,X[R+(m(o,z)<<1)>>1]=(w|0)>=0?(u|0)>(w|0)?w:u:0,o=o+1|0,(o|0)!=(A|0););break l}break k}break f}if(_=m(A,W),o=_>>5,(o|0)>-2)break s;for(u=i[(u<<2)+45504>>2],_&32&&(X[h+(o<<1)>>1]=Q[v+(m(o,u)+128>>8<<1)>>1],o=o+1|0);X[h+(o<<1)>>1]=Q[v+(m(o,u)+128>>8<<1)>>1],_=o+1|0,X[h+(_<<1)>>1]=Q[v+(m(u,_)+128>>8<<1)>>1],o=o+2|0,!!o;);}if((A|0)>0)for(p=y+258|0,_=0;;){for(o=_<<1,I=o+p|0,D=o+h|0,E=R+(m(_,z)<<1)|0,o=0;;){u=o+1|0,J=m(u,W),Z=J>>5,S=E+(o<<1)|0,o=J&31;s:{if(o){Z=D+(Z<<1)|0,o=(m(Q[Z+2>>1],32-o|0)+m(o,Q[Z+4>>1])|0)+16>>>5|0;break s}o=Q[I+(Z<<1)>>1]}if(X[S>>1]=o,o=u,(o|0)==(A|0))break}if(_=_+1|0,(_|0)==(A|0))break}if((C|0)!=10|A-32>>>0<4294967265|(k|w))break l;if(w=v-2|0,o=-1<<H^-1,u=0,(A|0)!=1)for(C=A&30,h=0;z=u<<1,W=z|2,_=Q[w>>1]+(Q[W+v>>1]-Q[v>>1]>>1)|0,X[R+z>>1]=(_|0)>=0?(o|0)>(_|0)?_:o:0,u=u+2|0,_=Q[w>>1]+(Q[v+(u<<1)>>1]-Q[v>>1]>>1)|0,X[W+R>>1]=(_|0)>=0?(o|0)>(_|0)?_:o:0,h=h+2|0,(C|0)!=(h|0););if(!(A&1))break l;_=Q[w>>1],w=u<<1,u=_+(Q[(w+v|0)+2>>1]-Q[v>>1]>>1)|0,X[w+R>>1]=(u|0)>=0?(o|0)>(u|0)?u:o:0}B=y+528|0}B=a+528|0;break A}R=(o+u|0)+e|0,H=B-272|0,B=H,W=B-336|0,B=W,i[W+24>>2]=k,i[W+16>>2]=y,i[W+32>>2]=r,i[W+28>>2]=e,v=H+128|0,i[W+12>>2]=v,i[W+20>>2]=A;u:{if((A|0)<65){i[W+316>>2]=16843009,h=W+12|0,An(h);l:{if(i[h+8>>2]<33){if(u=i[h+4>>2],o=i[h+12>>2],Z=i[u+(o?44:40)>>2],w=i[h+24>>2],p=i[w+16936>>2],p=i[(i[i[h+28>>2]+8496>>2]+(m(i[h+296>>2],i[h+16>>2])>>p<<2)|0)+(m(i[w+16924>>2],m(i[h+300>>2],i[h+20>>2])>>p)<<2)>>2],I=i[(u+(o<<2)|0)+4>>2],o=i[h+308>>2],!(s[h+304|0]!=1|(o|0)<=0))for(u=I-1|0,w=o-1|0;;){o=w;s:{if(s[h+304|0]!=1)break s;a=i[h+28>>2],J=i[h+16>>2],E=m(i[h+296>>2],J-1|0),D=i[h+24>>2],S=i[D+16936>>2],q=o+i[h+20>>2]|0,d=m(q,i[h+300>>2]),D=i[(i[a+8496>>2]+(E>>S<<2)|0)+(m(i[D+16924>>2],d>>S)<<2)>>2];h:{if(s[a+24|0]){if(a=E,w=i[h+4>>2],E=i[w+168>>2],a=a>>E,(a|0)<0||(S=i[w+172>>2],(S|0)<=(a|0)))break r;if(E=d>>E,(E|0)<0|(E|0)>=i[w+176>>2])break i;if(s[((i[w+160>>2]+m(a,3)|0)+m(m(E,S),3)|0)+1|0]&3)break s;if((p|0)>=(D|0))break h;break s}if((p|0)<(D|0))break s}i[h+316>>2]||(l[h+320|0]=s[(u+J|0)+m(Z,q)|0]),w=o^-1,l[w+i[h+292>>2]|0]=1,l[w+i[h>>2]|0]=s[(u+i[h+16>>2]|0)+m(Z,o+i[h+20>>2]|0)|0],l[i[h+292>>2]-o|0]=1,l[i[h>>2]-o|0]=s[(u+i[h+16>>2]|0)+m(Z,(o+i[h+20>>2]|0)-1|0)|0],w=1-o|0,l[w+i[h+292>>2]|0]=1,l[w+i[h>>2]|0]=s[(u+i[h+16>>2]|0)+m(Z,(o+i[h+20>>2]|0)-2|0)|0],w=2-o|0,l[w+i[h+292>>2]|0]=1,l[w+i[h>>2]|0]=s[(u+i[h+16>>2]|0)+m(Z,(o+i[h+20>>2]|0)-3|0)|0],i[h+316>>2]=i[h+316>>2]+4}if(w=o-4|0,!((o|0)>3))break}s:{if(!s[h+307|0])break s;o=i[h+28>>2],u=i[h+16>>2],D=m(i[h+296>>2],u-1|0),w=i[h+24>>2],a=i[w+16936>>2],E=i[h+20>>2]-1|0,J=m(E,i[h+300>>2]),w=i[(i[o+8496>>2]+(D>>a<<2)|0)+(m(i[w+16924>>2],J>>a)<<2)>>2];h:{if(s[o+24|0]){if(o=i[h+4>>2],a=i[o+168>>2],D=D>>a,(D|0)<0||(S=i[o+172>>2],(S|0)<=(D|0)))break r;if(a=J>>a,(a|0)<0|(a|0)>=i[o+176>>2])break i;if(s[((i[o+160>>2]+m(D,3)|0)+m(m(a,S),3)|0)+1|0]&3)break s;if((w|0)<=(p|0))break h;break s}if((w|0)>(p|0))break s}o=m(Z,E),i[h+316>>2]||(l[h+320|0]=s[(o+(u+I|0)|0)-1|0]),l[i[h>>2]]=s[(o+(u+I|0)|0)-1|0],l[i[h+292>>2]]=1,i[h+316>>2]=i[h+316>>2]+1}if(w=i[h+312>>2],(w|0)>0)for(u=0;;){s:{if(s[h+(i[h+8>>2]>(u|0)?305:306)|0]!=1)break s;o=i[h+28>>2],D=i[h+16>>2],E=m(i[h+296>>2],D+u|0),a=i[h+24>>2],J=i[a+16936>>2],S=i[h+20>>2]-1|0,q=m(S,i[h+300>>2]),a=i[(i[o+8496>>2]+(E>>J<<2)|0)+(m(i[a+16924>>2],q>>J)<<2)>>2];h:{if(s[o+24|0]){if(o=i[h+4>>2],J=i[o+168>>2],E=E>>J,(E|0)<0||(d=i[o+172>>2],(d|0)<=(E|0)))break r;if(J=q>>J,(J|0)<0|(J|0)>=i[o+176>>2])break i;if(s[((i[o+160>>2]+m(E,3)|0)+m(m(J,d),3)|0)+1|0]&3)break s;if((p|0)>=(a|0))break h;break s}if((p|0)<(a|0))break s}w=m(Z,S),i[h+316>>2]||(l[h+320|0]=s[w+((I+D|0)+u|0)|0]),a=u|1,o=u+I|0,l[a+i[h>>2]|0]=s[w+(o+D|0)|0],l[a+i[h+292>>2]|0]=1,w=u|2,l[w+i[h>>2]|0]=s[((o+i[h+16>>2]|0)+m(Z,i[h+20>>2]-1|0)|0)+1|0],l[w+i[h+292>>2]|0]=1,w=u|3,l[w+i[h>>2]|0]=s[((o+i[h+16>>2]|0)+m(Z,i[h+20>>2]-1|0)|0)+2|0],l[w+i[h+292>>2]|0]=1,w=u+4|0,l[w+i[h>>2]|0]=s[((o+i[h+16>>2]|0)+m(Z,i[h+20>>2]-1|0)|0)+3|0],l[w+i[h+292>>2]|0]=1,i[h+316>>2]=i[h+316>>2]+4,w=i[h+312>>2]}if(u=u+4|0,!((w|0)>(u|0)))break}break l}break o}o=i[W+328>>2],w=i[W+20>>2],u=w<<2|1;l:{if((o|0)==(u|0))break l;if(!o){B0(i[W+12>>2]-(w<<1)|0,1<<i[i[i[W+16>>2]+124>>2]+(i[W+24>>2]?16840:16832)>>2]-1,u);break l}if(o=w<<1,u=0-o|0,s[i[W+304>>2]-o|0]||(l[i[W+12>>2]+u|0]=s[W+332|0],w=i[W+20>>2],u=0-(w<<1)|0),w<<1<=(u|0))break l;for(u=u|1;s[i[W+304>>2]+u|0]||(o=i[W+12>>2]+u|0,l[o|0]=s[o-1|0],w=i[W+20>>2]),o=w<<1>(u|0),u=u+1|0,!!o;);}B=W+336|0;break u}break t}u=i[y+124>>2];u:{if(s[u+16825|0]||k&&(_=k,i[u+16848>>2]!=3))break u;w=B-144|0,B=w;l:{if((A|0)==4|(C|0)==1)break l;o=(C|0)<26?26-C|0:C-26|0,h=(C|0)<10?10-C|0:C-10|0,o=(o|0)<(h|0)?o:h;s:{h:switch(a0(A-8|0,29)|0){case 1:if((o|0)>1)break s;break l;case 3:if((o|0)>0)break s;break l;case 7:break l;case 0:break h;default:break n}if((o|0)<8)break l}s:{h:{w:{if(!(!s[u+8997|0]|(_|(A|0)!=32))&&(_=s[v+64|0],o=s[v|0],W=(_+o|0)-(s[v+32|0]<<1)|0,h=W>>31,Z=1<<i[u+512>>2]-5,(Z|0)>((h^W)-h|0)))break w;u=w- -64|0;break h}if(u=w- -64|0,h=s[v+-64|0],p=(h+o|0)-(s[v-32|0]<<1)|0,W=p>>31,Z>>>0<=(W^p)-W>>>0)break h;for(l[w+128|0]=_,l[w|0]=h,l[w+64|0]=o,W=_-o|0,Z=h-o|0,_=1;;){if(l[u-_|0]=o+(m(_,Z)+32>>>6|0),l[u+_|0]=o+(m(_,W)+32>>>6|0),h=_+1|0,(h|0)!=64){l[(_^-1)+u|0]=o+(m(h,Z)+32>>>6|0),l[u+h|0]=o+(m(h,W)+32>>>6|0),_=_+2|0;continue}break}h=0-(A<<1)|0;break s}if(Z=w- -64|0,o=A<<1,l[Z-o|0]=s[v-o|0],l[o+Z|0]=s[o+v|0],h=0-o|0,p=1-o|0,(p|0)>=(o|0))break s;for(I=v-1|0,_=2-o|0,W=s[v+_|0],l[Z+p|0]=(s[I+p|0]+(W+(s[v+p|0]<<1)|0)|0)+2>>>2;E=W<<1,W=_+1|0,p=s[W+v|0],l[_+Z|0]=(s[_+I|0]+(E+p|0)|0)+2>>>2,E=Z+W|0,J=s[_+v|0],_=_+2|0,W=s[v+_|0],l[E|0]=(J+(W+(p<<1)|0)|0)+2>>>2,(o|0)!=(_|0););}l0(h+v|0,u+h|0,A<<2|1)}B=w+144|0}u:{l:switch(C|0){case 0:if(w=1,(A|0)>=2){for(u=0,o=A;w=u,u=u+1|0,_=o>>>0>3,o=o>>>1|0,!!_;);w=w+2|0}if((A|0)<=0)break u;for(D=A&2147483646,a=A&1,_=A-1|0,E=s[v+(A^-1)|0],C=s[(A+v|0)+1|0],o=0;;){if(y=_-o|0,u=o+1|0,W=m(u,E),Z=R+m(o,z)|0,p=s[v+(o^-1)|0],o=0,h=0,(A|0)!=1)for(;I=o|1,l[o+Z|0]=W+(((m(p,_-o|0)+A|0)+m(I,C)|0)+m(y,s[v+I|0])|0)>>w,o=o+2|0,l[Z+I|0]=W+(((m(p,_-I|0)+A|0)+m(C,o)|0)+m(y,s[o+v|0])|0)>>w,h=h+2|0,(D|0)!=(h|0););if(a&&(J=o+Z|0,S=m(p,_-o|0)+A|0,o=o+1|0,l[J|0]=W+((S+m(o,C)|0)+m(y,s[o+v|0])|0)>>w),o=u,(o|0)==(A|0))break}break u;case 1:if(u=0,h=0,_=1,(A|0)>=2){for(o=A;w=u,u=u+1|0,_=o>>>0>3,o=o>>>1|0,!!_;);_=w+2|0}s:{h:{w:{_:{if((A|0)>0){if(C=A&1,(A|0)!=1)break _;w=0,u=0;break w}if(k)break s;u=A>>_;break h}for(y=A&2147483646,o=0,u=0;w=o+2|0,u=s[v+(o^-2)|0]+(s[v+w|0]+(s[v+(o^-1)|0]+(s[(o+v|0)+1|0]+u|0)|0)|0)|0,o=w,h=h+2|0,(y|0)!=(h|0););}if(C&&(u=s[v+(w^-1)|0]+(s[(w+v|0)+1|0]+u|0)|0),u=A+u>>_,!k&(A|0)<=31)break h;if((A|0)<=0)break s;if(o=0,h=0,A>>>0>=4)for(_=A&2147483644,w=0;B0(R+m(h,z)|0,u,A),B0(R+m(z,h|1)|0,u,A),B0(R+m(z,h|2)|0,u,A),B0(R+m(z,h|3)|0,u,A),h=h+4|0,w=w+4|0,(_|0)!=(w|0););if(w=A&3,!w)break s;for(;B0(R+m(h,z)|0,u,A),h=h+1|0,o=o+1|0,(w|0)!=(o|0););break s}if(o=1,l[R|0]=(s[v+1|0]+(s[v-1|0]+(u<<1)|0)|0)+2>>>2,(A|0)<2)break s;if(C=A-1|0,_=C&3,w=m(u,3)+2|0,y=A-2|0,y>>>0>=3)for(W=C&-4,h=0;Z=o+1|0,l[o+R|0]=w+s[Z+v|0]>>>2,E=Z+R|0,Z=o+2|0,l[E|0]=w+s[Z+v|0]>>>2,E=Z+R|0,Z=o+3|0,l[E|0]=w+s[Z+v|0]>>>2,o=o+4|0,l[Z+R|0]=w+s[v+o|0]>>>2,h=h+4|0,(W|0)!=(h|0););if(_)for(h=0;E=o+R|0,o=o+1|0,l[E|0]=w+s[v+o|0]>>>2,h=h+1|0,(_|0)!=(h|0););if((A|0)<2)break s;if(o=1,w=m(u,3)+2|0,y)for(_=C&-2,h=0;l[R+m(o,z)|0]=w+s[v+(o^-1)|0]>>>2,l[R+m(z,o+1|0)|0]=w+s[(v-o|0)-2|0]>>>2,o=o+2|0,h=h+2|0,(_|0)!=(h|0););if(C&1&&(l[R+m(o,z)|0]=w+s[v+(o^-1)|0]>>>2),(A|0)<2)break s;if(o=A-1|0,v=(R+z|0)+1|0,w=0,h=0,y>>>0>=3)for(y=C&-4,_=0;B0(v+m(h,z)|0,u,o),B0(v+m(z,h|1)|0,u,o),B0(v+m(z,h|2)|0,u,o),B0(v+m(z,h|3)|0,u,o),h=h+4|0,_=_+4|0,(y|0)!=(_|0););if(_=C&3,!_)break s;for(;B0(v+m(h,z)|0,u,o),h=h+1|0,w=w+1|0,(_|0)!=(w|0););}break u;default:break l}if(o=i[y+124>>2],a=i[o+(k?16840:16832)>>2],s[o+16822|0]){if(u=i[y+168>>2],o=e>>u,(o|0)<0||(w=i[y+172>>2],(w|0)<=(o|0)))break r;if(u=r>>u,(u|0)<0|(u|0)>=i[y+176>>2])break i;w=(s[((i[y+160>>2]+m(o,3)|0)+m(m(u,w),3)|0)+1|0]&8)>>>3|0}else w=0;o=0,y=B-272|0,B=y;l:{s:{h:{if((C|0)<35){if((C|0)>1){if(h=y+128|0,W=i[(C<<2)+45360>>2],C>>>0<=17){w:{if((A|0)<0)break w;if(u=A+1|0,_=u&3,A>>>0>=3)for(Z=u&-4,u=0;l[o+h|0]=s[v-o|0],p=o|1,l[p+h|0]=s[v-p|0],p=o|2,l[p+h|0]=s[v-p|0],p=o|3,l[p+h|0]=s[v-p|0],o=o+4|0,u=u+4|0,(Z|0)!=(u|0););if(!_)break w;for(u=0;l[o+h|0]=s[v-o|0],o=o+1|0,u=u+1|0,(_|0)!=(u|0););}if(u=C-11|0,u>>>0<15)break h;if(Z=A<<1,(Z|0)<=(A|0))break s;if(o=A,p=o&3,p)for(_=0,u=o;o=u+1|0,l[h+o|0]=s[v+(u^-1)|0],u=o,_=_+1|0,(p|0)!=(_|0););if(A-1>>>0<3)break s;for(_=h+3|0,p=h+2|0,I=h+1|0;l[o+I|0]=s[v+(o^-1)|0],u=v-o|0,l[o+p|0]=s[u-2|0],l[o+_|0]=s[u-3|0],o=o+4|0,l[h+o|0]=s[u-4|0],(o|0)!=(Z|0););break s}(A|0)>=0&&l0(h,v,A+1|0),u=C-11|0;w:{if(u>>>0>=15){if(A<<1<=(A|0))break w;l0((A+y|0)+129|0,(A+v|0)+1|0,A);break w}if(_=m(A,W),o=_>>5,(o|0)>-2)break w;for(u=i[(u<<2)+45504>>2],_&32&&(l[o+h|0]=s[v-(m(o,u)+128>>8)|0],o=o+1|0);l[o+h|0]=s[v-(m(o,u)+128>>8)|0],_=o+1|0,l[_+h|0]=s[v-(m(u,_)+128>>8)|0],o=o+2|0,!!o;);}if((A|0)>0)for(J=y+129|0,S=A&2147483646,q=A&1,u=0;;){Z=R+m(u,z)|0,u=u+1|0,_=m(W,u),o=_>>5,p=_&31;w:{if(p){if(I=o+h|0,D=32-p|0,o=0,(A|0)!=1)for(d=I+2|0,_=0;A0=o+I|0,E=s[A0+2|0],l[o+Z|0]=(m(D,s[A0+1|0])+m(p,E)|0)+16>>>5,A0=o|1,l[A0+Z|0]=(m(E,D)+m(p,s[d+A0|0])|0)+16>>>5,o=o+2|0,_=_+2|0,(S|0)!=(_|0););if(!q)break w;_=o+Z|0,o=o+I|0,l[_|0]=(m(D,s[o+1|0])+m(p,s[o+2|0])|0)+16>>>5;break w}l0(Z,o+J|0,A)}if((A|0)==(u|0))break}if((C|0)!=26|A-32>>>0<4294967265|(k|w))break l;for(u=-1<<a^-1,o=0;w=s[v+1|0]+(s[v+(o^-1)|0]-s[v|0]>>1)|0,l[R+m(o,z)|0]=(w|0)>=0?(u|0)>(w|0)?w:u:0,o=o+1|0,(o|0)!=(A|0););break l}break k}break f}if(_=m(A,W),o=_>>5,(o|0)>-2)break s;for(u=i[(u<<2)+45504>>2],_&32&&(l[o+h|0]=s[v+(m(o,u)+128>>8)|0],o=o+1|0);l[o+h|0]=s[v+(m(o,u)+128>>8)|0],_=o+1|0,l[_+h|0]=s[v+(m(u,_)+128>>8)|0],o=o+2|0,!!o;);}if((A|0)>0)for(p=y+129|0,_=0;;){for(I=_+p|0,D=h+_|0,E=R+m(_,z)|0,o=0;;){u=o+1|0,J=m(u,W),Z=J>>5,S=o+E|0,o=J&31;s:{if(o){Z=Z+D|0,o=(m(s[Z+1|0],32-o|0)+m(o,s[Z+2|0])|0)+16>>>5|0;break s}o=s[Z+I|0]}if(l[S|0]=o,o=u,(o|0)==(A|0))break}if(_=_+1|0,(_|0)==(A|0))break}if((C|0)!=10|A-32>>>0<4294967265|(k|w))break l;if(w=v-1|0,u=-1<<a^-1,o=0,(A|0)!=1)for(C=A&30,h=0;z=o|1,_=s[w|0]+(s[z+v|0]-s[v|0]>>1)|0,l[o+R|0]=(_|0)>=0?(u|0)>(_|0)?_:u:0,o=o+2|0,_=s[w|0]+(s[v+o|0]-s[v|0]>>1)|0,l[R+z|0]=(_|0)>=0?(u|0)>(_|0)?_:u:0,h=h+2|0,(C|0)!=(h|0););if(!(A&1))break l;_=o+R|0,o=s[w|0]+(s[(o+v|0)+1|0]-s[v|0]>>1)|0,l[_|0]=(o|0)>=0?(o|0)<(u|0)?o:u:0}B=y+272|0}B=H+272|0;break A}C0(16812,8483,533,10587),P()}C0(15164,8483,146,3205),P()}C0(9349,8483,211,8639),P()}C0(16720,8483,343,5959),P()}C0(16598,8483,342,5959),P()}o=0,o=!s[f0+16822|0]|!(s[f+32|0]|s[(f+k|0)+33|0])?o:(n0&47)==10,o=(n0|0)==26?o&&2:o;break e}if(o=0,!s[f+36|0])break e;o=s[f+37|0]?2:1}e:{A:{f:{k:{if(!t){if(!k|!i[f+28>>2])break k;X[((k<<1)+f|0)+14396>>1]=0,o=0}Z=s[(f+k|0)+33|0]!=0,w=!n,n=k?16840:16832;n:{if(i[n+i[i[f+18588>>2]+124>>2]>>2]>=9){t=f,W=B-4096|0,B=W;t:{if(k>>>0<3){if(u=i[f+18588>>2],h=i[u+168>>2],_=e>>h,(_|0)<0||(R=i[u+172>>2],(R|0)<=(_|0)))break r;if(v=r>>h,(v|0)<0|(v|0)>=i[u+176>>2])break i;p=k<<2,z=i[u+(k?44:40)>>2],y=i[(p+u|0)+4>>2]+(m(z,r)+e<<1)|0,C=i[u+124>>2],h=i[C+n>>2],n=i[f+2104>>2],e=0,I=s[((i[u+160>>2]+m(_,3)|0)+m(m(v,R),3)|0)+1|0]&3,R=!I&(A|0)==4&s[C+16820|0]!=0;o:{if(s[f+32|0]){if(e=(f+(k<<1)|0)+14396|0,X[e>>1]>0)for(f=0,r=k<<11,u=r+(t+8252|0)|0,r=r+(t+2108|0)|0;w=f<<1,X[n+(X[w+u>>1]<<1)>>1]=Q[r+w>>1],f=f+1|0,(f|0)<X[e>>1];);if(R&&V[i[i[t+18584>>2]+432>>2]](n,4),w=t+14404|0,u=k?W:w,V[i[i[t+18584>>2]+(o?(o|0)==2?368:372:364)>>2]](u,n,A),!(!k|!i[t+28>>2]|(A|0)<=0))for(f=i[i[t+18588>>2]+124>>2],o=i[f+16832>>2],_=i[f+16840>>2],Z=A&2147483646,p=A&1,r=0;;){if(v=m(r,A),f=0,e=0,(A|0)!=1)for(;C=f+v<<2,I=C+u|0,i[I>>2]=i[I>>2]+(m(i[t+28>>2],i[w+C>>2]<<_>>o)>>3),C=C+4|0,I=C+u|0,i[I>>2]=i[I>>2]+(m(i[t+28>>2],i[w+C>>2]<<_>>o)>>3),f=f+2|0,e=e+2|0,(Z|0)!=(e|0););if(p&&(f=f+v<<2,e=f+u|0,i[e>>2]=i[e>>2]+(m(i[t+28>>2],i[f+w>>2]<<_>>o)>>3)),r=r+1|0,(A|0)==(r|0))break}if(V[i[i[t+18584>>2]+460>>2]](y,z,u,A,h),!R)break o;X[n>>1]=0,X[n+2>>1]=0,X[n+4>>1]=0,X[n+6>>1]=0,X[n+24>>1]=0,X[n+26>>1]=0,X[n+28>>1]=0,X[n+30>>1]=0,X[n+16>>1]=0,X[n+18>>1]=0,X[n+20>>1]=0,X[n+22>>1]=0,X[n+8>>1]=0,X[n+10>>1]=0,X[n+12>>1]=0,X[n+14>>1]=0;break o}if((A|0)>=2)for(f=A;e=e+1|0,r=f>>>0>3,f=f>>>1|0,!!r;);v=i[u+132>>2],r=i[(t+p|0)+18536>>2],e=e+h|0;u:{if(!s[C+636|0]){if(u=(t+(k<<1)|0)+14396|0,X[u>>1]<=0)break u;for(r=i[((r|0)%6<<2)+46096>>2]<<(r|0)/6,w=e-9|0,_=1<<e-10,f=0,e=k<<11,C=e+(t+2108|0)|0,p=e+(t+8252|0)|0;D=f<<1,e=_+m(r,X[D+C>>1])>>w,e=(e|0)>=32767?32767:e,X[n+(X[p+D>>1]<<1)>>1]=(e|0)<=-32768?-32768:e,f=f+1|0,(f|0)<X[u>>1];);break u}f=k,u=f;l:{if(w||(u=f+3|0,(A|0)<=31))break l;u=f+1|0}f=u;l:{s:switch(a0(A-4|0,30)|0){case 1:f=(v+(f<<6)|0)+169|0;break l;case 3:f=(v+(f<<8)|0)+553|0;break l;case 7:f=(v+(f<<10)|0)+2089|0;break l;case 0:break s;default:break f}f=(v+(f<<4)|0)+73|0}if(p=(t+(k<<1)|0)+14396|0,X[p>>1]<=0)break u;for(_=f,D=(r|0)/6|0,f0=i[(r-m(D,6)<<2)+46096>>2],u=e-5|0,w=1<<e-6,H=w>>31,f=0,e=k<<11,n0=e+(t+2108|0)|0,a=e+(t+8252|0)|0;e=f<<1,r=X[e+a>>1],E=n+(r<<1)|0,e=X[e+n0>>1],C=e,J=e>>31,e=m(f0,s[r+_|0])<<D,e=q0(C,J,e,e>>31),r=H+w0|0,e=e+w|0,r=e>>>0<w>>>0?r+1|0:r,J=e,C=u&31,(u&63)>>>0>=32?(e=r>>31,r=r>>C):(e=r>>C,r=((1<<C)-1&r)<<32-C|J>>>C),C=(e|0)>=0&r>>>0>=32767|(e|0)>0,r=C?32767:r,e=C?0:e,(e|0)<-1?e=1:e=(e|0)<0&r>>>0<=4294934528,X[E>>1]=e?-32768:r,f=f+1|0,(f|0)<X[p>>1];);}if(Z){if(f=5,(A|0)>=2){for(e=0,f=A;r=e,e=e+1|0,u=f>>>0>3,f=f>>>1|0,!!u;);f=r+6|0}if(R&&V[i[i[t+18584>>2]+432>>2]](n,4),w=t+14404|0,u=k?W:w,V[i[i[t+18584>>2]+(o?(o|0)==2?464:468:472)>>2]](u,n,A,f,(h|0)<20?20-h|0:0),!(!k|!i[t+28>>2]|(A|0)<=0))for(f=i[i[t+18588>>2]+124>>2],o=i[f+16832>>2],_=i[f+16840>>2],Z=A&2147483646,p=A&1,r=0;;){if(v=m(r,A),f=0,e=0,(A|0)!=1)for(;C=f+v<<2,I=C+u|0,i[I>>2]=i[I>>2]+(m(i[t+28>>2],i[w+C>>2]<<_>>o)>>3),C=C+4|0,I=C+u|0,i[I>>2]=i[I>>2]+(m(i[t+28>>2],i[w+C>>2]<<_>>o)>>3),f=f+2|0,e=e+2|0,(Z|0)!=(e|0););if(p&&(f=f+v<<2,e=f+u|0,i[e>>2]=i[e>>2]+(m(i[t+28>>2],i[f+w>>2]<<_>>o)>>3)),r=r+1|0,(A|0)==(r|0))break}if(V[i[i[t+18584>>2]+460>>2]](y,z,u,A,h),!R)break o;X[n>>1]=0,X[n+2>>1]=0,X[n+4>>1]=0,X[n+6>>1]=0,X[n+24>>1]=0,X[n+26>>1]=0,X[n+28>>1]=0,X[n+30>>1]=0,X[n+16>>1]=0,X[n+18>>1]=0,X[n+20>>1]=0,X[n+22>>1]=0,X[n+8>>1]=0,X[n+10>>1]=0,X[n+12>>1]=0,X[n+14>>1]=0;break o}if(o)break t;if(e=!(k|I)&(A|0)==4,s[v+8247|0]==1){r=0,w=B-4096|0,B=w,u=20-h|0,o=t+14404|0,f=k?w:o,_=i[t+18584>>2];u:{if(e){e=436;break u}e=440;l:switch(A-4|0){case 4:e=444;break u;case 12:e=448;break u;case 0:break u;default:break l}e=452}if(V[i[e+_>>2]](f,n,u,15),!(!k|!i[t+28>>2]|(A|0)<=0))for(e=i[i[t+18588>>2]+124>>2],n=i[e+16832>>2],u=i[e+16840>>2],Z=A&2147483646,p=A&1;;){if(v=m(r,A),e=0,C=0,(A|0)!=1)for(;R=e+v<<2,I=R+f|0,i[I>>2]=i[I>>2]+(m(i[t+28>>2],i[o+R>>2]<<u>>n)>>3),R=R+4|0,I=R+f|0,i[I>>2]=i[I>>2]+(m(i[t+28>>2],i[o+R>>2]<<u>>n)>>3),e=e+2|0,C=C+2|0,(Z|0)!=(C|0););if(p&&(e=e+v<<2,v=e+f|0,i[v>>2]=i[v>>2]+(m(i[t+28>>2],i[e+o>>2]<<u>>n)>>3)),r=r+1|0,(A|0)==(r|0))break}V[i[_+460>>2]](y,z,f,A,h),B=w+4096|0;break o}r=i[t+18584>>2]+172|0;u:{if(e){f=240;break u}f=244;l:switch(A-4|0){case 4:f=248;break u;case 12:f=252;break u;case 0:break u;default:break l}f=256}V[i[f+r>>2]](y,n,z,h)}if(e=(t+(k<<1)|0)+14396|0,X[e>>1]>0)for(r=i[t+2104>>2],A=(t+8252|0)+(k<<11)|0,f=0;X[r+(X[A+(f<<1)>>1]<<1)>>1]=0,f=f+1|0,(f|0)<X[e>>1];);B=W+4096|0;break n}break A}break e}t=f,R=B-4096|0,B=R;t:{if(k>>>0<3){if(u=i[f+18588>>2],n=i[u+168>>2],_=e>>n,(_|0)<0||(v=i[u+172>>2],(v|0)<=(_|0)))break r;if(h=r>>n,(h|0)<0|(h|0)>=i[u+176>>2])break i;W=k<<2,C=i[u+(k?44:40)>>2],z=(i[(W+u|0)+4>>2]+m(C,r)|0)+e|0,n=i[f+2104>>2],e=0,p=s[((i[u+160>>2]+m(_,3)|0)+m(m(h,v),3)|0)+1|0]&3,_=i[u+124>>2],y=!p&(A|0)==4&s[_+16820|0]!=0;o:{if(s[f+32|0]){if(e=(f+(k<<1)|0)+14396|0,X[e>>1]>0)for(f=0,r=k<<11,u=r+(t+8252|0)|0,r=r+(t+2108|0)|0;w=f<<1,X[n+(X[w+u>>1]<<1)>>1]=Q[r+w>>1],f=f+1|0,(f|0)<X[e>>1];);if(y&&V[i[i[t+18584>>2]+432>>2]](n,4),w=t+14404|0,u=k?R:w,V[i[i[t+18584>>2]+(o?(o|0)==2?368:372:364)>>2]](u,n,A),!(!k|!i[t+28>>2]|(A|0)<=0))for(f=i[i[t+18588>>2]+124>>2],o=i[f+16832>>2],_=i[f+16840>>2],W=A&2147483646,Z=A&1,r=0;;){if(h=m(r,A),f=0,e=0,(A|0)!=1)for(;v=f+h<<2,p=v+u|0,i[p>>2]=i[p>>2]+(m(i[t+28>>2],i[w+v>>2]<<_>>o)>>3),v=v+4|0,p=v+u|0,i[p>>2]=i[p>>2]+(m(i[t+28>>2],i[w+v>>2]<<_>>o)>>3),f=f+2|0,e=e+2|0,(W|0)!=(e|0););if(Z&&(f=f+h<<2,e=f+u|0,i[e>>2]=i[e>>2]+(m(i[t+28>>2],i[f+w>>2]<<_>>o)>>3)),r=r+1|0,(A|0)==(r|0))break}if(V[i[i[t+18584>>2]+456>>2]](z,C,u,A,8),!y)break o;X[n>>1]=0,X[n+2>>1]=0,X[n+4>>1]=0,X[n+6>>1]=0,X[n+24>>1]=0,X[n+26>>1]=0,X[n+28>>1]=0,X[n+30>>1]=0,X[n+16>>1]=0,X[n+18>>1]=0,X[n+20>>1]=0,X[n+22>>1]=0,X[n+8>>1]=0,X[n+10>>1]=0,X[n+12>>1]=0,X[n+14>>1]=0;break o}if(v=i[_+(k?16840:16832)>>2],(A|0)>=2)for(f=A;e=e+1|0,r=f>>>0>3,f=f>>>1|0,!!r;);h=i[u+132>>2],r=i[(t+W|0)+18536>>2],e=e+v|0;u:{if(!s[_+636|0]){if(u=(t+(k<<1)|0)+14396|0,X[u>>1]<=0)break u;for(r=i[((r|0)%6<<2)+46096>>2]<<(r|0)/6,w=e-9|0,_=1<<e-10,f=0,e=k<<11,v=e+(t+2108|0)|0,W=e+(t+8252|0)|0;I=f<<1,e=_+m(r,X[I+v>>1])>>w,e=(e|0)>=32767?32767:e,X[n+(X[W+I>>1]<<1)>>1]=(e|0)<=-32768?-32768:e,f=f+1|0,(f|0)<X[u>>1];);break u}f=k,u=f;l:{if(w||(u=f+3|0,(A|0)<=31))break l;u=f+1|0}f=u;l:{s:switch(a0(A-4|0,30)|0){case 1:f=(h+(f<<6)|0)+169|0;break l;case 3:f=(h+(f<<8)|0)+553|0;break l;case 7:f=(h+(f<<10)|0)+2089|0;break l;case 0:break s;default:break f}f=(h+(f<<4)|0)+73|0}if(W=(t+(k<<1)|0)+14396|0,X[W>>1]<=0)break u;for(_=f,I=(r|0)/6|0,D=i[(r-m(I,6)<<2)+46096>>2],u=e-5|0,w=1<<e-6,f0=w>>31,f=0,e=k<<11,H=e+(t+2108|0)|0,n0=e+(t+8252|0)|0;e=f<<1,r=X[e+n0>>1],a=n+(r<<1)|0,e=X[e+H>>1],E=e,J=e>>31,e=m(D,s[r+_|0])<<I,e=q0(E,J,e,e>>31),r=f0+w0|0,e=e+w|0,r=e>>>0<w>>>0?r+1|0:r,E=e,v=u&31,(u&63)>>>0>=32?(e=r>>31,r=r>>v):(e=r>>v,r=((1<<v)-1&r)<<32-v|E>>>v),v=(e|0)>=0&r>>>0>=32767|(e|0)>0,r=v?32767:r,e=v?0:e,(e|0)<-1?e=1:e=(e|0)<0&r>>>0<=4294934528,X[a>>1]=e?-32768:r,f=f+1|0,(f|0)<X[W>>1];);}if(Z){if(f=5,(A|0)>=2){for(e=0,f=A;r=e,e=e+1|0,u=f>>>0>3,f=f>>>1|0,!!u;);f=r+6|0}if(y&&V[i[i[t+18584>>2]+432>>2]](n,4),w=t+14404|0,u=k?R:w,V[i[i[t+18584>>2]+(o?(o|0)==2?464:468:472)>>2]](u,n,A,f,12),!(!k|!i[t+28>>2]|(A|0)<=0))for(f=i[i[t+18588>>2]+124>>2],o=i[f+16832>>2],_=i[f+16840>>2],W=A&2147483646,Z=A&1,r=0;;){if(h=m(r,A),f=0,e=0,(A|0)!=1)for(;v=f+h<<2,p=v+u|0,i[p>>2]=i[p>>2]+(m(i[t+28>>2],i[w+v>>2]<<_>>o)>>3),v=v+4|0,p=v+u|0,i[p>>2]=i[p>>2]+(m(i[t+28>>2],i[w+v>>2]<<_>>o)>>3),f=f+2|0,e=e+2|0,(W|0)!=(e|0););if(Z&&(f=f+h<<2,e=f+u|0,i[e>>2]=i[e>>2]+(m(i[t+28>>2],i[f+w>>2]<<_>>o)>>3)),r=r+1|0,(A|0)==(r|0))break}if(V[i[i[t+18584>>2]+456>>2]](z,C,u,A,8),!y)break o;X[n>>1]=0,X[n+2>>1]=0,X[n+4>>1]=0,X[n+6>>1]=0,X[n+24>>1]=0,X[n+26>>1]=0,X[n+28>>1]=0,X[n+30>>1]=0,X[n+16>>1]=0,X[n+18>>1]=0,X[n+20>>1]=0,X[n+22>>1]=0,X[n+8>>1]=0,X[n+10>>1]=0,X[n+12>>1]=0,X[n+14>>1]=0;break o}if(o)break e;if(e=!(k|p)&(A|0)==4,s[h+8247|0]==1){r=0,w=B-4096|0,B=w,o=t+14404|0,f=k?w:o,_=i[t+18584>>2];u:{if(e){e=436;break u}e=440;l:switch(A-4|0){case 4:e=444;break u;case 12:e=448;break u;case 0:break u;default:break l}e=452}if(V[i[e+_>>2]](f,n,12,15),!(!k|!i[t+28>>2]|(A|0)<=0))for(e=i[i[t+18588>>2]+124>>2],n=i[e+16832>>2],u=i[e+16840>>2],W=A&2147483646,Z=A&1;;){if(h=m(r,A),e=0,v=0,(A|0)!=1)for(;y=e+h<<2,p=y+f|0,i[p>>2]=i[p>>2]+(m(i[t+28>>2],i[o+y>>2]<<u>>n)>>3),y=y+4|0,p=y+f|0,i[p>>2]=i[p>>2]+(m(i[t+28>>2],i[o+y>>2]<<u>>n)>>3),e=e+2|0,v=v+2|0,(W|0)!=(v|0););if(Z&&(e=e+h<<2,h=e+f|0,i[h>>2]=i[h>>2]+(m(i[t+28>>2],i[e+o>>2]<<u>>n)>>3)),r=r+1|0,(A|0)==(r|0))break}V[i[_+456>>2]](z,C,f,A,8),B=w+4096|0;break o}r=i[t+18584>>2]+172|0;u:{if(e){f=216;break u}f=220;l:switch(A-4|0){case 4:f=224;break u;case 12:f=228;break u;case 0:break u;default:break l}f=232}V[i[f+r>>2]](z,n,C)}if(e=(t+(k<<1)|0)+14396|0,X[e>>1]>0)for(r=i[t+2104>>2],A=(t+8252|0)+(k<<11)|0,f=0;X[r+(X[A+(f<<1)>>1]<<1)>>1]=0,f=f+1|0,(f|0)<X[e>>1];);B=R+4096|0;break t}break A}}}return}C0(17356,13974,502,7784),P()}C0(17356,13974,377,7784),P()}C0(17177,13974,599,7784),P()}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function _r(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;k=B-304|0,B=k,i[k+280>>2]=0,i[k+284>>2]=0,i[k+288>>2]=0,i[k+292>>2]=0,i[k+296>>2]=0,i[k+272>>2]=0,i[k+276>>2]=0,i[k+264>>2]=68500,xk(k+240|0,k+264|0,e);i:{if(i[k+240>>2]){e=i[k+244>>2],i[f>>2]=i[k+240>>2],i[f+4>>2]=e,i[f+16>>2]=i[k+256>>2],e=i[k+252>>2],i[f+8>>2]=i[k+248>>2],i[f+12>>2]=e,i[k+256>>2]=0,i[k+248>>2]=0,i[k+252>>2]=0;break i}if(s[e+20|0]==1){if(l[k+60|0]=0,l[k+71|0]=0,r0(f,2,100,k+60|0),l[k+71|0]>=0)break i;G(i[k+60>>2]);break i}i[k+232>>2]=0,i[k+236>>2]=0;r:{e:{A:{f:{k:{n:{t:{o:{u:{l:{s:{h:{w:{_:{v:{Z:{m:{B:{p:{W:{G:{C:{y:{Y:{V:{F:{I:{D:{U:{M:{J:{x:{E:{Q:{g:{N:{if(A=i[k+280>>2],(A|0)<=1768973166){if((A|0)<=1668246641){if((A|0)<=1667523941){if((A|0)<=1635088450){if((A|0)==1630628984)break _;if((A|0)==1630629744)break v;if((A|0)!=1634497650)break A;A=U(88),i[A+16>>2]=0,i[A+20>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A>>2]=71464,i[A+16>>2]=70224,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1635088451)break M;if((A|0)==1635135811)break Y;if((A|0)!=1635148611)break A;A=U(96),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A+16>>2]=75028,i[A>>2]=72384,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+88>>2]=0,i[A+92>>2]=0,i[A+32>>2]=1635148611,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)<=1668112751){if((A|0)==1667523942)break s;if((A|0)==1668047216)break I;if((A|0)!=1668050025)break A;A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A>>2]=71904,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69852,i[A+32>>2]=1668050025,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1668112752)break l;if((A|0)==1668113784)break w;if((A|0)!=1668114798)break A;R7(k+60|0),n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;X:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break X;V[i[i[A>>2]+8>>2]](A),g(A)}break r}if((A|0)<=1752589122){if((A|0)<=1718909295){if((A|0)==1668246642)break m;if((A|0)==1684631142)break p;if((A|0)!=1685218662)break A;A=U(72),i[A+16>>2]=0,i[A+20>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71584,i[A+16>>2]=70464,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1718909296)break N;if((A|0)==1735553132)break C;if((A|0)!=1751411826)break A;A=U(104),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+72>>2]=0,i[A+76>>2]=1885954932,i[A>>2]=70664,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=68844,i[A+88>>2]=0,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+32>>2]=1751411826,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;X:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break X;V[i[i[A>>2]+8>>2]](A),g(A)}break r}if((A|0)<=1768714082){if((A|0)==1752589123)break V;if((A|0)==1768186228)break y;if((A|0)!=1768517222)break A;A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A>>2]=70784,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69084,i[A+32>>2]=1768517222,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1768714083)break E;if((A|0)==1768778098)break D;if((A|0)!=1768842853)break A;A=U(144),i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,X[A+76>>1]=0,i[A+68>>2]=0,i[A+72>>2]=0,i[A>>2]=70824,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69024,i[A+88>>2]=0,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,i[A+116>>2]=0,i[A+120>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+132>>2]=0,l[A+133|0]=0,l[A+134|0]=0,l[A+135|0]=0,l[A+136|0]=0,l[A+137|0]=0,l[A+138|0]=0,l[A+139|0]=0,l[A+140|0]=0,i[A+32>>2]=1768842853,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;X:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break X;V[i[i[A>>2]+8>>2]](A),g(A)}break r}if((A|0)<=1835365472){if((A|0)<=1781689159){if((A|0)<=1769104741){if((A|0)==1768973167)break x;if((A|0)==1768975713)break J;if((A|0)!=1768977008)break A;A=U(64),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=70864,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69144,i[A+32>>2]=1768977008,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1769104742)break F;if((A|0)==1769107316)break U;if((A|0)!=1769173093)break A;A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=70984,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69264,i[A+32>>2]=1769173093,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;X:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break X;V[i[i[A>>2]+8>>2]](A),g(A)}break r}if((A|0)<=1819501931)switch(A-1781689160|0){case 4:break o;case 0:break h;case 1:case 2:case 3:break A;default:break f}if((A|0)==1819501932)break Z;if((A|0)==1835295092)break n;if((A|0)!=1835295606)break A;A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A>>2]=71944,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=68524,i[A+72>>2]=0,i[A+76>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+32>>2]=1835295606,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)<=1887006051){if((A|0)<=1885564017){if((A|0)==1835365473)break g;if((A|0)==1836280643)break t;if((A|0)!=1885434736)break A;A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=1,i[A+68>>2]=1,i[A>>2]=71744,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69732,i[A+32>>2]=1885434736,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1885564018)break u;if((A|0)==1885959277)break Q;if((A|0)!=1885960297)break A;A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+80>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=71704,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69672,i[A+32>>2]=1885960297,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;X:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break X;V[i[i[A>>2]+8>>2]](A),g(A)}break r}if((A|0)<=1970433055){if((A|0)==1887006052)break G;if((A|0)==1937007986)break W;if((A|0)!=1969513843)break A;A=U(120),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=72064,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=70032,i[A+80>>2]=0,i[A+84>>2]=0,i[A+88>>2]=0,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,i[A+116>>2]=0,i[A+32>>2]=1969513843,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1970433056)break B;if((A|0)==1970628964)break k;if((A|0)!=1987470147)break A;A=U(160),i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+88>>2]=0,i[A+92>>2]=0,X[A+72>>1]=259,i[A+16>>2]=74936,i[A+152>>2]=0,i[A+144>>2]=0,i[A+148>>2]=0,i[A>>2]=71304,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,i[A+116>>2]=0,i[A+120>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+132>>2]=0,i[A+32>>2]=1987470147,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;X:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break X;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A>>2]=70584,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=68724,i[A+72>>2]=0,i[A+76>>2]=0,i[A+80>>2]=0,i[A+32>>2]=1718909296,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A>>2]=70624,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=68784,i[A+32>>2]=1835365473,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+68>>2]=0,i[A+72>>2]=0,i[A>>2]=70704,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=68904,i[A+32>>2]=1885959277,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(104),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+96>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=70744,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=68964,i[A+80>>2]=0,i[A+84>>2]=0,l[A+85|0]=0,l[A+86|0]=0,l[A+87|0]=0,l[A+88|0]=0,l[A+89|0]=0,l[A+90|0]=0,l[A+91|0]=0,l[A+92|0]=0,i[A+32>>2]=1768714083,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;E:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break E;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(64),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=70904,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69204,i[A+32>>2]=1768973167,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+80>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=70944,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69312,i[A+32>>2]=1768975713,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;J:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break J;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(96),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=71024,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69372,i[A+80>>2]=0,i[A+84>>2]=0,i[A+88>>2]=0,i[A+92>>2]=0,i[A+32>>2]=1635088451,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A>>2]=71064,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69432,i[A+32>>2]=1769107316,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A>>2]=71104,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69492,i[A+32>>2]=1768778098,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(96),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+88>>2]=0,i[A+92>>2]=1,i[A+80>>2]=0,i[A+84>>2]=1,i[A+72>>2]=0,i[A+76>>2]=1,i[A+64>>2]=0,i[A+68>>2]=1,i[A>>2]=71144,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69552,i[A+32>>2]=1668047216,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;I:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break I;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+80>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=71184,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69612,i[A+32>>2]=1769104742,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;F:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break F;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(112),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+108>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,l[A+96|0]=4,i[A+72>>2]=0,i[A+76>>2]=0,i[A+16>>2]=74252,i[A>>2]=71224,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1752589123,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;V:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break V;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,l[A+65|0]=0,l[A+66|0]=0,l[A+67|0]=0,l[A+68|0]=0,l[A+69|0]=0,l[A+70|0]=0,l[A+71|0]=0,l[A+72|0]=0,l[A+64|0]=1,i[A+16>>2]=74368,i[A>>2]=71264,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A+73|0]=0,l[A+74|0]=0,l[A+75|0]=0,l[A+76|0]=0,l[A+77|0]=0,l[A+78|0]=0,l[A+79|0]=0,l[A+80|0]=0,l[A+80|0]=0,l[A+81|0]=0,l[A+82|0]=0,l[A+83|0]=0,l[A+84|0]=0,l[A+85|0]=0,l[A+86|0]=0,l[A+87|0]=0,i[A+32>>2]=1635135811,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(96),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71344,n=B0(A+16|0,0,80),i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=70104,i[A+72>>2]=0,i[A+76>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+88>>2]=0,i[k+236>>2]=A,i[k+232>>2]=n,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(64),i[A+16>>2]=0,i[A+20>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71384,i[A+16>>2]=70164,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(104),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71424,n=B0(A+16|0,0,80),i[A+96>>2]=0,i[A+100>>2]=0,i[A+16>>2]=70344,i[k+236>>2]=A,i[k+232>>2]=n,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(88),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71504,n=B0(A+16|0,0,72),i[A+16>>2]=70284,i[k+236>>2]=A,i[k+232>>2]=n,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(64),i[A+16>>2]=0,i[A+20>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71544,i[A+16>>2]=70404,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(88),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71624,n=B0(A+16|0,0,72),i[A+72>>2]=0,i[A+76>>2]=0,i[A+16>>2]=70524,i[A+80>>2]=0,i[k+236>>2]=A,i[k+232>>2]=n,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=73032,i[A>>2]=71664,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1668246642,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,X[A+64>>1]=0,i[A>>2]=71784,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69792,i[A+32>>2]=1819501932,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,l[A+64|0]=0,i[A+16>>2]=74428,i[A>>2]=71824,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1630629744,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=74488,i[A>>2]=71864,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+72>>2]=0,i[A+32>>2]=1630628984,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}m7(k+60|0),n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;w:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break w;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(64),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+16>>2]=74848,i[A>>2]=72144,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1781689160,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+72>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=74608,i[A>>2]=72184,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1667523942,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;s:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break s;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+72>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=74668,i[A>>2]=72224,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1668112752,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;l:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break l;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=74728,i[A>>2]=72264,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+32>>2]=1885564018,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+80>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A+16>>2]=74788,i[A>>2]=72304,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+32>>2]=1781689164,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;o:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break o;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+16>>2]=75088,i[A>>2]=72344,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+32>>2]=1836280643,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(64),i[A+16>>2]=0,i[A+20>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A>>2]=72424,i[A+16>>2]=68616,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if(Z9(k+32|0,k+264|0),i[k+216>>2]=16,l[k+68|0]=157,l[k+69|0]=144,l[k+70|0]=78,l[k+71|0]=182,l[k+72|0]=236,l[k+73|0]=186,l[k+74|0]=243,l[k+75|0]=163,l[k+60|0]=34,l[k+61|0]=204,l[k+62|0]=4,l[k+63|0]=199,l[k+64|0]=214,l[k+65|0]=217,l[k+66|0]=78,l[k+67|0]=7,i[k+212>>2]=k+60,A=i[k+216>>2],i[k+24>>2]=i[k+212>>2],i[k+28>>2]=A,o=R9(k+220|0,k+24|0),n=i[o>>2],A=i[k+32>>2],u=i[k+36>>2]-A|0,(i[o+4>>2]-n|0)==(u|0)&&(t=!K2(A,n,u)),n&&(i[o+4>>2]=n,G(n),A=i[k+32>>2]),A&&(i[k+36>>2]=A,G(A)),t){R7(k+60|0),n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;k:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break k;V[i[i[A>>2]+8>>2]](A),g(A)}break r}if(Z9(k+32|0,k+264|0),i[k+208>>2]=16,l[k+68|0]=151,l[k+69|0]=174,l[k+70|0]=190,l[k+71|0]=166,l[k+72|0]=152,l[k+73|0]=3,l[k+74|0]=180,l[k+75|0]=52,l[k+60|0]=67,l[k+61|0]=99,l[k+62|0]=233,l[k+63|0]=20,l[k+64|0]=91,l[k+65|0]=125,l[k+66|0]=74,l[k+67|0]=171,i[k+204>>2]=k+60,A=i[k+208>>2],i[k+16>>2]=i[k+204>>2],i[k+20>>2]=A,t=0,o=R9(k+220|0,k+16|0),n=i[o>>2],A=i[k+32>>2],u=i[k+36>>2]-A|0,(i[o+4>>2]-n|0)==(u|0)&&(t=!K2(A,n,u)),n&&(i[o+4>>2]=n,G(n),A=i[k+32>>2]),A&&(i[k+36>>2]=A,G(A)),t){m7(k+60|0),n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;k:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break k;V[i[i[A>>2]+8>>2]](A),g(A)}break r}n=i[k+280>>2],A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+72>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A>>2]=72464,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=68664,i[A+32>>2]=n,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0,n=i[k+236>>2],i[k+236>>2]=A;k:{if(!n||(A=i[n+4>>2],i[n+4>>2]=A-1,A))break k;V[i[i[n>>2]+8>>2]](n),g(n)}break r}if((A|0)==1785751363)break e}n=U(80),i[n+32>>2]=0,i[n+36>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,i[n+72>>2]=0,i[n+64>>2]=0,i[n+68>>2]=0,i[n>>2]=72464,i[n+40>>2]=0,i[n+44>>2]=0,i[n+48>>2]=0,i[n+52>>2]=0,i[n+56>>2]=0,i[n+60>>2]=0,i[n+16>>2]=68664,i[n+32>>2]=A,i[k+236>>2]=n,i[k+232>>2]=n+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+72>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=74548,i[A>>2]=72104,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1785751363,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;e:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break e;V[i[i[A>>2]+8>>2]](A),g(A)}}v1(k+60|0),n=i[k+276>>2],A=i[k+232>>2],i[A+8>>2]=i[k+272>>2],i[A+12>>2]=n,i[A+16>>2]=i[k+280>>2],(A|0)!=(k+264|0)&&(n=i[k+284>>2],t=i[k+288>>2],W8(A+20|0,n,t,t-n|0)),n=i[k+296>>2],i[A+32>>2]=n;r:{if(i[e+12>>2]>=21){if(e=U(64),i[k+60>>2]=e,i[k+64>>2]=61,i[k+68>>2]=-2147483584,r=s[13095]|s[13096]<<8|(s[13097]<<16|s[13098]<<24),A=s[13091]|s[13092]<<8|(s[13093]<<16|s[13094]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+61|0]=0,r=s[13148]|s[13149]<<8|(s[13150]<<16|s[13151]<<24),A=s[13144]|s[13145]<<8|(s[13146]<<16|s[13147]<<24),l[e+53|0]=A,l[e+54|0]=A>>>8,l[e+55|0]=A>>>16,l[e+56|0]=A>>>24,l[e+57|0]=r,l[e+58|0]=r>>>8,l[e+59|0]=r>>>16,l[e+60|0]=r>>>24,r=s[13143]|s[13144]<<8|(s[13145]<<16|s[13146]<<24),A=s[13139]|s[13140]<<8|(s[13141]<<16|s[13142]<<24),l[e+48|0]=A,l[e+49|0]=A>>>8,l[e+50|0]=A>>>16,l[e+51|0]=A>>>24,l[e+52|0]=r,l[e+53|0]=r>>>8,l[e+54|0]=r>>>16,l[e+55|0]=r>>>24,r=s[13135]|s[13136]<<8|(s[13137]<<16|s[13138]<<24),A=s[13131]|s[13132]<<8|(s[13133]<<16|s[13134]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[13127]|s[13128]<<8|(s[13129]<<16|s[13130]<<24),A=s[13123]|s[13124]<<8|(s[13125]<<16|s[13126]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[13119]|s[13120]<<8|(s[13121]<<16|s[13122]<<24),A=s[13115]|s[13116]<<8|(s[13117]<<16|s[13118]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[13111]|s[13112]<<8|(s[13113]<<16|s[13114]<<24),A=s[13107]|s[13108]<<8|(s[13109]<<16|s[13110]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[13103]|s[13104]<<8|(s[13105]<<16|s[13106]<<24),A=s[13099]|s[13100]<<8|(s[13101]<<16|s[13102]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,6,1e3,k+60|0),l[k+71|0]>=0)break r;G(i[k+60>>2]);break r}t=i[k+276>>2],o=t;e:{A:{if(A=i[k+272>>2],t|A){if(!t&A>>>0<n>>>0){i[k+68>>2]=54496,i[k+124>>2]=54516,e=i[13633],i[k+60>>2]=e,r=i[e-12>>2],e=k+60|0,i[r+e>>2]=i[13634],i[k+64>>2]=0,r=e+i[i[k+60>>2]-12>>2]|0,A=k+72|0,b0(r,A),i[r+72>>2]=0,i[r+76>>2]=-1,r=i[13635],i[k+68>>2]=r,t=i[r-12>>2],r=k+68|0,i[t+r>>2]=i[13636],n=i[13632],i[k+60>>2]=n,i[e+i[n-12>>2]>>2]=i[13637],i[k+124>>2]=54516,i[k+60>>2]=54476,i[k+68>>2]=54496,e=$0(A),i[e>>2]=53552,i[k+112>>2]=0,i[k+116>>2]=0,i[k+104>>2]=0,i[k+108>>2]=0,i[k+120>>2]=24,x(L0(x(n4(x(r,18592,10),i[k+272>>2],i[k+276>>2]),18603,34),i[k+296>>2]),18243,7),r=k+32|0,i2(r,e),r0(f,2,101,r),l[k+43|0]<0&&G(i[k+32>>2]),f=i[13631],i[k+60>>2]=f,i[i[f-12>>2]+(k+60|0)>>2]=i[13639],i[k+68>>2]=i[13640],i[e>>2]=53552,l[k+115|0]<0&&G(i[k+104>>2]),K0(e),T0(k+124|0);break r}if(t=A-n|0,A=o-(A>>>0<n>>>0)|0,(A|0)==1|A>>>0>1){if(e=f,f=C1(k+60|0,10369),r0(e,6,101,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}if((o|0)<0){if(e=f,f=C1(k+60|0,31341),r0(e,2,101,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}if(A=i[e>>2],n=V[i[i[A>>2]+8>>2]](A)|0,o=i[e>>2],A=w0,n=n+t|0,A=n>>>0<t>>>0?A+1|0:A,V[i[i[o>>2]+12>>2]](o,n,A)|0){if(e=f,f=C1(k+60|0,31341),r0(e,2,100,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}if(A=i[k+276>>2],t=A,n=i[k+272>>2],A|n)break A}A=i[e+16>>2];break e}if(o=i[k+296>>2],A=n-o|0,n=t-(n>>>0<o>>>0)|0,(n|0)<=0&k0[e+16>>2]>=A>>>0|(n|0)<0)break e;if(l[k+60|0]=0,l[k+71|0]=0,r0(f,2,101,k+60|0),l[k+71|0]>=0)break r;G(i[k+60>>2]);break r}if(i[k+52>>2]=i[e>>2],n=i[e+4>>2],i[k+56>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),n=i[k+56>>2],i[k+8>>2]=i[k+52>>2],i[k+12>>2]=n,n=_e(k+60|0,k+8|0,A,e),e=i[k+232>>2],V[i[i[e>>2]+28>>2]](k+32|0,e,n),A=i[k+36>>2],e=i[k+32>>2],i[k+240>>2]=e,i[k+244>>2]=A,l[k+259|0]<0&&(G(i[k+248>>2]),e=i[k+240>>2]),A=i[k+44>>2],i[k+248>>2]=i[k+40>>2],i[k+252>>2]=A,i[k+256>>2]=i[k+48>>2],(e|0)==i[19564]&&si(r,k+232|0),A=i[n+16>>2],A&&(e=i[n+8>>2],e&&($t(e,A),A=i[n+16>>2]),e=i[n>>2],t=V[i[i[e>>2]+8>>2]](e)|0,r=w0,o=A,A=A+t|0,r=o>>>0>A>>>0?r+1|0:r,V[i[i[e>>2]+20>>2]](e,A,r)|0,i[n+16>>2]=0),e=i[k+244>>2],i[f>>2]=i[k+240>>2],i[f+4>>2]=e,i[f+16>>2]=i[k+256>>2],e=i[k+252>>2],i[f+8>>2]=i[k+248>>2],i[f+12>>2]=e,i[k+248>>2]=0,i[k+252>>2]=0,i[k+256>>2]=0,f=i[n+4>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[k+236>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}l[k+259|0]<0&&G(i[k+248>>2]),i[k+264>>2]=68500,f=i[k+284>>2],f&&(i[k+288>>2]=f,G(f)),B=k+304|0}function N8(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0;h=B-112|0,B=h,o=i[e>>2],u=i[o+28>>2],w=i[o+24>>2];i:{r:{if(!H2(o,6)||(y4(i[e>>2],6)|0)==(w|0)&&(F4(i[e>>2],6)|0)==(u|0))break r;i[f>>2]=0,i[f+4>>2]=0;break i}if(!(A-4>>>0>4294967292|r)){i[f>>2]=0,i[f+4>>2]=0;break i}l[h+110|0]=1,X[h+108>>1]=2,i[h+104>>2]=131074,l[h+92|0]=0,i[h+84>>2]=99,i[h+88>>2]=99,i[h+96>>2]=8,i[h+100>>2]=72992,u=h+100|0,o=u,l[o+10|0]=1,X[o+8>>1]=6,i[o+4>>2]=851969,o=i[e>>2],i[h+84>>2]=i[o+32>>2],i[h+88>>2]=i[o+36>>2],H2(o,6)?w=1:(o=i[i[e>>2]+36>>2],w=43008>>>o&o>>>0<16),l[h+92|0]=w,o=i[i[e>>2]+44>>2],o&&(i[h+104>>2]=i[o+4>>2],o=s[o+7|0]|s[o+8|0]<<8|(s[o+9|0]<<16|s[o+10|0]<<24),l[h+107|0]=o,l[h+108|0]=o>>>8,l[h+109|0]=o>>>16,l[h+110|0]=o>>>24),Dt(u),l7(h+72|0,i[e>>2]),D=h,z=U0(i[e>>2],i[i[h+72>>2]+16>>2]),i[D+96>>2]=z,o=i[h+96>>2],i[h+48>>2]=i[h+92>>2],i[h+52>>2]=o,o=i[h+88>>2],i[h+40>>2]=i[h+84>>2],i[h+44>>2]=o,i[h+56>>2]=72992,o=s[h+107|0]|s[h+108|0]<<8|(s[h+109|0]<<16|s[h+110|0]<<24),l[h+63|0]=o,l[h+64|0]=o>>>8,l[h+65|0]=o>>>16,l[h+66|0]=o>>>24,o=i[h+104>>2],i[h+40>>2]=r,i[h+44>>2]=A,i[h+60>>2]=o,r=i[k>>2],r&&(i[h+60>>2]=i[r+4>>2],r=s[r+7|0]|s[r+8|0]<<8|(s[r+9|0]<<16|s[r+10|0]<<24),l[h+63|0]=r,l[h+64|0]=r>>>8,l[h+65|0]=r>>>16,l[h+66|0]=r>>>24),Q[h+64>>1]==2&&(X[h+64>>1]=Q[h+108>>1]),Q[h+60>>1]==2&&(X[h+60>>1]=Q[h+104>>1]),Q[h+62>>1]==2&&(X[h+62>>1]=Q[h+106>>1]),r=1;r:{e:switch(A|0){case 10:case 12:case 14:r=3;break r;case 11:case 13:case 15:r=4;break r;case 0:case 1:case 2:case 3:case 99:break r;default:break e}r=0}if(l[h+48|0]=(r|0)>=2?43008>>>A&A>>>0<16:s[h+92|0],n&&(i[h+52>>2]=n),(A&-2)!=10?r=i[h+52>>2]<9:(i[h+52>>2]=8,r=1),!r|(A&-4)!=12||(i[h+52>>2]=10),i[h+20>>2]=0,i[h+12>>2]=0,i[h+16>>2]=0,p=h+40|0,o=B-112|0,B=o,A=i[h+16>>2],k=i[h+12>>2],(A|0)!=(k|0))for(;;){r=i[A-60>>2];r:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A+-64|0,(k|0)==(A|0))break}i[h+16>>2]=k,r=i[t+12>>2],i[h+32>>2]=i[t+8>>2],i[h+36>>2]=r,r=i[t+4>>2],i[h+24>>2]=i[t>>2],i[h+28>>2]=r,r=i[h+84>>2];r:{e:{if((r|0)!=i[p>>2]|i[h+88>>2]!=i[p+4>>2]|(s[h+92|0]!=s[p+8|0]|i[h+96>>2]!=i[p+12>>2]))break e;if(w=1,r)break r;if(s[h+110|0]!=s[p+26|0]|Q[h+108>>1]!=Q[p+24>>1])break e;if(Q[h+104>>1]==Q[p+20>>1])break r}mA(),i[o+108>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+96>>2]=0,i[o+88>>2]=0,i[o+92>>2]=0,l[o+82|0]=1,X[o+80>>1]=2,i[o+76>>2]=131074,l[o+64|0]=0,i[o+60>>2]=99,i[o+52>>2]=0,i[o+56>>2]=99,i[o+44>>2]=-1,i[o+48>>2]=0,i[o+68>>2]=8,i[o+72>>2]=72992,l[o+82|0]=1,X[o+80>>1]=6,i[o+76>>2]=851969,i[o+44>>2]=-1,i[o+48>>2]=0,r=i[o+52>>2],i[o+52>>2]=0;e:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break e;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[h+88>>2],i[o+56>>2]=i[h+84>>2],i[o+60>>2]=r,r=i[h+96>>2],i[o+64>>2]=i[h+92>>2],i[o+68>>2]=r,r=s[h+107|0]|s[h+108|0]<<8|(s[h+109|0]<<16|s[h+110|0]<<24),l[o+79|0]=r,l[o+80|0]=r>>>8,l[o+81|0]=r>>>16,l[o+82|0]=r>>>24,i[o+76>>2]=i[h+104>>2],i[o+84>>2]=0,r=i[o+92>>2];e:{if(r>>>0<k0[o+96>>2]){i[r>>2]=i[o+44>>2],i[r+4>>2]=i[o+48>>2],i[r+8>>2]=i[o+52>>2],i[o+48>>2]=0,i[o+52>>2]=0,A=i[o+68>>2],i[r+20>>2]=i[o+64>>2],i[r+24>>2]=A,A=i[o+60>>2],i[r+12>>2]=i[o+56>>2],i[r+16>>2]=A,i[r+28>>2]=72992,i[r+32>>2]=i[o+76>>2],A=s[o+79|0]|s[o+80|0]<<8|(s[o+81|0]<<16|s[o+82|0]<<24),l[r+35|0]=A,l[r+36|0]=A>>>8,l[r+37|0]=A>>>16,l[r+38|0]=A>>>24,i[r+40>>2]=i[o+84>>2],i[o+92>>2]=r+44;break e}A:{f:{if(k=i[o+92>>2],Z=i[o+88>>2],A=(k-Z|0)/44|0,r=A+1|0,r>>>0<97612894){if(n=(i[o+96>>2]-Z|0)/44|0,u=n<<1,r=n>>>0>=48806446?97612893:r>>>0<u>>>0?u:r,r){if(r>>>0>=97612894)break f;n=U(m(r,44))}else n=0;A=n+m(A,44)|0,i[A>>2]=i[o+44>>2],i[A+4>>2]=i[o+48>>2],i[A+8>>2]=i[o+52>>2],i[o+48>>2]=0,i[o+52>>2]=0,u=i[o+68>>2],i[A+20>>2]=i[o+64>>2],i[A+24>>2]=u,u=i[o+60>>2],i[A+12>>2]=i[o+56>>2],i[A+16>>2]=u,i[A+28>>2]=72992,i[A+32>>2]=i[o+76>>2],u=s[o+79|0]|s[o+80|0]<<8|(s[o+81|0]<<16|s[o+82|0]<<24),l[A+35|0]=u,l[A+36|0]=u>>>8,l[A+37|0]=u>>>16,l[A+38|0]=u>>>24,i[A+40>>2]=i[o+84>>2],v=n+m(r,44)|0,n=A+44|0;k:{if((k|0)==(Z|0)){r=A;break k}for(;r=A-44|0,u=k-44|0,i[r>>2]=i[u>>2],w=k-40|0,i[A-40>>2]=i[w>>2],i[A-36>>2]=i[k-36>>2],i[w>>2]=0,i[w+4>>2]=0,w=k-32|0,W=i[w+12>>2],_=A-32|0,i[_+8>>2]=i[w+8>>2],i[_+12>>2]=W,W=i[w+4>>2],i[_>>2]=i[w>>2],i[_+4>>2]=W,i[A-16>>2]=72992,w=A-12|0,_=k-12|0,i[w>>2]=i[_>>2],_=s[_+3|0]|s[_+4|0]<<8|(s[_+5|0]<<16|s[_+6|0]<<24),l[w+3|0]=_,l[w+4|0]=_>>>8,l[w+5|0]=_>>>16,l[w+6|0]=_>>>24,i[A-4>>2]=i[k-4>>2],A=r,k=u,(Z|0)!=(k|0););}if(i[o+96>>2]=v,k=i[o+88>>2],i[o+88>>2]=r,A=i[o+92>>2],i[o+92>>2]=n,(A|0)!=(k|0))for(;;){r=i[A-36>>2];k:{if(!r||(u=i[r+4>>2],i[r+4>>2]=u-1,u))break k;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-44|0,(k|0)==(A|0))break}k&&G(k);break A}y0(),P()}_2(),P()}if(i[o+92>>2]=n,r=i[o+52>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break e;V[i[i[r>>2]+8>>2]](r),g(r)}A=i[o+92>>2],u=i[o+88>>2],w=0;e:{if((A|0)==(u|0))break e;for(;;){k=-1,r=A-u|0;A:{if((r|0)<=0)break A;A=(r>>>0)/44|0,A=A>>>0<=1?1:A,_=A&3,w=0;f:{if(r>>>0<176){r=2147483647,A=0;break f}for(E=A&67108860,A=0,r=2147483647,n=0;v=i[(m(A,44)+u|0)+40>>2],Z=(v|0)<(r|0),y=A|1,W=i[(m(y,44)+u|0)+40>>2],r=Z?v:r,v=(W|0)<(r|0),I=A|2,C=i[(m(I,44)+u|0)+40>>2],r=v?W:r,W=(C|0)<(r|0),J=A|3,R=i[(m(J,44)+u|0)+40>>2],r=W?C:r,C=(R|0)<(r|0),r=C?R:r,k=C?J:W?I:v?y:Z?A:k,A=A+4|0,n=n+4|0,(E|0)!=(n|0););}if(!_)break A;for(;Z=i[(m(A,44)+u|0)+40>>2],n=(Z|0)<(r|0),r=n?Z:r,k=n?A:k,A=A+1|0,w=w+1|0,(_|0)!=(w|0););}v=m(k,44),n=v+u|0,r=i[o+104>>2];A:{if(r>>>0<k0[o+108>>2]){i[r>>2]=i[n>>2],i[r+4>>2]=i[n+4>>2],A=i[n+8>>2],i[r+8>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),A=i[n+16>>2],i[r+12>>2]=i[n+12>>2],i[r+16>>2]=A,A=i[n+24>>2],i[r+20>>2]=i[n+20>>2],i[r+24>>2]=A,i[r+28>>2]=72992,i[r+32>>2]=i[n+32>>2],A=s[n+35|0]|s[n+36|0]<<8|(s[n+37|0]<<16|s[n+38|0]<<24),l[r+35|0]=A,l[r+36|0]=A>>>8,l[r+37|0]=A>>>16,l[r+38|0]=A>>>24,i[r+40>>2]=i[n+40>>2],A=r+44|0;break A}f:{k:{if(k=i[o+104>>2],u=i[o+100>>2],A=(k-u|0)/44|0,r=A+1|0,r>>>0<97612894){if(w=(i[o+108>>2]-u|0)/44|0,_=w<<1,w=w>>>0>=48806446?97612893:r>>>0<_>>>0?_:r,w){if(w>>>0>=97612894)break k;r=U(m(w,44))}else r=0;A=r+m(A,44)|0,i[A>>2]=i[n>>2],i[A+4>>2]=i[n+4>>2],_=i[n+8>>2],i[A+8>>2]=_,_&&(i[_+4>>2]=i[_+4>>2]+1,u=i[o+100>>2],k=i[o+104>>2]),W=r+m(w,44)|0,r=i[n+16>>2],i[A+12>>2]=i[n+12>>2],i[A+16>>2]=r,r=i[n+24>>2],i[A+20>>2]=i[n+20>>2],i[A+24>>2]=r,i[A+28>>2]=72992,i[A+32>>2]=i[n+32>>2],r=s[n+35|0]|s[n+36|0]<<8|(s[n+37|0]<<16|s[n+38|0]<<24),l[A+35|0]=r,l[A+36|0]=r>>>8,l[A+37|0]=r>>>16,l[A+38|0]=r>>>24,i[A+40>>2]=i[n+40>>2],n=A+44|0;n:{if((k|0)==(u|0)){r=A;break n}for(;r=A-44|0,w=k-44|0,i[r>>2]=i[w>>2],_=k-40|0,i[A-40>>2]=i[_>>2],i[A-36>>2]=i[k-36>>2],i[_>>2]=0,i[_+4>>2]=0,_=k-32|0,C=i[_+12>>2],Z=A-32|0,i[Z+8>>2]=i[_+8>>2],i[Z+12>>2]=C,C=i[_+4>>2],i[Z>>2]=i[_>>2],i[Z+4>>2]=C,i[A-16>>2]=72992,_=A-12|0,Z=k-12|0,i[_>>2]=i[Z>>2],Z=s[Z+3|0]|s[Z+4|0]<<8|(s[Z+5|0]<<16|s[Z+6|0]<<24),l[_+3|0]=Z,l[_+4|0]=Z>>>8,l[_+5|0]=Z>>>16,l[_+6|0]=Z>>>24,i[A-4>>2]=i[k-4>>2],A=r,k=w,(u|0)!=(k|0););k=i[o+104>>2],u=i[o+100>>2]}if(i[o+108>>2]=W,i[o+104>>2]=n,i[o+100>>2]=r,(k|0)!=(u|0))for(;;){r=i[k-36>>2];n:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k-44|0,(u|0)==(k|0))break}u&&G(u),A=n;break f}y0(),P()}_2(),P()}u=i[o+88>>2]}i[o+104>>2]=A,r=u+v|0,k=i[o+92>>2],i[r>>2]=i[k-44>>2],A=i[k-40>>2],n=i[k-36>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[r+4>>2]=A,A=i[r+8>>2],i[r+8>>2]=n;A:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break A;V[i[i[A>>2]+8>>2]](A),g(A)}A=k-32|0,n=i[A+4>>2],i[r+12>>2]=i[A>>2],i[r+16>>2]=n,n=i[A+12>>2],i[r+20>>2]=i[A+8>>2],i[r+24>>2]=n,A=k-12|0,i[r+32>>2]=i[A>>2],A=s[A+3|0]|s[A+4|0]<<8|(s[A+5|0]<<16|s[A+6|0]<<24),l[r+35|0]=A,l[r+36|0]=A>>>8,l[r+37|0]=A>>>16,l[r+38|0]=A>>>24,i[r+40>>2]=i[k-4>>2],A=i[o+92>>2],r=i[A-36>>2];A:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break A;V[i[i[r>>2]+8>>2]](r),g(r)}A=A-44|0,i[o+92>>2]=A;A:{if(r=i[o+104>>2],k=i[r-32>>2],(k|0)!=i[p>>2]|i[r-28>>2]!=i[p+4>>2]|(s[r-24|0]!=s[p+8|0]|i[r-20>>2]!=i[p+12>>2])||!k&&s[r-6|0]!=s[p+26|0]|Q[r-8>>1]!=Q[p+24>>1]|Q[r-12>>1]!=Q[p+20>>1])break A;k=i[o+100>>2],r=((r-k|0)/44|0)-1|0;f:{k:{if(r){for(A=0;n=A,A=A+1|0,r=i[k+m(r,44)>>2],!!r;);if(k=i[h+16>>2],r=k,w=i[h+12>>2],u=r-w>>6,n>>>0<u>>>0)break k;t=0;n:{if(n=A-u|0,w=i[h+20>>2],n>>>0<=w-r>>6>>>0){if(n)for(r=(n<<6)+r|0;i[k+32>>2]=0,i[k+36>>2]=0,n=k+24|0,i[n>>2]=0,i[n+4>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,i[k>>2]=0,i[k+4>>2]=0,i[k+56>>2]=0,i[k+60>>2]=0,i[k+48>>2]=0,i[k+52>>2]=0,i[k+40>>2]=0,i[k+44>>2]=0,i[k+8>>2]=99,i[k+12>>2]=99,l[k+34|0]=1,X[k+32>>1]=2,i[k+28>>2]=131074,i[k+24>>2]=72992,i[k+20>>2]=8,l[k+34|0]=1,X[k+32>>1]=6,i[k+28>>2]=851969,l[k+62|0]=1,X[k+60>>1]=2,i[k+56>>2]=131074,i[k+52>>2]=72992,i[k+48>>2]=8,l[k+44|0]=0,i[k+36>>2]=99,i[k+40>>2]=99,l[k+62|0]=1,X[k+60>>1]=6,i[k+56>>2]=851969,k=k- -64|0,(r|0)!=(k|0););i[h+16>>2]=k;break n}t:{if(r=k,k=i[h+12>>2],_=r-k>>6,r=_+n|0,r>>>0<67108864){if(k=w-k|0,u=k>>5,u=k>>>0>=2147483584?67108863:r>>>0<u>>>0?u:r,u){if(u>>>0>=67108864)break t;t=U(u<<6)}for(r=(_<<6)+t|0,n=r+(n<<6)|0,k=r;i[k+32>>2]=0,i[k+36>>2]=0,w=k+24|0,i[w>>2]=0,i[w+4>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,i[k>>2]=0,i[k+4>>2]=0,i[k+56>>2]=0,i[k+60>>2]=0,i[k+48>>2]=0,i[k+52>>2]=0,i[k+40>>2]=0,i[k+44>>2]=0,i[k+8>>2]=99,i[k+12>>2]=99,l[k+34|0]=1,X[k+32>>1]=2,i[k+28>>2]=131074,i[k+24>>2]=72992,i[k+20>>2]=8,l[k+34|0]=1,X[k+32>>1]=6,i[k+28>>2]=851969,l[k+62|0]=1,X[k+60>>1]=2,i[k+56>>2]=131074,i[k+52>>2]=72992,i[k+48>>2]=8,l[k+44|0]=0,i[k+36>>2]=99,i[k+40>>2]=99,l[k+62|0]=1,X[k+60>>1]=6,i[k+56>>2]=851969,k=k- -64|0,(n|0)!=(k|0););Z=(u<<6)+t|0,n=i[h+16>>2],u=i[h+12>>2];o:{if((n|0)==(u|0)){t=r;break o}for(;t=r+-64|0,w=n+-64|0,i[t>>2]=i[w>>2],i[r-60>>2]=i[n-60>>2],i[w>>2]=0,i[w+4>>2]=0,_=n-56|0,v=i[_+12>>2],p=r-56|0,i[p+8>>2]=i[_+8>>2],i[p+12>>2]=v,v=i[_+4>>2],i[p>>2]=i[_>>2],i[p+4>>2]=v,i[r-40>>2]=72992,_=r-36|0,p=n-36|0,i[_>>2]=i[p>>2],p=s[p+3|0]|s[p+4|0]<<8|(s[p+5|0]<<16|s[p+6|0]<<24),l[_+3|0]=p,l[_+4|0]=p>>>8,l[_+5|0]=p>>>16,l[_+6|0]=p>>>24,_=n-28|0,v=i[_+4>>2],p=r-28|0,i[p>>2]=i[_>>2],i[p+4>>2]=v,v=i[_+12>>2],i[p+8>>2]=i[_+8>>2],i[p+12>>2]=v,i[r-12>>2]=72992,r=r-8|0,n=n-8|0,i[r>>2]=i[n>>2],n=s[n+3|0]|s[n+4|0]<<8|(s[n+5|0]<<16|s[n+6|0]<<24),l[r+3|0]=n,l[r+4|0]=n>>>8,l[r+5|0]=n>>>16,l[r+6|0]=n>>>24,r=t,n=w,(u|0)!=(n|0););n=i[h+16>>2],u=i[h+12>>2]}if(i[h+20>>2]=Z,i[h+16>>2]=k,i[h+12>>2]=t,(n|0)!=(u|0))for(;;){r=i[n-60>>2];o:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break o;V[i[i[r>>2]+8>>2]](r),g(r)}if(n=n+-64|0,(u|0)==(n|0))break}u&&G(u);break n}y0(),P()}_2(),P()}break f}r=i[h+16>>2],w=i[h+12>>2],u=r-w>>6,A=0}if(A>>>0>=u>>>0)break f;if(n=(A<<6)+w|0,(n|0)!=(r|0))for(;;){k=i[r-60>>2];k:{if(!k||(t=i[k+4>>2],i[k+4>>2]=t-1,t))break k;V[i[i[k>>2]+8>>2]](k),g(k)}if(r=r+-64|0,(n|0)==(r|0))break}i[h+16>>2]=n}if(r=i[h+12>>2],n=i[o+100>>2],t=((i[o+104>>2]-n|0)/44|0)-1|0,t){u=A-1|0,k=(u<<6)+r|0,r=n+m(t,44)|0,w=i[r+4>>2],n=i[r+8>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[k>>2]=w,r=i[k+4>>2],i[k+4>>2]=n;f:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break f;V[i[i[r>>2]+8>>2]](r),g(r)}if(t=m(t,44),k=t+i[o+100>>2]|0,n=i[k+16>>2],r=i[h+12>>2]+(u<<6)|0,i[r+36>>2]=i[k+12>>2],i[r+40>>2]=n,n=i[k+24>>2],i[r+44>>2]=i[k+20>>2],i[r+48>>2]=n,n=s[k+35|0]|s[k+36|0]<<8|(s[k+37|0]<<16|s[k+38|0]<<24),l[r+59|0]=n,l[r+60|0]=n>>>8,l[r+61|0]=n>>>16,l[r+62|0]=n>>>24,i[r+56>>2]=i[k+32>>2],k=i[o+100>>2],w=i[t+k>>2],w)for(r=1;;){u=(r^-1)+A<<6,n=u+i[h+12>>2]|0,w=m(w,44),k=w+k|0,_=i[k+4>>2],t=i[k+8>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[n>>2]=_,k=i[n+4>>2],i[n+4>>2]=t;f:{if(!k||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break f;V[i[i[k>>2]+8>>2]](k),g(k)}if(n=w+i[o+100>>2]|0,t=i[n+16>>2],k=u+i[h+12>>2]|0,i[k+36>>2]=i[n+12>>2],i[k+40>>2]=t,t=i[n+24>>2],i[k+44>>2]=i[n+20>>2],i[k+48>>2]=t,t=s[n+35|0]|s[n+36|0]<<8|(s[n+37|0]<<16|s[n+38|0]<<24),l[k+59|0]=t,l[k+60|0]=t>>>8,l[k+61|0]=t>>>16,l[k+62|0]=t>>>24,i[k+56>>2]=i[n+32>>2],n=i[h+12>>2],k=n+(A-r<<6)|0,n=n+u|0,t=i[n+40>>2],i[k+8>>2]=i[n+36>>2],i[k+12>>2]=t,t=i[n+48>>2],i[k+16>>2]=i[n+44>>2],i[k+20>>2]=t,t=s[n+59|0]|s[n+60|0]<<8|(s[n+61|0]<<16|s[n+62|0]<<24),l[k+31|0]=t,l[k+32|0]=t>>>8,l[k+33|0]=t>>>16,l[k+34|0]=t>>>24,i[k+28>>2]=i[n+56>>2],r=r+1|0,k=i[o+100>>2],w=i[w+k>>2],!w)break}r=i[h+12>>2]}A=i[h+88>>2],i[r+8>>2]=i[h+84>>2],i[r+12>>2]=A,A=i[h+96>>2],i[r+16>>2]=i[h+92>>2],i[r+20>>2]=A,A=s[h+107|0]|s[h+108|0]<<8|(s[h+109|0]<<16|s[h+110|0]<<24),l[r+31|0]=A,l[r+32|0]=A>>>8,l[r+33|0]=A>>>16,l[r+34|0]=A>>>24,i[r+28>>2]=i[h+104>>2],u=i[o+88>>2],w=1;break e}if(_=i[19590],C=i[19591],(_|0)!=(C|0)){for(;;){if(r=i[_>>2],V[i[i[r>>2]+8>>2]](o+32|0,r,i[o+104>>2]-32|0,p,t),u=i[o+32>>2],E=i[o+36>>2],(u|0)!=(E|0)){A:{f:{for(;;){k:{k=i[o+104>>2],Z=i[k-4>>2],w=i[u+28>>2],r=i[o+100>>2];n:{if((r|0)!=(k|0))for(n=i[u>>2],A=r;;){t:{if((n|0)!=i[A+12>>2]|i[A+16>>2]!=i[u+4>>2]|(s[A+20|0]!=s[u+8|0]|i[A+24>>2]!=i[u+12>>2]))break t;if(n)break n;if(s[A+38|0]!=s[u+26|0]|Q[A+36>>1]!=Q[u+24>>1])break t;if(Q[A+32>>1]==Q[u+20>>1])break n}if(A=A+44|0,(k|0)==(A|0))break}if(n=w+Z|0,A=i[o+88>>2],v=i[o+92>>2],(A|0)!=(v|0))for(Z=i[u>>2];;){t:{if((Z|0)!=i[A+12>>2]|i[A+16>>2]!=i[u+4>>2]|(s[A+20|0]!=s[u+8|0]|i[A+24>>2]!=i[u+12>>2])||!Z&&s[A+38|0]!=s[u+26|0]|Q[A+36>>1]!=Q[u+24>>1]|Q[A+32>>1]!=Q[u+20>>1])break t;if((n|0)>=i[A+40>>2])break n;l[o+82|0]=1,X[o+80>>1]=2,i[o+76>>2]=131074,l[o+64|0]=0,i[o+60>>2]=99,i[o+52>>2]=0,i[o+56>>2]=99,i[o+44>>2]=-1,i[o+48>>2]=0,i[o+68>>2]=8,i[o+72>>2]=72992,l[o+82|0]=1,X[o+80>>1]=6,i[o+76>>2]=851969,i[o+44>>2]=((k-r|0)/44|0)-1,r=i[_>>2],k=i[_+4>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[o+48>>2]=r,r=i[o+52>>2],i[o+52>>2]=k;o:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break o;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[u+4>>2],i[o+56>>2]=i[u>>2],i[o+60>>2]=r,r=i[u+12>>2],i[o+64>>2]=i[u+8>>2],i[o+68>>2]=r,r=s[u+23|0]|s[u+24|0]<<8|(s[u+25|0]<<16|s[u+26|0]<<24),l[o+79|0]=r,l[o+80|0]=r>>>8,l[o+81|0]=r>>>16,l[o+82|0]=r>>>24,i[o+76>>2]=i[u+20>>2],i[o+84>>2]=w,i[A>>2]=i[o+44>>2],k=i[o+48>>2],w=i[o+52>>2],i[o+48>>2]=0,i[o+52>>2]=0,r=i[A+8>>2],i[A+4>>2]=k,i[A+8>>2]=w;o:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break o;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[o+60>>2],i[A+12>>2]=i[o+56>>2],i[A+16>>2]=r,r=i[o+68>>2],i[A+20>>2]=i[o+64>>2],i[A+24>>2]=r,r=s[o+79|0]|s[o+80|0]<<8|(s[o+81|0]<<16|s[o+82|0]<<24),l[A+35|0]=r,l[A+36|0]=r>>>8,l[A+37|0]=r>>>16,l[A+38|0]=r>>>24,i[A+32>>2]=i[o+76>>2],i[A+40>>2]=i[o+84>>2],r=i[o+52>>2];o:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break o;V[i[i[r>>2]+8>>2]](r),g(r)}i[A+40>>2]=n;break n}if(A=A+44|0,(v|0)==(A|0))break}A=i[u+12>>2],i[o+24>>2]=i[u+8>>2],i[o+28>>2]=A,A=i[u+4>>2],i[o+16>>2]=i[u>>2],i[o+20>>2]=A,i[o+8>>2]=i[u+20>>2],A=s[u+23|0]|s[u+24|0]<<8|(s[u+25|0]<<16|s[u+26|0]<<24),l[o+11|0]=A,l[o+12|0]=A>>>8,l[o+13|0]=A>>>16,l[o+14|0]=A>>>24,l[o+82|0]=1,X[o+80>>1]=2,i[o+76>>2]=131074,i[o+72>>2]=72992,i[o+68>>2]=8,l[o+64|0]=0,i[o+60>>2]=99,i[o+52>>2]=0,i[o+56>>2]=99,i[o+44>>2]=-1,i[o+48>>2]=0,l[o+82|0]=1,X[o+80>>1]=6,i[o+76>>2]=851969,i[o+44>>2]=((k-r|0)/44|0)-1,r=i[_>>2],A=i[_+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[o+48>>2]=r,r=i[o+52>>2],i[o+52>>2]=A;t:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break t;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[o+20>>2],i[o+56>>2]=i[o+16>>2],i[o+60>>2]=r,r=i[o+28>>2],i[o+64>>2]=i[o+24>>2],i[o+68>>2]=r,r=s[o+11|0]|s[o+12|0]<<8|(s[o+13|0]<<16|s[o+14|0]<<24),l[o+79|0]=r,l[o+80|0]=r>>>8,l[o+81|0]=r>>>16,l[o+82|0]=r>>>24,i[o+76>>2]=i[o+8>>2],i[o+84>>2]=n,A=i[o+92>>2],k=i[o+96>>2];t:{if(A>>>0<k>>>0){i[A>>2]=i[o+44>>2],i[A+4>>2]=i[o+48>>2],i[A+8>>2]=i[o+52>>2],i[o+48>>2]=0,i[o+52>>2]=0,r=i[o+68>>2],i[A+20>>2]=i[o+64>>2],i[A+24>>2]=r,r=i[o+60>>2],i[A+12>>2]=i[o+56>>2],i[A+16>>2]=r,i[A+28>>2]=72992,i[A+32>>2]=i[o+76>>2],r=s[o+79|0]|s[o+80|0]<<8|(s[o+81|0]<<16|s[o+82|0]<<24),l[A+35|0]=r,l[A+36|0]=r>>>8,l[A+37|0]=r>>>16,l[A+38|0]=r>>>24,i[A+40>>2]=i[o+84>>2],Z=A+44|0;break t}if(w=i[o+88>>2],v=(A-w|0)/44|0,r=v+1|0,r>>>0>=97612894)break k;if(k=(k-w|0)/44|0,Z=k<<1,k=k>>>0>=48806446?97612893:r>>>0<Z>>>0?Z:r,k){if(k>>>0>=97612894)break f;Z=U(m(k,44))}else Z=0;r=Z+m(v,44)|0,i[r>>2]=i[o+44>>2],i[r+4>>2]=i[o+48>>2],i[r+8>>2]=i[o+52>>2],i[o+48>>2]=0,i[o+52>>2]=0,v=i[o+28>>2],i[r+20>>2]=i[o+24>>2],i[r+24>>2]=v,v=i[o+20>>2],i[r+12>>2]=i[o+16>>2],i[r+16>>2]=v,i[r+28>>2]=72992,i[r+32>>2]=i[o+8>>2],v=s[o+11|0]|s[o+12|0]<<8|(s[o+13|0]<<16|s[o+14|0]<<24),l[r+35|0]=v,l[r+36|0]=v>>>8,l[r+37|0]=v>>>16,l[r+38|0]=v>>>24,i[r+40>>2]=n,y=Z+m(k,44)|0,Z=r+44|0;o:{if((A|0)==(w|0)){n=r;break o}for(;n=r-44|0,k=A-44|0,i[n>>2]=i[k>>2],v=A-40|0,i[r-40>>2]=i[v>>2],i[r-36>>2]=i[A-36>>2],i[v>>2]=0,i[v+4>>2]=0,v=A-32|0,I=i[v+12>>2],W=r-32|0,i[W+8>>2]=i[v+8>>2],i[W+12>>2]=I,I=i[v+4>>2],i[W>>2]=i[v>>2],i[W+4>>2]=I,i[r-16>>2]=72992,v=r-12|0,W=A-12|0,i[v>>2]=i[W>>2],W=s[W+3|0]|s[W+4|0]<<8|(s[W+5|0]<<16|s[W+6|0]<<24),l[v+3|0]=W,l[v+4|0]=W>>>8,l[v+5|0]=W>>>16,l[v+6|0]=W>>>24,i[r-4>>2]=i[A-4>>2],r=n,A=k,(w|0)!=(k|0););A=i[o+92>>2],w=i[o+88>>2]}if(i[o+96>>2]=y,i[o+92>>2]=Z,i[o+88>>2]=n,(A|0)!=(w|0))for(;;){r=i[A-36>>2];o:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break o;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-44|0,(w|0)==(A|0))break}if(!w)break t;G(w)}if(i[o+92>>2]=Z,r=i[o+52>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(u=u+32|0,(E|0)!=(u|0))continue;break A}break}y0(),P()}_2(),P()}u=i[o+32>>2]}if(u&&(i[o+36>>2]=u,G(u)),_=_+8|0,(C|0)==(_|0))break}A=i[o+92>>2]}if(u=i[o+88>>2],(u|0)==(A|0))break}w=0}if(u){if(r=u,A=i[o+92>>2],(r|0)!=(A|0)){for(;;){r=i[A-36>>2];e:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-44|0,(u|0)==(A|0))break}r=i[o+88>>2]}i[o+92>>2]=u,G(r)}if(k=i[o+100>>2],!k)break r;if(r=k,A=i[o+104>>2],(r|0)!=(A|0)){for(;;){r=i[A-36>>2];e:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-44|0,(k|0)==(A|0))break}r=i[o+100>>2]}i[o+104>>2]=k,G(r)}B=o+112|0;r:{if(!w){i[f>>2]=0,i[f+4>>2]=0;break r}t=f,u=B-48|0,B=u,f=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+2),r=h+12|0,Z=i[r>>2],C=i[r+4>>2];e:{A:{if((Z|0)==(C|0)){A=f,r=e;break A}for(E=r+12|0,w=u+16|0;;){r=i[Z>>2],i[u+36>>2]=e,i[u+32>>2]=f,e&&(i[e+4>>2]=i[e+4>>2]+1),V[i[i[r>>2]+12>>2]](u+40|0,r,u+32|0,Z+8|0,Z+36|0,E),r=i[u+44>>2],A=i[u+40>>2],i[u+40>>2]=0,i[u+44>>2]=0;f:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k||(V[i[i[e>>2]+8>>2]](e),g(e)),k=i[u+44>>2],!k)||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break f;V[i[i[k>>2]+8>>2]](k),g(k)}k=i[u+36>>2];f:{if(!k||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break f;V[i[i[k>>2]+8>>2]](k),g(k)}f:{k:{n:{if(A){p=U(24),k=p,i[k+4>>2]=0,i[k+8>>2]=0,i[k+12>>2]=72992,i[k>>2]=72832,i[k+16>>2]=i[Z+56>>2],n=s[Z+59|0]|s[Z+60|0]<<8|(s[Z+61|0]<<16|s[Z+62|0]<<24),l[k+19|0]=n,l[k+20|0]=n>>>8,l[k+21|0]=n>>>16,l[k+22|0]=n>>>24,i[k+4>>2]=2,i[A+44>>2]=k+12,n=i[A+48>>2],i[A+48>>2]=k;t:{if(!n||(k=i[n+4>>2],i[n+4>>2]=k-1,k))break t;V[i[i[n>>2]+8>>2]](n),g(n)}k=i[p+4>>2],i[p+4>>2]=k-1,k||(V[i[i[p>>2]+8>>2]](p),g(p)),k=i[f+52>>2],n=i[f+56>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[A+52>>2]=k,k=i[A+56>>2],i[A+56>>2]=n;t:{if(!k||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break t;V[i[i[k>>2]+8>>2]](k),g(k)}if(l[A+40|0]=s[f+40|0],Q[f+80>>1]|Q[f+82>>1]&&(i[A+80>>2]=i[f+80>>2]),s[f+108|0]==1&&(k=i[f+92>>2],n=i[f+96>>2],o=i[f+84>>2],_=i[f+88>>2],v=i[f+104>>2],i[A+100>>2]=i[f+100>>2],i[A+104>>2]=v,i[A+92>>2]=k,i[A+96>>2]=n,i[A+84>>2]=o,i[A+88>>2]=_,l[A+108|0]=1),k=i[f+72>>2],n=i[f+76>>2],(k|0)!=(n|0)&&(i[A+76>>2]=n,i[A+72>>2]=k),_=i[f+112>>2],y=i[f+116>>2],(_|0)==(y|0))break f;for(;;){f=i[_+4>>2],i[u+8>>2]=i[_>>2],i[u+12>>2]=f;t:{if(l[_+19|0]>=0){f=i[_+12>>2],i[w>>2]=i[_+8>>2],i[w+4>>2]=f,i[w+8>>2]=i[_+16>>2];break t}_0(w,i[_+8>>2],i[_+12>>2])}f=i[A+116>>2],k=i[A+120>>2];t:{if(f>>>0<k>>>0){k=i[u+12>>2],i[f>>2]=i[u+8>>2],i[f+4>>2]=k,i[f+16>>2]=i[w+8>>2],k=i[w+4>>2],i[f+8>>2]=i[w>>2],i[f+12>>2]=k,i[w>>2]=0,i[w+4>>2]=0,i[w+8>>2]=0,W=f+20|0;break t}if(n=i[A+112>>2],o=(f-n|0)/20|0,f=o+1|0,f>>>0>=214748365)break n;if(k=(k-n|0)/20|0,n=k<<1,f=k>>>0>=107374182?214748364:f>>>0<n>>>0?n:f,f){if(f>>>0>=214748365)break k;n=U(m(f,20))}else n=0;k=n+m(o,20)|0,o=i[u+12>>2],i[k>>2]=i[u+8>>2],i[k+4>>2]=o,i[k+16>>2]=i[w+8>>2],o=i[w+4>>2],i[k+8>>2]=i[w>>2],i[k+12>>2]=o,i[w>>2]=0,i[w+4>>2]=0,i[w+8>>2]=0,I=n+m(f,20)|0,W=k+20|0,f=i[A+116>>2],v=i[A+112>>2];o:{if((f|0)==(v|0)){n=k;break o}for(;o=f-20|0,J=i[o+4>>2],n=k-20|0,i[n>>2]=i[o>>2],i[n+4>>2]=J,k=k-12|0,f=f-12|0,i[k+8>>2]=i[f+8>>2],J=i[f+4>>2],i[k>>2]=i[f>>2],i[k+4>>2]=J,i[f>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0,k=n,f=o,(o|0)!=(v|0););f=i[A+116>>2],v=i[A+112>>2]}if(i[A+120>>2]=I,i[A+116>>2]=W,i[A+112>>2]=n,(f|0)!=(v|0))for(;l[f-1|0]<0&&G(i[f-12>>2]),f=f-20|0,(v|0)!=(f|0););if(!v)break t;G(v)}if(i[A+116>>2]=W,l[u+27|0]<0&&G(i[u+16>>2]),_=_+20|0,(y|0)==(_|0))break}break f}i[t>>2]=0,i[t+4>>2]=0;t:{if(!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break t;V[i[i[r>>2]+8>>2]](r),g(r)}r=e;break e}y0(),P()}_2(),P()}r&&(i[r+4>>2]=i[r+4>>2]+1);f:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break f;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=i[p+4>>2],i[p+4>>2]=f-1,f||(V[i[i[p>>2]+8>>2]](p),g(p)),e=r,f=A,Z=Z- -64|0,(C|0)==(Z|0))break}}i[t+4>>2]=r,i[t>>2]=A}e:{if(!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break e;V[i[i[r>>2]+8>>2]](r),g(r)}B=u+48|0}if(f=i[h+12>>2],f){if(e=i[h+16>>2],r=f,(e|0)!=(r|0)){for(;;){r=i[e-60>>2];r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e+-64|0,(f|0)==(e|0))break}r=i[h+12>>2]}i[h+16>>2]=f,G(r)}j6(h+72|0,i[h+76>>2])}B=h+112|0}function fk(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0;if(l[e|0]=0,r=i[f+3208>>2],t=i[f+3212>>2],(r|0)==(t|0))return 0;i:{r:{W=i[r>>2],A=i[W+428>>2],k=i[W+424>>2];e:{A:{if((A|0)==(k|0))break A;for(A=A-k>>2,A=A>>>0<=1?1:A;;){if(n=i[k+(I<<2)>>2],i[n+40>>2]){if(I=I+1|0,(A|0)!=(I|0))continue;break A}break}if(s[n+36|0]==1&&Ut(f+2140|0),l[e|0]=1,t=0,o=i[n+4>>2],A=i[o+1352>>2],(A|0)!=i[o+1356>>2])for(k=f+2140|0;r=M9(k,i[(t<<2)+A>>2]),(r|0)>=0&&(i[i[i[f+2148>>2]+(r<<2)>>2]+100>>2]=0),t=t+1|0,A=i[o+1352>>2],t>>>0<i[o+1356>>2]-A>>2>>>0;);w=i[W>>2],r=i[w+132>>2],i[n+40>>2]=1,u=s[r+46|0],Z=s[r+45|0],k=i[w+112>>2],o=i[k+1884>>2];f:{if(u|(Z|(o|0)<=0))break f;A=i[k+168>>2];k:{if((A|0)>0){for(r=k+88|0,t=0;;){if(i[r+(t<<2)>>2]==1e3)break f;if(t=t+1|0,(A|0)==(t|0))break}if((A|0)>19)break k}i[k+168>>2]=A+1,i[(k+(A<<2)|0)+88>>2]=1e3}if(r=i[k+84>>2],(r|0)==20){i[k+80>>2]=1001;break f}i[k+84>>2]=r+1,i[(k+4|0)+(r<<2)>>2]=1e3}A=i[W+424>>2],t=i[W+428>>2];f:{if((A|0)==(t|0)|(n|0)!=i[A>>2]||(k=i[i[n+4>>2]+24>>2],(k|0)<=0))break f;for(t=0;r=i[w+320>>2]+m(t,76)|0,i[r>>2]<=0&&(i[r>>2]=1),t=t+1|0,(k|0)!=(t|0););A=i[W+424>>2],t=i[W+428>>2]}k=t-A>>2;f:{if(k>>>0<2)break f;for(t=1;;){if(r=(t<<2)+A|0,(n|0)!=i[r>>2]){if(t=t+1|0,(k|0)!=(t|0))continue;break f}break}if(w=i[r-4>>2],!w|i[w+40>>2]!=2||(k=k-1|0,!k))break f;for(t=0;;){if(r=(t<<2)+A|0,(w|0)!=i[r>>2]){if(t=t+1|0,(k|0)!=(t|0))continue;break f}break}if(A=i[r+4>>2],!A||(t=i[i[w+4>>2]+24>>2],(t|0)>=i[i[A+4>>2]+24>>2]))break f;for(;;){if(r=i[W>>2],i[r+144>>2]<=(t|0))break f;if(r=i[r+320>>2]+m(t,76)|0,i[r>>2]<=0&&(i[r>>2]=1),t=t+1|0,!((t|0)<i[i[A+4>>2]+24>>2]))break}}t=0;f:{k:{n:{if(!(u|Z&&(o|0)>0)){if(o=0,u=B-18608|0,B=u,I=i[n+4>>2],A=i[I+1352>>2],(A|0)!=i[I+1356>>2]){for(k=f+2140|0;r=M9(k,i[(o<<2)+A>>2]),(r|0)>=0&&(i[i[i[f+2148>>2]+(r<<2)>>2]+100>>2]=0),o=o+1|0,A=i[I+1352>>2],o>>>0<i[I+1356>>2]-A>>2>>>0;);I=i[n+4>>2]}if(o=6,r=i[i[W>>2]+132>>2],k0[I+24>>2]<i[r+8452>>2]-i[r+8448>>2]>>2>>>0){Z=u+18572|0,i[Z>>2]=0,i[Z+4>>2]=0,i[u+18516>>2]=0,r=u+18508|0,i[r>>2]=0,i[r+4>>2]=0,i[u+18500>>2]=0,i[u+18504>>2]=0,r=(u+38&-16)+16|0,i[u+2104>>2]=r,B0(r,0,2048),r=i[n+4>>2],i[u+18592>>2]=r,A=i[W>>2],i[u+18600>>2]=n,i[u+18596>>2]=W,i[u+18584>>2]=f,i[u+18588>>2]=A,r=i[i[i[A+132>>2]+8448>>2]+(i[r+24>>2]<<2)>>2],i[u+18604>>2]=0,i[u+4>>2]=r,m6(u),r=i[n+12>>2];t:{if((r|0)<=0){o=17;break t}S6(u+18548|0,i[n+8>>2],r);o:{if(!s[i[i[W>>2]+132>>2]+45|0]|!s[i[n+4>>2]+12|0])break o;if(k=i[i[i[f+2216>>2]+124>>2]+16900>>2]-1|0,o=i[W+472>>2],r=i[W+468>>2],A=o-r>>3,k>>>0>A>>>0){Un(W+468|0,k-A|0);break o}if(A>>>0<=k>>>0)break o;if(r=r+(k<<3)|0,(r|0)!=(o|0))for(;o=C8(o-8|0),(r|0)!=(o|0););i[W+472>>2]=r}i[n+120>>2]=1,o=0,I=0,k=i[u+18588>>2],A=i[k+124>>2],h=i[A+16908>>2],r=i[u+4>>2],(h|0)>(r|0)&&(h=i[i[i[k+132>>2]+8460>>2]+(r<<2)>>2]),A=i[A+16892>>2],i[u>>2]=h,r=(h|0)/(A|0)|0,i[u+12>>2]=r,i[u+8>>2]=h-m(r,A),r=i[u+18592>>2],w=i[k+132>>2],k=18;o:{u:{l:{if(!JA(u)||(Y6(u+18548|0),k=0,!(mr(u,0,!s[r+20|0])&-3)))break l;A=u+18572|0,h=1;s:{if(s[w+46|0]){if(o=i[u+18592>>2],I=i[o+804>>2],I>>>0>2)break u;k=0;break s}k=1}for(;;){if(!k){k6(A,I,i[o+800>>2]),l[u+18580|0]=0,l[u+18581|0]=0,l[u+18582|0]=0,l[u+18583|0]=0,k=1;continue}for(;;){r=i[u+18592>>2],k=i[r+784>>2],o=i[r+788>>2]-k>>2,r=h-1|0;s:{if(o>>>0>r>>>0&&i[k+(r<<2)>>2]==((i[u+18552>>2]-i[u+18548>>2]|0)-2|0))break s;v2(i[u+18584>>2]+4|0,1003,1)}if(k=0,!(mr(u,0,0)&-3))break l;if(h=h+1|0,!!s[w+46|0])break}if(o=i[u+18592>>2],I=i[o+804>>2],!(I>>>0<3))break}break u}r=k;break o}C0(16898,14036,1520,4043),P()}o=r,i[n+44>>2]<=0&&(i[n+44>>2]=1)}C8(Z)}if(B=u+18608|0,A=o,i[n+40>>2]=2,o=i[W+424>>2],k=(i[W+428>>2]-o>>2)-1|0,!k)break n;for(;;){if(r=o+(t<<2)|0,(n|0)!=i[r>>2]){if(t=t+1|0,(k|0)!=(t|0))continue;break n}break}if(k=i[r+4>>2],!k||(t=i[i[n+4>>2]+24>>2],(t|0)>=i[i[k+4>>2]+24>>2]))break n;for(;;){if(r=i[W>>2],i[r+144>>2]<=(t|0))break n;if(r=i[r+320>>2]+m(t,76)|0,i[r>>2]<=0&&(i[r>>2]=1),t=t+1|0,!((t|0)<i[i[k+4>>2]+24>>2]))break}break n}if(Z&&(A=1006,u))break n;if(Z){t:{if(E=i[W>>2],i[E+332>>2]==(0-i[E+328>>2]|0)){u=i[n+4>>2],C=i[u+776>>2],h=i[E+132>>2],r=i[E+124>>2],Z=i[r+16892>>2];o:{if(!s[u+12|0])break o;if(o=i[r+16900>>2]-1|0,r=i[W+472>>2],A=i[W+468>>2],k=r-A>>3,o>>>0>k>>>0){Un(W+468|0,o-k|0);break o}if(k>>>0<=o>>>0)break o;if(A=A+(o<<3)|0,(A|0)!=(r|0))for(;r=C8(r-8|0),(A|0)!=(r|0););i[W+472>>2]=A}if(i[n+132>>2])break r;w=C+1|0,p=U((n0=-1,h0=q0(w,0,18608,0)|4,j=w0,j?n0:h0)),i[p>>2]=w,A=p+4|0;o:{if(!w){i[n+136>>2]=w,i[n+132>>2]=A;break o}for(o=A+m(w,18608)|0,r=A;k=r+18572|0,i[k>>2]=0,i[k+4>>2]=0,i[r+18516>>2]=0,k=r+18508|0,i[k>>2]=0,i[k+4>>2]=0,i[r+18500>>2]=0,i[r+18504>>2]=0,i[r+18584>>2]=0,i[r+18588>>2]=0,k=r+18592|0,i[k>>2]=0,i[k+4>>2]=0,i[r+18600>>2]=0,k=(r+38&-15)+16|0,i[r+2104>>2]=k,B0(k,0,2048),r=r+18608|0,(o|0)!=(r|0););if(i[n+136>>2]=w,i[n+132>>2]=A,(C|0)<0)break o;if(k=i[u+24>>2],y=(k|0)/(Z|0)|0,C){if(k-m(Z,y)|0)break o;if((C|0)==2147483647)break i}if(i[p+18596>>2]=u,r=i[E+112>>2],i[p+18604>>2]=n,i[p+18600>>2]=W,i[p+18592>>2]=E,i[p+18588>>2]=r,i[p+8>>2]=i[i[h+8448>>2]+(k<<2)>>2],m6(A),w=n+12|0,r=w,C&&(r=i[u+784>>2]),r=i[r>>2],(r|0)>i[w>>2]||(o=1,(r|0)<=0)||(S6(p+18552|0,i[n+8>>2],r),i[E+324>>2]=i[E+324>>2]+1,i[E+340>>2]=i[E+340>>2]+1,i[n+120>>2]=i[n+120>>2]+1,u7(f,A,1,y),!C))break o;for(;;){if(i[n+136>>2]<=(o|0))break i;if(p=i[n+132>>2]+m(o,18608)|0,i[p+18592>>2]=u,r=i[E+112>>2],i[p+18600>>2]=n,i[p+18596>>2]=W,i[p+18588>>2]=E,i[p+18584>>2]=r,y=y+1|0,i[p+4>>2]=i[i[h+8448>>2]+(m(Z,y)<<2)>>2],m6(p),A=o<<2,r=i[u+784>>2],k=i[(A+r|0)-4>>2],(k|0)<0||(A=r+A|0,r=(o|0)!=(C|0),A=i[(r?A:w)>>2],(A|0)>i[w>>2]|(A|0)<=(k|0)))break o;if(S6(p+18548|0,k+i[n+8>>2]|0,A-k|0),i[E+324>>2]=i[E+324>>2]+1,i[E+340>>2]=i[E+340>>2]+1,i[n+120>>2]=i[n+120>>2]+1,u7(f,p,0,y),o=o+1|0,!r)break}}if(We(E),A=i[W+460>>2],o=i[W+456>>2],(A|0)!=(o|0))for(r=0;k=i[(r<<2)+o>>2],k&&(V[i[i[k>>2]+4>>2]](k),o=i[W+456>>2],A=i[W+460>>2]),r=r+1|0,r>>>0<A-o>>2>>>0;);i[W+460>>2]=o;break t}C0(17327,13894,1003,14969),P()}if(i[n+40>>2]=2,A=0,o=i[W+424>>2],k=(i[W+428>>2]-o>>2)-1|0,!k)break n;for(;;){if(r=o+(t<<2)|0,(n|0)!=i[r>>2]){if(t=t+1|0,(k|0)!=(t|0))continue;break n}break}if(k=i[r+4>>2],!k||(t=i[i[n+4>>2]+24>>2],(t|0)>=i[i[k+4>>2]+24>>2]))break n;for(;;){if(r=i[W>>2],i[r+144>>2]<=(t|0))break n;if(r=i[r+320>>2]+m(t,76)|0,i[r>>2]<=0&&(i[r>>2]=1),t=t+1|0,!((t|0)<i[i[k+4>>2]+24>>2]))break}break n}if(!u)break k;t:{if(z=i[W>>2],i[z+332>>2]==(0-i[z+328>>2]|0)){if(i[n+132>>2])break r;_=i[z+132>>2],R=i[i[z+124>>2]+16892>>2],E=i[n+4>>2],v=i[E+776>>2],w=v+1|0,Z=U((n0=-1,h0=q0(w,0,18608,0)|4,j=w0,j?n0:h0)),i[Z>>2]=w,A=Z+4|0;o:{if(!w){i[n+136>>2]=w,i[n+132>>2]=A;break o}for(o=A+m(w,18608)|0,r=A;k=r+18572|0,i[k>>2]=0,i[k+4>>2]=0,i[r+18516>>2]=0,k=r+18508|0,i[k>>2]=0,i[k+4>>2]=0,i[r+18500>>2]=0,i[r+18504>>2]=0,i[r+18584>>2]=0,i[r+18588>>2]=0,k=r+18592|0,i[k>>2]=0,i[k+4>>2]=0,i[r+18600>>2]=0,k=(r+38&-15)+16|0,i[r+2104>>2]=k,B0(k,0,2048),r=r+18608|0,(o|0)!=(r|0););if(i[n+136>>2]=w,i[n+132>>2]=A,(v|0)<0)break o;if((v|0)==2147483647)break i;if(w=i[E+24>>2],k=w<<2,p=i[k+i[_+8484>>2]>>2],i[Z+18596>>2]=E,r=i[z+112>>2],i[Z+18604>>2]=n,i[Z+18600>>2]=W,i[Z+18592>>2]=z,i[Z+18588>>2]=r,i[Z+8>>2]=i[k+i[_+8448>>2]>>2],m6(A),C=n+12|0,r=C,v&&(r=i[E+784>>2]),r=i[r>>2],(r|0)>i[C>>2]){h=17;break o}if(o=1,(r|0)<=0){h=17;break o}if(S6(Z+18552|0,i[n+8>>2],r),i[z+324>>2]=i[z+324>>2]+1,i[z+340>>2]=i[z+340>>2]+1,i[n+120>>2]=i[n+120>>2]+1,r=(w|0)/(R|0)|0,t7(f,A,1,w-m(r,R)|0,r),!v)break o;for(Z=_+8404|0,w=_+8360|0;;){if(p=p+1|0,A=i[_+48>>2],(p|0)>=(m(A,i[_+52>>2])|0)){h=1007;break o}if(i[n+136>>2]<=(o|0))break i;if(r=(p|0)/(A|0)|0,k=i[Z+(r<<2)>>2],A=i[w+(p-m(r,A)<<2)>>2],y=i[n+132>>2]+m(o,18608)|0,i[y+18592>>2]=E,r=i[z+112>>2],i[y+18600>>2]=n,i[y+18596>>2]=W,i[y+18588>>2]=z,i[y+18584>>2]=r,k=A+m(k,R)|0,i[y+4>>2]=i[i[_+8448>>2]+(k<<2)>>2],m6(y),A=o<<2,r=i[E+784>>2],u=i[(A+r|0)-4>>2],(u|0)<0){h=17;break o}if(r=i[((o|0)!=(v|0)?r+A|0:C)>>2],(r|0)>i[C>>2]){h=17;break o}if((r|0)<=(u|0)){h=17;break o}if(S6(y+18548|0,u+i[n+8>>2]|0,r-u|0),i[z+324>>2]=i[z+324>>2]+1,i[z+340>>2]=i[z+340>>2]+1,i[n+120>>2]=i[n+120>>2]+1,r=(k|0)/(R|0)|0,t7(f,y,0,k-m(r,R)|0,r),r=(o|0)!=(v|0),o=o+1|0,!r)break}}if(We(z),A=i[W+460>>2],o=i[W+456>>2],(A|0)!=(o|0))for(r=0;k=i[(r<<2)+o>>2],k&&(V[i[i[k>>2]+4>>2]](k),o=i[W+456>>2],A=i[W+460>>2]),r=r+1|0,r>>>0<A-o>>2>>>0;);i[W+460>>2]=o,A=h;break t}C0(17327,13894,1117,4295),P()}if(i[n+40>>2]=2,o=i[W+424>>2],k=(i[W+428>>2]-o>>2)-1|0,!k)break n;for(;;){if(r=o+(t<<2)|0,(n|0)!=i[r>>2]){if(t=t+1|0,(k|0)!=(t|0))continue;break n}break}if(k=i[r+4>>2],!k||(t=i[i[n+4>>2]+24>>2],(t|0)>=i[i[k+4>>2]+24>>2]))break n;for(;;){if(r=i[W>>2],i[r+144>>2]<=(t|0))break n;if(r=i[r+320>>2]+m(t,76)|0,i[r>>2]<=0&&(i[r>>2]=1),t=t+1|0,!((t|0)<i[i[k+4>>2]+24>>2]))break}}r=A;break f}C0(9349,13894,985,7749),P()}if(r)break e;r=i[f+3208>>2],t=i[f+3212>>2]}A:{if(t-r>>>0>=5&&(h=i[r>>2],A=i[h+428>>2],i[i[A-4>>2]+40>>2]|(A|0)==i[h+424>>2]))break A;if((r|0)==(t|0))return 0;if(h=i[r>>2],A=i[h+428>>2],(A|0)!=i[h+424>>2]&&(r=0,!i[i[A-4>>2]+40>>2])||(r=0,i[f+580>>2]!=((i[f+556>>2]?-1:0)|0)))break e;if(s[f+548|0])break A;if(s[f+549|0]!=1)break e}if(l[e|0]=1,r=i[h>>2],i[r+144>>2]>0)for(I=0;e=i[r+320>>2]+m(I,76)|0,i[e>>2]<=0&&(i[e>>2]=1),I=I+1|0,(I|0)<i[r+144>>2];);_=i[h>>2],e=i[_+112>>2],A=s[e+532|0];A:{if(i[i[i[f+2216>>2]+112>>2]+1884>>2]){if(r=1,!(A&1)){A=0,Z=i[h>>2],r=i[Z+112>>2],e=i[i[Z+124>>2]+16900>>2]<<1,i[Z+324>>2]=e+i[Z+324>>2],i[Z+340>>2]=e+i[Z+340>>2];f:{if(i[i[Z+124>>2]+16900>>2]<=0)break f;o=r+1392|0;k:{n:{for(;;){w=U(20),l[w+16|0]=1,i[w+12>>2]=A,i[w+8>>2]=Z,i[w>>2]=42876,i[w+4>>2]=0,p=i[h+460>>2],e=i[h+464>>2];t:{if(p>>>0<e>>>0){i[p>>2]=w,k=p+4|0;break t}if(u=i[h+456>>2],k=p-u>>2,n=k+1|0,n>>>0>=1073741824)break n;if(r=e-u|0,e=r>>1,r=r>>>0>=2147483644?1073741823:e>>>0>n>>>0?e:n,r){if(r>>>0>=1073741824)break k;e=U(r<<2)}else e=0;if(n=e+(k<<2)|0,i[n>>2]=w,k=n+4|0,(u|0)!=(p|0)){for(;n=n-4|0,p=p-4|0,i[n>>2]=i[p>>2],(u|0)!=(p|0););u=i[h+456>>2]}if(i[h+464>>2]=e+(r<<2),i[h+460>>2]=k,i[h+456>>2]=n,!u)break t;G(u)}if(i[h+460>>2]=k,E6(o,w),A=A+1|0,e=i[i[Z+124>>2]+16900>>2],!((A|0)<(e|0)))break}if((e|0)<=0)break f;for(A=0;;){w=U(20),l[w+16|0]=0,i[w+12>>2]=A,i[w+8>>2]=Z,i[w>>2]=42876,i[w+4>>2]=0,p=i[h+460>>2],e=i[h+464>>2];t:{if(p>>>0>=e>>>0){if(u=i[h+456>>2],k=p-u>>2,n=k+1|0,n>>>0>1073741823)break n;if(r=e-u|0,e=r>>1,r=r>>>0>=2147483644?1073741823:e>>>0>n>>>0?e:n,r){if(r>>>0>1073741823)break k;e=U(r<<2)}else e=0;if(n=e+(k<<2)|0,i[n>>2]=w,k=n+4|0,(u|0)!=(p|0)){for(;n=n-4|0,p=p-4|0,i[n>>2]=i[p>>2],(u|0)!=(p|0););u=i[h+456>>2]}if(i[h+464>>2]=e+(r<<2),i[h+460>>2]=k,i[h+456>>2]=n,!u)break t;G(u);break t}i[p>>2]=w,k=p+4|0}if(i[h+460>>2]=k,E6(o,w),A=A+1|0,!((A|0)<i[i[Z+124>>2]+16900>>2]))break}break f}y0(),P()}_2(),P()}r=3,e=i[_+112>>2]}if(!s[e+533|0])f:{A=r,R=B-16|0,B=R;k:{n:{v=i[h>>2],E=i[v+124>>2];t:{if(!s[E+8799|0])break t;if(p=i[v+20>>2],C=i[v+28>>2],u=i[v+24>>2],e=i[v+112>>2],i[R+8>>2]=E,k=i[v+128>>2],i[R+12>>2]=k,r=e,k&&(i[k+4>>2]=i[k+4>>2]+1,r=i[v+112>>2]),w=i[v+288>>2],o=i[v+280>>2],n=i[v+284>>2],k=i[R+12>>2],i[R>>2]=i[R+8>>2],i[R+4>>2]=k,Z=h+8|0,Fk(Z,u,C,p,R,0,r,o,n,w,1)){v2(i[v+112>>2]+4|0,1024,0);break t}if(w=i[E+16900>>2],r=w,i[v+324>>2]=r+i[v+324>>2],i[v+340>>2]=r+i[v+340>>2],(r|0)>0)for(o=e+1392|0,p=0;;){C=U(28),i[C+20>>2]=Z,i[C+16>>2]=v,i[C>>2]=45048,i[C+4>>2]=0,i[C+12>>2]=v,i[C+24>>2]=A,i[C+8>>2]=p,I=i[h+460>>2],e=i[h+464>>2];o:{if(I>>>0<e>>>0){i[I>>2]=C,y=I+4|0;break o}if(r=i[h+456>>2],n=I-r>>2,u=n+1|0,u>>>0>=1073741824)break n;if(k=e-r|0,e=k>>1,u=k>>>0>=2147483644?1073741823:e>>>0>u>>>0?e:u,u){if(u>>>0>=1073741824)break k;e=U(u<<2)}else e=0;if(k=e+(n<<2)|0,i[k>>2]=C,y=k+4|0,(r|0)!=(I|0)){for(;k=k-4|0,I=I-4|0,i[k>>2]=i[I>>2],(r|0)!=(I|0););r=i[h+456>>2]}if(i[h+464>>2]=e+(u<<2),i[h+460>>2]=y,i[h+456>>2]=k,!r)break o;G(r)}if(i[h+460>>2]=y,E6(o,C),p=p+1|0,(w|0)==(p|0))break}We(v),e=i[v+4>>2],i[v+4>>2]=i[h+12>>2],i[h+12>>2]=e,e=i[v+64>>2],i[v+64>>2]=i[h+72>>2],i[h+72>>2]=e,e=i[v+292>>2],i[v+292>>2]=i[h+300>>2],i[h+300>>2]=e,e=i[v+8>>2],i[v+8>>2]=i[h+16>>2],i[h+16>>2]=e,e=i[v+68>>2],i[v+68>>2]=i[h+76>>2],i[h+76>>2]=e,e=i[v+296>>2],i[v+296>>2]=i[h+304>>2],i[h+304>>2]=e,e=i[v+12>>2],i[v+12>>2]=i[h+20>>2],i[h+20>>2]=e,e=i[v+72>>2],i[v+72>>2]=i[h+80>>2],i[h+80>>2]=e,e=i[v+300>>2],i[v+300>>2]=i[h+308>>2],i[h+308>>2]=e,e=i[v+40>>2],i[v+40>>2]=i[h+48>>2],i[h+48>>2]=e,e=i[v+44>>2],i[v+44>>2]=i[h+52>>2],i[h+52>>2]=e,A=i[v+304>>2],r=i[v+308>>2],e=i[h+316>>2],i[v+304>>2]=i[h+312>>2],i[v+308>>2]=e,i[h+312>>2]=A,i[h+316>>2]=r}B=R+16|0;break f}y0(),P()}_2(),P()}We(_);break A}if(!(A&1)){r=0,A=0;f:{if(i[i[_+124>>2]+16900>>2]<=0)break f;for(;A=Jk(_,r)|A,r=r+1|0,(r|0)<i[i[_+124>>2]+16900>>2];);if(!(A&1))break f;GA(_,1,0,i[_+276>>2],i[_+272>>2]),r=i[_+272>>2],e=i[_+276>>2];k:{if(i[i[_+124>>2]+16832>>2]>=9){ZA(_,1,0,e,r);break k}pA(_,1,0,e,r)}e=i[_+124>>2];k:{if(!i[e+16848>>2])break k;if(A=i[_+272>>2],r=i[_+276>>2],i[e+16840>>2]>=9){WA(_,1,0,r,A);break k}XA(_,1,0,r,A)}GA(_,0,0,i[_+276>>2],i[_+272>>2]),r=i[_+272>>2],e=i[_+276>>2];k:{if(i[i[_+124>>2]+16832>>2]>=9){ZA(_,0,0,e,r);break k}pA(_,0,0,e,r)}if(e=i[_+124>>2],!i[e+16848>>2])break f;if(A=i[_+272>>2],r=i[_+276>>2],i[e+16840>>2]>=9){WA(_,0,0,r,A);break f}XA(_,0,0,r,A)}e=i[_+112>>2]}if(s[e+533|0])break A;if(v=i[_+124>>2],s[v+8799|0]){for(r=m(m(i[_+28>>2],i[_+40>>2]),(i[v+16832>>2]+7|0)/8|0),e=m(m(i[_+36>>2],i[_+44>>2]),(i[v+16840>>2]+7|0)/8|0),u=U((e|0)<(r|0)?r:e),Z=i[v+16848>>2]?3:1,w=_+4|0,r=i[v+16900>>2],t=0;;){f:{o=w+(t<<2)|0,n=_+(t?44:40)|0,E=i[n>>2],R=l0(u,i[o>>2],m(m(E,i[_+(t?36:28)>>2]),(i[i[_+124>>2]+(t?16840:16832)>>2]+7|0)/8|0));k:{if((r|0)<=0||(e=0,k=i[v+16892>>2],(k|0)<=0))break k;for(;;){n:{if((k|0)<=0)break n;if(r=0,!t)for(;;){if(A=Q[((i[_+140>>2]+m(m(i[_+152>>2],e),24)|0)+m(r,24)|0)+2>>1],k=i[_+52>>2],A>>>0>=i[_+56>>2]-k>>2>>>0||(A=i[k+(A<<2)>>2],!A))break f;t:{if(!s[A+333|0])break t;if(C=1<<i[v+16876>>2],k=i[_+40>>2],A=i[_+4>>2],i[i[_+124>>2]+16832>>2]<=8){o6(_,r,e,0,C,C,R,E,A,k);break t}t6(_,r,e,0,C,C,R,E,A,k)}if(r=r+1|0,k=i[v+16892>>2],!((r|0)<(k|0)))break n}for(;;){if(A=Q[((i[_+140>>2]+m(m(i[_+152>>2],e),24)|0)+m(r,24)|0)+2>>1],k=i[_+52>>2],A>>>0>=i[_+56>>2]-k>>2>>>0||(A=i[k+(A<<2)>>2],!A))break f;t:{if(!s[A+334|0])break t;if(A=1<<i[v+16876>>2],p=(A|0)/i[v+16856>>2]|0,C=(A|0)/i[v+16852>>2]|0,k=i[n>>2],A=i[o>>2],i[i[_+124>>2]+16840>>2]>=9){t6(_,r,e,t,C,p,R,E,A,k);break t}o6(_,r,e,t,C,p,R,E,A,k)}if(r=r+1|0,k=i[v+16892>>2],!((r|0)<(k|0)))break}}if(e=e+1|0,r=i[v+16900>>2],!((e|0)<(r|0)))break}}if(t=t+1|0,(Z|0)!=(t|0))continue}break}G(R)}}e=i[h+436>>2];A:{if((e|0)==i[h+440>>2]){r=0;break A}for(I=0;;){r=0,k=0,J=B-176|0,B=J,d=m(I,80)+e|0,a=i[h>>2];f:{if(i[d>>2]!=132|s[i[a+112>>2]+512|0]!=1|!s[a+104|0])break f;for(_=d+12|0,v=d+60|0,R=d+68|0,E=a+4|0,p=i[i[a+124>>2]+476>>2];;){S=i[(k?44:40)+a>>2],H=i[(k?36:28)+a>>2],D=i[(k?32:24)+a>>2],u=k<<2,q=i[u+E>>2];k:{n:{t:{o:switch(i[d+8>>2]){case 0:e=i[i[a+124>>2]+(k?16840:16832)>>2],i[J+40>>2]=-1732584194,i[J+44>>2]=271733878,i[J+32>>2]=1732584193,i[J+36>>2]=-271733879,i[J+24>>2]=0,i[J+28>>2]=0;u:{if((H|0)>0){if((e|0)>=9){C=D<<1;l:{if((D|0)<=0){for(e=0;e||(e=U(C)),w3(J+24|0,e,C),r=r+1|0,(H|0)!=(r|0););break l}for(w=D&2147483646,o=D&1,y=0,e=0;;){if(e||(e=U(C)),u=(m(y,S)<<1)+q|0,r=0,t=0,(D|0)!=1)for(;Z=r<<1,n=Z+e|0,A=u+Z|0,l[n|0]=s[A|0],l[n+1|0]=s[A+1|0],A=Z|2,n=A+e|0,A=A+u|0,l[n|0]=s[A|0],l[n+1|0]=s[A+1|0],r=r+2|0,t=t+2|0,(w|0)!=(t|0););if(o&&(r=r<<1,A=r+e|0,r=r+u|0,l[A|0]=s[r|0],l[A+1|0]=s[r+1|0]),w3(J+24|0,e,C),y=y+1|0,(H|0)==(y|0))break}}w7(J,J+24|0),G(e);break u}for(;w3(J+24|0,m(r,S)+q|0,D),r=r+1|0,(H|0)!=(r|0););}w7(J,J+24|0)}e=_+(k<<4)|0;u:{if(s[J|0]!=s[e|0]|s[J+1|0]!=s[e+1|0]|(s[J+2|0]!=s[e+2|0]|s[J+3|0]!=s[e+3|0])||s[J+4|0]!=s[e+4|0]|s[J+5|0]!=s[e+5|0]|(s[J+6|0]!=s[e+6|0]|s[J+7|0]!=s[e+7|0])||s[J+8|0]!=s[e+8|0]|s[J+9|0]!=s[e+9|0]|(s[J+10|0]!=s[e+10|0]|s[J+11|0]!=s[e+11|0])||s[J+12|0]!=s[e+12|0]|s[J+13|0]!=s[e+13|0]|s[J+14|0]!=s[e+14|0])break u;if(s[J+15|0]==s[e+15|0])break k}r=5;break f;case 1:if(r=7439,(H|0)<=0)break n;if(i[i[a+124>>2]+(k?16840:16832)>>2]<9)break t;if(A0=D<<1,(D|0)<=0){for(r=0,A=0;A||(A=U(A0)),r=r+1|0,(H|0)!=(r|0););r=7439,G(A);break n}for(C=D&2147483646,u=D&1,W=(A0|0)<=1?1:A0,Z=W&2147483646,w=W&1,f0=0,A=0;;){if(A||(A=U(A0)),t=(m(S,f0)<<1)+q|0,e=0,z=0,(D|0)!=1)for(;y=e<<1,o=y+A|0,n=t+y|0,l[o|0]=s[n|0],l[o+1|0]=s[n+1|0],n=y|2,o=n+A|0,n=n+t|0,l[o|0]=s[n|0],l[o+1|0]=s[n+1|0],e=e+2|0,z=z+2|0,(C|0)!=(z|0););if(u&&(e=e<<1,n=e+A|0,e=e+t|0,l[n|0]=s[e|0],l[n+1|0]=s[e+1|0]),e=0,t=0,(W|0)!=1)for(;y=r<<8,n=e+A|0,r=s[n|0]^(r&65280)>>>8,o=r>>>4^r,r=(y|o)^o<<5,y=r<<8,r=s[n+1|0]^((r^o<<12)&65280)>>>8,r=r>>>4^r,r=(y|r)^r<<5^r<<12,e=e+2|0,t=t+2|0,(Z|0)!=(t|0););if(w&&(e=s[e+A|0]^(r&65280)>>>8,e=e>>>4^e,r=(e|r<<8)^e<<5^e<<12),f0=f0+1|0,(f0|0)==(H|0))break}G(A);break n;case 2:break o;default:break k}e=(D|0)>0&(H|0)>0;o:{if(i[i[a+124>>2]+(k?16840:16832)>>2]>=9){if(!e){A=0;break o}for(Z=D&2147483646,w=D&1,A=0,e=0;;){if(y=m(e,S)+q|0,r=0,t=0,(D|0)!=1)for(;o=(e^r)>>>8^e,n=r|1,C=(o^n)&255,W=A,A=(r^o)&255,A=(C+((W+A|0)+(A^s[r+y|0])|0)|0)+(C^s[n+y|0])|0,r=r+2|0,t=t+2|0,(Z|0)!=(t|0););if(w&&(o=A,A=((e^r)>>>8^e^r)&255,A=(o+A|0)+(A^s[r+y|0])|0),e=e+1|0,(H|0)==(e|0))break}break o}if(!e){A=0;break o}for(Z=D&2147483646,w=D&1,A=0,e=0;;){if(C=m(e,S)+q|0,r=0,t=0,(D|0)!=1)for(;o=(e^r)>>>8^e,n=r|1,A=((o^n)&255^s[n+C|0])+((s[r+C|0]^(r^o)&255)+A|0)|0,r=r+2|0,t=t+2|0,(Z|0)!=(t|0););if(w&&(A=(s[r+C|0]^((e^r)>>>8^e^r)&255)+A|0),e=e+1|0,(H|0)==(e|0))break}}if(i[u+R>>2]==(A|0))break k;r=5;break f}if((D|0)<=0)break n;for(w=D&2147483646,o=D&1,y=0;;){if(Z=m(y,S)+q|0,A=0,t=0,(D|0)!=1)for(;C=r<<8,n=A+Z|0,e=s[n|0]^(r&65280)>>>8,r=e>>>4^e,e=(C|r)^r<<5,C=e<<8,e=s[n+1|0]^((e^r<<12)&65280)>>>8,e=e>>>4^e,r=(C|e)^e<<5^e<<12,A=A+2|0,t=t+2|0,(w|0)!=(t|0););if(o&&(e=s[A+Z|0]^(r&65280)>>>8,e=e>>>4^e,r=(e|r<<8)^e<<5^e<<12),y=y+1|0,(H|0)==(y|0))break}}if(Q[v+(k<<1)>>1]==(r&65535))break k;r=5;break f}if(r=0,!p)break f;if(e=k>>>0<2,k=k+1|0,!e)break}}if(B=J+176|0,r)break A;if(I=I+1|0,e=i[h+436>>2],!(I>>>0<(i[h+440>>2]-e|0)/80>>>0))break}r=0}if(w=i[h>>2],w){if(!(s[w+104|0]!=1|(s[f+514|0]?s[w+312|0]:0)))A:{if(Z=f+2140|0,t=i[Z+24>>2],A=i[Z+28>>2],t>>>0<A>>>0){i[t>>2]=w,i[Z+24>>2]=t+4;break A}f:{if(e=i[Z+20>>2],n=t-e>>2,o=n+1|0,o>>>0<1073741824){if(k=A-e|0,A=k>>1,o=k>>>0>=2147483644?1073741823:A>>>0>o>>>0?A:o,o){if(o>>>0>=1073741824)break f;A=U(o<<2)}else A=0;if(I=A+(n<<2)|0,i[I>>2]=w,k=I+4|0,(e|0)!=(t|0)){for(;I=I-4|0,t=t-4|0,i[I>>2]=i[t>>2],(e|0)!=(t|0););e=i[Z+20>>2]}i[Z+28>>2]=A+(o<<2),i[Z+24>>2]=k,i[Z+20>>2]=I,e&&G(e),i[Z+24>>2]=k;break A}y0(),P()}_2(),P()}e=i[w+116>>2],e?e=i[(e+m(i[e+8>>2],12)|0)+480>>2]:e=0,(e|0)<i[f+2164>>2]-i[f+2160>>2]>>2&&On(f+2140|0)}if(G(Hn(h)),h=i[f+3212>>2],e=i[f+3208>>2],h-e>>>0>=5)for(I=1;e=(I<<2)+e|0,i[e-4>>2]=i[e>>2],I=I+1|0,h=i[f+3212>>2],e=i[f+3208>>2],I>>>0<h-e>>2>>>0;);i[f+3212>>2]=h-4}return r}C0(15010,13894,172,3561),P()}C0(3586,8442,174,2570),P()}function kk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0;h=B-256|0,B=h,y=Ri(i[e+48>>2],16944),o=U(360),i[o+16>>2]=0,i[o+20>>2]=0,i[o>>2]=72656,i[o+4>>2]=0,i[o+8>>2]=0,l[o+152|0]=0,i[o+36>>2]=y,i[o+32>>2]=e,i[o+28>>2]=34648,i[o+40>>2]=0,i[o+44>>2]=0,i[o+52>>2]=0,i[o+56>>2]=0,i[o+68>>2]=0,i[o+72>>2]=0,i[o+80>>2]=0,i[o+84>>2]=0,i[o+156>>2]=0,i[o+160>>2]=0,i[o+24>>2]=0,X[o+48>>1]=0,X[o+58>>1]=0,X[o+60>>1]=0,X[o+62>>1]=0,X[o+64>>1]=0,l[o+76|0]=0,l[o+88|0]=0,i[o+204>>2]=0,i[o+196>>2]=0,i[o+200>>2]=0,i[o+188>>2]=0,i[o+192>>2]=0,i[o+180>>2]=0,i[o+184>>2]=0,i[o+172>>2]=0,i[o+176>>2]=0,i[o+164>>2]=0,i[o+168>>2]=0,i[o+212>>2]=0,i[o+216>>2]=0,l[o+208|0]=1,l[o+217|0]=0,l[o+218|0]=0,l[o+219|0]=0,l[o+220|0]=0,l[o+221|0]=0,l[o+222|0]=0,l[o+223|0]=0,l[o+224|0]=0,i[o+232>>2]=0,i[o+236>>2]=0,i[o+240>>2]=0,i[o+244>>2]=0,i[o+248>>2]=0,i[o+252>>2]=0,i[o+256>>2]=0,i[o+260>>2]=0,i[o+264>>2]=0,i[o+268>>2]=0,l[o+272|0]=0,B0(o+280|0,0,80),i[o+296>>2]=0,i[o+300>>2]=0,l[o+292|0]=1,i[o+304>>2]=0,i[o+308>>2]=0,i[o+312>>2]=0,i[o+316>>2]=0,i[o+328>>2]=0,i[o+332>>2]=0,i[o+320>>2]=0,i[o+324>>2]=1072693248,i[o+336>>2]=0,i[o+340>>2]=0,i[o+344>>2]=0,i[o+348>>2]=0,i[o+352>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+112>>2]=0,i[o+116>>2]=0,i[o+120>>2]=0,i[o+124>>2]=0,i[o+128>>2]=0,i[o+132>>2]=0,i[o+136>>2]=0,i[o+140>>2]=0,i[o+144>>2]=0,i[o+148>>2]=0,i[t>>2]=o+16,u=i[t+4>>2],i[t+4>>2]=o;i:{if(!u||(o=i[u+4>>2],i[u+4>>2]=o-1,o))break i;V[i[i[u>>2]+8>>2]](u),g(u)}o=i[r>>2],i[h+252>>2]=i[o+32>>2],i[h+248>>2]=i[o+36>>2],$r(h+240|0,r,i[k+4>>2]),o=i[A>>2];i:{if(i[o>>2]>=2){V[i[o+108>>2]](i[A+4>>2],h+252|0,h+248|0);break i}V[i[o+96>>2]](h+252|0,h+248|0)}i:{r:{e:{if(o=i[h+252>>2],w=i[r>>2],u=i[h+248>>2],!((o|0)!=i[w+32>>2]|(u|0)!=i[w+36>>2])){if(_=i[w+44>>2],u=i[w+48>>2],u&&(i[u+4>>2]=i[u+4>>2]+1),p6(o,_,u,i[k+4>>2]))break e;u=i[h+248>>2],o=i[h+252>>2]}if(i[h+212>>2]=i[h+240>>2],w=i[h+244>>2],i[h+216>>2]=w,w&&(i[w+4>>2]=i[w+4>>2]+1),N8(h+132|0,r,o,u,h+212|0,0,k+16|0),o=i[h+132>>2],r=i[h+136>>2],i[h+132>>2]=0,i[h+136>>2]=0,i[h+236>>2]=r,i[h+232>>2]=o,r=i[h+216>>2],r&&(o=i[r+4>>2],i[r+4>>2]=o-1,o||(V[i[i[r>>2]+8>>2]](r),g(r)),o=i[h+232>>2]),o){r=i[h+236>>2];break r}if(l[h+132|0]=0,l[h+143|0]=0,r0(f,4,3003,h+132|0),l[h+143|0]>=0)break i;G(i[h+132>>2]);break i}o=i[r>>2],r=i[r+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[h+236>>2]=r,i[h+232>>2]=o}z=y4(o,0),H=F4(o,0),u=i[t>>2],i[u+28>>2]=H,i[u+24>>2]=z,W=i[e+48>>2],_=B-16|0,B=_,w=U(160),u=w,i[u+4>>2]=0,i[u+8>>2]=0,i[u>>2]=71304,p=u+16|0,u=p,i[u+8>>2]=0,i[u+12>>2]=0,u=w,i[u+32>>2]=0,i[u+36>>2]=0,i[u+40>>2]=0,i[u+44>>2]=0,i[u+48>>2]=0,i[u+16>>2]=68500,i[u+52>>2]=0,i[u+56>>2]=0,i[u+68>>2]=0,l[u+57|0]=0,l[u+58|0]=0,l[u+59|0]=0,l[u+60|0]=0,l[u+61|0]=0,l[u+62|0]=0,l[u+63|0]=0,l[u+64|0]=0,i[u+16>>2]=74936,i[u+88>>2]=0,i[u+92>>2]=0,X[u+72>>1]=259,i[u+96>>2]=0,i[u+100>>2]=0,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,i[u+116>>2]=0,i[u+120>>2]=0,i[u+124>>2]=0,i[u+128>>2]=0,i[u+132>>2]=0,i[u+152>>2]=0,i[u+144>>2]=0,i[u+148>>2]=0,i[u+32>>2]=1987470147,Z=i[W+44>>2],i[_+12>>2]=u,i[_+8>>2]=p,i[u+4>>2]=i[u+4>>2]+1,v=i[Z+40>>2];r:{e:{if(v>>>0<k0[Z+44>>2]){i[v+4>>2]=u,i[v>>2]=p,i[u+4>>2]=i[u+4>>2]+1,v=v+8|0,i[Z+40>>2]=v,v=v-i[Z+36>>2]>>>3|0;break e}if(v=Q2(Z+36|0,_+8|0),u=i[_+12>>2],i[Z+40>>2]=v,v=v-i[Z+36>>2]>>>3|0,!u)break r}if(Z=i[u+4>>2],i[u+4>>2]=Z-1,Z)break r;V[i[i[u>>2]+8>>2]](u),g(u)}u=i[W+52>>2],X[_+6>>1]=v,l[_+4|0]=1,i[_>>2]=Q[_+4>>1]|Q[_+6>>1]<<16,c1(u,y,_),u=i[w+4>>2],i[w+4>>2]=u-1,u||(V[i[i[w>>2]+8>>2]](w),g(w)),B=_+16|0,i[h+228>>2]=0;r:{if(!r){i[h+228>>2]=0,i[h+224>>2]=o;break r}if(i[r+4>>2]=i[r+4>>2]+1,i[h+224>>2]=o,o=i[h+228>>2],i[h+228>>2]=r,!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break r;V[i[i[o>>2]+8>>2]](o),g(o)}V[i[i[A>>2]+100>>2]](h+212|0,i[A+4>>2],h+224|0,n);r:{e:{A:{f:{k:{n:{if(r=i[h+212>>2],r){if(k=i[h+216>>2],n=i[h+220>>2],e=G2(n),e>>>0>=2147483640)break n;t:{o:{if(e>>>0>=11){t=(e|7)+1|0,A=U(t),i[h+140>>2]=t|-2147483648,i[h+132>>2]=A,i[h+136>>2]=e;break o}if(l[h+143|0]=e,A=h+132|0,!e)break t}F2(A,n,e)}if(l[e+A|0]=0,r0(f,r,k,h+132|0),l[h+143|0]>=0)break r;G(i[h+132>>2]);break r}if(i[h+208>>2]=0,i[h+204>>2]=0,V[i[i[A>>2]+104>>2]](h+132|0,i[A+4>>2],h+56|0,h+48|0,0),o=i[h+56>>2],o)for(;;){t:{o:{if(r=i[h+48>>2],(r|0)<2)break o;u:switch((s[o+1|0]>>>3|0)-14|0){case 1:X[h+132>>1]=259,i[h+188>>2]=0,i[h+192>>2]=0,i[h+180>>2]=0,i[h+184>>2]=0,i[h+172>>2]=0,i[h+176>>2]=0,i[h+164>>2]=0,i[h+168>>2]=0,i[h+156>>2]=0,i[h+160>>2]=0,i[h+148>>2]=0,i[h+152>>2]=0,a=h+112|0,E=o,p=h+132|0,w=0,o=0,v=0,Z=0,C=B-80|0,B=C,i[C+76>>2]=0,i[C+68>>2]=0,i[C+72>>2]=0;l:{s:{h:{w:{_:{v:{Z:{if(r){for(R=r;;){m:{B:{if(r=Z+2|0,R>>>0<=r>>>0||(u=Z+E|0,s[u|0]|s[u+1|0]|s[r+E|0]!=3))break B;p:{if(w>>>0>v>>>0){l[v|0]=0,Z=v+1|0;break p}if(J=v-o|0,u=J+1|0,(u|0)<0)break h;w=w-o|0,_=w<<1,D=w>>>0>=1073741823?2147483647:u>>>0<_>>>0?_:u,D?Z=U(D):Z=0,W=Z+J|0,l[W|0]=0,_=W;W:{if((o|0)==(v|0))break W;if(I=0,u=_,w=v,_=J&3,_)for(;u=u-1|0,w=w-1|0,l[u|0]=s[w|0],I=I+1|0,(_|0)!=(I|0););if(_=Z,o-v>>>0>4294967292)break W;for(;l[u-1|0]=s[w-1|0],l[u-2|0]=s[w-2|0],l[u-3|0]=s[w-3|0],u=u-4|0,w=w-4|0,l[u|0]=s[w|0],(o|0)!=(w|0););_=Z}w=Z+D|0,Z=W+1|0,o&&G(o),o=_}if(w>>>0>Z>>>0){l[Z|0]=0,v=Z+1|0;break m}if(J=Z-o|0,u=J+1|0,(u|0)<0)break Z;w=w-o|0,_=w<<1,D=w>>>0>=1073741823?2147483647:u>>>0<_>>>0?_:u,D?v=U(D):v=0,W=v+J|0,l[W|0]=0,_=W;p:{if((o|0)==(Z|0))break p;if(I=0,u=_,w=Z,_=J&3,_)for(;u=u-1|0,w=w-1|0,l[u|0]=s[w|0],I=I+1|0,(_|0)!=(I|0););if(_=v,o-Z>>>0>4294967292)break p;for(;l[u-1|0]=s[w-1|0],l[u-2|0]=s[w-2|0],l[u-3|0]=s[w-3|0],u=u-4|0,w=w-4|0,l[u|0]=s[w|0],(o|0)!=(w|0););_=v}if(w=v+D|0,v=W+1|0,!o){o=_;break m}G(o),o=_;break m}r=Z+E|0;B:{if(w>>>0>v>>>0){l[v|0]=s[r|0],v=v+1|0;break B}if(J=v-o|0,u=J+1|0,(u|0)<0)break h;w=w-o|0,_=w<<1,I=w>>>0>=1073741823?2147483647:u>>>0<_>>>0?_:u,I?_=U(I):_=0,W=_+J|0,l[W|0]=s[r|0],u=W;p:{if((o|0)==(v|0))break p;if(u=0,w=W,r=v,J=J&3,J)for(;w=w-1|0,r=r-1|0,l[w|0]=s[r|0],u=u+1|0,(J|0)!=(u|0););if(u=_,o-v>>>0>4294967292)break p;for(;l[w-1|0]=s[r-1|0],l[w-2|0]=s[r-2|0],l[w-3|0]=s[r-3|0],w=w-4|0,r=r-4|0,l[w|0]=s[r|0],(r|0)!=(o|0););u=_}w=_+I|0,v=W+1|0,o&&G(o),o=u}r=Z}if(Z=r+1|0,!(R>>>0>Z>>>0))break}i[C+72>>2]=v,i[C+68>>2]=o,i[C+76>>2]=w}if(w=w6(C+32|0,o,v-o|0),p2(w,16),p2(w,4),p2(w,4),X[p+2>>1]=0,S=p,q=M8(w,3)+1|0,l[S+4|0]=q,S=p,q=M8(w,2),l[S+6|0]=q,p2(w,2),!g0(w,1))break w;if(S=p,q=M8(w,7),l[S+9|0]=q,S=p,q=M8(w,1),l[S+10|0]=q,S=p,q=M8(w,8),l[S+11|0]=q,S=p,q=M8(w,1),l[S+12|0]=q,S=p,q=M8(w,1),l[S+13|0]=q,!g0(w,1)){l[p+8|0]=1,_=i[p+20>>2],u=i[p+24>>2];m:{if(_>>>0<u>>>0){l[_|0]=0,v=_+1|0;break m}if(I=i[p+16>>2],r=_-I|0,o=r+1|0,(o|0)<0)break v;Z=0,u=u-I|0,v=u<<1,o=u>>>0>=1073741823?2147483647:o>>>0<v>>>0?v:o,o&&(Z=U(o)),u=r+Z|0,l[u|0]=0,W=o+Z|0,v=u+1|0;B:{if((_|0)==(I|0)){Z=u;break B}E=r&3;p:{if(!E){r=_;break p}for(o=0,r=_;u=u-1|0,r=r-1|0,l[u|0]=s[r|0],o=o+1|0,(E|0)!=(o|0););}if(I-_>>>0<=4294967292)for(;l[u-1|0]=s[r-1|0],l[u-2|0]=s[r-2|0],l[u-3|0]=s[r-3|0],u=u-4|0,r=r-4|0,l[u|0]=s[r|0],(r|0)!=(I|0););I=i[p+16>>2]}if(i[p+24>>2]=W,i[p+20>>2]=v,i[p+16>>2]=Z,!I)break m;G(I)}i[p+20>>2]=v}if(r=i[w+24>>2],i[w+24>>2]=r&-8,_=i[w+20>>2],u=i[w+16>>2],o=r&7,r=o,(r&63)>>>0>=32?(o=u<<r,r=0):(o=(1<<r)-1&u>>>32-r|_<<r,r=u<<r),i[w+16>>2]=r,i[w+20>>2]=o,kn(p+28|0,s[p+4|0]),r=s[p+4|0],r>>>0<2)break _;for(r=r-2|0;o=1<<r,_=g0(w,1),u=i[p+28>>2]+(r>>>3&536870908)|0,_?_=o|i[u>>2]:_=i[u>>2]&(o^-1),i[u>>2]=_,o=(r|0)>0,r=r-1|0,!!o;);break _}i[C+72>>2]=Z;break s}y0(),P()}r=i[w+24>>2],i[w+24>>2]=r&-8,_=i[w+20>>2],u=i[w+16>>2],o=r&7,r=o,(r&63)>>>0>=32?(o=u<<r,r=0):(o=(1<<r)-1&u>>>32-r|_<<r,r=u<<r),i[w+16>>2]=r,i[w+20>>2]=o,o=p+40|0,r=s[p+4|0],_=i[p+40>>2],u=i[p+44>>2]-_|0;_:{if(r>>>0>u>>>0){L2(o,r-u|0),r=s[p+4|0];break _}if(r>>>0>=u>>>0)break _;i[p+44>>2]=r+_}if(r>>>0>=2)for(r=r-2|0;i[i[p+28>>2]+(r>>>3&536870908)>>2]>>>r&1&&(u=M8(w,8),l[i[o>>2]+r|0]=u),u=(r|0)>0,r=r-1|0,!!u;);o=g0(w,8),r=i[p+56>>2],_=i[p+52>>2],u=r-_>>2;_:{if(o>>>0>u>>>0){if(v=0,Z=o-u|0,W=i[p+60>>2],Z>>>0<=W-r>>2>>>0){Z&&(_=r,r=Z<<2,r=B0(_,0,r)+r|0),i[p+56>>2]=r;break _}v:{if(_=i[p+52>>2],E=r-_>>2,u=E+Z|0,u>>>0<1073741824){if(W=W-_|0,R=W>>1,W=W>>>0>=2147483644?1073741823:u>>>0<R>>>0?R:u,W){if(W>>>0>=1073741824)break v;v=U(W<<2)}if(u=(E<<2)+v|0,Z=Z<<2,Z=B0(u,0,Z)+Z|0,(r|0)!=(_|0))for(;u=u-4|0,r=r-4|0,i[u>>2]=i[r>>2],(r|0)!=(_|0););i[p+60>>2]=(W<<2)+v,i[p+56>>2]=Z,i[p+52>>2]=u,_&&G(_);break _}y0(),P()}_2(),P()}if(o>>>0>=u>>>0)break _;i[p+56>>2]=_+(o<<2)}if(r=0,(o|0)<=0)break w;for(;u=g0(w,32),i[i[p+52>>2]+(r<<2)>>2]=u,r=r+1|0,(o|0)!=(r|0););}p2(w,1),g0(w,1)&&p2(w,1),g1(w,C+28|0),g1(w,C+24|0),r=i[C+28>>2],i[h+208>>2]=r,o=i[C+24>>2],i[h+204>>2]=o;w:{if(!((o|0)<65536&(r|0)<=65535)){if(r=U(56),i[C+12>>2]=r,i[C+16>>2]=55,i[C+20>>2]=-2147483592,o=s[18382]|s[18383]<<8|(s[18384]<<16|s[18385]<<24),u=s[18378]|s[18379]<<8|(s[18380]<<16|s[18381]<<24),l[r|0]=u,l[r+1|0]=u>>>8,l[r+2|0]=u>>>16,l[r+3|0]=u>>>24,l[r+4|0]=o,l[r+5|0]=o>>>8,l[r+6|0]=o>>>16,l[r+7|0]=o>>>24,l[r+55|0]=0,o=s[18429]|s[18430]<<8|(s[18431]<<16|s[18432]<<24),u=s[18425]|s[18426]<<8|(s[18427]<<16|s[18428]<<24),l[r+47|0]=u,l[r+48|0]=u>>>8,l[r+49|0]=u>>>16,l[r+50|0]=u>>>24,l[r+51|0]=o,l[r+52|0]=o>>>8,l[r+53|0]=o>>>16,l[r+54|0]=o>>>24,o=s[18422]|s[18423]<<8|(s[18424]<<16|s[18425]<<24),u=s[18418]|s[18419]<<8|(s[18420]<<16|s[18421]<<24),l[r+40|0]=u,l[r+41|0]=u>>>8,l[r+42|0]=u>>>16,l[r+43|0]=u>>>24,l[r+44|0]=o,l[r+45|0]=o>>>8,l[r+46|0]=o>>>16,l[r+47|0]=o>>>24,o=s[18414]|s[18415]<<8|(s[18416]<<16|s[18417]<<24),u=s[18410]|s[18411]<<8|(s[18412]<<16|s[18413]<<24),l[r+32|0]=u,l[r+33|0]=u>>>8,l[r+34|0]=u>>>16,l[r+35|0]=u>>>24,l[r+36|0]=o,l[r+37|0]=o>>>8,l[r+38|0]=o>>>16,l[r+39|0]=o>>>24,o=s[18406]|s[18407]<<8|(s[18408]<<16|s[18409]<<24),u=s[18402]|s[18403]<<8|(s[18404]<<16|s[18405]<<24),l[r+24|0]=u,l[r+25|0]=u>>>8,l[r+26|0]=u>>>16,l[r+27|0]=u>>>24,l[r+28|0]=o,l[r+29|0]=o>>>8,l[r+30|0]=o>>>16,l[r+31|0]=o>>>24,o=s[18398]|s[18399]<<8|(s[18400]<<16|s[18401]<<24),u=s[18394]|s[18395]<<8|(s[18396]<<16|s[18397]<<24),l[r+16|0]=u,l[r+17|0]=u>>>8,l[r+18|0]=u>>>16,l[r+19|0]=u>>>24,l[r+20|0]=o,l[r+21|0]=o>>>8,l[r+22|0]=o>>>16,l[r+23|0]=o>>>24,o=s[18390]|s[18391]<<8|(s[18392]<<16|s[18393]<<24),u=s[18386]|s[18387]<<8|(s[18388]<<16|s[18389]<<24),l[r+8|0]=u,l[r+9|0]=u>>>8,l[r+10|0]=u>>>16,l[r+11|0]=u>>>24,l[r+12|0]=o,l[r+13|0]=o>>>8,l[r+14|0]=o>>>16,l[r+15|0]=o>>>24,r0(a,9,2006,C+12|0),l[C+23|0]>=0)break w;G(i[C+12>>2]);break w}if(X[p+66>>1]=o,X[p+64>>1]=r,g0(w,1)&&(g1(w,C+12|0),g1(w,C+8|0),g1(w,C+4|0),g1(w,C)),g0(w,1),g1(w,C+8|0),r=i[C+8>>2],(r|0)>=248){if(r=U(32),i[C+12>>2]=r,i[C+16>>2]=27,i[C+20>>2]=-2147483616,o=s[17849]|s[17850]<<8|(s[17851]<<16|s[17852]<<24),u=s[17845]|s[17846]<<8|(s[17847]<<16|s[17848]<<24),l[r|0]=u,l[r+1|0]=u>>>8,l[r+2|0]=u>>>16,l[r+3|0]=u>>>24,l[r+4|0]=o,l[r+5|0]=o>>>8,l[r+6|0]=o>>>16,l[r+7|0]=o>>>24,l[r+27|0]=0,o=s[17868]|s[17869]<<8|(s[17870]<<16|s[17871]<<24),l[r+23|0]=o,l[r+24|0]=o>>>8,l[r+25|0]=o>>>16,l[r+26|0]=o>>>24,o=s[17865]|s[17866]<<8|(s[17867]<<16|s[17868]<<24),u=s[17861]|s[17862]<<8|(s[17863]<<16|s[17864]<<24),l[r+16|0]=u,l[r+17|0]=u>>>8,l[r+18|0]=u>>>16,l[r+19|0]=u>>>24,l[r+20|0]=o,l[r+21|0]=o>>>8,l[r+22|0]=o>>>16,l[r+23|0]=o>>>24,o=s[17857]|s[17858]<<8|(s[17859]<<16|s[17860]<<24),u=s[17853]|s[17854]<<8|(s[17855]<<16|s[17856]<<24),l[r+8|0]=u,l[r+9|0]=u>>>8,l[r+10|0]=u>>>16,l[r+11|0]=u>>>24,l[r+12|0]=o,l[r+13|0]=o>>>8,l[r+14|0]=o>>>16,l[r+15|0]=o>>>24,r0(a,9,0,C+12|0),l[C+23|0]>=0)break w;G(i[C+12>>2]);break w}if(l[p+5|0]=1,l[p+7|0]=r,r=i[19565],i[a>>2]=i[19564],i[a+4>>2]=r,r=a+8|0,l[78275]>=0){o=i[19567],i[r>>2]=i[19566],i[r+4>>2]=o,i[r+8>>2]=i[19568];break w}_0(r,i[19566],i[19567])}r=i[C+68>>2],r&&(i[C+72>>2]=r,G(r)),B=C+80|0;break l}i[C+72>>2]=v}i[C+68>>2]=o,i[C+76>>2]=w,y0(),P()}l[h+131|0]<0&&G(i[h+120>>2]),_=h+92|0,r=h+132|0,o=B-16|0,B=o,u=i[e+48>>2],p4(o+4|0,i[u+44>>2],y,u+52|0,1987470147);l:{s:{if(u=i[o+4>>2],!u||(u=N0(u,68572,74976),!u))break s;if(v=i[o+8>>2],!v){v=0;break l}i[v+4>>2]=i[v+4>>2]+1;break l}v=0,u=0}w=i[o+8>>2];l:{if(!w||(Z=i[w+4>>2],i[w+4>>2]=Z-1,Z))break l;V[i[i[w>>2]+8>>2]](w),g(w)}l:{if(u){w=i[r+4>>2],i[u+56>>2]=i[r>>2],i[u+60>>2]=w,i[u+64>>2]=i[r+8>>2],X[u+68>>1]=Q[r+12>>1];s:{if((r|0)==(u+56|0)){L7(u+84|0,r+28|0);break s}w=i[r+16>>2],Z=i[r+20>>2],W8(u+72|0,w,Z,Z-w|0),L7(u+84|0,r+28|0),w=i[r+40>>2],Z=i[r+44>>2],W8(u+96|0,w,Z,Z-w|0),w=i[r+52>>2],Z=i[r+56>>2],ki(u+108|0,w,Z,Z-w>>2)}if(i[u+120>>2]=i[r+64>>2],X[u+124>>1]=Q[r+68>>1],r=i[19565],i[_>>2]=i[19564],i[_+4>>2]=r,r=_+8|0,l[78275]>=0){u=i[19567],i[r>>2]=i[19566],i[r+4>>2]=u,i[r+8>>2]=i[19568];break l}_0(r,i[19566],i[19567]);break l}if(l[o+4|0]=0,l[o+15|0]=0,r0(_,5,141,o+4|0),l[o+15|0]>=0)break l;G(i[o+4>>2])}l:{if(!v||(r=i[v+4>>2],i[v+4>>2]=r-1,r))break l;V[i[i[v>>2]+8>>2]](v),g(v)}B=o+16|0,l[h+111|0]<0&&G(i[h+100>>2]),r=i[h+184>>2],r&&(i[h+188>>2]=r,G(r)),r=i[h+172>>2],r&&(i[h+176>>2]=r,G(r)),r=i[h+160>>2],r&&G(r),r=i[h+148>>2],r&&(i[h+152>>2]=r,G(r)),r=i[h+48>>2],o=i[h+56>>2];break;case 0:case 2:break u;default:break o}p=h+72|0,Z=B-16|0,B=Z,u=i[e+48>>2],p4(Z+4|0,i[u+44>>2],y,u+52|0,1987470147);u:{l:{if(u=i[Z+4>>2],!u||(w=N0(u,68572,74976),!w))break l;if(v=i[Z+8>>2],!v){v=0;break u}i[v+4>>2]=i[v+4>>2]+1;break u}v=0,w=0}u=i[Z+8>>2];u:{if(!u||(_=i[u+4>>2],i[u+4>>2]=_-1,_))break u;V[i[i[u>>2]+8>>2]](u),g(u)}u:{if(w){W=B-16|0,B=W,i[W+12>>2]=0,i[W+4>>2]=0,i[W+8>>2]=0,r?(L2(W+4|0,r),_=i[W+4>>2]):_=0,l0(_,o,r),_=B-16|0,B=_,u=W+4|0,o=s[i[u>>2]+1|0]>>>3|0;l:{s:{r=i[w+128>>2],E=i[w+132>>2];h:{if((r|0)!=(E|0))for(;;){if((o|0)==s[r+1|0]){if(o=i[r+8>>2],o>>>0<k0[r+12>>2]){if(i[o+8>>2]=0,i[o>>2]=0,i[o+4>>2]=0,w=i[u+4>>2],E=i[u>>2],(w|0)!=(E|0)){if(u=w-E|0,(u|0)<0)break s;w=U(u),i[o+4>>2]=w,i[o>>2]=w,R=u+w|0,i[o+8>>2]=R,l0(w,E,u),i[o+4>>2]=R}i[r+8>>2]=o+12;break h}S=r,q=v6(r+4|0,u),i[S+8>>2]=q;break h}if(r=r+16|0,(E|0)==(r|0))break}i[_+12>>2]=0,i[_+4>>2]=0,i[_+8>>2]=0,l[_+1|0]=o,l[_|0]=1,o=v6(_+4|0,u),r=i[w+132>>2],i[_+8>>2]=o;w:{if(r>>>0<k0[w+136>>2]){o=Q[_>>1],i[r+12>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,X[r>>1]=o,o=i[_+4>>2],u=i[_+8>>2],qA(r+4|0,o,u,(u-o|0)/12|0),r=r+16|0;break w}r=yn(w+128|0,_)}if(i[w+132>>2]=r,o=i[_+4>>2],!o)break h;if(r=o,u=i[_+8>>2],(r|0)!=(u|0)){for(;r=u-12|0,w=i[r>>2],w&&(i[u-8>>2]=w,G(w)),u=r,(r|0)!=(o|0););r=i[_+4>>2]}i[_+8>>2]=o,G(r)}B=_+16|0;break l}y0(),P()}if(r=i[W+4>>2],r&&(i[W+8>>2]=r,G(r)),B=W+16|0,r=i[19565],i[p>>2]=i[19564],i[p+4>>2]=r,r=p+8|0,l[78275]>=0){o=i[19567],i[r>>2]=i[19566],i[r+4>>2]=o,i[r+8>>2]=i[19568];break u}_0(r,i[19566],i[19567]);break u}if(l[Z+4|0]=0,l[Z+15|0]=0,r0(p,5,141,Z+4|0),l[Z+15|0]>=0)break u;G(i[Z+4>>2])}u:{if(!v||(r=i[v+4>>2],i[v+4>>2]=r-1,r))break u;V[i[i[v>>2]+8>>2]](v),g(v)}if(B=Z+16|0,l[h+91|0]>=0)break t;G(i[h+80>>2]);break t}m9(i[e+48>>2],y,o,r)}if(V[i[i[A>>2]+104>>2]](h+132|0,i[A+4>>2],h+56|0,h+48|0,0),o=i[h+56>>2],!o)break}t:{if(o=i[h+208>>2],o&&(r=i[h+204>>2],r))break t;if(l[h+132|0]=0,l[h+143|0]=0,r0(f,8,129,h+132|0),l[h+143|0]>=0)break r;G(i[h+132>>2]);break r}u=i[A>>2];t:{if(i[u>>2]<3||(u=i[u+112>>2],!u))break t;i[h+132>>2]=z,i[h+56>>2]=H,V[u|0](i[A+4>>2],z,H,h+132|0,h+56|0),r=i[h+204>>2],o=i[h+208>>2]}Vi(i[e+48>>2],y,o,r),r=i[h+208>>2],o=i[h+204>>2];t:{if((r|0)==(z|0)&(o|0)==(H|0)||(ar(i[e+48>>2],y,z,H,r,o),E3(z,H,i[i[h+232>>2]+36>>2])))break t;l[i[t>>2]+192|0]=0}gr(i[e+48>>2],y,i[k+12>>2]);t:switch(n-1|0){case 0:case 3:break t;default:break e}n=i[h+232>>2],r=i[n+52>>2],n=i[n+56>>2];t:{if(!n){if(!r)break t;u=i[e+48>>2],i[h+136>>2]=0,i[h+132>>2]=r;break f}if(i[n+4>>2]=i[n+4>>2]+1,r)break k}r=s[k|0],o=i[k+4>>2]!=0;break A}c2(),P()}u=i[e+48>>2],i[h+136>>2]=n,i[h+132>>2]=r,i[n+4>>2]=i[n+4>>2]+1}p8(u,y,h+132|0),r=i[h+136>>2];f:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break f;V[i[i[r>>2]+8>>2]](r),g(r)}r=s[k|0],o=s[k+3|0]!=0&i[k+4>>2]!=0&r>>>0>2}A:{if(!(!s[k+8|0]|(r&255)>>>0<4)|!o||(o=i[e+48>>2],i[h+132>>2]=i[h+240>>2],r=i[h+244>>2],i[h+136>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),p8(o,y,h+132|0),r=i[h+136>>2],!r)||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break A;V[i[i[r>>2]+8>>2]](r),g(r)}if(!n||(r=i[n+4>>2],i[n+4>>2]=r-1,r))break e;V[i[i[n>>2]+8>>2]](n),g(n)}i[h+64>>2]=i[h+232>>2],r=i[h+236>>2],i[h+68>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[h+68>>2],i[h+16>>2]=i[h+64>>2],i[h+20>>2]=r,Wi(e,h+16|0,y),r=i[e+32>>2];e:{if(r>>>0<k0[e+36>>2]){i[r>>2]=i[t>>2],n=i[t+4>>2],i[r+4>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),r=r+8|0;break e}r=Q2(e+28|0,t)}i[e+32>>2]=r,r=i[e+20>>2];e:{A:{if(!r){u=e+20|0,o=u;break A}for(;;){if(o=r,n=i[r+16>>2],n>>>0>y>>>0){if(u=r,r=i[r>>2],r)continue;break A}if(n>>>0>=y>>>0)break e;if(r=i[o+4>>2],!r)break}u=o+4|0}r=U(28),i[r+20>>2]=0,i[r+24>>2]=0,i[r+16>>2]=y,i[r+8>>2]=o,i[r>>2]=0,i[r+4>>2]=0,i[u>>2]=r,o=r,n=i[i[e+16>>2]>>2],n&&(i[e+16>>2]=n,o=i[u>>2]),D1(i[e+20>>2],o),i[e+24>>2]=i[e+24>>2]+1}n=i[t>>2],t=i[t+4>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[r+20>>2]=n,n=i[r+24>>2],i[r+24>>2]=t;e:{if(!n||(r=i[n+4>>2],i[n+4>>2]=r-1,r))break e;V[i[i[n>>2]+8>>2]](n),g(n)}e:{A:{if(!s[k+1|0]||!H2(i[h+232>>2],6))break A;i[h+56>>2]=0,i[h+60>>2]=0,s6(h+132|0,h+232|0),n=i[h+132>>2],t=i[h+136>>2],i[h+132>>2]=0,i[h+136>>2]=0,r=i[h+60>>2],i[h+56>>2]=n,i[h+60>>2]=t;f:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n||(V[i[i[r>>2]+8>>2]](r),g(r)),r=i[h+136>>2],!r)||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break f;V[i[i[r>>2]+8>>2]](r),g(r)}if(i[h+48>>2]=0,i[h+52>>2]=0,kk(f,e,h+56|0,A,k,2,h+48|0),i[f>>2])break e;r=i[i[h+48>>2]+20>>2],A=i[e+48>>2],i[h+44>>2]=1,i[h+36>>2]=y,i[h+40>>2]=h+36,k=i[h+44>>2],i[h+8>>2]=i[h+40>>2],i[h+12>>2]=k,k=r,r=ue(h+132|0,h+8|0),P1(A,k,1635088492,r),A=i[r>>2],A&&(i[r+4>>2]=A,G(A));f:{if(s[i[h+232>>2]+40|0]!=1||(r=i[e+48>>2],A=i[i[h+48>>2]+20>>2],i[h+32>>2]=1,i[h+36>>2]=A,i[h+28>>2]=h+36,A=i[h+32>>2],i[h>>2]=i[h+28>>2],i[h+4>>2]=A,A=r,r=ue(h+132|0,h),P1(A,y,1886545261,r),A=i[r>>2],!A))break f;i[r+4>>2]=A,G(A)}r=i[e+48>>2],A=i[i[h+48>>2]+20>>2],e=C1(h+132|0,17014),_6(r,A,e),l[e+11|0]<0&&G(i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),v1(h+48|0),v1(h+56|0)}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567]);break r}f=i[h+52>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[h+60>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[h+228>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[h+236>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[h+244>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=h+256|0}function nk(f,e,r,A,k,n,t,o,u,h,w,_){var v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0,B1=0,p1=0,W1=0,X1=0,N1=0,r4=0,e4=0,V4=0,M4=0,x4=0;N1=B-16|0,B=N1,E=N1+4|0,A0=B-80|0,B=A0;i:{r:{if(v=i[r+168>>2],z=k>>v,(z|0)<0||(D=i[r+172>>2],(D|0)<=(z|0)))break r;if(S=n>>v,(S|0)<0|(S|0)>=i[r+176>>2])break i;v=n+o|0,C=k+t|0,y=s[A+10|0];e:{A:{f:switch((s[((i[r+160>>2]+m(z,3)|0)+m(m(D,S),3)|0)+1|0]&3)-1|0){case 0:if(!(y&16))break A;break;case 1:break f;default:break A}i[A0+12>>2]=r,i[A0+8>>2]=45672,Z=A0+8|0,A=v,z=h,S=w,D=_,G0=y>>>5|0,p=A0+16|0,y=B-16|0,B=y,I=i[i[r+132>>2]+8236>>2],(u|0)!=8|i[i[r+132>>2]+8236>>2]<3||(S=8,D=0,z=8,C=k,A=n),X0=A+S|0,R=X0-1|0,v=V[i[i[Z>>2]>>2]](Z,k,n)|0;f:{a=G0+1|0,d=C>>I,n0=C-1|0,q=(d|0)!=n0>>I;k:{if(!q&&(_=0,A>>I==R>>I)||!((D|0)!=1|v>>>0>7)&&(_=0,1<<v&196)||(_=0,!K4(r,k,n,u,C,A,z,S,D,n0,R)))break k;_=V[i[i[Z>>2]+4>>2]](Z,n0,R)|0,Z=Q[_+4>>1]|Q[_+6>>1]<<16,R=Q[_>>1]|Q[_+2>>1]<<16,X[p>>1]=R,X[p+2>>1]=R>>>16,X[p+4>>1]=Z,X[p+6>>1]=Z>>>16,_=Q[_+8>>1]|Q[_+10>>1]<<16,X[p+8>>1]=_,X[p+10>>1]=_>>>16,_=1}if((a|0)<=(_|0))break f;k:{n:{t:{if(W=C+z|0,Z=W-1|0,R=A-1|0,!(!(1<<v&50)||(D|0)!=1|v>>>0>5)|(d|0)==Z>>I&A>>I==R>>I||!K4(r,k,n,u,C,A,z,S,D,Z,R))break t;if(J=i[r+188>>2],v=Z>>J,(v|0)<0||(Z=i[r+192>>2],(Z|0)<=(v|0)))break r;if(J=R>>J,!((J|0)<0|(J|0)>=i[r+196>>2])){Z=(i[r+180>>2]+m(v,12)|0)+m(m(Z,J),12)|0;o:{if(!_||(v=s[p|0],(v|0)!=s[Z|0])||v&&Q[p+4>>1]!=Q[Z+4>>1]|Q[p+6>>1]!=Q[Z+6>>1]|s[p+2|0]!=s[Z+2|0]||(Y0=s[p+1|0],(Y0|0)!=s[Z+1|0]))break o;if(J=0,I0=1,v=_,!Y0)break n;if(Q[p+8>>1]!=Q[Z+8>>1]|Q[p+10>>1]!=Q[Z+10>>1]|s[p+3|0]!=s[Z+3|0])break o;v=_;break n}J=Q[Z+4>>1]|Q[Z+6>>1]<<16,v=p+m(_,12)|0,I0=Q[Z>>1]|Q[Z+2>>1]<<16,X[v>>1]=I0,X[v+2>>1]=I0>>>16,X[v+4>>1]=J,X[v+6>>1]=J>>>16,J=Q[Z+8>>1]|Q[Z+10>>1]<<16,X[v+8>>1]=J,X[v+10>>1]=J>>>16,I0=1,J=_,v=_+1|0;break n}break k}v=_}n:{if(a>>>0<=v>>>0)break n;t:{if((d|0)==W>>I&A>>I==R>>I||!K4(r,k,n,u,C,A,z,S,D,W,R))break t;if(Z=W,W=i[r+188>>2],Z=Z>>W,(Z|0)<0||(d=i[r+192>>2],(d|0)<=(Z|0)))break r;if(W=R>>W,(W|0)<0|(W|0)>=i[r+196>>2])break k;Z=(i[r+180>>2]+m(Z,12)|0)+m(m(W,d),12)|0;o:{if(!I0||(W=p+m(J,12)|0,d=s[W|0],(d|0)!=s[Z|0])||d&&Q[W+4>>1]!=Q[Z+4>>1]|Q[W+6>>1]!=Q[Z+6>>1]|s[W+2|0]!=s[Z+2|0]||(d=s[W+1|0],(d|0)!=s[Z+1|0]))break o;if(!d)break t;if(Q[W+8>>1]!=Q[Z+8>>1]|Q[W+10>>1]!=Q[Z+10>>1])break o;if(s[W+3|0]==s[Z+3|0])break t}d=Q[Z+4>>1]|Q[Z+6>>1]<<16,W=p+m(v,12)|0,Y0=Q[Z>>1]|Q[Z+2>>1]<<16,X[W>>1]=Y0,X[W+2>>1]=Y0>>>16,X[W+4>>1]=d,X[W+6>>1]=d>>>16,Z=Q[Z+8>>1]|Q[Z+10>>1]<<16,X[W+8>>1]=Z,X[W+10>>1]=Z>>>16,v=v+1|0}if(v>>>0>=a>>>0)break n;t:{o:{if(!q&&(Z=A>>I,(Z|0)==X0>>I))break o;u:{if(!K4(r,k,n,u,C,A,z,S,D,n0,X0))break u;if(W=i[r+188>>2],Z=n0>>W,(Z|0)<0||(d=i[r+192>>2],(d|0)<=(Z|0)))break r;if(W=X0>>W,(W|0)<0|(W|0)>=i[r+196>>2])break k;Z=(i[r+180>>2]+m(Z,12)|0)+m(m(W,d),12)|0;l:{if(!_||(W=s[p|0],(W|0)!=s[Z|0])||W&&Q[p+4>>1]!=Q[Z+4>>1]|Q[p+6>>1]!=Q[Z+6>>1]|s[p+2|0]!=s[Z+2|0]||(W=s[p+1|0],(W|0)!=s[Z+1|0]))break l;if(!W)break u;if(Q[p+8>>1]!=Q[Z+8>>1]|Q[p+10>>1]!=Q[Z+10>>1])break l;if(s[p+3|0]==s[Z+3|0])break u}X0=Q[Z+4>>1]|Q[Z+6>>1]<<16,W=p+m(v,12)|0,d=Q[Z>>1]|Q[Z+2>>1]<<16,X[W>>1]=d,X[W+2>>1]=d>>>16,X[W+4>>1]=X0,X[W+6>>1]=X0>>>16,Z=Q[Z+8>>1]|Q[Z+10>>1]<<16,X[W+8>>1]=Z,X[W+10>>1]=Z>>>16,v=v+1|0}if((v|0)==4|v>>>0>=a>>>0)break n;if(q)break t;Z=A>>I}if(R>>I==(Z|0))break n}if(!K4(r,k,n,u,C,A,z,S,D,n0,R))break n;if(I=i[r+188>>2],D=n0>>I,(D|0)<0||(Z=i[r+192>>2],(Z|0)<=(D|0)))break r;if(I=R>>I,(I|0)<0|(I|0)>=i[r+196>>2])break k;if(D=(i[r+180>>2]+m(D,12)|0)+m(m(Z,I),12)|0,I0&&W9(p+m(J,12)|0,D)||_&&W9(p,D))break n;J=Q[D+4>>1]|Q[D+6>>1]<<16,_=p+m(v,12)|0,I=Q[D>>1]|Q[D+2>>1]<<16,X[_>>1]=I,X[_+2>>1]=I>>>16,X[_+4>>1]=J,X[_+6>>1]=J>>>16,D=Q[D+8>>1]|Q[D+10>>1]<<16,X[_+8>>1]=D,X[_+10>>1]=D>>>16,v=v+1|0}_=v;break f}break i}i[y+12>>2]=_;f:{if((_|0)>(G0|0)||(dr(f,r,e,C,A,z,S,0,0,y+4|0,y+2|0),l[y+3|0]=0,v=s[y+2|0],i[e+28>>2]||(dr(f,r,e,C,A,z,S,0,1,y+8|0,y+3|0),f0=s[y+3|0],v=v|f0),!(v&255)))break f;i[y+12>>2]=_+1,A=p+m(_,12)|0,_=i[y+4>>2],X[A+4>>1]=_,X[A+6>>1]=_>>>16,_=i[y+8>>2],X[A+8>>1]=_,X[A+10>>1]=_>>>16,_=s[y+2|0],X[A+2>>1]=0,l[A+1|0]=f0,l[A|0]=_}if(_=i[e+28>>2],!_){C=0;f:{if(z=i[y+12>>2],(z|0)<2|(z|0)>=(a|0))break f;I=e+988|0,Z=e+924|0,R=m(z,z-1|0);k:{for(;;){if(A=C<<2,_=i[A+45568>>2],(_|0)>=(z|0)||(v=i[A+45616>>2],(v|0)>=(z|0)))break k;if(D=0,A=0,_=p+m(_,12)|0,s[_|0]&&(A=V[i[i[f>>2]+8>>2]](f,i[Z+(l[_+2|0]<<2)>>2])|0),v=p+m(v,12)|0,s[v+1|0]&&(D=V[i[i[f>>2]+8>>2]](f,i[I+(l[v+3|0]<<2)>>2])|0),S=s[_|0],!(!S||A)||(J=s[v+1|0],!(!J||D))||(!(i[A+96>>2]!=i[D+96>>2]|Q[_+4>>1]!=Q[v+8>>1])&Q[_+6>>1]==Q[v+10>>1]|(!S|!J)||(A=p+m(i[y+12>>2],12)|0,l[A+2|0]=s[_+2|0],D=s[v+3|0],l[A+1|0]=J,l[A|0]=S,l[A+3|0]=D,_=Q[_+4>>1]|Q[_+6>>1]<<16,X[A+4>>1]=_,X[A+6>>1]=_>>>16,_=Q[v+8>>1]|Q[v+10>>1]<<16,X[A+8>>1]=_,X[A+10>>1]=_>>>16,i[y+12>>2]=i[y+12>>2]+1),C=C+1|0,(R|0)==(C|0)))break f;if((a|0)==i[y+12>>2])break}break f}C0(9349,13964,1432,4146),P()}_=i[e+28>>2]}z=i[e+336>>2],(_|0)!=1&&(A=i[e+340>>2],z=(A|0)>(z|0)?z:A),S=i[y+12>>2];f:{if((G0|0)<(S|0))break f;if(A=a-S|0,C=A&1,_=0,(S|0)!=(G0|0))for(D=A&-2,A=0;a=i[e+28>>2],v=p+m(S,12)|0,J=(_|0)<(z|0)?_:0,l[v+2|0]=J,X[v+4>>1]=0,X[v+6>>1]=0,X[v+8>>1]=0,X[v+10>>1]=0,a=(a|0)!=1,l[v+1|0]=a,l[v|0]=1,l[v+3|0]=a?J:-1,a=i[e+28>>2],J=_|1,J=(J|0)<(z|0)?J:0,l[v+14|0]=J,X[v+16>>1]=0,X[v+18>>1]=0,X[v+20>>1]=0,X[v+22>>1]=0,l[v+12|0]=1,a=(a|0)!=1,l[v+13|0]=a,l[v+15|0]=a?J:-1,_=_+2|0,S=S+2|0,A=A+2|0,(D|0)!=(A|0););if(!C)break f;v=i[e+28>>2],A=p+m(S,12)|0,_=(_|0)<(z|0)?_:0,l[A+2|0]=_,X[A+4>>1]=0,X[A+6>>1]=0,X[A+8>>1]=0,X[A+10>>1]=0,v=(v|0)!=1,l[A+1|0]=v,l[A|0]=1,l[A+3|0]=v?_:-1}if(B=y+16|0,A=p+m(G0,12)|0,_=Q[A>>1]|Q[A+2>>1]<<16,v=Q[A+4>>1]|Q[A+6>>1]<<16,X[E>>1]=_,X[E+2>>1]=_>>>16,X[E+4>>1]=v,X[E+6>>1]=v>>>16,A=Q[A+8>>1]|Q[A+10>>1]<<16,X[E+8>>1]=A,X[E+10>>1]=A>>>16,!(_&255)|!s[E+1|0]|(h+w|0)!=12)break e;l[E+1|0]=0,l[E+3|0]=255;break e}A:{f:{k:{n:switch((y&3)-1|0){case 0:case 2:if(y=l[A|0],l[E|0]=1,l[E+2|0]=y,l[A|0]<16)break k;A=E+2|0;break A;default:break n}l[E|0]=0,l[E+2|0]=255;break f}z=Q[A+4>>1],S=Q[A+2>>1],a=y,y=A0+16|0,vk(f,e,r,k,n,u,C,v,h,w,0,a,_,y),y=y+(s[A+10|0]&4)|0,y=Q[y>>1]|Q[y+2>>1]<<16,X[E+4>>1]=y+S,X[E+6>>1]=z+(y>>>16|0)}if(!(s[A+10|0]&2)){l[E+1|0]=0,l[E+3|0]=255;break e}if(y=l[A+1|0],l[E+1|0]=1,l[E+3|0]=y,l[A+1|0]>15){A=E+3|0;break A}z=Q[A+8>>1],S=Q[A+6>>1],a=_,_=A0+16|0,vk(f,e,r,k,n,u,C,v,h,w,1,y,a,_),A=_+(s[A+10|0]>>>1&4)|0,A=Q[A>>1]|Q[A+2>>1]<<16,X[E+8>>1]=A+S,X[E+10>>1]=z+(A>>>16|0);break e}l[A|0]=0,l[r+312|0]=3,v2(f+4|0,1012,0)}B=A0+80|0,_=f,y=k,z=n,S=t,D=o,A=E,k=B-49152|0,B=k;e:{A:{if(n=e,e1=i[e+4>>2],A0=i[e1+4>>2],R=i[A0+16832>>2],f=i[r+124>>2],(R|0)==i[f+16832>>2]&&(Z=i[A0+16840>>2],(Z|0)==i[f+16840>>2]))break A;l[r+312|0]=3,v2(_+4|0,1031,0);break e}if(i[A0+476>>2]!=i[r+20>>2]){l[r+312|0]=3,v2(_+4|0,1030,0);break e}I=i[r+44>>2],W2=D+z|0,y2=i[A0+16856>>2],x2=y+S|0,T2=i[A0+16852>>2],f=m(I,(W2|0)/(y2|0)|0)+((x2|0)/(T2|0)|0)|0,e=f<<s[r+18|0],t=i[r+12>>2],f=f<<s[r+17|0],v=i[r+8>>2],G0=i[r+40>>2],E=m(G0,W2)+x2<<s[r+16|0],p=i[r+4>>2],C=s[A+1|0],o=s[A|0];A:{if(s[e1+41|0]|!o|(!C|Q[A+4>>1]!=Q[A+8>>1])||Q[A+6>>1]!=Q[A+10>>1])break A;C=i[(n+(l[A+2|0]<<2)|0)+924>>2]!=i[(n+(l[A+3|0]<<2)|0)+988>>2]?C:0}for(a=k+40960|0,J=k- -8192|0,X0=e+t|0,I0=f+v|0,d=p+E|0,M4=A+4|0,b2=_+4|0,x4=n+924|0,r4=A+2|0,Y0=k+16384|0,t=k+32768|0,e=k,E=1,f=o;;){A:{if(!f)break A;if(f=l[p1+r4|0],(f|0)>=16){l[r+312|0]=3,v2(b2,1012,0);break e}if(n0=V[i[i[_>>2]+8>>2]](_,i[((p1<<6)+x4|0)+(f<<2)>>2])|0,!(i[n0+100>>2]&&n0)){l[r+312|0]=3,v2(b2,1012,0);break A}if(!(!(i[n0+24>>2]!=i[A0+484>>2]|i[n0+28>>2]!=i[A0+488>>2])&i[r+20>>2]==i[n0+20>>2])){l[r+312|0]=3,v2(b2,1029,0);break A}if(v=i[r+124>>2],p=i[v+16832>>2],f=i[n0+124>>2],!((p|0)==i[f+16832>>2]&i[v+16840>>2]==i[f+16840>>2])){l[r+312|0]=3,v2(b2,1028,0);break A}O2=(p1<<2)+M4|0,f=X[O2+2>>1],v=X[O2>>1],W=i[n0+40>>2],q2=i[n0+4>>2];f:{if((p|0)>=9){h0=B-20448|0,B=h0,Q0=(f>>2)+W2|0,q=(v>>2)+x2|0,S0=i[A0+488>>2],f0=i[A0+484>>2];k:{if(!((f|v)&3)){f=i[A0+16832>>2];n:{if(!((q|Q0)<0|(f0|0)<(h+q|0))&&(S0|0)>=(w+Q0|0))break n;if((w|0)<=0|(h|0)<=0)break k;for(j=14-f|0,c0=S0-1|0,p0=f0-1|0,r2=h&2147483646,n2=h&1,p=0;;){if(f=p+Q0|0,F0=(m((f|0)>=0?(f|0)<(S0|0)?f:c0:0,W)<<1)+q2|0,L=(m(u,p)<<1)+t|0,f=0,v=0,(h|0)!=1)for(;H=f+q|0,X[L+(f<<1)>>1]=Q[F0+(((H|0)>=0?(H|0)<(f0|0)?H:p0:0)<<1)>>1]<<j,s2=f|1,H=s2+q|0,X[L+(s2<<1)>>1]=Q[F0+(((H|0)>=0?(H|0)<(f0|0)?H:p0:0)<<1)>>1]<<j,f=f+2|0,v=v+2|0,(r2|0)!=(v|0););if(n2&&(v=L+(f<<1)|0,f=f+q|0,X[v>>1]=Q[F0+(((f|0)>=0?(f|0)<(f0|0)?f:p0:0)<<1)>>1]<<j),p=p+1|0,(p|0)==(w|0))break}break k}if(f=((m(W,Q0)<<1)+q2|0)+(q<<1)|0,(R|0)<=8){V[i[_+220>>2]](t,u,f,W,h,w,h0+11360|0);break k}V[i[_+300>>2]](t,u,f,W,h,w,h0+11360|0,R);break k}c0=f&3,f=c0<<2,F0=i[f+45760>>2],p=i[f+45776>>2],r2=v&3,v=r2<<2,f=i[v+45776>>2],p0=i[v+45760>>2],L=q-p0|0;n:{if(!((f0|0)<=(f+(h+q|0)|0)|(S0|0)<=(p+(w+Q0|0)|0)|(L|Q0-F0)<0)){f=((q<<1)+q2|0)+(m(W,Q0)<<1)|0;break n}j=0-F0|0,A1=w+p|0;t:{if((j|0)>=(A1|0)||(h1=f+h|0,v=0-p0|0,(h1|0)<=(v|0)))break t;for(e4=S0-1|0,p=1-p0|0,W1=(f+p0|0)+h|0,X1=W1&1,n2=f0-1|0,V4=((L|0)>=0?(f0|0)>(L|0)?L:n2:0)<<1;;){if(f=j+Q0|0,L=(m((f|0)>=0?(f|0)<(S0|0)?f:e4:0,W)<<1)+q2|0,H=m(j+F0|0,80),f=v,X1&&(X[h0+(H<<1)>>1]=Q[L+V4>>1],f=p),(W1|0)!=1)for(s2=H+p0|0;H=f+q|0,X[h0+(f+s2<<1)>>1]=Q[L+(((H|0)>=0?(H|0)<(f0|0)?H:n2:0)<<1)>>1],B1=f+1|0,H=B1+q|0,X[h0+(s2+B1<<1)>>1]=Q[L+(((H|0)>=0?(H|0)<(f0|0)?H:n2:0)<<1)>>1],f=f+2|0,(h1|0)!=(f|0););if(j=j+1|0,(A1|0)==(j|0))break}}W=80,f=h0+(p0+m(F0,80)<<1)|0}if((R|0)<=8){V[i[((_+(r2<<4)|0)+(c0<<2)|0)+220>>2]](t,u,f,W,h,w,h0+11360|0);break k}V[i[((_+(r2<<4)|0)+(c0<<2)|0)+300>>2]](t,u,f,W,h,w,h0+11360|0,R)}B=h0+20448|0;break f}h0=B-14768|0,B=h0,Q0=(f>>2)+W2|0,q=(v>>2)+x2|0,S0=i[A0+488>>2],f0=i[A0+484>>2];k:{if(!((f|v)&3)){f=i[A0+16832>>2];n:{if(!((q|Q0)<0|(f0|0)<(h+q|0))&&(S0|0)>=(w+Q0|0))break n;if((w|0)<=0|(h|0)<=0)break k;for(j=14-f|0,c0=S0-1|0,p0=f0-1|0,r2=h&2147483646,n2=h&1,p=0;;){if(f=p+Q0|0,F0=m((f|0)>=0?(f|0)<(S0|0)?f:c0:0,W)+q2|0,L=(m(u,p)<<1)+t|0,f=0,v=0,(h|0)!=1)for(;H=f+q|0,X[L+(f<<1)>>1]=s[F0+((H|0)>=0?(H|0)<(f0|0)?H:p0:0)|0]<<j,s2=f|1,H=s2+q|0,X[L+(s2<<1)>>1]=s[F0+((H|0)>=0?(H|0)<(f0|0)?H:p0:0)|0]<<j,f=f+2|0,v=v+2|0,(r2|0)!=(v|0););if(n2&&(v=L+(f<<1)|0,f=f+q|0,X[v>>1]=s[F0+((f|0)>=0?(f|0)<(f0|0)?f:p0:0)|0]<<j),p=p+1|0,(p|0)==(w|0))break}break k}if(f=q+(m(W,Q0)+q2|0)|0,(R|0)<=8){V[i[_+220>>2]](t,u,f,W,h,w,h0+5680|0);break k}V[i[_+300>>2]](t,u,f,W,h,w,h0+5680|0,R);break k}c0=f&3,f=c0<<2,F0=i[f+45760>>2],L=i[f+45776>>2],r2=v&3,v=r2<<2,f=i[v+45776>>2],p0=i[v+45760>>2],p=q-p0|0;n:{if(!((f0|0)<=(f+(h+q|0)|0)|(S0|0)<=(L+(w+Q0|0)|0)|(p|Q0-F0)<0)){f=(q+q2|0)+m(W,Q0)|0;break n}j=0-F0|0,A1=w+L|0;t:{if((j|0)>=(A1|0)||(h1=f+h|0,v=0-p0|0,(h1|0)<=(v|0)))break t;for(e4=S0-1|0,n2=f0-1|0,W1=(p|0)>=0?(p|0)<(f0|0)?p:n2:0,p=1-p0|0,X1=(f+p0|0)+h|0,V4=X1&1;;){if(f=j+Q0|0,L=m((f|0)>=0?(f|0)<(S0|0)?f:e4:0,W)+q2|0,H=m(j+F0|0,80),f=v,V4&&(l[H+h0|0]=s[L+W1|0],f=p),(X1|0)!=1)for(s2=H+p0|0;H=f+q|0,l[h0+(f+s2|0)|0]=s[L+((H|0)>=0?(H|0)<(f0|0)?H:n2:0)|0],B1=f+1|0,H=B1+q|0,l[h0+(s2+B1|0)|0]=s[L+((H|0)>=0?(H|0)<(f0|0)?H:n2:0)|0],f=f+2|0,(h1|0)!=(f|0););if(j=j+1|0,(A1|0)==(j|0))break}}W=80,f=h0+(p0+m(F0,80)|0)|0}if((R|0)<=8){V[i[((_+(r2<<4)|0)+(c0<<2)|0)+220>>2]](t,u,f,W,h,w,h0+5680|0);break k}V[i[((_+(r2<<4)|0)+(c0<<2)|0)+300>>2]](t,u,f,W,h,w,h0+5680|0,R)}B=h0+14768|0}if(!i[r+20>>2])break A;if(f=(w|0)/(y2|0)|0,t=(h|0)/(T2|0)|0,v=Y0+(p1<<13)|0,p=X[O2+2>>1],W=X[O2>>1],q=i[n0+44>>2],f0=i[n0+8>>2],i[i[r+124>>2]+16840>>2]>=9){Pk(_,A0,W,p,x2,W2,e,u,f0,q,t,f,Z),Pk(_,A0,X[O2>>1],X[O2+2>>1],x2,W2,v,u,i[n0+12>>2],i[n0+44>>2],t,f,Z);break A}qk(_,A0,W,p,x2,W2,e,u,f0,q,t,f,Z),qk(_,A0,X[O2>>1],X[O2+2>>1],x2,W2,v,u,i[n0+12>>2],i[n0+44>>2],t,f,Z)}if(p1=1,v=E,E=0,f=C,e=J,t=a,!v)break}f=i[A0+16840>>2],v=(f|0)>12?2:14-f|0,f=i[A0+16832>>2],E=(f|0)>12?2:14-f|0,e=i[r+124>>2],f=s[e+16993|0],t=s[e+16992|0];A:switch(i[n+28>>2]){case 1:if(e=!C&(o|0)==1,!s[e1+41|0]){if(e){f:{if((R|0)<=8){V[i[_+176>>2]](d,G0,k+32768|0,u,h,w);break f}V[i[_+192>>2]](d,G0,k+32768|0,u,h,w,R)}if(!i[r+20>>2])break e;if(f=(w|0)/(y2|0)|0,e=(h|0)/(T2|0)|0,(Z|0)<=8){V[i[_+176>>2]](I0,I,k,u,e,f),V[i[_+176>>2]](X0,I,Y0,u,e,f);break e}V[i[_+192>>2]](I0,I,k,u,e,f,Z),V[i[_+192>>2]](X0,I,Y0,u,e,f,Z);break e}v2(b2,1011,0),l[r+312|0]=3;break e}if(e){e=E+s[n+388|0]|0,o=l[r4|0],t=l[(o+n|0)+518|0]<<t,C=n+(o<<1)|0,a=l[C+679|0],E=n+(o<<2)|0,o=X[E+552>>1],J=l[C+678|0],E=X[E+550>>1],C=X[C+454>>1],p=s[n+389|0];f:{if((R|0)<=8){V[i[_+180>>2]](d,G0,k+32768|0,u,h,w,C,t,e);break f}V[i[_+196>>2]](d,G0,k+32768|0,u,h,w,C,t,e,R)}if(!i[r+20>>2])break e;if(e=(w|0)/(y2|0)|0,n=(h|0)/(T2|0)|0,t=v+p|0,v=J<<f,f=a<<f,(Z|0)<=8){V[i[_+180>>2]](I0,I,k,u,n,e,E,v,t),V[i[_+180>>2]](X0,I,Y0,u,n,e,o,f,t);break e}V[i[_+196>>2]](I0,I,k,u,n,e,E,v,t,Z),V[i[_+196>>2]](X0,I,Y0,u,n,e,o,f,t,Z);break e}v2(b2,1011,0),l[r+312|0]=3;break e;default:C0(15527,13964,528,4261),P();case 0:break A}if(!((o|0)!=1|(C|0)!=1)){if(!s[e1+42|0]){f=k+40960|0;A:{if((R|0)<=8){V[i[_+172>>2]](d,G0,k+32768|0,f,u,h,w);break A}V[i[_+188>>2]](d,G0,k+32768|0,f,u,h,w,R)}if(!i[r+20>>2])break e;if(f=(w|0)/(y2|0)|0,e=(h|0)/(T2|0)|0,n=k- -8192|0,t=k+24576|0,(Z|0)<=8){V[i[_+172>>2]](I0,I,k,n,u,e,f),V[i[_+172>>2]](X0,I,Y0,t,u,e,f);break e}V[i[_+188>>2]](I0,I,k,n,u,e,f,Z),V[i[_+188>>2]](X0,I,Y0,t,u,e,f,Z);break e}if(e=l[A+3|0],o=n+(e<<1)|0,J=l[o+711|0],C=n+(e<<2)|0,p=X[C+616>>1],A0=l[o+710|0],W=X[C+614>>1],C=l[A+2|0],a=n+(C<<1)|0,n0=l[a+679|0],q=n+(C<<2)|0,f0=X[q+552>>1],h0=l[a+678|0],q=X[q+550>>1],j=s[n+389|0],_=_+172|0,F3(_,d,G0,k+32768|0,k+40960|0,u,h,w,X[a+454>>1],l[(n+C|0)+518|0]<<t,X[o+486>>1],l[(e+n|0)+534|0]<<t,E+s[n+388|0]|0,R),!i[r+20>>2])break e;e=(h|0)/(T2|0)|0,n=(w|0)/(y2|0)|0,t=v+j|0,F3(_,I0,I,k,k- -8192|0,u,e,n,q,h0<<f,W,A0<<f,t,Z),F3(_,X0,I,Y0,k+24576|0,u,e,n,f0,n0<<f,p,J<<f,t,Z);break e}if(!((o|0)!=1&(C|0)!=1)){if(!s[e1+42|0]){t=!o,f=(k+32768|0)+(t<<13)|0;A:{if((R|0)<=8){V[i[_+176>>2]](d,G0,f,u,h,w);break A}V[i[_+192>>2]](d,G0,f,u,h,w,R)}if(!i[r+20>>2])break e;if(n=o?Y0:k+24576|0,f=(w|0)/(y2|0)|0,e=(h|0)/(T2|0)|0,t=k+(t<<13)|0,(Z|0)<=8){V[i[_+176>>2]](I0,I,t,u,e,f),V[i[_+176>>2]](X0,I,n,u,e,f);break e}V[i[_+192>>2]](I0,I,t,u,e,f,Z),V[i[_+192>>2]](X0,I,n,u,e,f,Z);break e}e=!o,C=l[e+r4|0],t=l[(C+(n+(e<<4)|0)|0)+518|0]<<t,a=(n+(e<<5)|0)+(C<<1)|0,A0=l[a+679|0],J=(n+(e<<6)|0)+(C<<2)|0,C=X[J+552>>1],W=l[a+678|0],J=X[J+550>>1],a=X[a+454>>1],E=E+s[n+388|0]|0,p=(k+32768|0)+(e<<13)|0,n0=s[n+389|0];A:{if((R|0)<=8){V[i[_+180>>2]](d,G0,p,u,h,w,a,t,E);break A}V[i[_+196>>2]](d,G0,p,u,h,w,a,t,E,R)}if(!i[r+20>>2])break e;if(E=o?Y0:k+24576|0,n=(w|0)/(y2|0)|0,t=(h|0)/(T2|0)|0,o=v+n0|0,v=W<<f,f=A0<<f,e=k+(e<<13)|0,(Z|0)<=8){V[i[_+180>>2]](I0,I,e,u,t,n,J,v,o),V[i[_+180>>2]](X0,I,E,u,t,n,C,f,o);break e}V[i[_+196>>2]](I0,I,e,u,t,n,J,v,o,Z),V[i[_+196>>2]](X0,I,E,u,t,n,C,f,o,Z);break e}v2(b2,1011,0),l[r+312|0]=3}B=k+49152|0,k=y+S|0,n=D+z|0,f=A,w=w>>2;e:{if((w|0)<=0||(e=h>>2,(e|0)<=0))break e;for(_=n>>2,n=k>>2,v=i[r+192>>2],h=h&4,C=e&2147483646,A=0,E=(e|0)==1;;){if(o=m(v,A+_|0),e=0,t=0,!E)for(;u=Q[f+4>>1]|Q[f+6>>1]<<16,z=m(o,12),y=m(n,12),k=z+((y+i[r+180>>2]|0)+m(e,12)|0)|0,S=Q[f>>1]|Q[f+2>>1]<<16,X[k>>1]=S,X[k+2>>1]=S>>>16,X[k+4>>1]=u,X[k+6>>1]=u>>>16,u=Q[f+8>>1]|Q[f+10>>1]<<16,X[k+8>>1]=u,X[k+10>>1]=u>>>16,u=Q[f+4>>1]|Q[f+6>>1]<<16,k=z+((y+i[r+180>>2]|0)+m(e|1,12)|0)|0,y=Q[f>>1]|Q[f+2>>1]<<16,X[k>>1]=y,X[k+2>>1]=y>>>16,X[k+4>>1]=u,X[k+6>>1]=u>>>16,u=Q[f+8>>1]|Q[f+10>>1]<<16,X[k+8>>1]=u,X[k+10>>1]=u>>>16,e=e+2|0,t=t+2|0,(C|0)!=(t|0););if(h&&(k=Q[f+4>>1]|Q[f+6>>1]<<16,e=((i[r+180>>2]+m(n,12)|0)+m(e,12)|0)+m(o,12)|0,t=Q[f>>1]|Q[f+2>>1]<<16,X[e>>1]=t,X[e+2>>1]=t>>>16,X[e+4>>1]=k,X[e+6>>1]=k>>>16,k=Q[f+8>>1]|Q[f+10>>1]<<16,X[e+8>>1]=k,X[e+10>>1]=k>>>16),A=A+1|0,(w|0)==(A|0))break}}B=N1+16|0;return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function w8(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;u=B-208|0,B=u;i:{r:{e:{A:{f:{if(t=i[e+112>>2],!t)break f;for(n=e+112|0,Z=n,k=t;o=k0[k+16>>2]<r>>>0,Z=o?Z:k,k=i[(o<<2)+k>>2],!!k;);if((n|0)==(Z|0)|k0[Z+16>>2]>r>>>0)break f;for(k=n;Z=k0[t+16>>2]<r>>>0,k=Z?k:t,t=i[(Z<<2)+t>>2],!!t;);if(!((k|0)==(n|0)|k0[k+16>>2]>r>>>0)&&(n=i[k+20>>2],J=i[k+24>>2],J&&(i[J+4>>2]=i[J+4>>2]+1),n))break A;if(l[u+20|0]=0,l[u+31|0]=0,r0(f,5,2e3,u+20|0),l[u+31|0]>=0)break e;G(i[u+20>>2]);break e}if(l[u+20|0]=0,l[u+31|0]=0,r0(f,5,2e3,u+20|0),l[u+31|0]>=0)break r;G(i[u+20>>2]);break r}A:{if(l[n+75|0]>=0){k=n- -64|0,i[u+200>>2]=i[k+8>>2],t=i[k+4>>2],i[u+192>>2]=i[k>>2],i[u+196>>2]=t;break A}_0(u+192|0,i[n+64>>2],i[n+68>>2])}A:{if(l[n+99|0]>=0){i[u+184>>2]=i[n+96>>2],k=i[n+92>>2],i[u+176>>2]=i[n+88>>2],i[u+180>>2]=k;break A}_0(u+176|0,i[n+88>>2],i[n+92>>2])}k=i[e+60>>2],i[u+172>>2]=0,i[u+164>>2]=0,i[u+168>>2]=0;A:{f:{Z=i[k+56>>2],o=i[k+60>>2];k:{if((Z|0)==(o|0))break k;if(t=o-Z|0,(t|0)<0)break i;for(k=U(t),i[u+168>>2]=k,i[u+164>>2]=k,i[u+172>>2]=k+t;t=i[Z+4>>2],i[k>>2]=i[Z>>2],i[k+4>>2]=t,t=i[Z+12>>2],i[k+8>>2]=i[Z+8>>2],i[k+12>>2]=t,i[k+24>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,t=i[Z+16>>2],C=i[Z+20>>2],br(k+16|0,t,C,(C-t|0)/40|0),t=k,k=k+32|0,Z=Z+32|0,(o|0)!=(Z|0););if(i[u+168>>2]=k,Z=i[u+164>>2],(Z|0)==(k|0))break k;for(;;){if(i[Z>>2]==(r|0))break f;if(k=(t|0)!=(Z|0),Z=Z+32|0,!k)break}}i[u+28>>2]=54496,i[u+84>>2]=54516,e=i[13633],i[u+20>>2]=e,A=i[e-12>>2],e=u+20|0,i[A+e>>2]=i[13634],i[u+24>>2]=0,A=e+i[i[u+20>>2]-12>>2]|0,k=u+32|0,b0(A,k),i[A+72>>2]=0,i[A+76>>2]=-1,A=i[13635],i[u+28>>2]=A,t=i[A-12>>2],A=u+28|0,i[t+A>>2]=i[13636],t=i[13632],i[u+20>>2]=t,i[e+i[t-12>>2]>>2]=i[13637],i[u+84>>2]=54516,i[u+20>>2]=54476,i[u+28>>2]=54496,e=$0(k),i[e>>2]=53552,i[u+72>>2]=0,i[u+76>>2]=0,i[u+64>>2]=0,i[u+68>>2]=0,i[u+80>>2]=24,x(L0(x(A,19307,13),r),14568,23),r=u+8|0,i2(r,e),r0(f,2,117,r),l[u+19|0]<0&&G(i[u+8>>2]),f=i[13631],i[u+20>>2]=f,i[i[f-12>>2]+(u+20|0)>>2]=i[13639],i[u+28>>2]=i[13640],i[e>>2]=53552,l[u+75|0]<0&&G(i[u+64>>2]),K0(e),T0(u+84|0);break A}t=l[u+203|0],k=(t|0)<0;f:{if(((k?i[u+196>>2]:t)|0)!=4)break f;if(k=k?i[u+192>>2]:u+192|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))==828601960){o=f,f=0,p=B-48|0,B=p,i[p+44>>2]=0,i[p+36>>2]=0,i[p+40>>2]=0,C=e,ii(p+16|0,i[e+44>>2],r,e+52|0,p+36|0);k:{if(i[p+16>>2]){f=i[p+20>>2],i[o>>2]=i[p+16>>2],i[o+4>>2]=f,i[o+16>>2]=i[p+32>>2],f=i[p+28>>2],i[o+8>>2]=i[p+24>>2],i[o+12>>2]=f,i[p+32>>2]=0,i[p+24>>2]=0,i[p+28>>2]=0;break k}n:{t:{if(n=i[p+36>>2],t=i[p+40>>2],(n|0)!=(t|0))for(;;){if(r=i[n>>2],i[r+16>>2]==1752589123){e=0,k=N0(r,68572,74292);o:{if(!k||(r=i[n+4>>2],!r))break o;i[r+4>>2]=i[r+4>>2]+1,e=r}o:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break o;V[i[i[f>>2]+8>>2]](f),g(f)}if(k)break t;f=e}if(n=n+8|0,(t|0)==(n|0))break}if(l[p+4|0]=0,l[p+15|0]=0,r0(o,2,106,p+4|0),l[p+15|0]>=0)break n;G(i[p+4>>2]);break n}if(n=A,_=i[k+84>>2],y=i[k+88>>2],(_|0)!=(y|0))for(;;){t:{if(v=i[_+4>>2],D=i[_+8>>2],(v|0)==(D|0))break t;for(;;){o:{f=i[v+4>>2]-i[v>>2]>>>24|0,t=i[n+4>>2],A=i[n+8>>2];u:{if(t>>>0<A>>>0){l[t|0]=f,k=t+1|0;break u}if(w=i[n>>2],h=t-w|0,r=h+1|0,(r|0)<0)break o;A=A-w|0,k=A<<1,k=A>>>0>=1073741823?2147483647:r>>>0<k>>>0?k:r,k?r=U(k):r=0,A=h+r|0,l[A|0]=f,I=r+k|0,k=A+1|0;l:{if((t|0)==(w|0)){r=A;break l}if(W=0,f=t,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],W=W+1|0,(h|0)!=(W|0););if(w-t>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(w|0););w=i[n>>2]}if(i[n+8>>2]=I,i[n+4>>2]=k,i[n>>2]=r,!w)break u;G(w)}i[n+4>>2]=k,f=i[v+4>>2]-i[v>>2]>>>16|0,A=i[n+8>>2];u:{if(A>>>0>k>>>0){l[k|0]=f,t=k+1|0;break u}if(w=i[n>>2],h=k-w|0,r=h+1|0,(r|0)<0)break o;A=A-w|0,t=A<<1,t=A>>>0>=1073741823?2147483647:r>>>0<t>>>0?t:r,t?r=U(t):r=0,A=h+r|0,l[A|0]=f,I=r+t|0,t=A+1|0;l:{if((k|0)==(w|0)){r=A;break l}if(W=0,f=k,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],W=W+1|0,(h|0)!=(W|0););if(w-k>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(w|0););w=i[n>>2]}if(i[n+8>>2]=I,i[n+4>>2]=t,i[n>>2]=r,!w)break u;G(w)}i[n+4>>2]=t,f=i[v+4>>2]-i[v>>2]>>>8|0,A=i[n+8>>2];u:{if(A>>>0>t>>>0){l[t|0]=f,k=t+1|0;break u}if(w=i[n>>2],h=t-w|0,r=h+1|0,(r|0)<0)break o;A=A-w|0,k=A<<1,k=A>>>0>=1073741823?2147483647:r>>>0<k>>>0?k:r,k?r=U(k):r=0,A=h+r|0,l[A|0]=f,I=r+k|0,k=A+1|0;l:{if((t|0)==(w|0)){r=A;break l}if(W=0,f=t,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],W=W+1|0,(h|0)!=(W|0););if(w-t>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(w|0););w=i[n>>2]}if(i[n+8>>2]=I,i[n+4>>2]=k,i[n>>2]=r,!w)break u;G(w)}i[n+4>>2]=k,f=i[v+4>>2]-i[v>>2]|0,A=i[n+8>>2];u:{if(A>>>0>k>>>0){l[k|0]=f,t=k+1|0;break u}if(w=i[n>>2],h=k-w|0,r=h+1|0,(r|0)<0)break o;A=A-w|0,t=A<<1,t=A>>>0>=1073741823?2147483647:r>>>0<t>>>0?t:r,t?r=U(t):r=0,A=h+r|0,l[A|0]=f,I=r+t|0,t=A+1|0;l:{if((k|0)==(w|0)){r=A;break l}if(W=0,f=k,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],W=W+1|0,(h|0)!=(W|0););if(w-k>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(w|0););w=i[n>>2]}if(i[n+8>>2]=I,i[n+4>>2]=t,i[n>>2]=r,!w)break u;G(w)}i[n+4>>2]=t,r=i[v+4>>2],h=i[v>>2],f=r-h|0;u:{if((f|0)<=0)break u;if(I=i[n+8>>2],(f|0)<=(I-t|0)){(r|0)!=(h|0)&&F2(t,h,f),i[n+4>>2]=f+t;break u}if(r=i[n>>2],w=t-r|0,A=w+f|0,(A|0)<0)break o;W=0,k=0,I=I-r|0,E=I<<1,A=I>>>0>=1073741823?2147483647:A>>>0<E>>>0?E:A,A&&(k=U(A)),I=A+k|0,R=f,A=k+w|0,f=l0(A,h,f),h=R+f|0;l:{if((r|0)==(t|0)){k=f;break l}if(f=t,w=w&3,w)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],W=W+1|0,(w|0)!=(W|0););if(r-t>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(r|0););if(f=i[n+4>>2],W=f-t|0,(f|0)==(t|0))break l;F2(h,t,W)}if(i[n+8>>2]=I,i[n+4>>2]=h+W,f=i[n>>2],i[n>>2]=k,!f)break u;G(f)}if(v=v+12|0,(D|0)!=(v|0))continue;break t}break}y0(),P()}if(_=_+16|0,(y|0)==(_|0))break}R8(o,Z,C,C+68|0,n),f=e}if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[p+35|0]<0&&G(i[p+24>>2]),e=i[p+36>>2],e){if(f=e,n=i[p+40>>2],(f|0)!=(n|0)){for(;;){f=i[n-4>>2];k:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(n=n-8|0,(e|0)==(n|0))break}f=i[p+36>>2]}i[p+40>>2]=e,G(f)}B=p+48|0;break A}if((s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))==828601974){o=f,f=0,w=B-48|0,B=w,i[w+44>>2]=0,i[w+36>>2]=0,i[w+40>>2]=0,C=e,ii(w+16|0,i[e+44>>2],r,e+52|0,w+36|0);k:{if(i[w+16>>2]){f=i[w+20>>2],i[o>>2]=i[w+16>>2],i[o+4>>2]=f,i[o+16>>2]=i[w+32>>2],f=i[w+28>>2],i[o+8>>2]=i[w+24>>2],i[o+12>>2]=f,i[w+32>>2]=0,i[w+24>>2]=0,i[w+28>>2]=0;break k}n:{t:{if(n=i[w+36>>2],t=i[w+40>>2],(n|0)!=(t|0))for(;;){if(r=i[n>>2],i[r+16>>2]==1987470147){e=0,k=N0(r,68572,74976);o:{if(!k||(r=i[n+4>>2],!r))break o;i[r+4>>2]=i[r+4>>2]+1,e=r}o:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break o;V[i[i[f>>2]+8>>2]](f),g(f)}if(k)break t;f=e}if(n=n+8|0,(t|0)==(n|0))break}if(l[w+4|0]=0,l[w+15|0]=0,r0(o,2,141,w+4|0),l[w+15|0]>=0)break n;G(i[w+4>>2]);break n}if(n=A,p=i[k+128>>2],D=i[k+132>>2],(p|0)!=(D|0))for(;;){t:{if(W=i[p+4>>2],I=i[p+8>>2],(W|0)==(I|0))break t;for(;;){o:{y=i[W>>2],E=i[W+4>>2],t=i[n+4>>2],r=i[n+8>>2];u:{if(t>>>0<r>>>0){l[t|0]=0,k=t+1|0;break u}if(_=i[n>>2],h=t-_|0,f=h+1|0,(f|0)<0)break o;r=r-_|0,A=r<<1,f=r>>>0>=1073741823?2147483647:f>>>0<A>>>0?A:f,f?r=U(f):r=0,A=h+r|0,l[A|0]=0,R=f+r|0,k=A+1|0;l:{if((t|0)==(_|0)){r=A;break l}if(v=0,f=t,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],v=v+1|0,(h|0)!=(v|0););if(_-t>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(_|0););_=i[n>>2]}if(i[n+8>>2]=R,i[n+4>>2]=k,i[n>>2]=r,!_)break u;G(_)}i[n+4>>2]=k,r=i[n+8>>2];u:{if(r>>>0>k>>>0){l[k|0]=0,t=k+1|0;break u}if(_=i[n>>2],h=k-_|0,f=h+1|0,(f|0)<0)break o;r=r-_|0,A=r<<1,f=r>>>0>=1073741823?2147483647:f>>>0<A>>>0?A:f,f?r=U(f):r=0,A=h+r|0,l[A|0]=0,R=f+r|0,t=A+1|0;l:{if((k|0)==(_|0)){r=A;break l}if(v=0,f=k,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],v=v+1|0,(h|0)!=(v|0););if(_-k>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(_|0););_=i[n>>2]}if(i[n+8>>2]=R,i[n+4>>2]=t,i[n>>2]=r,!_)break u;G(_)}i[n+4>>2]=t,y=E-y|0,f=y>>>8|0,A=i[n+8>>2];u:{if(A>>>0>t>>>0){l[t|0]=f,k=t+1|0;break u}if(_=i[n>>2],h=t-_|0,r=h+1|0,(r|0)<0)break o;A=A-_|0,k=A<<1,k=A>>>0>=1073741823?2147483647:r>>>0<k>>>0?k:r,k?r=U(k):r=0,A=h+r|0,l[A|0]=f,E=r+k|0,k=A+1|0;l:{if((t|0)==(_|0)){r=A;break l}if(v=0,f=t,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],v=v+1|0,(h|0)!=(v|0););if(_-t>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(_|0););_=i[n>>2]}if(i[n+8>>2]=E,i[n+4>>2]=k,i[n>>2]=r,!_)break u;G(_)}i[n+4>>2]=k,r=i[n+8>>2];u:{if(r>>>0>k>>>0){l[k|0]=y,t=k+1|0;break u}if(_=i[n>>2],h=k-_|0,f=h+1|0,(f|0)<0)break o;r=r-_|0,A=r<<1,f=r>>>0>=1073741823?2147483647:f>>>0<A>>>0?A:f,f?r=U(f):r=0,A=h+r|0,l[A|0]=y,y=f+r|0,t=A+1|0;l:{if((k|0)==(_|0)){r=A;break l}if(v=0,f=k,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],v=v+1|0,(h|0)!=(v|0););if(_-k>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(_|0););_=i[n>>2]}if(i[n+8>>2]=y,i[n+4>>2]=t,i[n>>2]=r,!_)break u;G(_)}i[n+4>>2]=t,r=i[W+4>>2],h=i[W>>2],f=r-h|0;u:{if((f|0)<=0)break u;if(v=i[n+8>>2],(f|0)<=(v-t|0)){(r|0)!=(h|0)&&F2(t,h,f),i[n+4>>2]=f+t;break u}if(r=i[n>>2],y=t-r|0,A=y+f|0,(A|0)<0)break o;_=0,k=0,v=v-r|0,E=v<<1,A=v>>>0>=1073741823?2147483647:A>>>0<E>>>0?E:A,A&&(k=U(A)),E=A+k|0,R=f,A=k+y|0,f=l0(A,h,f),h=R+f|0;l:{if((r|0)==(t|0)){k=f;break l}if(v=0,f=t,_=y&3,_)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],v=v+1|0,(_|0)!=(v|0););if(r-t>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(r|0););if(f=i[n+4>>2],_=f-t|0,(f|0)==(t|0))break l;F2(h,t,_)}if(i[n+8>>2]=E,i[n+4>>2]=h+_,f=i[n>>2],i[n>>2]=k,!f)break u;G(f)}if(W=W+12|0,(I|0)!=(W|0))continue;break t}break}y0(),P()}if(p=p+16|0,(D|0)==(p|0))break}R8(o,Z,C,C+68|0,n),f=e}if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[w+35|0]<0&&G(i[w+24>>2]),e=i[w+36>>2],e){if(f=e,n=i[w+40>>2],(f|0)!=(n|0)){for(;;){f=i[n-4>>2];k:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(n=n-8|0,(e|0)==(n|0))break}f=i[w+36>>2]}i[w+40>>2]=e,G(f)}B=w+48|0;break A}if((s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=825259617)break f;k=f,f=0,o=B-48|0,B=o,i[o+44>>2]=0,i[o+36>>2]=0,i[o+40>>2]=0,t=e,ii(o+16|0,i[t+44>>2],r,t+52|0,o+36|0);k:{if(i[o+16>>2]){f=i[o+20>>2],i[k>>2]=i[o+16>>2],i[k+4>>2]=f,i[k+16>>2]=i[o+32>>2],f=i[o+28>>2],i[k+8>>2]=i[o+24>>2],i[k+12>>2]=f,i[o+32>>2]=0,i[o+24>>2]=0,i[o+28>>2]=0;break k}n:{t:{if(n=i[o+36>>2],h=i[o+40>>2],(n|0)!=(h|0))for(;;){if(r=i[n>>2],i[r+16>>2]==1635135811){e=0,C=N0(r,68572,74408);o:{if(!C||(r=i[n+4>>2],!r))break o;i[r+4>>2]=i[r+4>>2]+1,e=r}o:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break o;V[i[i[f>>2]+8>>2]](f),g(f)}if(C)break t;f=e}if(n=n+8|0,(h|0)==(n|0))break}if(l[o+4|0]=0,l[o+15|0]=0,r0(k,2,131,o+4|0),l[o+15|0]>=0)break n;G(i[o+4>>2]);break n}(C+60|0)!=(A|0)&&(f=i[C+60>>2],r=i[C+64>>2],W8(A,f,r,r-f|0)),R8(k,Z,t,t+68|0,A),f=e}if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[o+35|0]<0&&G(i[o+24>>2]),e=i[o+36>>2],e){if(f=e,n=i[o+40>>2],(f|0)!=(n|0)){for(;;){f=i[n-4>>2];k:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(n=n-8|0,(e|0)==(n|0))break}f=i[o+36>>2]}i[o+40>>2]=e,G(f)}B=o+48|0;break A}f:{if(k=u+192|0,!E4(k,8710)&&(!E4(k,9980)||(k=u+20|0,cr(k,e,r),k=E4(k,8704),l[u+31|0]<0&&G(i[u+20>>2]),!k)))break f;k=f,f=0,o=B-32|0,B=o,i[o+28>>2]=0,i[o+20>>2]=0,i[o+24>>2]=0,t=e,ii(o,i[t+44>>2],r,t+52|0,o+20|0);k:{if(i[o>>2]){f=i[o+4>>2],i[k>>2]=i[o>>2],i[k+4>>2]=f,i[k+16>>2]=i[o+16>>2],f=i[o+12>>2],i[k+8>>2]=i[o+8>>2],i[k+12>>2]=f,i[o+16>>2]=0,i[o+8>>2]=0,i[o+12>>2]=0;break k}if(n=i[o+20>>2],h=i[o+24>>2],(n|0)!=(h|0)){n:{for(;;){t:{if(r=i[n>>2],i[r+16>>2]==1785751363){e=0,C=N0(r,68572,74588);o:{if(!C||(r=i[n+4>>2],!r))break o;i[r+4>>2]=i[r+4>>2]+1,e=r}o:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break o;V[i[i[f>>2]+8>>2]](f),g(f)}if(C)break t;f=e}if(n=n+8|0,(h|0)!=(n|0))continue;break n}break}(C+48|0)!=(A|0)&&(f=i[C+48>>2],r=i[C+52>>2],W8(A,f,r,r-f|0)),f=e}if(R8(k,Z,t,t+68|0,A),!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break k;V[i[i[f>>2]+8>>2]](f),g(f);break k}R8(k,Z,t,t+68|0,A)}if(l[o+19|0]<0&&G(i[o+8>>2]),e=i[o+20>>2],e){if(f=e,n=i[o+24>>2],(f|0)!=(n|0)){for(;;){f=i[n-4>>2];k:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(n=n-8|0,(e|0)==(n|0))break}f=i[o+20>>2]}i[o+24>>2]=e,G(f)}B=o+32|0;break A}if(E4(u+192|0,16929)){k=f,f=0,o=B-32|0,B=o,i[o+28>>2]=0,i[o+20>>2]=0,i[o+24>>2]=0,t=e,ii(o,i[t+44>>2],r,t+52|0,o+20|0);f:{if(i[o>>2]){f=i[o+4>>2],i[k>>2]=i[o>>2],i[k+4>>2]=f,i[k+16>>2]=i[o+16>>2],f=i[o+12>>2],i[k+8>>2]=i[o+8>>2],i[k+12>>2]=f,i[o+16>>2]=0,i[o+8>>2]=0,i[o+12>>2]=0;break f}if(n=i[o+20>>2],C=i[o+24>>2],(n|0)!=(C|0)){for(;;){k:{r=i[n>>2];n:{if(i[r+16>>2]!=1781689160){e=f;break n}e=0,h=N0(r,68572,74888);t:{if(!h||(r=i[n+4>>2],!r))break t;i[r+4>>2]=i[r+4>>2]+1,e=r}t:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break t;V[i[i[f>>2]+8>>2]](f),g(f)}if(h)break k}if(f=e,n=n+8|0,(C|0)!=(n|0))continue}break}if(R8(k,Z,t,t+68|0,A),!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break f;V[i[i[e>>2]+8>>2]](e),g(e);break f}R8(k,Z,t,t+68|0,A)}if(l[o+19|0]<0&&G(i[o+8>>2]),e=i[o+20>>2],e){if(f=e,n=i[o+24>>2],(f|0)!=(n|0)){for(;;){f=i[n-4>>2];f:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break f;V[i[i[f>>2]+8>>2]](f),g(f)}if(n=n-8|0,(e|0)==(n|0))break}f=i[o+20>>2]}i[o+24>>2]=e,G(f)}B=o+32|0;break A}i[u+20>>2]=0,i[u+24>>2]=0,i[u+36>>2]=0,i[u+28>>2]=0,i[u+32>>2]=0;f:{k:{n:{if(!E4(u+192|0,9980))break n;t:{if(l[n+111|0]>=0){i[u+16>>2]=i[n+108>>2],r=i[n+104>>2],i[u+8>>2]=i[n+100>>2],i[u+12>>2]=r;break t}_0(u+8|0,i[n+100>>2],i[n+104>>2])}if(r=u+8|0,E4(r,14086)||E4(r,9341)||E4(r,5949))break k;if(l[u+19|0]>=0)break n;G(i[u+8>>2])}R8(f,Z,e,e+68|0,A);break f}if(r0(f,4,3005,u+8|0),l[u+19|0]>=0)break f;G(i[u+8>>2])}if(l[u+39|0]>=0)break A;G(i[u+28>>2])}if(e=i[u+164>>2],e){if(r=i[u+168>>2],(e|0)!=(r|0))for(;;){if(t=r-16|0,f=i[t>>2],f){if(n=r-12|0,k=i[n>>2],Z=f,(k|0)!=(f|0)){for(;A=i[k-16>>2],A&&(i[k-12>>2]=A,G(A)),k=k-40|0,(f|0)!=(k|0););Z=i[t>>2]}i[n>>2]=f,G(Z)}if(r=r-32|0,(e|0)==(r|0))break}G(e)}if(l[u+187|0]<0&&G(i[u+176>>2]),l[u+203|0]>=0)break e;G(i[u+192>>2])}if(!J||(f=i[J+4>>2],i[J+4>>2]=f-1,f))break r;V[i[i[J>>2]+8>>2]](J),g(J)}B=u+208|0;return}y0(),P()}function tk(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0;C=B-48|0,B=C;i:{r:{if(r>>>0>2)break r;for(r=r<<2,a=i[r+56188>>2],S=i[r+56176>>2];;){r=i[e+4>>2];e:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break e}r=I2(e)}if(!((r|0)==32|r-9>>>0<5))break}I=1;e:{A:switch(r-43|0){case 0:case 2:break A;default:break e}if(I=(r|0)==45?-1:1,r=i[e+4>>2],(r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break e}r=I2(e)}e:{A:{if((r&-33)==73)for(;;){if((n|0)==7)break A;r=i[e+4>>2];f:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break f}r=I2(e)}if(k=n+1331|0,n=n+1|0,l[k|0]!=(r|32))break}if((n|0)!=3){if(k=(n|0)==8,k)break A;if(!A|n>>>0<4)break e;if(k)break A}if(r=i[e+116>>2],(r|0)>=0|(r|0)>0&&(i[e+4>>2]=i[e+4>>2]-1),!A|n>>>0<4)break A;for(r=(r|0)<0;r||(i[e+4>>2]=i[e+4>>2]-1),n=n-1|0,n>>>0>3;);}o=B-16|0,B=o,p=(s1(Y(Y(I|0)*Y(1/0))),j0(2)),e=p&8388607,A=p>>>23|0,r=A&255;A:{if(r){if((r|0)!=255){r=e,e=e>>>7|0,t=r<<25,u=e,A=(A&255)+16256|0;break A}r=e,e=e>>>7|0,t=r<<25,u=e,A=32767;break A}if(A=0,!e)break A;r=e,e=$2(e),L1(o,r,0,0,0,e+81|0),t=i[o+8>>2],u=i[o+12>>2]^65536,h=i[o>>2],w=i[o+4>>2],A=16265-e|0}i[C>>2]=h,i[C+4>>2]=w,r=C,i[r+8>>2]=t,i[r+12>>2]=u|(p&-2147483648|A<<16),B=o+16|0,t=i[r+8>>2],u=i[r+12>>2],h=i[r>>2],w=i[r+4>>2];break i}e:{A:{f:{k:{n:{if(n||(n=0,(r&-33)!=78))break n;for(;;){if((n|0)==2)break k;r=i[e+4>>2];t:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break t}r=I2(e)}if(k=n+7074|0,n=n+1|0,l[k|0]!=(r|32))break}}switch(n|0){case 0:break e;case 3:break k;default:break f}}k:{r=i[e+4>>2];n:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break n}r=I2(e)}if((r|0)==40){n=1;break k}if(u=2147450880,i[e+116>>2]<0)break i;i[e+4>>2]=i[e+4>>2]-1;break i}for(;;){k:{r=i[e+4>>2];n:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break n}r=I2(e)}if(!(r-48>>>0<10|r-65>>>0<26|(r|0)==95)&&r-97>>>0>=26)break k;n=n+1|0;continue}break}if(u=2147450880,(r|0)==41)break i;r=i[e+116>>2],(r|0)>=0|(r|0)>0&&(i[e+4>>2]=i[e+4>>2]-1);k:{if(A){if(n)break k;break i}break A}for(;(r|0)>0|(r|0)>=0&&(i[e+4>>2]=i[e+4>>2]-1),n=n-1|0,!!n;);break i}r=i[e+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(i[e+4>>2]=i[e+4>>2]-1)}i[23944]=28,a4(e,0,0);break r}e:{if((r|0)!=48)break e;n=i[e+4>>2];A:{if((n|0)!=i[e+104>>2]){i[e+4>>2]=n+1,n=s[n|0];break A}n=I2(e)}if((n&-33)==88){k=B-432|0,B=k,r=i[e+4>>2];A:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break A}r=I2(e)}A:{f:{for(;;){if((r|0)!=48)k:{if((r|0)!=46)break A;if(r=i[e+4>>2],(r|0)==i[e+104>>2])break k;i[e+4>>2]=r+1,r=s[r|0];break f}else{r=i[e+4>>2],(r|0)!=i[e+104>>2]?(y=1,i[e+4>>2]=r+1,r=s[r|0]):(y=1,r=I2(e));continue}break}r=I2(e)}if((r|0)!=48){D=1;break A}for(;;){r=p,p=r-1|0,W=W-!r|0,r=i[e+4>>2];f:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break f}r=I2(e)}if((r|0)!=48)break}D=1,y=1}for(w=1073676288;;){A:{n=r;f:{k:{if(q=r-48|0,q>>>0<10)break k;if(A0=(r|0)!=46,n=r|32,A0&n-97>>>0>5)break A;if(A0)break k;if(D)break A;D=1,p=t,W=u;break f}r=(r|0)>57?n-87|0:q;k:{if((u|0)<=0&t>>>0<=7|(u|0)<0){_=r+(_<<4)|0;break k}if(!u&t>>>0<=28){W4(k+48|0,r),d2(k+32|0,z,H,h,w,0,0,0,1073414144),z=i[k+32>>2],H=i[k+36>>2],h=i[k+40>>2],w=i[k+44>>2],d2(k+16|0,i[k+48>>2],i[k+52>>2],i[k+56>>2],i[k+60>>2],z,H,h,w),s4(k,i[k+16>>2],i[k+20>>2],i[k+24>>2],i[k+28>>2],o,v,J,R),J=i[k+8>>2],R=i[k+12>>2],o=i[k>>2],v=i[k+4>>2];break k}if(Z|!r)break k;d2(k+80|0,z,H,h,w,0,0,0,1073610752),s4(k- -64|0,i[k+80>>2],i[k+84>>2],i[k+88>>2],i[k+92>>2],o,v,J,R),J=i[k+72>>2],R=i[k+76>>2],Z=1,o=i[k+64>>2],v=i[k+68>>2]}t=t+1|0,u=t?u:u+1|0,y=1}r=i[e+4>>2],(r|0)!=i[e+104>>2]?(i[e+4>>2]=r+1,r=s[r|0]):r=I2(e);continue}break}A:{if(!y){r=i[e+116>>2],(r|0)>0?r=1:r=(r|0)>=0;f:{k:{if(r){if(r=i[e+4>>2],i[e+4>>2]=r-1,!A)break k;if(i[e+4>>2]=r-2,!D)break f;i[e+4>>2]=r-3;break f}if(A)break f}a4(e,0,0)}U2(0),e=j0(1)|0,A=j0(0)|0,U2(+(I|0)),r=j0(1)|0,j0(0)|0,N2(0,A|0),N2(1,e&2147483647|r&-2147483648),b4(k+96|0,+m1()),o=i[k+96>>2],v=i[k+100>>2],r=i[k+108>>2],e=i[k+104>>2];break A}if((u|0)<=0&t>>>0<=7|(u|0)<0)for(h=t,w=u;_=_<<4,h=h+1|0,w=h?w:w+1|0,!!((h|0)!=8|w););f:{k:{n:{if((r&-33)==80){if(h=ln(e,A),r=w0,w=r,h|(r|0)!=-2147483648)break f;if(A){if(r=i[e+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r)break n;break k}o=0,v=0,a4(e,0,0),r=0,e=0;break A}if(h=0,w=0,i[e+116>>2]<0)break f}i[e+4>>2]=i[e+4>>2]-1}h=0,w=0}if(!_){U2(0),e=j0(1)|0,A=j0(0)|0,U2(+(I|0)),r=j0(1)|0,j0(0)|0,N2(0,A|0),N2(1,e&2147483647|r&-2147483648),b4(k+112|0,+m1()),o=i[k+112>>2],v=i[k+116>>2],r=i[k+124>>2],e=i[k+120>>2];break A}if(e=D?p:t,A=h+(e<<2)|0,e=w+((D?W:u)<<2|e>>>30)|0,t=A-32|0,r=0-a|0,u=(A>>>0<h>>>0?e+1|0:e)-(A>>>0<32)|0,e=u,(e|0)>0?e=1:e=r>>>0<t>>>0&(e|0)>=0,e){i[23944]=68,W4(k+160|0,I),d2(k+144|0,i[k+160>>2],i[k+164>>2],i[k+168>>2],i[k+172>>2],-1,-1,-1,2147418111),d2(k+128|0,i[k+144>>2],i[k+148>>2],i[k+152>>2],i[k+156>>2],-1,-1,-1,2147418111),o=i[k+128>>2],v=i[k+132>>2],r=i[k+140>>2],e=i[k+136>>2];break A}if(e=a-226|0,r=e>>31,(u|0)>=(r|0)&e>>>0<=t>>>0|(r|0)<(u|0)){if((_|0)>=0)for(;s4(k+416|0,o,v,J,R,0,0,0,-1073807360),e=H7(o,v,J,R,1073610752),e=(e|0)>=0,s4(k+400|0,o,v,J,R,e?i[k+416>>2]:o,e?i[k+420>>2]:v,e?i[k+424>>2]:J,e?i[k+428>>2]:R),r=_<<1,_=r|e,e=t,t=e-1|0,u=u-!e|0,J=i[k+408>>2],R=i[k+412>>2],o=i[k+400>>2],v=i[k+404>>2],(r|0)>=0;);e=u-((a>>31)+(t>>>0<a>>>0)|0)|0,r=(t-a|0)+32|0,e=r>>>0<32?e+1|0:e,r=r>>>0<S>>>0&(e|0)<=0|(e|0)<0?(r|0)>0?r:0:S;f:{if((r|0)>=113){W4(k+384|0,I),p=i[k+392>>2],W=i[k+396>>2],z=i[k+384>>2],H=i[k+388>>2],h=0,e=0;break f}b4(k+352|0,M1(1,144-r|0)),W4(k+336|0,I),z=i[k+336>>2],H=i[k+340>>2],p=i[k+344>>2],W=i[k+348>>2],Qt(k+368|0,i[k+352>>2],i[k+356>>2],i[k+360>>2],i[k+364>>2],W),E=i[k+376>>2],d=i[k+380>>2],h=i[k+372>>2],e=i[k+368>>2]}A=!(_&1)&((fi(o,v,J,R,0,0,0,0)|0)!=0&(r|0)<32),Ji(k+320|0,A|_),d2(k+304|0,z,H,p,W,i[k+320>>2],i[k+324>>2],i[k+328>>2],i[k+332>>2]),r=e,s4(k+272|0,i[k+304>>2],i[k+308>>2],i[k+312>>2],i[k+316>>2],e,h,E,d),e=A,d2(k+288|0,z,H,p,W,e?0:o,e?0:v,e?0:J,e?0:R),s4(k+256|0,i[k+288>>2],i[k+292>>2],i[k+296>>2],i[k+300>>2],i[k+272>>2],i[k+276>>2],i[k+280>>2],i[k+284>>2]),C3(k+240|0,i[k+256>>2],i[k+260>>2],i[k+264>>2],i[k+268>>2],r,h,E,d),e=i[k+240>>2],A=i[k+244>>2],r=i[k+248>>2],h=i[k+252>>2],fi(e,A,r,h,0,0,0,0)||(i[23944]=68),$n(k+224|0,e,A,r,h,t),o=i[k+224>>2],v=i[k+228>>2],r=i[k+236>>2],e=i[k+232>>2];break A}i[23944]=68,W4(k+208|0,I),d2(k+192|0,i[k+208>>2],i[k+212>>2],i[k+216>>2],i[k+220>>2],0,0,0,65536),d2(k+176|0,i[k+192>>2],i[k+196>>2],i[k+200>>2],i[k+204>>2],0,0,0,65536),o=i[k+176>>2],v=i[k+180>>2],r=i[k+188>>2],e=i[k+184>>2]}i[C+16>>2]=o,i[C+20>>2]=v,i[C+24>>2]=e,i[C+28>>2]=r,B=k+432|0,t=i[C+24>>2],u=i[C+28>>2],h=i[C+16>>2],w=i[C+20>>2];break i}if(i[e+116>>2]<0)break e;i[e+4>>2]=i[e+4>>2]-1}n=e,o=r,E=A,A=0,k=B-8976|0,B=k,q=0-a|0,d=q-S|0;e:{A:{for(;;){if((o|0)!=48)f:{if((o|0)!=46)break e;if(e=i[n+4>>2],(e|0)==i[n+104>>2])break f;i[n+4>>2]=e+1,o=s[e|0];break A}else{e=i[n+4>>2],(e|0)!=i[n+104>>2]?(i[n+4>>2]=e+1,o=s[e|0]):o=I2(n),A=1;continue}break}o=I2(n)}if((o|0)==48){for(;;){e=t,t=e-1|0,u=u-!e|0,e=i[n+4>>2];A:{if((e|0)!=i[n+104>>2]){i[n+4>>2]=e+1,o=s[e|0];break A}o=I2(n)}if((o|0)!=48)break}A=1}D=1}i[k+784>>2]=0;e:{A:{e=(o|0)==46,r=o-48|0;f:{k:{n:{if(e|r>>>0<=9)for(;;){t:{if(e&1){if(!D){t=h,u=w,D=1;break t}e=!A;break n}if(e=w,h=h+1|0,w=h?e:e+1|0,(_|0)<=2044){y=(o|0)==48?y:h,e=(k+784|0)+(_<<2)|0,Z&&(r=(m(i[e>>2],10)+o|0)-48|0),i[e>>2]=r,A=1,r=Z+1|0,e=(r|0)==9,Z=e?0:r,_=e+_|0;break t}if((o|0)==48)break t;i[k+8960>>2]=i[k+8960>>2]|1,y=18396}e=i[n+4>>2];t:{if((e|0)!=i[n+104>>2]){i[n+4>>2]=e+1,o=s[e|0];break t}o=I2(n)}if(e=(o|0)==46,r=o-48|0,!(e|r>>>0<10))break}if(t=D?t:h,u=D?u:w,!(!A|(o&-33)!=69)){o=ln(n,E),e=w0,v=e;t:{if(o|(e|0)!=-2147483648)break t;if(!E)break f;if(o=0,v=0,i[n+116>>2]<0)break t;i[n+4>>2]=i[n+4>>2]-1}e=u+v|0,t=t+o|0,u=t>>>0<o>>>0?e+1|0:e;break A}if(e=!A,(o|0)<0)break k}if(i[n+116>>2]<0)break k;i[n+4>>2]=i[n+4>>2]-1}if(!e)break A;i[23944]=28}a4(n,0,0),t=0,u=0,r=0,e=0;break e}if(e=i[k+784>>2],!e){U2(0),e=j0(1)|0,A=j0(0)|0,U2(+(I|0)),r=j0(1)|0,j0(0)|0,N2(0,A|0),N2(1,e&2147483647|r&-2147483648),b4(k,+m1()),t=i[k+8>>2],u=i[k+12>>2],r=i[k+4>>2],e=i[k>>2];break e}if(!(h>>>0>9&(w|0)>=0|(w|0)>0|((t|0)!=(h|0)|(u|0)!=(w|0))|(e>>>S|0?(S|0)<=30:0))){W4(k+48|0,I),Ji(k+32|0,e),d2(k+16|0,i[k+48>>2],i[k+52>>2],i[k+56>>2],i[k+60>>2],i[k+32>>2],i[k+36>>2],i[k+40>>2],i[k+44>>2]),t=i[k+24>>2],u=i[k+28>>2],r=i[k+20>>2],e=i[k+16>>2];break e}if(e=q>>>1|0,e>>>0<t>>>0&(u|0)>=0|(u|0)>0){i[23944]=68,W4(k+96|0,I),d2(k+80|0,i[k+96>>2],i[k+100>>2],i[k+104>>2],i[k+108>>2],-1,-1,-1,2147418111),d2(k- -64|0,i[k+80>>2],i[k+84>>2],i[k+88>>2],i[k+92>>2],-1,-1,-1,2147418111),t=i[k+72>>2],u=i[k+76>>2],r=i[k+68>>2],e=i[k+64>>2];break e}if(e=a-226|0,r=t>>>0<e>>>0,e=e>>31,r&(u|0)<=(e|0)|(e|0)>(u|0)){i[23944]=68,W4(k+144|0,I),d2(k+128|0,i[k+144>>2],i[k+148>>2],i[k+152>>2],i[k+156>>2],0,0,0,65536),d2(k+112|0,i[k+128>>2],i[k+132>>2],i[k+136>>2],i[k+140>>2],0,0,0,65536),t=i[k+120>>2],u=i[k+124>>2],r=i[k+116>>2],e=i[k+112>>2];break e}if(Z){if((Z|0)<=8){for(e=(k+784|0)+(_<<2)|0,n=i[e>>2];n=m(n,10),Z=Z+1|0,(Z|0)!=9;);i[e>>2]=n}_=_+1|0}Z=t;A:{if(t>>>0>17&(u|0)>=0|(u|0)>0|(y|0)>=9|(t|0)<(y|0))break A;if(!u&(t|0)==9){W4(k+192|0,I),Ji(k+176|0,i[k+784>>2]),d2(k+160|0,i[k+192>>2],i[k+196>>2],i[k+200>>2],i[k+204>>2],i[k+176>>2],i[k+180>>2],i[k+184>>2],i[k+188>>2]),t=i[k+168>>2],u=i[k+172>>2],r=i[k+164>>2],e=i[k+160>>2];break e}if((u|0)<=0&t>>>0<=8|(u|0)<0){W4(k+272|0,I),Ji(k+256|0,i[k+784>>2]),d2(k+240|0,i[k+272>>2],i[k+276>>2],i[k+280>>2],i[k+284>>2],i[k+256>>2],i[k+260>>2],i[k+264>>2],i[k+268>>2]),W4(k+224|0,i[(0-Z<<2)+56176>>2]),Bk(k+208|0,i[k+240>>2],i[k+244>>2],i[k+248>>2],i[k+252>>2],i[k+224>>2],i[k+228>>2],i[k+232>>2],i[k+236>>2]),t=i[k+216>>2],u=i[k+220>>2],r=i[k+212>>2],e=i[k+208>>2];break e}if(e=(m(Z,-3)+S|0)+27|0,r=i[k+784>>2],r>>>e|0&&(e|0)<=30)break A;W4(k+352|0,I),Ji(k+336|0,r),d2(k+320|0,i[k+352>>2],i[k+356>>2],i[k+360>>2],i[k+364>>2],i[k+336>>2],i[k+340>>2],i[k+344>>2],i[k+348>>2]),W4(k+304|0,i[(Z<<2)+56104>>2]),d2(k+288|0,i[k+320>>2],i[k+324>>2],i[k+328>>2],i[k+332>>2],i[k+304>>2],i[k+308>>2],i[k+312>>2],i[k+316>>2]),t=i[k+296>>2],u=i[k+300>>2],r=i[k+292>>2],e=i[k+288>>2];break e}for(;e=_,_=e-1|0,!i[(k+784|0)+(_<<2)>>2];);y=0,r=(Z|0)%9|0;A:{if(!r){r=0;break A}A=(u|0)<0?r+9|0:r;f:{if(!e){r=0,e=0;break f}for(t=i[(0-A<<2)+56176>>2],u=1e9/(t|0)|0,o=0,n=0,r=0;h=o,w=k+784|0,o=w+(n<<2)|0,_=i[o>>2],E=(_>>>0)/(t>>>0)|0,h=h+E|0,i[o>>2]=h,h=!h&(r|0)==(n|0),r=h?r+1&2047:r,Z=h?Z-9|0:Z,o=m(u,_-m(t,E)|0),n=n+1|0,(n|0)!=(e|0););if(!o)break f;i[w+(e<<2)>>2]=o,e=e+1|0}Z=(Z-A|0)+9|0}for(;;){n=(k+784|0)+(r<<2)|0,E=(Z|0)<36;A:{for(;;){if(!E&((Z|0)!=36|k0[n>>2]>=10384593))break A;for(_=e+2047|0,A=0;h=e,t=A,o=_&2047,_=(k+784|0)+(o<<2)|0,A=i[_>>2],e=A>>>3|0,A=A<<29,t=t+A|0,u=A>>>0>t>>>0?e+1|0:e,!u&t>>>0<1000000001?A=0:(e=t,A=K6(e,u,1e9,0),w=q0(A,w0,1e9,0),t=e-w|0,u=u-(w0+(e>>>0<w>>>0)|0)|0),i[_>>2]=t,e=(r|0)==(o|0)||t|u?h:o,t=h-1&2047,e=(t|0)!=(o|0)?h:e,_=o-1|0,(r|0)!=(o|0););if(y=y-29|0,e=h,!!A)break}r=r-1&2047,(r|0)==(e|0)&&(o=(e+2046&2047)<<2,e=k+784|0,h=o+e|0,i[h>>2]=i[h>>2]|i[e+(t<<2)>>2],e=t),Z=Z+9|0,i[(k+784|0)+(r<<2)>>2]=A;continue}break}A:{f:for(;;){for(t=e+1&2047,u=(k+784|0)+((e-1&2047)<<2)|0;;){h=(Z|0)>45?9:1;k:{for(;;){A=r,n=0;n:{for(;;){t:{if(r=A+n&2047,(r|0)==(e|0)||(r=i[(k+784|0)+(r<<2)>>2],o=i[(n<<2)+56128>>2],r>>>0<o>>>0))break t;if(r>>>0>o>>>0)break n;if(n=n+1|0,(n|0)!=4)continue}break}if((Z|0)!=36)break n;for(t=0,u=0,n=0,h=0,w=0;r=A+n&2047,(r|0)==(e|0)&&(e=e+1&2047,i[((e<<2)+k|0)+780>>2]=0),Ji(k+768|0,i[(k+784|0)+(r<<2)>>2]),d2(k+752|0,t,u,h,w,0,0,1342177280,1075633366),s4(k+736|0,i[k+752>>2],i[k+756>>2],i[k+760>>2],i[k+764>>2],i[k+768>>2],i[k+772>>2],i[k+776>>2],i[k+780>>2]),h=i[k+744>>2],w=i[k+748>>2],t=i[k+736>>2],u=i[k+740>>2],n=n+1|0,(n|0)!=4;);if(W4(k+720|0,I),d2(k+704|0,t,u,h,w,i[k+720>>2],i[k+724>>2],i[k+728>>2],i[k+732>>2]),h=i[k+712>>2],w=i[k+716>>2],t=0,u=0,o=i[k+704>>2],v=i[k+708>>2],E=y+113|0,n=E-a|0,Z=(n|0)<(S|0),r=Z?(n|0)>0?n:0:S,(r|0)<=112)break k;break A}if(y=h+y|0,r=e,(e|0)!=(A|0))break}for(w=1e9>>>h|0,_=-1<<h^-1,n=0,r=A;o=n,E=k+784|0,n=E+(A<<2)|0,v=i[n>>2],o=o+(v>>>h|0)|0,i[n>>2]=o,o=!o&(r|0)==(A|0),r=o?r+1&2047:r,Z=o?Z-9|0:Z,n=m(w,_&v),A=A+1&2047,(A|0)!=(e|0););if(!n)continue;if((r|0)!=(t|0)){i[E+(e<<2)>>2]=n,e=t;continue f}i[u>>2]=i[u>>2]|1;continue}break}break}b4(k+656|0,M1(1,225-r|0)),Qt(k+688|0,i[k+656>>2],i[k+660>>2],i[k+664>>2],i[k+668>>2],w),z=i[k+696>>2],H=i[k+700>>2],J=i[k+688>>2],R=i[k+692>>2],b4(k+640|0,M1(1,113-r|0)),Sk(k+672|0,o,v,h,w,i[k+640>>2],i[k+644>>2],i[k+648>>2],i[k+652>>2]),t=i[k+672>>2],u=i[k+676>>2],p=i[k+680>>2],W=i[k+684>>2],C3(k+624|0,o,v,h,w,t,u,p,W),s4(k+608|0,J,R,z,H,i[k+624>>2],i[k+628>>2],i[k+632>>2],i[k+636>>2]),h=i[k+616>>2],w=i[k+620>>2],o=i[k+608>>2],v=i[k+612>>2]}_=A+4&2047;A:{if((_|0)==(e|0))break A;_=i[(k+784|0)+(_<<2)>>2];f:{if(_>>>0<=499999999){if(!_&(A+5&2047)==(e|0))break f;b4(k+496|0,+(I|0)*.25),s4(k+480|0,t,u,p,W,i[k+496>>2],i[k+500>>2],i[k+504>>2],i[k+508>>2]),p=i[k+488>>2],W=i[k+492>>2],t=i[k+480>>2],u=i[k+484>>2];break f}if((_|0)!=5e8){b4(k+592|0,+(I|0)*.75),s4(k+576|0,t,u,p,W,i[k+592>>2],i[k+596>>2],i[k+600>>2],i[k+604>>2]),p=i[k+584>>2],W=i[k+588>>2],t=i[k+576>>2],u=i[k+580>>2];break f}if(f0=+(I|0),(A+5&2047)==(e|0)){b4(k+528|0,f0*.5),s4(k+512|0,t,u,p,W,i[k+528>>2],i[k+532>>2],i[k+536>>2],i[k+540>>2]),p=i[k+520>>2],W=i[k+524>>2],t=i[k+512>>2],u=i[k+516>>2];break f}b4(k+560|0,f0*.75),s4(k+544|0,t,u,p,W,i[k+560>>2],i[k+564>>2],i[k+568>>2],i[k+572>>2]),p=i[k+552>>2],W=i[k+556>>2],t=i[k+544>>2],u=i[k+548>>2]}if((r|0)>111||(Sk(k+464|0,t,u,p,W,0,0,0,1073676288),fi(i[k+464>>2],i[k+468>>2],i[k+472>>2],i[k+476>>2],0,0,0,0)))break A;s4(k+448|0,t,u,p,W,0,0,0,1073676288),p=i[k+456>>2],W=i[k+460>>2],t=i[k+448>>2],u=i[k+452>>2]}s4(k+432|0,o,v,h,w,t,u,p,W),C3(k+416|0,i[k+432>>2],i[k+436>>2],i[k+440>>2],i[k+444>>2],J,R,z,H),h=i[k+424>>2],w=i[k+428>>2],o=i[k+416>>2],v=i[k+420>>2];A:{if((d-2|0)>=(E&2147483647)||(i[k+408>>2]=h,i[k+412>>2]=w&2147483647,i[k+400>>2]=o,i[k+404>>2]=v,d2(k+384|0,o,v,h,w,0,0,0,1073610752),A=H7(i[k+400>>2],i[k+404>>2],i[k+408>>2],i[k+412>>2],1081081856),e=(A|0)>=0,h=e?i[k+392>>2]:h,w=e?i[k+396>>2]:w,o=e?i[k+384>>2]:o,v=e?i[k+388>>2]:v,t=fi(t,u,p,W,0,0,0,0),y=e+y|0,(y+110|0)<=(d|0)&&!(Z&((r|0)!=(n|0)|(A|0)<0)&(t|0)!=0)))break A;i[23944]=68}$n(k+368|0,o,v,h,w,y),t=i[k+376>>2],u=i[k+380>>2],r=i[k+372>>2],e=i[k+368>>2]}i[C+40>>2]=t,i[C+44>>2]=u,i[C+32>>2]=e,i[C+36>>2]=r,B=k+8976|0,t=i[C+40>>2],u=i[C+44>>2],h=i[C+32>>2],w=i[C+36>>2];break i}u=0}i[f>>2]=h,i[f+4>>2]=w,i[f+8>>2]=t,i[f+12>>2]=u,B=C+48|0}function vr(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0;h=f+18548|0;i:{r:{e:{A:{f:{for(;;){v=i[f+18588>>2],o=i[v+132>>2];k:{n:{if(_=i[v+124>>2],Z=i[_+484>>2],n=1<<A,(Z|0)<(n+e|0)){t=i[_+16872>>2];break n}if(u=i[_+488>>2],t=i[_+16872>>2],(u|0)<(r+n|0)|(t|0)>=(A|0))break n;t=1,p=e-1|0,n=1;t:{if((p|r)<0||(n=1,(e|0)>(Z|0))||(n=1,(r|0)>=(u|0))||(w=i[_+16876>>2],W=m(i[_+16892>>2],r>>w),C=i[v+140>>2],I=W+(e>>w)|0,w=W+(p>>w)|0,n=1,Q[C+m(I,24)>>1]!=Q[C+m(w,24)>>1]))break t;n=i[o+8484>>2],n=i[n+(I<<2)>>2]!=i[n+(w<<2)>>2]}w=r-1|0;t:{if((w|e)<0|(e|0)>=(Z|0)|(r|0)>(u|0)||(Z=i[_+16876>>2],u=e>>Z,C=i[v+140>>2],W=i[_+16892>>2],I=u+m(W,r>>Z)|0,Z=u+m(W,w>>Z)|0,Q[C+m(I,24)>>1]!=Q[C+m(Z,24)>>1]))break t;t=i[o+8484>>2],t=i[t+(I<<2)>>2]!=i[t+(Z<<2)>>2]}if(Z=0,!n){if(Z=i[v+168>>2],n=p>>Z,(n|0)<0||(u=i[v+172>>2],(u|0)<=(n|0)))break r;if(Z=r>>Z,(Z|0)<0|(Z|0)>=i[v+176>>2])break i;n=(i[v+160>>2]+m(n,3)|0)+m(m(u,Z),3)|0,Z=((s[n|0]|s[n+1|0]<<8)>>>6&3)>(k|0)}t:{if(t)n=0;else{if(t=i[v+168>>2],n=e>>t,(n|0)<0||(u=i[v+172>>2],(u|0)<=(n|0)))break r;if(t=w>>t,(t|0)<0|(t|0)>=i[v+176>>2])break t;n=(i[v+160>>2]+m(n,3)|0)+m(m(t,u),3)|0,n=((s[n|0]|s[n+1|0]<<8)>>>6&3)>(k|0)}n=!f2(h,(n+(i[f+18572>>2]+Z|0)|0)+2|0);break k}break i}n=(A|0)<=(t|0)}if(!s[o+26|0]|i[o+8268>>2]>(A|0)||(i[f+18500>>2]=0,i[f+18504>>2]=0),!s[i[f+18592>>2]+760|0]|i[o+8272>>2]>(A|0)||(i[f+18508>>2]=0),!n){if(A=A-1|0,k=k+1|0,vr(f,e,r,A,k),o=1<<A,n=o+r|0,o=e+o|0,(o|0)<i[_+484>>2]&&vr(f,o,r,A,k),t=i[_+488>>2],(n|0)<(t|0)&&(vr(f,e,n,A,k),t=i[_+488>>2]),(o|0)>=i[_+484>>2])break f;if(e=o,r=n,(t|0)>(r|0))continue;break f}break}if(n=i[v+168>>2],o=A-n|0,(o|0)!=31)for(t=r>>n,o=1<<o,Z=t+o|0,h=o,o=e>>n,u=h+o|0,p=k<<6&192;;){for(n=o;h=(i[v+160>>2]+m(n,3)|0)+m(m(i[v+172>>2],t),3)|0,_=p|(s[h|0]|s[h+1|0]<<8)&65343,l[h|0]=_,l[h+1|0]=_>>>8,n=n+1|0,(u|0)>(n|0););if(t=t+1|0,!((Z|0)>(t|0)))break}if(p=B-80|0,B=p,t=f,Z=i[f+18592>>2],n=i[f+18588>>2],w=i[n+132>>2],I=i[n+124>>2],o=e,h=r,v=A,f=i[n+168>>2],e=A-f|0,(e|0)!=31)for(r=r>>f,e=1<<e,W=r+e|0,_=e,e=o>>f,C=_+e|0;;){for(f=e;_=(i[n+160>>2]+m(f,3)|0)+m(m(i[n+172>>2],r),3)|0,u=(s[_|0]|s[_+1|0]<<8)&65528,l[_|0]=u,l[_+1|0]=u>>>8,f=f+1|0,(C|0)>(f|0););if(r=r+1|0,!((W|0)>(r|0)))break}if(e=i[n+168>>2],f=o>>e,(f|0)<0||(r=i[n+172>>2],(r|0)<=(f|0)))break A;if(e=h>>e,(e|0)<0|(e|0)>=i[n+176>>2])break e;if(f=(i[n+160>>2]+m(f,3)|0)+m(m(e,r),3)|0,e=(s[f|0]|s[f+1|0]<<8)&65528|A&7,l[f|0]=e,l[f+1|0]=e>>>8,e=i[n+248>>2],r=v-e|0,(r|0)!=31)for(f=h>>e,r=1<<r,A=f+r|0,_=r,r=o>>e,_=_+r|0;;){for(e=r;l[(i[n+240>>2]+e|0)+m(i[n+252>>2],f)|0]=0,e=e+1|0,(_|0)>(e|0););if(f=f+1|0,!((A|0)>(f|0)))break}zk(t,o,h);k:{if(s[w+44|0]){if(f=f2(t+18548|0,i[t+18572>>2]+161|0),l[t+32|0]=f,!f)break k;if(f=i[n+168>>2],e=v-f|0,(e|0)!=31)for(r=h>>f,e=1<<e,u=r+e|0,A=e,e=o>>f,w=A+e|0;;){for(f=e;A=(i[n+160>>2]+m(f,3)|0)+m(m(i[n+172>>2],r),3)|0,_=(s[A|0]|s[A+1|0]<<8)&63487|2048,l[A|0]=_,l[A+1|0]=_>>>8,f=f+1|0,(w|0)>(f|0););if(r=r+1|0,!((u|0)>(r|0)))break}if(e=i[n+148>>2],f=o>>e,(f|0)<0||(r=i[n+152>>2],(r|0)<=(f|0)))break A;if(e=h>>e,(e|0)<0|(e|0)>=i[n+156>>2])break e;l[((i[n+140>>2]+m(f,24)|0)+m(m(e,r),24)|0)+22|0]=1;break k}l[t+32|0]=0}u=1<<v,A=0;k:{n:{if(i[Z+28>>2]==2)break n;e=i[t+18588>>2],_=1,A=o-1|0,f=1;t:{if((A|h)<0||(r=i[e+124>>2],f=1,(o|0)>i[r+484>>2])||(f=1,(h|0)>=i[r+488>>2])||(f=i[r+16892>>2],r=i[r+16876>>2],w=m(f,h>>r),C=i[e+140>>2],W=w+(o>>r)|0,r=w+(A>>r)|0,f=1,Q[C+m(W,24)>>1]!=Q[C+m(r,24)>>1]))break t;f=i[i[e+132>>2]+8484>>2],f=i[f+(W<<2)>>2]!=i[f+(r<<2)>>2]}W=h-1|0;t:{if((W|o)<0||(r=i[e+124>>2],(o|0)>=i[r+484>>2]|(h|0)>i[r+488>>2])||(w=i[r+16876>>2],C=o>>w,J=i[e+140>>2],r=i[r+16892>>2],y=C+m(r,h>>w)|0,r=C+m(r,W>>w)|0,Q[J+m(y,24)>>1]!=Q[J+m(r,24)>>1]))break t;_=i[i[e+132>>2]+8484>>2],_=i[_+(y<<2)>>2]!=i[_+(r<<2)>>2]}if(w=0,r=0,!f){if(r=i[e+168>>2],f=A>>r,(f|0)<0||(A=i[e+172>>2],(A|0)<=(f|0)))break r;if(r=h>>r,(r|0)<0|(r|0)>=i[e+176>>2])break i;f=(i[e+160>>2]+m(f,3)|0)+m(m(r,A),3)|0,r=((s[f|0]|s[f+1|0]<<8)&768)==512}if(!_){if(A=i[e+168>>2],f=o>>A,(f|0)<0||(_=i[e+172>>2],(_|0)<=(f|0)))break r;if(A=W>>A,(A|0)<0|(A|0)>=i[e+176>>2])break i;f=(i[e+160>>2]+m(f,3)|0)+m(m(A,_),3)|0,w=((s[f|0]|s[f+1|0]<<8)&768)==512}if(f=t+18548|0,f2(f,((i[t+18572>>2]+r|0)+w|0)+5|0)&255){e=16;t:{if(i[i[t+18592>>2]+812>>2]<2||!f2(f,i[t+18572>>2]+148|0)||(e=48,i[i[t+18592>>2]+812>>2]<3))break t;for(e=1;x1(f)&&(e=e+1|0,(e|0)<(i[i[t+18592>>2]+812>>2]-1|0)););e=e<<5|16}if(l[t+26|0]=s[t+26|0]&15|e,e=i[n+168>>2],f=o>>e,(f|0)<0||(r=i[n+172>>2],(r|0)<=(f|0)))break A;if(e=h>>e,(e|0)<0|(e|0)>=i[n+176>>2])break e;if(f=(i[n+160>>2]+m(f,3)|0)+m(m(e,r),3)|0,e=(s[f|0]|s[f+1|0]<<8)&65479,l[f|0]=e,l[f+1|0]=e>>>8,f=i[n+168>>2],e=v-f|0,(e|0)!=31)for(r=h>>f,e=1<<e,v=r+e|0,f=o>>f,_=f+e|0;;){for(e=f;A=(i[n+160>>2]+m(e,3)|0)+m(m(i[n+172>>2],r),3)|0,k=(s[A|0]|s[A+1|0]<<8)&64767|512,l[A|0]=k,l[A+1|0]=k>>>8,e=e+1|0,(_|0)>(e|0););if(r=r+1|0,!((v|0)>(r|0)))break}nk(i[t+18584>>2],i[t+18592>>2],i[t+18588>>2],t+16|0,o,h,0,0,u,u,u,0);break k}if(A=0,i[Z+28>>2]==2)break n;A=!f2(f,i[t+18572>>2]+149|0)}if(f=i[n+168>>2],e=v-f|0,(e|0)!=31)for(r=h>>f,e=1<<e,w=r+e|0,W=A<<8,f=o>>f,C=f+e|0;;){for(e=f;_=(i[n+160>>2]+m(e,3)|0)+m(m(i[n+172>>2],r),3)|0,Z=W|(s[_|0]|s[_+1|0]<<8)&64767,l[_|0]=Z,l[_+1|0]=Z>>>8,e=e+1|0,(C|0)>(e|0););if(r=r+1|0,!((w|0)>(r|0)))break}Z=!A;n:{t:{if(A){_=i[i[t+18588>>2]+124>>2],f=0,r=t+18548|0;o:{if(f2(r,i[t+18572>>2]+8|0))break o;e=f2(r,i[t+18572>>2]+9|0);u:{l:{if((v|0)>i[_+16872>>2]){if(f=e?1:2,!s[_+8798|0]||f2(r,i[t+18572>>2]+11|0))break o;if(f=x1(r),!(!e|!f)){f=5;break o}if(!(f|!e)){f=4;break o}if(f|e)break l;f=6;break o}if(f=1,e)break o;if((v|0)!=3)break u;f=2;break o}if(!(!f|e)){f=7;break o}C0(9349,14036,1774,11286),P()}f=3-f2(r,i[t+18572>>2]+10|0)|0}break t}if(e=0,_=0,(v|0)!=i[I+16872>>2])break n;f=f2(t+18548|0,i[t+18572>>2]+8|0)?0:3}e=f,_=(f|0)==3&Z}if(r=i[n+168>>2],f=o>>r,(f|0)<0||(Z=i[n+172>>2],(Z|0)<=(f|0)))break A;if(r=h>>r,(r|0)<0|(r|0)>=i[n+176>>2])break e;f=(i[n+160>>2]+m(f,3)|0)+m(m(r,Z),3)|0,r=(s[f|0]|s[f+1|0]<<8)&65479|e<<3&56,l[f|0]=r,l[f+1|0]=r>>>8;n:{if(!A){t:{if(!s[I+8800|0]|e|((v|0)<i[I+16956>>2]|(v|0)>i[I+16960>>2])||(C=t+18548|0,!t3(C)))break t;if(f=i[n+168>>2],e=v-f|0,(e|0)!=31)for(r=h>>f,e=1<<e,_=r+e|0,A=e,e=o>>f,Z=A+e|0;;){for(f=e;A=(i[n+160>>2]+m(f,3)|0)+m(m(i[n+172>>2],r),3)|0,k=(s[A|0]|s[A+1|0]<<8)&64511|1024,l[A|0]=k,l[A+1|0]=k>>>8,f=f+1|0,(Z|0)>(f|0););if(r=r+1|0,!((_|0)>(r|0)))break}if(e=i[n+148>>2],f=o>>e,(f|0)<0||(r=i[n+152>>2],(r|0)<=(f|0)))break A;if(e=h>>e,(e|0)<0|(e|0)>=i[n+156>>2])break e;l[((i[n+140>>2]+m(f,24)|0)+m(m(e,r),24)|0)+22|0]=1,f=i[t+18552>>2],i[p+48>>2]=f,e=i[t+18556>>2],w=0,i[p+64>>2]=0,i[p+56>>2]=0,i[p+60>>2]=0,i[p+52>>2]=e-f,f=i[t+18588>>2],e=i[f+40>>2],r=m(e,h),A=i[f+4>>2],k=i[f+124>>2],f=l[k+8801|0],k=i[k+16832>>2];o:{if((k|0)>=9){if((v|0)==31)break o;for(k=k-f|0,n=(k|0)>0?k:0,r=A+(r+o<<1)|0;;){for(A=r+(m(e,w)<<1)|0,k=0;f0=A+(k<<1)|0,n0=u0(p+48|0,f)<<n,X[f0>>1]=n0,k=k+1|0,(u|0)!=(k|0););if(w=w+1|0,(u|0)==(w|0))break}break o}if((v|0)==31)break o;for(k=k-f|0,n=(k|0)>0?k:0,r=o+(r+A|0)|0;;){for(A=r+m(e,w)|0,k=0;f0=A+k|0,n0=u0(p+48|0,f)<<n,l[f0|0]=n0,k=k+1|0,(u|0)!=(k|0););if(w=w+1|0,(u|0)==(w|0))break}}w=i[t+18588>>2],f=i[w+124>>2];o:{if(!i[f+16848>>2])break o;if(e=i[f+16852>>2],v=(o|0)/(e|0)|0,r=i[f+16856>>2],_=(u|0)/(r|0)|0,k=(u|0)/(e|0)|0,A=i[w+44>>2],W=m(A,(h|0)/(r|0)|0),Z=i[w+8>>2],e=l[f+8802|0],f=i[f+16840>>2],(f|0)>=9){if(n=0,f=f-e|0,r=(f|0)>0?f:0,f=v+W<<1,!((k|0)<=0|(_|0)<=0)){for(v=f+Z|0;;){for(Z=v+(m(A,n)<<1)|0,f=0;f0=Z+(f<<1)|0,n0=u0(p+48|0,e)<<r,X[f0>>1]=n0,f=f+1|0,(k|0)!=(f|0););if(n=n+1|0,(_|0)==(n|0))break}w=i[t+18588>>2],f=i[w+124>>2],e=l[f+8802|0],r=i[f+16840>>2]-e|0,r=(r|0)>0?r:0,A=i[w+44>>2],k=i[f+16856>>2],n=i[f+16852>>2],f=m(A,(h|0)/(k|0)|0)+((o|0)/(n|0)|0)<<1,_=(u|0)/(k|0)|0,k=(u|0)/(n|0)|0}if((_|0)<=0|(k|0)<=0)break o;for(o=i[w+12>>2]+f|0,n=0;;){for(h=o+(m(A,n)<<1)|0,f=0;f0=h+(f<<1)|0,n0=u0(p+48|0,e)<<r,X[f0>>1]=n0,f=f+1|0,(k|0)!=(f|0););if(n=n+1|0,(_|0)==(n|0))break}break o}if(n=0,f=f-e|0,r=(f|0)>0?f:0,!((k|0)<=0|(_|0)<=0)){for(v=(Z+W|0)+v|0;;){for(Z=v+m(A,n)|0,f=0;f0=f+Z|0,n0=u0(p+48|0,e)<<r,l[f0|0]=n0,f=f+1|0,(k|0)!=(f|0););if(n=n+1|0,(_|0)==(n|0))break}w=i[t+18588>>2],f=i[w+124>>2],e=l[f+8802|0],r=i[f+16840>>2]-e|0,r=(r|0)>0?r:0,A=i[f+16852>>2],v=(o|0)/(A|0)|0,f=i[f+16856>>2],_=(u|0)/(f|0)|0,k=(u|0)/(A|0)|0,A=i[w+44>>2],W=m(A,(h|0)/(f|0)|0)}if((_|0)<=0|(k|0)<=0)break o;for(o=(i[w+12>>2]+W|0)+v|0,n=0;;){for(h=o+m(A,n)|0,f=0;f0=f+h|0,n0=u0(p+48|0,e)<<r,l[f0|0]=n0,f=f+1|0,(k|0)!=(f|0););if(n=n+1|0,(_|0)==(n|0))break}}Gt(p+48|0),i[t+18552>>2]=i[p+48>>2],Y6(C);break k}if(A=(e|0)==3,C=A?(u|0)/2|0:u,(v|0)!=31)for(r=t+18548|0,e=0,w=0;;){for(f=0;f0=(p+48|0)+(e<<2)|0,n0=f2(r,i[t+18572>>2]+12|0),i[f0>>2]=n0,e=e+1|0,f=f+C|0,(u|0)>(f|0););if(w=w+C|0,!((u|0)>(w|0)))break}k=o-1|0,f=0;t:{if((k|h)<0||(e=i[n+124>>2],f=0,(o|0)>i[e+484>>2])||(f=0,(h|0)>=i[e+488>>2])||(f=i[e+16892>>2],e=i[e+16876>>2],r=m(f,h>>e),w=i[n+140>>2],Z=r+(o>>e)|0,e=r+(k>>e)|0,f=0,Q[w+m(Z,24)>>1]!=Q[w+m(e,24)>>1]))break t;f=i[i[n+132>>2]+8484>>2],f=i[f+(Z<<2)>>2]==i[f+(e<<2)>>2]}Z=f,k=h-1|0;t:{if((k|o)<0||(f=i[n+124>>2],(o|0)>=i[f+484>>2]|(h|0)>i[f+488>>2])||(e=i[f+16876>>2],r=o>>e,W=i[n+140>>2],f=i[f+16892>>2],w=r+m(f,h>>e)|0,f=r+m(f,k>>e)|0,Q[W+m(w,24)>>1]!=Q[W+m(f,24)>>1]))break t;e=i[i[n+132>>2]+8484>>2],d=i[e+(w<<2)>>2]==i[e+(f<<2)>>2]}if(k=v-A|0,(v|0)!=31)for(H=t+18548|0,J=0;;){for(y=h+J|0,A0=(J|0)>0|d,W=0;;){R=a<<2,S=i[R+(p+48|0)>>2];t:{if(S){w=Q6(H,2),f=p+32|0;break t}w=d4(H,5),f=p+16|0}i[f+R>>2]=w,r=o+W|0,z=r,f=i[I+16944>>2],w=m(i[I+16948>>2],y>>f)+(r>>f)|0,A=w,D=i[n+124>>2],e=1,f=1;t:{if(!((W|0)>0|Z))break t;if(f=i[n+168>>2],r=r-1>>f,(r|0)<0||(q=i[n+172>>2],(q|0)<=(r|0)))break r;if(E=y>>f,(E|0)<0|(E|0)>=i[n+176>>2])break i;if(f=1,s[((i[n+160>>2]+m(r,3)|0)+m(m(E,q),3)|0)+1|0]&7)break t;f=s[(A+i[n+200>>2]|0)-1|0]}t:{if(!A0)break t;if(E=i[n+168>>2],r=z>>E,(r|0)<0||(z=i[n+172>>2],(z|0)<=(r|0)))break r;if(E=y-1>>E,(E|0)<0|(E|0)>=i[n+176>>2])break i;if(s[((i[n+160>>2]+m(r,3)|0)+m(m(E,z),3)|0)+1|0]&7|(y|0)==(y&-1<<i[D+16876>>2]))break t;e=s[i[n+200>>2]+(A-i[D+16948>>2]|0)|0]}t:{if((f|0)==(e|0)){if(f>>>0<=1){i[p+12>>2]=26,i[p+4>>2]=0,i[p+8>>2]=1;break t}i[p+4>>2]=f,i[p+12>>2]=(f-1&31)+2,i[p+8>>2]=(f+29&31)+2;break t}if(i[p+8>>2]=e,i[p+4>>2]=f,!(!f|!e)){i[p+12>>2]=0;break t}if(!((f|0)==1|(e|0)==1)){i[p+12>>2]=1;break t}i[p+12>>2]=26}t:{if((S|0)!=1){f=i[p+4>>2],r=i[p+8>>2],e=(f|0)>(r|0)?f:r,f=(f|0)<(r|0)?f:r,r=i[p+12>>2];o:{if((f|0)<=(r|0)){A=f,f=r;break o}i[p+12>>2]=f,i[p+4>>2]=r,A=r}o:{if((f|0)>=(e|0)){r=f,f=e;break o}i[p+8>>2]=f,r=e}e=f,f=i[R+(p+16|0)>>2],f=((f|0)>=(A|0))+f|0,f=((e|0)<=(f|0))+f|0,A=((f|0)>=(r|0))+f|0;break t}A=i[(p+4|0)+(i[R+(p+32|0)>>2]<<2)>>2]}if(R=i[n+208>>2],f=k-R|0,(f|0)!=31)for(D=1<<f,E=D&2147483646,f=0;;){if(e=0,r=0,(k|0)!=(R|0))for(;l[(w+(i[n+200>>2]+e|0)|0)+m(i[n+212>>2],f)|0]=A,l[((w+(i[n+200>>2]+e|0)|0)+m(i[n+212>>2],f)|0)+1|0]=A,e=e+2|0,r=r+2|0,(E|0)!=(r|0););if((k|0)==(R|0)&&(l[(w+(i[n+200>>2]+e|0)|0)+m(i[n+212>>2],f)|0]=A),f=f+1|0,(D|0)==(f|0))break}if(a=a+1|0,W=W+C|0,!((u|0)>(W|0)))break}if(J=C+J|0,!((u|0)>(J|0)))break}t:switch(i[I+16848>>2]){case 3:if((v|0)==31)break n;w=t+18548|0,W=0;o:{for(;;){f=h+W|0,e=0;u:{for(;;){if(f2(w,i[t+18572>>2]+13|0)?r=d4(w,2):r=4,Z=e+o|0,y=i[n+208>>2],A=Z>>y,(A|0)<0||(J=i[n+212>>2],(J|0)<=(A|0)))break u;if(y=f>>y,(y|0)<0|(y|0)>=i[n+216>>2])break o;if(A=s[(A+i[n+200>>2]|0)+m(y,J)|0],A=A>>>0<=34?A:0,y=(r|0)==4,y||(r=i[(r<<2)+45808>>2],A=(r|0)==(A|0)?34:r),Q7(n,Z,f,k,A,y),e=e+C|0,!((u|0)>(e|0)))break}if(W=W+C|0,(u|0)>(W|0))continue;break n}break}break r}break i;case 0:break n;default:break t}if(f=t+18548|0,f2(f,i[t+18572>>2]+13|0)?f=d4(f,2):f=4,r=i[n+208>>2],e=o>>r,(e|0)<0||(A=i[n+212>>2],(A|0)<=(e|0)))break r;if(r=h>>r,(r|0)<0|(r|0)>=i[n+216>>2])break i;e=s[(e+i[n+200>>2]|0)+m(r,A)|0],e=e>>>0<=34?e:0,(f|0)!=4&&(r=i[(f<<2)+45808>>2],e=(e|0)==(r|0)?34:r),i[I+16848>>2]==2&&(e=s[e+45824|0]),Q7(n,o,h,v,e,(f|0)==4);break n}t:{o:{u:switch(e|0){case 1:f=(u|0)/2|0,d1(t,o,h,0,0,u,f,k,u,0),d1(t,o,h,0,f,u,f,k,u,1);break o;case 2:f=(u|0)/2|0,d1(t,o,h,0,0,f,u,k,u,0),d1(t,o,h,f,0,f,u,k,u,1);break o;case 4:f=(u|0)/4|0,d1(t,o,h,0,0,u,f,k,u,0),d1(t,o,h,0,f,u,(3<<v)/4|0,k,u,1);break o;case 5:f=(3<<v)/4|0,d1(t,o,h,0,0,u,f,k,u,0),d1(t,o,h,0,f,u,(u|0)/4|0,k,u,1);break o;case 6:f=(u|0)/4|0,d1(t,o,h,0,0,f,u,k,u,0),d1(t,o,h,f,0,(3<<v)/4|0,u,k,u,1);break o;case 7:f=(3<<v)/4|0,d1(t,o,h,0,0,f,u,k,u,0),d1(t,o,h,f,0,(u|0)/4|0,u,k,u,1);break o;case 3:f=(u|0)/2|0,d1(t,o,h,0,0,f,f,k,u,0),d1(t,o,h,f,0,f,f,k,u,1),d1(t,o,h,0,f,f,f,k,u,2),d1(t,o,h,f,f,f,f,k,u,3);break o;default:C0(17356,14036,4544,3188),P();case 0:break u}if(d1(t,o,h,0,0,u,u,k,u,0),s[t+26|0]&16)break t}if(!f2(t+18548|0,i[t+18572>>2]+153|0))break k}f=i[I+16848>>2]!=0,n6(t,o,h,o,h,o,h,v,0,0,i[I+628>>2],_,1,f,f);break k}f=i[I+16848>>2]!=0,n6(t,o,h,o,h,o,h,v,0,0,_+i[I+632>>2]|0,_,0,f,f)}B=p+80|0}return}C0(3758,8453,128,3372),P()}C0(3720,8453,129,3372),P()}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function ok(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;u=B-112|0,B=u,v=Ri(i[e+48>>2],17067),o=U(360),i[o+16>>2]=0,i[o+20>>2]=0,i[o>>2]=72656,i[o+4>>2]=0,i[o+8>>2]=0,l[o+152|0]=0,i[o+36>>2]=v,i[o+32>>2]=e,i[o+28>>2]=34648,i[o+40>>2]=0,i[o+44>>2]=0,i[o+52>>2]=0,i[o+56>>2]=0,i[o+68>>2]=0,i[o+72>>2]=0,i[o+80>>2]=0,i[o+84>>2]=0,i[o+156>>2]=0,i[o+160>>2]=0,i[o+24>>2]=0,X[o+48>>1]=0,X[o+58>>1]=0,X[o+60>>1]=0,X[o+62>>1]=0,X[o+64>>1]=0,l[o+76|0]=0,l[o+88|0]=0,i[o+204>>2]=0,i[o+196>>2]=0,i[o+200>>2]=0,i[o+188>>2]=0,i[o+192>>2]=0,i[o+180>>2]=0,i[o+184>>2]=0,i[o+172>>2]=0,i[o+176>>2]=0,i[o+164>>2]=0,i[o+168>>2]=0,i[o+212>>2]=0,i[o+216>>2]=0,l[o+208|0]=1,l[o+217|0]=0,l[o+218|0]=0,l[o+219|0]=0,l[o+220|0]=0,l[o+221|0]=0,l[o+222|0]=0,l[o+223|0]=0,l[o+224|0]=0,i[o+232>>2]=0,i[o+236>>2]=0,i[o+240>>2]=0,i[o+244>>2]=0,i[o+248>>2]=0,i[o+252>>2]=0,i[o+256>>2]=0,i[o+260>>2]=0,i[o+264>>2]=0,i[o+268>>2]=0,l[o+272|0]=0,B0(o+280|0,0,80),i[o+296>>2]=0,i[o+300>>2]=0,l[o+292|0]=1,i[o+304>>2]=0,i[o+308>>2]=0,i[o+312>>2]=0,i[o+316>>2]=0,i[o+328>>2]=0,i[o+332>>2]=0,i[o+320>>2]=0,i[o+324>>2]=1072693248,i[o+336>>2]=0,i[o+340>>2]=0,i[o+344>>2]=0,i[o+348>>2]=0,i[o+352>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+112>>2]=0,i[o+116>>2]=0,i[o+120>>2]=0,i[o+124>>2]=0,i[o+128>>2]=0,i[o+132>>2]=0,i[o+136>>2]=0,i[o+140>>2]=0,i[o+144>>2]=0,i[o+148>>2]=0,i[t>>2]=o+16,h=i[t+4>>2],i[t+4>>2]=o;i:{if(!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break i;V[i[i[h>>2]+8>>2]](h),g(h)}o=i[e+32>>2];i:{if(o>>>0<k0[e+36>>2]){i[o>>2]=i[t>>2],h=i[t+4>>2],i[o+4>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),o=o+8|0;break i}o=Q2(e+28|0,t)}i[e+32>>2]=o,o=i[e+20>>2];i:{r:{if(!o){w=e+20|0,h=w;break r}for(;;){if(h=o,w=i[o+16>>2],w>>>0>v>>>0){if(w=o,o=i[o>>2],o)continue;break r}if(w>>>0>=v>>>0)break i;if(o=i[h+4>>2],!o)break}w=h+4|0}o=U(28),i[o+20>>2]=0,i[o+24>>2]=0,i[o+16>>2]=v,i[o+8>>2]=h,i[o>>2]=0,i[o+4>>2]=0,i[w>>2]=o,h=o,_=i[i[e+16>>2]>>2],_&&(i[e+16>>2]=_,h=i[w>>2]),D1(i[e+20>>2],h),i[e+24>>2]=i[e+24>>2]+1}w=i[t>>2],h=i[t+4>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),i[o+20>>2]=w,t=i[o+24>>2],i[o+24>>2]=h;i:{if(!t||(o=i[t+4>>2],i[t+4>>2]=o-1,o))break i;V[i[i[t>>2]+8>>2]](t),g(t)}t=i[r>>2],i[u+108>>2]=i[t+32>>2],i[u+104>>2]=i[t+36>>2],$r(u+96|0,r,i[k+4>>2]),t=i[A>>2];i:{if(i[t>>2]>=2){V[i[t+108>>2]](i[A+4>>2],u+108|0,u+104|0);break i}V[i[t+96>>2]](u+108|0,u+104|0)}i[u+88>>2]=0,i[u+92>>2]=0;i:{r:{e:{A:{if(w=i[u+108>>2],t=i[r>>2],o=i[u+104>>2],!((w|0)!=i[t+32>>2]|(o|0)!=i[t+36>>2])){if(o=i[t+44>>2],t=i[t+48>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),p6(w,o,t,i[k+4>>2]))break A;w=i[u+108>>2],o=i[u+104>>2]}i[u+36>>2]=i[u+96>>2],t=i[u+100>>2],i[u+40>>2]=t,t&&(i[t+4>>2]=i[t+4>>2]+1),N8(u+76|0,r,w,o,u+36|0,0,k+16|0),t=i[u+76>>2],o=i[u+80>>2],i[u+76>>2]=0,i[u+80>>2]=0,r=i[u+92>>2],i[u+88>>2]=t,i[u+92>>2]=o;f:{if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t||(V[i[i[r>>2]+8>>2]](r),g(r)),r=i[u+80>>2],!r)||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break f;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[u+40>>2];f:{if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break f;V[i[i[r>>2]+8>>2]](r),g(r)}if(i[u+88>>2])break e;if(l[u+76|0]=0,l[u+87|0]=0,r0(f,4,3003,u+76|0),l[u+87|0]>=0)break r;G(i[u+76>>2]);break r}if(o=i[r>>2],t=i[r+4>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[u+88>>2]=o,r=i[u+92>>2],i[u+92>>2]=t,!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break e;V[i[i[r>>2]+8>>2]](r),g(r)}e:{A:switch(n-1|0){case 0:case 3:break A;default:break e}r=i[u+88>>2],t=i[r+52>>2],r=i[r+56>>2];A:{f:{k:{if(!r){if(!t)break f;w=i[e+48>>2],i[u+80>>2]=0,i[u+76>>2]=t;break k}if(i[r+4>>2]=i[r+4>>2]+1,!t)break f;w=i[e+48>>2],i[u+80>>2]=r,i[u+76>>2]=t,i[r+4>>2]=i[r+4>>2]+1}p8(w,v,u+76|0),t=i[u+80>>2];k:{if(!t||(o=i[t+4>>2],i[t+4>>2]=o-1,o))break k;V[i[i[t>>2]+8>>2]](t),g(t)}if(!s[k+3|0]|s[k|0]<3)break A}if(o=i[e+48>>2],i[u+76>>2]=i[u+96>>2],t=i[u+100>>2],i[u+80>>2]=t,t&&(i[t+4>>2]=i[t+4>>2]+1),p8(o,v,u+76|0),t=i[u+80>>2],!t||(o=i[t+4>>2],i[t+4>>2]=o-1,o))break A;V[i[i[t>>2]+8>>2]](t),g(t)}if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break e;V[i[i[r>>2]+8>>2]](r),g(r)}e:{A:{f:{k:{if(!s[k+1|0]||!H2(i[u+88>>2],6))break k;i[u+36>>2]=0,i[u+40>>2]=0,s6(u+76|0,u+88|0),t=i[u+76>>2],o=i[u+80>>2],i[u+76>>2]=0,i[u+80>>2]=0,r=i[u+40>>2],i[u+36>>2]=t,i[u+40>>2]=o;n:{if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t||(V[i[i[r>>2]+8>>2]](r),g(r)),r=i[u+80>>2],!r)||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(i[u+24>>2]=0,i[u+28>>2]=0,ok(f,e,u+36|0,A,k,2,u+24|0),i[f>>2])break f;t=i[i[u+24>>2]+20>>2],o=i[e+48>>2],r=U(4),i[u+76>>2]=r,h=r+4|0,i[u+84>>2]=h,i[r>>2]=v,i[u+80>>2]=h,P1(o,t,1635088492,u+76|0),r=i[u+76>>2],r&&(i[u+80>>2]=r,G(r)),h=i[i[u+24>>2]+20>>2],w=i[e+48>>2],r=U(48),i[u+76>>2]=r,i[u+80>>2]=43,i[u+84>>2]=-2147483600,t=s[14658]|s[14659]<<8|(s[14660]<<16|s[14661]<<24),l[r+39|0]=t,l[r+40|0]=t>>>8,l[r+41|0]=t>>>16,l[r+42|0]=t>>>24,t=s[14655]|s[14656]<<8|(s[14657]<<16|s[14658]<<24),o=s[14651]|s[14652]<<8|(s[14653]<<16|s[14654]<<24),l[r+32|0]=o,l[r+33|0]=o>>>8,l[r+34|0]=o>>>16,l[r+35|0]=o>>>24,l[r+36|0]=t,l[r+37|0]=t>>>8,l[r+38|0]=t>>>16,l[r+39|0]=t>>>24,t=s[14647]|s[14648]<<8|(s[14649]<<16|s[14650]<<24),o=s[14643]|s[14644]<<8|(s[14645]<<16|s[14646]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=t,l[r+29|0]=t>>>8,l[r+30|0]=t>>>16,l[r+31|0]=t>>>24,t=s[14639]|s[14640]<<8|(s[14641]<<16|s[14642]<<24),o=s[14635]|s[14636]<<8|(s[14637]<<16|s[14638]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=t,l[r+21|0]=t>>>8,l[r+22|0]=t>>>16,l[r+23|0]=t>>>24,t=s[14631]|s[14632]<<8|(s[14633]<<16|s[14634]<<24),o=s[14627]|s[14628]<<8|(s[14629]<<16|s[14630]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=t,l[r+13|0]=t>>>8,l[r+14|0]=t>>>16,l[r+15|0]=t>>>24,t=s[14623]|s[14624]<<8|(s[14625]<<16|s[14626]<<24),o=s[14619]|s[14620]<<8|(s[14621]<<16|s[14622]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=t,l[r+5|0]=t>>>8,l[r+6|0]=t>>>16,l[r+7|0]=t>>>24,l[r+43|0]=0,_6(w,h,u+76|0),l[u+87|0]<0&&G(i[u+76>>2]);n:{if(s[i[u+88>>2]+40|0]!=1||(t=i[e+48>>2],o=i[i[u+24>>2]+20>>2],r=U(4),i[u+76>>2]=r,h=r+4|0,i[u+84>>2]=h,i[r>>2]=o,i[u+80>>2]=h,P1(t,v,1886545261,u+76|0),r=i[u+76>>2],!r))break n;i[u+80>>2]=r,G(r)}l[f+19|0]<0&&G(i[f+8>>2]),r=i[u+28>>2];n:{if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[u+40>>2],!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break k;V[i[i[r>>2]+8>>2]](r),g(r)}l[u+84|0]=0,l[u+85|0]=0,l[u+86|0]=0,l[u+87|0]=0,l[u+77|0]=0,l[u+78|0]=0,l[u+79|0]=0,l[u+80|0]=0,l[u+81|0]=0,l[u+82|0]=0,l[u+83|0]=0,l[u+84|0]=0,l[u+76|0]=1,r=u+56|0,o=U0(i[u+88>>2],0),t=i[i[u+88>>2]+36>>2],h=(o|0)<11,w=h&&(t|0)==3?1:2,Z=h?t>>>0>=2?w:0:w,h=y4(i[u+88>>2],0),w=F4(i[u+88>>2],0),_=m(h,w);k:{if(!((h|0)>8192|(w|0)>4352)&&(p=13,(_|0)<8912897))break k;p=(h|0)>=16385||(w|0)>=8705?31:(_|0)<35651585?17:31}l[u+78|0]=p,l[u+77|0]=Z,l[u+82|0]=!t,l[u+81|0]=o>>>0>11,l[u+80|0]=o>>>0>8,o=t<<3,h=t>>>0<4,l[u+83|0]=((h?16908801>>>o|0:0)&3)>>>1,l[u+85|0]=((t|0)!=1)<<1,l[u+84|0]=((h?16843265>>>o|0:0)&3)>>>1,t=i[19565],i[r>>2]=i[19564],i[r+4>>2]=t,r=r+8|0;k:{if(l[78275]>=0){t=i[19567],i[r>>2]=i[19566],i[r+4>>2]=t,i[r+8>>2]=i[19568];break k}_0(r,i[19566],i[19567])}l[u+75|0]<0&&G(i[u+64>>2]),i[u+52>>2]=0,r=i[u+88>>2],t=i[u+92>>2];k:{if(!t){i[u+52>>2]=0,i[u+48>>2]=r;break k}if(i[t+4>>2]=i[t+4>>2]+1,i[u+48>>2]=r,r=i[u+52>>2],i[u+52>>2]=t,!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break k;V[i[i[r>>2]+8>>2]](r),g(r)}if(V[i[i[A>>2]+100>>2]](u+36|0,i[A+4>>2],u+48|0,n),n=i[u+36>>2],n)break A;for(;;){k:{V[i[i[A>>2]+104>>2]](u+24|0,i[A+4>>2],u+20|0,u+16|0,0),t=u+76|0,n=0,p=B-48|0,B=p,h=w6(p+16|0,i[u+20>>2],i[u+16>>2]),r=i[h+8>>2],o=r>>31<<3|r>>>29,w=i[h+24>>2],r=w+(r<<3)|0,_=(w>>31)+o|0,_=r>>>0<w>>>0?_+1|0:_;n:{if(!r&(_|0)<=0|(_|0)<0)break n;t:{for(;;){if(p2(h,1),Z=g0(h,4),r=g0(h,1),o=g0(h,1),p2(h,1),r&&p2(h,8),o){r=g0(h,8),o=r&127,w=0;o:{if(!(r&128)||(r=g0(h,8),o=o|r<<7&16256,!(r&128))||(r=g0(h,8),o=o|r<<14&2080768,!(r&128))||(r=g0(h,8),o=o|r<<21&266338304,!(r&128))||(r=g0(h,8),_=r>>>4|0,o=o|r<<28&-268435456,w=w|_&7,!(r&128))||(r=g0(h,8),w=w|r<<3&1016,!(r&128))||(r=g0(h,8),w=w|r<<10&130048,!(r&128)))break o;w=w|g0(h,8)<<17&16646144}if((Z|0)==1)break t;if(!w&o>>>0>2147483647|w)break n;if(G7(h,o),r=i[h+24>>2],o=r,w=r>>31,r=i[h+8>>2],_=r>>31<<3|r>>>29,Z=r<<3,o=Z+o|0,r=w+_|0,r=o>>>0<Z>>>0?r+1|0:r,!!o&(r|0)>=0|(r|0)>0)continue;break n}break}if((Z|0)!=1)break n}C=t,I=g0(h,3),l[C+1|0]=I,g0(h,1),Z=g0(h,1);t:{if(Z){r=g0(h,5),l[t+3|0]=0,l[t+2|0]=r;break t}o:{u:{if(!g0(h,1)||(G7(h,8),g0(h,1)&&g1(h,p+12|0),!g0(h,1)))break u;n=g0(h,5),p2(h,32),p2(h,10),o=1;break o}o=0}if(W=g0(h,1),_=g0(h,5),(_|0)<0)break t;if(p2(h,12),r=g0(h,5),l[t+2|0]=r,w=n+1|0,r=r&248,!W){r&&(C=t,I=g0(h,1),l[C+3|0]=I);o:{if(!o||!g0(h,1))break o;p2(h,w),p2(h,w),p2(h,1)}if(!_)break t;for(r=1;;){p2(h,12),g0(h,5)&248&&g0(h,1),n=r;o:{if(!o||!g0(h,1))break o;p2(h,w),p2(h,w),p2(h,1)}if(r=n+1|0,(n|0)==(_|0))break}break t}if(!o){if(r&&(C=t,I=g0(h,1),l[C+3|0]=I),n=1,r=g0(h,1),l[t+10|0]=(r|0)!=0,r&&(C=t,I=g0(h,4),l[C+11|0]=I),!_)break t;for(;p2(h,12),g0(h,5)&248&&g0(h,1),g0(h,1)&&g0(h,4),r=(n|0)!=(_|0),n=n+1|0,!!r;);break t}if(r&&(C=t,I=g0(h,1),l[C+3|0]=I),g0(h,1)&&(p2(h,w),p2(h,w),p2(h,1)),r=g0(h,1),l[t+10|0]=(r|0)!=0,r&&(C=t,I=g0(h,4),l[C+11|0]=I),!_)break t;for(n=1;p2(h,12),g0(h,5)&248&&g0(h,1),g0(h,1)&&(p2(h,w),p2(h,w),p2(h,1)),g0(h,1)&&g0(h,4),r=(n|0)==(_|0),n=n+1|0,!r;);}r=g0(h,4),n=g0(h,4),g0(h,r+1|0),g0(h,n+1|0);t:{if(!Z){g0(h,1)&&p2(h,7),p2(h,3),p2(h,4),r=g0(h,1),r&&p2(h,2);o:{if(!g0(h,1)&&(g0(h,1)|0)<=0||g0(h,1))break o;p2(h,1)}if(!r)break t}p2(h,3)}p2(h,3),r=g0(h,1),l[t+4|0]=r,o=s[t+1|0],n=0;t:{if(!(r&255)){r=0;break t}if(r=0,(o|0)!=2)break t;r=g0(h,1),o=s[t+1|0]}l[t+5|0]=r,(o|0)!=1?r=g0(h,1):r=0,l[t+6|0]=r;t:{if(!g0(h,1)){o=0,r=0;break t}o=(g0(h,8)|0)==1,n=(g0(h,8)|0)==13,r=!g0(h,8)}t:{o:{if(s[t+6|0]){p2(h,1),l[t+7|0]=1,l[t+8|0]=1,n=9,r=0;break o}u:{if((r&(n&o))==1)break u;p2(h,1);l:{s:{h:{w:switch(s[t+1|0]){default:if(s[t+5|0]){if(r=g0(h,1),l[t+7|0]=r,r&255)break h;break l}l[t+7|0]=1;break l;case 1:break u;case 0:break w}l[t+7|0]=1,l[t+8|0]=1;break s}if(r=g0(h,1),l[t+8|0]=r,!s[t+7|0]|!(r&255))break t}n=9,r=g0(h,2);break o}n=8,r=0;break o}l[t+7|0]=0,n=8,r=0}l[n+t|0]=r}p2(h,1)}if(B=p+48|0,h=i[u+20>>2],!h)break k;if(o=0,i[u+32>>2]=0,i[u+24>>2]=0,i[u+28>>2]=0,r=i[u+16>>2],r?(L2(u+24|0,r),o=i[u+16>>2],h=i[u+20>>2],r=i[u+24>>2]):r=0,l0(r,h,o),hi(i[e+48>>2],v,u+24|0,0),r=i[u+24>>2],!r)continue;i[u+28>>2]=r,G(r);continue}break}w=i[e+48>>2],n=B-16|0,B=n,r=U(88),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=71264,t=r+16|0,i[t+8>>2]=0,i[t+12>>2]=0,i[t+16>>2]=0,i[t+20>>2]=0,i[t+24>>2]=0,i[t+28>>2]=0,i[t+32>>2]=0,i[t>>2]=68500,i[r+60>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[t>>2]=74368,l[r+84|0]=0,l[r+85|0]=0,l[r+86|0]=0,l[r+87|0]=0,l[r+76|0]=0,l[r+77|0]=0,l[r+78|0]=0,l[r+79|0]=0,l[r+80|0]=0,l[r+81|0]=0,l[r+82|0]=0,l[r+83|0]=0,i[r+32>>2]=1635135811,o=s[u+80|0]|s[u+81|0]<<8|(s[u+82|0]<<16|s[u+83|0]<<24),h=s[u+76|0]|s[u+77|0]<<8|(s[u+78|0]<<16|s[u+79|0]<<24),l[r+64|0]=h,l[r+65|0]=h>>>8,l[r+66|0]=h>>>16,l[r+67|0]=h>>>24,l[r+68|0]=o,l[r+69|0]=o>>>8,l[r+70|0]=o>>>16,l[r+71|0]=o>>>24,o=s[u+84|0]|s[u+85|0]<<8|(s[u+86|0]<<16|s[u+87|0]<<24),l[r+72|0]=o,l[r+73|0]=o>>>8,l[r+74|0]=o>>>16,l[r+75|0]=o>>>24,i[n+8>>2]=r,i[n+4>>2]=t,i[r+4>>2]=i[r+4>>2]+1,t=N4(i[w+44>>2],n+4|0),o=i[w+52>>2],X[n+14>>1]=t+1,l[n+12|0]=1,i[n>>2]=Q[n+12>>1]|Q[n+14>>1]<<16,c1(o,v,n),t=i[n+8>>2];k:{if(!t||(o=i[t+4>>2],i[t+4>>2]=o-1,o))break k;V[i[i[t>>2]+8>>2]](t),g(t)}t=i[r+4>>2],i[r+4>>2]=t-1,t||(V[i[i[r>>2]+8>>2]](r),g(r)),B=n+16|0,n=i[u+88>>2],r=i[n+28>>2],n=i[n+24>>2],i[u+24>>2]=n,i[u+20>>2]=r,w=r,t=n,o=i[A>>2];k:{if(i[o>>2]<3||(o=i[o+112>>2],!o))break k;V[o|0](i[A+4>>2],t,r,u+24|0,u+20|0),w=i[u+20>>2],t=i[u+24>>2]}if(Vi(i[e+48>>2],v,t,w),A=i[u+24>>2],t=i[u+20>>2],(A|0)==(n|0)&(t|0)==(r|0)||(ar(i[e+48>>2],v,n,r,A,t),gr(i[e+48>>2],v,i[k+12>>2])),i[u+8>>2]=i[u+88>>2],r=i[u+92>>2],i[u+12>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[u+12>>2],i[u>>2]=i[u+8>>2],i[u+4>>2]=r,Wi(e,u,v),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break e}_0(f,i[19566],i[19567]);break e}f=i[u+28>>2];f:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break f;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[u+40>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f);break r}if(A=i[u+40>>2],k=i[u+44>>2],e=G2(k),e>>>0>=2147483640)break i;A:{f:{if(e>>>0>=11){t=(e|7)+1|0,r=U(t),i[u+32>>2]=t|-2147483648,i[u+24>>2]=r,i[u+28>>2]=e;break f}if(l[u+35|0]=e,r=u+24|0,!e)break A}F2(r,k,e)}if(l[e+r|0]=0,r0(f,n,A,u+24|0),l[u+35|0]>=0)break e;G(i[u+24>>2])}if(f=i[u+52>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[u+92>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[u+100>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}B=u+112|0;return}c2(),P()}function lk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0;u=B-176|0,B=u,y=Ri(i[e+48>>2],16949),o=U(360),i[o+16>>2]=0,i[o+20>>2]=0,i[o>>2]=72656,i[o+4>>2]=0,i[o+8>>2]=0,l[o+152|0]=0,i[o+36>>2]=y,i[o+32>>2]=e,i[o+28>>2]=34648,i[o+40>>2]=0,i[o+44>>2]=0,i[o+52>>2]=0,i[o+56>>2]=0,i[o+68>>2]=0,i[o+72>>2]=0,i[o+80>>2]=0,i[o+84>>2]=0,i[o+156>>2]=0,i[o+160>>2]=0,i[o+24>>2]=0,X[o+48>>1]=0,X[o+58>>1]=0,X[o+60>>1]=0,X[o+62>>1]=0,X[o+64>>1]=0,l[o+76|0]=0,l[o+88|0]=0,i[o+204>>2]=0,i[o+196>>2]=0,i[o+200>>2]=0,i[o+188>>2]=0,i[o+192>>2]=0,i[o+180>>2]=0,i[o+184>>2]=0,i[o+172>>2]=0,i[o+176>>2]=0,i[o+164>>2]=0,i[o+168>>2]=0,i[o+212>>2]=0,i[o+216>>2]=0,l[o+208|0]=1,l[o+217|0]=0,l[o+218|0]=0,l[o+219|0]=0,l[o+220|0]=0,l[o+221|0]=0,l[o+222|0]=0,l[o+223|0]=0,l[o+224|0]=0,i[o+232>>2]=0,i[o+236>>2]=0,i[o+240>>2]=0,i[o+244>>2]=0,i[o+248>>2]=0,i[o+252>>2]=0,i[o+256>>2]=0,i[o+260>>2]=0,i[o+264>>2]=0,i[o+268>>2]=0,l[o+272|0]=0,B0(o+280|0,0,80),i[o+296>>2]=0,i[o+300>>2]=0,l[o+292|0]=1,i[o+304>>2]=0,i[o+308>>2]=0,i[o+312>>2]=0,i[o+316>>2]=0,i[o+328>>2]=0,i[o+332>>2]=0,i[o+320>>2]=0,i[o+324>>2]=1072693248,i[o+336>>2]=0,i[o+340>>2]=0,i[o+344>>2]=0,i[o+348>>2]=0,i[o+352>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+112>>2]=0,i[o+116>>2]=0,i[o+120>>2]=0,i[o+124>>2]=0,i[o+128>>2]=0,i[o+132>>2]=0,i[o+136>>2]=0,i[o+140>>2]=0,i[o+144>>2]=0,i[o+148>>2]=0,i[t>>2]=o+16,h=i[t+4>>2],i[t+4>>2]=o;i:{if(!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break i;V[i[i[h>>2]+8>>2]](h),g(h)}o=i[r>>2],i[u+172>>2]=i[o+32>>2],i[u+168>>2]=i[o+36>>2],$r(u+160|0,r,i[k+4>>2]),o=i[A>>2];i:{if(i[o>>2]>=2){V[i[o+108>>2]](i[A+4>>2],u+172|0,u+168|0);break i}V[i[o+96>>2]](u+172|0,u+168|0)}i:{r:{e:{if(o=i[u+172>>2],h=i[r>>2],w=i[u+168>>2],!((o|0)!=i[h+32>>2]|(w|0)!=i[h+36>>2])){if(w=i[h+44>>2],h=i[h+48>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),p6(o,w,h,i[k+4>>2]))break e;w=i[u+168>>2],o=i[u+172>>2]}if(i[u+132>>2]=i[u+160>>2],h=i[u+164>>2],i[u+136>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),N8(u+92|0,r,o,w,u+132|0,0,k+16|0),o=i[u+92>>2],r=i[u+96>>2],i[u+92>>2]=0,i[u+96>>2]=0,i[u+156>>2]=r,i[u+152>>2]=o,r=i[u+136>>2],r&&(o=i[r+4>>2],i[r+4>>2]=o-1,o||(V[i[i[r>>2]+8>>2]](r),g(r)),o=i[u+152>>2]),o){r=i[u+156>>2];break r}if(l[u+92|0]=0,l[u+103|0]=0,r0(f,4,3003,u+92|0),l[u+103|0]>=0)break i;G(i[u+92>>2]);break i}o=i[r>>2],r=i[r+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[u+156>>2]=r,i[u+152>>2]=o}D=y4(o,0),z=F4(o,0),h=i[t>>2],i[h+28>>2]=z,i[h+24>>2]=D,W=U(112),i[W>>2]=71224,i[W+4>>2]=0,i[W+8>>2]=0,E=W+16|0,i[E+8>>2]=0,i[E+12>>2]=0,i[E+16>>2]=0,i[E+20>>2]=0,i[E+24>>2]=0,i[E+28>>2]=0,i[E+32>>2]=0,i[E>>2]=68500,i[W+60>>2]=0,i[W+52>>2]=0,i[W+56>>2]=0,i[E>>2]=74252,i[W+108>>2]=0,i[W+100>>2]=0,i[W+104>>2]=0,l[W+96|0]=4,i[W+72>>2]=0,i[W+76>>2]=0,i[W+32>>2]=1752589123,i[u+148>>2]=0;r:{if(!r){i[u+148>>2]=0,i[u+144>>2]=o;break r}if(i[r+4>>2]=i[r+4>>2]+1,i[u+144>>2]=o,o=i[u+148>>2],i[u+148>>2]=r,!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break r;V[i[i[o>>2]+8>>2]](o),g(o)}V[i[i[A>>2]+100>>2]](u+132|0,i[A+4>>2],u+144|0,n);r:{e:{A:{f:{k:{n:{if(r=i[u+132>>2],r){if(k=i[u+136>>2],n=i[u+140>>2],e=G2(n),e>>>0>=2147483640)break n;t:{o:{if(e>>>0>=11){t=(e|7)+1|0,A=U(t),i[u+100>>2]=t|-2147483648,i[u+92>>2]=A,i[u+96>>2]=e;break o}if(l[u+103|0]=e,A=u+92|0,!e)break t}F2(A,n,e)}if(l[e+A|0]=0,r0(f,r,k,u+92|0),l[u+103|0]>=0)break r;G(i[u+92>>2]);break r}if(i[u+128>>2]=0,i[u+124>>2]=0,V[i[i[A>>2]+104>>2]](u+92|0,i[A+4>>2],u+56|0,u+48|0,0),o=i[u+56>>2],o)for(H=W- -64|0;;){if(r=s[o|0],(r&254)==66){i[u+100>>2]=0,i[u+104>>2]=0,f0=u+72|0,a=o,S=i[u+48>>2],q=u+128|0,d=u+124|0,o=0,r=0,v=0,w=0,R=0,Z=B-96|0,B=Z,i[Z+92>>2]=0,i[Z+84>>2]=0,i[Z+88>>2]=0;t:{o:{u:{l:{s:{h:{w:{if(S){for(;;){_:{v:{if(C=w+2|0,S>>>0<=C>>>0||(h=w+a|0,s[h|0]|s[h+1|0]|s[C+a|0]!=3))break v;Z:{if(o>>>0>v>>>0){l[v|0]=0,w=v+1|0;break Z}if(I=v-r|0,h=I+1|0,(h|0)<0)break u;o=o-r|0,w=o<<1,J=o>>>0>=1073741823?2147483647:h>>>0<w>>>0?w:h,J?w=U(J):w=0,_=w+I|0,l[_|0]=0,h=_;m:{if((r|0)==(v|0))break m;if(h=0,p=_,o=v,I=I&3,I)for(;p=p-1|0,o=o-1|0,l[p|0]=s[o|0],h=h+1|0,(I|0)!=(h|0););if(h=w,r-v>>>0>4294967292)break m;for(;l[p-1|0]=s[o-1|0],l[p-2|0]=s[o-2|0],l[p-3|0]=s[o-3|0],p=p-4|0,o=o-4|0,l[p|0]=s[o|0],(r|0)!=(o|0););h=w}o=w+J|0,w=_+1|0,r&&G(r),r=h}if(o>>>0>w>>>0){l[w|0]=0,v=w+1|0;break _}if(I=w-r|0,h=I+1|0,(h|0)<0)break w;o=o-r|0,_=o<<1,J=o>>>0>=1073741823?2147483647:h>>>0<_>>>0?_:h,J?_=U(J):_=0,v=_+I|0,l[v|0]=0,h=v;Z:{if((r|0)==(w|0))break Z;if(h=0,p=v,o=w,I=I&3,I)for(;p=p-1|0,o=o-1|0,l[p|0]=s[o|0],h=h+1|0,(I|0)!=(h|0););if(h=_,r-w>>>0>4294967292)break Z;for(;l[p-1|0]=s[o-1|0],l[p-2|0]=s[o-2|0],l[p-3|0]=s[o-3|0],p=p-4|0,o=o-4|0,l[p|0]=s[o|0],(r|0)!=(o|0););h=_}if(o=_+J|0,v=v+1|0,!r){r=h;break _}G(r),r=h;break _}h=w+a|0;v:{if(o>>>0>v>>>0){l[v|0]=s[h|0],v=v+1|0;break v}if(J=v-r|0,_=J+1|0,(_|0)<0)break u;o=o-r|0,p=o<<1,A0=o>>>0>=1073741823?2147483647:_>>>0<p>>>0?p:_,A0?_=U(A0):_=0,I=_+J|0,l[I|0]=s[h|0],h=I;Z:{if((r|0)==(v|0))break Z;if(p=0,o=h,C=v,h=J&3,h)for(;o=o-1|0,C=C-1|0,l[o|0]=s[C|0],p=p+1|0,(h|0)!=(p|0););if(h=_,r-v>>>0>4294967292)break Z;for(;l[o-1|0]=s[C-1|0],l[o-2|0]=s[C-2|0],l[o-3|0]=s[C-3|0],o=o-4|0,C=C-4|0,l[o|0]=s[C|0],(r|0)!=(C|0););h=_}o=_+A0|0,v=I+1|0,r&&G(r),r=h}C=w}if(w=C+1|0,!(S>>>0>w>>>0))break}i[Z+88>>2]=v,i[Z+84>>2]=r,i[Z+92>>2]=o}if(h=w6(Z+48|0,r,v-r|0),p2(h,16),p2(h,4),r=g0(h,3),n0=u,h0=g0(h,1),l[n0+120|0]=h0,n0=u,h0=g0(h,2),l[n0+93|0]=h0,n0=u,h0=(g0(h,1)&255)!=0,l[n0+94|0]=h0,n0=u,h0=g0(h,5),l[n0+95|0]=h0,n0=u,h0=g0(h,32),i[n0+96>>2]=h0,p2(h,16),p2(h,16),p2(h,16),n0=u,h0=g0(h,8),l[n0+108|0]=h0,i[Z+44>>2]=0,i[Z+36>>2]=0,i[Z+40>>2]=0,v=0,!r)break l;if((r|0)<0)break h;for(o=r-1>>>5|0,_=(o<<2)+4|0,v=U(_),p=r>>>0>=33?o:0,i[v+(p<<2)>>2]=0,o=r>>>5|0,r>>>0>=32&&B0(v,0,o<<2),w=r&31,w&&(C=(o<<2)+v|0,i[C>>2]=i[C>>2]&(-1>>>32-w^-1)),R=U(_),i[R+(p<<2)>>2]=0,r>>>0>=32&&B0(R,0,o<<2),w&&(o=(o<<2)+R|0,i[o>>2]=i[o>>2]&(-1>>>32-w^-1)),o=0;;){w=1<<o,p=o>>>5<<2,_=p+v|0;_:{if(g0(h,1)){C=w|i[_>>2];break _}C=i[_>>2]&(w^-1)}i[_>>2]=C,_=p+R|0;_:{if(g0(h,1)){w=w|i[_>>2];break _}w=i[_>>2]&(w^-1)}if(i[_>>2]=w,o=o+1|0,(r|0)==(o|0))break}break s}i[Z+88>>2]=w;break o}y0(),P()}if(r>>>0<8)for(o=r;p2(h,2),o=o+1|0,(o|0)!=8;);for(o=0;_=1<<o,w=o>>>5<<2,_&i[w+v>>2]&&(p2(h,8),p2(h,32),p2(h,16)),_&i[w+R>>2]&&p2(h,8),o=o+1|0,(r|0)!=(o|0););}g1(h,Z+32|0),g1(h,Z+28|0),r=i[Z+28>>2],l[u+113|0]=r,(r&255)==3&&p2(h,1),g1(h,q),g1(h,d),g0(h,1)&&(g1(h,Z+24|0),g1(h,Z+20|0),g1(h,Z+16|0),g1(h,Z+12|0),r=s[u+113|0],i[q>>2]=i[q>>2]-(i[Z+20>>2]+i[Z+24>>2]<<((r-1&255)>>>0<2)),i[d>>2]=i[d>>2]-(i[Z+12>>2]+i[Z+16>>2]<<((r|0)==1))),r=Z+28|0,g1(h,r),l[u+114|0]=s[Z+28|0]+8,g1(h,r),r=s[Z+28|0],i[u+116>>2]=16777216,l[u+112|0]=0,X[u+110>>1]=0,l[u+92|0]=1,l[u+115|0]=r+8,o=i[19565],r=f0,i[r>>2]=i[19564],i[r+4>>2]=o,r=r+8|0;l:{if(l[78275]>=0){o=i[19567],i[r>>2]=i[19566],i[r+4>>2]=o,i[r+8>>2]=i[19568];break l}_0(r,i[19566],i[19567])}R&&G(R),v&&G(v),r=i[Z+84>>2],r&&(i[Z+88>>2]=r,G(r)),B=Z+96|0;break t}i[Z+88>>2]=v}i[Z+84>>2]=r,i[Z+92>>2]=o,y0(),P()}l[u+91|0]<0&&G(i[u+80>>2]),r=i[u+96>>2],i[H>>2]=i[u+92>>2],i[H+4>>2]=r,o=s[u+117|0]|s[u+118|0]<<8|(s[u+119|0]<<16|s[u+120|0]<<24),r=H,h=s[u+113|0]|s[u+114|0]<<8|(s[u+115|0]<<16|s[u+116|0]<<24),l[r+21|0]=h,l[r+22|0]=h>>>8,l[r+23|0]=h>>>16,l[r+24|0]=h>>>24,l[r+25|0]=o,l[r+26|0]=o>>>8,l[r+27|0]=o>>>16,l[r+28|0]=o>>>24,o=i[u+112>>2],i[r+16>>2]=i[u+108>>2],i[r+20>>2]=o,o=i[u+104>>2],i[r+8>>2]=i[u+100>>2],i[r+12>>2]=o,o=i[u+56>>2],r=s[o|0]}t:{if((((r&254)>>>1|0)-32&255)>>>0<=2){r=i[u+48>>2],w=B-32|0,B=w,i[w+28>>2]=0,i[w+20>>2]=0,i[w+24>>2]=0,r?(L2(w+20|0,r),h=i[w+20>>2]):h=0,l0(h,o,r),i[w+16>>2]=0,i[w+8>>2]=0,i[w+12>>2]=0,l[w+4|0]=0,l[w+5|0]=s[i[w+20>>2]]>>>1,n0=w,h0=NA(w+8|0,w+20|0),i[n0+12>>2]=h0,r=i[E+88>>2];o:{if(r>>>0<k0[E+92>>2]){o=Q[w+4>>1],i[r+12>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,X[r>>1]=o,o=i[w+8>>2],h=i[w+12>>2],qA(r+4|0,o,h,(h-o|0)/12|0),r=r+16|0;break o}r=yn(E+84|0,w+4|0)}if(i[E+88>>2]=r,h=i[w+8>>2],h){if(r=h,o=i[w+12>>2],(r|0)!=(o|0)){for(;r=o-12|0,_=i[r>>2],_&&(i[o-8>>2]=_,G(_)),o=r,(h|0)!=(o|0););r=i[w+8>>2]}i[w+12>>2]=h,G(r)}r=i[w+20>>2],r&&(i[w+24>>2]=r,G(r)),B=w+32|0;break t}m9(i[e+48>>2],y,o,i[u+48>>2])}if(V[i[i[A>>2]+104>>2]](u+92|0,i[A+4>>2],u+56|0,u+48|0,0),o=i[u+56>>2],!o)break}if(!(i[u+124>>2]&&i[u+128>>2])){if(l[u+92|0]=0,l[u+103|0]=0,r0(f,8,129,u+92|0),l[u+103|0]>=0)break r;G(i[u+92>>2]);break r}r=i[e+48>>2],i[u+96>>2]=W,i[u+92>>2]=E,i[W+4>>2]=i[W+4>>2]+1,se(r,y,u+92|0,1),r=i[u+96>>2];t:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break t;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[A>>2];t:{if(i[r>>2]<3||(r=i[r+112>>2],!r))break t;i[u+92>>2]=D,i[u+56>>2]=z,V[r|0](i[A+4>>2],D,z,u+92|0,u+56|0)}Vi(i[e+48>>2],y,i[u+128>>2],i[u+124>>2]),r=i[u+128>>2],o=i[u+124>>2];t:{if((r|0)==(D|0)&(o|0)==(z|0)||(ar(i[e+48>>2],y,D,z,r,o),E3(D,z,i[i[u+152>>2]+36>>2])))break t;l[i[t>>2]+192|0]=0}gr(i[e+48>>2],y,i[k+12>>2]);t:switch(n-1|0){case 0:case 3:break t;default:break e}n=i[u+152>>2],r=i[n+52>>2],n=i[n+56>>2];t:{if(!n){if(!r)break t;w=i[e+48>>2],i[u+96>>2]=0,i[u+92>>2]=r;break f}if(i[n+4>>2]=i[n+4>>2]+1,r)break k}r=s[k|0],o=i[k+4>>2]!=0;break A}c2(),P()}w=i[e+48>>2],i[u+96>>2]=n,i[u+92>>2]=r,i[n+4>>2]=i[n+4>>2]+1}p8(w,y,u+92|0),r=i[u+96>>2];f:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break f;V[i[i[r>>2]+8>>2]](r),g(r)}r=s[k|0],o=s[k+3|0]!=0&i[k+4>>2]!=0&r>>>0>2}A:{if(!(!s[k+8|0]|(r&255)>>>0<4)|!o||(o=i[e+48>>2],i[u+92>>2]=i[u+160>>2],r=i[u+164>>2],i[u+96>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),p8(o,y,u+92|0),r=i[u+96>>2],!r)||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break A;V[i[i[r>>2]+8>>2]](r),g(r)}if(!n||(r=i[n+4>>2],i[n+4>>2]=r-1,r))break e;V[i[i[n>>2]+8>>2]](n),g(n)}i[u+64>>2]=i[u+152>>2],r=i[u+156>>2],i[u+68>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[u+68>>2],i[u+16>>2]=i[u+64>>2],i[u+20>>2]=r,Wi(e,u+16|0,y),r=i[e+32>>2];e:{if(r>>>0<k0[e+36>>2]){i[r>>2]=i[t>>2],n=i[t+4>>2],i[r+4>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),r=r+8|0;break e}r=Q2(e+28|0,t)}i[e+32>>2]=r,r=i[e+20>>2];e:{A:{if(!r){w=e+20|0,o=w;break A}for(;;){if(o=r,r=i[o+16>>2],r>>>0>y>>>0){if(w=o,r=i[o>>2],r)continue;break A}if(r>>>0>=y>>>0){r=o;break e}if(r=i[o+4>>2],!r)break}w=o+4|0}r=U(28),i[r+20>>2]=0,i[r+24>>2]=0,i[r+16>>2]=y,i[r+8>>2]=o,i[r>>2]=0,i[r+4>>2]=0,i[w>>2]=r,o=r,n=i[i[e+16>>2]>>2],n&&(i[e+16>>2]=n,o=i[w>>2]),D1(i[e+20>>2],o),i[e+24>>2]=i[e+24>>2]+1}n=i[t>>2],t=i[t+4>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[r+20>>2]=n,n=i[r+24>>2],i[r+24>>2]=t;e:{if(!n||(r=i[n+4>>2],i[n+4>>2]=r-1,r))break e;V[i[i[n>>2]+8>>2]](n),g(n)}e:{A:{if(!s[k+1|0]||!H2(i[u+152>>2],6))break A;i[u+56>>2]=0,i[u+60>>2]=0,s6(u+92|0,u+152|0),n=i[u+92>>2],t=i[u+96>>2],i[u+92>>2]=0,i[u+96>>2]=0,r=i[u+60>>2],i[u+56>>2]=n,i[u+60>>2]=t;f:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n||(V[i[i[r>>2]+8>>2]](r),g(r)),r=i[u+96>>2],!r)||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break f;V[i[i[r>>2]+8>>2]](r),g(r)}if(i[u+48>>2]=0,i[u+52>>2]=0,lk(f,e,u+56|0,A,k,2,u+48|0),i[f>>2])break e;r=i[i[u+48>>2]+20>>2],A=i[e+48>>2],i[u+44>>2]=1,i[u+36>>2]=y,i[u+40>>2]=u+36,k=i[u+44>>2],i[u+8>>2]=i[u+40>>2],i[u+12>>2]=k,k=r,r=ue(u+92|0,u+8|0),P1(A,k,1635088492,r),A=i[r>>2],A&&(i[r+4>>2]=A,G(A));f:{if(s[i[u+152>>2]+40|0]!=1||(r=i[e+48>>2],A=i[i[u+48>>2]+20>>2],i[u+32>>2]=1,i[u+36>>2]=A,i[u+28>>2]=u+36,A=i[u+32>>2],i[u>>2]=i[u+28>>2],i[u+4>>2]=A,A=r,r=ue(u+92|0,u),P1(A,y,1886545261,r),A=i[r>>2],!A))break f;i[r+4>>2]=A,G(A)}r=i[e+48>>2],A=i[i[u+48>>2]+20>>2],e=C1(u+92|0,17014),_6(r,A,e),l[e+11|0]<0&&G(i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),v1(u+48|0),v1(u+56|0)}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567]);break r}f=i[u+52>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[u+60>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[u+148>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[W+4>>2],i[W+4>>2]=f-1,f)break i;V[i[i[W>>2]+8>>2]](W),g(W)}f=i[u+156>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[u+164>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=u+176|0}function uk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0;u=B-80|0,B=u,v=Ri(i[e+48>>2],16929),o=U(360),i[o+16>>2]=0,i[o+20>>2]=0,i[o>>2]=72656,i[o+4>>2]=0,i[o+8>>2]=0,l[o+152|0]=0,i[o+36>>2]=v,i[o+32>>2]=e,i[o+28>>2]=34648,i[o+40>>2]=0,i[o+44>>2]=0,i[o+52>>2]=0,i[o+56>>2]=0,i[o+68>>2]=0,i[o+72>>2]=0,i[o+80>>2]=0,i[o+84>>2]=0,i[o+156>>2]=0,i[o+160>>2]=0,i[o+24>>2]=0,X[o+48>>1]=0,X[o+58>>1]=0,X[o+60>>1]=0,X[o+62>>1]=0,X[o+64>>1]=0,l[o+76|0]=0,l[o+88|0]=0,i[o+204>>2]=0,i[o+196>>2]=0,i[o+200>>2]=0,i[o+188>>2]=0,i[o+192>>2]=0,i[o+180>>2]=0,i[o+184>>2]=0,i[o+172>>2]=0,i[o+176>>2]=0,i[o+164>>2]=0,i[o+168>>2]=0,i[o+212>>2]=0,i[o+216>>2]=0,l[o+208|0]=1,l[o+217|0]=0,l[o+218|0]=0,l[o+219|0]=0,l[o+220|0]=0,l[o+221|0]=0,l[o+222|0]=0,l[o+223|0]=0,l[o+224|0]=0,i[o+232>>2]=0,i[o+236>>2]=0,i[o+240>>2]=0,i[o+244>>2]=0,i[o+248>>2]=0,i[o+252>>2]=0,i[o+256>>2]=0,i[o+260>>2]=0,i[o+264>>2]=0,i[o+268>>2]=0,l[o+272|0]=0,B0(o+280|0,0,80),i[o+296>>2]=0,i[o+300>>2]=0,l[o+292|0]=1,i[o+304>>2]=0,i[o+308>>2]=0,i[o+312>>2]=0,i[o+316>>2]=0,i[o+328>>2]=0,i[o+332>>2]=0,i[o+320>>2]=0,i[o+324>>2]=1072693248,i[o+336>>2]=0,i[o+340>>2]=0,i[o+344>>2]=0,i[o+348>>2]=0,i[o+352>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+112>>2]=0,i[o+116>>2]=0,i[o+120>>2]=0,i[o+124>>2]=0,i[o+128>>2]=0,i[o+132>>2]=0,i[o+136>>2]=0,i[o+140>>2]=0,i[o+144>>2]=0,i[o+148>>2]=0,i[t>>2]=o+16,h=i[t+4>>2],i[t+4>>2]=o;i:{if(!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break i;V[i[i[h>>2]+8>>2]](h),g(h)}o=i[e+32>>2];i:{if(o>>>0<k0[e+36>>2]){i[o>>2]=i[t>>2],t=i[t+4>>2],i[o+4>>2]=t,t&&(i[t+4>>2]=i[t+4>>2]+1),t=o+8|0;break i}t=Q2(e+28|0,t)}i[e+32>>2]=t,t=i[r>>2],i[u+76>>2]=i[t+32>>2],i[u+72>>2]=i[t+36>>2],$r(u- -64|0,r,i[k+4>>2]),t=i[A>>2];i:{if(i[t>>2]>=2){V[i[t+108>>2]](i[A+4>>2],u+76|0,u+72|0);break i}V[i[t+96>>2]](u+76|0,u+72|0)}i:{r:{e:{if(o=i[u+76>>2],h=i[r>>2],t=i[u+72>>2],!((o|0)!=i[h+32>>2]|(t|0)!=i[h+36>>2])){if(_=i[h+44>>2],t=i[h+48>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),p6(o,_,t,i[k+4>>2]))break e;o=i[u+76>>2],t=i[u+72>>2]}if(i[u+48>>2]=i[u+64>>2],h=i[u+68>>2],i[u+52>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),N8(u+36|0,r,o,t,u+48|0,0,k+16|0),o=i[u+36>>2],t=i[u+40>>2],i[u+36>>2]=0,i[u+40>>2]=0,i[u+60>>2]=t,i[u+56>>2]=o,t=i[u+52>>2],t&&(o=i[t+4>>2],i[t+4>>2]=o-1,o||(V[i[i[t>>2]+8>>2]](t),g(t)),o=i[u+56>>2]),o)break r;if(l[u+36|0]=0,l[u+47|0]=0,r0(f,4,3003,u+36|0),l[u+47|0]>=0)break i;G(i[u+36>>2]);break i}o=i[r>>2],t=i[r+4>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[u+60>>2]=t,i[u+56>>2]=o}r:{e:{if(!s[k+1|0]||!H2(o,6))break e;i[u+48>>2]=0,i[u+52>>2]=0,s6(u+36|0,u+56|0),o=i[u+36>>2],h=i[u+40>>2],i[u+36>>2]=0,i[u+40>>2]=0,t=i[u+52>>2],i[u+48>>2]=o,i[u+52>>2]=h;A:{if(!t||(o=i[t+4>>2],i[t+4>>2]=o-1,o||(V[i[i[t>>2]+8>>2]](t),g(t)),t=i[u+40>>2],!t)||(o=i[t+4>>2],i[t+4>>2]=o-1,o))break A;V[i[i[t>>2]+8>>2]](t),g(t)}if(i[u+28>>2]=0,i[u+32>>2]=0,uk(f,e,u+48|0,A,k,2,u+28|0),i[f>>2])break r;t=i[i[u+28>>2]+20>>2],o=i[e+48>>2],k=U(4),i[u+36>>2]=k,h=k+4|0,i[u+44>>2]=h,i[k>>2]=v,i[u+40>>2]=h,P1(o,t,1635088492,u+36|0),k=i[u+36>>2],k&&(i[u+40>>2]=k,G(k)),h=i[i[u+28>>2]+20>>2],_=i[e+48>>2],k=U(48),i[u+36>>2]=k,i[u+40>>2]=43,i[u+44>>2]=-2147483600,t=s[14658]|s[14659]<<8|(s[14660]<<16|s[14661]<<24),l[k+39|0]=t,l[k+40|0]=t>>>8,l[k+41|0]=t>>>16,l[k+42|0]=t>>>24,t=s[14655]|s[14656]<<8|(s[14657]<<16|s[14658]<<24),o=s[14651]|s[14652]<<8|(s[14653]<<16|s[14654]<<24),l[k+32|0]=o,l[k+33|0]=o>>>8,l[k+34|0]=o>>>16,l[k+35|0]=o>>>24,l[k+36|0]=t,l[k+37|0]=t>>>8,l[k+38|0]=t>>>16,l[k+39|0]=t>>>24,t=s[14647]|s[14648]<<8|(s[14649]<<16|s[14650]<<24),o=s[14643]|s[14644]<<8|(s[14645]<<16|s[14646]<<24),l[k+24|0]=o,l[k+25|0]=o>>>8,l[k+26|0]=o>>>16,l[k+27|0]=o>>>24,l[k+28|0]=t,l[k+29|0]=t>>>8,l[k+30|0]=t>>>16,l[k+31|0]=t>>>24,t=s[14639]|s[14640]<<8|(s[14641]<<16|s[14642]<<24),o=s[14635]|s[14636]<<8|(s[14637]<<16|s[14638]<<24),l[k+16|0]=o,l[k+17|0]=o>>>8,l[k+18|0]=o>>>16,l[k+19|0]=o>>>24,l[k+20|0]=t,l[k+21|0]=t>>>8,l[k+22|0]=t>>>16,l[k+23|0]=t>>>24,t=s[14631]|s[14632]<<8|(s[14633]<<16|s[14634]<<24),o=s[14627]|s[14628]<<8|(s[14629]<<16|s[14630]<<24),l[k+8|0]=o,l[k+9|0]=o>>>8,l[k+10|0]=o>>>16,l[k+11|0]=o>>>24,l[k+12|0]=t,l[k+13|0]=t>>>8,l[k+14|0]=t>>>16,l[k+15|0]=t>>>24,t=s[14623]|s[14624]<<8|(s[14625]<<16|s[14626]<<24),o=s[14619]|s[14620]<<8|(s[14621]<<16|s[14622]<<24),l[k|0]=o,l[k+1|0]=o>>>8,l[k+2|0]=o>>>16,l[k+3|0]=o>>>24,l[k+4|0]=t,l[k+5|0]=t>>>8,l[k+6|0]=t>>>16,l[k+7|0]=t>>>24,l[k+43|0]=0,_6(_,h,u+36|0),l[u+47|0]<0&&G(i[u+36>>2]);A:{if(s[i[u+56>>2]+40|0]!=1||(t=i[e+48>>2],o=i[i[u+28>>2]+20>>2],k=U(4),i[u+36>>2]=k,h=k+4|0,i[u+44>>2]=h,i[k>>2]=o,i[u+40>>2]=h,P1(t,v,1886545261,u+36|0),k=i[u+36>>2],!k))break A;i[u+40>>2]=k,G(k)}l[f+19|0]<0&&G(i[f+8>>2]),k=i[u+32>>2];A:{if(!k||(t=i[k+4>>2],i[k+4>>2]=t-1,t))break A;V[i[i[k>>2]+8>>2]](k),g(k)}k=i[u+52>>2];A:{if(!k||(t=i[k+4>>2],i[k+4>>2]=t-1,t))break A;V[i[i[k>>2]+8>>2]](k),g(k)}o=i[u+56>>2]}i[u+52>>2]=0,t=i[u+60>>2];e:{if(!t){i[u+52>>2]=0,i[u+48>>2]=o;break e}if(i[t+4>>2]=i[t+4>>2]+1,i[u+48>>2]=o,k=i[u+52>>2],i[u+52>>2]=t,!k||(t=i[k+4>>2],i[k+4>>2]=t-1,t))break e;V[i[i[k>>2]+8>>2]](k),g(k)}if(k=u+36|0,V[i[i[A>>2]+100>>2]](k,i[A+4>>2],u+48|0,n),V[i[i[A>>2]+104>>2]](k,i[A+4>>2],u+28|0,u+24|0,0),o=i[u+28>>2],o)for(;t=0,i[u+44>>2]=0,i[u+36>>2]=0,i[u+40>>2]=0,k=i[u+24>>2],k?(L2(u+36|0,k),t=i[u+24>>2],o=i[u+28>>2],k=i[u+36>>2]):k=0,l0(k,o,t),hi(i[e+48>>2],v,u+36|0,0),k=i[u+36>>2],k&&(i[u+40>>2]=k,G(k)),V[i[i[A>>2]+104>>2]](u+36|0,i[A+4>>2],u+28|0,u+24|0,0),o=i[u+28>>2],!!o;);r=i[r>>2],Vi(i[e+48>>2],v,i[r+24>>2],i[r+28>>2]),A=i[e+48>>2],i[u+36>>2]=i[u+64>>2],r=i[u+68>>2],i[u+40>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),p8(A,v,u+36|0),r=i[u+40>>2];e:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break e;V[i[i[r>>2]+8>>2]](r),g(r)}o=i[e+48>>2],A=B-16|0,B=A,r=U(64),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=72144,n=r+16|0,k=n,i[k+8>>2]=0,i[k+12>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,i[k+24>>2]=0,i[k+28>>2]=0,i[k+32>>2]=0,i[k>>2]=68500,i[r+60>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[k>>2]=74848,i[r+32>>2]=1781689160,i[u+40>>2]=r,i[u+36>>2]=k,k=i[o+44>>2],i[A+12>>2]=r,i[A+8>>2]=n,i[r+4>>2]=i[r+4>>2]+1,t=i[k+40>>2];e:{A:{if(t>>>0<k0[k+44>>2]){i[t+4>>2]=r,i[t>>2]=n,i[r+4>>2]=i[r+4>>2]+1,n=t+8|0,i[k+40>>2]=n,k=i[k+36>>2];break A}if(n=Q2(k+36|0,A+8|0),r=i[A+12>>2],i[k+40>>2]=n,k=i[k+36>>2],!r)break e}if(t=i[r+4>>2],i[r+4>>2]=t-1,t)break e;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[o+52>>2],l[A+4|0]=1,X[A+6>>1]=n-k>>>3,i[A>>2]=Q[A+4>>1]|Q[A+6>>1]<<16,c1(r,v,A),B=A+16|0,A=U(80),i[A>>2]=72184,i[A+4>>2]=0,i[A+8>>2]=0,h=A+16|0,r=h,i[r+8>>2]=0,i[r+12>>2]=0,i[r+16>>2]=0,i[r+20>>2]=0,i[r+24>>2]=0,i[r+28>>2]=0,i[r+32>>2]=0,i[r>>2]=68500,i[A+60>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[r>>2]=74608,i[A+72>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+32>>2]=1667523942,o=0;e:{A:{f:{k:{n:{t:{o:{u:switch(i[i[u+56>>2]+32>>2]){case 1:_=h+48|0,n=i[h+52>>2],r=i[h+56>>2];l:{if(n>>>0<r>>>0){X[n+4>>1]=1,X[n>>1]=0,X[n+2>>1]=0,k=n+6|0;break l}if(o=i[h+48>>2],w=(n-o|0)/6|0,t=w+1|0,t>>>0>=715827883)break o;if(k=0,r=(r-o|0)/6|0,Z=r<<1,r=r>>>0>=357913941?715827882:t>>>0<Z>>>0?Z:t,r){if(r>>>0>=715827883)break t;k=U(m(r,6))}if(t=m(w,6)+k|0,X[t+4>>1]=1,X[t>>1]=0,X[t+2>>1]=0,r=m(r,6)+k|0,k=t+6|0,(n|0)!=(o|0)){for(;t=t-6|0,n=n-6|0,w=Q[n>>1]|Q[n+2>>1]<<16,X[t>>1]=w,X[t+2>>1]=w>>>16,X[t+4>>1]=Q[n+4>>1],(n|0)!=(o|0););o=i[h+48>>2]}if(i[h+56>>2]=r,i[h+52>>2]=k,i[h+48>>2]=t,!o)break l;G(o),r=i[h+56>>2]}i[h+52>>2]=k;l:{if(r>>>0>k>>>0){X[k+4>>1]=2,X[k>>1]=1,X[k+2>>1]=0,n=k+6|0;break l}if(o=i[h+48>>2],t=(k-o|0)/6|0,n=t+1|0,n>>>0>=715827883)break o;if(r=(r-o|0)/6|0,w=r<<1,r=r>>>0>=357913941?715827882:n>>>0<w>>>0?w:n,r){if(r>>>0>=715827883)break t;n=U(m(r,6))}else n=0;if(t=n+m(t,6)|0,X[t+4>>1]=2,X[t>>1]=1,X[t+2>>1]=0,r=n+m(r,6)|0,n=t+6|0,(k|0)!=(o|0)){for(;t=t-6|0,k=k-6|0,w=Q[k>>1]|Q[k+2>>1]<<16,X[t>>1]=w,X[t+2>>1]=w>>>16,X[t+4>>1]=Q[k+4>>1],(k|0)!=(o|0););o=i[h+48>>2]}if(i[h+56>>2]=r,i[h+52>>2]=n,i[h+48>>2]=t,!o)break l;G(o),r=i[h+56>>2]}if(i[h+52>>2]=n,r>>>0>n>>>0)break f;if(t=i[h+48>>2],w=(n-t|0)/6|0,k=w+1|0,k>>>0>=715827883)break o;if(r=(r-t|0)/6|0,o=r<<1,o=r>>>0>=357913941?715827882:k>>>0<o>>>0?o:k,o){if(o>>>0>=715827883)break t;r=U(m(o,6))}else r=0;k=r+m(w,6)|0,X[k+4>>1]=3;break A;case 0:_=h+48|0,n=i[h+52>>2],r=i[h+56>>2];l:{if(n>>>0<r>>>0){X[n+4>>1]=1,X[n>>1]=0,X[n+2>>1]=0,k=n+6|0;break l}if(o=i[h+48>>2],w=(n-o|0)/6|0,t=w+1|0,t>>>0>=715827883)break n;if(k=0,r=(r-o|0)/6|0,Z=r<<1,r=r>>>0>=357913941?715827882:t>>>0<Z>>>0?Z:t,r){if(r>>>0>=715827883)break t;k=U(m(r,6))}if(t=m(w,6)+k|0,X[t+4>>1]=1,X[t>>1]=0,X[t+2>>1]=0,r=m(r,6)+k|0,k=t+6|0,(n|0)!=(o|0)){for(;t=t-6|0,n=n-6|0,w=Q[n>>1]|Q[n+2>>1]<<16,X[t>>1]=w,X[t+2>>1]=w>>>16,X[t+4>>1]=Q[n+4>>1],(n|0)!=(o|0););o=i[h+48>>2]}if(i[h+56>>2]=r,i[h+52>>2]=k,i[h+48>>2]=t,!o)break l;G(o),r=i[h+56>>2]}i[h+52>>2]=k;l:{if(r>>>0>k>>>0){X[k+4>>1]=2,X[k>>1]=1,X[k+2>>1]=0,n=k+6|0;break l}if(o=i[h+48>>2],t=(k-o|0)/6|0,n=t+1|0,n>>>0>=715827883)break n;if(r=(r-o|0)/6|0,w=r<<1,r=r>>>0>=357913941?715827882:n>>>0<w>>>0?w:n,r){if(r>>>0>=715827883)break t;n=U(m(r,6))}else n=0;if(t=n+m(t,6)|0,X[t+4>>1]=2,X[t>>1]=1,X[t+2>>1]=0,r=n+m(r,6)|0,n=t+6|0,(k|0)!=(o|0)){for(;t=t-6|0,k=k-6|0,w=Q[k>>1]|Q[k+2>>1]<<16,X[t>>1]=w,X[t+2>>1]=w>>>16,X[t+4>>1]=Q[k+4>>1],(k|0)!=(o|0););o=i[h+48>>2]}if(i[h+56>>2]=r,i[h+52>>2]=n,i[h+48>>2]=t,!o)break l;G(o),r=i[h+56>>2]}if(i[h+52>>2]=n,r>>>0>n>>>0)break f;if(t=i[h+48>>2],w=(n-t|0)/6|0,k=w+1|0,k>>>0>=715827883)break n;if(r=(r-t|0)/6|0,o=r<<1,o=r>>>0>=357913941?715827882:k>>>0<o>>>0?o:k,o){if(o>>>0>=715827883)break t;r=U(m(o,6))}else r=0;k=r+m(w,6)|0,X[k+4>>1]=3;break A;case 2:break u;default:break e}k=i[h+52>>2],n=i[h+56>>2];u:{if(k>>>0<n>>>0){X[k+4>>1]=1,X[k>>1]=0,X[k+2>>1]=0,o=k+6|0;break u}if(t=i[h+48>>2],_=(k-t|0)/6|0,r=_+1|0,r>>>0>=715827883)break k;if(n=(n-t|0)/6|0,w=n<<1,r=n>>>0>=357913941?715827882:r>>>0<w>>>0?w:r,r){if(r>>>0>=715827883)break t;o=U(m(r,6))}if(n=m(_,6)+o|0,X[n+4>>1]=1,X[n>>1]=0,X[n+2>>1]=0,r=m(r,6)+o|0,o=n+6|0,(k|0)!=(t|0)){for(;n=n-6|0,k=k-6|0,_=Q[k>>1]|Q[k+2>>1]<<16,X[n>>1]=_,X[n+2>>1]=_>>>16,X[n+4>>1]=Q[k+4>>1],(k|0)!=(t|0););t=i[h+48>>2]}if(i[h+56>>2]=r,i[h+52>>2]=o,i[h+48>>2]=n,!t)break u;G(t)}i[h+52>>2]=o;break e}y0(),P()}_2(),P()}y0(),P()}y0(),P()}X[n+4>>1]=3,X[n>>1]=2,X[n+2>>1]=0,i[h+52>>2]=n+6;break e}if(X[k>>1]=2,X[k+2>>1]=0,w=k+6|0,(n|0)!=(t|0)){for(;k=k-6|0,n=n-6|0,Z=Q[n>>1]|Q[n+2>>1]<<16,X[k>>1]=Z,X[k+2>>1]=Z>>>16,X[k+4>>1]=Q[n+4>>1],(n|0)!=(t|0););t=i[_>>2]}i[h+56>>2]=m(o,6)+r,i[h+52>>2]=w,i[h+48>>2]=k,t&&G(t),i[h+52>>2]=w}r=i[u+36>>2],i[u+32>>2]=A,i[u+28>>2]=h,i[A+4>>2]=i[A+4>>2]+1,k=i[r+40>>2];e:{A:{if(k>>>0<k0[r+44>>2]){i[k+4>>2]=A,i[k>>2]=h,i[A+4>>2]=i[A+4>>2]+1,i[r+40>>2]=k+8,t=A;break A}if(k=Q2(r+36|0,u+28|0),t=i[u+32>>2],i[r+40>>2]=k,!t)break e}if(r=i[t+4>>2],i[t+4>>2]=r-1,r)break e;V[i[i[t>>2]+8>>2]](t),g(t)}i[u+16>>2]=i[u+56>>2],r=i[u+60>>2],i[u+20>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[u+20>>2],i[u+8>>2]=i[u+16>>2],i[u+12>>2]=r,Wi(e,u+8|0,v),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;e:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break e}_0(f,i[19566],i[19567])}f=i[A+4>>2],i[A+4>>2]=f-1,f||(V[i[i[A>>2]+8>>2]](A),g(A)),f=i[u+40>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[u+52>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f);break i}f=i[u+32>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[u+52>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[u+60>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[u+68>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=u+80|0}function wA(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;_=B-32|0,B=_,w8(_+8|0,r,A,e+60|0);i:{if(i[_+8>>2]){e=i[_+12>>2],i[f>>2]=i[_+8>>2],i[f+4>>2]=e,e=i[_+20>>2],i[f+8>>2]=i[_+16>>2],i[f+12>>2]=e,i[f+16>>2]=i[_+24>>2];break i}o=B-48|0,B=o,i[e+72>>2]=0,k=o+24|0,A=B-16|0,B=A;r:{e:{if(n=i[e+60>>2],r=i[e+64>>2]-n|0,r>>>0>=2&&(t=r-2|0,r=i[e+72>>2],t>>>0>=r>>>0))break e;if(l[A+4|0]=0,l[A+15|0]=0,r0(k,2,140,A+4|0),l[A+15|0]>=0)break r;G(i[A+4>>2]);break r}if(n=r+n|0,n=s[n|0]|s[n+1|0]<<8,i[e+72>>2]=r+2,((n<<8|n>>>8)&65535)==65359){if(r=i[19565],i[k>>2]=i[19564],i[k+4>>2]=r,r=k+8|0,l[78275]>=0){k=i[19567],i[r>>2]=i[19566],i[r+4>>2]=k,i[r+8>>2]=i[19568];break r}_0(r,i[19566],i[19567]);break r}if(r=U(32),i[A+4>>2]=r,i[A+8>>2]=27,i[A+12>>2]=-2147483616,n=s[5671]|s[5672]<<8|(s[5673]<<16|s[5674]<<24),u=s[5667]|s[5668]<<8|(s[5669]<<16|s[5670]<<24),l[r|0]=u,l[r+1|0]=u>>>8,l[r+2|0]=u>>>16,l[r+3|0]=u>>>24,l[r+4|0]=n,l[r+5|0]=n>>>8,l[r+6|0]=n>>>16,l[r+7|0]=n>>>24,l[r+27|0]=0,n=s[5690]|s[5691]<<8|(s[5692]<<16|s[5693]<<24),l[r+23|0]=n,l[r+24|0]=n>>>8,l[r+25|0]=n>>>16,l[r+26|0]=n>>>24,n=s[5687]|s[5688]<<8|(s[5689]<<16|s[5690]<<24),u=s[5683]|s[5684]<<8|(s[5685]<<16|s[5686]<<24),l[r+16|0]=u,l[r+17|0]=u>>>8,l[r+18|0]=u>>>16,l[r+19|0]=u>>>24,l[r+20|0]=n,l[r+21|0]=n>>>8,l[r+22|0]=n>>>16,l[r+23|0]=n>>>24,n=s[5679]|s[5680]<<8|(s[5681]<<16|s[5682]<<24),u=s[5675]|s[5676]<<8|(s[5677]<<16|s[5678]<<24),l[r+8|0]=u,l[r+9|0]=u>>>8,l[r+10|0]=u>>>16,l[r+11|0]=u>>>24,l[r+12|0]=n,l[r+13|0]=n>>>8,l[r+14|0]=n>>>16,l[r+15|0]=n>>>24,r0(k,2,140,A+4|0),l[A+15|0]>=0)break r;G(i[A+4>>2])}B=A+16|0;r:{if(i[o+24>>2]){e=i[o+28>>2],i[f>>2]=i[o+24>>2],i[f+4>>2]=e,i[f+16>>2]=i[o+40>>2],e=i[o+36>>2],i[f+8>>2]=i[o+32>>2],i[f+12>>2]=e,i[o+40>>2]=0,i[o+32>>2]=0,i[o+36>>2]=0;break r}n=B-16|0,B=n;e:{A:{if(A=i[e+60>>2],u=i[e+64>>2]-A|0,u>>>0>=43&&(r=i[e+72>>2],r>>>0<=u-43>>>0))break A;if(l[n+4|0]=0,l[n+15|0]=0,r0(o,2,140,n+4|0),l[n+15|0]>=0)break e;G(i[n+4>>2]);break e}if(k=r+A|0,k=s[k|0]|s[k+1|0]<<8,t=r+2|0,i[e+72>>2]=t,((k<<8|k>>>8)&65535)!=65361){if(r=U(32),i[n+4>>2]=r,i[n+8>>2]=27,i[n+12>>2]=-2147483616,A=s[5643]|s[5644]<<8|(s[5645]<<16|s[5646]<<24),k=s[5639]|s[5640]<<8|(s[5641]<<16|s[5642]<<24),l[r|0]=k,l[r+1|0]=k>>>8,l[r+2|0]=k>>>16,l[r+3|0]=k>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+27|0]=0,A=s[5662]|s[5663]<<8|(s[5664]<<16|s[5665]<<24),l[r+23|0]=A,l[r+24|0]=A>>>8,l[r+25|0]=A>>>16,l[r+26|0]=A>>>24,A=s[5659]|s[5660]<<8|(s[5661]<<16|s[5662]<<24),k=s[5655]|s[5656]<<8|(s[5657]<<16|s[5658]<<24),l[r+16|0]=k,l[r+17|0]=k>>>8,l[r+18|0]=k>>>16,l[r+19|0]=k>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[5651]|s[5652]<<8|(s[5653]<<16|s[5654]<<24),k=s[5647]|s[5648]<<8|(s[5649]<<16|s[5650]<<24),l[r+8|0]=k,l[r+9|0]=k>>>8,l[r+10|0]=k>>>16,l[r+11|0]=k>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(o,2,140,n+4|0),l[n+15|0]>=0)break e;G(i[n+4>>2]);break e}if(k=A+t|0,k=s[k|0]|s[k+1|0]<<8,t=r+4|0,i[e+72>>2]=t,((k<<8|k>>>8)+16345&65535)>>>0<=16385){if(r=U(24),i[n+4>>2]=r,i[n+8>>2]=23,i[n+12>>2]=-2147483624,A=s[9151]|s[9152]<<8|(s[9153]<<16|s[9154]<<24),k=s[9147]|s[9148]<<8|(s[9149]<<16|s[9150]<<24),l[r|0]=k,l[r+1|0]=k>>>8,l[r+2|0]=k>>>16,l[r+3|0]=k>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+23|0]=0,A=s[9166]|s[9167]<<8|(s[9168]<<16|s[9169]<<24),k=s[9162]|s[9163]<<8|(s[9164]<<16|s[9165]<<24),l[r+15|0]=k,l[r+16|0]=k>>>8,l[r+17|0]=k>>>16,l[r+18|0]=k>>>24,l[r+19|0]=A,l[r+20|0]=A>>>8,l[r+21|0]=A>>>16,l[r+22|0]=A>>>24,A=s[9159]|s[9160]<<8|(s[9161]<<16|s[9162]<<24),k=s[9155]|s[9156]<<8|(s[9157]<<16|s[9158]<<24),l[r+8|0]=k,l[r+9|0]=k>>>8,l[r+10|0]=k>>>16,l[r+11|0]=k>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(o,2,140,n+4|0),l[n+15|0]>=0)break e;G(i[n+4>>2]);break e}if(k=A+t|0,k=s[k|0]|s[k+1|0]<<8,t=r+6|0,i[e+72>>2]=t,X[e>>1]=k<<8|k>>>8,k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+10|0,i[e+72>>2]=t,i[e+4>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+14|0,i[e+72>>2]=t,i[e+8>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+18|0,i[e+72>>2]=t,i[e+12>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+22|0,i[e+72>>2]=t,i[e+16>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+26|0,i[e+72>>2]=t,i[e+20>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+30|0,i[e+72>>2]=t,i[e+24>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+34|0,i[e+72>>2]=t,i[e+28>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+38|0,i[e+72>>2]=t,i[e+32>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),A=A+t|0,A=s[A|0]|s[A+1|0]<<8,r=r+40|0,i[e+72>>2]=r,v=A<<8|A>>>8,(v-16385&65535)>>>0<=49151){if(r=U(24),i[n+4>>2]=r,i[n+8>>2]=23,i[n+12>>2]=-2147483624,A=s[9175]|s[9176]<<8|(s[9177]<<16|s[9178]<<24),k=s[9171]|s[9172]<<8|(s[9173]<<16|s[9174]<<24),l[r|0]=k,l[r+1|0]=k>>>8,l[r+2|0]=k>>>16,l[r+3|0]=k>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+23|0]=0,A=s[9190]|s[9191]<<8|(s[9192]<<16|s[9193]<<24),k=s[9186]|s[9187]<<8|(s[9188]<<16|s[9189]<<24),l[r+15|0]=k,l[r+16|0]=k>>>8,l[r+17|0]=k>>>16,l[r+18|0]=k>>>24,l[r+19|0]=A,l[r+20|0]=A>>>8,l[r+21|0]=A>>>16,l[r+22|0]=A>>>24,A=s[9183]|s[9184]<<8|(s[9185]<<16|s[9186]<<24),k=s[9179]|s[9180]<<8|(s[9181]<<16|s[9182]<<24),l[r+8|0]=k,l[r+9|0]=k>>>8,l[r+10|0]=k>>>16,l[r+11|0]=k>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(o,2,140,n+4|0),l[n+15|0]>=0)break e;G(i[n+4>>2]);break e}if(r>>>0<=u+m(v&65535,-3)>>>0){r=i[e+40>>2];A:{f:{for(;;){k=i[e+60>>2],A=i[e+72>>2],u=s[k+A|0],t=A+1|0,i[e+72>>2]=t,h=s[k+t|0],t=A+2|0,i[e+72>>2]=t,Z=s[k+t|0],i[e+72>>2]=A+3,p=u>>>7|0,W=(u&127)+1|0,k=i[e+44>>2];k:{if(k>>>0>r>>>0){A=h|(W<<16|p<<24|Z<<8),l[r|0]=A,l[r+1|0]=A>>>8,l[r+2|0]=A>>>16,l[r+3|0]=A>>>24,r=r+4|0;break k}if(t=i[e+36>>2],u=r-t>>2,A=u+1|0,A>>>0>=1073741824)break f;if(k=k-t|0,w=k>>1,w=k>>>0>=2147483644?1073741823:A>>>0<w>>>0?w:A,w){if(w>>>0>=1073741824)break A;k=U(w<<2)}else k=0;if(u=k+(u<<2)|0,A=h|(W<<16|p<<24|Z<<8),l[u|0]=A,l[u+1|0]=A>>>8,l[u+2|0]=A>>>16,l[u+3|0]=A>>>24,A=u+4|0,(r|0)!=(t|0)){for(;u=u-4|0,r=r-4|0,h=s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24),l[u|0]=h,l[u+1|0]=h>>>8,l[u+2|0]=h>>>16,l[u+3|0]=h>>>24,(r|0)!=(t|0););t=i[e+36>>2]}i[e+44>>2]=k+(w<<2),i[e+40>>2]=A,i[e+36>>2]=u,t&&G(t),r=A}if(i[e+40>>2]=r,C=C+1|0,!((C&65535)>>>0<(v&65535)>>>0))break}V3(o);break e}y0(),P()}_2(),P()}if(r=C1(n+4|0,31341),r0(o,2,140,r),l[r+11|0]>=0)break e;G(i[r>>2])}if(B=n+16|0,A=i[o+4>>2],r=i[o>>2],i[o+24>>2]=r,i[o+28>>2]=A,l[o+43|0]<0&&(G(i[o+32>>2]),r=i[o+24>>2]),A=i[o+12>>2],i[o+32>>2]=i[o+8>>2],i[o+36>>2]=A,i[o+40>>2]=i[o+16>>2],r){e=i[o+28>>2],i[f>>2]=i[o+24>>2],i[f+4>>2]=e,i[f+16>>2]=i[o+40>>2],e=i[o+36>>2],i[f+8>>2]=i[o+32>>2],i[f+12>>2]=e,i[o+32>>2]=0,i[o+36>>2]=0,i[o+40>>2]=0;break r}if(r=i[e+72>>2],A=i[e+60>>2],r>>>0<(i[e+64>>2]-A|0)-2>>>0){if(A=r+A|0,A=s[A|0]|s[A+1|0]<<8,i[e+72>>2]=r+2,((A<<8|A>>>8)&65535)==65360){k=B-16|0,B=k,A=i[e+72>>2],r=i[e+60>>2];e:{if(A>>>0>(i[e+64>>2]-r|0)-8>>>0){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,140,k+4|0),l[k+15|0]>=0)break e;G(i[k+4>>2]);break e}if(n=r+A|0,n=s[n|0]|s[n+1|0]<<8,u=A+2|0,i[e+72>>2]=u,((n<<8|n>>>8)-71&65535)>>>0<=65472){if(e=U(24),i[k+4>>2]=e,i[k+8>>2]=23,i[k+12>>2]=-2147483624,r=s[9223]|s[9224]<<8|(s[9225]<<16|s[9226]<<24),A=s[9219]|s[9220]<<8|(s[9221]<<16|s[9222]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+23|0]=0,r=s[9238]|s[9239]<<8|(s[9240]<<16|s[9241]<<24),A=s[9234]|s[9235]<<8|(s[9236]<<16|s[9237]<<24),l[e+15|0]=A,l[e+16|0]=A>>>8,l[e+17|0]=A>>>16,l[e+18|0]=A>>>24,l[e+19|0]=r,l[e+20|0]=r>>>8,l[e+21|0]=r>>>16,l[e+22|0]=r>>>24,r=s[9231]|s[9232]<<8|(s[9233]<<16|s[9234]<<24),A=s[9227]|s[9228]<<8|(s[9229]<<16|s[9230]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,140,k+4|0),l[k+15|0]>=0)break e;G(i[k+4>>2]);break e}for(r=r+u|0,r=s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24),i[e+72>>2]=A+6,v=r<<24|(r&65280)<<8|(r>>>8&65280|r>>>24),u=2;;){A:{if(!(v>>>32-u&1))break A;if((u|0)==15){r=i[e+72>>2],A=r+i[e+60>>2]|0,n=s[A+1|0],A=s[A|0],i[e+72>>2]=r+2,r=A<<24|n<<16|15,i[k>>2]=r,i[k+4>>2]=r;f:{if(r=i[e+52>>2],n=i[e+56>>2],r>>>0<n>>>0){A=Q[k>>1]|Q[k+2>>1]<<16,X[r>>1]=A,X[r+2>>1]=A>>>16,i[e+52>>2]=r+4;break f}k:{if(t=i[e+48>>2],h=r-t>>2,A=h+1|0,A>>>0<1073741824){if(n=n-t|0,w=n>>1,w=n>>>0>=2147483644?1073741823:A>>>0<w>>>0?w:A,w){if(w>>>0>=1073741824)break k;A=U(w<<2)}else A=0;if(n=A+(h<<2)|0,h=Q[k>>1]|Q[k+2>>1]<<16,X[n>>1]=h,X[n+2>>1]=h>>>16,h=n+4|0,(r|0)!=(t|0)){for(;n=n-4|0,r=r-4|0,Z=Q[r>>1]|Q[r+2>>1]<<16,X[n>>1]=Z,X[n+2>>1]=Z>>>16,(r|0)!=(t|0););t=i[e+48>>2]}i[e+56>>2]=A+(w<<2),i[e+52>>2]=h,i[e+48>>2]=n,t&&G(t),i[e+52>>2]=h;break f}y0(),P()}_2(),P()}break A}n=k+4|0,r=H0(x(98732,20800,39),u),A=i[(i[i[r>>2]-12>>2]+r|0)+28>>2],i[n>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(n,100192),A=V[i[i[A>>2]+28>>2]](A,10)|0,O0(n),D9(r,A),Ni(r),i[e+72>>2]=i[e+72>>2]+2}if(u=u+1|0,(u|0)==33)break}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break e}_0(f,i[19566],i[19567])}B=k+16|0;break r}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567]);break r}if(e=U(40),i[o>>2]=e,i[o+4>>2]=33,i[o+8>>2]=-2147483608,r=s[18255]|s[18256]<<8|(s[18257]<<16|s[18258]<<24),A=s[18251]|s[18252]<<8|(s[18253]<<16|s[18254]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+33|0]=0,l[e+32|0]=s[18283],r=s[18279]|s[18280]<<8|(s[18281]<<16|s[18282]<<24),A=s[18275]|s[18276]<<8|(s[18277]<<16|s[18278]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[18271]|s[18272]<<8|(s[18273]<<16|s[18274]<<24),A=s[18267]|s[18268]<<8|(s[18269]<<16|s[18270]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[18263]|s[18264]<<8|(s[18265]<<16|s[18266]<<24),A=s[18259]|s[18260]<<8|(s[18261]<<16|s[18262]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,140,o),l[o+11|0]>=0)break r;G(i[o>>2])}if(l[o+43|0]<0&&G(i[o+32>>2]),B=o+48|0,l[_+27|0]>=0)break i;G(i[_+16>>2])}B=_+32|0}function _A(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;for(Z=B-48|0,B=Z,A=i[r>>2],r=i[r+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[e>>2]=A,k=i[e+4>>2],i[e+4>>2]=r,k&&(r=i[k+4>>2],i[k+4>>2]=r-1,r||(V[i[i[k>>2]+8>>2]](k),g(k)),A=i[e>>2],r=i[e+4>>2]),i[Z+20>>2]=r,i[Z+16>>2]=A,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[Z+20>>2],i[Z+8>>2]=i[Z+16>>2],i[Z+12>>2]=r,W=_e(Z+24|0,Z+8|0,-1,0),n=B-192|0,B=n,o=e+8|0;;){i[n+48>>2]=0,i[n+52>>2]=0,_r(f,W,n+48|0),A=2;i:{r:{if(s[W+20|0]|!i[W+16>>2]||(r=i[f>>2],(r|0)==2&i[f+4>>2]==100))break r;if(A=1,(r|0)!=i[19564])break i;A=i[e+12>>2];e:{if(A>>>0<k0[e+16>>2]){r=i[n+48>>2],i[A>>2]=r,k=i[n+52>>2],i[A+4>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1),A=A+8|0;break e}A=Q2(o,n+48|0),r=i[n+48>>2]}i[e+12>>2]=A;e:{if(i[r+16>>2]!=1835365473)break e;A=0,k=N0(r,68572,68824);A:{if(!k||(r=i[n+52>>2],!r))break A;i[r+4>>2]=i[r+4>>2]+1,A=r}if(i[e+36>>2]=k,r=i[e+40>>2],i[e+40>>2]=A,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=0,k=i[n+48>>2],i[k+16>>2]!=1718909296)break r;t=N0(k,68572,68764),r=0;e:{if(!t||(k=i[n+52>>2],r=0,!k))break e;i[k+4>>2]=i[k+4>>2]+1,r=k}if(i[e+20>>2]=t,k=i[e+24>>2],i[e+24>>2]=r,!k||(r=i[k+4>>2],i[k+4>>2]=r-1,r))break r;V[i[i[k>>2]+8>>2]](k),g(k)}if(l[f+19|0]>=0)break i;G(i[f+8>>2])}r=i[n+52>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A)break}i:{if(A-2|0)break i;if(r=i[e+20>>2],!r){if(l[n+48|0]=0,l[n+59|0]=0,r0(f,2,102,n+48|0),l[n+59|0]>=0)break i;G(i[n+48>>2]);break i}r:{if(_i(r,1751476579)||_i(i[e+20>>2],1751476600)||_i(i[e+20>>2],1835623985)||_i(i[e+20>>2],1635150182)||_i(i[e+20>>2],829450595)||_i(i[e+20>>2],1785750887))break r;e=n+48|0,i[e+8>>2]=54496,i[e+64>>2]=54516,r=i[13633],i[e>>2]=r,i[e+i[r-12>>2]>>2]=i[13634],i[e+4>>2]=0,r=e+i[i[e>>2]-12>>2]|0,A=e+12|0,b0(r,A),i[r+72>>2]=0,i[r+76>>2]=-1,r=i[13635],i[e+8>>2]=r,k=i[r-12>>2],r=e+8|0,i[k+r>>2]=i[13636],k=i[13632],i[e>>2]=k,i[e+i[k-12>>2]>>2]=i[13637],i[e+64>>2]=54516,i[e>>2]=54476,i[e+8>>2]=54496,I=$0(A),y=53552,i[I>>2]=y,i[e+52>>2]=0,i[e+56>>2]=0,i[e+44>>2]=0,i[e+48>>2]=0,i[e+60>>2]=24,x(r,30588,44),r=n+36|0,i2(r,A),r0(f,3,0,r),l[n+47|0]<0&&G(i[n+36>>2]),z6(e);break i}if(r=i[e+36>>2],!r){if(l[n+48|0]=0,l[n+59|0]=0,r0(f,2,104,n+48|0),l[n+59|0]>=0)break i;G(i[n+48>>2]);break i}T8(n+48|0,r,1751411826);r:{e:{if(r=i[n+48>>2],!r||(A=N0(r,68572,68884),!A))break e;if(r=i[n+52>>2],!r){r=0;break r}i[r+4>>2]=i[r+4>>2]+1;break r}r=0,A=0}i[e+28>>2]=A,A=i[e+32>>2],i[e+32>>2]=r;r:{if(!A||(r=i[A+4>>2],i[A+4>>2]=r-1,r))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r=i[n+52>>2];r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[e+28>>2],!(!r|i[r+60>>2]==1885954932)){if(l[n+48|0]=0,l[n+59|0]=0,r0(f,2,114,n+48|0),l[n+59|0]>=0)break i;G(i[n+48>>2]);break i}T8(n+48|0,i[e+36>>2],1885959277);r:{e:{if(r=i[n+48>>2],!r||(A=N0(r,68572,68944),!A))break e;if(r=i[n+52>>2],!r){r=0;break r}i[r+4>>2]=i[r+4>>2]+1;break r}r=0,A=0}i[e+84>>2]=A,A=i[e+88>>2],i[e+88>>2]=r;r:{if(!A||(r=i[A+4>>2],i[A+4>>2]=r-1,r))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r=i[n+52>>2];r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(!i[e+84>>2]){if(l[n+48|0]=0,l[n+59|0]=0,r0(f,2,107,n+48|0),l[n+59|0]>=0)break i;G(i[n+48>>2]);break i}T8(n+48|0,i[e+36>>2],1768977008);r:{e:{if(r=i[n+48>>2],!r||(A=N0(r,68572,69184),!A))break e;if(r=i[n+52>>2],!r){r=0;break r}i[r+4>>2]=i[r+4>>2]+1;break r}r=0,A=0}i[e+100>>2]=A,A=i[e+104>>2],i[e+104>>2]=r;r:{if(!A||(r=i[A+4>>2],i[A+4>>2]=r-1,r))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r=i[n+52>>2];r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[e+100>>2],!r){if(l[n+48|0]=0,l[n+59|0]=0,r0(f,2,112,n+48|0),l[n+59|0]>=0)break i;G(i[n+48>>2]);break i}T8(n+48|0,r,1768973167);r:{e:{if(r=i[n+48>>2],!r||(A=N0(r,68572,69244),!A))break e;if(r=i[n+52>>2],!r){r=0;break r}i[r+4>>2]=i[r+4>>2]+1;break r}r=0,A=0}i[e+44>>2]=A,A=i[e+48>>2],i[e+48>>2]=r;r:{if(!A||(r=i[A+4>>2],i[A+4>>2]=r-1,r))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r=i[n+52>>2];r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(!i[e+44>>2]){if(e=f,f=C1(n+48|0,31341),r0(e,2,108,f),l[f+11|0]>=0)break i;G(i[f>>2]);break i}if(o=B-32|0,B=o,h9(o+20|0,i[e+100>>2],1768975713),k=n+48|0,i[k+8>>2]=0,i[k>>2]=0,i[k+4>>2]=0,A=i[o+20>>2],u=i[o+24>>2],(A|0)!=(u|0)){for(;;){r:{e:{if(r=i[A>>2],!r||(r=N0(r,68572,69352),!r))break e;if(i[o+12>>2]=r,t=i[A+4>>2],i[o+16>>2]=t,!t)break r;i[t+4>>2]=i[t+4>>2]+1;break r}i[o+12>>2]=0,i[o+16>>2]=0,r=0}t=i[k+4>>2];r:{if(t>>>0<k0[k+8>>2]){i[t>>2]=r,i[t+4>>2]=i[o+16>>2],i[k+4>>2]=t+8;break r}if(t=z2(k,o+12|0),r=i[o+16>>2],i[k+4>>2]=t,!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A+8|0,(u|0)==(A|0))break}A=i[o+20>>2]}if(A){if(r=A,k=i[o+24>>2],(r|0)!=(k|0)){for(;;){r=i[k-4>>2];r:{if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k-8|0,(k|0)==(A|0))break}r=i[o+20>>2]}i[o+24>>2]=A,G(r)}B=o+32|0;r:{e:{if(A=i[n+48>>2],r=i[n+52>>2],(A|0)!=(r|0)){if(r-A>>>0>8)for(r=1;;){w=i[A>>2],o=i[w+60>>2],A=i[(r<<3)+A>>2],t=i[A+56>>2],u=t,k=i[A+60>>2],v=k,A=0,h=k-t>>4;A:{if((h|0)<=0)break A;f:{k:{n:{t:{o:{if(_=i[w+64>>2],(h|0)<=_-o>>4){if((h|0)<=0){v=(h<<4)+t|0,A=o;break f}u:{if((u|0)==(v|0)){A=o;break u}for(A=o;;){if(k=i[t>>2],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=k,k=i[t+8>>2],u=i[t+4>>2],(k|0)!=(u|0)){if(k=k-u|0,(k|0)<0)break o;o=U(k),i[A+8>>2]=o,i[A+4>>2]=o,h=k+o|0,i[A+12>>2]=h,l0(o,u,k),i[A+8>>2]=h}if(A=A+16|0,t=t+16|0,(v|0)==(t|0))break}}i[w+60>>2]=A;break A}if(k=i[w+56>>2],t=h+(o-k>>4)|0,t>>>0>=268435456)break t;if(v=_-k|0,_=v>>3,t=v>>>0>=2147483632?268435455:t>>>0<_>>>0?_:t,t){if(t>>>0>=268435456)break n;A=U(t<<4)}for(k=(o-k&-16)+A|0,_=k+(h<<4)|0,p=(t<<4)+A|0,A=k;;){if(t=i[u>>2],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=t,t=i[u+8>>2],v=i[u+4>>2],(t|0)!=(v|0)){if(t=t-v|0,(t|0)<0)break k;h=U(t),i[A+8>>2]=h,i[A+4>>2]=h,C=t+h|0,i[A+12>>2]=C,l0(h,v,t),i[A+8>>2]=C}if(u=u+16|0,A=A+16|0,(_|0)==(A|0))break}if(_=i[w+56>>2],(_|0)!=(o|0))for(u=o,t=k;k=t-16|0,h=u-16|0,i[k>>2]=i[h>>2],v=u-12|0,i[t-12>>2]=i[v>>2],i[t-8>>2]=i[u-8>>2],C=t-4|0,t=u-4|0,i[C>>2]=i[t>>2],i[t>>2]=0,i[v>>2]=0,i[v+4>>2]=0,t=k,u=h,(_|0)!=(u|0););if(u=i[w+60>>2],(u|0)!=(o|0)){for(;t=i[o>>2],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=t,i[A+4>>2]=i[o+4>>2],i[A+8>>2]=i[o+8>>2],i[A+12>>2]=i[o+12>>2],i[o+12>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,A=A+16|0,o=o+16|0,(u|0)!=(o|0););u=i[w+60>>2]}if(i[w+64>>2]=p,i[w+60>>2]=A,A=i[w+56>>2],i[w+56>>2]=k,(A|0)!=(u|0))for(;k=i[u-12>>2],k&&(i[u-8>>2]=k,G(k)),u=u-16|0,(A|0)!=(u|0););A&&G(A);break A}y0(),P()}y0(),P()}_2(),P()}y0(),P()}if(k=h<<4,_=k+o|0,t=A,k=A-k|0,o>>>0>k>>>0)for(h=k;p=i[h>>2],i[t+12>>2]=0,i[t+4>>2]=0,i[t+8>>2]=0,i[t>>2]=p,i[t+4>>2]=i[h+4>>2],i[t+8>>2]=i[h+8>>2],i[t+12>>2]=i[h+12>>2],i[h+12>>2]=0,i[h+4>>2]=0,i[h+8>>2]=0,t=t+16|0,h=h+16|0,h>>>0<o>>>0;);if(i[w+60>>2]=t,(A|0)!=(_|0))for(;t=A-16|0,h=k-16|0,i[t>>2]=i[h>>2],w=A-12|0,_=i[w>>2],_&&(p=A-8|0,i[p>>2]=_,G(_),i[p>>2]=0,i[p+4>>2]=0,i[w>>2]=0),_=w,w=k-12|0,i[_>>2]=i[w>>2],i[A-8>>2]=i[k-8>>2],_=A-4|0,A=k-4|0,i[_>>2]=i[A>>2],i[A>>2]=0,i[w>>2]=0,i[w+4>>2]=0,A=t,k=h,(o|0)!=(k|0););if((u|0)==(v|0))break A;for(A=o;i[A>>2]=i[u>>2],(A|0)!=(u|0)&&(k=i[u+4>>2],o=i[u+8>>2],ki(A+4|0,k,o,o-k>>2)),A=A+16|0,u=u+16|0,(v|0)!=(u|0););}if(r=r+1|0,A=i[n+48>>2],!(r>>>0<i[n+52>>2]-A>>3>>>0))break}r=i[A>>2],A=i[A+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[e+52>>2]=r,r=i[e+56>>2],i[e+56>>2]=A;A:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break A;V[i[i[r>>2]+8>>2]](r),g(r)}A=n+16|0,T8(A,i[e+36>>2],1768714083),r=n+36|0;A:{f:{if(k=i[A>>2],!k||(k=N0(k,68572,69004),!k))break f;if(i[r>>2]=k,k=i[A+4>>2],i[r+4>>2]=k,!k)break A;i[k+4>>2]=i[k+4>>2]+1;break A}i[r>>2]=0,i[r+4>>2]=0}if(si(e+60|0,r),v1(r),v1(A),i[e+60>>2])break e;if(e=f,f=C1(r,31341),r0(e,2,110,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}if(e=f,f=C1(n+36|0,31341),r0(e,2,109,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}A=n+16|0,T8(A,i[e+36>>2],1768186228),r=n+36|0;e:{A:{if(k=i[A>>2],!k||(k=N0(k,68572,70144),!k))break A;if(i[r>>2]=k,k=i[A+4>>2],i[r+4>>2]=k,!k)break e;i[k+4>>2]=i[k+4>>2]+1;break e}i[r>>2]=0,i[r+4>>2]=0}si(e+68|0,r),v1(r),v1(A),T8(A,i[e+36>>2],1769104742);e:{A:{if(k=i[A>>2],!k||(k=N0(k,68572,69652),!k))break A;if(i[r>>2]=k,k=i[A+4>>2],i[r+4>>2]=k,!k)break e;i[k+4>>2]=i[k+4>>2]+1;break e}i[r>>2]=0,i[r+4>>2]=0}o=e+76|0,si(o,r),v1(r),v1(A);e:{if(!i[e+76>>2])break e;if(r=i[i[e+84>>2]+56>>2],k=B-32|0,B=k,i[k+16>>2]=0,i[k+20>>2]=0,i[k+8>>2]=0,i[k+12>>2]=0,i[k+24>>2]=1065353216,Gk(f,e,r,o,k+8|0),A=i[k+16>>2],A)for(;r=i[A>>2],G(A),A=r,!!r;);if(r=i[k+8>>2],i[k+8>>2]=0,r&&G(r),B=k+32|0,i[f>>2])break r;if(l[f+19|0]>=0)break e;G(i[f+8>>2])}A=n+16|0,T8(A,i[e+36>>2],1768517222),r=n+36|0;e:{A:{if(k=i[A>>2],!k||(k=N0(k,68572,69124),!k))break A;if(i[r>>2]=k,k=i[A+4>>2],i[r+4>>2]=k,!k)break e;i[k+4>>2]=i[k+4>>2]+1;break e}i[r>>2]=0,i[r+4>>2]=0}if(si(e+92|0,r),v1(r),v1(A),A=i[e+92>>2],!A){if(e=f,f=C1(r,31341),r0(e,2,111,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}h9(n+36|0,A,1768842853),r=i[n+36>>2],u=i[n+40>>2];e:{if((r|0)!=(u|0))for(o=e+108|0;;){A:{f:{if(e=i[r>>2],!e||(e=N0(e,68572,69064),!e))break f;if(i[n+28>>2]=e,e=i[r+4>>2],i[n+32>>2]=e,!e)break A;i[e+4>>2]=i[e+4>>2]+1;break A}i[n+28>>2]=0,i[n+32>>2]=0}if(e=i[n+28>>2],!e){e=f,f=C1(n+16|0,31341),r0(e,2,125,f),l[f+11|0]<0&&G(i[f>>2]),v1(n+28|0);break e}A=i[e+56>>2],i[n+20>>2]=e,i[n+16>>2]=A,e=i[n+32>>2],i[n+24>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),t=i[n+16>>2],A=i[o+4>>2];A:{f:{if(!A){k=o+4|0,e=k;break f}for(;;){if(e=A,k=i[A+16>>2],k>>>0>t>>>0){if(k=A,A=i[A>>2],A)continue;break f}if(k>>>0>=t>>>0){e=0;break A}if(A=i[e+4>>2],!A)break}k=e+4|0}A=U(28),i[A+16>>2]=t,i[A+20>>2]=i[n+20>>2],i[A+24>>2]=i[n+24>>2],i[n+20>>2]=0,i[n+24>>2]=0,i[A+8>>2]=e,i[A>>2]=0,i[A+4>>2]=0,i[k>>2]=A,e=A,t=i[i[o>>2]>>2],t&&(i[o>>2]=t,e=i[k>>2]),D1(i[o+4>>2],e),i[o+8>>2]=i[o+8>>2]+1,e=1}l[n+12|0]=e,i[n+8>>2]=A,e=i[n+24>>2];A:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break A;V[i[i[e>>2]+8>>2]](e),g(e)}if(v1(n+28|0),r=r+8|0,(u|0)==(r|0))break}V3(f)}_3(n+36|0)}_3(n+48|0)}B=n+192|0,f=i[W+4>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=Z+48|0}function vA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0;w=B-16|0,B=w,n=U(136),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=72792,B0(n+20|0,0,104),h=i[n+4>>2],t=h+1|0,i[n+4>>2]=t,i[n+56>>2]=0,i[n+60>>2]=0,i[n+44>>2]=99,i[n+48>>2]=99,i[n+32>>2]=3795,o=n- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[n+132>>2]=0,i[n+124>>2]=0,i[n+128>>2]=0,i[n+84>>2]=1,i[n+88>>2]=1,i[n+72>>2]=n+76,i[n+92>>2]=0,i[n+96>>2]=0,i[n+100>>2]=0,i[n+104>>2]=0,i[n+108>>2]=0,i[n+112>>2]=0,l[n+113|0]=0,l[n+114|0]=0,l[n+115|0]=0,l[n+116|0]=0,l[n+117|0]=0,l[n+118|0]=0,l[n+119|0]=0,l[n+120|0]=0,o=n+12|0,i[n+12>>2]=o,i[n+8>>2]=i[n+8>>2]+1,i[n+4>>2]=h,i[n+16>>2]=n,t||(V[i[i[n>>2]+8>>2]](n),g(n)),i[r>>2]=o,h=i[r+4>>2],i[r+4>>2]=n;i:{if(!h||(n=i[h+4>>2],i[h+4>>2]=n-1,n))break i;V[i[i[h>>2]+8>>2]](h),g(h)}p=i[e+32>>2],_=i[r>>2],v=i[e+36>>2],i[_+36>>2]=v,i[_+32>>2]=p,i[_+28>>2]=k,i[_+24>>2]=A;i:{r:{e:{A:{f:{k:{n:{t:{o:{u:{l:{if(o=i[e+64>>2],o){for(h=e- -64|0,t=h,n=o;u=i[n+16>>2]<10,t=u?t:n,n=i[(u<<2)+n>>2],!!n;);if(!((t|0)==(h|0)|i[t+16>>2]>10)){for(n=h;t=i[o+16>>2]<10,n=t?n:o,o=i[(t<<2)+o>>2],!!o;);t=255,J0(_,10,A,k,(n|0)==(h|0)|i[n+16>>2]>10?t:s[n+20|0]);break r}switch(u=h,n=o,t=n,p|0){case 2:break o;case 1:break l;case 0:break n;default:break f}}switch(p|0){case 2:break t;case 1:break u;case 0:break k;default:break f}}for(;t=i[n+16>>2]<3,u=t?u:n,n=i[(t<<2)+n>>2],!!n;);if((u|0)==(h|0)|i[u+16>>2]>3)break u;for(t=h,n=o;u=i[n+16>>2]<4,t=u?t:n,n=i[(u<<2)+n>>2],!!n;);if((t|0)==(h|0)|i[t+16>>2]>4)break u;for(t=h,n=o;u=i[n+16>>2]<5,t=u?t:n,n=i[(u<<2)+n>>2],!!n;);if((t|0)==(h|0)|i[t+16>>2]>=6)break u;for(n=h;t=i[o+16>>2]<3,n=t?n:o,o=i[(t<<2)+o>>2],!!o;);o=255,t=255;l:{if((n|0)==(h|0)||(t=255,i[n+16>>2]>3))break l;t=s[n+20|0]}J0(_,3,A,k,t),_=i[r>>2],n=i[h>>2];l:{if(!n)break l;for(t=h;u=i[n+16>>2]<4,t=u?t:n,n=i[(u<<2)+n>>2],!!n;);if((t|0)==(h|0)|i[t+16>>2]>4)break l;o=s[t+20|0]}J0(_,4,A,k,o),_=i[r>>2],o=255,n=i[h>>2];l:{if(!n)break l;for(t=h;u=i[n+16>>2]<5,t=u?t:n,n=i[(u<<2)+n>>2],!!n;);if((t|0)==(h|0)|i[t+16>>2]>5)break l;o=s[t+20|0]}J0(_,5,A,k,o);break e}if(e=U(32),i[w+4>>2]=e,i[w+8>>2]=31,i[w+12>>2]=-2147483616,r=s[4233]|s[4234]<<8|(s[4235]<<16|s[4236]<<24),A=s[4229]|s[4230]<<8|(s[4231]<<16|s[4232]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+31|0]=0,r=s[4256]|s[4257]<<8|(s[4258]<<16|s[4259]<<24),A=s[4252]|s[4253]<<8|(s[4254]<<16|s[4255]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,l[e+27|0]=r,l[e+28|0]=r>>>8,l[e+29|0]=r>>>16,l[e+30|0]=r>>>24,r=s[4249]|s[4250]<<8|(s[4251]<<16|s[4252]<<24),A=s[4245]|s[4246]<<8|(s[4247]<<16|s[4248]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[4241]|s[4242]<<8|(s[4243]<<16|s[4244]<<24),A=s[4237]|s[4238]<<8|(s[4239]<<16|s[4240]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,w+4|0),l[w+15|0]>=0)break i;G(i[w+4>>2]);break i}for(;n=i[t+16>>2],u=(n|0)<0?u:t,t=i[(n>>>29&4)+t>>2],!!t;);if((u|0)==(h|0)|i[u+16>>2]>0)break t;for(n=h;t=i[o+16>>2],n=(t|0)<0?n:o,o=i[(t>>>29&4)+o>>2],!!o;);t=255,J0(_,0,A,k,(n|0)==(h|0)|i[n+16>>2]>0?t:s[n+20|0]);break e}if(e=U(40),i[w+4>>2]=e,i[w+8>>2]=32,i[w+12>>2]=-2147483608,r=s[9901]|s[9902]<<8|(s[9903]<<16|s[9904]<<24),A=s[9897]|s[9898]<<8|(s[9899]<<16|s[9900]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+32|0]=0,r=s[9925]|s[9926]<<8|(s[9927]<<16|s[9928]<<24),A=s[9921]|s[9922]<<8|(s[9923]<<16|s[9924]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[9917]|s[9918]<<8|(s[9919]<<16|s[9920]<<24),A=s[9913]|s[9914]<<8|(s[9915]<<16|s[9916]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[9909]|s[9910]<<8|(s[9911]<<16|s[9912]<<24),A=s[9905]|s[9906]<<8|(s[9907]<<16|s[9908]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,w+4|0),l[w+15|0]>=0)break i;G(i[w+4>>2]);break i}for(;t=i[n+16>>2],u=(t|0)<0?u:n,n=i[(t>>>29&4)+n>>2],!!n;);if((u|0)==(h|0)|i[u+16>>2]>0)break k;for(n=h;t=i[o+16>>2]<=0,n=t?n:o,o=i[(t<<2)+o>>2],!!o;);if((n|0)==(h|0)|i[n+16>>2]>1)break k;if(H2(e,2))break A}if(e=U(40),i[w+4>>2]=e,i[w+8>>2]=34,i[w+12>>2]=-2147483608,r=s[4198]|s[4199]<<8|(s[4200]<<16|s[4201]<<24),A=s[4194]|s[4195]<<8|(s[4196]<<16|s[4197]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+34|0]=0,r=s[4226]|s[4227]<<8,l[e+32|0]=r,l[e+33|0]=r>>>8,r=s[4222]|s[4223]<<8|(s[4224]<<16|s[4225]<<24),A=s[4218]|s[4219]<<8|(s[4220]<<16|s[4221]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[4214]|s[4215]<<8|(s[4216]<<16|s[4217]<<24),A=s[4210]|s[4211]<<8|(s[4212]<<16|s[4213]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[4206]|s[4207]<<8|(s[4208]<<16|s[4209]<<24),A=s[4202]|s[4203]<<8|(s[4204]<<16|s[4205]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,w+4|0),l[w+15|0]>=0)break i;G(i[w+4>>2]);break i}if(e=U(32),i[w+4>>2]=e,i[w+8>>2]=27,i[w+12>>2]=-2147483616,r=s[6274]|s[6275]<<8|(s[6276]<<16|s[6277]<<24),A=s[6270]|s[6271]<<8|(s[6272]<<16|s[6273]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+27|0]=0,r=s[6293]|s[6294]<<8|(s[6295]<<16|s[6296]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=s[6290]|s[6291]<<8|(s[6292]<<16|s[6293]<<24),A=s[6286]|s[6287]<<8|(s[6288]<<16|s[6289]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6282]|s[6283]<<8|(s[6284]<<16|s[6285]<<24),A=s[6278]|s[6279]<<8|(s[6280]<<16|s[6281]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,w+4|0),l[w+15|0]>=0)break i;G(i[w+4>>2]);break i}x9(A,k,1,v,w+4|0,w),J0(i[r>>2],0,A,k,U0(e,0)),J0(i[r>>2],1,i[w+4>>2],i[w>>2],U0(e,1)),J0(i[r>>2],2,i[w+4>>2],i[w>>2],U0(e,2))}if(o=i[h>>2],!o)break r;for(t=h,n=o;_=i[n+16>>2]<6,t=_?t:n,n=i[(_<<2)+n>>2],!!n;);if((t|0)==(h|0)|i[t+16>>2]>6)break r;for(_=i[r>>2],n=h;t=i[o+16>>2]<6,n=t?n:o,o=i[(t<<2)+o>>2],!!o;);t=255,J0(_,6,A,k,(n|0)==(h|0)|i[n+16>>2]>6?t:s[n+20|0])}if(p=i[e+60>>2],(h|0)!=(p|0))for(;;){v=i[p+16>>2];r:{if((v|0)==10){if(Z=255,n=i[e+36>>2]-10|0,n>>>0>=6)break r;t=n<<3,n=t&31,(t&63)>>>0>=32?Z=16432>>>n|0:Z=((1<<n)-1&16432)<<32-n|1076895768>>>n;break r}if(Z=0,n=h,t=i[n>>2],!t)break r;for(;o=(v|0)>i[t+16>>2],n=o?n:t,t=i[(o<<2)+t>>2],!!t;);if((n|0)==(h|0)|(v|0)<i[n+16>>2])break r;Z=s[n+20|0]+7&-8}r:{t=i[r>>2],n=i[t+64>>2];e:{if(!n)break e;for(I=Z>>>3&31,_=t- -64|0,o=_,t=n;u=(v|0)>i[t+16>>2],o=u?o:t,t=i[(u<<2)+t>>2],!!t;);if((o|0)==(_|0))break e;if(u=_,t=n,(v|0)>=i[o+16>>2])break r}if(e=U(40),i[w+4>>2]=e,i[w+8>>2]=35,i[w+12>>2]=-2147483608,r=s[9826]|s[9827]<<8|(s[9828]<<16|s[9829]<<24),A=s[9822]|s[9823]<<8|(s[9824]<<16|s[9825]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+35|0]=0,r=s[9853]|s[9854]<<8|(s[9855]<<16|s[9856]<<24),l[e+31|0]=r,l[e+32|0]=r>>>8,l[e+33|0]=r>>>16,l[e+34|0]=r>>>24,r=s[9850]|s[9851]<<8|(s[9852]<<16|s[9853]<<24),A=s[9846]|s[9847]<<8|(s[9848]<<16|s[9849]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[9842]|s[9843]<<8|(s[9844]<<16|s[9845]<<24),A=s[9838]|s[9839]<<8|(s[9840]<<16|s[9841]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[9834]|s[9835]<<8|(s[9836]<<16|s[9837]<<24),A=s[9830]|s[9831]<<8|(s[9832]<<16|s[9833]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,w+4|0),l[w+15|0]>=0)break i;G(i[w+4>>2]);break i}for(;o=(v|0)>i[t+16>>2],u=o?u:t,t=i[(o<<2)+t>>2],!!t;);for(W=-1,W=(u|0)==(_|0)|(v|0)<i[u+16>>2]?W:i[u+24>>2],o=_,t=n;u=(v|0)>i[t+16>>2],o=u?o:t,t=i[(u<<2)+t>>2],!!t;);for(y=-1,y=(o|0)==(_|0)|(v|0)<i[o+16>>2]?y:i[o+28>>2],J=i[p+40>>2],R=i[p+48>>2],t=_;o=(v|0)>i[n+16>>2],t=o?t:n,n=i[(o<<2)+n>>2],!!n;);r:{if((t|0)==(_|0)){E=0,_=0;break r}if(E=0,_=0,(v|0)<i[t+16>>2])break r;E=i[t+40>>2],_=i[t+48>>2]}if((y|0)>0)for(z=W&2147483646,H=W&1,a=I&28,D=I&3,t=0,S=(Z&255)>>>0<8,q=I-1>>>0<3;;){n=(m(i[e+28>>2],t)|0)/(k|0)|0;r:{if((I|0)!=1){if(S|(W|0)<=0)break r;for(d=m(t,_)+E|0,A0=m(n,R)+J|0,Z=0;;){if(u=m(Z,I)+d|0,v=m((m(i[e+24>>2],Z)|0)/(A|0)|0,I)+A0|0,n=0,o=0,!q)for(;l[n+u|0]=s[n+v|0],C=n|1,l[C+u|0]=s[v+C|0],C=n|2,l[C+u|0]=s[v+C|0],C=n|3,l[C+u|0]=s[v+C|0],n=n+4|0,o=o+4|0,(a|0)!=(o|0););if(o=0,D)for(;l[n+u|0]=s[n+v|0],n=n+1|0,o=o+1|0,(D|0)!=(o|0););if(Z=Z+1|0,(W|0)==(Z|0))break}break r}if((W|0)<=0)break r;if(u=m(t,_)+E|0,v=m(n,R)+J|0,n=0,o=0,(W|0)!=1)for(;l[n+u|0]=s[v+((m(i[e+24>>2],n)|0)/(A|0)|0)|0],Z=n|1,l[Z+u|0]=s[v+((m(Z,i[e+24>>2])|0)/(A|0)|0)|0],n=n+2|0,o=o+2|0,(z|0)!=(o|0););if(!H)break r;l[n+u|0]=s[v+((m(i[e+24>>2],n)|0)/(A|0)|0)|0]}if(t=t+1|0,(y|0)==(t|0))break}t=i[p+4>>2];r:{if(t){for(;;)if(n=t,t=i[n>>2],!t)break r}for(;n=i[p+8>>2],t=i[n>>2]!=(p|0),p=n,!!t;);}if(p=n,(n|0)==(h|0))break}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=w+16|0}function k6(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;w=B-32|0,B=w,s[79117]==1&&(i[w+16>>2]=f,f8(21790,w+16|0));i:{k=i[f+4>>2];r:{if(k){if(n=i[k>>2],(n|0)==1){k=i[f>>2];break r}if((n|0)<=1)break i;i[k>>2]=n-1}s[79117]==1&&(i[w>>2]=f,f8(31312,w)),k=U(172),i[f>>2]=k,B0(k,0,172),u=f,f=U(4),i[u+4>>2]=f,i[f>>2]=1}r:{e:{A:{f:{k:{n:{t:{o:{u:{l:{s:{h:{w:{_:{v:{if((e|0)<=0){f=(r|0)>=51?51:r,n=(f|0)>0?f:0;break v}if(t=e-1|0,A=m(t,12)+41392|0,f=i[A>>2],r=(r|0)>=51?51:r,n=(r|0)>0?r:0,f=((f<<3&120)+(m(n,m(f>>4,5)-45|0)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+5|0,(u&127)>>>0>=63||(l[k+5|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+6|0,(u&127)>>>0>62)||(l[k+6|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+7|0,(A&127)>>>0>62))break k;if(l[k+7|0]=f,f=t<<2,r=i[f+41416>>2],r=((r<<3&120)+(m(m(r>>4,5)-45|0,n)>>4)|0)-16|0,A=(r|0)>=126?126:r,A=(A|0)<=1?1:A,r=(r|0)>63,A=r?A^64:63-A|0,r=A<<1|r,(A&127)>>>0>=63)break _;if(l[k+149|0]=r,r=i[f+41424>>2],r=((r<<3&120)+(m(m(r>>4,5)-45|0,n)>>4)|0)-16|0,A=(r|0)>=126?126:r,A=(A|0)<=1?1:A,r=(r|0)>63,A=r?A^64:63-A|0,r=A<<1|r,(A&127)>>>0>=63)break w;if(l[k+147|0]=r,f=i[f+41432>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,r=f?r^64:63-r|0,f=r<<1|f,(r&127)>>>0>=63)break h;if(l[k+148|0]=f,f=m(n,-20)>>4,r=(f|0)>-41,A=r?f+104^64:-41-f|0,f=r|A<<1,r=k+156|0,(A&127)>>>0>=63||(l[k+156|0]=f,A=m(n,-25)>>4,t=-41-A|0,_=A+104^64,u=(A|0)>-41,f=u,o=f?_:t,f=o<<1|f,r=k+157|0,(o&127)>>>0>62)||(l[k+157|0]=f,f=m(n,-30)>>4,r=(f|0)>-41,o=r?f+104^64:-41-f|0,f=r|o<<1,r=k+158|0,(o&127)>>>0>62)||(l[k+158|0]=f,f=m(n,-40)>>4,r=(f|0)<=-103?-103:f,f=(f|0)>-41,o=f?r+104^64:-41-r|0,f=o<<1|f,r=k+159|0,(o&127)>>>0>62)||(f=m(f&255,257),l[k+159|0]=f,l[k+160|0]=f>>>8,l[k+154|0]=14,l[k+155|0]=14,o=(((e|0)!=1)<<3)+41440|0,f=i[o>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,h=f?r^64:63-r|0,f=h<<1|f,r=k+150|0,(h&127)>>>0>=63)||(l[k+150|0]=f,f=i[o+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,o=f?r^64:63-r|0,f=o<<1|f,r=k+151|0,(o&127)>>>0>62))break k;if(l[k+151|0]=f,l[k+152|0]=30-(m(n,5)>>>3&254),r=u?_:t,f=u|r<<1,(r&127)>>>0>62)break s;if(l[k+153|0]=f,f=m(n,-5)>>4,r=(f|0)>-9,A=r?f+72^64:-9-f|0,f=r|A<<1,(A&127)>>>0>=63)break l;f=m(f&255,16843009),l[k+143|0]=f,l[k+144|0]=f>>>8,l[k+145|0]=f>>>16,l[k+146|0]=f>>>24}if(t=m(e,12),A=t+41456|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+2|0,(u&127)>>>0>=63||(l[k+2|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+3|0,(u&127)>>>0>62)||(l[k+3|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+4|0,(A&127)>>>0>62)||(l[k+4|0]=f,A=(((e|0)==2?5:e)<<2)+41504|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+8|0,(u&127)>>>0>=63)||(l[k+8|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+9|0,(u&127)>>>0>62)||(l[k+9|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+10|0,(u&127)>>>0>62)||(l[k+10|0]=f,f=i[A+12>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+11|0,(A&127)>>>0>62))break k;if(l[k+11|0]=f,u=e<<2,r=u,f=i[r+41540>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,A=(f|0)>=126?126:f,A=(A|0)<=1?1:A,f=(f|0)>63,A=f?A^64:63-A|0,f=A<<1|f,(A&127)>>>0>=63)break u;if(l[k+12|0]=f,f=i[r+41552>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,r=f?r^64:63-r|0,f=r<<1|f,(r&127)>>>0>=63)break o;if(l[k+13|0]=f,A=(((e|0)!=0)<<3)+41568|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,o=f?r^64:63-r|0,f=o<<1|f,r=k+14|0,(o&127)>>>0>=63||(l[k+14|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+15|0,(A&127)>>>0>62)||(l[k+15|0]=f,A=(e<<4)+41584|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,o=f?r^64:63-r|0,f=o<<1|f,r=k+16|0,(o&127)>>>0>=63)||(l[k+16|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,o=f?r^64:63-r|0,f=o<<1|f,r=k+17|0,(o&127)>>>0>62)||(l[k+17|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,o=f?r^64:63-r|0,f=o<<1|f,r=k+18|0,(o&127)>>>0>62)||(l[k+18|0]=f,f=i[A+12>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+19|0,(A&127)>>>0>62)||(l[k+19|0]=f,A=t+41632|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+20|0,(t&127)>>>0>=63)||(l[k+20|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+21|0,(t&127)>>>0>62)||(l[k+21|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+22|0,(A&127)>>>0>62))break k;for(l[k+22|0]=f,o=k+25|0,t=m(e,72)+41680|0,f=0;;){if(r=i[t+(f<<2)>>2],r=((r<<3&120)+(m(m(r>>4,5)-45|0,n)>>4)|0)-16|0,A=(r|0)>=126?126:r,A=(A|0)<=1?1:A,r=(r|0)>63,h=r?A^64:63-A|0,A=h<<1|r,r=f+o|0,(h&127)>>>0>=63)break f;if(l[r|0]=A,f=f+1|0,(f|0)==18)break}for(o=k+43|0,f=0;;){if(r=i[t+(f<<2)>>2],r=((r<<3&120)+(m(m(r>>4,5)-45|0,n)>>4)|0)-16|0,A=(r|0)>=126?126:r,A=(A|0)<=1?1:A,r=(r|0)>63,h=r?A^64:63-A|0,A=h<<1|r,r=f+o|0,(h&127)>>>0>=63)break f;if(l[r|0]=A,f=f+1|0,(f|0)==18)break}if(A=(u<<2)+41904|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+61|0,(t&127)>>>0>=63||(l[k+61|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+62|0,(t&127)>>>0>62)||(l[k+62|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+63|0,(t&127)>>>0>62)||(l[k+63|0]=f,f=i[A+12>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k- -64|0,(A&127)>>>0>62))break k;for(l[r|0]=f,t=k+65|0,u=m(e,168)+41952|0,f=0;;){if(r=i[u+(f<<2)>>2],r=((r<<3&120)+(m(m(r>>4,5)-45|0,n)>>4)|0)-16|0,A=(r|0)>=126?126:r,A=(A|0)<=1?1:A,r=(r|0)>63,o=r?A^64:63-A|0,r=o<<1|r,A=f+t|0,(o&127)>>>0>=63)break A;if(l[A|0]=r,f=f+1|0,(f|0)==42)break}if(A=(e<<3)+42464|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+107|0,(t&127)>>>0>=63||(l[k+107|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+108|0,(A&127)>>>0>62))break k;for(l[k+108|0]=f,t=k+109|0,u=m(e,96)+42496|0,f=0;;){if(r=i[u+(f<<2)>>2],r=((r<<3&120)+(m(m(r>>4,5)-45|0,n)>>4)|0)-16|0,A=(r|0)>=126?126:r,A=(A|0)<=1?1:A,r=(r|0)>63,o=r?A^64:63-A|0,r=o<<1|r,A=f+t|0,(o&127)>>>0>=63)break A;if(l[A|0]=r,f=f+1|0,(f|0)==24)break}if(A=m(e,24)+42784|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+133|0,(t&127)>>>0>=63||(l[k+133|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+134|0,(t&127)>>>0>62)||(l[k+134|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+135|0,(t&127)>>>0>62)||(l[k+135|0]=f,f=i[A+12>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+136|0,(t&127)>>>0>62)||(l[k+136|0]=f,f=i[A+16>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+137|0,(t&127)>>>0>62)||(l[k+137|0]=f,f=i[A+20>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+138|0,(A&127)>>>0>62))break k;if(l[k+138|0]=f,l[k|0]=14,f=i[(e<<2)+42856>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,e=(f|0)>=126?126:f,e=(e|0)<=1?1:e,f=(f|0)>63,e=f?e^64:63-e|0,f=e<<1|f,(e&127)>>>0>=63)break t;if(l[k+1|0]=f,l[k+139|0]=1,l[k+140|0]=1,f=m(n,-5)>>4,e=(f|0)>=54?54:f,e=(e|0)<=-71?-71:e,f=(f|0)>-9,e=f?e+72^64:-9-e|0,f=e<<1|f,(e&127)>>>0<=62)break n;l[k+141|0]=f;break e}l[k+149|0]=r;break e}l[k+147|0]=r;break e}l[k+148|0]=f;break e}l[k+153|0]=f;break e}l[k+143|0]=f;break e}l[k+12|0]=f;break e}l[k+13|0]=f;break e}l[k+1|0]=f;break e}f=m(f&255,257),l[k+141|0]=f,l[k+142|0]=f>>>8,l[k+170|0]=1,l[k+171|0]=1,l[k+162|0]=1,l[k+163|0]=1,l[k+164|0]=1,l[k+165|0]=1,l[k+166|0]=1,l[k+167|0]=1,l[k+168|0]=1,l[k+169|0]=1,l[k+161|0]=1,l[k+23|0]=1,l[k+24|0]=1;break r}l[r|0]=f;break e}l[r|0]=A;break e}l[A|0]=r}C0(16791,14e3,212,9243),P()}B=w+32|0;return}C0(16994,14e3,177,14144),P()}function mA(){var f=0,e=0,r=0,A=0,k=0,n=0,t=0;r=B-16|0,B=r,A=i[19590],e=i[19591];i:{if((A|0)!=(e|0))break i;f=U(16),i[f+12>>2]=77040,i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=75148,i[r+12>>2]=f,k=f+12|0,i[r+8>>2]=k;r:{if(A>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=k,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77184,i[f>>2]=75196,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=75276,i[f>>2]=75236,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=75352,i[f>>2]=75312,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76932,i[f>>2]=75388,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76968,i[f>>2]=75428,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77004,i[f>>2]=75468,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77076,i[f>>2]=75508,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77112,i[f>>2]=75548,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77256,i[f>>2]=75588,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77292,i[f>>2]=75628,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77220,i[f>>2]=75668,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77148,i[f>>2]=75708,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76824,i[f>>2]=75748,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=75828,i[f>>2]=75788,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=75904,i[f>>2]=75864,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76788,i[f>>2]=75940,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76860,i[f>>2]=75980,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77400,i[f>>2]=76020,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77328,i[f>>2]=76060,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77364,i[f>>2]=76100,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76180,i[f>>2]=76140,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76256,i[f>>2]=76216,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76332,i[f>>2]=76292,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76408,i[f>>2]=76368,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76484,i[f>>2]=76444,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76560,i[f>>2]=76520,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76636,i[f>>2]=76596,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76712,i[f>>2]=76672,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=U(16),i[f+12>>2]=76896,i[f>>2]=76748,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591],e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break i}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=r+16|0}function Z2(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;w=B-16|0,B=w;i:{r:{e:{A:{f:{k:{n:{t:{o:{u:{if(f>>>0<=244){if(k=i[24254],o=f>>>0<11?16:f+11&504,f=o>>>3|0,e=k>>>f|0,e&3){r=f+((e^-1)&1)|0,e=r<<3,f=e+97056|0,e=i[e+97064>>2],A=i[e+8>>2];l:{if((f|0)==(A|0)){v=97016,Z=a0(-2,r)&k,i[v>>2]=Z;break l}i[A+12>>2]=f,i[f+8>>2]=A}f=e+8|0,r=r<<3,i[e+4>>2]=r|3,e=e+r|0,i[e+4>>2]=i[e+4>>2]|1;break i}if(u=i[24256],u>>>0>=o>>>0)break u;if(e){r=2<<f,f=P6((0-r|r)&e<<f),r=f<<3,e=r+97056|0,r=i[r+97064>>2],A=i[r+8>>2];l:{if((e|0)==(A|0)){k=a0(-2,f)&k,i[24254]=k;break l}i[A+12>>2]=e,i[e+8>>2]=A}if(i[r+4>>2]=o|3,t=r+o|0,f=f<<3,n=f-o|0,i[t+4>>2]=n|1,i[f+r>>2]=n,u){f=(u&-8)+97056|0,A=i[24259],e=1<<(u>>>3);l:{if(!(e&k)){i[24254]=e|k,e=f;break l}e=i[f+8>>2]}i[f+8>>2]=A,i[e+12>>2]=A,i[A+12>>2]=f,i[A+8>>2]=e}f=r+8|0,i[24259]=t,i[24256]=n;break i}if(_=i[24255],!_)break u;for(r=i[(P6(_)<<2)+97320>>2],n=(i[r+4>>2]&-8)-o|0,e=r;;){l:{if(f=i[e+16>>2],!f&&(f=i[e+20>>2],!f))break l;A=(i[f+4>>2]&-8)-o|0,e=A>>>0<n>>>0,n=e?A:n,r=e?f:r,e=f;continue}break}if(h=i[r+24>>2],f=i[r+12>>2],(r|0)!=(f|0)){e=i[r+8>>2],i[e+12>>2]=f,i[f+8>>2]=e;break r}if(e=i[r+20>>2],e)A=r+20|0;else{if(e=i[r+16>>2],!e)break o;A=r+16|0}for(;t=A,f=e,A=f+20|0,e=i[f+20>>2],!(!e&&(A=f+16|0,e=i[f+16>>2],!e)););i[t>>2]=0;break r}if(o=-1,f>>>0>4294967231||(e=f+11|0,o=e&-8,t=i[24255],!t))break u;u=31,n=0-o|0,f>>>0<=16777204&&(f=$2(e>>>8|0),u=((o>>>38-f&1)-(f<<1)|0)+62|0),e=i[(u<<2)+97320>>2];l:{s:{h:{if(!e){f=0;break h}for(f=0,r=o<<((u|0)!=31?25-(u>>>1|0)|0:0);;){w:{if(k=(i[e+4>>2]&-8)-o|0,k>>>0>=n>>>0||(A=e,n=k,n))break w;n=0,f=e;break s}if(k=i[e+20>>2],e=i[((r>>>29&4)+e|0)+16>>2],f=k?(k|0)==(e|0)?f:k:f,r=r<<1,!e)break}}if(!(f|A)){if(A=0,f=2<<u,f=(0-f|f)&t,!f)break u;f=i[(P6(f)<<2)+97320>>2]}if(!f)break l}for(;r=(i[f+4>>2]&-8)-o|0,e=r>>>0<n>>>0,n=e?r:n,A=e?f:A,e=i[f+16>>2],e?f=e:f=i[f+20>>2],!!f;);}if(!A|i[24256]-o>>>0<=n>>>0)break u;if(u=i[A+24>>2],f=i[A+12>>2],(A|0)!=(f|0)){e=i[A+8>>2],i[e+12>>2]=f,i[f+8>>2]=e;break e}if(e=i[A+20>>2],e)r=A+20|0;else{if(e=i[A+16>>2],!e)break t;r=A+16|0}for(;k=r,f=e,r=f+20|0,e=i[f+20>>2],!(!e&&(r=f+16|0,e=i[f+16>>2],!e)););i[k>>2]=0;break e}if(A=i[24256],A>>>0>=o>>>0){f=i[24259],e=A-o|0;u:{if(e>>>0>=16){r=f+o|0,i[r+4>>2]=e|1,i[f+A>>2]=e,i[f+4>>2]=o|3;break u}i[f+4>>2]=A|3,e=f+A|0,i[e+4>>2]=i[e+4>>2]|1,r=0,e=0}i[24256]=e,i[24259]=r,f=f+8|0;break i}if(r=i[24257],r>>>0>o>>>0){e=r-o|0,i[24257]=e,f=i[24260],r=f+o|0,i[24260]=r,i[r+4>>2]=e|1,i[f+4>>2]=o|3,f=f+8|0;break i}if(f=0,n=o+47|0,i[24372]?e=i[24374]:(i[24375]=-1,i[24376]=-1,i[24373]=4096,i[24374]=4096,i[24372]=w+12&-16^1431655768,i[24377]=0,i[24365]=0,e=4096),k=n+e|0,t=0-e|0,e=k&t,e>>>0<=o>>>0||(u=i[24364],u&&(h=i[24362],A=h+e|0,A>>>0<=h>>>0|A>>>0>u>>>0)))break i;u:{if(!(s[97460]&4)){l:{s:{h:{w:{if(A=i[24260],A)for(f=97464;;){if(u=i[f>>2],u>>>0<=A>>>0&A>>>0<u+i[f+4>>2]>>>0)break w;if(f=i[f+8>>2],!f)break}if(r=Di(0),(r|0)==-1||(k=e,f=i[24373],A=f-1|0,A&r&&(k=(e-r|0)+(r+A&0-f)|0),k>>>0<=o>>>0)||(A=i[24364],A&&(t=i[24362],f=t+k|0,f>>>0<=t>>>0|f>>>0>A>>>0)))break l;if(f=Di(k),(r|0)!=(f|0))break h;break u}if(k=t&k-r,r=Di(k),(r|0)==(i[f>>2]+i[f+4>>2]|0))break s;f=r}if((f|0)==-1)break l;if(o+48>>>0<=k>>>0){r=f;break u}if(r=i[24374],r=r+(n-k|0)&0-r,(Di(r)|0)==-1)break l;k=r+k|0,r=f;break u}if((r|0)!=-1)break u}i[24365]=i[24365]|4}if(r=Di(e),f=Di(0),(r|0)==-1|(f|0)==-1|f>>>0<=r>>>0||(k=f-r|0,k>>>0<=o+40>>>0))break f}f=i[24362]+k|0,i[24362]=f,f>>>0>k0[24363]&&(i[24363]=f);u:{if(n=i[24260],n){for(f=97464;;){if(e=i[f>>2],A=i[f+4>>2],(e+A|0)==(r|0))break u;if(f=i[f+8>>2],!f)break}break n}for(f=i[24258],f>>>0<=r>>>0&&f||(i[24258]=r),f=0,i[24367]=k,i[24366]=r,i[24262]=-1,i[24263]=i[24372],i[24369]=0;e=f<<3,A=e+97056|0,i[e+97064>>2]=A,i[e+97068>>2]=A,f=f+1|0,(f|0)!=32;);f=k-40|0,e=-8-r&7,A=f-e|0,i[24257]=A,e=e+r|0,i[24260]=e,i[e+4>>2]=A|1,i[(f+r|0)+4>>2]=40,i[24261]=i[24376];break k}if(i[f+12>>2]&8|(r>>>0<=n>>>0|e>>>0>n>>>0))break n;i[f+4>>2]=A+k,f=-8-n&7,e=f+n|0,i[24260]=e,r=i[24257]+k|0,f=r-f|0,i[24257]=f,i[e+4>>2]=f|1,i[(r+n|0)+4>>2]=40,i[24261]=i[24376];break k}f=0;break r}f=0;break e}k0[24258]>r>>>0&&(i[24258]=r),A=r+k|0,f=97464;n:{for(;;){if(e=i[f>>2],(e|0)!=(A|0)){if(f=i[f+8>>2],f)continue;break n}break}if(!(s[f+12|0]&8))break A}for(f=97464;;){n:{if(e=i[f>>2],e>>>0<=n>>>0&&(A=e+i[f+4>>2]|0,A>>>0>n>>>0))break n;f=i[f+8>>2];continue}break}for(f=k-40|0,e=-8-r&7,t=f-e|0,i[24257]=t,e=e+r|0,i[24260]=e,i[e+4>>2]=t|1,i[(f+r|0)+4>>2]=40,i[24261]=i[24376],f=(A+(39-A&7)|0)-47|0,e=f>>>0<n+16>>>0?n:f,i[e+4>>2]=27,f=i[24369],i[e+16>>2]=i[24368],i[e+20>>2]=f,f=i[24367],i[e+8>>2]=i[24366],i[e+12>>2]=f,i[24368]=e+8,i[24367]=k,i[24366]=r,i[24369]=0,f=e+24|0;i[f+4>>2]=7,r=f+8|0,f=f+4|0,r>>>0<A>>>0;);if((e|0)==(n|0))break k;i[e+4>>2]=i[e+4>>2]&-2,r=e-n|0,i[n+4>>2]=r|1,i[e>>2]=r;n:{if(r>>>0<=255){f=(r&-8)+97056|0,e=i[24254],r=1<<(r>>>3);t:{if(!(e&r)){i[24254]=e|r,e=f;break t}e=i[f+8>>2]}i[f+8>>2]=n,i[e+12>>2]=n,A=8,r=12;break n}f=31,r>>>0<=16777215&&(f=$2(r>>>8|0),f=((r>>>38-f&1)-(f<<1)|0)+62|0),i[n+28>>2]=f,i[n+16>>2]=0,i[n+20>>2]=0,e=(f<<2)+97320|0;t:{A=i[24255],k=1<<f;o:{if(!(A&k)){i[24255]=A|k,i[e>>2]=n;break o}for(f=r<<((f|0)!=31?25-(f>>>1|0)|0:0),A=i[e>>2];;){if(e=A,(r|0)==(i[e+4>>2]&-8))break t;if(A=f>>>29|0,f=f<<1,k=(A&4)+e|0,A=i[k+16>>2],!A)break}i[k+16>>2]=n}i[n+24>>2]=e,e=n,f=e,A=12,r=8;break n}f=i[e+8>>2],i[f+12>>2]=n,i[e+8>>2]=n,i[n+8>>2]=f,f=0,A=12,r=24}i[A+n>>2]=e,i[r+n>>2]=f}if(f=i[24257],f>>>0<=o>>>0)break f;e=f-o|0,i[24257]=e,f=i[24260],r=f+o|0,i[24260]=r,i[r+4>>2]=e|1,i[f+4>>2]=o|3,f=f+8|0;break i}i[23944]=48,f=0;break i}i[f>>2]=r,i[f+4>>2]=i[f+4>>2]+k,u=(-8-r&7)+r|0,i[u+4>>2]=o|3,k=e+(-8-e&7)|0,n=o+u|0,t=k-n|0;A:{if(i[24260]==(k|0)){i[24260]=n,f=i[24257]+t|0,i[24257]=f,i[n+4>>2]=f|1;break A}if(i[24259]==(k|0)){i[24259]=n,f=i[24256]+t|0,i[24256]=f,i[n+4>>2]=f|1,i[f+n>>2]=f;break A}if(f=i[k+4>>2],(f&3)==1){h=f&-8,r=i[k+12>>2];f:{if(f>>>0<=255){if(e=i[k+8>>2],(e|0)==(r|0)){v=97016,Z=i[24254]&a0(-2,f>>>3|0),i[v>>2]=Z;break f}i[e+12>>2]=r,i[r+8>>2]=e;break f}o=i[k+24>>2];k:{if((r|0)!=(k|0)){f=i[k+8>>2],i[f+12>>2]=r,i[r+8>>2]=f;break k}n:{if(f=i[k+20>>2],f)e=k+20|0;else{if(f=i[k+16>>2],!f)break n;e=k+16|0}for(;A=e,r=f,e=f+20|0,f=i[f+20>>2],!(!f&&(e=r+16|0,f=i[r+16>>2],!f)););i[A>>2]=0;break k}r=0}if(!o)break f;f=i[k+28>>2],e=(f<<2)+97320|0;k:{if(i[e>>2]==(k|0)){if(i[e>>2]=r,r)break k;v=97020,Z=i[24255]&a0(-2,f),i[v>>2]=Z;break f}if(i[o+(i[o+16>>2]==(k|0)?16:20)>>2]=r,!r)break f}if(i[r+24>>2]=o,f=i[k+16>>2],f&&(i[r+16>>2]=f,i[f+24>>2]=r),f=i[k+20>>2],!f)break f;i[r+20>>2]=f,i[f+24>>2]=r}t=t+h|0,k=k+h|0,f=i[k+4>>2]}if(i[k+4>>2]=f&-2,i[n+4>>2]=t|1,i[n+t>>2]=t,t>>>0<=255){f=(t&-8)+97056|0,e=i[24254],r=1<<(t>>>3);f:{if(!(e&r)){i[24254]=e|r,e=f;break f}e=i[f+8>>2]}i[f+8>>2]=n,i[e+12>>2]=n,i[n+12>>2]=f,i[n+8>>2]=e;break A}r=31,t>>>0<=16777215&&(f=$2(t>>>8|0),r=((t>>>38-f&1)-(f<<1)|0)+62|0),i[n+28>>2]=r,i[n+16>>2]=0,i[n+20>>2]=0,f=(r<<2)+97320|0;f:{e=i[24255],A=1<<r;k:{if(!(e&A)){i[24255]=e|A,i[f>>2]=n;break k}for(r=t<<((r|0)!=31?25-(r>>>1|0)|0:0),e=i[f>>2];;){if(f=e,(i[f+4>>2]&-8)==(t|0))break f;if(e=r>>>29|0,r=r<<1,A=(e&4)+f|0,e=i[A+16>>2],!e)break}i[A+16>>2]=n}i[n+24>>2]=f,i[n+12>>2]=n,i[n+8>>2]=n;break A}e=i[f+8>>2],i[e+12>>2]=n,i[f+8>>2]=n,i[n+24>>2]=0,i[n+12>>2]=f,i[n+8>>2]=e}f=u+8|0;break i}e:{if(!u)break e;e=i[A+28>>2],r=(e<<2)+97320|0;A:{if(i[r>>2]==(A|0)){if(i[r>>2]=f,f)break A;t=a0(-2,e)&t,i[24255]=t;break e}if(i[u+(i[u+16>>2]==(A|0)?16:20)>>2]=f,!f)break e}if(i[f+24>>2]=u,e=i[A+16>>2],e&&(i[f+16>>2]=e,i[e+24>>2]=f),e=i[A+20>>2],!e)break e;i[f+20>>2]=e,i[e+24>>2]=f}e:{if(n>>>0<=15){f=n+o|0,i[A+4>>2]=f|3,f=f+A|0,i[f+4>>2]=i[f+4>>2]|1;break e}if(i[A+4>>2]=o|3,k=A+o|0,i[k+4>>2]=n|1,i[n+k>>2]=n,n>>>0<=255){f=(n&-8)+97056|0,e=i[24254],r=1<<(n>>>3);A:{if(!(e&r)){i[24254]=e|r,e=f;break A}e=i[f+8>>2]}i[f+8>>2]=k,i[e+12>>2]=k,i[k+12>>2]=f,i[k+8>>2]=e;break e}f=31,n>>>0<=16777215&&(f=$2(n>>>8|0),f=((n>>>38-f&1)-(f<<1)|0)+62|0),i[k+28>>2]=f,i[k+16>>2]=0,i[k+20>>2]=0,e=(f<<2)+97320|0;A:{r=1<<f;f:{if(!(r&t)){i[24255]=r|t,i[e>>2]=k,i[k+24>>2]=e;break f}for(f=n<<((f|0)!=31?25-(f>>>1|0)|0:0),e=i[e>>2];;){if(r=e,(i[e+4>>2]&-8)==(n|0))break A;if(t=f>>>29|0,f=f<<1,t=e+(t&4)|0,e=i[t+16>>2],!e)break}i[t+16>>2]=k,i[k+24>>2]=r}i[k+12>>2]=k,i[k+8>>2]=k;break e}f=i[r+8>>2],i[f+12>>2]=k,i[r+8>>2]=k,i[k+24>>2]=0,i[k+12>>2]=r,i[k+8>>2]=f}f=A+8|0;break i}r:{if(!h)break r;e=i[r+28>>2],A=(e<<2)+97320|0;e:{if(i[A>>2]==(r|0)){if(i[A>>2]=f,f)break e;v=97020,Z=a0(-2,e)&_,i[v>>2]=Z;break r}if(i[h+(i[h+16>>2]==(r|0)?16:20)>>2]=f,!f)break r}if(i[f+24>>2]=h,e=i[r+16>>2],e&&(i[f+16>>2]=e,i[e+24>>2]=f),e=i[r+20>>2],!e)break r;i[f+20>>2]=e,i[e+24>>2]=f}r:{if(n>>>0<=15){f=n+o|0,i[r+4>>2]=f|3,f=f+r|0,i[f+4>>2]=i[f+4>>2]|1;break r}if(i[r+4>>2]=o|3,t=r+o|0,i[t+4>>2]=n|1,i[n+t>>2]=n,u){f=(u&-8)+97056|0,A=i[24259],e=1<<(u>>>3);e:{if(!(e&k)){i[24254]=e|k,e=f;break e}e=i[f+8>>2]}i[f+8>>2]=A,i[e+12>>2]=A,i[A+12>>2]=f,i[A+8>>2]=e}i[24259]=t,i[24256]=n}f=r+8|0}return B=w+16|0,f|0}function gs(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=Y(0),h=Y(0),w=0,_=0,v=0,Z=Y(0),p=Y(0),W=0,C=0,I=0,y=0,E=0,J=Y(0),R=Y(0),D=Y(0),z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0;e=B-112|0,B=e,A=i[r>>2],v=i[A+28>>2],_=i[A+24>>2],n=U(136),i[n>>2]=72792,i[n+4>>2]=0,i[n+8>>2]=0,B0(n+20|0,0,104),A=i[n+4>>2],t=A+1|0,i[n+4>>2]=t,i[n+56>>2]=0,i[n+60>>2]=0,i[n+44>>2]=99,i[n+48>>2]=99,i[n+32>>2]=3795,w=n- -64|0,i[w>>2]=0,i[w+4>>2]=0,i[n+132>>2]=0,i[n+124>>2]=0,i[n+128>>2]=0,i[n+84>>2]=1,i[n+88>>2]=1,i[n+72>>2]=n+76,i[n+92>>2]=0,i[n+96>>2]=0,i[n+100>>2]=0,i[n+104>>2]=0,i[n+108>>2]=0,i[n+112>>2]=0,l[n+113|0]=0,l[n+114|0]=0,l[n+115|0]=0,l[n+116|0]=0,l[n+117|0]=0,l[n+118|0]=0,l[n+119|0]=0,l[n+120|0]=0,C=n+12|0,i[n+12>>2]=C,i[n+8>>2]=i[n+8>>2]+1,i[n+4>>2]=A,i[n+16>>2]=n,t||(V[i[i[n>>2]+8>>2]](n),g(n)),A=i[k+4>>2],t=A>>>0<4,i[C+36>>2]=A,i[C+32>>2]=0,i[C+28>>2]=v,i[C+24>>2]=_,d=_-1|0,A=A<<3,I=(t?16908801>>>A|0:0)&3,w=(d+I|0)/(I|0)|0,q=v-1|0,o=(t?16843265>>>A|0:0)&3,A=(q+o|0)/(o|0)|0,j=s[k+8|0],L=i[i[r>>2]+36>>2];i:{r:{e:{A:{f:{k:{n:{if(!J0(C,0,_,v,8)||!J0(C,1,w,A,8)||!J0(C,2,w,A,8)||(A=j&1,A&&!J0(C,6,_,v,8)))break n;if(i[e+108>>2]=0,i[e+104>>2]=0,i[e+100>>2]=0,i[e+96>>2]=0,i[e+92>>2]=0,y=v0(i[r>>2],10,e+92|0),z=v0(C,0,e+100|0),a=v0(C,1,e+108|0),S=v0(C,2,e+104|0),A&&(H=v0(C,6,e+96|0)),i[e+84>>2]=-1113159960,i[e+76>>2]=1056964608,i[e+80>>2]=-1093247418,i[e+68>>2]=-1096180881,i[e+72>>2]=1056964608,i[e+60>>2]=1038710997,i[e+64>>2]=-1104361250,i[e+52>>2]=1050220167,i[e+56>>2]=1058424226,l[e+48|0]=1,E=s[k+26|0],Kr(e+8|0,Q[k+24>>1],Q[k+20>>1]),r=i[e+44>>2],i[e+80>>2]=i[e+40>>2],i[e+84>>2]=r,r=i[e+36>>2],i[e+72>>2]=i[e+32>>2],i[e+76>>2]=r,A=i[e+28>>2],r=e- -64|0,i[r>>2]=i[e+24>>2],i[r+4>>2]=A,r=i[e+20>>2],i[e+56>>2]=i[e+16>>2],i[e+60>>2]=r,r=i[e+12>>2],i[e+48>>2]=i[e+8>>2],i[e+52>>2]=r,w=(L|0)==11?4:3,(v|0)<=0)break k;if((_|0)<=0)break f;t=0;t:{if(E&1)for(;;){for(k=m(i[e+92>>2],t)+y|0,r=0;;){W=(z+m(i[e+100>>2],t)|0)+r|0,u=Y(Y(Y(Y(s[k+2|0])*Z0[e+60>>2])+Y(Y(Y(s[k|0])*Z0[e+52>>2])+Y(Z0[e+56>>2]*Y(s[k+1|0]))))+Y(.5));o:{if(Y(d0(u))<Y(2147483648)){A=~~u;break o}A=-2147483648}if(A=(A|0)>=255?255:A,l[W|0]=(A|0)>0?A:0,k=k+w|0,r=r+1|0,(_|0)==(r|0))break}if(t=t+1|0,(v|0)==(t|0))break t}for(;;){for(k=m(i[e+92>>2],t)+y|0,A=0;;){W=(z+m(i[e+100>>2],t)|0)+A|0,u=Y(Y(Y(Y(Y(s[k+2|0])*Z0[e+60>>2])+Y(Y(Y(s[k|0])*Z0[e+52>>2])+Y(Z0[e+56>>2]*Y(s[k+1|0]))))*Y(.8554700016975403))+Y(.5));o:{if(Y(d0(u))<Y(2147483648)){r=~~u;break o}r=-2147483648}if(l[W|0]=(r|0)<0?16:(r>>>0>=219?219:r)+16|0,k=k+w|0,A=A+1|0,(_|0)==(A|0))break}if(t=t+1|0,(v|0)==(t|0))break}}if(k=(o|0)==1,(I|0)!=1|(o|0)!=1)break A;if((v|0)<=0)break r;if(r=0,E&1)for(;;){for(k=m(i[e+92>>2],r)+y|0,A=0;;){o=i[e+104>>2],u=Z0[e+84>>2],h=Z0[e+76>>2],p=Z0[e+80>>2],W=(m(i[e+108>>2],r)+a|0)+A|0,Z=Y(s[k+2|0]),J=Y(s[k|0]),R=Y(s[k+1|0]),D=Y(Y(Y(Y(Z*Z0[e+72>>2])+Y(Y(J*Z0[e+64>>2])+Y(Z0[e+68>>2]*R)))+Y(128))+Y(.5));t:{if(Y(d0(D))<Y(2147483648)){t=~~D;break t}t=-2147483648}t=(t|0)>=255?255:t,l[W|0]=(t|0)>0?t:0,o=(m(r,o)+S|0)+A|0,u=Y(Y(Y(Y(Z*u)+Y(Y(J*h)+Y(p*R)))+Y(128))+Y(.5));t:{if(Y(d0(u))<Y(2147483648)){t=~~u;break t}t=-2147483648}if(t=(t|0)>=255?255:t,l[o|0]=(t|0)>0?t:0,k=k+w|0,A=A+1|0,(_|0)==(A|0))break}if(r=r+1|0,(v|0)==(r|0))break e}for(;;){for(k=m(i[e+92>>2],r)+y|0,A=0;;){o=i[e+104>>2],u=Z0[e+84>>2],h=Z0[e+76>>2],p=Z0[e+80>>2],W=(m(i[e+108>>2],r)+a|0)+A|0,Z=Y(s[k+2|0]),J=Y(s[k|0]),R=Y(s[k+1|0]),D=Y(Y(Y(Y(Y(Z*Z0[e+72>>2])+Y(Y(J*Z0[e+64>>2])+Y(Z0[e+68>>2]*R)))*Y(.875))+Y(128))+Y(.5));t:{if(Y(d0(D))<Y(2147483648)){t=~~D;break t}t=-2147483648}t=(t|0)>=255?255:t,l[W|0]=(t|0)>0?t:0,o=(m(r,o)+S|0)+A|0,u=Y(Y(Y(Y(Y(Z*u)+Y(Y(J*h)+Y(p*R)))*Y(.875))+Y(128))+Y(.5));t:{if(Y(d0(u))<Y(2147483648)){t=~~u;break t}t=-2147483648}if(t=(t|0)>=255?255:t,l[o|0]=(t|0)>0?t:0,k=k+w|0,A=A+1|0,(_|0)==(A|0))break}if(r=r+1|0,(v|0)==(r|0))break}break e}if(i[f>>2]=0,i[f+4>>2]=0,f=i[n+4>>2],i[n+4>>2]=f-1,f)break i;V[i[i[n>>2]+8>>2]](n),g(n);break i}if(k=(o|0)==1,(I|0)!=1)break A;if(k)break r;break A}if(k=(o|0)==1,(I|0)!=1)break A;if(k)break e}if(r=(I|0)!=2,!(r|(o|0)!=2)){z=v&-2;A:{if((z|0)<=0||(A0=_&-2,(A0|0)<=0))break A;for(n0=w<<1,h0=w+2|0,f0=w+1|0,t=0;;){for(I=t>>>1|0,k=m(i[e+92>>2],t)+y|0,r=0;;){o=i[e+92>>2],A=o+k|0,o=(o+w|0)+k|0,h=Y(((s[A+2|0]+(s[k+h0|0]+s[k+2|0]|0)|0)+s[o+2|0]>>>2&255)>>>0),p=Y((s[o|0]+(s[A|0]+(s[k+w|0]+s[k|0]|0)|0)>>>2&255)>>>0),Z=Y((s[o+1|0]+(s[A+1|0]+(s[k+f0|0]+s[k+1|0]|0)|0)>>>2&255)>>>0),u=Y(Y(h*Z0[e+84>>2])+Y(Y(p*Z0[e+76>>2])+Y(Z0[e+80>>2]*Z))),h=Y(Y(h*Z0[e+72>>2])+Y(Y(p*Z0[e+64>>2])+Y(Z0[e+68>>2]*Z))),o=r>>>1|0,A=o+(m(I,i[e+104>>2])+S|0)|0,W=o+(m(I,i[e+108>>2])+a|0)|0;f:{if(!(E&1)){u=Y(Y(u*Y(.875))+Y(128)),h=Y(Y(Y(h*Y(.875))+Y(128))+Y(.5));k:{if(Y(d0(h))<Y(2147483648)){o=~~h;break k}o=-2147483648}o=(o|0)>=255?255:o,o=(o|0)>0?o:0;break f}u=Y(u+Y(128)),h=Y(Y(h+Y(128))+Y(.5));k:{if(Y(d0(h))<Y(2147483648)){o=~~h;break k}o=-2147483648}o=(o|0)>=255?255:o,o=(o|0)>0?o:0}l[W|0]=o,k=k+n0|0,W=A,u=Y(u+Y(.5));f:{if(Y(d0(u))<Y(2147483648)){o=~~u;break f}o=-2147483648}if(A=(o|0)>=255?255:o,l[W|0]=(A|0)>0?A:0,r=r+2|0,!((A0|0)>(r|0)))break}if(t=t+2|0,!((z|0)>(t|0)))break}}if(!(!(_&1)|(v|0)<=0))for(r=d>>1,I=r+S|0,z=r+a|0,k=m(w,d)+y|0,r=0;;){A=s[k|0];A:{if((r|1)<(v|0)){o=i[e+92>>2]+k|0,A=s[o|0]+(A&255)>>>1|0,t=s[o+2|0]+s[k+2|0]>>>1|0,o=s[o+1|0]+s[k+1|0]>>>1|0;break A}t=s[k+2|0],o=s[k+1|0]}h=Y((t&255)>>>0),p=Y((A&255)>>>0),Z=Y((o&255)>>>0),u=Y(Y(h*Z0[e+84>>2])+Y(Y(p*Z0[e+76>>2])+Y(Z0[e+80>>2]*Z))),h=Y(Y(h*Z0[e+72>>2])+Y(Y(p*Z0[e+64>>2])+Y(Z0[e+68>>2]*Z))),t=r>>>1|0,A=I+m(t,i[e+104>>2])|0,o=z+m(t,i[e+108>>2])|0;A:{if(E&1){u=Y(u+Y(128)),h=Y(Y(h+Y(128))+Y(.5));f:{if(Y(d0(h))<Y(2147483648)){t=~~h;break f}t=-2147483648}t=(t|0)>=255?255:t,t=(t|0)>0?t:0;break A}u=Y(Y(u*Y(.875))+Y(128)),h=Y(Y(Y(h*Y(.875))+Y(128))+Y(.5));f:{if(Y(d0(h))<Y(2147483648)){t=~~h;break f}t=-2147483648}t=(t|0)>=255?255:t,t=(t|0)>0?t:0}l[o|0]=t,o=A,u=Y(u+Y(.5));A:{if(Y(d0(u))<Y(2147483648)){t=~~u;break A}t=-2147483648}if(A=(t|0)>=255?255:t,l[o|0]=(A|0)>0?A:0,k=(i[e+92>>2]<<1)+k|0,r=r+2|0,!((v|0)>(r|0)))break}if(!(v&1)|(_|0)<=0)break e;for(z=w<<1,I=q>>1,A0=w+2|0,n0=w+1|0,k=m(i[e+92>>2],q)+y|0,r=0;;){A=s[k|0],h0=m(I,i[e+104>>2])+S|0,f0=r>>>1|0,t=f0+(m(I,i[e+108>>2])+a|0)|0;A:{if((_|0)>(r|1)){A=s[k+w|0]+(A&255)>>>1|0,q=s[k+A0|0]+s[k+2|0]>>>1|0,o=s[k+n0|0]+s[k+1|0]>>>1|0;break A}q=s[k+2|0],o=s[k+1|0]}h=Y((q&255)>>>0),p=Y((A&255)>>>0),Z=Y(o>>>0),u=Y(Y(h*Z0[e+84>>2])+Y(Y(p*Z0[e+76>>2])+Y(Z0[e+80>>2]*Z))),h=Y(Y(h*Z0[e+72>>2])+Y(Y(p*Z0[e+64>>2])+Y(Z0[e+68>>2]*Z))),A=h0+f0|0;A:{if(E&1){u=Y(u+Y(128)),h=Y(Y(h+Y(128))+Y(.5));f:{if(Y(d0(h))<Y(2147483648)){o=~~h;break f}o=-2147483648}o=(o|0)>=255?255:o,o=(o|0)>0?o:0;break A}u=Y(Y(u*Y(.875))+Y(128)),h=Y(Y(Y(h*Y(.875))+Y(128))+Y(.5));f:{if(Y(d0(h))<Y(2147483648)){o=~~h;break f}o=-2147483648}o=(o|0)>=255?255:o,o=(o|0)>0?o:0}l[t|0]=o,o=A,u=Y(u+Y(.5));A:{if(Y(d0(u))<Y(2147483648)){t=~~u;break A}t=-2147483648}if(A=(t|0)>=255?255:t,l[o|0]=(A|0)>0?A:0,k=k+z|0,r=r+2|0,!((_|0)>(r|0)))break}break e}if(r|k^1|(v|0)<=0|(_|0)<=0)break e;if(w=w<<1,r=0,E&1)for(;;){for(k=m(i[e+92>>2],r)+y|0,t=0;;){o=i[e+104>>2],u=Z0[e+84>>2],h=Z0[e+76>>2],p=Z0[e+80>>2],E=t>>>1|0,W=E+(m(i[e+108>>2],r)+a|0)|0,Z=Y(s[k+2|0]),J=Y(s[k|0]),R=Y(s[k+1|0]),D=Y(Y(Y(Y(Z*Z0[e+72>>2])+Y(Y(J*Z0[e+64>>2])+Y(Z0[e+68>>2]*R)))+Y(128))+Y(.5));A:{if(Y(d0(D))<Y(2147483648)){A=~~D;break A}A=-2147483648}A=(A|0)>=255?255:A,l[W|0]=(A|0)>0?A:0,o=E+(m(r,o)+S|0)|0,u=Y(Y(Y(Y(Z*u)+Y(Y(J*h)+Y(p*R)))+Y(128))+Y(.5));A:{if(Y(d0(u))<Y(2147483648)){A=~~u;break A}A=-2147483648}if(A=(A|0)>=255?255:A,l[o|0]=(A|0)>0?A:0,k=k+w|0,t=t+2|0,!((_|0)>(t|0)))break}if(r=r+1|0,(v|0)==(r|0))break e}for(;;){for(k=m(i[e+92>>2],r)+y|0,t=0;;){o=i[e+104>>2],u=Z0[e+84>>2],h=Z0[e+76>>2],p=Z0[e+80>>2],E=t>>>1|0,W=E+(m(i[e+108>>2],r)+a|0)|0,Z=Y(s[k+2|0]),J=Y(s[k|0]),R=Y(s[k+1|0]),D=Y(Y(Y(Y(Y(Z*Z0[e+72>>2])+Y(Y(J*Z0[e+64>>2])+Y(Z0[e+68>>2]*R)))*Y(.875))+Y(128))+Y(.5));A:{if(Y(d0(D))<Y(2147483648)){A=~~D;break A}A=-2147483648}A=(A|0)>=255?255:A,l[W|0]=(A|0)>0?A:0,o=E+(m(r,o)+S|0)|0,u=Y(Y(Y(Y(Y(Z*u)+Y(Y(J*h)+Y(p*R)))*Y(.875))+Y(128))+Y(.5));A:{if(Y(d0(u))<Y(2147483648)){A=~~u;break A}A=-2147483648}if(A=(A|0)>=255?255:A,l[o|0]=(A|0)>0?A:0,k=k+w|0,t=t+2|0,!((_|0)>(t|0)))break}if(r=r+1|0,(v|0)==(r|0))break}}if(!(j&1)|(v|0)<=0|(_|0)<=0)break r;if((L|0)!=11){for(w=_&2147483644,A=_&3,r=0,_=_>>>0<4;;){if(k=0,t=0,!_)for(;l[(m(i[e+96>>2],r)+k|0)+H|0]=255,l[((m(i[e+96>>2],r)+k|0)+H|0)+1|0]=255,l[((m(i[e+96>>2],r)+k|0)+H|0)+2|0]=255,l[((m(i[e+96>>2],r)+k|0)+H|0)+3|0]=255,k=k+4|0,t=t+4|0,(w|0)!=(t|0););if(t=0,A)for(;l[(m(i[e+96>>2],r)+k|0)+H|0]=255,k=k+1|0,t=t+1|0,(A|0)!=(t|0););if(r=r+1|0,(v|0)==(r|0))break}break r}for(A=_&2147483646,_=_&1,r=0;;){if(k=0,t=0,d)for(;l[(m(i[e+96>>2],r)+k|0)+H|0]=s[((m(i[e+92>>2],r)+y|0)+(k<<2)|0)+3|0],w=k|1,l[(w+m(i[e+96>>2],r)|0)+H|0]=s[((m(i[e+92>>2],r)+y|0)+(w<<2)|0)+3|0],k=k+2|0,t=t+2|0,(A|0)!=(t|0););if(_&&(l[(m(i[e+96>>2],r)+k|0)+H|0]=s[((m(i[e+92>>2],r)+y|0)+(k<<2)|0)+3|0]),r=r+1|0,(v|0)==(r|0))break}}i[f+4>>2]=n,i[f>>2]=C}B=e+112|0}function sk(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=Y(0),S=0;k=B-144|0,B=k,A=B0(k,0,144),i[A+76>>2]=-1,i[A+44>>2]=f,i[A+32>>2]=1093,i[A+84>>2]=f,k=e,J=r,f=0,h=B-304|0,B=h;i:{r:{if(!i[A+4>>2]&&(g6(A),!i[A+4>>2]))break r;if(e=s[k|0],!e)break i;e:{A:{f:{k:{n:{for(;;){t:{e=e&255;o:{if((e|0)==32|e-9>>>0<5){for(;e=k,k=k+1|0,r=s[e+1|0],!!((r|0)==32|r-9>>>0<5););for(a4(A,0,0);;){r=i[A+4>>2];u:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break u}r=I2(A)}if(!((r|0)==32|r-9>>>0<5))break}k=i[A+4>>2],r=i[A+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(k=k-1|0,i[A+4>>2]=k),r=k-i[A+44>>2]|0,k=r,t=p+i[A+124>>2]|0,n=r>>31,r=_+i[A+120>>2]|0,t=n+(r>>>0<_>>>0?t+1|0:t)|0,_=r+k|0,p=_>>>0<r>>>0?t+1|0:t;break o}u:{l:{s:{if((e|0)==37){if(e=s[k+1|0],(e|0)==42)break s;if((e|0)!=37)break l}a4(A,0,0);h:{if(s[k|0]==37){for(;;){e=i[A+4>>2];w:{if((e|0)!=i[A+104>>2]){i[A+4>>2]=e+1,e=s[e|0];break w}e=I2(A)}if(!((e|0)==32|e-9>>>0<5))break}k=k+1|0;break h}if(e=i[A+4>>2],(e|0)!=i[A+104>>2]){i[A+4>>2]=e+1,e=s[e|0];break h}e=I2(A)}if(s[k|0]!=(e|0)){if(f=i[A+116>>2],(f|0)>0?f=1:f=(f|0)>=0,f&&(i[A+4>>2]=i[A+4>>2]-1),E|(e|0)>=0)break i;break r}e=i[A+4>>2]-i[A+44>>2]|0,n=e,r=p+i[A+124>>2]|0,o=e>>31,e=_+i[A+120>>2]|0,u=o+(e>>>0<_>>>0?r+1|0:r)|0,_=e+n|0,p=_>>>0<e>>>0?u+1|0:u,e=k;break o}w=0,e=k+2|0;break u}if(e=e-48|0,!(s[k+2|0]!=36|e>>>0>9)){r=B-16|0,i[r+12>>2]=J,e=e>>>0>1?((e<<2)+J|0)-4|0:J,i[r+8>>2]=e+4,w=i[e>>2],e=k+3|0;break u}w=i[J>>2],J=J+4|0,e=k+1|0}if(I=0,n=0,k=s[e|0],k-48>>>0<=9)for(;n=(m(n,10)+k|0)-48|0,k=s[e+1|0],e=e+1|0,k-48>>>0<10;);(k|0)==109&&(Z=0,I=(w|0)!=0,k=s[e+1|0],f=0,e=e+1|0),o=e,e=e+1|0,r=3,t=I;u:{l:switch((k&255)-65|0){case 39:r=s[o+1|0]==104,e=r?o+2|0:e,r=r?-2:-1;break u;case 43:r=s[o+1|0]==108,e=r?o+2|0:e,r=r?3:1;break u;case 51:case 57:r=1;break u;case 11:r=2;break u;case 41:break u;case 0:case 2:case 4:case 5:case 6:case 18:case 23:case 26:case 32:case 34:case 35:case 36:case 37:case 38:case 40:case 45:case 46:case 47:case 50:case 52:case 55:break l;default:break A}r=0,e=o}o=r,r=s[e|0],k=(r&47)==3,R=k?1:o,W=k?r|32:r;u:{if((W|0)==91)break u;l:{if((W|0)!=110){if((W|0)!=99)break l;n=(n|0)<=1?1:n;break u}a9(w,R,_,p);break o}for(a4(A,0,0);;){r=i[A+4>>2];l:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break l}r=I2(A)}if(!((r|0)==32|r-9>>>0<5))break}k=i[A+4>>2],r=i[A+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(k=k-1|0,i[A+4>>2]=k),r=k-i[A+44>>2]|0,k=r,t=p+i[A+124>>2]|0,o=r>>31,r=_+i[A+120>>2]|0,p=o+(r>>>0<_>>>0?t+1|0:t)|0,_=r+k|0,p=_>>>0<r>>>0?p+1|0:p}v=n,C=n>>31,a4(A,n,C),r=i[A+4>>2];u:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1;break u}if((I2(A)|0)<0)break f}r=i[A+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(i[A+4>>2]=i[A+4>>2]-1),k=16;u:{l:{s:{h:{w:switch(W-88|0){default:if(r=W-65|0,r>>>0>6|!(1<<r&113))break u;case 9:case 13:case 14:case 15:if(tk(h+8|0,A,R,0),r=i[A+4>>2]-i[A+44>>2]|0,i[A+120>>2]!=(0-r|0)|i[A+124>>2]!=(0-((r>>31)+((r|0)!=0)|0)|0))break s;break k;case 3:case 11:case 27:if((W|16)==115){if(B0(h+32|0,-1,257),l[h+32|0]=0,(W|0)!=115)break l;l[h+65|0]=0,l[h+46|0]=0,X[h+42>>1]=0,X[h+44>>1]=0;break l}k=s[e+1|0],t=(k|0)==94,B0(h+32|0,t,257),l[h+32|0]=0,r=t?e+2|0:e+1|0;_:{v:{Z:{if(e=s[(t?2:1)+e|0],(e|0)!=45){if((e|0)==93)break Z;u=(k|0)!=94,e=r;break _}u=(k|0)!=94,l[h+78|0]=u;break v}u=(k|0)!=94,l[h+126|0]=u}e=r+1|0}for(;;){r=s[e|0];_:{if((r|0)!=45){if(!r)break f;if((r|0)==93)break l;break _}if(r=45,t=s[e+1|0],!t|(t|0)==93)break _;o=e+1|0,k=s[e-1|0];v:{if(t>>>0<=k>>>0){r=t;break v}for(;k=k+1|0,l[k+(h+32|0)|0]=u,r=s[o|0],k>>>0<r>>>0;);}e=o}l[(r+h|0)+33|0]=u,e=e+1|0}case 23:k=8;break h;case 12:case 29:k=10;break h;case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 22:case 25:case 26:case 28:case 30:case 31:break u;case 0:case 24:case 32:break h;case 17:break w}k=0}n=0,t=0,o=0,u=0,C=0,D=B-16|0,B=D;h:{if(!((k|0)!=1&k>>>0<=36)){i[23944]=28;break h}for(;;){r=i[A+4>>2];w:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break w}r=I2(A)}if(!((r|0)==32|r-9>>>0<5))break}w:{_:switch(r-43|0){case 0:case 2:break _;default:break w}if(C=(r|0)==45?-1:0,r=i[A+4>>2],(r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break w}r=I2(A)}w:{_:{v:{Z:{if(!((k|0)!=0&(k|0)!=16|(r|0)!=48)){r=i[A+4>>2];m:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break m}r=I2(A)}if((r&-33)==88){k=16,r=i[A+4>>2];m:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break m}r=I2(A)}if(s[r+56209|0]<16)break v;r=i[A+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(i[A+4>>2]=i[A+4>>2]-1),a4(A,0,0);break h}if(k)break Z;k=8;break v}if(k=k||10,k>>>0>s[r+56209|0])break Z;r=i[A+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(i[A+4>>2]=i[A+4>>2]-1),a4(A,0,0),i[23944]=28;break h}if((k|0)!=10)break v;if(o=r-48|0,o>>>0<=9){for(r=0;;){r=m(r,10)+o|0,n=r>>>0<429496729,k=i[A+4>>2];Z:{if((k|0)!=i[A+104>>2]){i[A+4>>2]=k+1,k=s[k|0];break Z}k=I2(A)}if(o=k-48|0,!(n&o>>>0<=9))break}n=r}if(o>>>0>9)break w;for(k=q0(n,0,10,0),v=w0;;){Z:{t=v,n=k+o|0,t=n>>>0<k>>>0?t+1|0:t,k=(t|0)==429496729&n>>>0<2576980378|t>>>0<429496729,r=i[A+4>>2];m:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break m}r=I2(A)}if(u=r-48|0,!(k&u>>>0<=9)){if(u>>>0<=9)break Z;break w}if(k=q0(n,t,10,0),v=w0,o=u,(v|0)==-1&(o^-1)>>>0>=k>>>0|(v|0)!=-1)continue}break}k=10;break _}if(k-1&k){if(u=s[r+56209|0],u>>>0<k>>>0){for(;;){o=m(k,o)+u|0,n=o>>>0<119304647,r=i[A+4>>2];v:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break v}r=I2(A)}if(u=s[r+56209|0],!(n&u>>>0<k>>>0))break}n=o}if(k>>>0<=u>>>0)break _;for(;;){if(o=q0(n,t,k,0),v=w0,u=u&255,(v|0)==-1&(u^-1)>>>0<o>>>0)break _;t=v,n=o+u|0,t=n>>>0<o>>>0?t+1|0:t,r=i[A+4>>2];v:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break v}r=I2(A)}if(u=s[r+56209|0],k>>>0<=u>>>0)break _;if(U1(D,k,0,0,0,n,t,0,0),!!(i[D+8>>2]|i[D+12>>2]))break}break _}if(v=l[(m(k,23)>>>5&7)+56465|0],o=s[r+56209|0],o>>>0<k>>>0){for(;;){r=u<<v,u=r|o,n=r>>>0<134217728,r=i[A+4>>2];v:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break v}r=I2(A)}if(o=s[r+56209|0],!(n&o>>>0<k>>>0))break}n=u}if(k>>>0<=o>>>0||(y=v&31,(v&63)>>>0>=32?(u=0,y=-1>>>y|0):(u=-1>>>y|0,y=u|(1<<y)-1<<32-y),!u&n>>>0>y>>>0))break _;for(;;){z=o&255,o=n,r=v&31,(v&63)>>>0>=32?(t=n<<r,r=0):(t=(1<<r)-1&o>>>32-r|t<<r,r=o<<r),n=z|r,r=i[A+4>>2];v:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break v}r=I2(A)}if(o=s[r+56209|0],k>>>0<=o>>>0)break _;if(!((t|0)==(u|0)&n>>>0<=y>>>0|t>>>0<u>>>0))break}}if(s[r+56209|0]>=k>>>0)break w;for(;;){r=i[A+4>>2];_:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break _}r=I2(A)}if(!(s[r+56209|0]<k>>>0))break}i[23944]=68,C=0,n=-1,t=-1}r=i[A+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(i[A+4>>2]=i[A+4>>2]-1);w:if((n&t)!=-1)break w;r=n^C,n=r-C|0,k=C>>31,t=(k^t)-((r>>>0<C>>>0)+k|0)|0}if(B=D+16|0,r=i[A+4>>2]-i[A+44>>2]|0,i[A+120>>2]==(0-r|0)&i[A+124>>2]==(0-((r>>31)+((r|0)!=0)|0)|0))break k;if(!(!w|(W|0)!=112)){i[w>>2]=n;break u}a9(w,R,n,t);break u}if(!w)break u;r=i[h+16>>2],n=i[h+20>>2],k=i[h+8>>2],t=i[h+12>>2];s:switch(R|0){case 0:H=w,a=gn(k,t,r,n),Z0[H>>2]=a;break u;case 1:H=w,S=YA(k,t,r,n),i0[H>>3]=S;break u;case 2:break s;default:break u}i[w>>2]=k,i[w+4>>2]=t,i[w+8>>2]=r,i[w+12>>2]=n;break u}o=(W|0)!=99,r=o?31:n+1|0;l:{if((R|0)==1){if(n=w,I&&(n=Z2(r<<2),!n))break n;for(i[h+296>>2]=0,i[h+300>>2]=0,k=0;;){f=n;s:{for(;;){n=i[A+4>>2];h:{if((n|0)!=i[A+104>>2]){i[A+4>>2]=n+1,n=s[n|0];break h}n=I2(A)}if(!s[(n+h|0)+33|0])break s;if(l[h+27|0]=n,n=B6(h+28|0,h+27|0,1,h+296|0),(n|0)!=-2){if((n|0)==-1){Z=0;break f}if(f&&(i[(k<<2)+f>>2]=i[h+28>>2],k=k+1|0),!(!I|(r|0)!=(k|0)))break}}if(t=1,Z=0,r=r<<1|1,n=Er(f,r<<2),n)continue;break A}break}if(Z=0,r=f,h+296|0&&i[h+296>>2])break f;break l}if(I){if(k=0,n=Z2(r),!n)break n;for(;;){for(f=n;;){n=i[A+4>>2];s:{if((n|0)!=i[A+104>>2]){i[A+4>>2]=n+1,n=s[n|0];break s}n=I2(A)}if(!s[(n+h|0)+33|0]){r=0,Z=f;break l}if(l[f+k|0]=n,k=k+1|0,(k|0)==(r|0))break}if(t=1,r=r<<1|1,n=Er(f,r),!n)break}Z=f,f=0;break A}if(k=0,w)for(;;){f=i[A+4>>2];s:{if((f|0)!=i[A+104>>2]){i[A+4>>2]=f+1,f=s[f|0];break s}f=I2(A)}if(s[(f+h|0)+33|0]){l[k+w|0]=f,k=k+1|0;continue}else{r=0,f=w,Z=f;break l}}for(;;){f=i[A+4>>2];s:{if((f|0)!=i[A+104>>2]){i[A+4>>2]=f+1,f=s[f|0];break s}f=I2(A)}if(!s[(f+h|0)+33|0])break}f=0,Z=0,r=0}if(n=i[A+4>>2],t=i[A+116>>2],(t|0)>0?t=1:t=(t|0)>=0,t&&(n=n-1|0,i[A+4>>2]=n),t=n-i[A+44>>2]|0,u=t,n=t+i[A+120>>2]|0,t=i[A+124>>2]+(t>>31)|0,t=n>>>0<u>>>0?t+1|0:t,!(t|n)|!(o|(n|0)==(v|0)&(t|0)==(C|0)))break t;I&&(i[w>>2]=f);l:{if((W|0)==99)break l;if(r&&(i[(k<<2)+r>>2]=0),!Z){Z=0;break l}l[k+Z|0]=0}f=r}r=i[A+4>>2]-i[A+44>>2]|0,n=r,t=r>>31,r=p+i[A+124>>2]|0,k=_+i[A+120>>2]|0,t=(k>>>0<_>>>0?r+1|0:r)+t|0,_=k+n|0,p=_>>>0<k>>>0?t+1|0:t,E=((w|0)!=0)+E|0}if(k=e+1|0,e=s[e+1|0],e)continue;break i}break}f=r;break k}t=1,Z=0,f=0;break A}t=I;break e}t=I}E=E||-1}if(!t)break i;G(Z),G(f);break i}E=-1}return B=h+304|0,B=A+144|0,E}function BA(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;h=B-48|0,B=h,u=h+24|0,i[u>>2]=0,i[u+4>>2]=0,i[u+16>>2]=0,i[u+8>>2]=0,i[u+12>>2]=0;i:{r:{e:{A:switch(i[i[A>>2]+4>>2]-1|0){case 0:lk(h,e,r,A,k,n,t),r=i[h+4>>2],i[u>>2]=i[h>>2],i[u+4>>2]=r,l[u+19|0]<0&&G(i[u+8>>2]),r=i[h+12>>2],i[u+8>>2]=i[h+8>>2],i[u+12>>2]=r,i[u+16>>2]=i[h+16>>2];break e;case 4:kk(h,e,r,A,k,1,t),r=i[h+4>>2],i[u>>2]=i[h>>2],i[u+4>>2]=r,l[u+19|0]<0&&G(i[u+8>>2]),r=i[h+12>>2],i[u+8>>2]=i[h+8>>2],i[u+12>>2]=r,i[u+16>>2]=i[h+16>>2];break e;case 3:ok(h,e,r,A,k,n,t),r=i[h+4>>2],i[u>>2]=i[h>>2],i[u+4>>2]=r,l[u+19|0]<0&&G(i[u+8>>2]),r=i[h+12>>2],i[u+8>>2]=i[h+8>>2],i[u+12>>2]=r,i[u+16>>2]=i[h+16>>2];break e;case 6:case 9:uk(h,e,r,A,k,n,t),r=i[h+4>>2],i[u>>2]=i[h>>2],i[u+4>>2]=r,l[u+19|0]<0&&G(i[u+8>>2]),r=i[h+12>>2],i[u+8>>2]=i[h+8>>2],i[u+12>>2]=r,i[u+16>>2]=i[h+16>>2];break e;case 2:wk(h,e,r,A,k,n,t),r=i[h+4>>2],i[u>>2]=i[h>>2],i[u+4>>2]=r,l[u+19|0]<0&&G(i[u+8>>2]),r=i[h+12>>2],i[u+8>>2]=i[h+8>>2],i[u+12>>2]=r,i[u+16>>2]=i[h+16>>2];break e;case 7:k=i[19565],n=k,r=i[19564],i[h>>2]=r,i[h+4>>2]=k,k=h+8|0;f:{if(l[78275]>=0){Z=i[19567],i[k>>2]=i[19566],i[k+4>>2]=Z,i[k+8>>2]=i[19568];break f}_0(k,i[19566],i[19567]),r=i[h>>2],n=i[h+4>>2]}i[u>>2]=r,i[u+4>>2]=n,l[u+19|0]<0&&G(i[u+8>>2]),r=i[k+4>>2],i[u+8>>2]=i[k>>2],i[u+12>>2]=r,i[u+16>>2]=i[k+8>>2];break e;case 8:break A;default:break r}v=B-48|0,B=v,n=B-16|0,B=n,D8(n+8|0,i[e+48>>2],8174),k=i[n+8>>2],l[k+124|0]=1,i[k+52>>2]=i[k+52>>2]&-2|1,p=i[k+56>>2],k=i[n+12>>2];A:{if(!k||(Z=i[k+4>>2],i[k+4>>2]=Z-1,Z))break A;V[i[i[k>>2]+8>>2]](k),g(k)}B=n+16|0,k=U(360),i[k+16>>2]=0,i[k+20>>2]=0,i[k>>2]=72656,i[k+4>>2]=0,i[k+8>>2]=0,l[k+152|0]=0,i[k+36>>2]=p,i[k+32>>2]=e,i[k+28>>2]=34648,i[k+40>>2]=0,i[k+44>>2]=0,i[k+52>>2]=0,i[k+56>>2]=0,i[k+68>>2]=0,i[k+72>>2]=0,i[k+80>>2]=0,i[k+84>>2]=0,i[k+156>>2]=0,i[k+160>>2]=0,i[k+24>>2]=0,X[k+48>>1]=0,X[k+58>>1]=0,X[k+60>>1]=0,X[k+62>>1]=0,X[k+64>>1]=0,l[k+76|0]=0,l[k+88|0]=0,i[k+204>>2]=0,i[k+196>>2]=0,i[k+200>>2]=0,i[k+188>>2]=0,i[k+192>>2]=0,i[k+180>>2]=0,i[k+184>>2]=0,i[k+172>>2]=0,i[k+176>>2]=0,i[k+164>>2]=0,i[k+168>>2]=0,i[k+212>>2]=0,i[k+216>>2]=0,l[k+208|0]=1,l[k+217|0]=0,l[k+218|0]=0,l[k+219|0]=0,l[k+220|0]=0,l[k+221|0]=0,l[k+222|0]=0,l[k+223|0]=0,l[k+224|0]=0,i[k+232>>2]=0,i[k+236>>2]=0,i[k+240>>2]=0,i[k+244>>2]=0,i[k+248>>2]=0,i[k+252>>2]=0,i[k+256>>2]=0,i[k+260>>2]=0,i[k+264>>2]=0,i[k+268>>2]=0,l[k+272|0]=0,B0(k+280|0,0,80),i[k+296>>2]=0,i[k+300>>2]=0,l[k+292|0]=1,i[k+304>>2]=0,i[k+308>>2]=0,i[k+312>>2]=0,i[k+316>>2]=0,i[k+328>>2]=0,i[k+332>>2]=0,i[k+320>>2]=0,i[k+324>>2]=1072693248,i[k+336>>2]=0,i[k+340>>2]=0,i[k+344>>2]=0,i[k+348>>2]=0,i[k+352>>2]=0,i[k+96>>2]=0,i[k+100>>2]=0,i[k+104>>2]=0,i[k+108>>2]=0,i[k+112>>2]=0,i[k+116>>2]=0,i[k+120>>2]=0,i[k+124>>2]=0,i[k+128>>2]=0,i[k+132>>2]=0,i[k+136>>2]=0,i[k+140>>2]=0,i[k+144>>2]=0,i[k+148>>2]=0,i[t>>2]=k+16,n=i[t+4>>2],i[t+4>>2]=k,W=e+48|0;A:{if(!n||(k=i[n+4>>2],i[n+4>>2]=k-1,k))break A;V[i[i[n>>2]+8>>2]](n),g(n)}w=v+28|0,n=B-32|0,B=n,Z=r,r=i[r>>2];A:{if(i[r+32>>2]!=2){if(r=U(40),i[n+20>>2]=r,i[n+24>>2]=39,i[n+28>>2]=-2147483608,k=s[6730]|s[6731]<<8|(s[6732]<<16|s[6733]<<24),o=s[6726]|s[6727]<<8|(s[6728]<<16|s[6729]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+39|0]=0,k=s[6761]|s[6762]<<8|(s[6763]<<16|s[6764]<<24),o=s[6757]|s[6758]<<8|(s[6759]<<16|s[6760]<<24),l[r+31|0]=o,l[r+32|0]=o>>>8,l[r+33|0]=o>>>16,l[r+34|0]=o>>>24,l[r+35|0]=k,l[r+36|0]=k>>>8,l[r+37|0]=k>>>16,l[r+38|0]=k>>>24,k=s[6754]|s[6755]<<8|(s[6756]<<16|s[6757]<<24),o=s[6750]|s[6751]<<8|(s[6752]<<16|s[6753]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=k,l[r+29|0]=k>>>8,l[r+30|0]=k>>>16,l[r+31|0]=k>>>24,k=s[6746]|s[6747]<<8|(s[6748]<<16|s[6749]<<24),o=s[6742]|s[6743]<<8|(s[6744]<<16|s[6745]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[6738]|s[6739]<<8|(s[6740]<<16|s[6741]<<24),o=s[6734]|s[6735]<<8|(s[6736]<<16|s[6737]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(w,4,3002,n+20|0),l[n+31|0]>=0)break A;G(i[n+20>>2]);break A}if((U0(r,0)|0)!=8){if(r=U(40),i[n+20>>2]=r,i[n+24>>2]=37,i[n+28>>2]=-2147483608,k=s[6692]|s[6693]<<8|(s[6694]<<16|s[6695]<<24),o=s[6688]|s[6689]<<8|(s[6690]<<16|s[6691]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+37|0]=0,k=s[6721]|s[6722]<<8|(s[6723]<<16|s[6724]<<24),o=s[6717]|s[6718]<<8|(s[6719]<<16|s[6720]<<24),l[r+29|0]=o,l[r+30|0]=o>>>8,l[r+31|0]=o>>>16,l[r+32|0]=o>>>24,l[r+33|0]=k,l[r+34|0]=k>>>8,l[r+35|0]=k>>>16,l[r+36|0]=k>>>24,k=s[6716]|s[6717]<<8|(s[6718]<<16|s[6719]<<24),o=s[6712]|s[6713]<<8|(s[6714]<<16|s[6715]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=k,l[r+29|0]=k>>>8,l[r+30|0]=k>>>16,l[r+31|0]=k>>>24,k=s[6708]|s[6709]<<8|(s[6710]<<16|s[6711]<<24),o=s[6704]|s[6705]<<8|(s[6706]<<16|s[6707]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[6700]|s[6701]<<8|(s[6702]<<16|s[6703]<<24),o=s[6696]|s[6697]<<8|(s[6698]<<16|s[6699]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(w,4,3002,n+20|0),l[n+31|0]>=0)break A;G(i[n+20>>2]);break A}i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,o=v0(i[Z>>2],0,n+16|0),r=i[Z>>2],_=i[r+28>>2],r=i[r+24>>2],k=m(_,r),k&&L2(n+20|0,k);f:{if((r|0)!=i[n+16>>2]){if((_|0)<=0)break f;if(k=0,(_|0)!=1)for(C=_&2147483646;l0(i[n+20>>2]+m(r,k)|0,o+m(i[n+16>>2],k)|0,r),I=k|1,l0(i[n+20>>2]+m(r,I)|0,o+m(i[n+16>>2],I)|0,r),k=k+2|0,y=y+2|0,(C|0)!=(y|0););if(!(_&1))break f;l0(i[n+20>>2]+m(r,k)|0,o+m(i[n+16>>2],k)|0,r);break f}l0(i[n+20>>2],o,k)}hi(i[W>>2],i[i[t>>2]+20>>2],n+20|0,0),k=U(80),i[k>>2]=72344,i[k+4>>2]=0,i[k+8>>2]=0,o=k+16|0,r=o,i[r+8>>2]=0,i[r+12>>2]=0,r=k,i[r+32>>2]=0,i[r+36>>2]=0,i[r+40>>2]=0,i[r+44>>2]=0,i[r+48>>2]=0,i[r+16>>2]=68500,i[r+52>>2]=0,i[r+56>>2]=0,i[r+68>>2]=0,l[r+57|0]=0,l[r+58|0]=0,l[r+59|0]=0,l[r+60|0]=0,l[r+61|0]=0,l[r+62|0]=0,l[r+63|0]=0,l[r+64|0]=0,i[r+16>>2]=75088,i[r+32>>2]=1836280643,E=r,J=U0(i[Z>>2],0),l[E+72|0]=J,_=i[W>>2],C=i[i[t>>2]+20>>2],i[n+12>>2]=r,i[n+8>>2]=o,i[r+4>>2]=i[r+4>>2]+1,se(_,C,n+8|0,1),r=i[n+12>>2];f:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break f;V[i[i[r>>2]+8>>2]](r),g(r)}r=U(80),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=70984,o=r+16|0,i[o+8>>2]=0,i[o+12>>2]=0,i[r+32>>2]=0,i[r+36>>2]=0,i[r+40>>2]=0,i[r+44>>2]=0,i[r+48>>2]=0,i[r+16>>2]=68500,i[r+52>>2]=0,i[r+56>>2]=0,i[r+68>>2]=0,l[r+57|0]=0,l[r+58|0]=0,l[r+59|0]=0,l[r+60|0]=0,l[r+61|0]=0,l[r+62|0]=0,l[r+63|0]=0,l[r+64|0]=0,i[r+16>>2]=69264,i[r+32>>2]=1769173093,_=i[Z>>2],C=i[_+28>>2],i[r+72>>2]=i[_+24>>2],i[r+76>>2]=C,_=i[W>>2],W=i[i[t>>2]+20>>2],i[n+12>>2]=r,i[n+8>>2]=o,i[r+4>>2]=i[r+4>>2]+1,se(_,W,n+8|0,1),o=i[n+12>>2];f:{if(!o||(_=i[o+4>>2],i[o+4>>2]=_-1,_))break f;V[i[i[o>>2]+8>>2]](o),g(o)}o=i[19565],i[w>>2]=i[19564],i[w+4>>2]=o,w=w+8|0;f:{if(l[78275]>=0){o=i[19567],i[w>>2]=i[19566],i[w+4>>2]=o,i[w+8>>2]=i[19568];break f}_0(w,i[19566],i[19567])}if(w=i[r+4>>2],i[r+4>>2]=w-1,w||(V[i[i[r>>2]+8>>2]](r),g(r)),r=i[k+4>>2],i[k+4>>2]=r-1,r||(V[i[i[k>>2]+8>>2]](k),g(k)),r=i[n+20>>2],!r)break A;i[n+24>>2]=r,G(r)}B=n+32|0,r=i[e+32>>2];A:{if(r>>>0<k0[e+36>>2]){i[r>>2]=i[t>>2],k=i[t+4>>2],i[r+4>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1),r=r+8|0;break A}r=Q2(e+28|0,t)}i[e+32>>2]=r,r=i[e+20>>2];A:{f:{if(!r){n=e+20|0,k=n;break f}for(;;){if(k=r,n=i[r+16>>2],n>>>0>p>>>0){if(n=r,r=i[r>>2],r)continue;break f}if(n>>>0>=p>>>0)break A;if(r=i[k+4>>2],!r)break}n=k+4|0}r=U(28),i[r+20>>2]=0,i[r+24>>2]=0,i[r+16>>2]=p,i[r+8>>2]=k,i[r>>2]=0,i[r+4>>2]=0,i[n>>2]=r,k=r,w=i[i[e+16>>2]>>2],w&&(i[e+16>>2]=w,k=i[n>>2]),D1(i[e+20>>2],k),i[e+24>>2]=i[e+24>>2]+1}k=i[t>>2],n=i[t+4>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[r+20>>2]=k,k=i[r+24>>2],i[r+24>>2]=n;A:{if(!k||(r=i[k+4>>2],i[k+4>>2]=r-1,r))break A;V[i[i[k>>2]+8>>2]](k),g(k)}i[v+20>>2]=i[Z>>2],r=i[Z+4>>2],i[v+24>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[v+24>>2],i[v+8>>2]=i[v+20>>2],i[v+12>>2]=r,Wi(e,v+8|0,p),r=i[19565],i[h>>2]=i[19564],i[h+4>>2]=r,r=h+8|0;A:{if(l[78275]>=0){k=i[19567],i[r>>2]=i[19566],i[r+4>>2]=k,i[r+8>>2]=i[19568];break A}_0(r,i[19566],i[19567])}l[v+47|0]<0&&G(i[v+36>>2]),B=v+48|0,r=i[h+4>>2],i[u>>2]=i[h>>2],i[u+4>>2]=r,l[u+19|0]<0&&G(i[u+8>>2]),r=i[h+12>>2],i[u+8>>2]=i[h+8>>2],i[u+12>>2]=r,i[u+16>>2]=i[h+16>>2]}dn(i[e+48>>2],i[i[A>>2]+4>>2],s[i[t>>2]+192|0]),e=i[u+4>>2],i[f>>2]=i[u>>2],i[f+4>>2]=e,e=i[u+12>>2],i[f+8>>2]=i[u+8>>2],i[f+12>>2]=e,i[f+16>>2]=i[u+16>>2];break i}if(l[h|0]=0,l[h+11|0]=0,r0(f,8,3e3,h),l[h+11|0]<0&&G(i[h>>2]),l[u+19|0]>=0)break i;G(i[u+8>>2])}B=h+48|0}function hk(){var f=0,e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;Ve(),h=U(8),u=U(104),i[u>>2]=74072,i[u+4>>2]=0,i[u+8>>2]=0,n=u+16|0,f=n,i[f>>2]=0,i[f+4>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0,i[f+28>>2]=0,i[f+32>>2]=0,i[f+80>>2]=0,i[f+72>>2]=0,i[f+76>>2]=0,i[f+64>>2]=1073741824,i[f+68>>2]=0,i[f+8>>2]=0,i[f+12>>2]=34648,i[f+16>>2]=f+20,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+52>>2]=0,i[f+56>>2]=4,r=U(132),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=72576,w=f,_=Ge(r+12|0),i[w+48>>2]=_,f=i[f+52>>2],i[n+52>>2]=r;i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}k=B-16|0,B=k,r=i[n+48>>2],f=i[r+4>>2],i[r>>2]=0,i[r+4>>2]=0;i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[r+12>>2],A=i[r+8>>2],(f|0)!=(A|0))for(;;){e=i[f-4>>2];i:{if(!e||(t=i[e+4>>2],i[e+4>>2]=t-1,t))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(A|0)==(f|0))break}i[r+12>>2]=A,f=U(88),i[f>>2]=70584,i[f+4>>2]=0,i[f+8>>2]=0,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+60>>2]=0,i[f+52>>2]=0,i[f+56>>2]=0,i[f+16>>2]=68724,i[f+80>>2]=0,i[f+72>>2]=0,i[f+76>>2]=0,i[f+64>>2]=0,i[f+68>>2]=0,i[f+32>>2]=1718909296,i[r+20>>2]=e,e=i[r+24>>2],i[r+24>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(104),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70664,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+52>>2]=0,i[f+56>>2]=0,i[f+68>>2]=0,l[f+57|0]=0,l[f+58|0]=0,l[f+59|0]=0,l[f+60|0]=0,l[f+61|0]=0,l[f+62|0]=0,l[f+63|0]=0,l[f+64|0]=0,i[f+16>>2]=68844,i[f+80>>2]=0,i[f+84>>2]=0,i[f+72>>2]=0,i[f+76>>2]=1885954932,i[f+88>>2]=0,i[f+92>>2]=0,i[f+96>>2]=0,i[f+100>>2]=0,i[f+32>>2]=1751411826,i[r+28>>2]=e,e=i[r+32>>2],i[r+32>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(72),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70624,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+52>>2]=0,i[f+56>>2]=0,i[f+68>>2]=0,l[f+57|0]=0,l[f+58|0]=0,l[f+59|0]=0,l[f+60|0]=0,l[f+61|0]=0,l[f+62|0]=0,l[f+63|0]=0,l[f+64|0]=0,i[f+16>>2]=68784,i[f+32>>2]=1835365473,i[r+36>>2]=e,e=i[r+40>>2],i[r+40>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(64),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70904,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+60>>2]=0,i[f+52>>2]=0,i[f+56>>2]=0,i[f+16>>2]=69204,i[f+32>>2]=1768973167,i[r+44>>2]=e,e=i[r+48>>2],i[r+48>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(88),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70944,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+52>>2]=0,i[f+56>>2]=0,i[f+68>>2]=0,l[f+57|0]=0,l[f+58|0]=0,l[f+59|0]=0,l[f+60|0]=0,l[f+61|0]=0,l[f+62|0]=0,l[f+63|0]=0,l[f+64|0]=0,i[f+16>>2]=69312,i[f+80>>2]=0,i[f+72>>2]=0,i[f+76>>2]=0,i[f+32>>2]=1768975713,i[r+52>>2]=e,e=i[r+56>>2],i[r+56>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(104),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70744,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+52>>2]=0,i[f+56>>2]=0,i[f+68>>2]=0,l[f+57|0]=0,l[f+58|0]=0,l[f+59|0]=0,l[f+60|0]=0,l[f+61|0]=0,l[f+62|0]=0,l[f+63|0]=0,l[f+64|0]=0,i[f+16>>2]=68964,i[f+72>>2]=0,i[f+76>>2]=0,i[f+96>>2]=0,i[f+80>>2]=0,i[f+84>>2]=0,l[f+85|0]=0,l[f+86|0]=0,l[f+87|0]=0,l[f+88|0]=0,l[f+89|0]=0,l[f+90|0]=0,l[f+91|0]=0,l[f+92|0]=0,i[f+32>>2]=1768714083,i[r+60>>2]=e,e=i[r+64>>2],i[r+64>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(72),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70784,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+52>>2]=0,i[f+56>>2]=0,i[f+68>>2]=0,l[f+57|0]=0,l[f+58|0]=0,l[f+59|0]=0,l[f+60|0]=0,l[f+61|0]=0,l[f+62|0]=0,l[f+63|0]=0,l[f+64|0]=0,i[f+16>>2]=69084,i[f+32>>2]=1768517222,i[r+92>>2]=e,e=i[r+96>>2],i[r+96>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(64),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70864,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+60>>2]=0,i[f+52>>2]=0,i[f+56>>2]=0,i[f+16>>2]=69144,i[f+32>>2]=1768977008,i[r+100>>2]=e,e=i[r+104>>2],i[r+104>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(80),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70704,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+52>>2]=0,i[f+56>>2]=0,i[f+68>>2]=0,l[f+57|0]=0,l[f+58|0]=0,l[f+59|0]=0,l[f+60|0]=0,l[f+61|0]=0,l[f+62|0]=0,l[f+63|0]=0,l[f+64|0]=0,i[f+16>>2]=68904,i[f+32>>2]=1885959277,i[f+72>>2]=0,i[r+84>>2]=e,e=i[r+88>>2],i[r+88>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=i[r+36>>2],A=i[r+28>>2],i[k+8>>2]=A,e=i[r+32>>2],i[k+12>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),e=i[f+40>>2];i:{if(e>>>0<k0[f+44>>2]){i[e>>2]=A,A=i[k+12>>2],i[e+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),e=e+8|0;break i}e=Q2(f+36|0,k+8|0)}i[f+40>>2]=e,f=i[k+12>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+36>>2],A=i[r+84>>2],i[k+8>>2]=A,e=i[r+88>>2],i[k+12>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),e=i[f+40>>2];i:{if(e>>>0<k0[f+44>>2]){i[e>>2]=A,A=i[k+12>>2],i[e+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),e=e+8|0;break i}e=Q2(f+36|0,k+8|0)}i[f+40>>2]=e,f=i[k+12>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+36>>2],A=i[r+60>>2],i[k+8>>2]=A,e=i[r+64>>2],i[k+12>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),e=i[f+40>>2];i:{if(e>>>0<k0[f+44>>2]){i[e>>2]=A,A=i[k+12>>2],i[e+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),e=e+8|0;break i}e=Q2(f+36|0,k+8|0)}i[f+40>>2]=e,f=i[k+12>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+36>>2],A=i[r+92>>2],i[k+8>>2]=A,e=i[r+96>>2],i[k+12>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),e=i[f+40>>2];i:{if(e>>>0<k0[f+44>>2]){i[e>>2]=A,A=i[k+12>>2],i[e+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),e=e+8|0;break i}e=Q2(f+36|0,k+8|0)}i[f+40>>2]=e,f=i[k+12>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+36>>2],A=i[r+100>>2],i[k+8>>2]=A,e=i[r+104>>2],i[k+12>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),e=i[f+40>>2];i:{if(e>>>0<k0[f+44>>2]){i[e>>2]=A,A=i[k+12>>2],i[e+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),e=e+8|0;break i}e=Q2(f+36|0,k+8|0)}i[f+40>>2]=e,f=i[k+12>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}A=i[r+100>>2],o=i[r+44>>2],i[k+8>>2]=o,f=i[r+48>>2],i[k+12>>2]=f;i:{r:{e:{if(!f){if(t=A+40|0,e=i[A+40>>2],e>>>0>=k0[A+44>>2])break r;i[e+4>>2]=f,i[e>>2]=o;break e}if(i[f+4>>2]=i[f+4>>2]+1,t=A+40|0,e=i[A+40>>2],e>>>0>=k0[A+44>>2])break r;i[e+4>>2]=f,i[e>>2]=o,i[f+4>>2]=i[f+4>>2]+1}e=e+8|0;break i}e=Q2(A+36|0,k+8|0),f=i[k+12>>2]}i[t>>2]=e;i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}A=i[r+100>>2],o=i[r+52>>2],i[k+8>>2]=o,f=i[r+56>>2],i[k+12>>2]=f;i:{r:{e:{if(!f){if(t=A+40|0,e=i[A+40>>2],e>>>0>=k0[A+44>>2])break r;i[e+4>>2]=f,i[e>>2]=o;break e}if(i[f+4>>2]=i[f+4>>2]+1,t=A+40|0,e=i[A+40>>2],e>>>0>=k0[A+44>>2])break r;i[e+4>>2]=f,i[e>>2]=o,i[f+4>>2]=i[f+4>>2]+1}e=e+8|0;break i}e=Q2(A+36|0,k+8|0),f=i[k+12>>2]}i[t>>2]=e;i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}he(r+108|0,i[r+112>>2]),i[r+108>>2]=r+112,i[r+112>>2]=0,i[r+116>>2]=0,t=i[r+20>>2],i[k+8>>2]=t,f=i[r+24>>2],i[k+12>>2]=f,f&&(i[f+4>>2]=i[f+4>>2]+1),A=r+8|0,e=i[r+12>>2];i:{if(e>>>0<k0[r+16>>2]){i[e+4>>2]=f,i[e>>2]=t,i[r+12>>2]=e+8;break i}if(e=z2(A,k+8|0),f=i[k+12>>2],i[r+12>>2]=e,!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}t=i[r+36>>2],i[k+8>>2]=t,f=i[r+40>>2],i[k+12>>2]=f,f&&(i[f+4>>2]=i[f+4>>2]+1),e=i[r+12>>2];i:{if(e>>>0<k0[r+16>>2]){i[e+4>>2]=f,i[e>>2]=t,i[r+12>>2]=e+8;break i}if(e=z2(A,k+8|0),f=i[k+12>>2],i[r+12>>2]=e,!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(B=k+16|0,H6(n+16|0,i[n+20>>2]),i[n+16>>2]=n+20,i[n+20>>2]=0,i[n+24>>2]=0,r=i[n+32>>2],k=i[n+28>>2],(r|0)!=(k|0))for(;;){f=i[r-4>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(r=r-8|0,(k|0)==(r|0))break}i[n+32>>2]=k,f=i[n+44>>2],i[n+40>>2]=0,i[n+44>>2]=0;i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return i[h+4>>2]=u,i[h>>2]=n,h|0}function R8(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0;n=B-176|0,B=n;i:{r:{e:{if(v=i[e+16>>2],E=i[e+20>>2],(v|0)!=(E|0))for(;;){A:{f:switch(s[e+4|0]){case 0:if(u=i[v+20>>2],w=i[v+16>>2],Z=i[k+4>>2]-i[k>>2]|0,!u&w>>>0>536870912-Z>>>0|u){i[n+40>>2]=54496,i[n+96>>2]=54516,e=i[13633],i[n+32>>2]=e,r=i[e-12>>2],e=n+32|0,i[r+e>>2]=i[13634],i[n+36>>2]=0,r=e+i[i[n+32>>2]-12>>2]|0,A=n+44|0,b0(r,A),i[r+72>>2]=0,i[r+76>>2]=-1,r=i[13635],i[n+40>>2]=r,k=i[r-12>>2],r=n+40|0,i[k+r>>2]=i[13636],k=i[13632],i[n+32>>2]=k,i[e+i[k-12>>2]>>2]=i[13637],i[n+96>>2]=54516,i[n+32>>2]=54476,i[n+40>>2]=54496,e=$0(A),i[e>>2]=53552,i[n+84>>2]=0,i[n+88>>2]=0,i[n+76>>2]=0,i[n+80>>2]=0,i[n+92>>2]=24,r=x(n4(x(r,19275,19),i[v+16>>2],i[v+20>>2]),19193,35),_=i[v+20>>2],A=Z+i[v+16>>2]|0,_=A>>>0<Z>>>0?_+1|0:_,x(H0(x(n4(r,A,_),19051,40),536870912),4139,6),r=n+20|0,i2(r,e),r0(f,6,1e3,r),l[n+31|0]<0&&G(i[n+20>>2]),f=i[13631],i[n+32>>2]=f,i[i[f-12>>2]+(n+32|0)>>2]=i[13639],i[n+40>>2]=i[13640],i[e>>2]=53552,l[n+87|0]<0&&G(i[n+76>>2]),K0(e),T0(n+96|0);break i}t=i[v+8>>2],o=i[v+12>>2],p=o;k:{if((o|0)==8388607|o>>>0<8388607&&(o=i[e+8>>2],W=i[e+12>>2],W>>>0<8388608))break k;if(e=U(40),i[n+32>>2]=e,i[n+36>>2]=39,i[n+40>>2]=-2147483608,r=s[10465]|s[10466]<<8|(s[10467]<<16|s[10468]<<24),A=s[10461]|s[10462]<<8|(s[10463]<<16|s[10464]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+39|0]=0,r=s[10496]|s[10497]<<8|(s[10498]<<16|s[10499]<<24),A=s[10492]|s[10493]<<8|(s[10494]<<16|s[10495]<<24),l[e+31|0]=A,l[e+32|0]=A>>>8,l[e+33|0]=A>>>16,l[e+34|0]=A>>>24,l[e+35|0]=r,l[e+36|0]=r>>>8,l[e+37|0]=r>>>16,l[e+38|0]=r>>>24,r=s[10489]|s[10490]<<8|(s[10491]<<16|s[10492]<<24),A=s[10485]|s[10486]<<8|(s[10487]<<16|s[10488]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[10481]|s[10482]<<8|(s[10483]<<16|s[10484]<<24),A=s[10477]|s[10478]<<8|(s[10479]<<16|s[10480]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[10473]|s[10474]<<8|(s[10475]<<16|s[10476]<<24),A=s[10469]|s[10470]<<8|(s[10471]<<16|s[10472]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,1e3,n+32|0),l[n+43|0]>=0)break i;G(i[n+32>>2]);break i}_=i[r>>2],u=u+p|0,w=t+w|0,t=W+(w>>>0<t>>>0?u+1|0:u)|0,p=o,o=o+w|0,t=p>>>0>o>>>0?t+1|0:t;k:switch((V[i[i[_>>2]+12>>2]](_,o,t)|0)-1|0){case 1:i[k+4>>2]=i[k>>2],i[n+40>>2]=54496,i[n+96>>2]=54516,r=i[13633],i[n+32>>2]=r,A=i[r-12>>2],r=n+32|0,i[A+r>>2]=i[13634],i[n+36>>2]=0,A=r+i[i[n+32>>2]-12>>2]|0,k=n+44|0,b0(A,k),i[A+72>>2]=0,i[A+76>>2]=-1,A=i[13635],i[n+40>>2]=A,o=i[A-12>>2],A=n+40|0,i[o+A>>2]=i[13636],t=i[13632],i[n+32>>2]=t,i[r+i[t-12>>2]>>2]=i[13637],i[n+96>>2]=54516,i[n+32>>2]=54476,i[n+40>>2]=54496,r=$0(k),i[r>>2]=53552,i[n+84>>2]=0,i[n+88>>2]=0,i[n+76>>2]=0,i[n+80>>2]=0,i[n+92>>2]=24,k=x(x(A,18788,58),18854,25),w=i[e+12>>2]+i[v+12>>2]|0,t=i[v+8>>2],A=t+i[e+8>>2]|0,x(n4(k,A,A>>>0<t>>>0?w+1|0:w),31337,2),e=n+20|0,i2(e,r),r0(f,2,100,e),l[n+31|0]<0&&G(i[n+20>>2]),f=i[13631],i[n+32>>2]=f,i[i[f-12>>2]+(n+32|0)>>2]=i[13639],i[n+40>>2]=i[13640],i[r>>2]=53552,l[n+87|0]<0&&G(i[n+76>>2]),K0(r),T0(n+96|0);break i;case 0:if(l[n+32|0]=0,l[n+43|0]=0,r0(f,2,100,n+32|0),l[n+43|0]>=0)break i;G(i[n+32>>2]);break i;default:break k}_=i[e+12>>2]+i[v+12>>2]|0,o=i[r>>2],u=i[v+8>>2],t=u+i[e+8>>2]|0,V[i[i[o>>2]+20>>2]](o,t,t>>>0<u>>>0?_+1|0:_)|0,u=i[v+16>>2],t=Z+u|0,o=i[k>>2],w=i[k+4>>2]-o|0;k:{if(t>>>0>w>>>0){L2(k,t-w|0),u=i[v+16>>2],o=i[k>>2];break k}if(t>>>0>=w>>>0)break k;i[k+4>>2]=t+o}t=i[r>>2],V[i[i[t>>2]+16>>2]](t,o+Z|0,u)|0;break A;case 1:break f;default:break e}if(C=i[A>>2],!C){if(e=U(56),i[n+32>>2]=e,i[n+36>>2]=54,i[n+40>>2]=-2147483592,r=s[10043]|s[10044]<<8|(s[10045]<<16|s[10046]<<24),A=s[10039]|s[10040]<<8|(s[10041]<<16|s[10042]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+54|0]=0,r=s[10089]|s[10090]<<8|(s[10091]<<16|s[10092]<<24),A=s[10085]|s[10086]<<8|(s[10087]<<16|s[10088]<<24),l[e+46|0]=A,l[e+47|0]=A>>>8,l[e+48|0]=A>>>16,l[e+49|0]=A>>>24,l[e+50|0]=r,l[e+51|0]=r>>>8,l[e+52|0]=r>>>16,l[e+53|0]=r>>>24,r=s[10083]|s[10084]<<8|(s[10085]<<16|s[10086]<<24),A=s[10079]|s[10080]<<8|(s[10081]<<16|s[10082]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[10075]|s[10076]<<8|(s[10077]<<16|s[10078]<<24),A=s[10071]|s[10072]<<8|(s[10073]<<16|s[10074]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[10067]|s[10068]<<8|(s[10069]<<16|s[10070]<<24),A=s[10063]|s[10064]<<8|(s[10065]<<16|s[10066]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[10059]|s[10060]<<8|(s[10061]<<16|s[10062]<<24),A=s[10055]|s[10056]<<8|(s[10057]<<16|s[10058]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[10051]|s[10052]<<8|(s[10053]<<16|s[10054]<<24),A=s[10047]|s[10048]<<8|(s[10049]<<16|s[10050]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,103,n+32|0),l[n+43|0]>=0)break i;G(i[n+32>>2]);break i}t=i[v+8>>2],o=t+i[e+8>>2]|0,u=i[e+12>>2]+i[v+12>>2]|0,u=t>>>0>o>>>0?u+1|0:u,h=B-160|0,B=h,p=i[v+20>>2],Z=p,t=i[v+16>>2],y=i[k+4>>2]-i[k>>2]|0;f:{if(!Z&t>>>0>536870912-y>>>0|Z){i[h+24>>2]=54496,i[h+80>>2]=54516,o=i[13633],i[h+16>>2]=o,_=i[o-12>>2],o=h+16|0,i[_+o>>2]=i[13634],i[h+20>>2]=0,u=o+i[i[h+16>>2]-12>>2]|0,w=h+28|0,b0(u,w),i[u+72>>2]=0,i[u+76>>2]=-1,u=i[13635],i[h+24>>2]=u,_=i[u-12>>2],u=h+24|0,i[_+u>>2]=i[13636],Z=i[13632],i[h+16>>2]=Z,i[o+i[Z-12>>2]>>2]=i[13637],i[h+80>>2]=54516,i[h+16>>2]=54476,i[h+24>>2]=54496,o=$0(w),i[o>>2]=53552,i[h+68>>2]=0,i[h+72>>2]=0,i[h+60>>2]=0,i[h+64>>2]=0,i[h+76>>2]=24,w=x(n4(x(u,19255,19),t,p),19193,35),u=p,_=t,t=t+y|0,u=_>>>0>t>>>0?u+1|0:u,x(H0(x(n4(w,t,u),19051,40),536870912),4139,6),t=h+4|0,i2(t,o),r0(n,6,1e3,t),l[h+15|0]<0&&G(i[h+4>>2]),t=i[13631],i[h+16>>2]=t,i[i[t-12>>2]+(h+16|0)>>2]=i[13639],i[h+24>>2]=i[13640],i[o>>2]=53552,l[h+71|0]<0&&G(i[h+60>>2]),K0(o),T0(h+80|0);break f}if(w=i[C+8>>2],W=i[C+56>>2],I=w+W|0,Z=i[C+12>>2],J=i[C+60>>2],_=Z+J|0,_=W>>>0>I>>>0?_+1|0:_,(_|0)==(u|0)&o>>>0>I>>>0|u>>>0>_>>>0){if(l[h+16|0]=0,l[h+27|0]=0,r0(n,2,100,h+16|0),l[h+27|0]>=0)break f;G(i[h+16>>2]);break f}k:{if((Z|0)==(p|0)&t>>>0<=w>>>0|Z>>>0>p>>>0&&(_=w,w=u+p|0,I=t+o|0,w=I>>>0<o>>>0?w+1|0:w,R=_,_=I,(w|0)==(Z|0)&R>>>0>=_>>>0|w>>>0<Z>>>0))break k;if(l[h+16|0]=0,l[h+27|0]=0,r0(n,2,100,h+16|0),l[h+27|0]>=0)break f;G(i[h+16>>2]);break f}if(Z=i[r>>2],w=w+J|0,W=_+W|0,w=W>>>0<_>>>0?w+1|0:w,(V[i[i[Z>>2]+12>>2]](Z,W,w)|0)-1>>>0<=1){if(l[h+16|0]=0,l[h+27|0]=0,r0(n,2,100,h+16|0),l[h+27|0]>=0)break f;G(i[h+16>>2]);break f}if(w=i[r>>2],u=u+i[C+60>>2]|0,_=o,o=o+i[C+56>>2]|0,u=_>>>0>o>>>0?u+1|0:u,V[i[i[w>>2]+20>>2]](w,o,u)|0,t|p){o=t+y|0,w=i[k>>2],u=i[k+4>>2]-w|0;k:{if(o>>>0>u>>>0){L2(k,o-u|0);break k}o>>>0<u>>>0&&(i[k+4>>2]=o+w)}o=i[r>>2],V[i[i[o>>2]+16>>2]](o,y+i[k>>2]|0,t)|0}if(t=i[19565],i[n>>2]=i[19564],i[n+4>>2]=t,t=n+8|0,l[78275]>=0){o=i[19567],i[t>>2]=i[19566],i[t+4>>2]=o,i[t+8>>2]=i[19568];break f}_0(t,i[19566],i[19567])}if(B=h+160|0,l[n+19|0]>=0)break A;G(i[n+8>>2])}if(v=v+40|0,(E|0)==(v|0))break}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]<0)break r;e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}i[n+40>>2]=54496,i[n+96>>2]=54516,r=i[13633],i[n+32>>2]=r,A=i[r-12>>2],r=n+32|0,i[A+r>>2]=i[13634],i[n+36>>2]=0,A=r+i[i[n+32>>2]-12>>2]|0,k=n+44|0,b0(A,k),i[A+72>>2]=0,i[A+76>>2]=-1,A=i[13635],i[n+40>>2]=A,o=i[A-12>>2],A=n+40|0,i[o+A>>2]=i[13636],t=i[13632],i[n+32>>2]=t,i[r+i[t-12>>2]>>2]=i[13637],i[n+96>>2]=54516,i[n+32>>2]=54476,i[n+40>>2]=54496,r=$0(k),i[r>>2]=53552,i[n+84>>2]=0,i[n+88>>2]=0,i[n+76>>2]=0,i[n+80>>2]=0,i[n+92>>2]=24,x(H0(x(A,19229,25),s[e+4|0]),12434,16),e=n+20|0,i2(e,r),r0(f,4,3004,e),l[n+31|0]<0&&G(i[n+20>>2]),f=i[13631],i[n+32>>2]=f,i[i[f-12>>2]+(n+32|0)>>2]=i[13639],i[n+40>>2]=i[13640],i[r>>2]=53552,l[n+87|0]<0&&G(i[n+76>>2]),K0(r),T0(n+96|0);break i}_0(f,i[19566],i[19567])}B=n+176|0}function wk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0;u=B-144|0,B=u,Z=Ri(i[e+48>>2],8710),o=U(360),i[o+16>>2]=0,i[o+20>>2]=0,i[o>>2]=72656,i[o+4>>2]=0,i[o+8>>2]=0,l[o+152|0]=0,i[o+36>>2]=Z,i[o+32>>2]=e,i[o+28>>2]=34648,i[o+40>>2]=0,i[o+44>>2]=0,i[o+52>>2]=0,i[o+56>>2]=0,i[o+68>>2]=0,i[o+72>>2]=0,i[o+80>>2]=0,i[o+84>>2]=0,i[o+156>>2]=0,i[o+160>>2]=0,i[o+24>>2]=0,X[o+48>>1]=0,X[o+58>>1]=0,X[o+60>>1]=0,X[o+62>>1]=0,X[o+64>>1]=0,l[o+76|0]=0,l[o+88|0]=0,i[o+204>>2]=0,i[o+196>>2]=0,i[o+200>>2]=0,i[o+188>>2]=0,i[o+192>>2]=0,i[o+180>>2]=0,i[o+184>>2]=0,i[o+172>>2]=0,i[o+176>>2]=0,i[o+164>>2]=0,i[o+168>>2]=0,i[o+212>>2]=0,i[o+216>>2]=0,l[o+208|0]=1,l[o+217|0]=0,l[o+218|0]=0,l[o+219|0]=0,l[o+220|0]=0,l[o+221|0]=0,l[o+222|0]=0,l[o+223|0]=0,l[o+224|0]=0,i[o+232>>2]=0,i[o+236>>2]=0,i[o+240>>2]=0,i[o+244>>2]=0,i[o+248>>2]=0,i[o+252>>2]=0,i[o+256>>2]=0,i[o+260>>2]=0,i[o+264>>2]=0,i[o+268>>2]=0,l[o+272|0]=0,B0(o+280|0,0,80),i[o+296>>2]=0,i[o+300>>2]=0,l[o+292|0]=1,i[o+304>>2]=0,i[o+308>>2]=0,i[o+312>>2]=0,i[o+316>>2]=0,i[o+328>>2]=0,i[o+332>>2]=0,i[o+320>>2]=0,i[o+324>>2]=1072693248,i[o+336>>2]=0,i[o+340>>2]=0,i[o+344>>2]=0,i[o+348>>2]=0,i[o+352>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+112>>2]=0,i[o+116>>2]=0,i[o+120>>2]=0,i[o+124>>2]=0,i[o+128>>2]=0,i[o+132>>2]=0,i[o+136>>2]=0,i[o+140>>2]=0,i[o+144>>2]=0,i[o+148>>2]=0,i[t>>2]=o+16,h=i[t+4>>2],i[t+4>>2]=o;i:{if(!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break i;V[i[i[h>>2]+8>>2]](h),g(h)}h=i[e+32>>2];i:{if(h>>>0<k0[e+36>>2]){i[h>>2]=i[t>>2],o=i[t+4>>2],i[h+4>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),o=h+8|0;break i}o=Q2(e+28|0,t)}i[e+32>>2]=o,o=i[e+20>>2];i:{r:{if(!o){_=e+20|0,h=_;break r}for(;;){if(h=o,_=i[o+16>>2],_>>>0>Z>>>0){if(_=o,o=i[o>>2],o)continue;break r}if(_>>>0>=Z>>>0)break i;if(o=i[h+4>>2],!o)break}_=h+4|0}o=U(28),i[o+20>>2]=0,i[o+24>>2]=0,i[o+16>>2]=Z,i[o+8>>2]=h,i[o>>2]=0,i[o+4>>2]=0,i[_>>2]=o,h=o,w=i[i[e+16>>2]>>2],w&&(i[e+16>>2]=w,h=i[_>>2]),D1(i[e+20>>2],h),i[e+24>>2]=i[e+24>>2]+1}h=i[t>>2],_=i[t+4>>2],_&&(i[_+4>>2]=i[_+4>>2]+1),i[o+20>>2]=h,h=i[o+24>>2],i[o+24>>2]=_;i:{if(!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break i;V[i[i[h>>2]+8>>2]](h),g(h)}o=i[r>>2],i[u+140>>2]=i[o+32>>2],i[u+136>>2]=i[o+36>>2],l[u+100|0]=1,i[u+88>>2]=6,i[u+92>>2]=6,i[u+96>>2]=6,v=U(24),l[v+22|0]=1,X[v+20>>1]=2,i[v+16>>2]=131074,i[v+12>>2]=72992,i[v>>2]=72832,i[v+4>>2]=0,i[v+8>>2]=0,_=v+12|0,o=_,l[o+10|0]=1,X[o+8>>1]=6,i[o+4>>2]=851969,Jt(o,u+84|0),o=i[A>>2];i:{if(i[o>>2]>=2){V[i[o+108>>2]](i[A+4>>2],u+140|0,u+136|0);break i}V[i[o+96>>2]](u+140|0,u+136|0)}i:{r:{e:{A:{if(o=i[u+140>>2],w=i[r>>2],h=i[u+136>>2],!((o|0)!=i[w+32>>2]|(h|0)!=i[w+36>>2])){if(h=i[w+44>>2],w=i[w+48>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),p6(o,h,w,u+84|0))break A;h=i[u+136>>2],o=i[u+140>>2]}if(i[u+48>>2]=v,i[u+44>>2]=_,i[v+4>>2]=i[v+4>>2]+1,N8(u- -64|0,r,o,h,u+44|0,0,k+16|0),h=i[u+64>>2],r=i[u+68>>2],i[u+64>>2]=0,i[u+68>>2]=0,i[u+80>>2]=r,i[u+76>>2]=h,o=i[u+48>>2],o&&(r=i[o+4>>2],i[o+4>>2]=r-1,r||(V[i[i[o>>2]+8>>2]](o),g(o)),h=i[u+76>>2]),h)break e;if(l[u+64|0]=0,l[u+75|0]=0,r0(f,4,3003,u- -64|0),l[u+75|0]>=0)break r;G(i[u+64>>2]);break r}h=i[r>>2],r=i[r+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[u+80>>2]=r,i[u+76>>2]=h}e:{A:switch(n-1|0){case 0:case 3:break A;default:break e}r=i[h+52>>2],h=i[h+56>>2];A:{f:{k:{if(!h){if(!r)break f;o=i[e+48>>2],i[u+68>>2]=0,i[u+64>>2]=r;break k}if(i[h+4>>2]=i[h+4>>2]+1,!r)break f;o=i[e+48>>2],i[u+68>>2]=h,i[u+64>>2]=r,i[h+4>>2]=i[h+4>>2]+1}p8(o,Z,u- -64|0),o=i[u+68>>2];k:{if(!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break k;V[i[i[o>>2]+8>>2]](o),g(o)}if(!s[k+3|0]|s[k|0]<3)break A}if(r=i[e+48>>2],i[u+68>>2]=v,i[u+64>>2]=_,i[v+4>>2]=i[v+4>>2]+1,p8(r,Z,u- -64|0),o=i[u+68>>2],!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break A;V[i[i[o>>2]+8>>2]](o),g(o)}if(!h||(r=i[h+4>>2],i[h+4>>2]=r-1,r))break e;V[i[i[h>>2]+8>>2]](h),g(h)}h=i[u+76>>2];e:{A:{if(!s[k+1|0]||!H2(h,6))break A;i[u+44>>2]=0,i[u+48>>2]=0,s6(u- -64|0,u+76|0),o=i[u+64>>2],r=i[u+68>>2],i[u+64>>2]=0,i[u+68>>2]=0,h=i[u+48>>2],i[u+44>>2]=o,i[u+48>>2]=r;f:{if(!h||(r=i[h+4>>2],i[h+4>>2]=r-1,r||(V[i[i[h>>2]+8>>2]](h),g(h)),o=i[u+68>>2],!o)||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break f;V[i[i[o>>2]+8>>2]](o),g(o)}if(i[u+24>>2]=0,i[u+28>>2]=0,wk(f,e,u+44|0,A,k,2,u+24|0),i[f>>2])break e;h=i[i[u+24>>2]+20>>2],o=i[e+48>>2],_=U(4),i[u+64>>2]=_,r=_+4|0,i[u+72>>2]=r,i[_>>2]=Z,i[u+68>>2]=r,P1(o,h,1635088492,u- -64|0),r=i[u+64>>2],r&&(i[u+68>>2]=r,G(r)),o=i[i[u+24>>2]+20>>2],r=i[e+48>>2],w=U(48),i[u+64>>2]=w,i[u+68>>2]=43,i[u+72>>2]=-2147483600,h=s[14658]|s[14659]<<8|(s[14660]<<16|s[14661]<<24),l[w+39|0]=h,l[w+40|0]=h>>>8,l[w+41|0]=h>>>16,l[w+42|0]=h>>>24,_=s[14655]|s[14656]<<8|(s[14657]<<16|s[14658]<<24),h=s[14651]|s[14652]<<8|(s[14653]<<16|s[14654]<<24),l[w+32|0]=h,l[w+33|0]=h>>>8,l[w+34|0]=h>>>16,l[w+35|0]=h>>>24,l[w+36|0]=_,l[w+37|0]=_>>>8,l[w+38|0]=_>>>16,l[w+39|0]=_>>>24,_=s[14647]|s[14648]<<8|(s[14649]<<16|s[14650]<<24),h=s[14643]|s[14644]<<8|(s[14645]<<16|s[14646]<<24),l[w+24|0]=h,l[w+25|0]=h>>>8,l[w+26|0]=h>>>16,l[w+27|0]=h>>>24,l[w+28|0]=_,l[w+29|0]=_>>>8,l[w+30|0]=_>>>16,l[w+31|0]=_>>>24,_=s[14639]|s[14640]<<8|(s[14641]<<16|s[14642]<<24),h=s[14635]|s[14636]<<8|(s[14637]<<16|s[14638]<<24),l[w+16|0]=h,l[w+17|0]=h>>>8,l[w+18|0]=h>>>16,l[w+19|0]=h>>>24,l[w+20|0]=_,l[w+21|0]=_>>>8,l[w+22|0]=_>>>16,l[w+23|0]=_>>>24,_=s[14631]|s[14632]<<8|(s[14633]<<16|s[14634]<<24),h=s[14627]|s[14628]<<8|(s[14629]<<16|s[14630]<<24),l[w+8|0]=h,l[w+9|0]=h>>>8,l[w+10|0]=h>>>16,l[w+11|0]=h>>>24,l[w+12|0]=_,l[w+13|0]=_>>>8,l[w+14|0]=_>>>16,l[w+15|0]=_>>>24,_=s[14623]|s[14624]<<8|(s[14625]<<16|s[14626]<<24),h=s[14619]|s[14620]<<8|(s[14621]<<16|s[14622]<<24),l[w|0]=h,l[w+1|0]=h>>>8,l[w+2|0]=h>>>16,l[w+3|0]=h>>>24,l[w+4|0]=_,l[w+5|0]=_>>>8,l[w+6|0]=_>>>16,l[w+7|0]=_>>>24,l[w+43|0]=0,_6(r,o,u- -64|0),l[u+75|0]<0&&G(i[u+64>>2]);f:{if(s[i[u+76>>2]+40|0]!=1||(h=i[e+48>>2],o=i[i[u+24>>2]+20>>2],_=U(4),i[u+64>>2]=_,r=_+4|0,i[u+72>>2]=r,i[_>>2]=o,i[u+68>>2]=r,P1(h,Z,1886545261,u- -64|0),r=i[u+64>>2],!r))break f;i[u+68>>2]=r,G(r)}l[f+19|0]<0&&G(i[f+8>>2]),o=i[u+28>>2];f:{if(!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break f;V[i[i[o>>2]+8>>2]](o),g(o)}o=i[u+48>>2];f:{if(!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break f;V[i[i[o>>2]+8>>2]](o),g(o)}h=i[u+76>>2]}i[u+60>>2]=0,r=i[u+80>>2];A:{if(!r){i[u+60>>2]=0,i[u+56>>2]=h;break A}if(i[r+4>>2]=i[r+4>>2]+1,i[u+56>>2]=h,o=i[u+60>>2],i[u+60>>2]=r,!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break A;V[i[i[o>>2]+8>>2]](o),g(o)}V[i[i[A>>2]+100>>2]](u- -64|0,i[A+4>>2],u+56|0,n),n=i[u+64>>2];A:{if(n){if(A=i[u+68>>2],r=i[u+72>>2],t=G2(r),t>>>0>=2147483640)break i;f:{k:{if(t>>>0>=11){e=(t|7)+1|0,k=U(e),i[u+52>>2]=e|-2147483648,i[u+44>>2]=k,i[u+48>>2]=t;break k}if(l[u+55|0]=t,k=u+44|0,!t)break f}F2(k,r,t)}if(l[k+t|0]=0,r0(f,n,A,u+44|0),l[u+55|0]>=0)break A;G(i[u+44>>2]);break A}for(i[u+52>>2]=0,i[u+44>>2]=0,i[u+48>>2]=0,V[i[i[A>>2]+104>>2]](u+24|0,i[A+4>>2],u+40|0,u+36|0,0);;){if(o=i[u+40>>2],o){_=i[u+36>>2],r=i[u+44>>2],h=i[u+48>>2]-r|0,n=_+h|0;f:{if(n>>>0>h>>>0){L2(u+44|0,_),_=i[u+36>>2],o=i[u+40>>2],r=i[u+44>>2];break f}if(n>>>0>=h>>>0)break f;i[u+48>>2]=r+n}l0(r+h|0,o,_),V[i[i[A>>2]+104>>2]](u+24|0,i[A+4>>2],u+40|0,u+36|0,0);continue}break}hi(i[e+48>>2],Z,u+44|0,0),w=i[u+76>>2],h=i[w+24>>2],n=i[w+28>>2],Vi(i[e+48>>2],Z,h,n),i[u+24>>2]=h,i[u+40>>2]=n,o=h,r=n,_=i[A>>2];f:{if(i[_>>2]<3||(_=i[_+112>>2],!_))break f;V[_|0](i[A+4>>2],o,r,u+24|0,u+40|0),o=i[u+24>>2],r=i[u+40>>2]}f:{if((o|0)==(h|0)&(r|0)==(n|0)||(ar(i[e+48>>2],Z,h,n,o,r),E3(h,n,i[w+36>>2])))break f;l[i[t>>2]+192|0]=0}gr(i[e+48>>2],Z,i[k+12>>2]),i[u+16>>2]=w,r=i[u+80>>2],i[u+20>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[u+20>>2],i[u+8>>2]=i[u+16>>2],i[u+12>>2]=r,Wi(e,u+8|0,Z),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,e=f+8|0;f:{if(l[78275]>=0){f=i[19567],i[e>>2]=i[19566],i[e+4>>2]=f,i[e+8>>2]=i[19568];break f}_0(e,i[19566],i[19567])}if(f=i[u+44>>2],!f)break A;i[u+48>>2]=f,G(f)}if(e=i[u+60>>2],!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e);break r}e=i[u+28>>2];e:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(e=i[u+48>>2],!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[u+80>>2];r:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}f=i[v+4>>2],i[v+4>>2]=f-1,f||(V[i[i[v>>2]+8>>2]](v),g(v)),B=u+144|0;return}c2(),P()}function _k(){var f=0,e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;for(l[84592]=0,l[84593]=0,l[84594]=0,l[84595]=1,l[84596]=1,l[84597]=0,l[84598]=1,l[84599]=1,l[81856]=0,l[81857]=0,l[81858]=1,l[81859]=0,l[81860]=0,l[81861]=1,l[81862]=1,l[81863]=1;;){if((f|0)<0)f=0;else{i:{r:{if(f>>>0<=1){if(k=e<<1,l[k+79127|0]=f,l[k+79126|0]=0,r=e+1|0,!f){e=r;break i}l[(r<<1)+79126|0]=1,A=f-1|0,k=2;break r}if((f|0)!=2)break i;A=1,l[(e<<1)+79126|0]=1,r=e,k=1}l[(r<<1)+79127|0]=A,e=e+k|0}f=f+1|0}if(!((e|0)<4))break}for(i[20474]=50397952,i[20475]=50529026,i[20472]=33620480,i[20473]=33751554,i[20470]=16843008,i[20471]=16974082,i[20468]=65536,i[20469]=196610,i[21152]=16777216,i[21153]=50332160,i[21154]=16842753,i[21155]=50397697,i[21156]=16908290,i[21157]=50463234,i[21158]=16973827,i[21159]=50528771,e=0,f=0;;){if((f|0)<0)f=0;else{i:{r:{e:{A:{f:{k:{if(f>>>0<=3){if(k=e<<1,l[k+79137|0]=f,l[k+79136|0]=0,k=e+1|0,f)break k;e=k;break i}if((f|0)!=4)break f;X[(e<<1)+79136>>1]=769,e=e+1|0;break e}if(k=k<<1,l[k+79137|0]=f-1,l[k+79136|0]=1,k=e+2|0,(f|0)!=1)break A;e=k;break i}if(f>>>0<6)break e;if((f|0)!=6)break i;break r}if(k=k<<1,l[k+79137|0]=f-2,l[k+79136|0]=2,k=e+3|0,(f|0)==2){e=k;break i}k=k<<1,l[k+79137|0]=f-3,l[k+79136|0]=3,e=e+4|0;break i}k=e<<1,l[k+79137|0]=f-2,l[k+79136|0]=2,e=e+1|0}k=e<<1,l[k+79137|0]=f-3,l[k+79136|0]=3,e=e+1|0}f=f+1|0}if(!((e|0)<16))break}for(i[20506]=117769988,i[20507]=117901062,i[20504]=117507840,i[20505]=117638914,i[20502]=100992516,i[20503]=101123590,i[20500]=100730368,i[20501]=100861442,i[20498]=84215044,i[20499]=84346118,i[20496]=83952896,i[20497]=84083970,i[20494]=67437572,i[20495]=67568646,i[20492]=67175424,i[20493]=67306498,i[20490]=50660100,i[20491]=50791174,i[20488]=50397952,i[20489]=50529026,i[20486]=33882628,i[20487]=34013702,i[20484]=33620480,i[20485]=33751554,i[20482]=17105156,i[20483]=17236230,i[20480]=16843008,i[20481]=16974082,i[20478]=327684,i[20479]=458758,i[20476]=65536,i[20477]=196610,i[21160]=16777216,i[21161]=50332160,i[21162]=83887104,i[21163]=117442048,i[21164]=16842753,i[21165]=50397697,i[21166]=83952641,i[21167]=117507585,i[21168]=16908290,i[21169]=50463234,i[21170]=84018178,i[21171]=117573122,i[21172]=16973827,i[21173]=50528771,i[21174]=84083715,i[21175]=117638659,i[21176]=17039364,i[21177]=50594308,i[21178]=84149252,i[21179]=117704196,i[21180]=17104901,i[21181]=50659845,i[21182]=84214789,i[21183]=117769733,i[21184]=17170438,i[21185]=50725382,i[21186]=84280326,i[21187]=117835270,i[21188]=17235975,i[21189]=50790919,i[21190]=84345863,i[21191]=117900807,r=0,k=0;;){if((k|0)<0)k=0;else{i:{if(!k){e=0,f=k;break i}for(t=k+1&-2,e=0,f=k,A=0;(f|0)>7|e>>>0>7||(n=r<<1,l[n+79169|0]=f,l[n+79168|0]=e,r=r+1|0),(f|0)>8|e>>>0>7||(n=r<<1,l[n+79169|0]=f-1,l[n+79168|0]=e|1,r=r+1|0),e=e+2|0,f=f-2|0,A=A+2|0,(t|0)!=(A|0););}k&1|(f|0)>7|e>>>0>7||(n=r<<1,l[n+79169|0]=f,l[n+79168|0]=e,r=r+1|0),k=k+1|0}if(!((r|0)<64))break}for(r=0,A=0;f=A<<1,l[f+82033|0]=r,e=0,l[f+82032|0]=0,l[f+82035|0]=r,l[f+82034|0]=1,l[f+82037|0]=r,l[f+82036|0]=2,l[f+82039|0]=r,l[f+82038|0]=3,l[f+82041|0]=r,l[f+82040|0]=4,l[f+82043|0]=r,l[f+82042|0]=5,l[f+82045|0]=r,l[f+82044|0]=6,l[f+82047|0]=r,l[f+82046|0]=7,l[f+82049|0]=r,l[f+82048|0]=8,l[f+82051|0]=r,l[f+82050|0]=9,l[f+82053|0]=r,l[f+82052|0]=10,l[f+82055|0]=r,l[f+82054|0]=11,l[f+82057|0]=r,l[f+82056|0]=12,l[f+82059|0]=r,l[f+82058|0]=13,l[f+82061|0]=r,l[f+82060|0]=14,l[f+82063|0]=r,l[f+82062|0]=15,A=A+16|0,r=r+1|0,(r|0)!=16;);for(A=0;r=0,f=A<<1,l[f+84769|0]=0,l[f+84768|0]=e,l[f+84771|0]=1,l[f+84770|0]=e,l[f+84773|0]=2,l[f+84772|0]=e,l[f+84775|0]=3,l[f+84774|0]=e,l[f+84777|0]=4,l[f+84776|0]=e,l[f+84779|0]=5,l[f+84778|0]=e,l[f+84781|0]=6,l[f+84780|0]=e,l[f+84783|0]=7,l[f+84782|0]=e,l[f+84785|0]=8,l[f+84784|0]=e,l[f+84787|0]=9,l[f+84786|0]=e,l[f+84789|0]=10,l[f+84788|0]=e,l[f+84791|0]=11,l[f+84790|0]=e,l[f+84793|0]=12,l[f+84792|0]=e,l[f+84795|0]=13,l[f+84794|0]=e,l[f+84797|0]=14,l[f+84796|0]=e,l[f+84799|0]=15,l[f+84798|0]=e,A=A+16|0,e=e+1|0,(e|0)!=16;);for(n=0;;){if(A=0,(n|0)<0)n=0;else{i:{if(!n){e=0,f=n;break i}for(h=n+1&-2,e=0,f=n,k=0;(f|0)>15|e>>>0>15||(t=r<<1,l[t+79297|0]=f,l[t+79296|0]=e,r=r+1|0),(f|0)>16|e>>>0>15||(t=r<<1,l[t+79297|0]=f-1,l[t+79296|0]=e|1,r=r+1|0),e=e+2|0,f=f-2|0,k=k+2|0,(h|0)!=(k|0););}n&1|(f|0)>15|e>>>0>15||(k=r<<1,l[k+79297|0]=f,l[k+79296|0]=e,r=r+1|0),n=n+1|0}if(!((r|0)<256))break}for(r=0;f=r<<1,l[f+82545|0]=A,e=0,l[f+82544|0]=0,l[f+82547|0]=A,l[f+82546|0]=1,l[f+82549|0]=A,l[f+82548|0]=2,l[f+82551|0]=A,l[f+82550|0]=3,l[f+82553|0]=A,l[f+82552|0]=4,l[f+82555|0]=A,l[f+82554|0]=5,l[f+82557|0]=A,l[f+82556|0]=6,l[f+82559|0]=A,l[f+82558|0]=7,l[f+82561|0]=A,l[f+82560|0]=8,l[f+82563|0]=A,l[f+82562|0]=9,l[f+82565|0]=A,l[f+82564|0]=10,l[f+82567|0]=A,l[f+82566|0]=11,l[f+82569|0]=A,l[f+82568|0]=12,l[f+82571|0]=A,l[f+82570|0]=13,l[f+82573|0]=A,l[f+82572|0]=14,l[f+82575|0]=A,l[f+82574|0]=15,l[f+82577|0]=A,l[f+82576|0]=16,l[f+82579|0]=A,l[f+82578|0]=17,l[f+82581|0]=A,l[f+82580|0]=18,l[f+82583|0]=A,l[f+82582|0]=19,l[f+82585|0]=A,l[f+82584|0]=20,l[f+82587|0]=A,l[f+82586|0]=21,l[f+82589|0]=A,l[f+82588|0]=22,l[f+82591|0]=A,l[f+82590|0]=23,l[f+82593|0]=A,l[f+82592|0]=24,l[f+82595|0]=A,l[f+82594|0]=25,l[f+82597|0]=A,l[f+82596|0]=26,l[f+82599|0]=A,l[f+82598|0]=27,l[f+82601|0]=A,l[f+82600|0]=28,l[f+82603|0]=A,l[f+82602|0]=29,l[f+82605|0]=A,l[f+82604|0]=30,l[f+82607|0]=A,l[f+82606|0]=31,r=r+32|0,A=A+1|0,(A|0)!=32;);for(A=0;r=0,f=A<<1,l[f+85281|0]=0,l[f+85280|0]=e,l[f+85283|0]=1,l[f+85282|0]=e,l[f+85285|0]=2,l[f+85284|0]=e,l[f+85287|0]=3,l[f+85286|0]=e,l[f+85289|0]=4,l[f+85288|0]=e,l[f+85291|0]=5,l[f+85290|0]=e,l[f+85293|0]=6,l[f+85292|0]=e,l[f+85295|0]=7,l[f+85294|0]=e,l[f+85297|0]=8,l[f+85296|0]=e,l[f+85299|0]=9,l[f+85298|0]=e,l[f+85301|0]=10,l[f+85300|0]=e,l[f+85303|0]=11,l[f+85302|0]=e,l[f+85305|0]=12,l[f+85304|0]=e,l[f+85307|0]=13,l[f+85306|0]=e,l[f+85309|0]=14,l[f+85308|0]=e,l[f+85311|0]=15,l[f+85310|0]=e,l[f+85313|0]=16,l[f+85312|0]=e,l[f+85315|0]=17,l[f+85314|0]=e,l[f+85317|0]=18,l[f+85316|0]=e,l[f+85319|0]=19,l[f+85318|0]=e,l[f+85321|0]=20,l[f+85320|0]=e,l[f+85323|0]=21,l[f+85322|0]=e,l[f+85325|0]=22,l[f+85324|0]=e,l[f+85327|0]=23,l[f+85326|0]=e,l[f+85329|0]=24,l[f+85328|0]=e,l[f+85331|0]=25,l[f+85330|0]=e,l[f+85333|0]=26,l[f+85332|0]=e,l[f+85335|0]=27,l[f+85334|0]=e,l[f+85337|0]=28,l[f+85336|0]=e,l[f+85339|0]=29,l[f+85338|0]=e,l[f+85341|0]=30,l[f+85340|0]=e,l[f+85343|0]=31,l[f+85342|0]=e,A=A+32|0,e=e+1|0,(e|0)!=32;);for(k=0;;){if((k|0)<0)k=0;else{i:{if(!k){e=0,f=k;break i}for(t=k+1&-2,e=0,f=k,A=0;(f|0)>31|e>>>0>31||(n=r<<1,l[n+79809|0]=f,l[n+79808|0]=e,r=r+1|0),(f|0)>32|e>>>0>31||(n=r<<1,l[n+79809|0]=f-1,l[n+79808|0]=e|1,r=r+1|0),e=e+2|0,f=f-2|0,A=A+2|0,(t|0)!=(A|0););}k&1|(f|0)>31|e>>>0>31||(n=r<<1,l[n+79809|0]=f,l[n+79808|0]=e,r=r+1|0),k=k+1|0}if(!((r|0)<1024))break}for(A=2;;){for(f=A-2|0,k=(1<<f<<f)-1|0,w=1<<A,Z=A<<2,_=i[Z+45264>>2],p=f<<2,v=i[p+45168>>2],n=0;;){for(h=_+(n<<A<<1)|0,r=0;;){for(o=h+(r<<1)|0,f=16,e=k;e=e-!f|0,u=v+(e<<1)|0,f=f?f-1|0:15,t=f<<1,!!((s[t+79136|0]+(s[u|0]<<2)|0)!=(r|0)|(s[t+79137|0]+(s[u+1|0]<<2)|0)!=(n|0)););if(l[o+1|0]=f,l[o|0]=e,r=r+1|0,(w|0)==(r|0))break}if(n=n+1|0,(w|0)==(n|0))break}for(_=i[p+45200>>2],v=i[Z+45288>>2],n=0;;){for(h=v+(n<<A<<1)|0,r=0;;){for(o=h+(r<<1)|0,f=16,e=k;e=e-!f|0,u=_+(e<<1)|0,f=f?f-1|0:15,t=f<<1,!!((s[t+81872|0]+(s[u|0]<<2)|0)!=(r|0)|(s[t+81873|0]+(s[u+1|0]<<2)|0)!=(n|0)););if(l[o+1|0]=f,l[o|0]=e,r=r+1|0,(w|0)==(r|0))break}if(n=n+1|0,(w|0)==(n|0))break}for(_=i[p+45232>>2],v=i[Z+45312>>2],n=0;;){for(h=v+(n<<A<<1)|0,r=0;;){for(o=h+(r<<1)|0,f=16,e=k;e=e-!f|0,u=_+(e<<1)|0,f=f?f-1|0:15,t=f<<1,!!((s[t+84608|0]+(s[u|0]<<2)|0)!=(r|0)|(s[t+84609|0]+(s[u+1|0]<<2)|0)!=(n|0)););if(l[o+1|0]=f,l[o|0]=e,r=r+1|0,(w|0)==(r|0))break}if(n=n+1|0,(w|0)==(n|0))break}if(A=A+1|0,(A|0)==6)break}}function vk(f,e,r,A,k,n,t,o,u,h,w,_,v,Z){var p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0;W=B-32|0,B=W,y=f,p=r,h0=e,f0=A,E=W+20|0,I=B+-64|0,B=I;i:{r:{e:{A:{f:{k:{if((_|0)>=16){v2(y+4|0,1008,0),l[r+312|0]=3,l[W+30|0]=0,l[W+31|0]=0,X[E>>1]=0,X[E+2>>1]=0,X[E+4>>1]=0,X[E+6>>1]=0;break k}if(l[W+31|0]=0,R=-1,J=t-1|0,i[I+60>>2]=J,i[I+56>>2]=J,e=o+h|0,i[I+52>>2]=e,C=e-1|0,i[I+48>>2]=C,l[W+30|0]=0,X[E>>1]=0,X[E+2>>1]=0,S=K4(p,f0,k,n,t,o,u,h,v,J,e),l[I+47|0]=S,q=K4(p,f0,k,n,t,o,u,h,v,J,C),l[I+46|0]=q,z=h0+924|0,d=w<<6,j=(z+d|0)+(_<<2)|0,r=V[i[i[y>>2]+8>>2]](y,i[j>>2])|0,!r)break k;f=1-w|0,H=i[r+96>>2];n:{if(s[W+30|0]|!S)break n;if(A=i[p+168>>2],r=J>>A,(r|0)<0||(A0=i[p+172>>2],(A0|0)<=(r|0)))break e;if(A=e>>A,(A|0)<0|(A|0)>=i[p+176>>2])break r;if(!(s[((i[p+160>>2]+m(r,3)|0)+m(m(A,A0),3)|0)+1|0]&3))break n;if(r=i[p+188>>2],A=J>>r,(A|0)<0||(A0=i[p+192>>2],(A0|0)<=(A|0)))break e;if(e=e>>r,(e|0)<0|(e|0)>=i[p+196>>2])break r;if(r=0,e=(i[p+180>>2]+m(A,12)|0)+m(m(e,A0),12)|0,A=e+w|0,s[A|0]){if(a=s[A+2|0],a>>>0>15)break k;a=V[i[i[y>>2]+8>>2]](y,i[(z+d|0)+(a<<2)>>2])|0}if(d=f+e|0,s[d|0]){if(r=s[d+2|0],r>>>0>15)break k;r=V[i[i[y>>2]+8>>2]](y,i[((f<<6)+z|0)+(r<<2)>>2])|0}t:{if(!(!a|!s[A|0])&&(A=w,i[a+96>>2]==(H|0)))break t;if(!r|!s[d|0]||(A=f,i[r+96>>2]!=(H|0)))break n}l[W+30|0]=1,r=e+(A<<2)|0,r=Q[r+4>>1]|Q[r+6>>1]<<16,X[E>>1]=r,X[E+2>>1]=r>>>16,R=l[(e+A|0)+2|0]}n:{if(s[W+30|0]|!q)break n;if(r=i[p+168>>2],e=J>>r,(e|0)<0||(A=i[p+172>>2],(A|0)<=(e|0)))break e;if(r=C>>r,(r|0)<0|(r|0)>=i[p+176>>2])break r;if(!(s[((i[p+160>>2]+m(e,3)|0)+m(m(r,A),3)|0)+1|0]&3))break n;if(r=i[p+188>>2],e=J>>r,(e|0)<0||(a=i[p+192>>2],(a|0)<=(e|0)))break e;if(r=C>>r,(r|0)<0|(r|0)>=i[p+196>>2])break r;if(A=0,e=(i[p+180>>2]+m(e,12)|0)+m(m(r,a),12)|0,r=e+w|0,s[r|0]){if(A=s[r+2|0],A>>>0>15)break k;A=V[i[i[y>>2]+8>>2]](y,i[((w<<6)+z|0)+(A<<2)>>2])|0}if(C=f+e|0,s[C|0]){if(D=s[C+2|0],D>>>0>15)break k;D=V[i[i[y>>2]+8>>2]](y,i[((f<<6)+z|0)+(D<<2)>>2])|0}t:{if(!(!A|!s[r|0])&&(r=w,i[A+96>>2]==(H|0)))break t;if(!D|!s[C|0]||(r=f,i[D+96>>2]!=(H|0)))break n}l[W+30|0]=1,A=e+(r<<2)|0,A=Q[A+4>>1]|Q[A+6>>1]<<16,X[E>>1]=A,X[E+2>>1]=A>>>16,R=l[(e+r|0)+2|0]}for(d=S|q,q=h0+1308|0,A0=q+(w<<4)|0,S=A0+_|0,a=y+4|0,r=I+60|0,A=I+52|0,e=I+47|0,D=1;;){if(!s[W+30|0]){C=-1;n:{if(s[e|0]!=1)break n;if(n0=i[r>>2],r=i[p+168>>2],e=n0>>r,(e|0)<0||(L=i[p+172>>2],(L|0)<=(e|0)))break e;if(A=i[A>>2],r=A>>r,(r|0)<0|(r|0)>=i[p+176>>2])break r;if(!(s[((i[p+160>>2]+m(e,3)|0)+m(m(r,L),3)|0)+1|0]&3))break n;if(r=i[p+188>>2],e=n0>>r,(e|0)<0||(n0=i[p+192>>2],(n0|0)<=(e|0)))break e;if(r=A>>r,(r|0)<0|(r|0)>=i[p+196>>2])break r;e=(i[p+180>>2]+m(e,12)|0)+m(m(r,n0),12)|0,A=e+w|0;t:{if(s[A|0]==1&&(r=w,A=A+2|0,s[S|0]==s[A0+l[A|0]|0]))break t;if(r=f+e|0,s[r|0]!=1||(A=r+2|0,r=f,s[S|0]!=s[l[A|0]+(q+(r<<4)|0)|0]))break n}l[W+30|0]=1,e=e+(r<<2)|0,e=Q[e+4>>1]|Q[e+6>>1]<<16,X[E>>1]=e,X[E+2>>1]=e>>>16,R=l[A|0],C=r}n:{if(s[W+30|0]!=1)break n;if((R|0)<0){l[W+30|0]=0,l[W+31|0]=0;break k}if((C|0)<0)break f;if(r=V[i[i[y>>2]+8>>2]](y,i[((C<<6)+z|0)+(R<<2)>>2])|0,V[i[i[y>>2]+8>>2]](y,i[j>>2])|0,s[(q+(C<<4)|0)+R|0]|s[S|0])break n;if(e=i[p+96>>2],r=i[r+96>>2],(e|0)!=(r|0)){r=e-r|0,r=(r|0)>=127?127:r,r=(r|0)<=-128?-128:r,A=r>>31,e=e-H|0,e=(e|0)>=127?127:e,e=m(((r^A)-A>>>1|16384)/(r|0)<<16>>16,(e|0)<=-128?-128:e)+32>>6,e=(e|0)>=4095?4095:e,A=(e|0)<=-4096?-4096:e,C=Q[E>>1]|Q[E+2>>1]<<16,e=m(A,C>>16),r=e>>31,e=m(((e^r)-r|0)+127>>>8|0,(e|0)<0?-1:(e|0)!=0),e=(e|0)>=32767?32767:e,X[E+2>>1]=(e|0)<=-32768?-32768:e,e=m(A,C<<16>>16),r=e>>31,e=m(((e^r)-r|0)+127>>>8|0,(e|0)<0?-1:(e|0)!=0),e=(e|0)>=32767?32767:e,X[E>>1]=(e|0)<=-32768?-32768:e;break n}v2(a,1008,0),l[p+312|0]=3}if(C=D&1,r=I+56|0,A=I+48|0,e=I+46|0,D=0,C)continue}break}i[I+40>>2]=J,D=-1,e=o-1|0,i[I+20>>2]=e,i[I+24>>2]=e,i[I+28>>2]=e,e=t+u|0,i[I+32>>2]=e,i[I+36>>2]=e-1,l[W+31|0]=0,X[E+4>>1]=0,X[E+6>>1]=0,e=i[I+32>>2],r=i[I+20>>2],A=K4(p,f0,k,n,t,o,u,h,v,e,r),l[I+17|0]=A,J=E+4|0;n:{if(s[W+31|0]|!A)break n;if(A=i[p+188>>2],e=e>>A,(e|0)<0||(C=i[p+192>>2],(C|0)<=(e|0)))break e;if(A=r>>A,(A|0)<0|(A|0)>=i[p+196>>2])break r;if(r=0,R=0,A=(i[p+180>>2]+m(e,12)|0)+m(m(A,C),12)|0,e=A+w|0,s[e|0]){if(C=s[e+2|0],C>>>0>15)break k;R=V[i[i[y>>2]+8>>2]](y,i[((w<<6)+z|0)+(C<<2)>>2])|0}if(C=f+A|0,s[C|0]){if(r=s[C+2|0],r>>>0>15)break k;r=V[i[i[y>>2]+8>>2]](y,i[((f<<6)+z|0)+(r<<2)>>2])|0}t:{if(!(!R|!s[e|0])&&(e=w,i[R+96>>2]==(H|0)))break t;if(!r|!s[C|0]||(e=f,i[r+96>>2]!=(H|0)))break n}l[W+31|0]=1,r=A+(e<<2)|0,r=Q[r+4>>1]|Q[r+6>>1]<<16,X[J>>1]=r,X[J+2>>1]=r>>>16,D=l[(e+A|0)+2|0]}e=i[I+36>>2],r=i[I+24>>2],A=K4(p,f0,k,n,t,o,u,h,v,e,r),l[I+18|0]=A;n:{if(s[W+31|0]|!A)break n;if(A=i[p+188>>2],e=e>>A,(e|0)<0||(C=i[p+192>>2],(C|0)<=(e|0)))break e;if(A=r>>A,(A|0)<0|(A|0)>=i[p+196>>2])break r;if(r=0,R=0,A=(i[p+180>>2]+m(e,12)|0)+m(m(A,C),12)|0,e=A+w|0,s[e|0]){if(C=s[e+2|0],C>>>0>15)break k;R=V[i[i[y>>2]+8>>2]](y,i[((w<<6)+z|0)+(C<<2)>>2])|0}if(C=f+A|0,s[C|0]){if(r=s[C+2|0],r>>>0>15)break k;r=V[i[i[y>>2]+8>>2]](y,i[((f<<6)+z|0)+(r<<2)>>2])|0}t:{if(!(!R|!s[e|0])&&(e=w,i[R+96>>2]==(H|0)))break t;if(!r|!s[C|0]||(e=f,i[r+96>>2]!=(H|0)))break n}l[W+31|0]=1,r=A+(e<<2)|0,r=Q[r+4>>1]|Q[r+6>>1]<<16,X[J>>1]=r,X[J+2>>1]=r>>>16,D=l[(e+A|0)+2|0]}e=i[I+40>>2],r=i[I+28>>2],A=K4(p,f0,k,n,t,o,u,h,v,e,r),l[I+19|0]=A;n:{if(s[W+31|0]|!A)break n;if(A=i[p+188>>2],e=e>>A,(e|0)<0||(k=i[p+192>>2],(k|0)<=(e|0)))break e;if(A=r>>A,(A|0)<0|(A|0)>=i[p+196>>2])break r;if(r=0,R=0,A=(i[p+180>>2]+m(e,12)|0)+m(m(A,k),12)|0,e=A+w|0,s[e|0]){if(k=s[e+2|0],k>>>0>15)break k;R=V[i[i[y>>2]+8>>2]](y,i[((w<<6)+z|0)+(k<<2)>>2])|0}if(k=f+A|0,s[k|0]){if(r=s[k+2|0],r>>>0>15)break k;r=V[i[i[y>>2]+8>>2]](y,i[((f<<6)+z|0)+(r<<2)>>2])|0}t:{if(!(!R|!s[e|0])&&(e=w,i[R+96>>2]==(H|0)))break t;if(!r|!s[k|0]||(e=f,i[r+96>>2]!=(H|0)))break n}l[W+31|0]=1,r=A+(e<<2)|0,r=Q[r+4>>1]|Q[r+6>>1]<<16,X[J>>1]=r,X[J+2>>1]=r>>>16,D=l[(e+A|0)+2|0]}if(d)break k;for(s[W+31|0]&&(l[W+30|0]=1,e=Q[E+4>>1]|Q[E+6>>1]<<16,X[E>>1]=e,X[E+2>>1]=e>>>16),l[W+31|0]=0,n=q+(w<<4)|0,C=0;;){e=-1;n:{if(s[(I+17|0)+C|0]!=1)break n;if(r=C<<2,A=i[p+188>>2],e=i[r+(I+32|0)>>2]>>A,(e|0)<0||(k=i[p+192>>2],(k|0)<=(e|0)))break e;if(r=i[r+(I+20|0)>>2]>>A,(r|0)<0|(r|0)>=i[p+196>>2])break r;t:{o:{if(k=(i[p+180>>2]+m(e,12)|0)+m(m(r,k),12)|0,v=k+2|0,r=v+w|0,e=l[r|0],(e|0)<=15){if(s[k+w|0]==1&&(A=w,s[S|0]==s[e+n|0]))break t;if(s[f+k|0]==1)break o;e=-1;break n}l[p+312|0]=3,v2(a,1012,0);break k}if(A=f,r=v+A|0,e=-1,s[S|0]!=s[l[r|0]+(q+(A<<4)|0)|0])break n}l[W+31|0]=1,e=k+(A<<2)|0,e=Q[e+4>>1]|Q[e+6>>1]<<16,X[J>>1]=e,X[J+2>>1]=e>>>16,D=l[r|0],e=A}n:{if(s[W+31|0]!=1)break n;if((D|0)<0){l[W+30|0]=0,l[W+31|0]=0;break k}if((e|0)<0)break A;r=V[i[i[y>>2]+8>>2]](y,i[((e<<6)+z|0)+(D<<2)>>2])|0,A=V[i[i[y>>2]+8>>2]](y,i[j>>2])|0;t:{if(!(A&&r)){v2(i[p+112>>2]+4|0,1012,0);break t}if(r=i[r+96>>2],s[S|0]|(s[(q+(e<<4)|0)+D|0]|(r|0)==i[A+96>>2])||(e=i[p+96>>2],A=Q[J>>1]|Q[J+2>>1]<<16,i[I+8>>2]=A,i[I+12>>2]=A,C7(J,I+8|0,e-r|0,e-H|0)))break n;v2(a,1008,0)}l[p+312|0]=3}if(C=C+1|0,(C|0)==3)break k;if(s[W+31|0])break}}B=I- -64|0;break i}C0(17142,13964,1801,6195),P()}C0(17142,13964,1959,6195),P()}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}i:{r:{e:{A:{f:{k:{if(f=s[W+30|0],e=s[W+31|0],!(!f|!e)){if(Q[W+20>>1]!=Q[W+24>>1]|Q[W+22>>1]!=Q[W+26>>1])break k;dr(y,p,h0,t,o,u,h,_,w,W+12|0,W+19|0);break f}if(dr(y,p,h0,t,o,u,h,_,w,W+12|0,W+19|0),f)break A;if(_=0,f=0,!e)break i;break r}l[W+19|0]=0}f=i[W+20>>2],X[Z>>1]=f,X[Z+2>>1]=f>>>16;break e}if(f=i[W+20>>2],X[Z>>1]=f,X[Z+2>>1]=f>>>16,e)break e;f=1;break i}if(_=1,Q[W+20>>1]!=Q[W+24>>1])break r;if(f=1,Q[W+22>>1]==Q[W+26>>1])break i}f=(_<<2)+Z|0,e=i[W+24>>2],X[f>>1]=e,X[f+2>>1]=e>>>16,f=_+1|0}_=f,s[W+19|0]&&(f=(_<<2)+Z|0,e=i[W+12>>2],X[f>>1]=e,X[f+2>>1]=e>>>16,_=_+1|0);i:{if(_>>>0<=1){f=_<<2,B0(f+Z|0,0,8-f|0);break i}if((_|0)==2)break i;C0(16737,13964,2063,3803),P()}B=W+32|0}function Ns(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0;for(A=B-176|0,B=A,i[A+64>>2]=54820,n=i[13708],i[A+8>>2]=n,k=i[n-12>>2],n=A+8|0,i[k+n>>2]=i[13709],k=n+i[i[A+8>>2]-12>>2]|0,t=A+12|0,b0(k,t),i[k+72>>2]=0,i[k+76>>2]=-1,i[A+64>>2]=54820,i[A+8>>2]=54800,Z=$0(t),i[Z>>2]=53552,i[A+52>>2]=0,i[A+56>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+60>>2]=16,k=A+164|0,R2(k,e,r),v=n,o=k,n=l[A+175|0],k=(n|0)<0,x(v,k?i[A+164>>2]:o,k?i[A+168>>2]:n),l[A+175|0]<0&&G(i[A+164>>2]),n=A+164|0,W0(n,r),o=n,n=l[A+175|0],k=(n|0)<0,x(A+8|0,k?i[A+164>>2]:o,k?i[A+168>>2]:n),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(A+8|0,20322,23),s[e+48|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,21214,23),s[e+49|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(re(x(n,20609,19),s[e+50|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),x(H0(x(n,21413,21),s[e+51|0]),31338,1),n=A+164|0,W0(n,r),o=n,n=l[A+175|0],k=(n|0)<0,x(A+8|0,k?i[A+164>>2]:o,k?i[A+168>>2]:n),l[A+175|0]<0&&G(i[A+164>>2]),x(A+8|0,19884,37),n=0;;){k=A+8|0,L0(k,i[e+52>>2]>>>31-n&1);i:{if((n&7)==7){l[A+164|0]=32,x(k,A+164|0,1);break i}if((n&3)!=3)break i;l[A+164|0]=46,x(A+8|0,A+164|0,1)}if(n=n+1|0,(n|0)==32)break}for(k=A+8|0,x(k,31338,1),t=A+164|0,W0(t,r),n=0,v=k,o=t,k=l[A+175|0],t=(k|0)<0,x(v,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),x(A+8|0,19922,36),k=e+56|0;t=A+8|0,H0(t,i[k+(n>>>3&536870908)>>2]>>>n&1),n=n+1|0,n&7||(l[A+164|0]=32,x(t,A+164|0,1)),(n|0)!=48;);n=A+8|0,x(n,31338,1),k=A+164|0,W0(k,r),v=n,o=k,n=l[A+175|0],k=(n|0)<0,x(v,k?i[A+164>>2]:o,k?i[A+168>>2]:n),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(A+8|0,21393,19),s[e+64|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(L0(x(n,21362,30),Q[e+66>>1]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,20978,18),s[e+68|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),x(n,19643,15);i:{r:{e:{A:{f:switch(n=s[e+69|0],n-1|0){case 2:break e;case 1:break A;case 0:break f;default:break r}x(A+8|0,17203,5);break i}x(A+8|0,16785,5);break i}x(A+8|0,16639,5);break i}H0(A+8|0,n)}n=x(A+8|0,31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,21442,16),s[e+70|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,21459,18),s[e+71|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(L0(x(n,20862,16),Q[e+72>>1]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,20840,21),s[e+74|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,19783,21),s[e+75|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,21327,20),s[e+76|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),x(H0(x(n,20723,13),s[e+80|0]),31338,1);i:{if(_=i[e+84>>2],y=i[e+88>>2],(_|0)!=(y|0))for(v=A+20|0;;){e=A+164|0,W0(e,r),k=e,e=l[A+175|0],n=(e|0)<0,x(A+8|0,n?i[A+164>>2]:k,n?i[A+168>>2]:e),l[A+175|0]<0&&G(i[A+164>>2]),e=A+8|0,x(e,30565,8),i[r>>2]=i[r>>2]+1,n=A+164|0,W0(n,r),o=e,k=n,e=l[A+175|0],n=(e|0)<0,x(o,n?i[A+164>>2]:k,n?i[A+168>>2]:e),l[A+175|0]<0&&G(i[A+164>>2]),e=x(H0(x(A+8|0,19725,20),s[_|0]),31338,1),n=A+164|0,W0(n,r),o=n,n=l[A+175|0],k=(n|0)<0,x(e,k?i[A+164>>2]:o,k?i[A+168>>2]:n),l[A+175|0]<0&&G(i[A+164>>2]),x(H0(x(e,20933,15),s[_+1|0]),31338,1);r:{if(p=i[_+4>>2],E=i[_+8>>2],(p|0)==(E|0))break r;for(;;){W0(A+144|0,r),t=l[A+155|0],o=i[A+144>>2],w=i[A+148>>2],e=A+8|0,W=V1(A+156|0,e);e:{if(s[W|0]!=1)break e;u=e+i[i[A+8>>2]-12>>2]|0,I=i[u+4>>2],n=i[u+24>>2],k=i[u+76>>2],(k|0)==-1&&(h=A+164|0,e=i[u+28>>2],i[h>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(h,100192),k=V[i[i[e>>2]+28>>2]](e,32)|0,O0(h),i[u+76>>2]=k);A:{if(!n||(h=i[u+12>>2],e=o,o=(t|0)<0,e=o?e:A+144|0,t=o?w:t,C=e+t|0,o=(I&176)==32?C:e,w=o-e|0,(w|0)>0&&(V[i[i[n>>2]+48>>2]](n,e,w)|0)!=(w|0)))break A;if(e=(t|0)<(h|0)?h-t|0:0,(e|0)>0){if(e>>>0>=2147483640)break i;f:{if(e>>>0>=11){h=(e|7)+1|0,t=U(h),i[A+172>>2]=h|-2147483648,i[A+164>>2]=t,i[A+168>>2]=e;break f}l[A+175|0]=e,t=A+164|0}if(J=B0(t,k,e)+e|0,R=0,l[J|0]=R,k=V[i[i[n>>2]+48>>2]](n,l[A+175|0]<0?i[A+164>>2]:A+164|0,e)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(k|0))break A}if(e=C-o|0,(e|0)>0&&(V[i[i[n>>2]+48>>2]](n,o,e)|0)!=(e|0))break A;i[u+12>>2]=0;break e}e=i[i[A+8>>2]-12>>2]+(A+8|0)|0,z1(e,i[e+16>>2]|5)}if(Z1(W),l[A+155|0]<0&&G(i[A+144>>2]),n=i[p>>2],W=i[p+4>>2],(n|0)!=(W|0))for(;;){u=s[n|0],e=i[A+8>>2],k=i[e-12>>2]+(A+8|0)|0,i[k+76>>2]==-1&&(t=A+164|0,e=i[k+28>>2],i[t>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(t,100192),V[i[i[e>>2]+28>>2]](e,32)|0,O0(t),e=i[A+8>>2]),i[k+76>>2]=48,e=e-12|0,i[i[e>>2]+v>>2]=2,e=i[e>>2]+Z|0,i[e>>2]=i[e>>2]&-75|8,u=H0(A+8|0,u),I=V1(A+144|0,u);e:{if(s[I|0]!=1)break e;t=u+i[i[u>>2]-12>>2]|0,w=i[t+4>>2],k=i[t+24>>2],h=i[t+76>>2],(h|0)==-1&&(o=A+164|0,e=i[t+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100192),h=V[i[i[e>>2]+28>>2]](e,32)|0,O0(o),i[t+76>>2]=h);A:{if(!k||(e=i[t+12>>2],w=(w&176)==32?21742:21741,o=w-21741|0,(o|0)>0&&(V[i[i[k>>2]+48>>2]](k,21741,o)|0)!=(o|0)))break A;if(e=(e|0)>1?e-1|0:0,(e|0)>0){if(e>>>0>=2147483640)break i;f:{if(e>>>0>=11){C=(e|7)+1|0,o=U(C),i[A+172>>2]=C|-2147483648,i[A+164>>2]=o,i[A+168>>2]=e;break f}l[A+175|0]=e,o=A+164|0}if(J=B0(o,h,e)+e|0,R=0,l[J|0]=R,h=V[i[i[k>>2]+48>>2]](k,l[A+175|0]<0?i[A+164>>2]:A+164|0,e)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(h|0))break A}if(e=21742-w|0,(e|0)>0&&(V[i[i[k>>2]+48>>2]](k,w,e)|0)!=(e|0))break A;i[t+12>>2]=0;break e}e=u+i[i[u>>2]-12>>2]|0,z1(e,i[e+16>>2]|5)}if(Z1(I),n=n+1|0,(W|0)==(n|0))break}e:{e=A+8|0,o=V1(A+144|0,e);A:{if(s[o|0]!=1)break A;u=e+i[i[A+8>>2]-12>>2]|0,h=i[u+4>>2],n=i[u+24>>2],t=i[u+76>>2],(t|0)==-1&&(k=A+164|0,e=i[u+28>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100192),t=V[i[i[e>>2]+28>>2]](e,32)|0,O0(k),i[u+76>>2]=t);f:{if(!n||(e=i[u+12>>2],h=(h&176)==32?31339:31338,k=h-31338|0,(k|0)>0&&(V[i[i[n>>2]+48>>2]](n,31338,k)|0)!=(k|0)))break f;if(e=(e|0)>1?e-1|0:0,(e|0)>0){if(e>>>0>=2147483640)break e;k:{if(e>>>0>=11){w=(e|7)+1|0,k=U(w),i[A+172>>2]=w|-2147483648,i[A+164>>2]=k,i[A+168>>2]=e;break k}l[A+175|0]=e,k=A+164|0}if(J=B0(k,t,e)+e|0,R=0,l[J|0]=R,k=V[i[i[n>>2]+48>>2]](n,l[A+175|0]<0?i[A+164>>2]:A+164|0,e)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(k|0))break f}if(e=31339-h|0,(e|0)>0&&(V[i[i[n>>2]+48>>2]](n,h,e)|0)!=(e|0))break f;i[u+12>>2]=0;break A}e=i[i[A+8>>2]-12>>2]+(A+8|0)|0,z1(e,i[e+16>>2]|5)}if(Z1(o),e=i[i[A+8>>2]-12>>2]+Z|0,i[e>>2]=i[e>>2]&-75|2,p=p+12|0,(E|0)==(p|0))break r;continue}break}break i}if(e=i[r>>2],i[r>>2]=(e|0)>0?e-1|0:0,_=_+16|0,(y|0)==(_|0))break}i2(f,Z),f=i[13707],i[A+8>>2]=f,i[i[f-12>>2]+(A+8|0)>>2]=i[13710],i[Z>>2]=53552,l[A+55|0]<0&&G(i[A+44>>2]),K0(Z),T0(A- -64|0),B=A+176|0;return}c2(),P()}function mk(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;i:{r:{e:for(;;){for(C=e-4|0,I=e-20|0,p=e-24|0,y=e-12|0,W=e-16|0,v=e-8|0;;){A:{f:{k:{n:{t:{o:{u:switch(k=f,t=e-k>>3,t|0){case 3:break o;case 2:break u;case 0:case 1:break A;case 4:break k;case 5:break t;default:break n}if(i[e-4>>2]<=i[k+4>>2])break A;n=i[k>>2],_=i[k+4>>2],f=e-8|0,e=i[f+4>>2],i[k>>2]=i[f>>2],i[k+4>>2]=e;break r}if(f=e-8|0,A=e-4|0,r=i[A>>2],e=i[k+12>>2],(e|0)<=i[k+4>>2]){if((e|0)>=(r|0)||(A=i[k+8>>2],r=i[k+12>>2],e=i[f+4>>2],i[k+8>>2]=i[f>>2],i[k+12>>2]=e,i[f>>2]=A,i[f+4>>2]=r,i[k+12>>2]<=i[k+4>>2]))break A;n=i[k+8>>2],_=i[k+12>>2];break i}if(n=i[k>>2],_=i[k+4>>2],(e|0)<(r|0)){e=i[f+4>>2],i[k>>2]=i[f>>2],i[k+4>>2]=e;break r}if(r=i[k+8>>2],e=i[k+12>>2],i[k+8>>2]=n,i[k+12>>2]=_,i[k>>2]=r,i[k+4>>2]=e,(_|0)>=i[A>>2])break A;e=i[f+4>>2],i[k+8>>2]=i[f>>2],i[k+12>>2]=e;break r}if(Tr(k,k+8|0,k+16|0,k+24|0),i[e-4>>2]<=i[k+28>>2]||(A=i[k+24>>2],r=i[k+28>>2],e=e-8|0,f=i[e+4>>2],i[k+24>>2]=i[e>>2],i[k+28>>2]=f,i[e>>2]=A,i[e+4>>2]=r,i[k+28>>2]<=i[k+20>>2])||(n=i[k+24>>2],_=i[k+28>>2],f=i[k+20>>2],i[k+24>>2]=i[k+16>>2],i[k+28>>2]=f,i[k+16>>2]=n,i[k+20>>2]=_,(_|0)<=i[k+12>>2])||(f=i[k+12>>2],i[k+16>>2]=i[k+8>>2],i[k+20>>2]=f,i[k+8>>2]=n,i[k+12>>2]=_,(_|0)<=i[k+4>>2]))break A;break i}if((t|0)<=23){if(f=k+8|0,r=(e|0)==(k|0)|(e|0)==(f|0),A&1){if(r)break A;for(h=k;;){if(r=f,i[h+12>>2]>i[h+4>>2]){for(n=i[f>>2],A=i[f+4>>2],t=f;;){n:{if(f=h,u=i[f+4>>2],i[t>>2]=i[f>>2],i[t+4>>2]=u,(f|0)==(k|0)){f=k;break n}if(h=f-8|0,t=f,(A|0)>i[f-4>>2])continue}break}i[f>>2]=n,i[f+4>>2]=A}if(h=r,f=h+8|0,(e|0)==(f|0))break}break A}if(r)break A;for(;;){if(i[k+12>>2]>i[k+4>>2]){for(A=i[f>>2],r=i[f+4>>2],h=f;n=h,h=k,t=i[k+4>>2],i[n>>2]=i[k>>2],i[n+4>>2]=t,k=k-8|0,(r|0)>i[h-4>>2];);i[h>>2]=A,i[h+4>>2]=r}if(k=f,f=k+8|0,(e|0)==(f|0))break}break A}if(!r){if((e|0)==(k|0))break A;for(w=t-2>>>1|0,f=w;;){_=f;n:{if((f|0)>(w|0)||(u=(f<<3)+k|0,r=f<<1&1073741822,h=r|1,f=(h<<3)+k|0,r=r+2|0,(r|0)<(t|0)&&(A=r,r=i[f+4>>2]>i[f+12>>2],h=r?A:h,f=(r<<3)+f|0),i[f+4>>2]>i[u+4>>2]))break n;for(A=i[u>>2],r=i[u+4>>2];;){t:{if(n=u,u=f,Z=i[f+4>>2],i[n>>2]=i[f>>2],i[n+4>>2]=Z,(h|0)>(w|0))break t;if(n=h<<1,h=n|1,f=(h<<3)+k|0,n=n+2|0,(n|0)<(t|0)&&(Z=n,n=i[f+4>>2]>i[f+12>>2],h=n?Z:h,f=(n<<3)+f|0),(r|0)>=i[f+4>>2])continue}break}i[u>>2]=A,i[u+4>>2]=r}if(f=_-1|0,!((_|0)>0))break}for(;;){for(u=t,_=t-2>>>1|0,A=i[k>>2],Z=i[k+4>>2],h=0,t=k;;){n=h<<1,r=n|1,w=(h<<3)+t|0,f=w+8|0,n=n+2|0;n:{if((n|0)>=(u|0)){h=r;break n}h=r,r=i[w+12>>2]>i[w+20>>2],h=r?n:h,f=r?w+16|0:f}if(r=i[f+4>>2],i[t>>2]=i[f>>2],i[t+4>>2]=r,t=f,!((h|0)<=(_|0)))break}e=e-8|0;n:{if((f|0)==(e|0)){i[f>>2]=A,i[f+4>>2]=Z;break n}if(r=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=r,i[e>>2]=A,i[e+4>>2]=Z,r=(f-k|0)+8>>3,(r|0)<2||(h=r-2>>>1|0,t=(h<<3)+k|0,i[t+4>>2]<=i[f+4>>2]))break n;for(n=i[f>>2],A=i[f+4>>2];;){t:{if(r=f,f=t,t=i[f+4>>2],i[r>>2]=i[f>>2],i[r+4>>2]=t,!h)break t;if(h=h-1>>>1|0,t=(h<<3)+k|0,(A|0)<i[t+4>>2])continue}break}i[f>>2]=n,i[f+4>>2]=A}if(t=u-1|0,!((u|0)>2))break}break A}o=(t>>>1<<3)+k|0,u=i[C>>2];n:{if(t>>>0>=129){n=i[o+4>>2];t:{if((n|0)<=i[k+4>>2]){if((n|0)>=(u|0)||(t=i[o>>2],n=i[o+4>>2],f=i[v+4>>2],i[o>>2]=i[v>>2],i[o+4>>2]=f,i[v>>2]=t,i[v+4>>2]=n,i[o+4>>2]<=i[k+4>>2]))break t;t=i[k>>2],n=i[k+4>>2],f=i[o+4>>2],i[k>>2]=i[o>>2],i[k+4>>2]=f,i[o>>2]=t,i[o+4>>2]=n;break t}f=i[k>>2],t=i[k+4>>2];o:{if((n|0)<(u|0)){n=i[v+4>>2],i[k>>2]=i[v>>2],i[k+4>>2]=n;break o}if(n=i[o+4>>2],i[k>>2]=i[o>>2],i[k+4>>2]=n,i[o>>2]=f,i[o+4>>2]=t,(t|0)>=i[C>>2])break t;n=i[v+4>>2],i[o>>2]=i[v>>2],i[o+4>>2]=n}i[v>>2]=f,i[v+4>>2]=t}t=i[y>>2],w=o-8|0,n=i[w+4>>2];t:{if((n|0)<=i[k+12>>2]){if((n|0)>=(t|0)||(t=i[w>>2],n=i[w+4>>2],f=i[W+4>>2],i[w>>2]=i[W>>2],i[w+4>>2]=f,i[W>>2]=t,i[W+4>>2]=n,i[w+4>>2]<=i[k+12>>2]))break t;t=i[k+8>>2],n=i[k+12>>2],f=i[w+4>>2],i[k+8>>2]=i[w>>2],i[k+12>>2]=f,i[w>>2]=t,i[w+4>>2]=n;break t}f=i[k+8>>2],u=i[k+12>>2];o:{if((n|0)<(t|0)){n=i[W+4>>2],i[k+8>>2]=i[W>>2],i[k+12>>2]=n;break o}if(n=i[w+4>>2],i[k+8>>2]=i[w>>2],i[k+12>>2]=n,i[w>>2]=f,i[w+4>>2]=u,(u|0)>=i[y>>2])break t;n=i[W+4>>2],i[w>>2]=i[W>>2],i[w+4>>2]=n}i[W>>2]=f,i[W+4>>2]=u}t=i[I>>2],n=i[o+12>>2];t:{if((n|0)<=i[k+20>>2]){if((n|0)>=(t|0)||(t=i[o+8>>2],n=i[o+12>>2],f=i[p+4>>2],i[o+8>>2]=i[p>>2],i[o+12>>2]=f,i[p>>2]=t,i[p+4>>2]=n,i[o+12>>2]<=i[k+20>>2]))break t;t=i[k+16>>2],n=i[k+20>>2],f=i[o+12>>2],i[k+16>>2]=i[o+8>>2],i[k+20>>2]=f,i[o+8>>2]=t,i[o+12>>2]=n;break t}f=i[k+16>>2],u=i[k+20>>2];o:{if((n|0)<(t|0)){n=i[p+4>>2],i[k+16>>2]=i[p>>2],i[k+20>>2]=n;break o}if(n=i[o+12>>2],i[k+16>>2]=i[o+8>>2],i[k+20>>2]=n,i[o+8>>2]=f,i[o+12>>2]=u,(u|0)>=i[I>>2])break t;n=i[p+4>>2],i[o+8>>2]=i[p>>2],i[o+12>>2]=n}i[p>>2]=f,i[p+4>>2]=u}Z=i[o+12>>2],h=i[o+4>>2],u=i[w+4>>2];t:{if((h|0)<=(u|0)){if(n=i[o>>2],_=i[o+4>>2],(h|0)>=(Z|0))break t;if(t=i[o+12>>2],f=i[o+8>>2],i[o>>2]=f,i[o+4>>2]=t,i[o+8>>2]=n,i[o+12>>2]=_,(t|0)<=(u|0)){n=f,_=t;break t}n=i[w>>2],_=i[w+4>>2],i[w>>2]=f,i[w+4>>2]=t,i[o>>2]=n,i[o+4>>2]=_;break t}if(f=i[w>>2],t=i[w+4>>2],(h|0)<(Z|0)){n=i[o+12>>2],i[w>>2]=i[o+8>>2],i[w+4>>2]=n,i[o+8>>2]=f,i[o+12>>2]=t,n=i[o>>2],_=i[o+4>>2];break t}if(n=i[o+4>>2],i[w>>2]=i[o>>2],i[w+4>>2]=n,i[o>>2]=f,i[o+4>>2]=t,(t|0)>=(Z|0)){n=f,_=t;break t}u=i[o+12>>2],_=u,n=i[o+8>>2],i[o>>2]=n,i[o+4>>2]=u,i[o+8>>2]=f,i[o+12>>2]=t}t=i[k>>2],f=i[k+4>>2],i[k>>2]=n,i[k+4>>2]=_,i[o>>2]=t,i[o+4>>2]=f;break n}if(n=i[k+4>>2],(n|0)<=i[o+4>>2]){if((n|0)>=(u|0)||(t=i[k>>2],n=i[k+4>>2],f=i[v+4>>2],i[k>>2]=i[v>>2],i[k+4>>2]=f,i[v>>2]=t,i[v+4>>2]=n,i[k+4>>2]<=i[o+4>>2]))break n;t=i[o>>2],n=i[o+4>>2],f=i[k+4>>2],i[o>>2]=i[k>>2],i[o+4>>2]=f,i[k>>2]=t,i[k+4>>2]=n;break n}f=i[o>>2],t=i[o+4>>2];t:{if((n|0)<(u|0)){n=i[v+4>>2],i[o>>2]=i[v>>2],i[o+4>>2]=n;break t}if(n=i[k+4>>2],i[o>>2]=i[k>>2],i[o+4>>2]=n,i[k>>2]=f,i[k+4>>2]=t,(t|0)>=i[C>>2])break n;n=i[v+4>>2],i[k>>2]=i[v>>2],i[k+4>>2]=n}i[v>>2]=f,i[v+4>>2]=t}if(r=r-1|0,E=A&1,E){n=i[k>>2],_=i[k+4>>2];break f}if(n=i[k>>2],f=i[k+4>>2],_=f,i[k-4>>2]>i[k+4>>2])break f;t=k,u=k,h=f;n:{if((f|0)>i[C>>2]){for(;;)if(A=t,f=t+8|0,t=f,!((h|0)<=i[A+12>>2]))break n}for(;;){if(f=u+8|0,e>>>0<=f>>>0)break n;if(A=u,u=f,!((h|0)<=i[A+12>>2]))break}}if(u=e,u>>>0>f>>>0)for(;A=u-4|0,u=u-8|0,(h|0)>i[A>>2];);if(f>>>0<u>>>0)for(;;){for(Z=i[f>>2],t=i[f+4>>2],A=i[u+4>>2],i[f>>2]=i[u>>2],i[f+4>>2]=A,i[u>>2]=Z,i[u+4>>2]=t;t=f,A=f+8|0,f=A,(h|0)<=i[t+12>>2];);for(f=u;t=f-4|0,u=f-8|0,f=u,(h|0)>i[t>>2];);if(f=A,!(u>>>0>f>>>0))break}t=f-8|0,(t|0)!=(k|0)&&(A=i[t+4>>2],i[k>>2]=i[t>>2],i[k+4>>2]=A),i[t>>2]=n,i[t+4>>2]=_,A=0;continue}Tr(k,k+8|0,k+16|0,e-8|0);break A}for(t=k;h=t,t=t+8|0,i[h+12>>2]>(_|0););u=e,f=u;f:{if((k|0)==(h|0))for(;;){if(t>>>0>=u>>>0){Z=u;break f}if(f=u-4|0,Z=u-8|0,u=Z,!(i[f>>2]<=(_|0)))break f}for(;u=f-4|0,Z=f-8|0,f=Z,i[u>>2]<=(_|0););}if(f=Z,u=t,f>>>0>t>>>0)for(;;){for(o=i[u>>2],w=i[u+4>>2],h=i[f+4>>2],i[u>>2]=i[f>>2],i[u+4>>2]=h,i[f>>2]=o,i[f+4>>2]=w;h=u,u=u+8|0,i[h+12>>2]>(_|0););for(;w=f-4|0,f=f-8|0,i[w>>2]<=(_|0););if(!(f>>>0>u>>>0))break}if((k|0)!=(h|0)&&(f=i[h+4>>2],i[k>>2]=i[h>>2],i[k+4>>2]=f),i[h>>2]=n,i[h+4>>2]=_,t>>>0>=Z>>>0){if(n=Hk(k,h),f=h+8|0,Hk(f,e)){if(e=h,f=k,!n)continue e;break A}if(n)continue}mk(k,h,r,E),f=h+8|0,A=0;continue}break}break}return}i[f>>2]=n,i[f+4>>2]=_;return}f=i[k+4>>2],i[k+8>>2]=i[k>>2],i[k+12>>2]=f,i[k>>2]=n,i[k+4>>2]=_}function Rs(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;k=B-160|0,B=k,i[k+68>>2]=54820,A=i[13708],i[k+12>>2]=A,o=k+12|0,i[o+i[A-12>>2]>>2]=i[13709],n=o+i[i[k+12>>2]-12>>2]|0,A=k+16|0,b0(n,A),i[n+72>>2]=0,i[n+76>>2]=-1,i[k+68>>2]=54820,i[k+12>>2]=54800,p=$0(A),i[p>>2]=53552,i[k+56>>2]=0,i[k+60>>2]=0,i[k+48>>2]=0,i[k+52>>2]=0,i[k+64>>2]=16,A=k+148|0,R2(A,e,r),t=A,n=l[k+159|0],A=(n|0)<0,x(o,A?i[k+148>>2]:t,A?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),A=k+148|0,W0(A,r),t=A,n=l[k+159|0],A=(n|0)<0,x(k+12|0,A?i[k+148>>2]:t,A?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),o=x(H0(x(k+12|0,20322,23),s[e+48|0]),31338,1),A=k+148|0,W0(A,r),t=A,n=l[k+159|0],A=(n|0)<0,x(o,A?i[k+148>>2]:t,A?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),o=x(H0(x(o,20299,22),s[e+49|0]),18656,2);i:{r:{e:{A:{f:{k:{n:{t:{o:{u:{l:{s:switch(A=s[e+49|0],A-66|0){case 56:break n;case 44:break t;case 34:break o;case 22:break u;case 11:break l;case 0:break e;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:break f;default:break s}if((A|0)==244)break k;if((A|0)!=44)break f;n=U(16),i[k>>2]=n,i[k+4>>2]=11,i[k+8>>2]=-2147483632,t=s[16637]|s[16638]<<8|(s[16639]<<16|s[16640]<<24),A=s[16633]|s[16634]<<8|(s[16635]<<16|s[16636]<<24),l[n|0]=A,l[n+1|0]=A>>>8,l[n+2|0]=A>>>16,l[n+3|0]=A>>>24,l[n+4|0]=t,l[n+5|0]=t>>>8,l[n+6|0]=t>>>16,l[n+7|0]=t>>>24,A=s[16640]|s[16641]<<8|(s[16642]<<16|s[16643]<<24),l[n+7|0]=A,l[n+8|0]=A>>>8,l[n+9|0]=A>>>16,l[n+10|0]=A>>>24,A=n+11|0;break r}i[k>>2]=1852399949,l[k+11|0]=4,A=4;break A}i[k>>2]=1702131781,i[k+4>>2]=1684366446,l[k+11|0]=8,A=8;break A}n=U(16),i[k>>2]=n,i[k+4>>2]=12,i[k+8>>2]=-2147483632,t=s[3138]|s[3139]<<8|(s[3140]<<16|s[3141]<<24),A=s[3134]|s[3135]<<8|(s[3136]<<16|s[3137]<<24),l[n|0]=A,l[n+1|0]=A>>>8,l[n+2|0]=A>>>16,l[n+3|0]=A>>>24,l[n+4|0]=t,l[n+5|0]=t>>>8,l[n+6|0]=t>>>16,l[n+7|0]=t>>>24,A=s[3142]|s[3143]<<8|(s[3144]<<16|s[3145]<<24),l[n+8|0]=A,l[n+9|0]=A>>>8,l[n+10|0]=A>>>16,l[n+11|0]=A>>>24,A=n+12|0;break r}l[k+11|0]=7,i[k>>2]=s[17232]|s[17233]<<8|(s[17234]<<16|s[17235]<<24),A=s[17235]|s[17236]<<8|(s[17237]<<16|s[17238]<<24),l[k+3|0]=A,l[k+4|0]=A>>>8,l[k+5|0]=A>>>16,l[k+6|0]=A>>>24,A=7;break A}X[k+8>>1]=s[16788]|s[16789]<<8,l[k+11|0]=10,A=s[16784]|s[16785]<<8|(s[16786]<<16|s[16787]<<24),i[k>>2]=s[16780]|s[16781]<<8|(s[16782]<<16|s[16783]<<24),i[k+4>>2]=A,A=10;break A}X[k+8>>1]=s[16630]|s[16631]<<8,l[k+11|0]=10,A=s[16626]|s[16627]<<8|(s[16628]<<16|s[16629]<<24),i[k>>2]=s[16622]|s[16623]<<8|(s[16624]<<16|s[16625]<<24),i[k+4>>2]=A,A=10;break A}l[k+11|0]=7,i[k>>2]=s[6164]|s[6165]<<8|(s[6166]<<16|s[6167]<<24),A=s[6167]|s[6168]<<8|(s[6169]<<16|s[6170]<<24),l[k+3|0]=A,l[k+4|0]=A>>>8,l[k+5|0]=A>>>16,l[k+6|0]=A>>>24,A=7}l[A+k|0]=0,n=k;break i}n=U(24),i[k>>2]=n,i[k+4>>2]=20,i[k+8>>2]=-2147483624,t=s[9783]|s[9784]<<8|(s[9785]<<16|s[9786]<<24),A=s[9779]|s[9780]<<8|(s[9781]<<16|s[9782]<<24),l[n|0]=A,l[n+1|0]=A>>>8,l[n+2|0]=A>>>16,l[n+3|0]=A>>>24,l[n+4|0]=t,l[n+5|0]=t>>>8,l[n+6|0]=t>>>16,l[n+7|0]=t>>>24,A=s[9795]|s[9796]<<8|(s[9797]<<16|s[9798]<<24),l[n+16|0]=A,l[n+17|0]=A>>>8,l[n+18|0]=A>>>16,l[n+19|0]=A>>>24,t=s[9791]|s[9792]<<8|(s[9793]<<16|s[9794]<<24),A=s[9787]|s[9788]<<8|(s[9789]<<16|s[9790]<<24),l[n+8|0]=A,l[n+9|0]=A>>>8,l[n+10|0]=A>>>16,l[n+11|0]=A>>>24,l[n+12|0]=t,l[n+13|0]=t>>>8,l[n+14|0]=t>>>16,l[n+15|0]=t>>>24,A=n+20|0}l[A|0]=0,A=i[k+4>>2]}if(o=x(x(x(o,n,A),18531,1),31338,1),A=k+148|0,W0(A,r),t=A,n=l[k+159|0],A=(n|0)<0,x(o,A?i[k+148>>2]:t,A?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),o=x(H0(x(o,19325,23),s[e+50|0]),31338,1),A=k+148|0,W0(A,r),t=A,n=l[k+159|0],A=(n|0)<0,x(o,A?i[k+148>>2]:t,A?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),x(H0(x(o,20278,20),s[e+51|0]),31338,1),l[k+11|0]<0&&G(i[k>>2]),v=i[e+56>>2],h=i[e+60>>2],(v|0)!=(h|0))for(I=k+24|0;;){A=k+148|0,W0(A,r),t=A,n=l[k+159|0],A=(n|0)<0,x(k+12|0,A?i[k+148>>2]:t,A?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),x(k+12|0,21499,5);i:{if(n=i[v>>2],y=i[v+4>>2],(n|0)==(y|0))break i;for(;;){o=s[n|0],w=i[k+12>>2],u=i[w-12>>2]+(k+12|0)|0,i[u+76>>2]==-1&&(t=k+148|0,A=i[u+28>>2],i[t>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(t,100192),V[i[i[A>>2]+28>>2]](A,32)|0,O0(t),w=i[k+12>>2]),i[u+76>>2]=48,A=w-12|0,i[I+i[A>>2]>>2]=2,A=i[A>>2]+p|0,i[A>>2]=i[A>>2]&-75|8;r:{w=H0(k+12|0,o),t=V1(k,w);e:{if(s[t|0]!=1)break e;_=w+i[i[w>>2]-12>>2]|0,o=i[_+4>>2],W=i[_+24>>2],Z=i[_+76>>2],(Z|0)==-1&&(u=k+148|0,A=i[_+28>>2],i[u>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(u,100192),Z=V[i[i[A>>2]+28>>2]](A,32)|0,O0(u),i[_+76>>2]=Z);A:{if(!W||(u=i[_+12>>2],o=(o&176)==32?21742:21741,A=o-21741|0,(A|0)>0&&(V[i[i[W>>2]+48>>2]](W,21741,A)|0)!=(A|0)))break A;if(u=(u|0)>1?u-1|0:0,(u|0)>0){if(u>>>0>=2147483640)break r;f:{if(u>>>0>=11){A=(u|7)+1|0,C=U(A),i[k+156>>2]=A|-2147483648,i[k+148>>2]=C,i[k+152>>2]=u;break f}l[k+159|0]=u,C=k+148|0}if(E=B0(C,Z,u)+u|0,J=0,l[E|0]=J,A=V[i[i[W>>2]+48>>2]](W,l[k+159|0]<0?i[k+148>>2]:k+148|0,u)|0,l[k+159|0]<0&&G(i[k+148>>2]),(A|0)!=(u|0))break A}if(A=21742-o|0,(A|0)>0&&(V[i[i[W>>2]+48>>2]](W,o,A)|0)!=(A|0))break A;i[_+12>>2]=0;break e}A=w+i[i[w>>2]-12>>2]|0,z1(A,i[A+16>>2]|5)}if(Z1(t),n=n+1|0,(y|0)==(n|0))break i;continue}break}c2(),P()}if(x(k+12|0,31338,1),A=i[i[k+12>>2]-12>>2]+p|0,i[A>>2]=i[A>>2]&-75|2,v=v+12|0,(h|0)==(v|0))break}if(v=i[e+68>>2],I=i[e+72>>2],(v|0)!=(I|0))for(y=k+24|0;;){e=k+148|0,W0(e,r),n=e,A=l[k+159|0],e=(A|0)<0,x(k+12|0,e?i[k+148>>2]:n,e?i[k+152>>2]:A),l[k+159|0]<0&&G(i[k+148>>2]),x(k+12|0,21505,5);i:{if(n=i[v>>2],t=i[v+4>>2],(n|0)==(t|0))break i;for(;;){A=s[n|0],w=i[k+12>>2],h=i[w-12>>2]+(k+12|0)|0,i[h+76>>2]==-1&&(o=k+148|0,e=i[h+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100192),V[i[i[e>>2]+28>>2]](e,32)|0,O0(o),w=i[k+12>>2]),i[h+76>>2]=48,e=w-12|0,i[y+i[e>>2]>>2]=2,e=i[e>>2]+p|0,i[e>>2]=i[e>>2]&-75|8;r:{u=H0(k+12|0,A),o=V1(k,u);e:{if(s[o|0]!=1)break e;w=u+i[i[u>>2]-12>>2]|0,A=i[w+4>>2],_=i[w+24>>2],Z=i[w+76>>2],(Z|0)==-1&&(h=k+148|0,e=i[w+28>>2],i[h>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(h,100192),Z=V[i[i[e>>2]+28>>2]](e,32)|0,O0(h),i[w+76>>2]=Z);A:{if(!_||(h=i[w+12>>2],A=(A&176)==32?21742:21741,e=A-21741|0,(e|0)>0&&(V[i[i[_>>2]+48>>2]](_,21741,e)|0)!=(e|0)))break A;if(h=(h|0)>1?h-1|0:0,(h|0)>0){if(h>>>0>=2147483640)break r;f:{if(h>>>0>=11){e=(h|7)+1|0,C=U(e),i[k+156>>2]=e|-2147483648,i[k+148>>2]=C,i[k+152>>2]=h;break f}l[k+159|0]=h,C=k+148|0}if(E=B0(C,Z,h)+h|0,J=0,l[E|0]=J,e=V[i[i[_>>2]+48>>2]](_,l[k+159|0]<0?i[k+148>>2]:k+148|0,h)|0,l[k+159|0]<0&&G(i[k+148>>2]),(e|0)!=(h|0))break A}if(e=21742-A|0,(e|0)>0&&(V[i[i[_>>2]+48>>2]](_,A,e)|0)!=(e|0))break A;i[w+12>>2]=0;break e}e=u+i[i[u>>2]-12>>2]|0,z1(e,i[e+16>>2]|5)}if(Z1(o),n=n+1|0,(t|0)==(n|0))break i;continue}break}c2(),P()}if(x(k+12|0,31338,1),e=i[i[k+12>>2]-12>>2]+p|0,i[e>>2]=i[e>>2]&-75|2,v=v+12|0,(I|0)==(v|0))break}i2(f,p),f=i[13707],i[k+12>>2]=f,i[i[f-12>>2]+(k+12|0)>>2]=i[13710],i[p>>2]=53552,l[k+59|0]<0&&G(i[k+48>>2]),K0(p),T0(k+68|0),B=k+160|0}function Bk(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0;w=B-336|0,B=w,v=o,Z=u&65535,p=A,W=k&65535,y=(k^u)&-2147483648,z=u>>>16&32767,J=k>>>16&32767;i:{r:{if(z-32767>>>0>4294934529&J-32767>>>0>=4294934530)break r;if(h=k&2147483647,!(!A&(h|0)==2147418112?!(e|r):h>>>0<2147418112)){I=A,y=k|32768;break i}if(k=u&2147483647,!(!o&(k|0)==2147418112?!(n|t):k>>>0<2147418112)){I=o,y=u|32768,e=n,r=t;break i}if(!(e|A|(h^2147418112|r))){if(!(n|o|(k^2147418112|t))){e=0,r=0,y=2147450880;break i}y=y|2147418112,e=0,r=0;break i}if(!(n|o|(k^2147418112|t))){e=0,r=0;break i}if(!(e|A|(r|h))){e=!(n|o|(k|t)),I=e?0:I,y=e?2147450880:y,e=0,r=0;break i}if(!(n|o|(k|t))){y=y|2147418112,e=0,r=0;break i}if((h|0)==65535|h>>>0<65535&&(A=!(p|W),u=A,h=A?e:p,A=A<<6,u=$2(u?r:W),A=A+((u|0)==32?$2(h)+32|0:u)|0,L1(w+320|0,e,r,p,W,A-15|0),C=16-A|0,p=i[w+328>>2],W=i[w+332>>2],r=i[w+324>>2],e=i[w+320>>2]),k>>>0>65535)break r;A=!(Z|v),o=A,u=A?n:v,A=A<<6,o=$2(o?t:Z),A=A+((o|0)==32?$2(u)+32|0:o)|0,L1(w+304|0,n,t,v,Z,A-15|0),C=(A+C|0)-16|0,v=i[w+312>>2],Z=i[w+316>>2],n=i[w+304>>2],t=i[w+308>>2]}k=Z|65536,H=k,a=v,A=v,h=k<<15|A>>>17,k=A<<15|t>>>17,A=k,u=0-A|0,o=h,h=1963258675-(h+((A|0)!=0)|0)|0,U1(w+288|0,A,o,0,0,u,h,0,0),A=i[w+296>>2],U1(w+272|0,0-A|0,0-(i[w+300>>2]+((A|0)!=0)|0)|0,0,0,u,h,0,0),A=i[w+280>>2],u=A<<1|i[w+276>>2]>>>31,A=i[w+284>>2]<<1|A>>>31,U1(w+256|0,u,A,0,0,k,o,0,0),h=i[w+264>>2],U1(w+240|0,u,A,0,0,0-h|0,0-(i[w+268>>2]+((h|0)!=0)|0)|0,0,0),u=i[w+248>>2],h=u<<1|i[w+244>>2]>>>31,A=i[w+252>>2]<<1|u>>>31,U1(w+224|0,h,A,0,0,k,o,0,0),u=i[w+232>>2],U1(w+208|0,h,A,0,0,0-u|0,0-(i[w+236>>2]+((u|0)!=0)|0)|0,0,0),A=i[w+216>>2],u=A<<1|i[w+212>>2]>>>31,A=i[w+220>>2]<<1|A>>>31,U1(w+192|0,u,A,0,0,k,o,0,0),h=i[w+200>>2],U1(w+176|0,u,A,0,0,0-h|0,0-(i[w+204>>2]+((h|0)!=0)|0)|0,0,0),u=k,k=i[w+184>>2],A=o,v=k<<1|i[w+180>>2]>>>31,o=v-1|0,k=(i[w+188>>2]<<1|k>>>31)-!v|0,U1(w+160|0,u,A,0,0,o,k,0,0),A=o,U1(w+144|0,n<<15,t<<15|n>>>17,0,0,A,k,0,0),R=w+112|0,S=i[w+168>>2],o=i[w+172>>2],v=i[w+160>>2],u=i[w+152>>2],_=v+u|0,Z=i[w+164>>2],h=Z+i[w+156>>2]|0,h=u>>>0>_>>>0?h+1|0:h,u=h,h=(Z|0)==(h|0)&_>>>0<v>>>0|h>>>0<Z>>>0,Z=h+S|0,h=h>>>0>Z>>>0?o+1|0:o,v=!u&_>>>0>1|(u|0)!=0,o=Z+v|0,h=v>>>0>o>>>0?h+1|0:h,U1(R,A,k,0,0,0-o|0,0-(((o|0)!=0)+h|0)|0,0,0),U1(w+128|0,1-_|0,0-((_>>>0>1)+u|0)|0,0,0,A,k,0,0),p0=(J-z|0)+C|0,k=i[w+116>>2],J=k,A=i[w+112>>2],h=k<<1|A>>>31,u=A<<1,Z=h,A=h,o=i[w+140>>2],D=o,k=i[w+136>>2],h=o<<1|k>>>31,_=k<<1|i[w+132>>2]>>>31,o=_+u|0,A=A+h|0,A=o>>>0<_>>>0?A+1|0:A,k=A,A=A-(o>>>0<13927)|0,E=A,R=A,_=0,h=W|65536,X0=h,G0=p,A=p,h=h<<1|A>>>31,Q0=A<<1,F0=h,f0=h,A=q0(E,_,h,0),h=w0,q=A,d=h,h0=e<<1,A=r<<1|e>>>31,z=A,S=A,h=0,C=h,v=o-13927|0,E=(k|0)==(E|0)&v>>>0<o>>>0|k>>>0>E>>>0,k=(k|0)==(Z|0)&o>>>0<u>>>0|k>>>0<Z>>>0,A=i[w+120>>2],o=i[w+124>>2]<<1|A>>>31,A=A<<1|J>>>31,_=D>>>31|0,A=_+A|0,h=o,h=A>>>0<_>>>0?h+1|0:h,o=A,A=A+k|0,h=o>>>0>A>>>0?h+1|0:h,k=A,A=A+E|0,_=k>>>0>A>>>0?h+1|0:h,k=A-1|0,A0=_-!A|0,D=0,u=q0(S,C,A0,D),A=u+q|0,o=w0+d|0,o=A>>>0<u>>>0?o+1|0:o,Z=(d|0)==(o|0)&A>>>0<q>>>0|o>>>0<d>>>0,q=k,I0=r>>>31|0,n0=I0|p<<1,E=0,k=q0(k,0,n0,E),p=k+A|0,h=w0+o|0,_=0,h=k>>>0>p>>>0?h+1|0:h,W=h,A=(h|0)==(o|0)&A>>>0>p>>>0|o>>>0>h>>>0,k=A,A=A+Z|0,_=k>>>0>A>>>0?1:_,k=q0(f0,C,A0,D),A=k+A|0,h=w0+_|0,Z=A,A=A>>>0<k>>>0?h+1|0:h,k=q0(f0,C,q,E),_=w0,o=k,k=q0(n0,E,A0,D),u=o+k|0,h=w0+_|0,h=k>>>0>u>>>0?h+1|0:h,k=h,h=(_|0)==(h|0)&o>>>0>u>>>0|h>>>0<_>>>0,_=Z+k|0,A=A+h|0,A=_>>>0<k>>>0?A+1|0:A,Z=_,_=A,k=0,A=k+p|0,h=u+W|0,h=A>>>0<k>>>0?h+1|0:h,k=h,o=(h|0)==(W|0)&A>>>0<p>>>0|h>>>0<W>>>0,h=_,u=o,o=o+Z|0,h=u>>>0>o>>>0?h+1|0:h,J=o,_=h,p=A,d=v,A=q0(v,0,n0,E),u=w0,o=A,v=q0(R,I,S,I),A=A+v|0,h=w0+u|0,h=A>>>0<v>>>0?h+1|0:h,v=(u|0)==(h|0)&A>>>0<o>>>0|u>>>0>h>>>0,o=h,j=h0&-2,u=q0(q,E,j,0),W=u+A|0,h=w0+h|0,h=u>>>0>W>>>0?h+1|0:h,u=h,A=(h|0)==(o|0)&A>>>0>W>>>0|o>>>0>h>>>0,o=0,h=A+v|0,A=(h>>>0<A>>>0?1:o)+k|0,Z=h+p|0,A=Z>>>0<h>>>0?A+1|0:A,h=_,v=A,A=(A|0)==(k|0)&Z>>>0<p>>>0|A>>>0<k>>>0,k=A,A=A+J|0,h=k>>>0>A>>>0?h+1|0:h,Y0=A,J=h,A=q0(f0,C,d,I),L=w0,f0=A,k=q0(A0,D,j,I),A=A+k|0,h=w0+L|0,h=A>>>0<k>>>0?h+1|0:h,p=A,_=q0(R,I,n0,E),k=A+_|0,o=h,A=h+w0|0,A=k>>>0<_>>>0?A+1|0:A,C=k,h=q0(S,I,q,E),k=k+h|0,_=w0+A|0,_=k>>>0<h>>>0?_+1|0:_,A0=(A|0)==(_|0)&k>>>0<C>>>0|A>>>0>_>>>0,h=(o|0)==(L|0)&p>>>0<f0>>>0|o>>>0<L>>>0,A=(A|0)==(o|0)&p>>>0>C>>>0|A>>>0<o>>>0,A=A+h|0,A=A+A0|0,o=_,C=o+Z|0,h=(A|D)+v|0,h=o>>>0>C>>>0?h+1|0:h,p=h,A=(v|0)==(h|0)&Z>>>0>C>>>0|h>>>0<v>>>0,h=J,o=A,A=A+Y0|0,h=o>>>0>A>>>0?h+1|0:h,D=A,v=h,A=q0(R,I,j,I),R=w0,Z=A,o=q0(S,I,d,I),A=A+o|0,h=w0+R|0,h=A>>>0<o>>>0?h+1|0:h,J=0,o=(h|0)==(R|0)&A>>>0<Z>>>0|h>>>0<R>>>0,Z=h,A=h+W|0,h=(o|J)+u|0,h=A>>>0<Z>>>0?h+1|0:h,u=(u|0)==(h|0)&A>>>0<W>>>0|u>>>0>h>>>0,o=h,h=k,W=0,k=W+A|0,_=o+h|0,h=0,_=k>>>0<W>>>0?_+1|0:_,A=(o|0)==(_|0)&A>>>0>k>>>0|o>>>0>_>>>0,k=A,A=A+u|0,h=(k>>>0>A>>>0?1:h)+p|0,_=v,k=A,A=A+C|0,h=k>>>0>A>>>0?h+1|0:h,k=h,o=(p|0)==(h|0)&A>>>0<C>>>0|h>>>0<p>>>0,u=o,o=o+D|0,_=u>>>0>o>>>0?_+1|0:_,u=_;r:{if((_|0)==131071|_>>>0<131071){G0=Q0|I0,X0=E|F0,U1(w+80|0,A,h,o,_,n,t,a,H),_=i[w+84>>2],C=_,h=e<<17,p=0,W=i[w+88>>2],r=p-W|0,e=i[w+80>>2],_=(_|e)!=0,v=r-_|0,Z=(h-(i[w+92>>2]+(p>>>0<W>>>0)|0)|0)-(r>>>0<_>>>0)|0,W=0-(((e|0)!=0)+C|0)|0,C=p0+16382|0,p=0-e|0;break r}A=(k&1)<<31|A>>>1,k=o<<31|k>>>1,o=(u&1)<<31|o>>>1,u=u>>>1|0,U1(w+96|0,A,k,o,u,n,t,a,H),v=i[w+100>>2],z=v,Z=0,C=i[w+104>>2],p=Z-C|0,_=i[w+96>>2],W=(v|_)!=0,v=p-W|0,Z=((e<<16)-(i[w+108>>2]+(Z>>>0<C>>>0)|0)|0)-(p>>>0<W>>>0)|0,W=0-(((_|0)!=0)+z|0)|0,h0=e,z=r,C=p0+16383|0,p=0-_|0}if((C|0)>=32767){y=y|2147418112,e=0,r=0;break i}r:{if((C|0)>0){e=v<<1|W>>>31,r=Z<<1|v>>>31,v=o,Z=u&65535|C<<16,_=W<<1|p>>>31,o=p<<1;break r}if((C|0)<=-113){e=0,r=0;break i}ti(w- -64|0,A,k,o,u,1-C|0),L1(w+48|0,h0,z,G0,X0,C+112|0),A=i[w+64>>2],k=i[w+68>>2],v=i[w+72>>2],Z=i[w+76>>2],U1(w+32|0,n,t,a,H,A,k,v,Z),e=i[w+40>>2],r=i[w+56>>2],u=i[w+36>>2],W=e<<1|u>>>31,_=r-W|0,W=i[w+60>>2]-((i[w+44>>2]<<1|e>>>31)+(r>>>0<W>>>0)|0)|0,r=i[w+52>>2],C=r,e=i[w+32>>2],o=u<<1|e>>>31,p=e<<1,e=p,h=i[w+48>>2],r=(r|0)==(o|0)&e>>>0>h>>>0|r>>>0<o>>>0,e=_-r|0,r=W-(r>>>0>_>>>0)|0,_=C-((h>>>0<p>>>0)+o|0)|0,o=h-p|0}U1(w+16|0,n,t,a,H,3,0,0,0),U1(w,n,t,a,H,5,0,0,0),p=A,W=A&1,u=W,A=o+u|0,h=0,o=h+_|0,o=A>>>0<u>>>0?o+1|0:o,u=A,t=(t|0)==(o|0)&A>>>0>n>>>0|t>>>0<o>>>0,_=r,A=(o|0)==(h|0)&A>>>0<W>>>0|o>>>0<h>>>0,n=e+A|0,_=A>>>0>n>>>0?_+1|0:_,h=k,e=(_|0)==(H|0),e=e&(n|0)==(a|0)?t:e&n>>>0>a>>>0|_>>>0>H>>>0,r=e,e=e+p|0,h=r>>>0>e>>>0?h+1|0:h,r=h,A=(k|0)==(h|0)&e>>>0<p>>>0|k>>>0>h>>>0,h=Z,k=A,A=A+v|0,h=k>>>0>A>>>0?h+1|0:h,t=A,k=i[w+20>>2],v=(k|0)==(o|0)&k0[w+16>>2]<u>>>0|k>>>0<o>>>0,k=i[w+28>>2],A=i[w+24>>2],k=h>>>0<2147418112&((A|0)==(n|0)&(k|0)==(_|0)?v:(k|0)==(_|0)&A>>>0<n>>>0|k>>>0<_>>>0),A=r,v=k,k=e+k|0,A=v>>>0>k>>>0?A+1|0:A,e=(r|0)==(A|0)&e>>>0>k>>>0|r>>>0>A>>>0,r=e,e=e+t|0,h=r>>>0>e>>>0?h+1|0:h,t=e,r=i[w+4>>2],o=(r|0)==(o|0)&k0[w>>2]<u>>>0|r>>>0<o>>>0,r=i[w+12>>2],e=i[w+8>>2],e=h>>>0<2147418112&((e|0)==(n|0)&(r|0)==(_|0)?o:(r|0)==(_|0)&e>>>0<n>>>0|r>>>0<_>>>0),r=e,e=e+k|0,_=r>>>0>e>>>0?A+1|0:A,r=_,k=(A|0)==(_|0)&e>>>0<k>>>0|A>>>0>_>>>0,A=h,n=k,k=k+t|0,A=n>>>0>k>>>0?A+1|0:A,I=k|I,y=A|y}i[f>>2]=e,i[f+4>>2]=r,i[f+8>>2]=I,i[f+12>>2]=y,B=w+336|0}function Ds(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;u=B-160|0,B=u;i:{if(!(n&&r)){if(l[u+124|0]=0,l[u+135|0]=0,r=f,f=r0(u+72|0,5,2001,u+124|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[u+135|0]>=0)break i;G(i[u+124>>2]);break i}if(!(k&&A)){if(l[u+124|0]=0,l[u+135|0]=0,r=f,f=r0(u+72|0,5,2006,u+124|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[u+135|0]>=0)break i;G(i[u+124>>2]);break i}l[u+129|0]=0,l[u+130|0]=0,l[u+131|0]=0,l[u+132|0]=0,X[u+126>>1]=0,X[u+128>>1]=0,X[u+124>>1]=263,l[u+156|0]=1,l[u+152|0]=0,i[u+144>>2]=2,i[u+148>>2]=2,l[u+140|0]=1,i[u+136>>2]=1;r:{if(!t)break r;e:{A:switch(s[t|0]-1|0){case 1:l[u+126|0]=s[t+2|0],l[u+125|0]=s[t+1|0];break e;case 0:l[u+125|0]=s[t+1|0];break e;case 6:l[u+156|0]=s[t+32|0];case 5:v=i[t+20>>2],i[u+140>>2]=i[t+16>>2],i[u+144>>2]=v,v=i[t+28>>2],i[u+148>>2]=i[t+24>>2],i[u+152>>2]=v;case 4:i[u+136>>2]=i[t+12>>2];case 3:v=i[t+4>>2],i[u+128>>2]=v,l[u+132|0]=s[t+8|0];break;case 2:break A;default:break e}if(l[u+127|0]=s[t+3|0],l[u+126|0]=s[t+2|0],l[u+125|0]=s[t+1|0],v)break r}if(t=i[i[r>>2]>>2],v=i[t+44>>2],t=i[t+48>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),v&&(l[u+72|0]=1,i[u+128>>2]=u+72,i[u+76>>2]=Q[v+4>>1],i[u+80>>2]=Q[v+6>>1],i[u+84>>2]=Q[v+8>>1],l[u+88|0]=s[v+10|0]),!t||(v=i[t+4>>2],i[t+4>>2]=v-1,v))break r;V[i[i[t>>2]+8>>2]](t),g(t)}if(t=0,i[u+68>>2]=0,i[u+60>>2]=0,i[u+64>>2]=0,w=m(A,k),w)for(v=0;;){_=i[(v<<2)+r>>2];r:{if(k0[u+68>>2]>t>>>0){i[t>>2]=i[_>>2],_=i[_+4>>2],i[t+4>>2]=_,_&&(i[_+4>>2]=i[_+4>>2]+1),t=t+8|0;break r}t=Q2(u+60|0,_)}if(i[u+64>>2]=t,v=v+1|0,(w|0)==(v|0))break}W=u+40|0,r=W,i[r>>2]=0,i[r+4>>2]=0,i[r+16>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[u+32>>2]=0,i[u+36>>2]=0,C=i[e>>2],y=u+124|0,w=B+-64|0,B=w,t=m(y4(i[i[u+60>>2]>>2],10),A),v=m(F4(i[i[u+60>>2]>>2],10),k),r=t>>>0>65535|v>>>0>65535,_=r?12:8,h=U(_),i[w+52>>2]=h,Z=h+_|0,i[w+60>>2]=Z,h=B0(h,0,_),i[w+56>>2]=Z,l[h+3|0]=A-1,l[h+2|0]=k-1,l[h+1|0]=r,l[h|0]=0;r:{if(r){r=v<<24|(v&65280)<<8|(v>>>8&65280|v>>>24),l[h+8|0]=r,l[h+9|0]=r>>>8,l[h+10|0]=r>>>16,l[h+11|0]=r>>>24,p=t>>>24|0,r=t,_=r>>>16|0;break r}p=t>>>8|0,r=v,_=t}l[h+7|0]=r,l[h+5|0]=_,l[h+4|0]=p,l[h+6|0]=r>>>8,i[u+8>>2]=0,i[u+12>>2]=0,i[u+24>>2]=0,i[u+16>>2]=0,i[u+20>>2]=0,r=0,i[w+48>>2]=0,i[w+40>>2]=0,i[w+44>>2]=0;r:{if(I=m(A,k),!I)break r;e:{for(;;){i[w+32>>2]=0,i[w+36>>2]=0,BA(w+8|0,C,i[u+60>>2]+(r<<3)|0,n,y,1,w+32|0),A=i[w+12>>2],i[u+8>>2]=i[w+8>>2],i[u+12>>2]=A,l[u+27|0]<0&&G(i[u+16>>2]),A=i[w+20>>2],i[u+16>>2]=i[w+16>>2],i[u+20>>2]=A,i[u+24>>2]=i[w+24>>2],fe(w+8|0,i[C+48>>2],i[i[w+32>>2]+20>>2]),A=i[w+8>>2],l[A+124|0]=1,i[A+52>>2]=i[A+52>>2]&-2|1,A=i[w+12>>2];A:{if(!A||(k=i[A+4>>2],i[A+4>>2]=k-1,k))break A;V[i[i[A>>2]+8>>2]](A),g(A)}k=i[i[w+32>>2]+20>>2];A:{h=i[w+44>>2],_=i[w+48>>2];f:{if(h>>>0<_>>>0){i[h>>2]=k,k=h+4|0;break f}if(Z=i[w+40>>2],p=h-Z>>2,A=p+1|0,A>>>0>=1073741824)break A;if(E=p<<2,_=_-Z|0,p=_>>1,p=_>>>0>=2147483644?1073741823:A>>>0<p>>>0?p:A,p){if(p>>>0>=1073741824)break e;_=U(p<<2)}else _=0;if(A=E+_|0,i[A>>2]=k,k=A+4|0,(h|0)!=(Z|0))for(;A=A-4|0,h=h-4|0,i[A>>2]=i[h>>2],(h|0)!=(Z|0););if(i[w+48>>2]=_+(p<<2),i[w+44>>2]=k,i[w+40>>2]=A,!Z)break f;G(Z)}i[w+44>>2]=k,A=i[w+36>>2];f:{if(!A||(k=i[A+4>>2],i[A+4>>2]=k-1,k))break f;V[i[i[A>>2]+8>>2]](A),g(A)}if(r=r+1|0,(I|0)!=(r|0))continue;break r}break}y0(),P()}_2(),P()}Z=Ri(i[C+48>>2],11836),h=U(360),r=h,i[r+16>>2]=0,i[r+20>>2]=0,i[r>>2]=72656,i[r+4>>2]=0,i[r+8>>2]=0,l[r+152|0]=0,i[r+36>>2]=Z,i[r+32>>2]=C,i[r+28>>2]=34648,i[r+40>>2]=0,i[r+44>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[r+68>>2]=0,i[r+72>>2]=0,i[r+80>>2]=0,i[r+84>>2]=0,i[r+156>>2]=0,i[r+160>>2]=0,i[r+24>>2]=0,X[r+48>>1]=0,X[r+58>>1]=0,X[r+60>>1]=0,X[r+62>>1]=0,X[r+64>>1]=0,l[r+76|0]=0,l[r+88|0]=0,i[r+204>>2]=0,i[r+196>>2]=0,i[r+200>>2]=0,i[r+188>>2]=0,i[r+192>>2]=0,i[r+180>>2]=0,i[r+184>>2]=0,i[r+172>>2]=0,i[r+176>>2]=0,i[r+164>>2]=0,i[r+168>>2]=0,i[r+212>>2]=0,i[r+216>>2]=0,l[r+208|0]=1,l[r+217|0]=0,l[r+218|0]=0,l[r+219|0]=0,l[r+220|0]=0,l[r+221|0]=0,l[r+222|0]=0,l[r+223|0]=0,l[r+224|0]=0,i[r+232>>2]=0,i[r+236>>2]=0,i[r+240>>2]=0,i[r+244>>2]=0,i[r+248>>2]=0,i[r+252>>2]=0,i[r+256>>2]=0,i[r+260>>2]=0,i[r+264>>2]=0,i[r+268>>2]=0,l[r+272|0]=0,B0(r+280|0,0,80),i[r+296>>2]=0,i[r+300>>2]=0,l[r+292|0]=1,i[r+304>>2]=0,i[r+308>>2]=0,i[r+312>>2]=0,i[r+316>>2]=0,i[r+328>>2]=0,i[r+332>>2]=0,i[r+320>>2]=0,i[r+324>>2]=1072693248,i[r+336>>2]=0,i[r+340>>2]=0,i[r+344>>2]=0,i[r+348>>2]=0,i[r+352>>2]=0,i[r+96>>2]=0,i[r+100>>2]=0,i[r+104>>2]=0,i[r+108>>2]=0,i[r+112>>2]=0,i[r+116>>2]=0,i[r+120>>2]=0,i[r+124>>2]=0,i[r+128>>2]=0,i[r+132>>2]=0,i[r+136>>2]=0,i[r+140>>2]=0,i[r+144>>2]=0,i[r+148>>2]=0,p=r+16|0,i[u+32>>2]=p,A=i[u+36>>2],i[u+36>>2]=r;r:{e:{if(!A){_=C+16|0;break e}if(r=i[A+4>>2],i[A+4>>2]=r-1,r||(V[i[i[A>>2]+8>>2]](A),g(A)),_=C+16|0,p=i[u+32>>2],h=i[u+36>>2],h)break e;h=0;break r}i[h+4>>2]=i[h+4>>2]+1}r:{e:{r=i[_+4>>2];A:{if(!r){k=_+4|0,A=k;break A}for(;;){if(A=r,k=i[r+16>>2],k>>>0>Z>>>0){if(k=r,r=i[r>>2],r)continue;break A}if(k>>>0>=Z>>>0)break e;if(r=i[A+4>>2],!r)break}k=A+4|0}r=U(28),i[r+24>>2]=h,i[r+20>>2]=p,i[r+16>>2]=Z,i[r+8>>2]=A,i[r>>2]=0,i[r+4>>2]=0,i[k>>2]=r,A=i[i[_>>2]>>2],A&&(i[_>>2]=A,r=i[k>>2]),D1(i[_+4>>2],r),i[_+8>>2]=i[_+8>>2]+1;break r}if(!h||(r=i[h+4>>2],i[h+4>>2]=r-1,r))break r;V[i[i[h>>2]+8>>2]](h),g(h)}hi(i[C+48>>2],Z,w+52|0,1),P1(i[C+48>>2],Z,1684630887,w+40|0),Vi(i[C+48>>2],Z,t,v),dn(i[C+48>>2],i[i[n>>2]+4>>2],s[i[u+32>>2]+192|0]),r=i[w+40>>2],r&&(i[w+44>>2]=r,G(r)),r=i[w+52>>2],r&&(i[w+56>>2]=r,G(r)),B=w- -64|0,A=i[u+12>>2],r=i[u+8>>2],i[W>>2]=r,i[W+4>>2]=A,l[W+19|0]<0&&(G(i[W+8>>2]),r=i[W>>2]),A=i[u+20>>2],i[W+8>>2]=i[u+16>>2],i[W+12>>2]=A,i[W+16>>2]=i[u+24>>2],A=i[e>>2];r:{if((r|0)!=i[19564]){P0(f,W,A);break r}i[A+40>>2]||s3(A,u+32|0);e:{if(!o)break e;k=U(16),r=k,i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[o>>2]=r,n=i[u+32>>2],A=i[u+36>>2];A:{if(!A){i[r+4>>2]=A,i[r>>2]=n;break A}if(i[A+4>>2]=i[A+4>>2]+1,i[k>>2]=n,r=i[k+4>>2],i[k+4>>2]=A,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break A;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=i[e>>2],r=i[o>>2],A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+8>>2]=k,e=i[r+12>>2],i[r+12>>2]=A,!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}f=i[u+36>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[W+19|0]<0&&G(i[W+8>>2]),f=i[u+60>>2],!f)break i;if(t=i[u+64>>2],v=f,(t|0)!=(v|0)){for(;;){e=i[t-4>>2];r:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(t=t-8|0,(f|0)==(t|0))break}v=i[u+60>>2]}i[u+64>>2]=f,G(v)}B=u+160|0}function Us(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;n=B+-64|0,B=n,c7(n+44|0,e,r),l[n+63|0]<0&&G(i[n+52>>2]),A=B2(r),o=A&1,l[e+57|0]=o,l[e+56|0]=A>>>1&3;i:{r:{e:{if(o){if(A=t2(r),l[e+62|0]=A&3,X[e+58>>1]=A>>>7,l[e+61|0]=A>>>2&3,l[e+60|0]=A>>>4&7,p=e,W=B2(r)>>>5|0,l[p+63|0]=W,A=B2(r)&63,l[e+64|0]=A,!A){if(e=U(56),i[n+28>>2]=e,i[n+32>>2]=54,i[n+36>>2]=-2147483592,r=s[18018]|s[18019]<<8|(s[18020]<<16|s[18021]<<24),A=s[18014]|s[18015]<<8|(s[18016]<<16|s[18017]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+54|0]=0,r=s[18064]|s[18065]<<8|(s[18066]<<16|s[18067]<<24),A=s[18060]|s[18061]<<8|(s[18062]<<16|s[18063]<<24),l[e+46|0]=A,l[e+47|0]=A>>>8,l[e+48|0]=A>>>16,l[e+49|0]=A>>>24,l[e+50|0]=r,l[e+51|0]=r>>>8,l[e+52|0]=r>>>16,l[e+53|0]=r>>>24,r=s[18058]|s[18059]<<8|(s[18060]<<16|s[18061]<<24),A=s[18054]|s[18055]<<8|(s[18056]<<16|s[18057]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[18050]|s[18051]<<8|(s[18052]<<16|s[18053]<<24),A=s[18046]|s[18047]<<8|(s[18048]<<16|s[18049]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[18042]|s[18043]<<8|(s[18044]<<16|s[18045]<<24),A=s[18038]|s[18039]<<8|(s[18040]<<16|s[18041]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[18034]|s[18035]<<8|(s[18036]<<16|s[18037]<<24),A=s[18030]|s[18031]<<8|(s[18032]<<16|s[18033]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[18026]|s[18027]<<8|(s[18028]<<16|s[18029]<<24),A=s[18022]|s[18023]<<8|(s[18024]<<16|s[18025]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,2006,n+28|0),l[n+39|0]>=0)break e;G(i[n+28>>2]);break e}A=B2(r),l[e+66|0]=A&1,l[e+65|0]=A>>>1,p=e,W=B2(r),l[p+67|0]=W;A:{if(!s[e+64|0])break A;for(;;){A=B2(r),h||(l[e+68|0]=A>>>7,l[e+69|0]=A>>>6&1,A=A&63);f:{u=i[e+76>>2],k=i[e+80>>2];k:{if(u>>>0<k>>>0){l[u|0]=A,_=u+1|0;break k}if(t=i[e+72>>2],w=u-t|0,o=w+1|0,(o|0)<0)break f;k=k-t|0,_=k<<1,_=k>>>0>=1073741823?2147483647:o>>>0<_>>>0?_:o,_?k=U(_):k=0,o=w+k|0,l[o|0]=A,Z=k+_|0,_=o+1|0;n:{if((t|0)==(u|0)){k=o;break n}if(v=0,A=u,w=w&3,w)for(;o=o-1|0,A=A-1|0,l[o|0]=s[A|0],v=v+1|0,(w|0)!=(v|0););if(t-u>>>0<=4294967292)for(;l[o-1|0]=s[A-1|0],l[o-2|0]=s[A-2|0],l[o-3|0]=s[A-3|0],o=o-4|0,A=A-4|0,l[o|0]=s[A|0],(A|0)!=(t|0););t=i[e+72>>2]}if(i[e+80>>2]=Z,i[e+76>>2]=_,i[e+72>>2]=k,!t)break k;G(t)}if(i[e+76>>2]=_,h=h+1|0,h>>>0<s[e+64|0])continue;break A}break}y0(),P()}h=s[e+60|0];A:{if(h>>>0<=1||(kn(e+84|0,h-1|0),u=B2(r),h=s[e+60|0],h>>>0<2))break A;for(A=h-2|0,w=i[e+84>>2],o=128;k=1<<A,t=w+(A>>>3&536870908)|0,o&u?k=k|i[t>>2]:k=i[t>>2]&(k^-1),i[t>>2]=k,o=o>>>1|0,k=(A|0)>0,A=A-1|0,!!k;);}o=e+96|0,k=i[e+96>>2],A=i[e+100>>2]-k|0;A:{if(A>>>0<h>>>0){L2(o,h-A|0),h=s[e+60|0];break A}if(A>>>0<=h>>>0)break A;i[e+100>>2]=k+h}A=h&255;A:{if(!A||(l[(A+i[e+96>>2]|0)-1|0]=s[e+67|0],A=s[e+60|0],A>>>0<2))break A;for(A=A-2|0;;){f:{if(i[i[e+84>>2]+(A>>>3&536870908)>>2]>>>A&1){k=B2(r),l[i[o>>2]+A|0]=k;break f}k=i[o>>2]+A|0,l[k|0]=s[k+1|0]}if(k=(A|0)>0,A=A-1|0,!k)break}}if(h=B2(r),h)for(_=0;;){t=D0(r),A=i[e+112>>2],k=i[e+116>>2];A:{if(A>>>0<k>>>0){i[A>>2]=t,t=A+4|0;break A}if(u=i[e+108>>2],v=A-u>>2,o=v+1|0,o>>>0>=1073741824)break r;if(k=k-u|0,w=k>>1,w=k>>>0>=2147483644?1073741823:o>>>0<w>>>0?w:o,w){if(w>>>0>=1073741824)break i;k=U(w<<2)}else k=0;if(o=k+(v<<2)|0,i[o>>2]=t,t=o+4|0,(A|0)!=(u|0))for(;o=o-4|0,A=A-4|0,i[o>>2]=i[A>>2],(A|0)!=(u|0););if(i[e+116>>2]=k+(w<<2),i[e+112>>2]=t,i[e+108>>2]=o,!u)break A;G(u)}if(i[e+112>>2]=t,_=_+1|0,(h|0)==(_|0))break}p=e,W=t2(r),X[p+120>>1]=W,p=e,W=t2(r),X[p+122>>1]=W,p=e,W=t2(r),X[p+124>>1]=W}w=B2(r);A:{if(!w)break A;for(_=e+128|0,v=n+32|0,h=0;;){if(s[r+20|0])break A;A=B2(r),o=0,i[n+40>>2]=0,i[n+32>>2]=0,i[n+36>>2]=0,l[n+29|0]=A&63,l[n+28|0]=A>>>7,u=t2(r);f:{k:{if(!u)break k;for(;;){if(s[r+20|0])break k;i[n+24>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,k=t2(r),t=19;n:{if(!k)break n;t:{if(!T4(r,k))break t;t=i[n+16>>2],A=i[n+20>>2]-t|0;o:{if(A>>>0<k>>>0){L2(n+16|0,k-A|0);break o}if(A>>>0<=k>>>0)break o;i[n+20>>2]=k+t}t=i[r>>2],A=i[r+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),k=V[i[i[t>>2]+16>>2]](t,i[n+16>>2],k)|0;o:{if(!A||(t=i[A+4>>2],i[A+4>>2]=t-1,t))break o;V[i[i[A>>2]+8>>2]](A),g(A)}if(k)break t;A=U(32),i[n+4>>2]=A,i[n+8>>2]=28,i[n+12>>2]=-2147483616,k=s[2134]|s[2135]<<8|(s[2136]<<16|s[2137]<<24),t=s[2130]|s[2131]<<8|(s[2132]<<16|s[2133]<<24),l[A|0]=t,l[A+1|0]=t>>>8,l[A+2|0]=t>>>16,l[A+3|0]=t>>>24,l[A+4|0]=k,l[A+5|0]=k>>>8,l[A+6|0]=k>>>16,l[A+7|0]=k>>>24,l[A+28|0]=0,k=s[2154]|s[2155]<<8|(s[2156]<<16|s[2157]<<24),l[A+24|0]=k,l[A+25|0]=k>>>8,l[A+26|0]=k>>>16,l[A+27|0]=k>>>24,k=s[2150]|s[2151]<<8|(s[2152]<<16|s[2153]<<24),t=s[2146]|s[2147]<<8|(s[2148]<<16|s[2149]<<24),l[A+16|0]=t,l[A+17|0]=t>>>8,l[A+18|0]=t>>>16,l[A+19|0]=t>>>24,l[A+20|0]=k,l[A+21|0]=k>>>8,l[A+22|0]=k>>>16,l[A+23|0]=k>>>24,k=s[2142]|s[2143]<<8|(s[2144]<<16|s[2145]<<24),t=s[2138]|s[2139]<<8|(s[2140]<<16|s[2141]<<24),l[A+8|0]=t,l[A+9|0]=t>>>8,l[A+10|0]=t>>>16,l[A+11|0]=t>>>24,l[A+12|0]=k,l[A+13|0]=k>>>8,l[A+14|0]=k>>>16,l[A+15|0]=k>>>24,r0(f,2,100,n+4|0),l[n+15|0]<0&&G(i[n+4>>2]),t=1;break n}A=i[n+36>>2];t:{if(A>>>0<k0[n+40>>2]){i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,i[A>>2]=i[n+16>>2],i[A+4>>2]=i[n+20>>2],i[A+8>>2]=i[n+24>>2],i[n+24>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,k=A+12|0;break t}k=NA(v,n+16|0)}i[n+36>>2]=k,t=0}if(A=i[n+16>>2],A&&(i[n+20>>2]=A,G(A)),(t|0)!=19&&t)break f;if(o=o+1|0,(u|0)==(o|0))break}}A=i[e+132>>2];k:{if(A>>>0<k0[e+136>>2]){o=Q[n+28>>1],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,X[A>>1]=o,i[A+4>>2]=i[n+32>>2],i[A+8>>2]=i[n+36>>2],i[A+12>>2]=i[n+40>>2],i[n+40>>2]=0,i[n+32>>2]=0,i[n+36>>2]=0,k=A+16|0;break k}k=Fn(_,n+28|0)}i[e+132>>2]=k,t=0}if(k=i[n+32>>2],k){if(A=k,o=i[n+36>>2],(A|0)!=(o|0)){for(;A=o-12|0,u=i[A>>2],u&&(i[o-8>>2]=u,G(u)),o=A,(A|0)!=(k|0););A=i[n+32>>2]}i[n+36>>2]=k,G(A)}if(t)break e;if(h=h+1|0,(w|0)==(h|0))break}}if(s[r+20|0]==1){if(l[n+28|0]=0,l[n+39|0]=0,r0(f,2,100,n+28|0),l[n+39|0]>=0)break e;G(i[n+28>>2]);break e}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break e}_0(f,i[19566],i[19567])}B=n- -64|0;return}y0(),P()}_2(),P()}function Zk(){var f=0,e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;i:{if(D=Z2(11296),D)for(e=B0(D,255,11296),f=e+1056|0,i[23908]=f,i[23904]=f,i[23903]=e+992,i[23902]=e+928,i[23901]=e+864,i[23900]=e+800,i[23899]=e+736,i[23898]=e+672,i[23897]=e+608,i[23896]=e+544,i[23895]=e+480,i[23894]=e+416,i[23893]=e+352,i[23892]=e+288,i[23891]=e+224,i[23890]=e+160,i[23889]=e+96,i[23888]=e+32,f=e+16|0,i[23887]=f,i[23886]=f,i[23885]=f,i[23884]=f,i[23883]=f,i[23882]=f,i[23881]=f,i[23880]=f,i[23879]=e,i[23878]=e,i[23877]=e,i[23876]=e,i[23875]=e,i[23874]=e,i[23873]=e,i[23872]=e,f=e+1312|0,i[23909]=f,i[23905]=f,f=e+1568|0,i[23910]=f,i[23906]=f,f=e+2080|0,i[23916]=f,i[23912]=f,f=e+1824|0,i[23911]=f,i[23907]=f,f=e+2336|0,i[23917]=f,i[23913]=f,f=e+2592|0,i[23918]=f,i[23914]=f,f=e+3104|0,i[23924]=f,i[23920]=f,f=e+2848|0,i[23919]=f,i[23915]=f,f=e+4128|0,i[23925]=f,i[23921]=f,f=e+5152|0,i[23926]=f,i[23922]=f,f=e+7200|0,i[23932]=f,i[23928]=f,f=e+6176|0,i[23927]=f,i[23923]=f,f=e+8224|0,i[23933]=f,i[23929]=f,f=e+9248|0,i[23934]=f,i[23930]=f,e=e+10272|0,i[23935]=e,i[23931]=e,_=2;;){J=_-2|0,o=1<<_;r:{if((_|0)!=2){for(C=(_|0)==3,w=C?11:14,R=0,e=1;;){for(W=1,f=0;;){for(I=((J<<6)+(R<<5)|0)+(f<<4)|0,Z=I+95488|0,y=W&1?9:15,u=0;;){for(E=u&3,n=u<<_,f=0;;){A=f|u,r=0;e:{if(!A)break e;if(r=E+(f&3)|0,h=r>>>0<=2?r?1:2:0,e){if(h=A>>>0<4?h:h+3|0,r=h+y|0,(_|0)==3)break e;r=h+21|0;break e}if(r=h+9|0,(_|0)==3)break e;r=h|12}if(h=n+(i[Z>>2]+f|0)|0,A=s[h|0],r=e?r:r+27|0,(A|0)!=255&(r|0)!=(A|0))break i;if(l[h|0]=r,f=f+1|0,(o|0)==(f|0))break}if(u=u+1|0,(u|0)==(o|0))break}for(n=I+95492|0,u=0;;){for(f=u&3,h=f?(f|0)==1:2,A=C?h+9|0:h|12,t=h+3|0,k=u<<_,f=0;;){Z=f|u,r=Z?A:0,E=!e;e:{if(E|!Z)break e;if(r=Z>>>0<4?h:t,!C){r=r+21|0;break e}r=r+y|0}if(Z=k+(i[n>>2]+f|0)|0,v=s[Z|0],r=e?r:r+27|0,(v|0)!=255&(r|0)!=(v|0))break i;if(l[Z|0]=r,f=f+1|0,(o|0)==(f|0))break}if(u=u+1|0,(u|0)==(o|0))break}for(Z=I+95496|0,u=0;;){for(n=u<<_,f=0;;){A=f|u,r=0;e:{if(!A)break e;if(r=f&3,h=r?(r|0)==1:2,!e){if(r=h|12,!C)break e;r=h+9|0;break e}if(h=A>>>0<4?h:h+3|0,r=h+21|0,!C)break e;r=h+y|0}if(h=n+(i[Z>>2]+f|0)|0,A=s[h|0],r=e?r:r+27|0,(A|0)!=255&(r|0)!=(A|0))break i;if(l[h|0]=r,f=f+1|0,(o|0)==(f|0))break}if(u=u+1|0,(u|0)==(o|0))break}for(I=I+95500|0,u=0;;){for(Z=u<<_,f=0;;){h=f|u,r=h?w:0;e:{if(E|!h)break e;if(r=h>>>0<4?2:5,!C){r=r+21|0;break e}r=r+y|0}if(h=Z+(i[I>>2]+f|0)|0,n=s[h|0],r=e?r:r+27|0,(n|0)!=255&(r|0)!=(n|0))break i;if(l[h|0]=r,f=f+1|0,(o|0)==(f|0))break}if(u=u+1|0,(u|0)==(o|0))break}if(f=1,r=W&1,W=0,!r)break}if(R=1,f=e,e=0,!f)break}break r}for(u=J<<6,C=u+95516|0,y=u+95512|0,h=u+95508|0,I=u+95504|0,J=u+95500|0,R=u+95496|0,Z=u+95492|0,E=u+95488|0,W=0;;){e=0;e:{if(W){for(r=u+(W<<5)|0,w=r+95488|0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(w=r+95492|0,e=0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(w=r+95496|0,e=0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(w=r+95500|0,e=0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(w=r+95504|0,e=0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(w=r+95508|0,e=0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(w=r+95512|0,e=0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(r=r+95516|0,e=0;;){for(w=e<<2,n=e<<_,f=0;;){if(A=n+(i[r>>2]+f|0)|0,t=s[A|0],v=(t|0)!=255,k=t,t=s[(f+w|0)+45792|0]+27|0,v&(k|0)!=(t|0))break i;if(l[A|0]=t,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}break e}for(;;){for(r=e<<2,w=e<<_,f=0;;){if(n=w+(i[E>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+r|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(r=0,e=e+1|0,(o|0)==(e|0))break}for(;;){for(e=r<<2,w=r<<_,f=0;;){if(n=w+(i[Z>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+e|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(e=0,r=r+1|0,(o|0)==(r|0))break}for(;;){for(r=e<<2,w=e<<_,f=0;;){if(n=w+(i[R>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+r|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(r=0,e=e+1|0,(o|0)==(e|0))break}for(;;){for(e=r<<2,w=r<<_,f=0;;){if(n=w+(i[J>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+e|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(e=0,r=r+1|0,(o|0)==(r|0))break}for(;;){for(r=e<<2,w=e<<_,f=0;;){if(n=w+(i[I>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+r|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(r=0,e=e+1|0,(o|0)==(e|0))break}for(;;){for(e=r<<2,w=r<<_,f=0;;){if(n=w+(i[h>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+e|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(e=0,r=r+1|0,(o|0)==(r|0))break}for(;;){for(r=e<<2,w=e<<_,f=0;;){if(n=w+(i[y>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+r|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(r=0,e=e+1|0,(o|0)==(e|0))break}for(;;){for(e=r<<2,w=r<<_,f=0;;){if(n=w+(i[C>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+e|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(r=r+1|0,(o|0)==(r|0))break}}if(W=W+1|0,(W|0)==2)break}}if(_=_+1|0,(_|0)==6)break}return(D|0)!=0}C0(13703,14036,2114,10317),P()}function Ms(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;Z=B-32|0,B=Z,u=A,t=B-144|0,B=t,w=Z+12|0,v=i[e>>2],Zr(w,i[v+16>>2],i[v+20>>2],t+140|0);i:{if(i[w>>2])break i;A=i[i[v+16>>2]+48>>2],p=i[t+140>>2],n=B-32|0,B=n,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,A,p,n+20|0);r:{if(i[n>>2]){i[t+132>>2]=0,i[t+136>>2]=0;break r}e:{if(k=i[n+20>>2],h=i[n+24>>2],(k|0)!=(h|0)){if(A=i[k>>2],A&&(o=i[t+136>>2],A=N0(A,68572,69712),A))break e;if(k=k+8|0,(h|0)!=(k|0))for(;;){if(A=i[k>>2],A&&(o=0,A=N0(A,68572,69712),A))break e;if(k=k+8|0,(h|0)==(k|0))break}i[t+132>>2]=0,i[t+136>>2]=0}i[t+132>>2]=0,i[t+136>>2]=0;break r}if(i[t+136>>2]=o,i[t+132>>2]=A,A=i[k+4>>2],i[t+136>>2]=A,!A)break r;i[A+4>>2]=i[A+4>>2]+1}if(l[n+19|0]<0&&G(i[n+8>>2]),o=i[n+20>>2],o){if(A=o,k=i[n+24>>2],(A|0)!=(k|0)){for(;;){A=i[k-4>>2];r:{if(!A||(h=i[A+4>>2],i[A+4>>2]=h-1,h))break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(k=k-8|0,(o|0)==(k|0))break}A=i[n+20>>2]}i[n+24>>2]=o,G(A)}if(B=n+32|0,A=i[t+132>>2],!(!A|(i[A+60>>2]-i[A+56>>2]|0)!=1)){if(i[r>>2]=2,i[u>>2]=0,r=i[t+136>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r);break i}if(A=i[v+176>>2],h=i[v+180>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),!(Q[A+8>>1]|!A)){i[r>>2]=1,i[u>>2]=3;r:{if(!h||(r=i[h+4>>2],i[h+4>>2]=r-1,r))break r;V[i[i[h>>2]+8>>2]](h),g(h)}if(r=i[t+136>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r);break i}o=0,i[r>>2]=0,i[u>>2]=99,r=i[i[v+16>>2]+48>>2],n=B-32|0,B=n,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,r,p,n+20|0);r:{if(i[n>>2]){i[t+124>>2]=0,i[t+128>>2]=0;break r}e:{if(k=i[n+20>>2],_=i[n+24>>2],(k|0)!=(_|0)){if(r=i[k>>2],r&&(A=i[t+128>>2],r=N0(r,68572,74292),r))break e;if(k=k+8|0,(_|0)!=(k|0))for(;;){if(r=i[k>>2],r&&(A=0,r=N0(r,68572,74292),r))break e;if(k=k+8|0,(_|0)==(k|0))break}i[t+124>>2]=0,i[t+128>>2]=0}i[t+124>>2]=0,i[t+128>>2]=0;break r}if(i[t+128>>2]=A,i[t+124>>2]=r,r=i[k+4>>2],i[t+128>>2]=r,!r)break r;i[r+4>>2]=i[r+4>>2]+1}if(l[n+19|0]<0&&G(i[n+8>>2]),A=i[n+20>>2],A){if(r=A,k=i[n+24>>2],(r|0)!=(k|0)){for(;;){r=i[k-4>>2];r:{if(!r||(_=i[r+4>>2],i[r+4>>2]=_-1,_))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k-8|0,(A|0)==(k|0))break}r=i[n+20>>2]}i[n+24>>2]=A,G(r)}B=n+32|0,r=i[t+124>>2];r:{if(r){i[u>>2]=s[r+69|0],r=1;break r}r=i[i[v+16>>2]+48>>2],n=B-32|0,B=n,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,r,p,n+20|0);e:{if(i[n>>2]){i[t+116>>2]=0,i[t+120>>2]=0;break e}A:{if(k=i[n+20>>2],_=i[n+24>>2],(k|0)!=(_|0)){if(r=i[k>>2],r&&(A=i[t+120>>2],r=N0(r,68572,74976),r))break A;if(k=k+8|0,(_|0)!=(k|0))for(;;){if(r=i[k>>2],r&&(A=0,r=N0(r,68572,74976),r))break A;if(k=k+8|0,(_|0)==(k|0))break}i[t+116>>2]=0,i[t+120>>2]=0}i[t+116>>2]=0,i[t+120>>2]=0;break e}if(i[t+120>>2]=A,i[t+116>>2]=r,r=i[k+4>>2],i[t+120>>2]=r,!r)break e;i[r+4>>2]=i[r+4>>2]+1}if(l[n+19|0]<0&&G(i[n+8>>2]),A=i[n+20>>2],A){if(r=A,k=i[n+24>>2],(r|0)!=(k|0)){for(;;){r=i[k-4>>2];e:{if(!r||(_=i[r+4>>2],i[r+4>>2]=_-1,_))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k-8|0,(A|0)==(k|0))break}r=i[n+20>>2]}i[n+24>>2]=A,G(r)}B=n+32|0,r=i[t+116>>2];e:{if(r){i[u>>2]=s[r+62|0],r=1;break e}r=i[i[v+16>>2]+48>>2],n=B-32|0,B=n,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,r,p,n+20|0);A:{if(i[n>>2]){i[t+108>>2]=0,i[t+112>>2]=0;break A}f:{if(k=i[n+20>>2],A=i[n+24>>2],(k|0)!=(A|0)){if(r=i[k>>2],r&&(o=i[t+112>>2],r=N0(r,68572,74408),r))break f;if(k=k+8|0,(A|0)!=(k|0))for(;;){if(r=i[k>>2],r&&(o=0,r=N0(r,68572,74408),r))break f;if(k=k+8|0,(A|0)==(k|0))break}i[t+108>>2]=0,i[t+112>>2]=0}i[t+108>>2]=0,i[t+112>>2]=0;break A}if(i[t+112>>2]=o,i[t+108>>2]=r,r=i[k+4>>2],i[t+112>>2]=r,!r)break A;i[r+4>>2]=i[r+4>>2]+1}if(l[n+19|0]<0&&G(i[n+8>>2]),A=i[n+20>>2],A){if(r=A,k=i[n+24>>2],(r|0)!=(k|0)){for(;;){r=i[k-4>>2];A:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break A;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k-8|0,(A|0)==(k|0))break}r=i[n+20>>2]}i[n+24>>2]=A,G(r)}B=n+32|0,A=i[t+108>>2];A:{if(A){r=s[A+56|0],o=s[A+55|0],k=(o|0)!=2;f:{if(!k&&(A=1,(r|0)==2)||!k&&(A=2,(r|0)==1))break f;A=(o|0)!=1?99:(r|0)==1?3:99}i[u>>2]=A,r=1,o=0;break A}r=i[i[v+16>>2]+48>>2],n=B-32|0,B=n,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,r,p,n+20|0);f:{if(i[n>>2]){i[t+100>>2]=0,i[t+104>>2]=0;break f}k:{if(k=i[n+20>>2],A=i[n+24>>2],(k|0)!=(A|0)){if(r=i[k>>2],r&&(o=i[t+104>>2],r=N0(r,68572,74888),r))break k;if(k=k+8|0,(A|0)!=(k|0))for(;;){if(r=i[k>>2],r&&(o=0,r=N0(r,68572,74888),r))break k;if(k=k+8|0,(A|0)==(k|0))break}i[t+100>>2]=0,i[t+104>>2]=0}i[t+100>>2]=0,i[t+104>>2]=0;break f}if(i[t+104>>2]=o,i[t+100>>2]=r,r=i[k+4>>2],i[t+104>>2]=r,!r)break f;i[r+4>>2]=i[r+4>>2]+1}if(l[n+19|0]<0&&G(i[n+8>>2]),A=i[n+20>>2],A){if(r=A,k=i[n+24>>2],(r|0)!=(k|0)){for(;;){r=i[k-4>>2];f:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break f;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k-8|0,(A|0)==(k|0))break}r=i[n+20>>2]}i[n+24>>2]=A,G(r)}B=n+32|0,r=1,o=0;f:{if(!i[t+100>>2])break f;if(X[t+24>>1]=0,B0(t+28|0,0,68),wA(t,t+24|0,i[i[v+16>>2]+48>>2],p),o=i[t+4>>2],A=i[t>>2],i[w>>2]=A,i[w+4>>2]=o,l[w+19|0]<0&&(G(i[w+8>>2]),A=i[w>>2]),o=i[t+12>>2],i[w+8>>2]=i[t+8>>2],i[w+12>>2]=o,i[w+16>>2]=i[t+16>>2],!A){A=0;k:{n:{if(k=t+24|0,o=i[k+36>>2],s[o|0]!=1|s[o+1|0]!=1)break n;t:switch((i[k+40>>2]-o>>2)-1|0){case 0:break k;case 2:break t;default:break n}if(n=s[o+4|0],(n|0)!=s[o+8|0]||(A=s[o+5|0],(A|0)!=s[o+9|0]))break n;t:switch(n-1|0){case 1:A=(A|0)==2?1:(A|0)==1?2:99;break k;case 0:break t;default:break n}if((A|0)!=1)break n;A=3;break k}A=99}i[u>>2]=A,ot(k),o=0;break f}ot(t+24|0),r=0,o=1}if(A=i[t+104>>2],!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break A;V[i[i[A>>2]+8>>2]](A),g(A)}if(A=i[t+112>>2],!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break e;V[i[i[A>>2]+8>>2]](A),g(A)}if(A=i[t+120>>2],!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break r;V[i[i[A>>2]+8>>2]](A),g(A)}A=i[t+128>>2];r:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r:{if(!h||(A=i[h+4>>2],i[h+4>>2]=A-1,A))break r;V[i[i[h>>2]+8>>2]](h),g(h)}A=r|o,r=i[t+136>>2];r:{if(!r||(u=i[r+4>>2],i[r+4>>2]=u-1,u))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(l[w+19|0]>=0|A)break i;G(i[w+8>>2])}B=t+144|0;i:{if(i[Z+12>>2]){P0(f,w,i[e>>2]);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[Z+31|0]<0&&G(i[Z+20>>2]),B=Z+32|0}function pk(f,e,r,A,k,n,t,o,u,h,w){var _=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0;_=B-528|0,B=_,i[_+520>>2]=w,i[_+524>>2]=e;i:{if(J2(f,_+524|0)){i[n>>2]=i[n>>2]|4,f=0;break i}i[_+76>>2]=1095,W=_+76|0,I=o1(_+104|0,_+112|0,W),e=i[I>>2],i[_+100>>2]=e,i[_+96>>2]=e+400,e=B-16|0,B=e,i[W>>2]=0,i[W+4>>2]=0,i[W+8>>2]=0,B=e+16|0,e=B-16|0,B=e,p=_- -64|0,i[p>>2]=0,i[p+4>>2]=0,i[p+8>>2]=0,B=e+16|0,e=B-16|0,B=e,Z=_+52|0,i[Z>>2]=0,i[Z+4>>2]=0,i[Z+8>>2]=0,B=e+16|0,e=B-16|0,B=e,v=_+40|0,i[v>>2]=0,i[v+4>>2]=0,i[v+8>>2]=0,B=e+16|0,e=B-16|0,B=e,C=_+28|0,i[C>>2]=0,i[C+4>>2]=0,i[C+8>>2]=0,B=e+16|0,w=B-16|0,B=w;r:{if(r){r=w+4|0,e=x0(A,99928),V[i[i[e>>2]+44>>2]](r,e),A=i[w+4>>2],l[_+92|0]=A,l[_+93|0]=A>>>8,l[_+94|0]=A>>>16,l[_+95|0]=A>>>24,V[i[i[e>>2]+32>>2]](r,e),q1(v,r),z0(r),V[i[i[e>>2]+28>>2]](r,e),q1(Z,r),z0(r),J=_,R=V[i[i[e>>2]+12>>2]](e)|0,l[J+91|0]=R,J=_,R=V[i[i[e>>2]+16>>2]](e)|0,l[J+90|0]=R,V[i[i[e>>2]+20>>2]](r,e),q1(W,r),z0(r),V[i[i[e>>2]+24>>2]](r,e),q1(p,r),z0(r),e=V[i[i[e>>2]+36>>2]](e)|0;break r}r=w+4|0,e=x0(A,99920),V[i[i[e>>2]+44>>2]](r,e),A=i[w+4>>2],l[_+92|0]=A,l[_+93|0]=A>>>8,l[_+94|0]=A>>>16,l[_+95|0]=A>>>24,V[i[i[e>>2]+32>>2]](r,e),q1(v,r),z0(r),V[i[i[e>>2]+28>>2]](r,e),q1(Z,r),z0(r),J=_,R=V[i[i[e>>2]+12>>2]](e)|0,l[J+91|0]=R,J=_,R=V[i[i[e>>2]+16>>2]](e)|0,l[J+90|0]=R,V[i[i[e>>2]+20>>2]](r,e),q1(W,r),z0(r),V[i[i[e>>2]+24>>2]](r,e),q1(p,r),z0(r),e=V[i[i[e>>2]+36>>2]](e)|0}for(i[_+24>>2]=e,B=w+16|0,i[h>>2]=i[u>>2],y=k&512,A=0,e=0;;){r=e;r:{e:{A:{f:{if((A|0)==4||J2(f,_+524|0))break f;w=0;k:{n:{t:{o:{u:switch(s[(_+92|0)+A|0]){case 1:if((A|0)==3)break e;e=i[f>>2],k=i[e+12>>2];l:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break l}e=s[k|0]}if(e=e<<24>>24,(e|0)>=0?e=i[i[o+8>>2]+(e<<2)>>2]&1:e=0,e){dt(_+16|0,f),C6(C,l[_+16|0]);break o}i[n>>2]=i[n>>2]|4,f=0;break A;case 4:break k;case 2:break n;case 3:break t;case 0:break u;default:break r}if((A|0)==3)break e}for(;;){if(J2(f,_+524|0))break e;e=i[f>>2],k=i[e+12>>2];o:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break o}e=s[k|0]}if(e=e<<24>>24,(e|0)>=0?e=i[i[o+8>>2]+(e<<2)>>2]&1:e=0,!e)break e;dt(_+16|0,f),C6(C,l[_+16|0])}}t:{if(s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,!e)break t;e=i[f>>2],k=i[e+12>>2];o:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break o}e=s[k|0]}if(k=e<<24>>24&255,s[Z+11|0]>>>7|0?e=i[Z>>2]:e=Z,(k|0)!=s[e|0])break t;E1(f),l[t|0]=0,s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,e=e>>>0>1?Z:r;break r}t:{if(s[v+11|0]>>>7|0?e=i[v+4>>2]:e=s[v+11|0]&127,!e)break t;e=i[f>>2],k=i[e+12>>2];o:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break o}e=s[k|0]}if(k=e<<24>>24&255,s[v+11|0]>>>7|0?e=i[v>>2]:e=v,(k|0)!=s[e|0])break t;E1(f),l[t|0]=1,s[v+11|0]>>>7|0?e=i[v+4>>2]:e=s[v+11|0]&127,e=e>>>0>1?v:r;break r}if(s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,k=!e,s[v+11|0]>>>7|0?e=i[v+4>>2]:e=s[v+11|0]&127,!(k|!e)){i[n>>2]=i[n>>2]|4,f=0;break A}if(s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,!e&&(s[v+11|0]>>>7|0?e=i[v+4>>2]:e=s[v+11|0]&127,!e))break e;s[v+11|0]>>>7|0?e=i[v+4>>2]:e=s[v+11|0]&127,l[t|0]=!e;break e}if(!(y|(r|A>>>0<2))&&(e=0,!((A|0)==2&s[_+95|0]!=0)))break r;J=_,R=C4(p),i[J+12>>2]=R,i[_+16>>2]=i[_+12>>2];n:{if(!A|s[(A+_|0)+91|0]>1)break n;for(;;){t:{if(J=_,R=S8(p),i[J+12>>2]=R,e=i[_+16>>2],(e|0)==i[_+12>>2]||(e=l[e|0],(e|0)>=0?e=i[i[o+8>>2]+(e<<2)>>2]&1:e=0,!e))break t;i[_+16>>2]=i[_+16>>2]+1;continue}break}if(J=_,R=C4(p),i[J+12>>2]=R,s[C+11|0]>>>7|0?w=i[C+4>>2]:w=s[C+11|0]&127,e=_+12|0,k=i[_+16>>2]-i[e>>2]|0,w>>>0>=k>>>0&&(J=_,R=S8(C),i[J+12>>2]=R,e=R3(e,0-k|0),k=S8(C),w=C4(p),E=B-16|0,B=E,e=O8(e),k=O8(k),e=K2(e,O8(w),k-e|0),B=E+16|0,!e))break n;J=_,R=C4(p),i[J+8>>2]=R,i[_+12>>2]=i[_+8>>2],i[_+16>>2]=i[_+12>>2]}for(i[_+12>>2]=i[_+16>>2];;){n:{if(J=_,R=S8(p),i[J+8>>2]=R,i[_+12>>2]==i[_+8>>2]||J2(f,_+524|0))break n;e=i[f>>2],k=i[e+12>>2];t:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break t}e=s[k|0]}if((e<<24>>24&255)!=s[i[_+12>>2]])break n;E1(f),i[_+12>>2]=i[_+12>>2]+1;continue}break}if(!y||(J=_,R=S8(p),i[J+8>>2]=R,i[_+12>>2]==i[_+8>>2]))break e;i[n>>2]=i[n>>2]|4,f=0;break A}for(;;){k:{if(J2(f,_+524|0))break k;e=i[f>>2],k=i[e+12>>2];n:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break n}e=s[k|0]}e=e<<24>>24,(e|0)>=0?k=i[i[o+8>>2]+(e<<2)>>2]&64:k=0;n:{if(k){k=i[h>>2],(k|0)==i[_+520>>2]&&(i9(u,h,_+520|0),k=i[h>>2]),i[h>>2]=k+1,l[k|0]=e,w=w+1|0;break n}if(s[W+11|0]>>>7|0?k=i[W+4>>2]:k=s[W+11|0]&127,!k|!w|s[_+90|0]!=(e&255))break k;e=i[_+100>>2],(e|0)==i[_+96>>2]&&(Ei(I,_+100|0,_+96|0),e=i[_+100>>2]),i[_+100>>2]=e+4,i[e>>2]=w,w=0}E1(f);continue}break}e=i[_+100>>2],!w|(e|0)==i[I>>2]||(i[_+96>>2]==(e|0)&&(Ei(I,_+100|0,_+96|0),e=i[_+100>>2]),i[_+100>>2]=e+4,i[e>>2]=w);k:{if(i[_+24>>2]<=0)break k;n:{if(!J2(f,_+524|0)){e=i[f>>2],k=i[e+12>>2];t:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break t}e=s[k|0]}if((e<<24>>24&255)==s[_+91|0])break n}i[n>>2]=i[n>>2]|4,f=0;break A}for(;;){if(E1(f),i[_+24>>2]<=0)break k;n:{if(!J2(f,_+524|0)){e=i[f>>2],k=i[e+12>>2];t:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break t}e=s[k|0]}if(e=e<<24>>24,(e|0)>=0?e=i[i[o+8>>2]+(e<<2)>>2]&64:e=0,e)break n}i[n>>2]=i[n>>2]|4,f=0;break A}i[h>>2]==i[_+520>>2]&&i9(u,h,_+520|0),e=i[f>>2],k=i[e+12>>2];n:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break n}e=s[k|0]}k=i[h>>2],i[h>>2]=k+1,l[k|0]=e<<24>>24,i[_+24>>2]=i[_+24>>2]-1}}if(e=r,i[u>>2]!=i[h>>2])break r;i[n>>2]=i[n>>2]|4,f=0;break A}f:{if(!r)break f;for(w=1;;){if(s[r+11|0]>>>7|0?e=i[r+4>>2]:e=s[r+11|0]&127,e>>>0<=w>>>0)break f;k:{if(!J2(f,_+524|0)){e=i[f>>2],A=i[e+12>>2];n:{if((A|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break n}e=s[A|0]}if(A=e<<24>>24&255,s[r+11|0]>>>7|0?e=i[r>>2]:e=r,(A|0)==s[e+w|0])break k}i[n>>2]=i[n>>2]|4,f=0;break A}E1(f),w=w+1|0}}if(f=1,i[I>>2]==i[_+100>>2])break A;if(f=0,i[_+16>>2]=0,K1(W,i[I>>2],i[_+100>>2],_+16|0),i[_+16>>2]){i[n>>2]=i[n>>2]|4;break A}f=1}z0(C),z0(v),z0(Z),z0(p),z0(W),e=i[I>>2],i[I>>2]=0,e&&V[i[I+4>>2]](e);break i}e=r}A=A+1|0}}return B=_+528|0,f}function Wk(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;h=B-128|0,B=h;i:{r:{if(!e)break r;e:{A:{for(;;){t=s[r|0];f:{if((t|0)!=37){if(n=Z,!t)break e;l[f+n|0]=t,Z=n+1|0;break f}t=0,o=1;k:{n:{t:switch(n=s[r+1|0],n-45|0){case 1:case 2:break k;case 0:case 3:break n;default:break t}if((n|0)!=95)break k}t=n,n=s[r+2|0],o=2}I=0,R=n&255,w=(r+o|0)+((R|0)==43)|0;k:{if(l[w|0]-48>>>0<=9){r=Xi(w,h+12|0,10,-1,0),o=i[h+12>>2];break k}i[h+12>>2]=w,r=0,o=w}n=s[o|0],u=n-67|0;k:{if(u>>>0>22|!(1<<u&4194329)||(I=r,r))break k;I=(o|0)!=(w|0)}(n|0)==79|(n|0)==69?(n=s[o+1|0],r=o+1|0):r=o,w=h+16|0,D=t,t=0,p=B-80|0,B=p,_=1495,z=48,v=131112;k:{n:{t:{o:{u:{l:{s:{h:{w:{_:{v:{Z:{m:{B:{p:{W:{G:{C:{y:{Y:{V:{F:{I:{D:{U:{M:{J:{x:{E:{Q:{g:{N:{X:{H:{T:{a:{S:{R:{O:{j:{P:{L:{K:{q:{$:{b:switch(W=n<<24>>24,W-37|0){case 31:break s;case 62:break h;case 77:break w;case 0:break m;case 53:break B;case 85:break p;case 52:break W;case 84:break G;case 51:break C;case 83:break y;case 82:break V;case 49:break F;case 50:break I;case 48:break D;case 80:break U;case 47:break M;case 79:break J;case 46:break x;case 78:break E;case 45:break Q;case 75:break g;case 73:break N;case 40:break X;case 72:break H;case 69:break T;case 36:break a;case 35:break S;case 34:case 66:break R;case 33:break O;case 63:break j;case 64:break P;case 30:break L;case 29:break K;case 61:case 67:break q;case 28:break $;case 60:break b;default:break k}if(n=i[A+24>>2],n>>>0<=6)break v;break t}if(n=i[A+24>>2],n>>>0>6)break t;t=n+131079|0;break _}if(n=i[A+16>>2],n>>>0>11)break t;t=n+131086|0;break _}if(n=i[A+16>>2],n>>>0>11)break t;t=n+131098|0;break _}n=i[A+20>>2],t=n>>31,n=n+1900|0,t=n>>>0<1900?t+1|0:t,n=o2(n,t,100,0),o=w0;break l}z=95}n=i[A+12>>2],o=n>>31;break l}_=13635;break s}u=i[A+20>>2],t=u>>31,n=u+1900|0,o=n>>>0<1900?t+1|0:t,v=i[A+28>>2];R:{if((v|0)<=2){u=u+1899|0,t=u>>>0<1899?t+1|0:t,v=u,u=($A(A)|0)==1,n=u?n:v,o=u?o:t;break R}if(v>>>0<361)break R;u=u+1901|0,t=u>>>0<1901?t+1|0:t,v=u,u=($A(A)|0)==1,n=u?v:n,o=u?t:o}if((W|0)==103)break Z;break u}n=i[A+8>>2],o=n>>31;break l}if(t=2,o=i[A+8>>2],!o){n=12,o=0;break o}W=(o|0)>12,n=W?o-12|0:o,u=o>>31,o=W?u-(o>>>0<12)|0:u;break o}n=i[A+28>>2]+1|0,o=n>>31,t=3;break o}n=i[A+16>>2]+1|0,o=n>>31;break l}n=i[A+4>>2],o=n>>31;break l}i[h+124>>2]=1,t=31338;break k}t=i[A+8>>2]>11?131111:131110;break _}_=15004;break s}v=0,y=0,E=B-16|0,B=E,n=i[A+20>>2],o=n>>31,_=i[A+16>>2],_>>>0>=12&&(u=(_|0)/12|0,t=_-m(u,12)|0,_=(t|0)<0?t+12|0:t,t=u+(t>>31)|0,o=o+(t>>31)|0,u=n,n=n+t|0,o=u>>>0>n>>>0?o+1|0:o),u=E+12|0;E:{if((n>>>0<2|0)==(o|0)&n-2>>>0<=136){t=n-68>>2;Q:{g:{if(!(n&3)){if(t=t-1|0,!u)break Q;o=1;break g}if(!u)break Q;o=0}i[u>>2]=o}n=(m(n,31536e3)+m(t,86400)|0)+2087447296|0,t=n>>31;break E}t=n-100|0,W=t,n=o-(n>>>0<100)|0,J=n,n=o2(t,n,400,0),C=q0(n,w0,400,0),o=t-C|0,t=J-(w0+(t>>>0<C>>>0)|0)|0,C=n+(t>>31)|0;Q:{g:{N:{if(n=(t|0)<0?o+400|0:o,n){X:{if((n|0)>=200){if(n>>>0>=300){v=3,n=n-300|0;break X}v=2,n=n-200|0;break X}v=(n|0)>99,n=v?n-100|0:n}if(n)break N;t=0}else t=1;if(u)break g;break Q}if(y=n>>>2|0,t=!(n&3),!u)break Q}i[u>>2]=t}o=q0(W,J,31536e3,0),u=w0,W=o,n=((m(v,24)+m(C,97)|0)+y|0)-t|0,o=q0(n,n>>31,86400,0),n=W+o|0,t=w0+u|0,t=n>>>0<o>>>0?t+1|0:t,n=n+946771200|0,t=n>>>0<946771200?t+1|0:t}y=i[A+12>>2],u=i[A+8>>2],J=u>>31,W=i[A+4>>2],C=W>>31,B=E+16|0,o=i[A>>2],v=o,H=o>>31,o=i[(_<<2)+56560>>2],_=(_|0)>1&&i[E+12>>2]?o+86400|0:o,o=(_>>31)+t|0,t=n+_|0,o=t>>>0<_>>>0?o+1|0:o,n=y-1|0,_=q0(n,n>>31,86400,0),n=_+t|0,t=w0+o|0,t=n>>>0<_>>>0?t+1|0:t,o=q0(u,J,3600,0),n=o+n|0,t=w0+t|0,t=n>>>0<o>>>0?t+1|0:t,o=q0(W,C,60,0),n=o+n|0,t=w0+t|0,o=(n>>>0<o>>>0?t+1|0:t)+H|0,t=n+v|0,o=t>>>0<n>>>0?o+1|0:o,u=i[A+36>>2],n=t-u|0,o=o-((u>>31)+(t>>>0<u>>>0)|0)|0;break Y}n=i[A>>2],o=n>>31;break l}i[h+124>>2]=1,t=31340;break k}_=14945;break s}n=i[A+24>>2],n=n||7,o=n>>31;break Y}n=((i[A+28>>2]-i[A+24>>2]|0)+7>>>0)/7|0,o=0;break l}n=((i[A+28>>2]-((i[A+24>>2]+6>>>0)%7|0)|0)+7>>>0)/7|0,o=0;break l}n=$A(A),o=0;break l}n=i[A+24>>2],o=n>>31}t=1;break o}v=131113;break h}v=131114;break h}n=i[A+20>>2],t=n>>31,n=n+1900|0,t=n>>>0<1900?t+1|0:t,t=nt(n,t),n=w0,W=n,o=t,t=n>>31,u=o^t,n=u-t|0,o=(t^W)-((t>>>0>u>>>0)+t|0)|0;break l}if(n=i[A+20>>2],o=n>>31,u=n,t=o,n=n+1900|0,o=n>>>0<1900?t+1|0:t,u>>>0<8100&(t|0)<=0|(t|0)<0)break u;i[p+48>>2]=n,i[p+52>>2]=o,a=h,S=I8(w,100,11823,p+48|0),i[a+124>>2]=S,t=w;break k}if(i[A+32>>2]<0){i[h+124>>2]=0,t=31341;break k}n=i[A+36>>2],t=(n|0)/3600|0,i[p+64>>2]=m(t,100)+((n-m(t,3600)<<16>>16)/60<<16>>16),a=h,S=I8(w,100,11829,p- -64|0),i[a+124>>2]=S,t=w;break k}if(i[A+32>>2]<0){i[h+124>>2]=0,t=31341;break k}n=i[A+40>>2],l[99704]&1||(ms(99660,99664,99712,99744),i[24918]=99744,i[24917]=99712,l[99704]=1),(n|0)!=56608?t=(n|0)==i[24917]?n:(n|0)!=i[24918]?31341:n:t=56608;break n}i[h+124>>2]=1,t=18681;break k}n=nt(n,o),o=w0;break l}t=n|131072}t=S7(t,k);break n}v=131115}_=S7(v,k)}n=Wk(w,100,_,A,k),i[h+124>>2]=n,t=n?w:0;break k}t=2;break o}t=4}o:{if(u=D||z,(u|0)!=95){if((u|0)!=45)break o;i[p+16>>2]=n,i[p+20>>2]=o,a=h,S=I8(w,100,11824,p+16|0),i[a+124>>2]=S,t=w;break k}i[p+40>>2]=n,i[p+44>>2]=o,i[p+32>>2]=t,a=h,S=I8(w,100,11817,p+32|0),i[a+124>>2]=S,t=w;break k}i[p+8>>2]=n,i[p+12>>2]=o,i[p>>2]=t,a=h,S=I8(w,100,11810,p),i[a+124>>2]=S,t=w;break k}t=18137}a=h,S=G2(t),i[a+124>>2]=S}if(B=p+80|0,o=t,!t)break A;k:{if(!I){t=i[h+124>>2];break k}n:{t:{o:switch(n=s[o|0],n-43|0){case 0:case 2:break t;default:break o}t=i[h+124>>2];break n}n=s[o+1|0],o=o+1|0,t=i[h+124>>2]-1|0}n:{if((n&255)!=48)break n;for(;;){if(n=l[o+1|0],n-48>>>0>9)break n;if(o=o+1|0,t=t-1|0,(n|0)!=48)break}}for(i[h+124>>2]=t,n=0;w=n,n=n+1|0,l[o+w|0]-48>>>0<10;);n=t>>>0<I>>>0?I:t,u=f+Z|0;n:{if(i[A+20>>2]<-1900)w=45;else{if((R|0)!=43|w+(n-t|0)>>>0<(s[i[h+12>>2]]==67?3:5)>>>0)break n;w=43}l[u|0]=w,n=n-1|0,Z=Z+1|0}if(n>>>0<=t>>>0|e>>>0<=Z>>>0)break k;for(;;){if(l[f+Z|0]=48,Z=Z+1|0,n=n-1|0,n>>>0<=t>>>0)break k;if(!(e>>>0>Z>>>0))break}}n=e-Z|0,n=n>>>0>t>>>0?t:n,i[h+124>>2]=n,l0(f+Z|0,o,n),Z=i[h+124>>2]+Z|0}if(r=r+1|0,!(e>>>0>Z>>>0))break}if(!e)break r}Z=(e|0)==(Z|0)?e-1|0:Z,n=0}l[f+Z|0]=0;break i}n=0}return B=h+128|0,n}function Xk(f,e,r,A,k,n,t,o,u,h,w){var _=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0;_=B-528|0,B=_,i[_+520>>2]=w,i[_+524>>2]=e;i:{if(g2(f,_+524|0)){i[n>>2]=i[n>>2]|4,f=0;break i}i[_+72>>2]=1095,C=_+72|0,y=o1(_+104|0,_+112|0,C),e=i[y>>2],i[_+100>>2]=e,i[_+96>>2]=e+400,e=B-16|0,B=e,i[C>>2]=0,i[C+4>>2]=0,i[C+8>>2]=0,B=e+16|0,e=B-16|0,B=e,W=_+60|0,i[W>>2]=0,i[W+4>>2]=0,i[W+8>>2]=0,B=e+16|0,e=B-16|0,B=e,p=_+48|0,i[p>>2]=0,i[p+4>>2]=0,i[p+8>>2]=0,B=e+16|0,e=B-16|0,B=e,Z=_+36|0,i[Z>>2]=0,i[Z+4>>2]=0,i[Z+8>>2]=0,B=e+16|0,e=B-16|0,B=e,I=_+24|0,i[I>>2]=0,i[I+4>>2]=0,i[I+8>>2]=0,B=e+16|0,w=B-16|0,B=w,e=_;r:{if(r){v=w+4|0,A=x0(A,99944),V[i[i[A>>2]+44>>2]](v,A),r=i[w+4>>2],l[_+92|0]=r,l[_+93|0]=r>>>8,l[_+94|0]=r>>>16,l[_+95|0]=r>>>24,V[i[i[A>>2]+32>>2]](v,A),r8(Z,v),l1(v),V[i[i[A>>2]+28>>2]](v,A),r8(p,v),l1(v),J=_,R=V[i[i[A>>2]+12>>2]](A)|0,i[J+88>>2]=R,J=_,R=V[i[i[A>>2]+16>>2]](A)|0,i[J+84>>2]=R,V[i[i[A>>2]+20>>2]](v,A),q1(C,v),z0(v),V[i[i[A>>2]+24>>2]](v,A),r8(W,v),l1(v),r=V[i[i[A>>2]+36>>2]](A)|0;break r}v=w+4|0,A=x0(A,99936),V[i[i[A>>2]+44>>2]](v,A),r=i[w+4>>2],l[_+92|0]=r,l[_+93|0]=r>>>8,l[_+94|0]=r>>>16,l[_+95|0]=r>>>24,V[i[i[A>>2]+32>>2]](v,A),r8(Z,v),l1(v),V[i[i[A>>2]+28>>2]](v,A),r8(p,v),l1(v),J=_,R=V[i[i[A>>2]+12>>2]](A)|0,i[J+88>>2]=R,J=_,R=V[i[i[A>>2]+16>>2]](A)|0,i[J+84>>2]=R,V[i[i[A>>2]+20>>2]](v,A),q1(C,v),z0(v),V[i[i[A>>2]+24>>2]](v,A),r8(W,v),l1(v),r=V[i[i[A>>2]+36>>2]](A)|0}for(i[e+20>>2]=r,B=w+16|0,i[h>>2]=i[u>>2],E=k&512,A=0,e=0;;){r=e;r:{e:{A:{f:{if((A|0)==4||g2(f,_+524|0))break f;w=0;k:{n:{t:{o:{u:switch(s[(_+92|0)+A|0]){case 1:if((A|0)==3)break e;k=i[f>>2],e=i[k+12>>2];l:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break l}e=i[e>>2]}if(V[i[i[o>>2]+12>>2]](o,1,e)|0){ro(_+12|0,f),KA(I,i[_+12>>2]);break o}i[n>>2]=i[n>>2]|4,f=0;break A;case 4:break k;case 2:break n;case 3:break t;case 0:break u;default:break r}if((A|0)==3)break e}for(;;){if(g2(f,_+524|0))break e;k=i[f>>2],e=i[k+12>>2];o:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break o}e=i[e>>2]}if(!(V[i[i[o>>2]+12>>2]](o,1,e)|0))break e;ro(_+12|0,f),KA(I,i[_+12>>2])}}t:{if(s[p+11|0]>>>7|0?e=i[p+4>>2]:e=s[p+11|0]&127,!e)break t;k=i[f>>2],e=i[k+12>>2];o:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break o}e=i[e>>2]}if(s[p+11|0]>>>7|0?k=i[p>>2]:k=p,(e|0)!=i[k>>2])break t;Y1(f),l[t|0]=0,s[p+11|0]>>>7|0?e=i[p+4>>2]:e=s[p+11|0]&127,e=e>>>0>1?p:r;break r}t:{if(s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,!e)break t;k=i[f>>2],e=i[k+12>>2];o:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break o}e=i[e>>2]}if(s[Z+11|0]>>>7|0?k=i[Z>>2]:k=Z,(e|0)!=i[k>>2])break t;Y1(f),l[t|0]=1,s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,e=e>>>0>1?Z:r;break r}if(s[p+11|0]>>>7|0?e=i[p+4>>2]:e=s[p+11|0]&127,e=!e,s[Z+11|0]>>>7|0?k=i[Z+4>>2]:k=s[Z+11|0]&127,!(e|!k)){i[n>>2]=i[n>>2]|4,f=0;break A}if(s[p+11|0]>>>7|0?e=i[p+4>>2]:e=s[p+11|0]&127,!e&&(s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,!e))break e;s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,l[t|0]=!e;break e}if(!(E|(r|A>>>0<2))&&(e=0,!((A|0)==2&s[_+95|0]!=0)))break r;J=_,R=C4(W),i[J+8>>2]=R,i[_+12>>2]=i[_+8>>2];n:{if(!A|s[(A+_|0)+91|0]>1)break n;for(;;){t:{if(J=_,R=a8(W),i[J+8>>2]=R,e=i[_+12>>2],(e|0)==i[_+8>>2]||!(V[i[i[o>>2]+12>>2]](o,1,i[e>>2])|0))break t;i[_+12>>2]=i[_+12>>2]+4;continue}break}if(J=_,R=C4(W),i[J+8>>2]=R,s[I+11|0]>>>7|0?w=i[I+4>>2]:w=s[I+11|0]&127,k=_+8|0,e=i[_+12>>2]-i[k>>2]>>2,w>>>0>=e>>>0&&(J=_,R=a8(I),i[J+8>>2]=R,v=J3(k,0-e|0),e=a8(I),w=C4(W),k=B-16|0,B=k,v=O8(v),e=O8(e),e=K2(v,O8(w),e-v&-4),B=k+16|0,!e))break n;J=_,R=C4(W),i[J+4>>2]=R,i[_+8>>2]=i[_+4>>2],i[_+12>>2]=i[_+8>>2]}for(i[_+8>>2]=i[_+12>>2];;){n:{if(J=_,R=a8(W),i[J+4>>2]=R,i[_+8>>2]==i[_+4>>2]||g2(f,_+524|0))break n;k=i[f>>2],e=i[k+12>>2];t:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break t}e=i[e>>2]}if((e|0)!=i[i[_+8>>2]>>2])break n;Y1(f),i[_+8>>2]=i[_+8>>2]+4;continue}break}if(!E||(J=_,R=a8(W),i[J+4>>2]=R,i[_+8>>2]==i[_+4>>2]))break e;i[n>>2]=i[n>>2]|4,f=0;break A}for(;;){k:{if(g2(f,_+524|0))break k;k=i[f>>2],e=i[k+12>>2];n:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break n}e=i[e>>2]}n:{if(V[i[i[o>>2]+12>>2]](o,64,e)|0){k=i[h>>2],(k|0)==i[_+520>>2]&&(Ei(u,h,_+520|0),k=i[h>>2]),i[h>>2]=k+4,i[k>>2]=e,w=w+1|0;break n}if(s[C+11|0]>>>7|0?k=i[C+4>>2]:k=s[C+11|0]&127,!k|!w|(e|0)!=i[_+84>>2])break k;e=i[_+100>>2],(e|0)==i[_+96>>2]&&(Ei(y,_+100|0,_+96|0),e=i[_+100>>2]),i[_+100>>2]=e+4,i[e>>2]=w,w=0}Y1(f);continue}break}e=i[_+100>>2],!w|(e|0)==i[y>>2]||(i[_+96>>2]==(e|0)&&(Ei(y,_+100|0,_+96|0),e=i[_+100>>2]),i[_+100>>2]=e+4,i[e>>2]=w);k:{if(i[_+20>>2]<=0)break k;n:{if(!g2(f,_+524|0)){k=i[f>>2],e=i[k+12>>2];t:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break t}e=i[e>>2]}if((e|0)==i[_+88>>2])break n}i[n>>2]=i[n>>2]|4,f=0;break A}for(;;){if(Y1(f),i[_+20>>2]<=0)break k;n:{if(!g2(f,_+524|0)){k=i[f>>2],e=i[k+12>>2];t:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break t}e=i[e>>2]}if(V[i[i[o>>2]+12>>2]](o,64,e)|0)break n}i[n>>2]=i[n>>2]|4,f=0;break A}i[h>>2]==i[_+520>>2]&&Ei(u,h,_+520|0),k=i[f>>2],e=i[k+12>>2];n:{if((e|0)==i[k+16>>2]){k=V[i[i[k>>2]+36>>2]](k)|0;break n}k=i[e>>2]}e=i[h>>2],i[h>>2]=e+4,i[e>>2]=k,i[_+20>>2]=i[_+20>>2]-1}}if(e=r,i[u>>2]!=i[h>>2])break r;i[n>>2]=i[n>>2]|4,f=0;break A}f:{if(!r)break f;for(w=1;;){if(s[r+11|0]>>>7|0?e=i[r+4>>2]:e=s[r+11|0]&127,e>>>0<=w>>>0)break f;k:{if(!g2(f,_+524|0)){A=i[f>>2],e=i[A+12>>2];n:{if((e|0)==i[A+16>>2]){e=V[i[i[A>>2]+36>>2]](A)|0;break n}e=i[e>>2]}if(s[r+11|0]>>>7|0?A=i[r>>2]:A=r,(e|0)==i[A+(w<<2)>>2])break k}i[n>>2]=i[n>>2]|4,f=0;break A}Y1(f),w=w+1|0}}if(f=1,i[y>>2]==i[_+100>>2])break A;if(f=0,i[_+12>>2]=0,K1(C,i[y>>2],i[_+100>>2],_+12|0),i[_+12>>2]){i[n>>2]=i[n>>2]|4;break A}f=1}l1(I),l1(Z),l1(p),l1(W),z0(C),e=i[y>>2],i[y>>2]=0,e&&V[i[y+4>>2]](e);break i}e=r}A=A+1|0}}return B=_+528|0,f}function xs(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0;A=B-224|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+56|0]=0,l[A+67|0]=0,r0(A+200|0,2,100,A+56|0),l[A+67|0]>=0)break i;G(i[A+56>>2]);break i}if(k=i[19565],i[A+200>>2]=i[19564],i[A+204>>2]=k,n=A+208|0,l[78275]>=0){k=i[19567],i[n>>2]=i[19566],i[n+4>>2]=k,i[n+8>>2]=i[19568];break i}_0(n,i[19566],i[19567])}l[A+219|0]<0&&G(i[A+208>>2]),C=s[e+48|0];i:{if(C>>>0>=3){h4(f,e,13698);break i}n=t2(r);r:{e:{A:{if((C|0)!=2){I=t2(r);break A}I=D0(r)}if(I>>>0<=2e4){if(!I)break r;E=n&15,H=(E|0)!=0&(C-1&255)>>>0<2,a=e+56|0,J=i[13631],S=J-12|0,q=i[13632]-12|0,d=i[13635]-12|0,R=i[13633],A0=R-12|0,f0=i[13640],n0=i[13639],h0=i[13637],j=i[13636],L=i[13634],D=A+68|0,p=A- -64|0,p0=A+120|0,w=A+24|6,X0=(n>>>4&15)-4|0,G0=(n>>>12|0)-4|0,I0=(n>>>8&15)-4|0;break e}i[A+64>>2]=54496,i[A+120>>2]=54516,e=i[13633],i[A+56>>2]=e,n=A+56|0,i[n+i[e-12>>2]>>2]=i[13634],i[A+60>>2]=0,e=n+i[i[A+56>>2]-12>>2]|0,k=A+68|0,b0(e,k),i[e+72>>2]=0,i[e+76>>2]=-1,e=i[13635],i[A+64>>2]=e,r=A- -64|0,i[r+i[e-12>>2]>>2]=i[13636],e=i[13632],i[A+56>>2]=e,i[n+i[e-12>>2]>>2]=i[13637],i[A+120>>2]=54516,i[A+56>>2]=54476,i[A+64>>2]=54496,k=$0(k),i[k>>2]=53552,i[A+108>>2]=0,i[A+112>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+116>>2]=24,x(H0(x(L0(x(r,18738,18),I),19006,44),2e4),17597,7),e=A+24|0,i2(e,k),r0(f,6,1e3,e),l[A+35|0]<0&&G(i[A+24>>2]),f=i[13631],i[A+56>>2]=f,i[i[f-12>>2]+(A+56|0)>>2]=i[13639],i[A+64>>2]=i[13640],i[k>>2]=53552,l[A+111|0]<0&&G(i[A+100>>2]),K0(k),T0(A+120|0);break i}for(;;){l[A+28|0]=0,i[A+24>>2]=0,X[w+14>>1]=0,X[w+16>>1]=0,X[w+18>>1]=0,X[w+20>>1]=0,X[w+8>>1]=0,X[w+10>>1]=0,X[w+12>>1]=0,X[w+14>>1]=0,X[w>>1]=0,X[w+2>>1]=0,X[w+4>>1]=0,X[w+6>>1]=0;e:{A:{if((C|0)==2){Q0=A,F0=D0(r),i[Q0+24>>2]=F0;break A}if(Q0=A,F0=t2(r),i[Q0+24>>2]=F0,!C)break e}Q0=A,F0=t2(r)&15,l[Q0+28|0]=F0}k=t2(r),i[A+32>>2]=0,i[A+36>>2]=0,X[A+30>>1]=k,n=A;e:{A:{f:switch(X0|0){case 0:k=D0(r),t=0;break A;case 4:break f;default:break e}k=D0(r),i[A+32>>2]=0,i[A+36>>2]=k,k=D0(r)|i[A+32>>2],t=i[A+36>>2]}i[n+32>>2]=k,i[n+36>>2]=t}e:{A:{f:{if(y=t2(r),y>>>0<=32){if(W=0,y)break f;break A}i[A+56>>2]=R,i[A+64>>2]=54496,i[A+120>>2]=54516,n=A+56|0,i[n+i[A0>>2]>>2]=L,i[A+60>>2]=0,k=n+i[i[A+56>>2]-12>>2]|0,b0(k,D),i[k+72>>2]=0,i[k+76>>2]=-1,i[i[d>>2]+p>>2]=j,i[n+i[q>>2]>>2]=h0,i[A+120>>2]=54516,i[A+56>>2]=54476,i[A+64>>2]=54496,n=$0(D),i[n>>2]=53552,i[A+108>>2]=0,i[A+112>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+116>>2]=24,x(H0(x(H0(x(p,18533,31),y),18565,26),32),31337,2),k=A+12|0,i2(k,n),r0(f,6,1e3,k),l[A+23|0]<0&&G(i[A+12>>2]),i[A+56>>2]=J,i[i[S>>2]+(A+56|0)>>2]=n0,i[A+64>>2]=f0,i[n>>2]=53552,l[A+111|0]<0&&G(i[A+100>>2]),K0(n),T0(p0);break e}for(;;){i[A+88>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[p>>2]=0,i[p+4>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0;f:{if(!H)break f;k:switch(E-4|0){case 0:Q0=A,F0=D0(r),i[Q0+56>>2]=F0,i[A+60>>2]=0;break f;case 4:break k;default:break f}k=D0(r),i[A+56>>2]=0,i[A+60>>2]=k,t=D0(r),k=i[A+60>>2],i[A+56>>2]=i[A+56>>2]|t,i[A+60>>2]=k}i[A+64>>2]=0,i[A+68>>2]=0,n=A;f:{k:{n:switch(G0|0){case 0:k=D0(r),t=0;break k;case 4:break n;default:break f}k=D0(r),i[A+64>>2]=0,i[A+68>>2]=k,k=D0(r)|i[A+64>>2],t=i[A+68>>2]}i[n+64>>2]=k,i[n+68>>2]=t}i[A+72>>2]=0,i[A+76>>2]=0;f:{k:{n:switch(I0|0){case 0:k=D0(r),t=0;break k;case 4:break n;default:break f}k=D0(r),i[A+72>>2]=0,i[A+76>>2]=k,k=D0(r)|i[A+72>>2],t=i[A+76>>2]}i[n+72>>2]=k,i[n+76>>2]=t}f:{k=i[A+44>>2];k:{if(k>>>0<k0[A+48>>2]){if(n=i[A+60>>2],i[k>>2]=i[A+56>>2],i[k+4>>2]=n,n=i[A+76>>2],i[k+16>>2]=i[A+72>>2],i[k+20>>2]=n,n=i[p+4>>2],i[k+8>>2]=i[p>>2],i[k+12>>2]=n,i[k+32>>2]=0,i[k+24>>2]=0,i[k+28>>2]=0,n=i[A+84>>2],t=i[A+80>>2],(n|0)!=(t|0)){if(u=n-t|0,(u|0)<0)break f;o=U(u),i[k+28>>2]=o,i[k+24>>2]=o,n=o+u|0,i[k+32>>2]=n,l0(o,t,u),i[k+28>>2]=n}k=k+40|0;break k}k=0;n:{t:{o:{if(u=i[A+44>>2],_=i[A+40>>2],o=(u-_|0)/40|0,h=o+1|0,h>>>0<107374183){if(t=(i[A+48>>2]-_|0)/40|0,n=t<<1,v=t>>>0>=53687091?107374182:n>>>0>h>>>0?n:h,v){if(v>>>0>=107374183)break o;k=U(m(v,40))}if(t=i[A+60>>2],n=m(o,40)+k|0,i[n>>2]=i[A+56>>2],i[n+4>>2]=t,Z=i[A+64>>2],h=i[A+68>>2],o=i[A+72>>2],t=i[A+76>>2],i[n+32>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+16>>2]=o,i[n+20>>2]=t,i[n+8>>2]=Z,i[n+12>>2]=h,t=i[A+84>>2],h=i[A+80>>2],(t|0)!=(h|0)){if(Z=t-h|0,(Z|0)<0)break t;o=U(Z),i[n+24>>2]=o,t=o+Z|0,i[n+32>>2]=t,l0(o,h,Z),i[n+28>>2]=t}Z=m(v,40)+k|0,t=n+40|0;u:{if((u|0)==(_|0)){k=n;break u}for(;o=u-40|0,h=i[o+4>>2],k=n-40|0,i[k>>2]=i[o>>2],i[k+4>>2]=h,h=i[o+20>>2],i[k+16>>2]=i[o+16>>2],i[k+20>>2]=h,h=i[o+12>>2],i[k+8>>2]=i[o+8>>2],i[k+12>>2]=h,h=n-8|0,i[h>>2]=0,v=u-16|0,i[n-16>>2]=i[v>>2],i[n-12>>2]=i[u-12>>2],n=u-8|0,i[h>>2]=i[n>>2],i[n>>2]=0,i[v>>2]=0,i[v+4>>2]=0,n=k,u=o,(o|0)!=(_|0););u=i[A+44>>2],_=i[A+40>>2]}if(i[A+48>>2]=Z,i[A+44>>2]=t,i[A+40>>2]=k,(u|0)!=(_|0))for(;k=i[u-16>>2],k&&(i[u-12>>2]=k,G(k)),u=u-40|0,(_|0)!=(u|0););_&&G(_),k=t;break n}y0(),P()}_2(),P()}y0(),P()}}if(i[A+44>>2]=k,k=i[A+80>>2],k&&(i[A+84>>2]=k,G(k)),W=W+1|0,(y|0)==(W|0))break A;continue}break}y0(),P()}if(s[r+20|0])break e;k=i[e+60>>2];A:{if(k>>>0<k0[e+64>>2]){n=i[A+28>>2],i[k>>2]=i[A+24>>2],i[k+4>>2]=n,n=i[A+36>>2],i[k+8>>2]=i[A+32>>2],i[k+12>>2]=n,i[k+24>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,t=i[A+40>>2],n=i[A+44>>2],br(k+16|0,t,n,(n-t|0)/40|0),n=k+32|0;break A}n=vn(a,A+24|0)}i[e+60>>2]=n}if(n=i[A+40>>2],n){if(W=n,k=i[A+44>>2],(n|0)!=(k|0)){for(;t=i[k-16>>2],t&&(i[k-12>>2]=t,G(t)),k=k-40|0,(n|0)!=(k|0););W=i[A+40>>2]}i[A+44>>2]=n,G(W)}if(y>>>0>=33)break i;if(z=z+1|0,(z|0)==(I|0))break}}if(s[r+20|0]==1){if(l[A+56|0]=0,l[A+67|0]=0,r0(f,2,100,A+56|0),l[A+67|0]>=0)break i;G(i[A+56>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,e=f+8|0,l[78275]>=0){f=i[19567],i[e>>2]=i[19566],i[e+4>>2]=f,i[e+8>>2]=i[19568];break i}_0(e,i[19566],i[19567])}B=A+224|0}function zs(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0;o=B-16|0,B=o,n=i[k>>2],t=n+i[r>>2]|0;i:{if(i[r+4>>2]-t>>>0<=(A|0)/8<<2>>>0){if(e=U(56),i[o+4>>2]=e,i[o+8>>2]=50,i[o+12>>2]=-2147483592,r=s[6770]|s[6771]<<8|(s[6772]<<16|s[6773]<<24),A=s[6766]|s[6767]<<8|(s[6768]<<16|s[6769]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+50|0]=0,r=s[6814]|s[6815]<<8,l[e+48|0]=r,l[e+49|0]=r>>>8,r=s[6810]|s[6811]<<8|(s[6812]<<16|s[6813]<<24),A=s[6806]|s[6807]<<8|(s[6808]<<16|s[6809]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[6802]|s[6803]<<8|(s[6804]<<16|s[6805]<<24),A=s[6798]|s[6799]<<8|(s[6800]<<16|s[6801]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[6794]|s[6795]<<8|(s[6796]<<16|s[6797]<<24),A=s[6790]|s[6791]<<8|(s[6792]<<16|s[6793]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6786]|s[6787]<<8|(s[6788]<<16|s[6789]<<24),A=s[6782]|s[6783]<<8|(s[6784]<<16|s[6785]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6778]|s[6779]<<8|(s[6780]<<16|s[6781]<<24),A=s[6774]|s[6775]<<8|(s[6776]<<16|s[6777]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,o+4|0),l[o+15|0]>=0)break i;G(i[o+4>>2]);break i}u=s[t|0],h=s[t+1|0];r:{if((A|0)==32){n=n+4|0,t=s[t+3|0]|(h<<16|u<<24|s[t+2|0]<<8);break r}n=n+2|0,t=(h<<16|u<<24)>>16}i[k>>2]=n,i[e+4>>2]=t,n=i[k>>2],t=n+i[r>>2]|0,u=s[t|0],h=s[t+1|0];r:{if((A|0)==32){n=n+4|0,t=s[t+3|0]|(h<<16|u<<24|s[t+2|0]<<8);break r}n=n+2|0,t=(h<<16|u<<24)>>16}i[k>>2]=n,i[e+8>>2]=t,t=i[r>>2],w=i[k>>2],n=t+w|0,u=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|u<<24|s[n+2|0]<<8),u=4;break r}n=h|u<<8,u=2}i[k>>2]=u+w,i[e+12>>2]=n,w=i[k>>2],n=w+t|0,u=s[n|0],h=s[n+1|0];r:{if((A|0)==32){A=s[n+3|0]|(h<<16|u<<24|s[n+2|0]<<8),n=4;break r}A=h|u<<8,n=2}if(i[k>>2]=n+w,i[e+16>>2]=A,A=i[k>>2],n=s[A+t|0],i[k>>2]=A+1,n){if(e=U(56),i[o+4>>2]=e,i[o+8>>2]=51,i[o+12>>2]=-2147483592,r=s[12359]|s[12360]<<8|(s[12361]<<16|s[12362]<<24),A=s[12355]|s[12356]<<8|(s[12357]<<16|s[12358]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+51|0]=0,r=s[12402]|s[12403]<<8|(s[12404]<<16|s[12405]<<24),l[e+47|0]=r,l[e+48|0]=r>>>8,l[e+49|0]=r>>>16,l[e+50|0]=r>>>24,r=s[12399]|s[12400]<<8|(s[12401]<<16|s[12402]<<24),A=s[12395]|s[12396]<<8|(s[12397]<<16|s[12398]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[12391]|s[12392]<<8|(s[12393]<<16|s[12394]<<24),A=s[12387]|s[12388]<<8|(s[12389]<<16|s[12390]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[12383]|s[12384]<<8|(s[12385]<<16|s[12386]<<24),A=s[12379]|s[12380]<<8|(s[12381]<<16|s[12382]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[12375]|s[12376]<<8|(s[12377]<<16|s[12378]<<24),A=s[12371]|s[12372]<<8|(s[12373]<<16|s[12374]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[12367]|s[12368]<<8|(s[12369]<<16|s[12370]<<24),A=s[12363]|s[12364]<<8|(s[12365]<<16|s[12366]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,o+4|0),l[o+15|0]>=0)break i;G(i[o+4>>2]);break i}if(t=i[r+4>>2]+((A^-1)-t|0)|0,u=m(i[e+16>>2],i[e+12>>2]),A=u>>>3|0,t>>>0<A>>>0){if(e=U(64),i[o+4>>2]=e,i[o+8>>2]=57,i[o+12>>2]=-2147483584,r=s[14723]|s[14724]<<8|(s[14725]<<16|s[14726]<<24),A=s[14719]|s[14720]<<8|(s[14721]<<16|s[14722]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+57|0]=0,l[e+56|0]=s[14775],r=s[14771]|s[14772]<<8|(s[14773]<<16|s[14774]<<24),A=s[14767]|s[14768]<<8|(s[14769]<<16|s[14770]<<24),l[e+48|0]=A,l[e+49|0]=A>>>8,l[e+50|0]=A>>>16,l[e+51|0]=A>>>24,l[e+52|0]=r,l[e+53|0]=r>>>8,l[e+54|0]=r>>>16,l[e+55|0]=r>>>24,r=s[14763]|s[14764]<<8|(s[14765]<<16|s[14766]<<24),A=s[14759]|s[14760]<<8|(s[14761]<<16|s[14762]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[14755]|s[14756]<<8|(s[14757]<<16|s[14758]<<24),A=s[14751]|s[14752]<<8|(s[14753]<<16|s[14754]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[14747]|s[14748]<<8|(s[14749]<<16|s[14750]<<24),A=s[14743]|s[14744]<<8|(s[14745]<<16|s[14746]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[14739]|s[14740]<<8|(s[14741]<<16|s[14742]<<24),A=s[14735]|s[14736]<<8|(s[14737]<<16|s[14738]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[14731]|s[14732]<<8|(s[14733]<<16|s[14734]<<24),A=s[14727]|s[14728]<<8|(s[14729]<<16|s[14730]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,o+4|0),l[o+15|0]>=0)break i;G(i[o+4>>2]);break i}t=e+20|0,h=i[e+20>>2],n=i[e+24>>2]-h|0;r:{if(n>>>0<A>>>0){L2(t,A-n|0);break r}if(A>>>0>=n>>>0)break r;i[e+24>>2]=A+h}if(u>>>0>=8&&F2(i[t>>2],i[r>>2]+i[k>>2]|0,A),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=o+16|0}function ZA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0,B1=0,p1=0,W1=0,X1=0,N1=0,r4=0,e4=0;n=B+-64|0,B=n;i:{r:{u=i[f+276>>2],y2=(A|0)>(u|0)?u:A;e:{if((y2|0)<=(r|0)||(n2=i[f+272>>2],x2=(k|0)>(n2|0)?n2:k,(x2|0)<=0))break e;for(A1=e?1:2,h1=e?2:1,y=i[f+40>>2],T2=y<<1,O2=i[f+124>>2],A=i[O2+16832>>2],q2=A-8|0,D=-1<<A^-1,B1=e?4:3,p0=m(y,-6),X0=m(y,6),Q0=y<<2,s2=0-Q0|0,p1=y<<(e^1)<<3,W1=m(r,y)<<3,X1=i[f+260>>2],G0=0-y<<1,S=y<<1,S0=0-S<<1;;){for(F0=r<<2,b2=F0-1|0,N1=m(y,F0),r4=m(e1,p1)+W1|0,e4=m(F0>>2,n2)+X1|0,W2=0,c0=0;;){v=c0<<2,f0=s[(v>>2)+e4|0]&3;A:{if(!f0)break A;A=i[f+4>>2],u=A+(v+N1<<1)|0;f:{if(!e){X[n+32>>1]=Q[u>>1],X[n>>1]=Q[u+G0>>1],X[n+34>>1]=Q[u+S>>1],X[n+2>>1]=Q[u+S0>>1],t=S<<1,X[n+36>>1]=Q[t+u>>1],C=Q[u+p0>>1],X[n+4>>1]=C,X[n+38>>1]=Q[u+X0>>1],o=s2<<1,I=Q[o+u>>1],X[n+6>>1]=I,A=u+2|0,X[n+40>>1]=Q[A>>1],X[n+8>>1]=Q[A+G0>>1],X[n+42>>1]=Q[A+S>>1],X[n+10>>1]=Q[A+S0>>1],X[n+44>>1]=Q[A+t>>1],X[n+12>>1]=Q[A+p0>>1],X[n+46>>1]=Q[A+X0>>1],X[n+14>>1]=Q[A+o>>1],A=u+4|0,X[n+48>>1]=Q[A>>1],X[n+16>>1]=Q[A+G0>>1],X[n+50>>1]=Q[A+S>>1],X[n+18>>1]=Q[A+S0>>1],X[n+52>>1]=Q[A+t>>1],X[n+20>>1]=Q[A+p0>>1],X[n+54>>1]=Q[A+X0>>1],X[n+22>>1]=Q[A+o>>1],k=u+6|0,X[n+56>>1]=Q[k>>1],A=Q[k+G0>>1],X[n+24>>1]=A,X[n+58>>1]=Q[k+S>>1],_=Q[k+S0>>1],X[n+26>>1]=_,X[n+60>>1]=Q[k+t>>1],w=Q[k+p0>>1],X[n+28>>1]=w,X[n+62>>1]=Q[k+X0>>1],k=k+o|0;break f}A=A+((W2<<B1)+r4|0)|0,k=Q[A+4>>1]|Q[A+6>>1]<<16,i[n+32>>2]=Q[A>>1]|Q[A+2>>1]<<16,i[n+36>>2]=k,X[n>>1]=Q[u-2>>1],X[n+2>>1]=Q[u-4>>1],C=Q[u-6>>1],X[n+4>>1]=C,I=Q[u-8>>1],X[n+6>>1]=I,k=A+T2|0,t=Q[k+4>>1]|Q[k+6>>1]<<16,i[n+40>>2]=Q[k>>1]|Q[k+2>>1]<<16,i[n+44>>2]=t,k=u+S|0,X[n+8>>1]=Q[k-2>>1],X[n+10>>1]=Q[k-4>>1],X[n+12>>1]=Q[k-6>>1],X[n+14>>1]=Q[k-8>>1],k=A+Q0|0,t=Q[k+4>>1]|Q[k+6>>1]<<16,i[n+48>>2]=Q[k>>1]|Q[k+2>>1]<<16,i[n+52>>2]=t,k=u+Q0|0,X[n+16>>1]=Q[k-2>>1],X[n+18>>1]=Q[k-4>>1],X[n+20>>1]=Q[k-6>>1],X[n+22>>1]=Q[k-8>>1],A=A+X0|0,k=Q[A+4>>1]|Q[A+6>>1]<<16,i[n+56>>2]=Q[A>>1]|Q[A+2>>1]<<16,i[n+60>>2]=k,k=u+X0|0,A=Q[k-2>>1],X[n+24>>1]=A,_=Q[k-4>>1],X[n+26>>1]=_,w=Q[k-6>>1],X[n+28>>1]=w,k=k-8|0}if(r2=Q[k>>1],X[n+30>>1]=r2,E=i[f+168>>2],k=v>>E,(k|0)<0||(Z=i[f+172>>2],(Z|0)<=(k|0)))break i;if(t=F0>>E,(t|0)<0||(z=i[f+176>>2],(z|0)<=(t|0)))break r;J=i[f+160>>2],H=J+m(k,3)|0,h=m(m(t,Z),3),q=H+h|0,I0=l[q+2|0];f:{if(!e){if(k=b2>>E,(k|0)<0|(k|0)>=(z|0))break r;k=(H+m(m(k,Z),3)|0)+2|0;break f}if(k=v-1>>E,(k|0)<0|k>>>0>=Z>>>0)break i;k=(h+(J+m(k,3)|0)|0)+2|0}if(o=i[f+148>>2],t=v>>o,(t|0)<0||(n0=i[f+152>>2],(n0|0)<=(t|0)))break i;if(o=F0>>o,(o|0)<0|(o|0)>=i[f+156>>2])break r;if(R=Q[n+56>>1],h0=R+(Q[n+60>>1]-(Q[n+58>>1]<<1)|0)|0,p=h0>>31,j=((w&65535)-(_<<1)|0)+A|0,_=j>>31,w=Q[n+32>>1],L=w+(Q[n+36>>1]-(Q[n+34>>1]<<1)|0)|0,d=L>>31,A0=Q[n>>1],W=A0+(C-(Q[n+2>>1]<<1)|0)|0,C=W>>31,p=(p^h0)-p|0,h0=(_^j)-_|0,j=p+h0|0,d=(d^L)-d|0,L=(C^W)-C|0,W=d+L|0,k=(I0+l[k|0]|0)+1>>1,o=i[i[f+52>>2]+(Q[((i[f+140>>2]+m(t,24)|0)+m(m(o,n0),24)|0)+2>>1]<<2)>>2],t=k+i[o+764>>2]|0,t=(t|0)>=51?51:t,_=s[((t|0)>0?t:0)+42960|0]<<q2,(j+W|0)>=(_|0))break A;t=A,A=(i[o+768>>2]+(k+(f0<<1)|0)|0)-2|0,A=(A|0)>=53?53:A,C=s[((A|0)>0?A:0)+43024|0]<<q2,A=0,f0=_>>>2|0,k=0;f:{if(f0>>>0<=W<<1>>>0||(I0=w-Q[n+38>>1]|0,o=I0>>31,n0=I-A0|0,I=n0>>31,k=0,(o^I0)-o+((I^n0)-I)>>>0>=_>>>3>>>0))break f;o=A0-w|0,k=o>>31,k=((k^o)-k|0)<m(C,5)+1>>1}o=k;f:{if(f0>>>0<=j<<1>>>0||(I=R-Q[n+62>>1]|0,k=I>>31,A0=r2-t|0,w=A0>>31,(k^I)-k+((w^A0)-w)>>>0>=_>>>3>>>0))break f;k=t-R|0,A=k>>31,A=((A^k)-A|0)<m(C,5)+1>>1}w=s[O2+8812|0];f:{if(!e){if(t=b2>>E,w){if((t|0)<0|(t|0)>=(z|0))break r;k=!(s[(H+m(m(t,Z),3)|0)+1|0]&4)}else k=1;if((t|0)<0|(t|0)>=(z|0))break r;t=H+m(m(t,Z),3)|0;break f}if(t=v-1>>E,w){if((t|0)<0|t>>>0>=Z>>>0)break i;k=!(s[(h+(J+m(t,3)|0)|0)+1|0]&4)}else k=1;if((t|0)<0|t>>>0>=Z>>>0)break i;t=h+(J+m(t,3)|0)|0}for(A0=A&o,z=!(s[t+1|0]&8)&k,A=_+(_>>>1|0)>>>3|0,f0=z&A>>>0>h0+L>>>0,k=A>>>0>p+d>>>0,A=s[q|0]|s[q+1|0]<<8,_=!(A&2048)&(!w|!(A&1024)),r2=k&_,t=C<<1,A=0,d=0-C|0,I0=m(C,10),n0=u+2|0,h0=u-4|0,j=u-2|0,I=C>>1,q=0-I|0,L=u+S|0;;){Z=A<<3,k=Z+n|0,o=Q[k+2>>1],h=Z+(n+32|0)|0,J=Q[h+4>>1],Z=Q[h+2>>1],v=Q[h>>1],H=Q[k+4>>1],E=Q[k>>1];f:{if(!A0){if(k=(m(v-E|0,9)+m(Z-o|0,-3)|0)+8>>4,h=k>>31,(I0|0)<=((k^h)-h|0))break f;h=(k|0)<(d|0)?d:(k|0)<(C|0)?k:C;k:{n:{if(!e){if(z&&(k=h+E|0,X[u+(A-y<<1)>>1]=(k|0)>=0?(k|0)<(D|0)?k:D:0),!_)break k;k=v-h|0,w=(k|0)>=0?(k|0)<(D|0)?k:D:0,k=A;break n}if(z&&(k=h+E|0,X[j+(m(A,y)<<1)>>1]=(k|0)>=0?(k|0)<(D|0)?k:D:0),!_)break k;k=v-h|0,w=(k|0)>=0?(k|0)<(D|0)?k:D:0,k=m(A,y)}X[(k<<1)+u>>1]=w}if(f0&&(k=h+(((E+H|0)+1>>>1|0)-o|0)>>1,k=((k|0)<(q|0)?q:(k|0)<(I|0)?k:I)+o|0,X[(e?h0+(m(A,y)<<1)|0:u+(A-T2<<1)|0)>>1]=(k|0)>=0?(k|0)<(D|0)?k:D:0),!r2)break f;if(k=((v+J|0)+1>>>1)-(h+Z)>>1,k=Z+((k|0)<(q|0)?q:(k|0)<(I|0)?k:I)|0,k=(k|0)>=0?(k|0)<(D|0)?k:D:0,!e){X[(A<<1)+L>>1]=k;break f}X[n0+(m(A,y)<<1)>>1]=k;break f}if(R=Z-t|0,p=v+E|0,W=p+Z|0,w=(W+J|0)+2>>>2|0,a=t+Z|0,w=(w|0)<(R|0)?R:(w|0)<(a|0)?w:a,a=o-t|0,p=o+p|0,R=(p+H|0)+2>>>2|0,Y0=t+o|0,R=(R|0)<(a|0)?a:(R|0)<(Y0|0)?R:Y0,a=J-t|0,h=((W+m(J,3)|0)+(Q[h+6>>1]<<1)|0)+4>>>3|0,W=t+J|0,h=(h|0)<(a|0)?a:(h|0)<(W|0)?h:W,W=H-t|0,k=((p+m(H,3)|0)+(Q[k+6>>1]<<1)|0)+4>>>3|0,p=t+H|0,p=(k|0)<(W|0)?W:(k|0)<(p|0)?k:p,W=v-t|0,Y0=v<<1,a=(E<<1)+4|0,k=J+((Y0+(a+o|0)|0)+(Z<<1)|0)>>>3|0,v=t+v|0,v=(k|0)<(W|0)?W:(k|0)<(v|0)?k:v,J=E-t|0,k=Z+(Y0+((H+a|0)+(o<<1)|0)|0)>>>3|0,o=t+E|0,o=(k|0)<(J|0)?J:(k|0)<(o|0)?k:o,!e){if(k=u+(A<<1)|0,!z){if(!_)break f;X[k>>1]=v,X[k+S>>1]=w,X[k+Q0>>1]=h;break f}if(!_){X[k+G0>>1]=o,X[k+s2>>1]=R,X[k+p0>>1]=p;break f}X[k+G0>>1]=o,X[k>>1]=v,X[k+s2>>1]=R,X[k+S>>1]=w,X[k+p0>>1]=p,X[k+Q0>>1]=h;break f}if(k=u+(m(A,y)<<1)|0,z&&(X[k-2>>1]=o),_&&(X[k>>1]=v),z&&(X[k-4>>1]=R),_&&(X[k+2>>1]=w),z&&(X[k-6>>1]=p),!_)break f;X[k+4>>1]=h}if(A=A+1|0,(A|0)==4)break}}if(W2=W2+1|0,c0=c0+h1|0,!((x2|0)>(c0|0)))break}if(e1=e1+1|0,r=r+A1|0,!((y2|0)>(r|0)))break}}B=n- -64|0;return}C0(3720,8453,119,3372),P()}C0(3758,8453,118,3372),P()}function Hs(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;if(k=B-192|0,B=k,i[k+92>>2]=54820,A=i[13708],i[k+36>>2]=A,o=k+36|0,i[o+i[A-12>>2]>>2]=i[13709],A=o+i[i[k+36>>2]-12>>2]|0,n=k+40|0,b0(A,n),i[A+72>>2]=0,i[A+76>>2]=-1,i[k+92>>2]=54820,i[k+36>>2]=54800,Z=$0(n),i[Z>>2]=53552,i[k+80>>2]=0,i[k+84>>2]=0,i[k+72>>2]=0,i[k+76>>2]=0,i[k+88>>2]=16,A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,t=A+12|0,i[t+i[n-12>>2]>>2]=i[13709],n=t+i[i[A+12>>2]-12>>2]|0,u=A+16|0,b0(n,u),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(u),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,u=A+148|0,R2(u,e,r),w=t,h=u,t=l[A+159|0],u=(t|0)<0,x(w,u?i[A+148>>2]:h,u?i[A+152>>2]:t),l[A+159|0]<0&&G(i[A+148>>2]),t=A+148|0,W0(t,r),w=t,t=l[A+159|0],u=(t|0)<0,x(A+12|0,u?i[A+148>>2]:w,u?i[A+152>>2]:t),l[A+159|0]<0&&G(i[A+148>>2]),t=x(H0(x(A+12|0,20352,9),s[e+48|0]),31338,1),u=A+148|0,W0(u,r),w=u,u=l[A+159|0],h=(u|0)<0,x(t,h?i[A+148>>2]:w,h?i[A+152>>2]:u),l[A+159|0]<0&&G(i[A+148>>2]),t=x(t,19951,7),u=i[i[t>>2]-12>>2]+t|0,i[u+4>>2]=i[u+4>>2]&-75|8,x(L0(t,i[e+52>>2]),31338,1),t=k+180|0,i2(t,n),u=i[13707],i[A+12>>2]=u,i[i[u-12>>2]+(A+12|0)>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0,A=l[k+191|0],n=(A|0)<0,x(o,n?i[k+180>>2]:t,n?i[k+184>>2]:A),l[k+191|0]<0&&G(i[k+180>>2]),A=k+180|0,W0(A,r),t=A,A=l[k+191|0],n=(A|0)<0,x(k+36|0,n?i[k+180>>2]:t,n?i[k+184>>2]:A),l[k+191|0]<0&&G(i[k+180>>2]),A=k+36|0,x(H0(x(A,20755,17),s[e+56|0]+1|0),31338,1),s[e+57|0]==1&&(n=k+180|0,W0(n,r),t=A,u=n,A=l[k+191|0],n=(A|0)<0,x(t,n?i[k+180>>2]:u,n?i[k+184>>2]:A),l[k+191|0]<0&&G(i[k+180>>2]),A=x(L0(x(k+36|0,19490,11),Q[e+58>>1]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(A,19767,15),s[e+60|0]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),n=x(A,20879,21),A=s[e+61|0],A=(A|0)==1?3125:(A|0)==2?5488:6156,A=x(x(n,A,G2(A)),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),n=x(A,19659,15),A=i[(s[e+62|0]<<2)+74912>>2],A=x(x(n,A,G2(A)),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(A,20498,11),s[e+63|0]+8|0),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),A=x(L0(x(A,21705,20),Q[e+120>>1]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),x(L0(x(A,19591,20),Q[e+122>>1]),31338,1),A=k+180|0,W0(A,r),t=A,A=l[k+191|0],n=(A|0)<0,x(k+36|0,n?i[k+180>>2]:t,n?i[k+184>>2]:A),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(k+36|0,21107,17),s[e+65|0]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(A,20680,11),s[e+66|0]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(A,16391,14),s[e+67|0]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(A,20647,32),s[e+68|0]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),x(H0(x(A,20692,30),s[e+69|0]),31338,1)),A=k+180|0,W0(A,r),t=A,A=l[k+191|0],n=(A|0)<0,x(k+36|0,n?i[k+180>>2]:t,n?i[k+184>>2]:A),l[k+191|0]<0&&G(i[k+180>>2]),A=k+36|0,x(L0(x(A,19675,15),i[e+132>>2]-i[e+128>>2]>>4),31338,1),n=k+180|0,W0(n,r),t=A,u=n,A=l[k+191|0],n=(A|0)<0,x(t,n?i[k+180>>2]:u,n?i[k+184>>2]:A),l[k+191|0]<0&&G(i[k+180>>2]),x(k+36|0,30574,13),n=i[e+128>>2],p=i[e+132>>2],(n|0)!=(p|0))for(e=i[r>>2];;){i[r>>2]=e+1,e=k+180|0,W0(e,r),t=e,e=l[k+191|0],A=(e|0)<0,x(k+36|0,A?i[k+180>>2]:t,A?i[k+184>>2]:e),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(k+36|0,21070,10),s[n+1|0]),18656,2),e=s[n+1|0]-12&255,e>>>0>7?e=15637:e=i[(e<<2)+74988>>2],x(x(A,e,G2(e)),31337,2),e=k+180|0,W0(e,r),t=e,e=l[k+191|0],A=(e|0)<0,x(k+36|0,A?i[k+180>>2]:t,A?i[k+184>>2]:e),l[k+191|0]<0&&G(i[k+180>>2]),x(H0(x(k+36|0,19746,20),s[n|0]),31338,1);i:{if(e=i[n+4>>2],W=i[n+8>>2],(e|0)==(W|0))break i;for(;;){r:{i[r>>2]=i[r>>2]+1,A=k+24|0,W0(A,r),o=i[e>>2],ck(k+12|0,o,i[e+4>>2]-o|0,A,A),h=l[k+23|0],w=i[k+12>>2],v=i[k+16>>2],A=k+36|0,C=V1(k+172|0,A);e:{if(s[C|0]!=1)break e;t=A+i[i[k+36>>2]-12>>2]|0,y=i[t+4>>2],o=i[t+24>>2],u=i[t+76>>2],(u|0)==-1&&(_=k+180|0,A=i[t+28>>2],i[_>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(_,100192),u=V[i[i[A>>2]+28>>2]](A,32)|0,O0(_),i[t+76>>2]=u);A:{if(!o||(_=i[t+12>>2],A=w,w=(h|0)<0,A=w?A:k+12|0,h=w?v:h,I=A+h|0,w=(y&176)==32?I:A,v=w-A|0,(v|0)>0&&(V[i[i[o>>2]+48>>2]](o,A,v)|0)!=(v|0)))break A;if(A=(h|0)<(_|0)?_-h|0:0,(A|0)>0){if(A>>>0>=2147483640)break r;f:{if(A>>>0>=11){_=(A|7)+1|0,h=U(_),i[k+188>>2]=_|-2147483648,i[k+180>>2]=h,i[k+184>>2]=A;break f}l[k+191|0]=A,h=k+180|0}if(E=B0(h,u,A)+A|0,J=0,l[E|0]=J,u=V[i[i[o>>2]+48>>2]](o,l[k+191|0]<0?i[k+180>>2]:k+180|0,A)|0,l[k+191|0]<0&&G(i[k+180>>2]),(A|0)!=(u|0))break A}if(A=I-w|0,(A|0)>0&&(V[i[i[o>>2]+48>>2]](o,w,A)|0)!=(A|0))break A;i[t+12>>2]=0;break e}A=i[i[k+36>>2]-12>>2]+(k+36|0)|0,z1(A,i[A+16>>2]|5)}if(Z1(C),l[k+23|0]<0&&G(i[k+12>>2]),A=i[r>>2],i[r>>2]=(A|0)>0?A-1|0:0,l[k+35|0]<0&&G(i[k+24>>2]),e=e+12|0,(W|0)!=(e|0))continue;break i}break}c2(),P()}if(e=i[r>>2],e=(e|0)>0?e-1|0:0,i[r>>2]=e,n=n+16|0,(p|0)==(n|0))break}i2(f,Z),f=i[13707],i[k+36>>2]=f,i[i[f-12>>2]+(k+36|0)>>2]=i[13710],i[Z>>2]=53552,l[k+83|0]<0&&G(i[k+72>>2]),K0(Z),T0(k+92|0),B=k+192|0}function Gk(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=Y(0),Z=0,p=0,W=Y(0);_=B-16|0,B=_,i[_+12>>2]=r;i:{r:{if(o=i[k+4>>2],!o)break r;n=i[k>>2],h=Ui(o),u=o-1&r;e:{if(h>>>0<=1||(u=r,r>>>0<o>>>0))break e;u=(r>>>0)%(o>>>0)|0}if(n=i[n+(u<<2)>>2],!n||(t=i[n>>2],!t))break r;e:{if(h>>>0<=1){for(n=o-1|0;;){o=i[t+4>>2];A:{if((o|0)!=(r|0)){if((u|0)==(n&o))break A;break r}if(i[t+8>>2]==(r|0))break e}if(t=i[t>>2],!t)break}break r}for(;;){n=i[t+4>>2];A:{if((n|0)!=(r|0)){if(n>>>0>=o>>>0&&(n=(n>>>0)%(o>>>0)|0),(n|0)==(u|0))break A;break r}if(i[t+8>>2]==(r|0))break e}if(t=i[t>>2],!t)break}break r}if(e=U(24),i[_>>2]=e,i[_+4>>2]=21,i[_+8>>2]=-2147483624,r=s[10269]|s[10270]<<8|(s[10271]<<16|s[10272]<<24),A=s[10265]|s[10266]<<8|(s[10267]<<16|s[10268]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+21|0]=0,r=s[10282]|s[10283]<<8|(s[10284]<<16|s[10285]<<24),A=s[10278]|s[10279]<<8|(s[10280]<<16|s[10281]<<24),l[e+13|0]=A,l[e+14|0]=A>>>8,l[e+15|0]=A>>>16,l[e+16|0]=A>>>24,l[e+17|0]=r,l[e+18|0]=r>>>8,l[e+19|0]=r>>>16,l[e+20|0]=r>>>24,r=s[10277]|s[10278]<<8|(s[10279]<<16|s[10280]<<24),A=s[10273]|s[10274]<<8|(s[10275]<<16|s[10276]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,2008,_),l[_+11|0]>=0)break i;G(i[_>>2]);break i}r=0,o=_+12|0,u=i[o>>2],t=i[k+4>>2];r:{e:{if(!t)break e;n=i[k>>2],h=Ui(t),r=u&t-1;A:{if(h>>>0<=1||(r=u,r>>>0<t>>>0))break A;r=(r>>>0)%(t>>>0)|0}if(n=i[n+(r<<2)>>2],!n||(w=i[n>>2],!w))break e;if(h>>>0<=1){for(n=t-1|0;;){A:{if(h=i[w+4>>2],(h|0)!=(u|0)){if((n&h)!=(r|0))break e;break A}if((u|0)!=i[w+8>>2])break A;r=0;break r}if(w=i[w>>2],!w)break}break e}for(;;){A:{if(n=i[w+4>>2],(n|0)!=(u|0)){if(n>>>0>=t>>>0&&(n=(n>>>0)%(t>>>0)|0),(r|0)!=(n|0))break e;break A}if((u|0)!=i[w+8>>2])break A;r=0;break r}if(w=i[w>>2],!w)break}}w=U(12),i[w+4>>2]=u,i[w>>2]=0,i[w+8>>2]=i[o>>2],W=Y(i[k+12>>2]+1>>>0),v=Z0[k+16>>2];e:{if(!(W>Y(v*Y(t>>>0)))&&t)break e;r=2,o=(t-1&t)!=0|t>>>0<3|t<<1,v=Y(b5(Y(W/v)));A:{if(v<Y(4294967296)&v>=Y(0)){n=~~v>>>0;break A}n=0}n=n>>>0<o>>>0?o:n;A:{if((n|0)==1)break A;if(!(n&n-1)){r=n;break A}r=yk(n),t=i[k+4>>2]}A:{if(r>>>0<=t>>>0){if(r>>>0>=t>>>0)break A;o=t>>>0<3,v=Y(b5(Y(Y(k0[k+12>>2])/Z0[k+16>>2])));f:{if(v<Y(4294967296)&v>=Y(0)){n=~~v>>>0;break f}n=0}f:{k:{if(o||Ui(t)>>>0>1)break k;n=n>>>0<2?n:1<<32-$2(n-1|0);break f}n=yk(n)}if(r=r>>>0>n>>>0?r:n,t>>>0<=r>>>0)break A}t=0,h=0,o=r;f:{k:{n:{t:{if(r){if(r>>>0>=1073741824)break t;if(n=U(r<<2),r=i[k>>2],i[k>>2]=n,r&&G(r),i[k+4>>2]=o,n=0,o>>>0>=4)for(Z=o&1073741820;r=n<<2,i[r+i[k>>2]>>2]=0,i[(r+i[k>>2]|0)+4>>2]=0,i[(r+i[k>>2]|0)+8>>2]=0,i[(r+i[k>>2]|0)+12>>2]=0,n=n+4|0,h=h+4|0,(Z|0)!=(h|0););if(r=o&3,r)for(;i[i[k>>2]+(n<<2)>>2]=0,n=n+1|0,t=t+1|0,(r|0)!=(t|0););if(r=i[k+8>>2],!r)break f;if(n=k+8|0,t=i[r+4>>2],h=Ui(o),h>>>0<2)break n;if(t=t>>>0>=o>>>0?(t>>>0)%(o>>>0)|0:t,i[i[k>>2]+(t<<2)>>2]=n,n=i[r>>2],!n)break f;if(h>>>0<=1)break k;for(;;){h=i[n+4>>2],o>>>0<=h>>>0&&(h=(h>>>0)%(o>>>0)|0);o:{if((t|0)==(h|0)){r=n;break o}if(Z=h<<2,p=Z+i[k>>2]|0,!i[p>>2]){i[p>>2]=r,r=n,t=h;break o}i[r>>2]=i[n>>2],i[n>>2]=i[i[Z+i[k>>2]>>2]>>2],i[i[Z+i[k>>2]>>2]>>2]=n}if(n=i[r>>2],!n)break}break f}r=i[k>>2],i[k>>2]=0,r&&G(r),i[k+4>>2]=0;break f}_2(),P()}if(t=o-1&t,i[i[k>>2]+(t<<2)>>2]=n,n=i[r>>2],!n)break f}for(Z=o-1|0;;){o=Z&i[n+4>>2];k:{if((o|0)==(t|0)){r=n;break k}if(h=o<<2,p=h+i[k>>2]|0,i[p>>2]){i[r>>2]=i[n>>2],i[n>>2]=i[i[h+i[k>>2]>>2]>>2],i[i[h+i[k>>2]>>2]>>2]=n;break k}i[p>>2]=r,r=n,t=o}if(n=i[r>>2],!n)break}}}if(t=i[k+4>>2],r=t-1|0,!(r&t)){r=r&u;break e}if(t>>>0>u>>>0){r=u;break e}r=(u>>>0)%(t>>>0)|0}n=i[k>>2]+(r<<2)|0,r=i[n>>2];e:{A:{if(!r){if(r=k+8|0,i[w>>2]=i[r>>2],i[k+8>>2]=w,i[n>>2]=r,r=i[w>>2],!r)break e;r=i[r+4>>2],n=t-1|0;f:{if(!(n&t)){r=r&n;break f}if(r>>>0<t>>>0)break f;r=(r>>>0)%(t>>>0)|0}r=i[k>>2]+(r<<2)|0;break A}i[w>>2]=i[r>>2]}i[r>>2]=w}i[k+12>>2]=i[k+12>>2]+1,r=1}l[_+4|0]=r,i[_>>2]=w,oi(_,i[A>>2],i[_+12>>2]),t=i[_>>2],r=i[_+4>>2];r:{if((t|0)!=(r|0))for(;;){if(Gk(f,e,i[t>>2],A,k),i[f>>2])break r;if(l[f+19|0]<0&&G(i[f+8>>2]),t=t+4|0,(r|0)==(t|0))break}h=B-16|0,B=h,u=i[k+4>>2];e:{if(!u)break e;A=i[k>>2],r=i[_+12>>2],e=r&u-1,t=Ui(u);A:{if(t>>>0<=1||(e=r,r>>>0<u>>>0))break A;e=(r>>>0)%(u>>>0)|0}if(n=e,e=i[(n<<2)+A>>2],!e||(e=i[e>>2],!e))break e;A:{if(t>>>0<=1){for(A=u-1|0;;){u=i[e+4>>2];f:{if((u|0)!=(r|0)){if((n|0)==(A&u))break f;break e}if((r|0)==i[e+8>>2])break A}if(e=i[e>>2],!e)break}break e}for(;;){A=i[e+4>>2];f:{if((A|0)!=(r|0)){if(A>>>0>=u>>>0&&(A=(A>>>0)%(u>>>0)|0),(A|0)==(n|0))break f;break e}if((r|0)==i[e+8>>2])break A}if(e=i[e>>2],!e)break}break e}r=e,t=i[r+4>>2],o=i[k+4>>2],w=Ui(o);A:{if(w>>>0<=1){t=o-1&t;break A}if(t>>>0<o>>>0)break A;t=(t>>>0)%(o>>>0)|0}for(n=i[k>>2]+(t<<2)|0,A=i[n>>2];e=A,A=i[e>>2],(r|0)!=(A|0););Z=k+8|0;A:{if((Z|0)!=(e|0)){A=i[e+4>>2];f:{if(w>>>0<=1){A=o-1&A;break f}if(A>>>0<o>>>0)break f;A=(A>>>0)%(o>>>0)|0}if((A|0)==(t|0))break A}if(A=i[r>>2],A){A=i[A+4>>2];f:{if(w>>>0<=1){A=o-1&A;break f}if(A>>>0<o>>>0)break f;A=(A>>>0)%(o>>>0)|0}if((A|0)==(t|0))break A}i[n>>2]=0}u=i[r>>2],n=0;A:{if(!u)break A;A=i[u+4>>2];f:{if(w>>>0<=1){A=o-1&A;break f}if(A>>>0<o>>>0)break f;A=(A>>>0)%(o>>>0)|0}if(n=u,(A|0)==(t|0))break A;i[i[k>>2]+(A<<2)>>2]=e,n=i[r>>2]}i[e>>2]=n,i[r>>2]=0,i[k+12>>2]=i[k+12>>2]-1,l[h+12|0]=1,i[h+8>>2]=Z,i[h+4>>2]=r,e=i[h+4>>2],i[h+4>>2]=0,e&&G(e)}if(B=h+16|0,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567])}if(f=i[_>>2],!f)break i;i[_+4>>2]=f,G(f)}B=_+16|0}function Ts(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;k=B-96|0,B=k,A=D0(r),i[e+52>>2]=A&16777215,l[e+48|0]=A>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[k+16|0]=0,l[k+27|0]=0,r0(k+72|0,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}if(A=i[19565],i[k+72>>2]=i[19564],i[k+76>>2]=A,t=k+80|0,l[78275]>=0){A=i[19567],i[t>>2]=i[19566],i[t+4>>2]=A,i[t+8>>2]=i[19568];break i}_0(t,i[19566],i[19567])}l[k+91|0]<0&&G(i[k+80>>2]);i:{r:{e:{A:{if(s[e+48|0]<=1){for(Z=f+8|0,p=e+56|0;;){if(i[r+16>>2]){i[k+16>>2]=68500,i[k+48>>2]=0,i[k+40>>2]=0,i[k+44>>2]=0,i[k+32>>2]=0,i[k+36>>2]=0,i[k+24>>2]=0,i[k+28>>2]=0,i[k+68>>2]=0,i[k+60>>2]=0,i[k+64>>2]=0,xk(f,k+16|0,r),C=i[f>>2],W=i[19564];f:{if((C|0)!=(W|0))break f;k:{if(!s[e+48|0]){if(I=k,y=t2(r),i[I+56>>2]=y,w=0,_=t2(r),!_)break k;for(;;){v=t2(r),A=i[k+64>>2],t=i[k+68>>2];n:{if(A>>>0<t>>>0){i[A>>2]=v,o=A+4|0;break n}if(u=i[k+60>>2],n=A-u>>2,o=n+1|0,o>>>0>=1073741824)break A;if(h=t-u|0,t=h>>1,h=h>>>0>=2147483644?1073741823:o>>>0<t>>>0?t:o,h){if(h>>>0>=1073741824)break e;t=U(h<<2)}else t=0;if(n=t+(n<<2)|0,i[n>>2]=v,o=n+4|0,(A|0)!=(u|0))for(;n=n-4|0,A=A-4|0,i[n>>2]=i[A>>2],(A|0)!=(u|0););if(i[k+68>>2]=t+(h<<2),i[k+64>>2]=o,i[k+60>>2]=n,!u)break n;G(u)}if(i[k+64>>2]=o,!i[r+16>>2])break k;if(w=w+1|0,!(_>>>0>w>>>0))break}break k}if(I=k,y=D0(r),i[I+56>>2]=y,w=0,_=t2(r),!_)break k;for(;;){v=D0(r),A=i[k+64>>2],t=i[k+68>>2];n:{if(A>>>0<t>>>0){i[A>>2]=v,o=A+4|0;break n}if(u=i[k+60>>2],n=A-u>>2,o=n+1|0,o>>>0>=1073741824)break A;if(h=t-u|0,t=h>>1,h=h>>>0>=2147483644?1073741823:o>>>0<t>>>0?t:o,h){if(h>>>0>=1073741824)break e;t=U(h<<2)}else t=0;if(n=t+(n<<2)|0,i[n>>2]=v,o=n+4|0,(A|0)!=(u|0))for(;n=n-4|0,A=A-4|0,i[n>>2]=i[A>>2],(A|0)!=(u|0););if(i[k+68>>2]=t+(h<<2),i[k+64>>2]=o,i[k+60>>2]=n,!u)break n;G(u)}if(i[k+64>>2]=o,!i[r+16>>2])break k;if(w=w+1|0,!(_>>>0>w>>>0))break}}A=i[e+60>>2];k:{if(A>>>0<k0[e+64>>2]){Z6(A,k+16|0),A=A+56|0;break k}A=xA(p,k+16|0)}if(i[e+60>>2]=A,l[f+19|0]>=0)break f;G(i[Z>>2])}if(A=i[k+60>>2],A&&(i[k+64>>2]=A,G(A)),i[k+16>>2]=68500,A=i[k+36>>2],A&&(i[k+40>>2]=A,G(A)),(W|0)==(C|0))continue;break i}break}f:{k:{_=i[e+56>>2],p=i[e+60>>2],e=(_|0)==(p|0);n:{if(e)break n;for(n=0,A=_;n=(i[A+48>>2]-i[A+44>>2]>>2)+n|0,A=A+56|0,(p|0)!=(A|0););if(n>>>0>1e4)break r;if(e)break n;for(h=k+20|0;;){if(i[k+16>>2]=h,i[k+20>>2]=0,i[k+24>>2]=0,C=k+16|0,v=i[_+44>>2],W=i[_+48>>2],(v|0)==(W|0))e=0;else{for(;;){u=i[v>>2],n=i[k+20>>2],o=n,e=h,w=e,A=e;t:{o:{if(!n)break o;for(;t=o,A=e,w=u>>>0>k0[t+16>>2],e=w?A:t,o=i[(w<<2)+t>>2],!!o;);if((e|0)!=(h|0)&u>>>0>=k0[(w?A:t)+16>>2])break k;for(;;){if(A=n,e=i[A+16>>2],e>>>0>u>>>0){if(w=A,n=i[A>>2],n)continue;break o}if(e>>>0>=u>>>0)break t;if(n=i[A+4>>2],!n)break}w=A+4|0}e=U(20),i[e+8>>2]=A,i[e>>2]=0,i[e+4>>2]=0,i[e+16>>2]=u,i[w>>2]=e,A=i[i[k+16>>2]>>2],A&&(i[k+16>>2]=A,e=i[w>>2]),D1(i[k+20>>2],e),i[k+24>>2]=i[k+24>>2]+1}if(v=v+4|0,(W|0)==(v|0))break}e=i[k+20>>2]}if(P8(C,e),_=_+56|0,(p|0)==(_|0))break}}if(s[r+20|0]!=1)break f;if(l[k+16|0]=0,l[k+27|0]=0,r0(f,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}A=U(32),i[k+4>>2]=A,i[k+8>>2]=28,i[k+12>>2]=-2147483616,r=s[4572]|s[4573]<<8|(s[4574]<<16|s[4575]<<24),e=s[4568]|s[4569]<<8|(s[4570]<<16|s[4571]<<24),l[A|0]=e,l[A+1|0]=e>>>8,l[A+2|0]=e>>>16,l[A+3|0]=e>>>24,l[A+4|0]=r,l[A+5|0]=r>>>8,l[A+6|0]=r>>>16,l[A+7|0]=r>>>24,l[A+28|0]=0,e=s[4592]|s[4593]<<8|(s[4594]<<16|s[4595]<<24),l[A+24|0]=e,l[A+25|0]=e>>>8,l[A+26|0]=e>>>16,l[A+27|0]=e>>>24,r=s[4588]|s[4589]<<8|(s[4590]<<16|s[4591]<<24),e=s[4584]|s[4585]<<8|(s[4586]<<16|s[4587]<<24),l[A+16|0]=e,l[A+17|0]=e>>>8,l[A+18|0]=e>>>16,l[A+19|0]=e>>>24,l[A+20|0]=r,l[A+21|0]=r>>>8,l[A+22|0]=r>>>16,l[A+23|0]=r>>>24,r=s[4580]|s[4581]<<8|(s[4582]<<16|s[4583]<<24),e=s[4576]|s[4577]<<8|(s[4578]<<16|s[4579]<<24),l[A+8|0]=e,l[A+9|0]=e>>>8,l[A+10|0]=e>>>16,l[A+11|0]=e>>>24,l[A+12|0]=r,l[A+13|0]=r>>>8,l[A+14|0]=r>>>16,l[A+15|0]=r>>>24,r0(f,2,0,k+4|0),l[k+15|0]<0&&G(i[k+4>>2]),P8(k+16|0,i[k+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,l[78275]>=0){f=i[19567],i[Z>>2]=i[19566],i[Z+4>>2]=f,i[Z+8>>2]=i[19568];break i}_0(Z,i[19566],i[19567]);break i}h4(f,e,8807);break i}y0(),P()}_2(),P()}if(A=U(56),i[k+16>>2]=A,i[k+20>>2]=49,i[k+24>>2]=-2147483592,r=s[17461]|s[17462]<<8|(s[17463]<<16|s[17464]<<24),e=s[17457]|s[17458]<<8|(s[17459]<<16|s[17460]<<24),l[A|0]=e,l[A+1|0]=e>>>8,l[A+2|0]=e>>>16,l[A+3|0]=e>>>24,l[A+4|0]=r,l[A+5|0]=r>>>8,l[A+6|0]=r>>>16,l[A+7|0]=r>>>24,l[A+49|0]=0,l[A+48|0]=s[17505],r=s[17501]|s[17502]<<8|(s[17503]<<16|s[17504]<<24),e=s[17497]|s[17498]<<8|(s[17499]<<16|s[17500]<<24),l[A+40|0]=e,l[A+41|0]=e>>>8,l[A+42|0]=e>>>16,l[A+43|0]=e>>>24,l[A+44|0]=r,l[A+45|0]=r>>>8,l[A+46|0]=r>>>16,l[A+47|0]=r>>>24,r=s[17493]|s[17494]<<8|(s[17495]<<16|s[17496]<<24),e=s[17489]|s[17490]<<8|(s[17491]<<16|s[17492]<<24),l[A+32|0]=e,l[A+33|0]=e>>>8,l[A+34|0]=e>>>16,l[A+35|0]=e>>>24,l[A+36|0]=r,l[A+37|0]=r>>>8,l[A+38|0]=r>>>16,l[A+39|0]=r>>>24,r=s[17485]|s[17486]<<8|(s[17487]<<16|s[17488]<<24),e=s[17481]|s[17482]<<8|(s[17483]<<16|s[17484]<<24),l[A+24|0]=e,l[A+25|0]=e>>>8,l[A+26|0]=e>>>16,l[A+27|0]=e>>>24,l[A+28|0]=r,l[A+29|0]=r>>>8,l[A+30|0]=r>>>16,l[A+31|0]=r>>>24,r=s[17477]|s[17478]<<8|(s[17479]<<16|s[17480]<<24),e=s[17473]|s[17474]<<8|(s[17475]<<16|s[17476]<<24),l[A+16|0]=e,l[A+17|0]=e>>>8,l[A+18|0]=e>>>16,l[A+19|0]=e>>>24,l[A+20|0]=r,l[A+21|0]=r>>>8,l[A+22|0]=r>>>16,l[A+23|0]=r>>>24,r=s[17469]|s[17470]<<8|(s[17471]<<16|s[17472]<<24),e=s[17465]|s[17466]<<8|(s[17467]<<16|s[17468]<<24),l[A+8|0]=e,l[A+9|0]=e>>>8,l[A+10|0]=e>>>16,l[A+11|0]=e>>>24,l[A+12|0]=r,l[A+13|0]=r>>>8,l[A+14|0]=r>>>16,l[A+15|0]=r>>>24,r0(f,6,1e3,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2])}B=k+96|0}function _8(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0;h=B-160|0,B=h;i:{r:{if(v=i[f+18588>>2],o=i[v+168>>2],u=e>>o,(u|0)<0||(n=i[v+172>>2],(n|0)<=(u|0)))break r;if(o=r>>o,(o|0)<0|(o|0)>=i[v+176>>2])break i;a=i[v+132>>2],R=i[v+124>>2],w=s[((i[v+160>>2]+m(u,3)|0)+m(m(n,o),3)|0)+1|0];e:{if(k||(u=i[v+248>>2],n=A-u|0,(n|0)==31))break e;for(o=r>>u,n=1<<n,W=o+n|0,u=e>>u,Z=u+n|0;;){for(n=u;t=(i[v+240>>2]+n|0)+m(i[v+252>>2],o)|0,l[t|0]=s[t|0]|128,n=n+1|0,(Z|0)>(n|0););if(o=o+1|0,!((W|0)>(o|0)))break}}n0=w&3,n=f+k|0,S=n,o=0;e:{if(!s[a+25|0]||(o=0,s[f+32|0])||(o=0,i[a+8276>>2]<(A|0)))break e;o=f2(f+18548|0,i[f+18572>>2]+(k?142:141)|0)}l[n+33|0]=o,l[f+36|0]=0;e:{if(!(s[n+33|0]|s[f+32|0])|(!s[R+16823|0]|(n0|0)!=1)||(u=f+18548|0,o=(k|0)!=0,n=f2(u,(o+i[f+18572>>2]|0)+143|0),l[f+36|0]=n,!(n&255)))break e;c0=f,r2=f2(u,(o+i[f+18572>>2]|0)+145|0),l[c0+37|0]=r2}Z=!k<<1,Z=s[S+33|0]|s[f+32|0]?Z|1:Z,w=A<<1;e:{if(!k){t=A+1>>2,n=(m(A,3)+(A-1>>2)|0)-6|0;break e}t=A-2|0,n=15}_=i[f+18572>>2],o=w-1|0;e:{if((w|0)<2){n=o;break e}W=n+(_+25|0)|0,u=f+18548|0,n=0;A:{for(;;){if(!f2(u,W+(n>>>t|0)|0))break A;if(n=n+1|0,(o|0)==(n|0))break}n=o}_=i[f+18572>>2]}e:{if(!k){t=(m(A,3)+(A-1>>2)|0)-6|0,u=A+1>>2;break e}t=15,u=A-2|0}e:{if((w|0)<2)break e;for(w=t+(_+43|0)|0,W=f+18548|0,t=0;;){if(!f2(W,w+(t>>>u|0)|0)){o=t;break e}if(t=t+1|0,(o|0)==(t|0))break}}(n|0)>=4&&(u=(n>>>1|0)-1|0,n=d4(f+18548|0,u)+((n&1|2)<<u)|0),(o|0)>=4&&(u=(o>>>1|0)-1|0,o=d4(f+18548|0,u)+((o&1|2)<<u)|0);e:{A:{if(n0){t=0;break A}f:{if(!k){if(t=i[v+208>>2],W=e>>t,(W|0)<0||(u=i[v+212>>2],(u|0)<=(W|0)))break r;if(t=r>>t,(t|0)<0|(t|0)>=i[v+216>>2])break i;u=s[(W+i[v+200>>2]|0)+m(t,u)|0],_=u>>>0<=34?u:0,u=0;break f}if(t=i[v+228>>2],W=e>>t,(W|0)<0||(u=i[v+232>>2],(u|0)<=(W|0)))break r;if(t=r>>t,(t|0)<0|(t|0)>=i[v+236>>2])break i;_=s[(W+i[v+220>>2]|0)+m(t,u)|0]&63,u=k}t=2,W=u,u=0;f:{k:{n:switch(A-2|0){case 0:break k;case 1:break n;default:break f}if(!W)break k;if(i[R+16848>>2]!=3)break f}if(u=2,_-6>>>0<9)break f;u=_-22>>>0<9}if((u|0)!=2){t=u;break A}u=o;break e}u=n,n=o}for(J=A-2|0,o=J,t>>>0<=2?W=i[i[(t<<2)+45336>>2]+(o<<2)>>2]:W=0,p0=t>>>0<=2?i[i[(t<<2)+45336>>2]+8>>2]:0,n=(i[(m(t,24)+(A<<2)|0)+45264>>2]+(n<<A<<1)|0)+(u<<1)|0,n=s[n|0]|s[n+1|0]<<8,l[h+158|0]=n,l[h+159|0]=n>>>8,z=s[h+158|0],X0=s[h+159|0],B0(h+80|0,0,1<<J<<J),H=((k<<1)+f|0)+14396|0,X[H>>1]=0,u=k?43:42,q=(k|0)>0,I0=q?17:1,y=f+18548|0,d=(f+Z|0)+18580|0,Q0=X0-1|0,F0=J<<6|((k|0)!=0)<<5|((t|0)!=0)<<4,n=k<<11,Y0=n+(f+2108|0)|0,S0=n+(f+8252|0)|0,D=1,n=z;;){o=(n<<1)+W|0,t=s[o+1|0],w=s[o|0],A0=n,p=(n|0)!=0;e:{A:{if(!(p&n>>>0<z>>>0)){if((n|0)!=(z|0)&&n)break e;Z=0;break A}if(Z=1,n=s[h+80+(w+(t<<J))|0],n=n&1|n>>>1,!f2(y,(i[f+18572>>2]+(k?n+2|0:n)|0)+61|0))break e}if(w&&(n=(w+(t<<J)|0)+h|0,l[n+79|0]=s[n+79|0]|1),_=0,o=0,t&&(n=h+80+(w+(t-1<<J))|0,l[n|0]=s[n|0]|2,o=t),n=((s[h+80+(w+(o<<J))|0]<<2)+F0|0)+95488|0,(z|0)==(A0|0)&&(l[h|0]=1,X[h+48>>1]=1,l[h+32|0]=X0,_=1),f0=i[n>>2],h0=o<<2,j=w<<2,o=(z|0)!=(A0|0)?15:Q0,(o|0)>0)for(I=f0+j|0,n=o;;){t=(n<<1)+p0|0,E=s[t+1|0],w=s[t|0],C=i[f+18572>>2];A:{if(s[R+16821|0]&&(t=u,s[f+32|0]|s[S+33|0]))break A;t=s[(w+I|0)+(E+h0<<A)|0]}if(f2(y,(C+(t&255)|0)+65|0)&&(l[h+_|0]=1,l[(h+32|0)+_|0]=n,X[(h+48|0)+(_<<1)>>1]=1,_=_+1|0,Z=0),t=(n|0)>1,n=n-1|0,!t)break}A:{if((o|0)<0)break A;if(!Z){o=i[f+18572>>2];f:{if(s[R+16821|0]&&(n=u,s[f+32|0]|s[S+33|0]))break f;n=s[(f0+j|0)+(h0<<A)|0]}if(!f2(y,(o+(n&255)|0)+65|0))break A}l[h+_|0]=1,l[(h+32|0)+_|0]=0,X[(h+48|0)+(_<<1)>>1]=1,_=_+1|0}if(!_)break e;Z=1;A:{if((_|0)<=0)break A;p=!D|(q?0:p<<1),I=p<<2,C=f2(y,(i[f+18572>>2]+(I|I0)|0)+109|0);f:{if(C){X[h+48>>1]=Q[h+48>>1]+1,Z=0,o=0;break f}l[h|0]=0,Z=2,o=-1}if(t=1,(_|0)!=1)for(E=(_|0)>=8?8:_,n=1;;){n=(n|0)>0?(C|0)!=1?n+1|0:0:n,w=I+((n|0)>=3?3:n)|0,C=f2(y,(i[f+18572>>2]+(q?w+16|0:w)|0)+109|0);f:{if(C){Z=(h+48|0)+(t<<1)|0,X[Z>>1]=Q[Z>>1]+1,o=(o|0)==-1?t:o,Z=0;break f}l[t+h|0]=0,Z=(Z-1>>>0<2)+Z|0}if(t=t+1|0,(E|0)==(t|0))break}if((o|0)==-1)break A;t=f2(y,(i[f+18572>>2]+(q?p|4:p)|0)+133|0),l[o+h|0]=t,n=(h+48|0)+(o<<1)|0,X[n>>1]=t+Q[n>>1]}A:{if(!k){if(o=i[v+208>>2],t=e>>o,(t|0)<0||(n=i[v+212>>2],(n|0)<=(t|0)))break r;if(o=r>>o,(o|0)<0|(o|0)>=i[v+216>>2])break i;n=s[(t+i[v+200>>2]|0)+m(n,o)|0],o=n>>>0<=34?n:0;break A}if(o=i[v+228>>2],t=e>>o,(t|0)<0||(n=i[v+232>>2],(n|0)<=(t|0)))break r;if(o=r>>o,(o|0)<0|(o|0)>=i[v+236>>2])break i;o=s[(t+i[v+220>>2]|0)+m(n,o)|0]&63}n=0,I=0;A:{if(s[f+32|0]||!(!s[R+16822|0]|n0|(o&239)!=10)&&(I=0,s[S+33|0])||(I=0,s[f+36|0]))break A;I=(l[h+32|0]-l[(h+_|0)+31|0]|0)>3}if(L=_-1|0,(_|0)>1)for(;c0=(h+16|0)+n|0,r2=x1(y),l[c0|0]=r2,n=n+1|0,(L|0)!=(n|0););if(p=0,o=L+(h+16|0)|0,I&s[a+15|0]!=0?n=0:n=x1(y),l[o|0]=n,p=s[R+16827|0]?s[d|0]>>>2|0:p,o=1,C=0,D=0,(_|0)>0)for(;;){E=X[(h+48|0)+(C<<1)>>1],n=-1;A:{if(!s[h+C|0]){n=0;break A}G0=3<<p,t=E,E=t;f:{for(;;){if(f0=x1(y),w=n,t=0,(n|0)==64)break f;if(n=n+1|0,!f0)break}if((w|0)<=2){t=d4(y,p)+(n<<p)|0;break f}n=w-2|0,t=d4(y,n+p|0)+((1<<n)+2<<p)|0}if(n=t,t=E+n|0,!s[R+16827|0]){if(o=0,(t|0)<=(G0|0))break A;p=((p|0)>=3?3:p)+1|0;break A}if(p=((t|0)>(G0|0))+p|0,t=o,o=0,!t)break A;if(w=s[d|0],t=w>>>2|0,3<<t<=(n|0)){l[d|0]=w+1;break A}if(!w|n<<1>=1<<t)break A;l[d|0]=w-1}if(n=n+E|0,n=s[(h+16|0)+C|0]?0-n|0:n,t=(l[(h+32|0)+C|0]<<1)+p0|0,E=s[t+1|0],w=s[t|0],t=(X[H>>1]<<1)+Y0|0,I&s[a+15|0]!=0&&(D=(n&65535)+D|0,n=(C|0)!=(L|0)?n:D&1?0-n|0:n),X[t>>1]=n,X[(X[H>>1]<<1)+S0>>1]=(w+j|0)+(E+h0<<A),X[H>>1]=Q[H>>1]+1,C=C+1|0,(C|0)==(_|0))break}D=Z}if(n=A0-1|0,!((A0|0)>0))break}B=h+160|0;return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function as(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=Y(0),w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=Y(0),R=0,D=Y(0),z=Y(0),H=0,a=Y(0),S=0,q=0,d=0,A0=Y(0),f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=Y(0),Y0=Y(0),S0=Y(0),c0=Y(0),r2=Y(0),n2=Y(0),s2=0;e=B-112|0,B=e,n=i[r>>2],A=n,p=i[A+28>>2],_=i[A+24>>2],u=i[k+4>>2],A=u,t=A>>>0<4,C=(t?16908801>>>(A<<3)|0:0)&3,R=(t?16843265>>>(A<<3)|0:0)&3,n=U0(n,3);i:{if(n>>>0<=8){i[f>>2]=0,i[f+4>>2]=0;break i}r:{if(H=H2(i[r>>2],6),!H||(U0(i[r>>2],6)|0)==(n|0))break r;i[f>>2]=0,i[f+4>>2]=0;break i}A=U(136),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=72792,B0(A+20|0,0,104),t=i[A+4>>2],Z=t+1|0,i[A+4>>2]=Z,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,v=A- -64|0,i[v>>2]=0,i[v+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,v=A+12|0,i[A+12>>2]=v,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=t,i[A+16>>2]=A,Z||(V[i[i[A>>2]+8>>2]](A),g(A)),i[v+36>>2]=u,i[v+32>>2]=0,i[v+28>>2]=p,i[v+24>>2]=_,u=((p+R|0)-1|0)/(R|0)|0,t=((_+C|0)-1|0)/(C|0)|0;r:{e:{A:{f:{if(!J0(v,0,_,p,n)||!J0(v,1,t,u,n)||!J0(v,2,t,u,n)||H&&!J0(v,6,_,p,n))break f;i[e+108>>2]=0,i[e+104>>2]=0,i[e+100>>2]=0,i[e+96>>2]=0,i[e+92>>2]=0,i[e+88>>2]=0,i[e+84>>2]=0,i[e+80>>2]=0,S=v0(i[r>>2],3,e+108|0),f0=v0(i[r>>2],4,e+104|0),n0=v0(i[r>>2],5,e+100|0),q=v0(v,0,e+92|0),G0=v0(v,1,e+88|0),I0=v0(v,2,e+84|0),H&&(h0=v0(i[r>>2],6,e+96|0),j=v0(v,6,e+80|0)),i[e+108>>2]=i[e+108>>2]/2,i[e+104>>2]=i[e+104>>2]/2,i[e+100>>2]=i[e+100>>2]/2,i[e+96>>2]=i[e+96>>2]/2,i[e+92>>2]=i[e+92>>2]/2,i[e+88>>2]=i[e+88>>2]/2,i[e+84>>2]=i[e+84>>2]/2,i[e+80>>2]=i[e+80>>2]/2,i[e+76>>2]=-1113159960,i[e+68>>2]=1056964608,i[e+72>>2]=-1093247418,i[e+60>>2]=-1096180881,i[e+64>>2]=1056964608,i[e+52>>2]=1038710997,i[e+56>>2]=-1104361250,i[e+44>>2]=1050220167,i[e+48>>2]=1058424226,l[e+40|0]=1,d=s[k+26|0],L=Q[k+24>>1],Kr(e,L,Q[k+20>>1]),r=i[e+36>>2],i[e+72>>2]=i[e+32>>2],i[e+76>>2]=r,k=i[e+28>>2],r=e- -64|0,i[r>>2]=i[e+24>>2],i[r+4>>2]=k,r=i[e+20>>2],i[e+56>>2]=i[e+16>>2],i[e+60>>2]=r,r=i[e+12>>2],i[e+48>>2]=i[e+8>>2],i[e+52>>2]=r,r=i[e+4>>2],i[e+40>>2]=i[e>>2],i[e+44>>2]=r;k:{if((p|0)<=0)break k;if(u=-1<<n^-1,A0=Y(16<<n-8),y=(_|0)<=0,!y){for(p0=_&2147483644,E=_&3,X0=_>>>0<4;;){t=q+(m(i[e+92>>2],I)<<1)|0,Z=(m(i[e+104>>2],I)<<1)+f0|0;n:{if(L){for(w=(m(i[e+100>>2],I)<<1)+n0|0,W=(m(i[e+108>>2],I)<<1)+S|0,h=Z0[e+52>>2],D=Z0[e+48>>2],z=Z0[e+44>>2],k=0;;){o=k<<1,J=Y(Y(Y(Q[o+w>>1])*h)+Y(Y(Y(Q[o+W>>1])*z)+Y(D*Y(Q[o+Z>>1])))),J=Y((d&1?J:Y(Y(Y(J*Y(219))*Y(.00390625))+A0))+Y(.5));t:{if(Y(d0(J))<Y(2147483648)){r=~~J;break t}r=-2147483648}if(X[t+o>>1]=(r|0)>=0?(r|0)<(u|0)?r:u:0,k=k+1|0,(_|0)==(k|0))break}break n}k=0;t:{if(d&1){if(r=0,w=0,X0)break t;for(;o=r<<1,X[o+t>>1]=Q[o+Z>>1],W=o|2,X[W+t>>1]=Q[Z+W>>1],W=o|4,X[W+t>>1]=Q[Z+W>>1],o=o|6,X[o+t>>1]=Q[o+Z>>1],r=r+4|0,w=w+4|0,(p0|0)!=(w|0););break t}for(;;){o=k<<1,h=Y(Y(Y(Y(Y(Q[o+Z>>1])*Y(219))*Y(.00390625))+A0)+Y(.5));o:{if(Y(d0(h))<Y(2147483648)){r=~~h;break o}r=-2147483648}if(X[t+o>>1]=(r|0)>=0?(r|0)<(u|0)?r:u:0,k=k+1|0,(_|0)==(k|0))break}break n}if(!E)break n;for(;o=r<<1,X[o+t>>1]=Q[o+Z>>1],r=r+1|0,k=k+1|0,(E|0)!=(k|0););}if(I=I+1|0,(I|0)==(p|0))break}if((p|0)<=0)break k}if(y)break A;for(J=Y((1<<n-1&65535)>>>0),k=0,I=(R|0)==2,p0=(C|R)>>>0<2;;){n=i[e+100>>2],t=m(n,k)<<1,Z=t+n0|0,r=i[e+88>>2];n:{if(L){for(w=n,n=k+1|0,n=I&&(n|0)<(p|0)?n:k,o=(m(w,n)<<1)+n0|0,t=i[e+104>>2],E=(m(t,n)<<1)+f0|0,w=n,n=i[e+108>>2],w=(m(w,n)<<1)+S|0,q=(m(k,t)<<1)+f0|0,y=(m(k,n)<<1)+S|0,F0=Z0[e+76>>2],Y0=Z0[e+72>>2],S0=Z0[e+68>>2],c0=Z0[e+64>>2],r2=Z0[e+60>>2],n2=Z0[e+56>>2],n=(k>>>0)/(R>>>0)|0,X0=(m(n,i[e+84>>2])<<1)+I0|0,W=(m(r,n)<<1)+G0|0,r=0;;){n=r<<1,h=Y(Q[n+Z>>1]),D=Y(Q[n+q>>1]),z=Y(Q[n+y>>1]),p0||(t=r+1|0,t=(I&&(C|0)==2&&(t|0)<(_|0)?t:r)<<1,h=Y(Y(Y(Y(h+Y(Q[t+Z>>1]))+Y(Q[n+o>>1]))+Y(Q[t+o>>1]))*Y(.25)),z=Y(Y(Y(Y(z+Y(Q[t+y>>1]))+Y(Q[n+w>>1]))+Y(Q[t+w>>1]))*Y(.25)),D=Y(Y(Y(Y(D+Y(Q[t+q>>1]))+Y(Q[n+E>>1]))+Y(Q[t+E>>1]))*Y(.25))),t=(r>>>0)/(C>>>0)<<1,s2=t+W|0,a=Y(Y(h*c0)+Y(Y(z*n2)+Y(D*r2))),Q0=d&1,a=Y(Y((Q0?a:Y(Y(a*Y(224))*Y(.00390625)))+J)+Y(.5));t:{if(Y(d0(a))<Y(2147483648)){n=~~a;break t}n=-2147483648}X[s2>>1]=(n|0)>=0?(n|0)<(u|0)?n:u:0,t=t+X0|0,h=Y(Y(h*F0)+Y(Y(z*S0)+Y(D*Y0))),h=Y(Y((Q0?h:Y(Y(h*Y(224))*Y(.00390625)))+J)+Y(.5));t:{if(Y(d0(h))<Y(2147483648)){n=~~h;break t}n=-2147483648}if(X[t>>1]=(n|0)>=0?(n|0)<(u|0)?n:u:0,r=r+C|0,!((_|0)>(r|0)))break}break n}if(t=t+S|0,r=m(r,(k>>>0)/(R>>>0)|0)<<1,o=r+I0|0,E=r+G0|0,r=0,!(d&1))for(;;){w=(r>>>0)/(C>>>0)<<1,W=w+E|0,y=r<<1,h=Y(Y(Y(Y(Y(Q[y+Z>>1])*Y(224))*Y(.00390625))+A0)+Y(.5));t:{if(Y(d0(h))<Y(2147483648)){n=~~h;break t}n=-2147483648}X[W>>1]=(n|0)>=0?(n|0)<(u|0)?n:u:0,w=o+w|0,h=Y(Y(Y(Y(Y(Q[t+y>>1])*Y(224))*Y(.00390625))+A0)+Y(.5));t:{if(Y(d0(h))<Y(2147483648)){n=~~h;break t}n=-2147483648}if(X[w>>1]=(n|0)>=0?(n|0)<(u|0)?n:u:0,r=r+C|0,!((_|0)>(r|0)))break n}for(;n=(r>>>0)/(C>>>0)<<1,w=r<<1,X[n+E>>1]=Q[w+Z>>1],X[n+o>>1]=Q[t+w>>1],r=r+C|0,(_|0)>(r|0););}if(k=k+R|0,!((p|0)>(k|0)))break}}if((p|0)>0&H)break e;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break i;V[i[i[A>>2]+8>>2]](A),g(A);break i}if(!H)break r}if(n=_<<1,r=0,(p|0)!=1)for(_=p&-2,k=0;l0((m(i[e+80>>2],r)<<1)+j|0,(m(i[e+96>>2],r)<<1)+h0|0,n),u=r|1,l0((m(u,i[e+80>>2])<<1)+j|0,(m(u,i[e+96>>2])<<1)+h0|0,n),r=r+2|0,k=k+2|0,(_|0)!=(k|0););if(!(p&1))break r;l0((m(i[e+80>>2],r)<<1)+j|0,(m(i[e+96>>2],r)<<1)+h0|0,n)}i[f+4>>2]=A,i[f>>2]=v}B=e+112|0}function pA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0;n=B-32|0,B=n;i:{r:{t=i[f+276>>2],s2=(A|0)>(t|0)?t:A;e:{if((s2|0)<=(r|0)||(A=i[f+272>>2],W2=(A|0)<(k|0)?A:k,(W2|0)<=0))break e;for(O2=e?1:2,q2=e?2:1,W=i[f+40>>2],b2=W<<1,y2=i[f+124>>2],A=i[y2+16832>>2],x2=A-8|0,z=-1<<A^-1,e1=e?3:2,L=m(W,-3),p0=0-W|0,X0=m(W,3),S=W<<1,G0=0-S|0,Y0=0-(W<<2)|0;;){for(Q0=r<<2,T2=Q0-1|0,A1=Q0>>2,n2=0,S0=0;;){v=S0<<2,A0=s[(i[f+260>>2]+(v>>2)|0)+m(i[f+272>>2],A1)|0]&3;A:{if(!A0)break A;A=i[f+4>>2],k=m(i[f+40>>2],Q0),h=v+(A+k|0)|0;f:{if(!e){l[n+16|0]=s[h|0],l[n|0]=s[h+p0|0],l[n+17|0]=s[h+W|0],l[n+1|0]=s[h+G0|0],l[n+18|0]=s[h+S|0],o=s[h+L|0],l[n+2|0]=o,l[n+19|0]=s[h+X0|0],I=s[h+Y0|0],l[n+3|0]=I,A=h+1|0,l[n+20|0]=s[A|0],l[n+4|0]=s[A+p0|0],l[n+21|0]=s[A+W|0],l[n+5|0]=s[A+G0|0],l[n+22|0]=s[A+S|0],l[n+6|0]=s[A+L|0],l[n+23|0]=s[A+X0|0],l[n+7|0]=s[A+Y0|0],A=h+2|0,l[n+24|0]=s[A|0],l[n+8|0]=s[A+p0|0],l[n+25|0]=s[A+W|0],l[n+9|0]=s[A+G0|0],l[n+26|0]=s[A+S|0],l[n+10|0]=s[A+L|0],l[n+27|0]=s[A+X0|0],l[n+11|0]=s[A+Y0|0],k=h+3|0,l[n+28|0]=s[k|0],A=s[k+p0|0],l[n+12|0]=A,l[n+29|0]=s[k+W|0],t=s[k+G0|0],l[n+13|0]=t,l[n+30|0]=s[k+S|0],u=s[k+L|0],l[n+14|0]=u,l[n+31|0]=s[k+X0|0],k=k+Y0|0;break f}A=A+(k+(n2<<e1)|0)|0,i[n+16>>2]=s[A|0]|s[A+1|0]<<8|(s[A+2|0]<<16|s[A+3|0]<<24),l[n|0]=s[h-1|0],l[n+1|0]=s[h-2|0],o=s[h-3|0],l[n+2|0]=o,I=s[h-4|0],l[n+3|0]=I,k=A+W|0,i[n+20>>2]=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),k=h+W|0,l[n+4|0]=s[k-1|0],l[n+5|0]=s[k-2|0],l[n+6|0]=s[k-3|0],l[n+7|0]=s[k-4|0],k=A+S|0,i[n+24>>2]=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),k=h+S|0,l[n+8|0]=s[k-1|0],l[n+9|0]=s[k-2|0],l[n+10|0]=s[k-3|0],l[n+11|0]=s[k-4|0],A=A+X0|0,i[n+28>>2]=s[A|0]|s[A+1|0]<<8|(s[A+2|0]<<16|s[A+3|0]<<24),k=h+X0|0,A=s[k-1|0],l[n+12|0]=A,t=s[k-2|0],l[n+13|0]=t,u=s[k-3|0],l[n+14|0]=u,k=k-4|0}if(c0=s[k|0],l[n+15|0]=c0,E=i[f+168>>2],k=v>>E,(k|0)<0||(C=i[f+172>>2],(C|0)<=(k|0)))break i;if(Z=Q0>>E,(Z|0)<0||(H=i[f+176>>2],(H|0)<=(Z|0)))break r;J=i[f+160>>2],a=J+m(k,3)|0,w=m(m(C,Z),3),q=a+w|0,I0=l[q+2|0];f:{if(!e){if(k=T2>>E,(k|0)<0|(k|0)>=(H|0))break r;k=(a+m(m(k,C),3)|0)+2|0;break f}if(k=v-1>>E,(k|0)<0|k>>>0>=C>>>0)break i;k=(w+(J+m(k,3)|0)|0)+2|0}if(p=i[f+148>>2],Z=v>>p,(Z|0)<0||(f0=i[f+152>>2],(f0|0)<=(Z|0)))break i;if(p=Q0>>p,(p|0)<0|(p|0)>=i[f+156>>2])break r;if(R=s[n+28|0],n0=R+(s[n+30|0]-(s[n+29|0]<<1)|0)|0,_=n0>>31,u=(u&255)-(t<<1)|0,t=A,h0=u+A|0,A=h0>>31,u=s[n+16|0],r2=u+(s[n+18|0]-(s[n+17|0]<<1)|0)|0,d=r2>>31,y=o-(s[n+1|0]<<1)|0,o=s[n|0],y=y+o|0,j=y>>31,n0=(_^n0)-_|0,h0=(A^h0)-A|0,D=n0+h0|0,d=(d^r2)-d|0,j=(y^j)-j|0,_=d+j|0,k=(I0+l[k|0]|0)+1>>1,A=i[i[f+52>>2]+(Q[((i[f+140>>2]+m(Z,24)|0)+m(m(p,f0),24)|0)+2>>1]<<2)>>2],Z=k+i[A+764>>2]|0,Z=(Z|0)>=51?51:Z,p=s[((Z|0)>0?Z:0)+42960|0]<<x2,(D+_|0)>=(p|0))break A;A=(i[A+768>>2]+(k+(A0<<1)|0)|0)-2|0,A=(A|0)>=53?53:A,Z=s[((A|0)>0?A:0)+43024|0]<<x2,A=0,A0=p>>>2|0,k=0;f:{if(A0>>>0<=_<<1>>>0||(I0=u-s[n+19|0]|0,_=I0>>31,f0=I-o|0,I=f0>>31,k=0,(_^I0)-_+((I^f0)-I)>>>0>=p>>>3>>>0))break f;o=o-u|0,k=o>>31,k=((k^o)-k|0)<m(Z,5)+1>>1}o=k;f:{if(A0>>>0<=D<<1>>>0||(I=R-s[n+31|0]|0,k=I>>31,_=c0-t|0,u=_>>31,(k^I)-k+((u^_)-u)>>>0>=p>>>3>>>0))break f;k=t-R|0,A=k>>31,A=((A^k)-A|0)<m(Z,5)+1>>1}u=s[y2+8812|0];f:{if(!e){if(t=T2>>E,u){if((t|0)<0|(t|0)>=(H|0))break r;k=!(s[(a+m(m(t,C),3)|0)+1|0]&4)}else k=1;if((t|0)<0|(t|0)>=(H|0))break r;t=a+m(m(t,C),3)|0;break f}if(t=v-1>>E,u){if((t|0)<0|t>>>0>=C>>>0)break i;k=!(s[(w+(J+m(t,3)|0)|0)+1|0]&4)}else k=1;if((t|0)<0|t>>>0>=C>>>0)break i;t=w+(J+m(t,3)|0)|0}for(A0=A&o,H=!(s[t+1|0]&8)&k,A=p+(p>>>1|0)>>>3|0,j=H&A>>>0>j+h0>>>0,k=A>>>0>d+n0>>>0,A=s[q|0]|s[q+1|0]<<8,p=!(A&2048)&(!u|!(A&1024)),c0=k&p,t=Z<<1,A=0,d=0-Z|0,I0=m(Z,10),f0=h+1|0,n0=h+W|0,h0=h-2|0,r2=h-1|0,I=Z>>1,q=0-I|0;;){C=A<<2,k=C+n|0,o=s[k+1|0],w=C+(n+16|0)|0,J=s[w+2|0],C=s[w+1|0],v=s[w|0],a=s[k+2|0],E=s[k|0];f:{if(!A0){if(k=(m(v-E|0,9)+m(C-o|0,-3)|0)+8>>4,w=k>>31,(I0|0)<=((k^w)-w|0))break f;w=(k|0)<(d|0)?d:(k|0)<(Z|0)?k:Z;k:{n:{if(!e){if(H&&(k=w+E|0,l[h+(A-W|0)|0]=(k|0)>=0?(k|0)<(z|0)?k:z:0),!p)break k;k=v-w|0,u=(k|0)>=0?(k|0)<(z|0)?k:z:0,k=A;break n}if(H&&(k=w+E|0,l[r2+m(A,W)|0]=(k|0)>=0?(k|0)<(z|0)?k:z:0),!p)break k;k=v-w|0,u=(k|0)>=0?(k|0)<(z|0)?k:z:0,k=m(A,W)}l[k+h|0]=u}if(j&&(k=w+(((E+a|0)+1>>>1|0)-o|0)>>1,k=((k|0)<(q|0)?q:(k|0)<(I|0)?k:I)+o|0,l[(e?h0+m(A,W)|0:h+(A-b2|0)|0)|0]=(k|0)>=0?(k|0)<(z|0)?k:z:0),!c0)break f;if(k=((v+J|0)+1>>>1)-(w+C)>>1,k=C+((k|0)<(q|0)?q:(k|0)<(I|0)?k:I)|0,k=(k|0)>=0?(k|0)<(z|0)?k:z:0,!e){l[A+n0|0]=k;break f}l[f0+m(A,W)|0]=k;break f}if(R=C-t|0,_=v+E|0,y=_+C|0,u=(y+J|0)+2>>>2|0,D=t+C|0,u=(u|0)<(R|0)?R:(u|0)<(D|0)?u:D,D=o-t|0,_=o+_|0,R=(_+a|0)+2>>>2|0,F0=t+o|0,R=(R|0)<(D|0)?D:(R|0)<(F0|0)?R:F0,D=J-t|0,w=((y+m(J,3)|0)+(s[w+3|0]<<1)|0)+4>>>3|0,y=t+J|0,w=(w|0)<(D|0)?D:(w|0)<(y|0)?w:y,y=a-t|0,k=((_+m(a,3)|0)+(s[k+3|0]<<1)|0)+4>>>3|0,_=t+a|0,_=(k|0)<(y|0)?y:(k|0)<(_|0)?k:_,y=v-t|0,F0=v<<1,D=(E<<1)+4|0,k=J+((F0+(D+o|0)|0)+(C<<1)|0)>>>3|0,v=t+v|0,v=(k|0)<(y|0)?y:(k|0)<(v|0)?k:v,J=E-t|0,k=C+(F0+((a+D|0)+(o<<1)|0)|0)>>>3|0,o=t+E|0,o=(k|0)<(J|0)?J:(k|0)<(o|0)?k:o,!e){if(k=A+h|0,!H){if(!p)break f;l[k|0]=v,l[k+W|0]=u,l[k+S|0]=w;break f}if(!p){l[k+p0|0]=o,l[k+G0|0]=R,l[k+L|0]=_;break f}l[k+p0|0]=o,l[k|0]=v,l[k+G0|0]=R,l[k+W|0]=u,l[k+L|0]=_,l[k+S|0]=w;break f}if(k=h+m(A,W)|0,H&&(l[k-1|0]=o),p&&(l[k|0]=v),H&&(l[k-2|0]=R),p&&(l[k+1|0]=u),H&&(l[k-3|0]=_),!p)break f;l[k+2|0]=w}if(A=A+1|0,(A|0)==4)break}}if(n2=n2+1|0,S0=S0+q2|0,!((W2|0)>(S0|0)))break}if(r=r+O2|0,!((s2|0)>(r|0)))break}}B=n+32|0;return}C0(3720,8453,119,3372),P()}C0(3758,8453,118,3372),P()}function mr(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0;A=i[f+18588>>2],I=i[A+132>>2],R=i[A+124>>2],a=i[R+16892>>2];i:{r:{e:{A:{if(!s[I+45|0]|r||(r=i[f+12>>2],i[f+8>>2]|(r|0)<=0))break A;if(S=2,(a|0)>=2){if(r=r-1|0,k=i[f+18596>>2],r>>>0>=i[k+472>>2]-i[k+468>>2]>>3>>>0)break e;i8(A,i[f+18604>>2],1,r,1),Ii(f+18572|0,(i[i[f+18596>>2]+468>>2]+(i[f+12>>2]<<3)|0)-8|0),F9((i[i[f+18596>>2]+468>>2]+(i[f+12>>2]<<3)|0)-8|0);break A}if(i8(A,i[f+18604>>2],0,r-1|0,1),r=i[f+18592>>2],A=i[r+804>>2],A>>>0>=3)break r;k6(f+18572|0,A,i[r+800>>2]),l[f+18580|0]=0,l[f+18581|0]=0,l[f+18582|0]=0,l[f+18583|0]=0}for(q=f+18548|0,h0=f+18572|0,p0=a-1|0,W=i[f+12>>2],r=i[f+8>>2],S=2;;){if(j=m(W,a)+r|0,i[R+16892>>2]<=(r|0)|j>>>0>=i[I+8452>>2]-i[I+8448>>2]>>2>>>0|i[R+16900>>2]<=(W|0)||(!e|(W|0)<=0|(r|0)>=(p0|0)||i8(i[f+18588>>2],i[f+18604>>2],r+1|0,W-1|0,1),!i[f+18576>>2]))break e;d=0,L=0,k=i[f>>2],A=i[f+18588>>2],A0=i[A+124>>2],n=i[A0+16892>>2],_=(k|0)/(n|0)|0,C=k-m(n,_)|0,n=i[A0+16876>>2],w=C<<n,k=i[f+18592>>2],t=i[A+152>>2],(t|0)<=(C|0)|(_|0)>=i[A+156>>2]||(X[(i[A+140>>2]+m(m(t,_),24)|0)+m(C,24)>>1]=i[k+808>>2]);A:{f:{if(o=i[A+148>>2],u=w>>o,!((u|0)<0|(t|0)<=(u|0))){if(J=_<<n,o=J>>o,(o|0)<0|(o|0)>=i[A+156>>2])break f;if(X[((i[A+140>>2]+m(u,24)|0)+m(m(t,o),24)|0)+2>>1]=i[k>>2],X0=w,G0=J,s[k+333|0]|s[k+334|0]){h=0,u=B-32|0,B=u,D=i[f+18592>>2],v=i[f+18588>>2],f0=i[v+132>>2],n=i[v+124>>2],l[u+24|0]=0,i[u+16>>2]=0,i[u+20>>2]=0,i[u+8>>2]=0,i[u+12>>2]=0,A=0;k:{if((C|0)<=0||(A=0,i[f>>2]<=i[D+808>>2])||(o=C<<2,k=i[f0+8484>>2],t=m(_,i[n+16892>>2])<<2,A=0,i[o+(k+t|0)>>2]!=i[(t+(k+o|0)|0)-4>>2]))break k;A=f2(f+18548|0,i[f+18572>>2])}k=A;k:{if(k&255|(_|0)<=0||(A=i[n+16892>>2],i[D+808>>2]>(i[f>>2]-A|0))||(o=C<<2,t=i[f0+8484>>2],i[o+(t+(m(A,_)<<2)|0)>>2]!=i[o+(t+(m(A,_-1|0)<<2)|0)>>2]))break k;d=f2(f+18548|0,i[f+18572>>2])}if(!((k|d)&255)){for(o=f+18548|0,A=u+8|0,I0=A|2,Q0=A|5,F0=i[n+16848>>2],t=s[u+9|0],n=s[u+8|0],z=0;;){k:{n:{t:{o:{u:{if(!s[D+333|0]||h){if(!h|!s[D+334|0])break k;if((h|0)!=1)break t;if(f2(o,i[f+18572>>2]+1|0))break u;A=0;break o}f2(o,i[f+18572>>2]+1|0)?n=x1(o)?2:1:n=0,z=n,A=n;break n}A=x1(o)?2:1}n=A<<2|A<<4|z,z=n;break n}A=(z&255)>>>(h<<1)&3}if(!A)break k;Z=(h<<2)+Q0|0,w=h?16840:16832,p=i[w+i[v+124>>2]>>2],p=Q6(o,-1<<((p|0)>=10?10:p)-5^-1),l[Z|0]=p,y=i[w+i[v+124>>2]>>2],y=Q6(o,-1<<((y|0)>=10?10:y)-5^-1),l[Z+1|0]=y,E=i[w+i[v+124>>2]>>2],E=Q6(o,-1<<((E|0)>=10?10:E)-5^-1),l[Z+2|0]=E,w=i[w+i[v+124>>2]>>2],H=Q6(o,-1<<((w|0)>=10?10:w)-5^-1),l[Z+3|0]=H;n:{if((A|0)==1){A=0,J=0,p&255&&(J=x1(o)?-1:1),y&255&&(A=x1(o)?-1:1),w=0,n0=0,E&255&&(n0=x1(o)?-1:1),H&255&&(w=x1(o)?-1:1),S0=h+I0|0,c0=d4(o,5),l[S0|0]=c0,H=s[Z+3|0],E=s[Z+2|0],y=s[Z+1|0],p=s[Z|0];break n}t:{o:{if(!h){A=1,w=-1,t=d4(o,2);break o}if(A=1,w=-1,(h|0)!=1)break t;t=d4(o,2),t=t<<2|t<<4|L}L=t}n0=-1,J=1}Y0=p,p=s[(h?8264:8263)+f0|0],l[Z|0]=m(Y0<<p,J),l[Z+1|0]=m(y<<p,A),l[Z+2|0]=m(E<<p,n0),l[Z+3|0]=m(H<<p,w)}if(!(F0&&(A=h>>>0<2,h=h+1|0,A)))break}l[u+9|0]=t,l[u+8|0]=n,A=(i[v+140>>2]+m(m(_,i[v+152>>2]),24)|0)+m(C,24)|0,l[A+20|0]=s[u+24|0],n=i[u+20>>2],t=i[u+16>>2],l[A+12|0]=t,l[A+13|0]=t>>>8,l[A+14|0]=t>>>16,l[A+15|0]=t>>>24,l[A+16|0]=n,l[A+17|0]=n>>>8,l[A+18|0]=n>>>16,l[A+19|0]=n>>>24,n=i[u+12>>2],t=i[u+8>>2],l[A+4|0]=t,l[A+5|0]=t>>>8,l[A+6|0]=t>>>16,l[A+7|0]=t>>>24,l[A+8|0]=n,l[A+9|0]=n>>>8,l[A+10|0]=n>>>16,l[A+11|0]=n>>>24}k&255&&(A=(i[v+140>>2]+m(m(_,i[v+152>>2]),24)|0)+m(C,24)|0,k=A-24|0,l[A+20|0]=s[k+20|0],n=s[k+16|0]|s[k+17|0]<<8|(s[k+18|0]<<16|s[k+19|0]<<24),t=s[k+12|0]|s[k+13|0]<<8|(s[k+14|0]<<16|s[k+15|0]<<24),l[A+12|0]=t,l[A+13|0]=t>>>8,l[A+14|0]=t>>>16,l[A+15|0]=t>>>24,l[A+16|0]=n,l[A+17|0]=n>>>8,l[A+18|0]=n>>>16,l[A+19|0]=n>>>24,n=s[k+8|0]|s[k+9|0]<<8|(s[k+10|0]<<16|s[k+11|0]<<24),k=s[k+4|0]|s[k+5|0]<<8|(s[k+6|0]<<16|s[k+7|0]<<24),l[A+4|0]=k,l[A+5|0]=k>>>8,l[A+6|0]=k>>>16,l[A+7|0]=k>>>24,l[A+8|0]=n,l[A+9|0]=n>>>8,l[A+10|0]=n>>>16,l[A+11|0]=n>>>24),d&255&&(t=m(C,24),n=i[v+140>>2],k=i[v+152>>2],A=t+(n+m(m(k,_),24)|0)|0,k=t+(n+m(m(k,_-1|0),24)|0)|0,l[A+20|0]=s[k+20|0],n=s[k+16|0]|s[k+17|0]<<8|(s[k+18|0]<<16|s[k+19|0]<<24),t=s[k+12|0]|s[k+13|0]<<8|(s[k+14|0]<<16|s[k+15|0]<<24),l[A+12|0]=t,l[A+13|0]=t>>>8,l[A+14|0]=t>>>16,l[A+15|0]=t>>>24,l[A+16|0]=n,l[A+17|0]=n>>>8,l[A+18|0]=n>>>16,l[A+19|0]=n>>>24,n=s[k+8|0]|s[k+9|0]<<8|(s[k+10|0]<<16|s[k+11|0]<<24),k=s[k+4|0]|s[k+5|0]<<8|(s[k+6|0]<<16|s[k+7|0]<<24),l[A+4|0]=k,l[A+5|0]=k>>>8,l[A+6|0]=k>>>16,l[A+7|0]=k>>>24,l[A+8|0]=n,l[A+9|0]=n>>>8,l[A+10|0]=n>>>16,l[A+11|0]=n>>>24),B=u+32|0,n=i[A0+16876>>2]}vr(f,X0,G0,n,0);break A}C0(3758,8453,128,3372),P()}C0(3720,8453,129,3372),P()}if(!(!s[I+45|0]|(r|0)!=1|(i[R+16900>>2]-1|0)<=(W|0))){if(A=i[f+18596>>2],r=i[A+468>>2],i[A+472>>2]-r>>3>>>0<=W>>>0)break e;n=r,r=W<<3,Ii(n+r|0,h0),X9(r+i[i[f+18596>>2]+468>>2]|0)}if(k=t3(q),!k|!s[I+14|0]||(Ii(i[f+18592>>2]+1340|0,h0),X9(i[f+18592>>2]+1340|0),l[i[f+18592>>2]+1348|0]=1),r=i[i[f+18588>>2]+320>>2]+m(j,76)|0,i[r>>2]<=0&&(i[r>>2]=1),u=i[f+4>>2],A=u+1|0,i[f+4>>2]=A,o=i[f+12>>2],h=i[f+18588>>2],t=i[h+124>>2],n=i[t+16908>>2],t=i[t+16892>>2],r=(A|0)<(n|0)?i[i[i[h+132>>2]+8460>>2]+(A<<2)>>2]:n,i[f>>2]=r,W=(r|0)/(t|0)|0,i[f+12>>2]=W,r=r-m(t,W)|0,i[f+8>>2]=r,!((A|0)<(n|0)|k)){v2(i[f+18584>>2]+4|0,1004,0);break i}if(k)return 0;if(s[I+46|0]?(n=A<<2,A=i[I+8472>>2],n=i[n+A>>2]!=i[A+(u<<2)>>2]):n=0,!!(n|s[I+45|0]!=0&(o|0)!=(W|0)))break}if(!t3(q)){v2(i[f+18584>>2]+4|0,1017,0);break i}Y6(q),S=1}return S}C0(16898,14036,1520,4043),P()}return l[i[f+18588>>2]+312|0]=3,2}function Ss(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=Y(0),o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=Y(0),a=Y(0),S=Y(0),q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=Y(0),X0=Y(0),G0=Y(0);e=B-112|0,B=e,A=i[r>>2],u=i[A+28>>2],h=i[A+24>>2],w=i[k+4>>2],n=w>>>0<4,o=w<<3,p=(n?16908801>>>o|0:0)&3,W=(n?16843265>>>o|0:0)&3;i:{if((U0(A,3)|0)!=8){i[f>>2]=0,i[f+4>>2]=0;break i}r:{if(D=H2(i[r>>2],6),!D||(U0(i[r>>2],6)|0)==8)break r;i[f>>2]=0,i[f+4>>2]=0;break i}n=U(136),A=n,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=72792,B0(A+20|0,0,104),v=i[A+4>>2],o=v+1|0,i[A+4>>2]=o,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,A=A- -64|0,i[A>>2]=0,i[A+4>>2]=0,i[n+132>>2]=0,i[n+124>>2]=0,i[n+128>>2]=0,i[n+84>>2]=1,i[n+88>>2]=1,i[n+72>>2]=n+76,i[n+92>>2]=0,i[n+96>>2]=0,i[n+100>>2]=0,i[n+104>>2]=0,i[n+108>>2]=0,i[n+112>>2]=0,l[n+113|0]=0,l[n+114|0]=0,l[n+115|0]=0,l[n+116|0]=0,l[n+117|0]=0,l[n+118|0]=0,l[n+119|0]=0,l[n+120|0]=0,_=n+12|0,i[n+12>>2]=_,i[n+8>>2]=i[n+8>>2]+1,i[n+4>>2]=v,i[n+16>>2]=n,o||(V[i[i[n>>2]+8>>2]](n),g(n)),i[_+36>>2]=w,i[_+32>>2]=0,i[_+28>>2]=u,i[_+24>>2]=h,o=((u+W|0)-1|0)/(W|0)|0,A=((h+p|0)-1|0)/(p|0)|0;r:{e:{A:{f:{k:{if(!J0(_,0,h,u,8)||!J0(_,1,A,o,8)||!J0(_,2,A,o,8)||D&&!J0(_,6,h,u,8))break k;if(i[e+108>>2]=0,i[e+104>>2]=0,i[e+100>>2]=0,i[e+96>>2]=0,i[e+92>>2]=0,i[e+88>>2]=0,i[e+84>>2]=0,i[e+80>>2]=0,J=v0(i[r>>2],3,e+108|0),I=v0(i[r>>2],4,e+104|0),R=v0(i[r>>2],5,e+100|0),C=v0(_,0,e+92|0),q=v0(_,1,e+88|0),d=v0(_,2,e+84|0),D&&(A0=v0(i[r>>2],6,e+96|0),f0=v0(_,6,e+80|0)),i[e+76>>2]=-1113159960,i[e+68>>2]=1056964608,i[e+72>>2]=-1093247418,i[e+60>>2]=-1096180881,i[e+64>>2]=1056964608,i[e+52>>2]=1038710997,i[e+56>>2]=-1104361250,i[e+44>>2]=1050220167,i[e+48>>2]=1058424226,l[e+40|0]=1,z=s[k+26|0],y=Q[k+24>>1],Kr(e,y,Q[k+20>>1]),r=i[e+36>>2],i[e+72>>2]=i[e+32>>2],i[e+76>>2]=r,r=i[e+28>>2],A=e- -64|0,i[A>>2]=i[e+24>>2],i[A+4>>2]=r,r=i[e+20>>2],i[e+56>>2]=i[e+16>>2],i[e+60>>2]=r,r=i[e+12>>2],i[e+48>>2]=i[e+8>>2],i[e+52>>2]=r,r=i[e+4>>2],i[e+40>>2]=i[e>>2],i[e+44>>2]=r,(u|0)<=0)break r;if((h|0)<=0)break e;if(!y)break f;for(A=0;;){for(r=0;;){Z=(C+m(i[e+92>>2],A)|0)+r|0,t=Y(Y(Y(s[(m(i[e+100>>2],A)+R|0)+r|0])*Z0[e+52>>2])+Y(Y(Y(s[(J+m(i[e+108>>2],A)|0)+r|0])*Z0[e+44>>2])+Y(Z0[e+48>>2]*Y(s[(I+m(i[e+104>>2],A)|0)+r|0])))),t=Y((z&1?t:Y(Y(Y(t*Y(219))*Y(.00390625))+Y(16)))+Y(.5));n:{if(Y(d0(t))<Y(2147483648)){k=~~t;break n}k=-2147483648}if(l[Z|0]=(k|0)>=0?k>>>0>=255?255:k:0,r=r+1|0,(h|0)==(r|0))break}if(A=A+1|0,(u|0)==(A|0))break}break A}if(i[f>>2]=0,i[f+4>>2]=0,f=i[n+4>>2],i[n+4>>2]=f-1,f)break i;V[i[i[n>>2]+8>>2]](n),g(n);break i}if(!(z&1)){for(k=0;;){for(r=0;;){Z=(C+m(i[e+92>>2],k)|0)+r|0,t=Y(Y(Y(Y(Y(s[(I+m(i[e+104>>2],k)|0)+r|0])*Y(219))*Y(.00390625))+Y(16))+Y(.5));f:{if(Y(d0(t))<Y(2147483648)){A=~~t;break f}A=-2147483648}if(l[Z|0]=(A|0)>=0?A>>>0>=255?255:A:0,r=r+1|0,(h|0)==(r|0))break}if(k=k+1|0,(u|0)==(k|0))break}break A}for(w=h&2147483646,v=h&1,A=0;;){if(r=0,k=0,(h|0)!=1)for(;l[(C+m(i[e+92>>2],A)|0)+r|0]=s[(I+m(i[e+104>>2],A)|0)+r|0],o=r|1,l[o+(C+m(i[e+92>>2],A)|0)|0]=s[o+(I+m(i[e+104>>2],A)|0)|0],r=r+2|0,k=k+2|0,(w|0)!=(k|0););if(v&&(l[(C+m(i[e+92>>2],A)|0)+r|0]=s[(I+m(i[e+104>>2],A)|0)+r|0]),A=A+1|0,(u|0)==(A|0))break}}if((u|0)<=0)break r;if(y){for(k=0,h0=(W|0)==2,L=(p|W)>>>0<2;;){for(r=k+1|0,n0=h0&&(r|0)<(u|0)?r:k,j=(k>>>0)/(W>>>0)|0,r=0;;){C=i[e+100>>2],A=m(C,k)+R|0,H=Y(s[A+r|0]),y=i[e+104>>2],w=I+m(y,k)|0,a=Y(s[w+r|0]),v=i[e+108>>2],o=J+m(v,k)|0,S=Y(s[o+r|0]),L||(Z=A,A=r+1|0,E=h0&&(p|0)==2&&(A|0)<(h|0)?A:r,A=m(C,n0)+R|0,H=Y(Y(Y(Y(H+Y(s[Z+E|0]))+Y(s[A+r|0]))+Y(s[A+E|0]))*Y(.25)),A=I+m(y,n0)|0,a=Y(Y(Y(Y(a+Y(s[w+E|0]))+Y(s[A+r|0]))+Y(s[A+E|0]))*Y(.25)),A=J+m(v,n0)|0,S=Y(Y(Y(Y(S+Y(s[o+E|0]))+Y(s[A+r|0]))+Y(s[A+E|0]))*Y(.25))),p0=Z0[e+76>>2],X0=Z0[e+68>>2],G0=Z0[e+72>>2],w=(r>>>0)/(p>>>0)|0,Z=w+(m(j,i[e+88>>2])+q|0)|0,t=Y(Y(H*Z0[e+64>>2])+Y(Y(S*Z0[e+56>>2])+Y(a*Z0[e+60>>2]))),v=z&1,t=Y(Y((v?t:Y(Y(t*Y(224))*Y(.00390625)))+Y(128))+Y(.5));A:{if(Y(d0(t))<Y(2147483648)){A=~~t;break A}A=-2147483648}l[Z|0]=(A|0)>=0?A>>>0>=255?255:A:0,Z=w+(m(j,i[e+84>>2])+d|0)|0,t=Y(Y(H*p0)+Y(Y(S*X0)+Y(a*G0))),t=Y(Y((v?t:Y(Y(t*Y(224))*Y(.00390625)))+Y(128))+Y(.5));A:{if(Y(d0(t))<Y(2147483648)){A=~~t;break A}A=-2147483648}if(l[Z|0]=(A|0)>=0?A>>>0>=255?255:A:0,r=r+p|0,!((h|0)>(r|0)))break}if(k=k+W|0,!((u|0)>(k|0)))break}break e}if(A=0,!(z&1))for(;;){for(w=(A>>>0)/(W>>>0)|0,r=0;;){v=(r>>>0)/(p>>>0)|0,Z=v+(m(w,i[e+88>>2])+q|0)|0,t=Y(Y(Y(Y(Y(s[(m(i[e+100>>2],A)+R|0)+r|0])*Y(224))*Y(.00390625))+Y(16))+Y(.5));A:{if(Y(d0(t))<Y(2147483648)){k=~~t;break A}k=-2147483648}l[Z|0]=(k|0)>=0?k>>>0>=255?255:k:0,Z=v+(m(w,i[e+88>>2])+d|0)|0,t=Y(Y(Y(Y(Y(s[(J+m(i[e+100>>2],A)|0)+r|0])*Y(224))*Y(.00390625))+Y(16))+Y(.5));A:{if(Y(d0(t))<Y(2147483648)){k=~~t;break A}k=-2147483648}if(l[Z|0]=(k|0)>=0?k>>>0>=255?255:k:0,r=r+p|0,!((h|0)>(r|0)))break}if(A=A+W|0,!((u|0)>(A|0)))break e}for(;;){for(o=(A>>>0)/(W>>>0)|0,r=0;k=(r>>>0)/(p>>>0)|0,l[k+(m(o,i[e+88>>2])+q|0)|0]=s[(m(i[e+100>>2],A)+R|0)+r|0],l[k+(m(o,i[e+88>>2])+d|0)|0]=s[(J+m(i[e+100>>2],A)|0)+r|0],r=r+p|0,(h|0)>(r|0););if(A=A+W|0,!((u|0)>(A|0)))break}}if(D^1|(u|0)<=0)break r;if(r=0,(u|0)!=1)for(o=u&2147483646,A=0;l0(m(i[e+80>>2],r)+f0|0,m(i[e+96>>2],r)+A0|0,h),k=r|1,l0(m(k,i[e+80>>2])+f0|0,m(k,i[e+96>>2])+A0|0,h),r=r+2|0,A=A+2|0,(o|0)!=(A|0););if(!(u&1))break r;l0(m(i[e+80>>2],r)+f0|0,m(i[e+96>>2],r)+A0|0,h)}i[f+4>>2]=n,i[f>>2]=_}B=e+112|0}function Ck(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0;W=B-48|0,B=W,U2(+f),_=j0(1)|0,r=j0(0)|0;i:{r:{u=_&2147483647;e:{if(u>>>0<=1074752122){if((_&1048575)==598523)break e;if(u>>>0<=1073928572){if((_|0)>0|(_|0)>=0){f=f+-1.5707963267341256,n=f+-6077100506506192e-26,i0[e>>3]=n,i0[e+8>>3]=f-n+-6077100506506192e-26,A=1;break i}f=f+1.5707963267341256,n=f+6077100506506192e-26,i0[e>>3]=n,i0[e+8>>3]=f-n+6077100506506192e-26,A=-1;break i}if((_|0)>0|(_|0)>=0){f=f+-3.1415926534682512,n=f+-12154201013012384e-26,i0[e>>3]=n,i0[e+8>>3]=f-n+-12154201013012384e-26,A=2;break i}f=f+3.1415926534682512,n=f+12154201013012384e-26,i0[e>>3]=n,i0[e+8>>3]=f-n+12154201013012384e-26,A=-2;break i}if(u>>>0<=1075594811){if(u>>>0<=1075183036){if((u|0)==1074977148)break e;if((_|0)>0|(_|0)>=0){f=f+-4.712388980202377,n=f+-18231301519518578e-26,i0[e>>3]=n,i0[e+8>>3]=f-n+-18231301519518578e-26,A=3;break i}f=f+4.712388980202377,n=f+18231301519518578e-26,i0[e>>3]=n,i0[e+8>>3]=f-n+18231301519518578e-26,A=-3;break i}if((u|0)==1075388923)break e;if((_|0)>0|(_|0)>=0){f=f+-6.2831853069365025,n=f+-2430840202602477e-25,i0[e>>3]=n,i0[e+8>>3]=f-n+-2430840202602477e-25,A=4;break i}f=f+6.2831853069365025,n=f+2430840202602477e-25,i0[e>>3]=n,i0[e+8>>3]=f-n+2430840202602477e-25,A=-4;break i}if(u>>>0>1094263290)break r}w=f*.6366197723675814+6755399441055744+-6755399441055744,n=f+w*-1.5707963267341256,v=w*6077100506506192e-26,R=n-v,r=R<-.7853981633974483,d0(w)<2147483648?A=~~w:A=-2147483648;e:{if(r){A=A-1|0,w=w+-1,v=w*6077100506506192e-26,n=f+w*-1.5707963267341256;break e}if(!(R>.7853981633974483))break e;A=A+1|0,w=w+1,v=w*6077100506506192e-26,n=f+w*-1.5707963267341256}f=n-v,i0[e>>3]=f,U2(+f),r=j0(1)|0,j0(0)|0,_=u>>>20|0;e:{if((_-(r>>>20&2047)|0)<17||(v=n,f=w*6077100506303966e-26,n=n-f,v=w*20222662487959506e-37-(v-n-f),f=n-v,i0[e>>3]=f,U2(+f),r=j0(1)|0,j0(0)|0,(_-(r>>>20&2047)|0)<50))break e;v=n,f=w*20222662487111665e-37,n=n-f,v=w*84784276603689e-45-(v-n-f),f=n-v,i0[e>>3]=f}i0[e+8>>3]=n-f-v;break i}if(u>>>0>=2146435072){f=f-f,i0[e>>3]=f,i0[e+8>>3]=f;break i}for(A=W+16|0,k=A|8,N2(0,r|0),N2(1,_&1048575|1096810496),f=+m1(),r=1;d0(f)<2147483648?h=~~f:h=-2147483648,n=+(h|0),i0[A>>3]=n,f=(f-n)*16777216,h=r,r=0,A=k,!!h;);for(i0[W+32>>3]=f,A=2;r=A,A=r-1|0,E=W+16|0,i0[E+(r<<3)>>3]==0;);if(k=0,t=B-560|0,B=t,A=(u>>>20|0)-1046|0,h=(A-3|0)/24|0,J=(h|0)>0?h:0,h=m(J,-24)+A|0,C=i[11757],I=r+1|0,o=I-1|0,(C+o|0)>=0)for(A=C+I|0,r=J-o|0;i0[(t+320|0)+(k<<3)>>3]=(r|0)<0?0:+i[(r<<2)+47040>>2],r=r+1|0,k=k+1|0,(A|0)!=(k|0););for(u=h-24|0,A=0,k=(C|0)>0?C:0,p=(I|0)<=0;;){r:{if(p){f=0;break r}for(Z=A+o|0,r=0,f=0;f=i0[(r<<3)+E>>3]*i0[(t+320|0)+(Z-r<<3)>>3]+f,r=r+1|0,(I|0)!=(r|0););}if(i0[(A<<3)+t>>3]=f,r=(A|0)==(k|0),A=A+1|0,!!r)break}H=47-h|0,D=48-h|0,a=h-25|0,A=C;r:{for(;;){if(f=i0[(A<<3)+t>>3],r=0,k=A,Z=(A|0)<=0,!Z)for(;;){p=(t+480|0)+(r<<2)|0,n=f*5960464477539063e-23;e:{if(d0(n)<2147483648){o=~~n;break e}o=-2147483648}n=+(o|0),f=n*-16777216+f;e:{if(d0(f)<2147483648){o=~~f;break e}o=-2147483648}if(i[p>>2]=o,k=k-1|0,f=i0[(k<<3)+t>>3]+n,r=r+1|0,(A|0)==(r|0))break}f=M1(f,u),f=f+us(f*.125)*-8;e:{if(d0(f)<2147483648){p=~~f;break e}p=-2147483648}f=f-+(p|0);e:{A:{f:{z=(u|0)<=0;k:{if(!z){k=(A<<2)+t|0,o=i[k+476>>2],r=o>>D,y=k,k=o-(r<<D)|0,i[y+476>>2]=k,p=r+p|0,o=k>>H;break k}if(u)break f;o=i[((A<<2)+t|0)+476>>2]>>23}if((o|0)<=0)break e;break A}if(o=2,f>=.5)break A;o=0;break e}if(r=0,k=0,!Z)for(;;){Z=(t+480|0)+(r<<2)|0,y=i[Z>>2];A:{f:{if(k)k=16777215;else{if(!y)break f;k=16777216}i[Z>>2]=k-y,k=1;break A}k=0}if(r=r+1|0,(A|0)==(r|0))break}A:{if(z)break A;r=8388607;f:switch(a|0){case 1:r=4194303;break;case 0:break f;default:break A}Z=(A<<2)+t|0,i[Z+476>>2]=i[Z+476>>2]&r}if(p=p+1|0,(o|0)!=2||(f=1-f,o=2,!k))break e;f=f-M1(1,u)}if(f==0){k=0;e:{if(r=A,(C|0)>=(r|0))break e;for(;r=r-1|0,k=i[(t+480|0)+(r<<2)>>2]|k,(r|0)>(C|0););if(!k)break e;for(h=u;h=h-24|0,A=A-1|0,!i[(t+480|0)+(A<<2)>>2];);break r}for(r=1;k=r,r=r+1|0,!i[(t+480|0)+(C-k<<2)>>2];);for(k=A+k|0;;){if(o=A+I|0,A=A+1|0,i0[(t+320|0)+(o<<3)>>3]=i[(J+A<<2)+47040>>2],r=0,f=0,(I|0)>0)for(;f=i0[(r<<3)+E>>3]*i0[(t+320|0)+(o-r<<3)>>3]+f,r=r+1|0,(I|0)!=(r|0););if(i0[(A<<3)+t>>3]=f,!((A|0)<(k|0)))break}A=k;continue}break}f=M1(f,24-h|0);e:{if(f>=16777216){u=(t+480|0)+(A<<2)|0,n=f*5960464477539063e-23;A:{if(d0(n)<2147483648){r=~~n;break A}r=-2147483648}f=+(r|0)*-16777216+f;A:{if(d0(f)<2147483648){k=~~f;break A}k=-2147483648}i[u>>2]=k,A=A+1|0;break e}d0(f)<2147483648?r=~~f:r=-2147483648,h=u}i[(t+480|0)+(A<<2)>>2]=r}f=M1(1,h);r:{if((A|0)<0)break r;for(r=A;k=r,i0[(r<<3)+t>>3]=f*+i[(t+480|0)+(r<<2)>>2],r=r-1|0,f=f*5960464477539063e-23,!!k;);if((A|0)<0)break r;for(k=A;;){if(f=0,r=0,h=A-k|0,u=(h|0)>(C|0)?C:h,(u|0)>=0)for(;f=i0[(r<<3)+49808>>3]*i0[(r+k<<3)+t>>3]+f,Z=(r|0)!=(u|0),r=r+1|0,!!Z;);if(i0[(t+160|0)+(h<<3)>>3]=f,r=(k|0)>0,k=k-1|0,!r)break}}if(f=0,(A|0)>=0)for(r=A;k=r,r=r-1|0,f=f+i0[(t+160|0)+(k<<3)>>3],!!k;);if(i0[W>>3]=o?-f:f,f=i0[t+160>>3]-f,r=1,(A|0)>0)for(;f=f+i0[(t+160|0)+(r<<3)>>3],k=(r|0)!=(A|0),r=r+1|0,!!k;);if(i0[W+8>>3]=o?-f:f,B=t+560|0,A=p&7,f=i0[W>>3],(_|0)<0){i0[e>>3]=-f,i0[e+8>>3]=-i0[W+8>>3],A=0-A|0;break i}i0[e>>3]=f,i0[e+8>>3]=i0[W+8>>3]}return B=W+48|0,A}function Os(f,e,r,A,k,n){f=f|0,e=+e,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;Z=B-560|0,B=Z,i[Z+44>>2]=0,U2(+e),o=j0(1)|0,j0(0)|0;i:{if((o|0)<0){E=1,H=2473,e=-e,U2(+e),o=j0(1)|0,j0(0)|0;break i}if(k&2048){E=1,H=2476;break i}E=k&1,H=E?2479:2474,I=!E}i:{if((o&2146435072)==2146435072){o=E+3|0,$1(f,32,r,o,k&-65537),H1(f,H,E),A=n&32,H1(f,e!=e?A?7073:14991:A?8743:15160,3),$1(f,32,r,o,k^8192),v=(r|0)<(o|0)?o:r;break i}R=Z+16|0;r:{e:{A:{if(e=Y9(e,Z+44|0),e=e+e,e!=0){if(o=i[Z+44>>2],i[Z+44>>2]=o-1,z=n|32,(z|0)!=97)break A;break r}if(z=n|32,(z|0)==97)break r;w=i[Z+44>>2],_=(A|0)<0?6:A;break e}w=o-29|0,i[Z+44>>2]=w,e=e*268435456,_=(A|0)<0?6:A}for(W=(Z+48|0)+((w|0)>=0?288:0)|0,o=W;e<4294967296&e>=0?A=~~e>>>0:A=0,i[o>>2]=A,o=o+4|0,e=(e-+(A>>>0))*1e9,e!=0;);e:{if((w|0)<=0){A=w,t=o,u=W;break e}for(u=W,A=w;;){h=A>>>0>=29?29:A,t=o-4|0;A:{if(u>>>0>t>>>0)break A;for(p=0;A=i[t>>2],v=h&31,D=p,(h&63)>>>0>=32?(p=A<<v,A=0):(p=(1<<v)-1&A>>>32-v,A=A<<v),D=D+A|0,v=p+y|0,v=A>>>0>D>>>0?v+1|0:v,p=K6(D,v,1e9,0),a=t,S=D-q0(p,w0,1e9,0)|0,i[a>>2]=S,t=t-4|0,u>>>0<=t>>>0;);if(!v&D>>>0<1e9)break A;u=u-4|0,i[u>>2]=p}for(;t=o,u>>>0<t>>>0&&(o=t-4|0,!i[o>>2]););if(A=i[Z+44>>2]-h|0,i[Z+44>>2]=A,o=t,!((A|0)>0))break}}if((A|0)<0)for(J=((_+25>>>0)/9|0)+1|0,y=(z|0)==102;;){A=0-A|0,v=A>>>0>=9?9:A;e:{if(t>>>0<=u>>>0){o=!i[u>>2]<<2;break e}for(p=1e9>>>v|0,h=-1<<v^-1,A=0,o=u;D=A,A=i[o>>2],i[o>>2]=D+(A>>>v|0),A=m(p,A&h),o=o+4|0,o>>>0<t>>>0;);if(o=!i[u>>2]<<2,!A)break e;i[t>>2]=A,t=t+4|0}if(A=v+i[Z+44>>2]|0,i[Z+44>>2]=A,u=o+u|0,o=y?W:u,t=t-o>>2>(J|0)?o+(J<<2)|0:t,!((A|0)<0))break}A=0;e:{if(t>>>0<=u>>>0||(A=m(W-u>>2,9),o=10,h=i[u>>2],h>>>0<10))break e;for(;A=A+1|0,o=m(o,10),h>>>0>=o>>>0;);}if(o=(_-((z|0)!=102?A:0)|0)-((z|0)==103&(_|0)!=0)|0,(o|0)<(m(t-W>>2,9)-9|0)){if(p=o+9216|0,h=(p|0)/9|0,w=((Z+48|0)+((w|0)<0?-4092:-3804)|0)+(h<<2)|0,o=10,v=p-m(h,9)|0,(v|0)<=7)for(;o=m(o,10),v=v+1|0,(v|0)!=8;);p=i[w>>2],J=(p>>>0)/(o>>>0)|0,y=p-m(o,J)|0,h=w+4|0;e:{if(!y&(h|0)==(t|0))break e;A:{if(!(J&1)&&(e=9007199254740992,!(l[w-4|0]&1)|((o|0)!=1e9|u>>>0>=w>>>0)))break A;e=9007199254740994}if(C=(t|0)==(h|0)?1:1.5,h=o>>>1|0,C=h>>>0>y>>>0?.5:(h|0)==(y|0)?C:1.5,s[H|0]!=45|I||(C=-C,e=-e),h=p-y|0,i[w>>2]=h,e+C==e)break e;if(A=o+h|0,i[w>>2]=A,A>>>0>=1e9)for(;i[w>>2]=0,w=w-4|0,w>>>0<u>>>0&&(u=u-4|0,i[u>>2]=0),A=i[w>>2]+1|0,i[w>>2]=A,A>>>0>999999999;);if(A=m(W-u>>2,9),o=10,h=i[u>>2],h>>>0<10)break e;for(;A=A+1|0,o=m(o,10),h>>>0>=o>>>0;);}o=w+4|0,t=t>>>0>o>>>0?o:t}for(;h=t,p=t>>>0<=u>>>0,!p&&(t=t-4|0,!i[t>>2]););e:{if((z|0)!=103){w=k&8;break e}if(t=_||1,o=(t|0)>(A|0)&(A|0)>-5,_=(o?A^-1:-1)+t|0,n=(o?-1:-2)+n|0,w=k&8,w)break e;t=-9;A:{if(p||(w=i[h-4>>2],!w)||(v=10,t=0,(w>>>0)%10|0))break A;for(;o=t,t=t+1|0,v=m(v,10),!((w>>>0)%(v>>>0)|0););t=o^-1}if(o=m(h-W>>2,9),(n&-33)==70){w=0,o=(t+o|0)-9|0,o=(o|0)>0?o:0,_=(o|0)>(_|0)?_:o;break e}w=0,o=((A+o|0)+t|0)-9|0,o=(o|0)>0?o:0,_=(o|0)>(_|0)?_:o}if(v=-1,y=_|w,((y?2147483645:2147483646)|0)<(_|0))break i;I=(((y|0)!=0)+_|0)+1|0,p=n&-33;e:{if((p|0)==70){if((I^2147483647)<(A|0))break i;t=(A|0)>0?A:0;break e}if(o=A>>31,t=Yi((o^A)-o|0,0,R),(R-t|0)<=1)for(;t=t-1|0,l[t|0]=48,(R-t|0)<2;);if(J=t-2|0,l[J|0]=n,l[t-1|0]=(A|0)<0?45:43,t=R-J|0,(t|0)>(I^2147483647))break i}if(A=t+I|0,(A|0)>(E^2147483647))break i;I=A+E|0,$1(f,32,r,I,k),H1(f,H,E),$1(f,48,r,I,k^65536);e:{A:{f:{if((p|0)==70){for(o=Z+16|9,n=u>>>0>W>>>0?W:u,u=n;;){t=Yi(i[u>>2],0,o);k:{if((n|0)!=(u|0)){if(Z+16>>>0>=t>>>0)break k;for(;t=t-1|0,l[t|0]=48,Z+16>>>0<t>>>0;);break k}if((t|0)!=(o|0))break k;t=t-1|0,l[t|0]=48}if(H1(f,t,o-t|0),u=u+4|0,!(W>>>0>=u>>>0))break}if(y&&H1(f,18135,1),(_|0)<=0|u>>>0>=h>>>0)break f;for(;;){if(t=Yi(i[u>>2],0,o),t>>>0>Z+16>>>0)for(;t=t-1|0,l[t|0]=48,Z+16>>>0<t>>>0;);if(H1(f,t,(_|0)>=9?9:_),t=_-9|0,u=u+4|0,h>>>0<=u>>>0)break A;if(A=(_|0)>9,_=t,!A)break}break A}k:{if((_|0)<0)break k;for(n=u>>>0<h>>>0?h:u+4|0,W=Z+16|9,o=u;;){t=Yi(i[o>>2],0,W),(W|0)==(t|0)&&(t=t-1|0,l[t|0]=48);n:{if((o|0)!=(u|0)){if(Z+16>>>0>=t>>>0)break n;for(;t=t-1|0,l[t|0]=48,Z+16>>>0<t>>>0;);break n}if(H1(f,t,1),t=t+1|0,!(_|w))break n;H1(f,18135,1)}if(A=W-t|0,H1(f,t,(A|0)<(_|0)?A:_),_=_-A|0,o=o+4|0,n>>>0<=o>>>0)break k;if(!((_|0)>=0))break}}$1(f,48,_+18|0,18,0),H1(f,J,R-J|0);break e}t=_}$1(f,48,t+9|0,9,0)}$1(f,32,r,I,k^8192),v=(r|0)<(I|0)?I:r;break i}w=(n<<26>>31&9)+H|0;r:{if(A>>>0>11)break r;for(t=12-A|0,C=16;C=C*16,t=t-1|0,!!t;);if(s[w|0]==45){e=-(C+(-e-C));break r}e=e+C-C}for(o=i[Z+44>>2],t=o>>31,t=Yi((t^o)-t|0,0,R),(R|0)==(t|0)&&(t=t-1|0,l[t|0]=48),W=E|2,u=n&32,o=i[Z+44>>2],_=t-2|0,l[_|0]=n+15,l[t-1|0]=(o|0)<0?45:43,t=k&8,o=Z+16|0;n=o,d0(e)<2147483648?h=~~e:h=-2147483648,l[o|0]=u|s[h+52592|0],e=(e-+(h|0))*16,o=n+1|0,!((A|0)>0|t)&e==0|(o-(Z+16|0)|0)!=1||(l[n+1|0]=46,o=n+2|0),e!=0;);if(v=-1,t=R-_|0,n=t+W|0,(2147483645-n|0)<(A|0))break i;h=n,n=Z+16|0,u=o-n|0,A=A&&(u-2|0)<(A|0)?A+2|0:u,o=h+A|0,$1(f,32,r,o,k),H1(f,w,W),$1(f,48,r,o,k^65536),H1(f,n,u),$1(f,48,A-u|0,0,0),H1(f,_,t),$1(f,32,r,o,k^8192),v=(r|0)<(o|0)?o:r}return B=Z+560|0,v|0}function js(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;if(A=X[e+22>>1],v=X[e+6>>1],w=X[e+30>>1],o=((m(A,-74)+m(v,74)|0)+m(w,74)|0)- -64>>7,o=(o|0)>=32767?32767:o,o=(o|0)<=-32768?-32768:o,n=X[e+20>>1],u=X[e+4>>1],t=X[e+28>>1],p=((m(n,-74)+m(u,74)|0)+m(t,74)|0)- -64>>7,p=(p|0)>=32767?32767:p,p=(p|0)<=-32768?-32768:p,I=X[e+18>>1],h=X[e+2>>1],Z=X[e+26>>1],_=((m(I,-74)+m(h,74)|0)+m(Z,74)|0)- -64>>7,_=(_|0)>=32767?32767:_,y=(_|0)<=-32768?-32768:_,E=X[e+16>>1],J=X[e>>1],R=X[e+24>>1],_=((m(E,-74)+m(J,74)|0)+m(R,74)|0)- -64>>7,_=(_|0)>=32767?32767:_,_=(_|0)<=-32768?-32768:_,k=X[e+14>>1],W=(((m(k,-74)+m(v,84)|0)+m(A,55)|0)+m(w,-29)|0)- -64>>7,W=(W|0)>=32767?32767:W,W=(W|0)<=-32768?-32768:W,C=m(k,74),k=(((C+m(v,55)|0)+m(A,-29)|0)+m(w,-84)|0)- -64>>7,k=(k|0)>=32767?32767:k,k=(k|0)<=-32768?-32768:k,A=(((C+m(v,29)|0)+m(A,84)|0)+m(w,55)|0)- -64>>7,A=(A|0)>=32767?32767:A,A=(A|0)<=-32768?-32768:A,w=X[e+12>>1],v=(((m(w,-74)+m(u,84)|0)+m(n,55)|0)+m(t,-29)|0)- -64>>7,v=(v|0)>=32767?32767:v,v=(v|0)<=-32768?-32768:v,C=m(w,74),w=(((C+m(u,55)|0)+m(n,-29)|0)+m(t,-84)|0)- -64>>7,w=(w|0)>=32767?32767:w,w=(w|0)<=-32768?-32768:w,n=(((C+m(u,29)|0)+m(n,84)|0)+m(t,55)|0)- -64>>7,n=(n|0)>=32767?32767:n,n=(n|0)<=-32768?-32768:n,u=X[e+10>>1],t=(((m(u,-74)+m(h,84)|0)+m(I,55)|0)+m(Z,-29)|0)- -64>>7,t=(t|0)>=32767?32767:t,C=(t|0)<=-32768?-32768:t,u=m(u,74),t=(((u+m(h,55)|0)+m(I,-29)|0)+m(Z,-84)|0)- -64>>7,t=(t|0)>=32767?32767:t,D=(t|0)<=-32768?-32768:t,u=(((u+m(h,29)|0)+m(I,84)|0)+m(Z,55)|0)- -64>>7,u=(u|0)>=32767?32767:u,I=(u|0)<=-32768?-32768:u,u=X[e+8>>1],e=(((m(u,-74)+m(J,84)|0)+m(E,55)|0)+m(R,-29)|0)- -64>>7,e=(e|0)>=32767?32767:e,e=(e|0)<=-32768?-32768:e,t=m(u,74),u=(((t+m(J,55)|0)+m(E,-29)|0)+m(R,-84)|0)- -64>>7,u=(u|0)>=32767?32767:u,u=(u|0)<=-32768?-32768:u,t=(((t+m(J,29)|0)+m(E,84)|0)+m(R,55)|0)- -64>>7,t=(t|0)>=32767?32767:t,t=(t|0)<=-32768?-32768:t,(r|0)!=1){h=s[f+2|0]+(((m(n,-74)+m(t,74)|0)+m(A,74)|0)+2048>>12)|0,h=(h|0)>=255?255:h,l[f+2|0]=(h|0)>0?h:0,h=m(I,74),Z=s[f|0]+((((h+m(t,29)|0)+m(n,84)|0)+m(A,55)|0)+2048>>12)|0,Z=(Z|0)>=255?255:Z,l[f|0]=(Z|0)>0?Z:0,h=s[f+1|0]+((((h+m(t,55)|0)+m(n,-29)|0)+m(A,-84)|0)+2048>>12)|0,h=(h|0)>=255?255:h,l[f+1|0]=(h|0)>0?h:0,A=s[f+3|0]+((((m(I,-74)+m(t,84)|0)+m(n,55)|0)+m(A,-29)|0)+2048>>12)|0,A=(A|0)>=255?255:A,l[f+3|0]=(A|0)>0?A:0,A=f+r|0,t=m(D,74),n=s[A|0]+((((t+m(u,29)|0)+m(w,84)|0)+m(k,55)|0)+2048>>12)|0,n=(n|0)>=255?255:n,l[A|0]=(n|0)>0?n:0,n=s[A+1|0]+((((t+m(u,55)|0)+m(w,-29)|0)+m(k,-84)|0)+2048>>12)|0,n=(n|0)>=255?255:n,l[A+1|0]=(n|0)>0?n:0,n=s[A+2|0]+(((m(w,-74)+m(u,74)|0)+m(k,74)|0)+2048>>12)|0,n=(n|0)>=255?255:n,l[A+2|0]=(n|0)>0?n:0,k=s[A+3|0]+((((m(D,-74)+m(u,84)|0)+m(w,55)|0)+m(k,-29)|0)+2048>>12)|0,k=(k|0)>=255?255:k,l[A+3|0]=(k|0)>0?k:0,k=(r<<1)+f|0,w=m(y,74),A=s[k|0]+((((w+m(_,29)|0)+m(p,84)|0)+m(o,55)|0)+2048>>12)|0,A=(A|0)>=255?255:A,l[k|0]=(A|0)>0?A:0,A=s[k+1|0]+((((w+m(_,55)|0)+m(p,-29)|0)+m(o,-84)|0)+2048>>12)|0,A=(A|0)>=255?255:A,l[k+1|0]=(A|0)>0?A:0,A=s[k+2|0]+(((m(p,-74)+m(_,74)|0)+m(o,74)|0)+2048>>12)|0,A=(A|0)>=255?255:A,l[k+2|0]=(A|0)>0?A:0,o=s[k+3|0]+((((m(y,-74)+m(_,84)|0)+m(p,55)|0)+m(o,-29)|0)+2048>>12)|0,o=(o|0)>=255?255:o,l[k+3|0]=(o|0)>0?o:0,f=m(r,3)+f|0,o=m(C,74),r=s[f|0]+((((o+m(e,29)|0)+m(v,84)|0)+m(W,55)|0)+2048>>12)|0,r=(r|0)>=255?255:r,l[f|0]=(r|0)>0?r:0,r=s[f+1|0]+((((o+m(e,55)|0)+m(v,-29)|0)+m(W,-84)|0)+2048>>12)|0,r=(r|0)>=255?255:r,l[f+1|0]=(r|0)>0?r:0,r=s[f+2|0]+(((m(v,-74)+m(e,74)|0)+m(W,74)|0)+2048>>12)|0,r=(r|0)>=255?255:r,l[f+2|0]=(r|0)>0?r:0,r=f,f=s[f+3|0]+((((m(C,-74)+m(e,84)|0)+m(v,55)|0)+m(W,-29)|0)+2048>>12)|0,f=(f|0)>=255?255:f,l[r+3|0]=(f|0)>0?f:0;return}h=s[f+2|0]+(((m(n,-74)+m(t,74)|0)+m(A,74)|0)+2048>>12)|0,h=(h|0)>=255?255:h,l[f+2|0]=(h|0)>0?h:0,h=m(I,74),Z=s[f|0]+((((h+m(t,29)|0)+m(n,84)|0)+m(A,55)|0)+2048>>12)|0,Z=(Z|0)>=255?255:Z,l[f|0]=(Z|0)>0?Z:0,h=s[f+1|0]+((((h+m(t,55)|0)+m(n,-29)|0)+m(A,-84)|0)+2048>>12)|0,h=(h|0)>=255?255:h,l[f+1|0]=(h|0)>0?h:0,A=s[f+3|0]+((((m(I,-74)+m(t,84)|0)+m(n,55)|0)+m(A,-29)|0)+2048>>12)|0,A=(A|0)>=255?255:A,n=(A|0)>0?A:0,l[f+3|0]=n,A=f+r|0,n=n+(((m(w,-74)+m(u,74)|0)+m(k,74)|0)+2048>>12)|0,n=(n|0)>=255?255:n,l[A+2|0]=(n|0)>0?n:0,n=m(D,74),t=s[A|0]+((((n+m(u,29)|0)+m(w,84)|0)+m(k,55)|0)+2048>>12)|0,t=(t|0)>=255?255:t,l[A|0]=(t|0)>0?t:0,n=s[A+1|0]+((((n+m(u,55)|0)+m(w,-29)|0)+m(k,-84)|0)+2048>>12)|0,n=(n|0)>=255?255:n,l[A+1|0]=(n|0)>0?n:0,k=s[A+3|0]+((((m(D,-74)+m(u,84)|0)+m(w,55)|0)+m(k,-29)|0)+2048>>12)|0,k=(k|0)>=255?255:k,k=(k|0)>0?k:0,l[A+3|0]=k,k=k+(((m(p,-74)+m(_,74)|0)+m(o,74)|0)+2048>>12)|0,k=(k|0)>=255?255:k,l[f+4|0]=(k|0)>0?k:0,k=m(y,74),A=s[f+2|0]+((((k+m(_,29)|0)+m(p,84)|0)+m(o,55)|0)+2048>>12)|0,A=(A|0)>=255?255:A,l[f+2|0]=(A|0)>0?A:0,k=s[f+3|0]+((((k+m(_,55)|0)+m(p,-29)|0)+m(o,-84)|0)+2048>>12)|0,k=(k|0)>=255?255:k,l[f+3|0]=(k|0)>0?k:0,o=s[f+5|0]+((((m(y,-74)+m(_,84)|0)+m(p,55)|0)+m(o,-29)|0)+2048>>12)|0,o=(o|0)>=255?255:o,o=(o|0)>0?o:0,l[f+5|0]=o,f=m(r,3)+f|0,r=o+(((m(v,-74)+m(e,74)|0)+m(W,74)|0)+2048>>12)|0,r=(r|0)>=255?255:r,l[f+2|0]=(r|0)>0?r:0,r=m(C,74),o=s[f|0]+((((r+m(e,29)|0)+m(v,84)|0)+m(W,55)|0)+2048>>12)|0,o=(o|0)>=255?255:o,l[f|0]=(o|0)>0?o:0,r=s[f+1|0]+((((r+m(e,55)|0)+m(v,-29)|0)+m(W,-84)|0)+2048>>12)|0,r=(r|0)>=255?255:r,l[f+1|0]=(r|0)>0?r:0,r=f,f=s[f+3|0]+((((m(C,-74)+m(e,84)|0)+m(v,55)|0)+m(W,-29)|0)+2048>>12)|0,f=(f|0)>=255?255:f,l[r+3|0]=(f|0)>0?f:0}function Ps(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0;e=B-32|0,B=e,v=U0(i[r>>2],0),C=U0(i[r>>2],1),Z=U0(i[r>>2],2),f0=H2(i[r>>2],6),f0&&(E=U0(i[r>>2],6));i:{if(!(!(v>>>0<9|C>>>0<9)&Z>>>0>8)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((v|0)==(C|0)&(v|0)==(Z|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],q=i[A+48>>2],q&&(i[q+4>>2]=i[q+4>>2]+1,A=i[r>>2]),n=i[A+28>>2],k=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),J=i[A+4>>2],R=J+1|0,i[A+4>>2]=R,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,I=A- -64|0,i[I>>2]=0,i[I+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,I=A+12|0,i[A+12>>2]=I,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=J,i[A+16>>2]=A,R||(V[i[i[A>>2]+8>>2]](A),g(A)),i[I+36>>2]=3,i[I+32>>2]=0,i[I+28>>2]=n,i[I+24>>2]=k;r:{e:{if(!J0(I,0,k,n,v)||!J0(I,1,k,n,C)||!J0(I,2,k,n,Z)||f0&&!J0(I,6,k,n,E))break e;if(i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,n0=v0(i[r>>2],0,e+28|0),v=v0(i[r>>2],1,e+24|0),C=v0(i[r>>2],2,e+20|0),h0=v0(I,0,e+12|0),Z=v0(I,1,e+8|0),E=v0(I,2,e+4|0),f0&&(F0=v0(i[r>>2],6,e+16|0),Y0=v0(I,6,e)),i[e+28>>2]=i[e+28>>2]/2,J=i[e+24>>2]/2|0,i[e+24>>2]=J,R=i[e+20>>2]/2|0,i[e+20>>2]=R,i[e+16>>2]=i[e+16>>2]/2,i[e+12>>2]=i[e+12>>2]/2,a=i[e+8>>2]/2|0,i[e+8>>2]=a,S=i[e+4>>2]/2|0,i[e+4>>2]=S,i[e>>2]=i[e>>2]/2,X[Z>>1]=Q[v>>1],X[E>>1]=Q[C>>1],X0=k-1|0,o=(X0|0)/2|0,(k|0)>=3)for(t=(o|0)<=1?1:o,r=0;D=r<<2,u=D|2,p=r&-2,z=p+2|0,w=z+v|0,_=v+p|0,X[u+Z>>1]=(Q[w>>1]+m(Q[_>>1],3)|0)+2>>>2,D=D+4|0,X[D+Z>>1]=(Q[_>>1]+m(Q[w>>1],3)|0)+2>>>2,H=u+E|0,u=C+z|0,p=C+p|0,X[H>>1]=(Q[u>>1]+m(Q[p>>1],3)|0)+2>>>2,X[E+D>>1]=(Q[p>>1]+m(Q[u>>1],3)|0)+2>>>2,r=r+1|0,(t|0)!=(r|0););if(D=k&1,D||(r=X0<<1,p=k-2|0,X[r+Z>>1]=Q[p+v>>1],X[r+E>>1]=Q[C+p>>1]),p=n-1|0,t=(p|0)/2|0,(n|0)>=3)for(z=(t|0)<=1?1:t,r=0;w=r<<1,_=w|1,u=r>>>1|0,W=u+1|0,y=v+(m(W,J)<<1)|0,h=v+(m(u,J)<<1)|0,X[Z+(m(_,a)<<1)>>1]=(Q[y>>1]+m(Q[h>>1],3)|0)+2>>>2,w=w+2|0,X[Z+(m(w,a)<<1)>>1]=(Q[h>>1]+m(Q[y>>1],3)|0)+2>>>2,H=E+(m(_,S)<<1)|0,_=C+(m(W,R)<<1)|0,u=C+(m(u,R)<<1)|0,X[H>>1]=(Q[_>>1]+m(Q[u>>1],3)|0)+2>>>2,X[E+(m(w,S)<<1)>>1]=(Q[u>>1]+m(Q[_>>1],3)|0)+2>>>2,r=r+1|0,(z|0)!=(r|0););if(W=n&1,W||(r=(n>>1)-1|0,X[Z+(m(p,a)<<1)>>1]=Q[v+(m(r,J)<<1)>>1],X[E+(m(p,S)<<1)>>1]=Q[C+(m(r,R)<<1)>>1]),!((n|0)<3|D))for(u=(k+C|0)-2|0,z=(k+v|0)-2|0,r=k<<1,w=(r+E|0)-2|0,_=(r+Z|0)-2|0,y=(t|0)<=1?1:t,r=0;h=r<<1,d=h|1,t=r>>>1|0,j=t+1|0,L=z+(m(j,J)<<1)|0,p0=z+(m(t,J)<<1)|0,X[_+(m(d,a)<<1)>>1]=(Q[L>>1]+m(Q[p0>>1],3)|0)+2>>>2,h=h+2|0,X[_+(m(h,a)<<1)>>1]=(Q[p0>>1]+m(Q[L>>1],3)|0)+2>>>2,H=w+(m(S,d)<<1)|0,d=u+(m(R,j)<<1)|0,t=u+(m(t,R)<<1)|0,X[H>>1]=(Q[d>>1]+m(Q[t>>1],3)|0)+2>>>2,X[w+(m(h,S)<<1)>>1]=(Q[t>>1]+m(Q[d>>1],3)|0)+2>>>2,r=r+1|0,(y|0)!=(r|0););A:{if(W)break A;if((k|0)>=3)for(t=(o|0)<=1?1:o,u=E+(m(p,S)<<1)|0,z=Z+(m(p,a)<<1)|0,r=(n>>1)-1|0,w=C+(m(r,R)<<1)|0,_=v+(m(r,J)<<1)|0,r=0;W=r<<2,y=W+z|0,h=r&-2,o=h+_|0,X[y+2>>1]=(Q[o+2>>1]+m(Q[o>>1],3)|0)+2>>>2,X[y+4>>1]=(Q[o>>1]+m(Q[o+2>>1],3)|0)+2>>>2,W=u+W|0,o=w+h|0,X[W+2>>1]=(Q[o+2>>1]+m(Q[o>>1],3)|0)+2>>>2,X[W+4>>1]=(Q[o>>1]+m(Q[o+2>>1],3)|0)+2>>>2,r=r+1|0,(t|0)!=(r|0););if(D)break A;r=k<<1,o=(n>>1)-1|0,X[(r+(Z+(m(p,a)<<1)|0)|0)-2>>1]=Q[(k+(v+(m(o,J)<<1)|0)|0)-2>>1],X[(r+(E+(m(p,S)<<1)|0)|0)-2>>1]=Q[(k+(C+(m(o,R)<<1)|0)|0)-2>>1]}A:{f:{if((n|0)>=3){if((k|0)<3)break f;for(o=1;;){for(d=E+(m(o,S)<<1)|0,j=Z+(m(o,a)<<1)|0,r=o+1|0,L=E+(m(r,S)<<1)|0,p0=Z+(m(r,a)<<1)|0,r=o>>>1|0,S0=C+(m(r,R)<<1)|0,c0=v+(m(r,J)<<1)|0,r=r+1|0,r2=C+(m(r,R)<<1)|0,n2=v+(m(r,J)<<1)|0,r=1;t=r&-2,u=t+r2|0,D=Q[u+2>>1],u=Q[u>>1],w=t+S0|0,z=Q[w>>1],w=Q[w+2>>1],y=t+n2|0,_=Q[y>>1],W=r<<1,A0=W+j|0,y=Q[y+2>>1],G0=m(y,3),h=t+c0|0,t=Q[h>>1],I0=m(t,3)+8|0,h=Q[h+2>>1],X[A0+2>>1]=G0+(_+(I0+m(h,9)|0)|0)>>>4,H=A0,Q0=m(_,3),A0=m(h,3)+8|0,X[H>>1]=y+(Q0+(A0+m(t,9)|0)|0)>>>4,H=W+p0|0,X[H+2>>1]=(Q0+(t+A0|0)|0)+m(y,9)>>>4,X[H>>1]=((h+I0|0)+m(_,9)|0)+G0>>>4,t=W+d|0,y=m(D,3),_=m(z,3)+8|0,X[t+2>>1]=y+(u+(_+m(w,9)|0)|0)>>>4,H=t,h=m(u,3),t=m(w,3)+8|0,X[H>>1]=D+(h+(t+m(z,9)|0)|0)>>>4,W=W+L|0,X[W+2>>1]=(h+(t+z|0)|0)+m(D,9)>>>4,X[W>>1]=y+((w+_|0)+m(u,9)|0)>>>4,r=r+2|0,(X0|0)>(r|0););if(o=o+2|0,!((p|0)>(o|0)))break}}if((n|0)<=0)break A}if(k=k<<1,f0){for(r=0;l0((m(i[e+12>>2],r)<<1)+h0|0,(m(i[e+28>>2],r)<<1)+n0|0,k),l0((m(i[e>>2],r)<<1)+Y0|0,(m(i[e+16>>2],r)<<1)+F0|0,k),r=r+1|0,(n|0)!=(r|0););break A}v=n&1;f:{if(!p){r=0;break f}for(C=n&-2,r=0,n=0;l0((m(i[e+12>>2],r)<<1)+h0|0,(m(i[e+28>>2],r)<<1)+n0|0,k),Z=r|1,l0((m(Z,i[e+12>>2])<<1)+h0|0,(m(Z,i[e+28>>2])<<1)+n0|0,k),r=r+2|0,n=n+2|0,(C|0)!=(n|0););}if(!v)break A;l0((m(i[e+12>>2],r)<<1)+h0|0,(m(i[e+28>>2],r)<<1)+n0|0,k)}i[f+4>>2]=A,i[f>>2]=I;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!q||(f=i[q+4>>2],i[q+4>>2]=f-1,f))break i;V[i[i[q>>2]+8>>2]](q),g(q)}B=e+32|0}function Ls(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0,B1=0,p1=0,W1=0,X1=0,N1=0,r4=0,e4=0,V4=0,M4=0,x4=0,Hi=0,Ti=0,ai=0,lf=0,uf=0,sf=0,hf=0,wf=0,_f=0,vf=0,mf=0,Bf=0,Zf=0,pf=0,Wf=0,Xf=0,Gf=0,Cf=0,Vf=0,If=0,Qf=0,yf=0,Ff=0,Ef=0,Yf=0,Jf=0,gf=0,Nf=0,Rf=0,Df=0,Uf=0,Mf=0,xf=0,zf=0,Hf=0,Tf=0,af=0,Sf=0,Of=0,jf=0,Pf=0,Lf=0,Kf=0,qf=0,$f=0,bf=0,df=0,cf=0,i5=0,r5=0,e5=0,A5=0,f5=0,k5=0,n5=0,t5=0,o5=0,l5=0,u5=0,s5=0;p=m(r,14)+e|0,E=Q[p+14>>1],J=Q[e+14>>1],R=Q[e+6>>1],u=J+R|0,a=Q[e+10>>1],S=Q[e+2>>1],h=a+S|0,A=u+h|0,q=Q[e+12>>1],d=Q[e+4>>1],_=q+d|0,j=Q[e+8>>1],L=Q[e>>1],v=j+L|0,n=_+v|0,t=A+n|0,k=(r<<3)+e|0,p0=Q[k+14>>1],X0=Q[k+6>>1],W=p0+X0|0,G0=Q[k+10>>1],I0=Q[k+2>>1],C=G0+I0|0,w=W+C|0,Q0=Q[k+12>>1],F0=Q[k+4>>1],I=Q0+F0|0,x2=Q[k+8>>1],T2=Q[k>>1],D=x2+T2|0,Z=I+D|0,o=w+Z|0,y=t-o|0,k=(r<<2)+e|0,O2=Q[k+14>>1],q2=Q[k+6>>1],Y0=O2+q2|0,b2=Q[k+10>>1],e1=Q[k+2>>1],S0=b2+e1|0,A0=Y0+S0|0,A1=Q[k+12>>1],h1=Q[k+4>>1],c0=A1+h1|0,B1=Q[k+8>>1],p1=Q[k>>1],r2=B1+p1|0,f0=c0+r2|0,z=A0+f0|0,k=m(r,12)+e|0,W1=Q[k+14>>1],X1=Q[k+6>>1],n2=W1+X1|0,N1=Q[k+10>>1],r4=Q[k+2>>1],s2=N1+r4|0,n0=n2+s2|0,e4=Q[k+12>>1],V4=Q[k+4>>1],W2=e4+V4|0,M4=Q[k+8>>1],Hi=Q[k>>1],x4=M4+Hi|0,y2=W2+x4|0,h0=n0+y2|0,H=z-h0|0,Ti=y-H|0,k=(r<<1)+e|0,ai=Q[k+14>>1],lf=Q[k+6>>1],uf=ai+lf|0,sf=Q[k+10>>1],hf=Q[k+2>>1],wf=sf+hf|0,_f=uf+wf|0,vf=Q[k+12>>1],mf=Q[k+4>>1],Bf=vf+mf|0,Zf=Q[k+8>>1],pf=Q[k>>1],Wf=Zf+pf|0,Xf=Bf+Wf|0,Gf=_f+Xf|0,k=m(r,10)+e|0,Cf=Q[k+14>>1],Vf=Q[k+6>>1],If=Cf+Vf|0,Qf=Q[k+10>>1],yf=Q[k+2>>1],Ff=Qf+yf|0,Ef=If+Ff|0,Yf=Q[k+12>>1],Jf=Q[k+4>>1],gf=Yf+Jf|0,Nf=Q[k+8>>1],k=Q[k>>1],Rf=Nf+k|0,Df=gf+Rf|0,Uf=Ef+Df|0,Mf=Gf-Uf|0,e=m(r,6)+e|0,r=Q[e+14>>1],xf=Q[e+6>>1],zf=r+xf|0,Hf=Q[e+10>>1],Tf=Q[e+2>>1],af=Hf+Tf|0,Sf=zf+af|0,Of=Q[e+12>>1],jf=Q[e+4>>1],Pf=Of+jf|0,Lf=Q[e+8>>1],e=Q[e>>1],Kf=Lf+e|0,qf=Pf+Kf|0,$f=Sf+qf|0,bf=Q[p+6>>1],df=E+bf|0,cf=Q[p+10>>1],i5=Q[p+2>>1],r5=cf+i5|0,e5=df+r5|0,A5=Q[p+12>>1],f5=Q[p+4>>1],k5=A5+f5|0,n5=Q[p+8>>1],p=Q[p>>1],t5=n5+p|0,o5=k5+t5|0,l5=e5+o5|0,u5=$f-l5|0,s5=Mf-u5|0,X[f+112>>1]=Ti-s5,X[f+96>>1]=Ti+s5,y=y+H|0,H=Mf+u5|0,X[f+80>>1]=y-H,X[f+64>>1]=y+H,t=t+o|0,o=z+h0|0,y=t-o|0,z=Gf+Uf|0,h0=$f+l5|0,H=z-h0|0,X[f+48>>1]=y-H,X[f+32>>1]=y+H,t=t+o|0,o=z+h0|0,X[f+16>>1]=t-o,X[f>>1]=t+o,A=n-A|0,n=Z-w|0,t=A-n|0,w=f0-A0|0,Z=y2-n0|0,o=w-Z|0,y=t-o|0,A0=Xf-_f|0,f0=Df-Ef|0,z=A0-f0|0,n0=qf-Sf|0,y2=o5-e5|0,h0=n0-y2|0,H=z-h0|0,X[f+114>>1]=y-H,X[f+98>>1]=y+H,t=t+o|0,o=z+h0|0,X[f+82>>1]=t-o,X[f+66>>1]=t+o,A=A+n|0,n=w+Z|0,t=A-n|0,w=A0+f0|0,Z=n0+y2|0,o=w-Z|0,X[f+50>>1]=t-o,X[f+34>>1]=t+o,A=A+n|0,n=w+Z|0,X[f+18>>1]=A-n,X[f+2>>1]=A+n,u=h-u|0,h=v-_|0,A=u+h|0,_=C-W|0,v=D-I|0,n=_+v|0,t=A-n|0,W=S0-Y0|0,C=r2-c0|0,w=W+C|0,I=s2-n2|0,D=x4-W2|0,Z=I+D|0,o=w-Z|0,y=t-o|0,Y0=wf-uf|0,S0=Wf-Bf|0,A0=Y0+S0|0,c0=Ff-If|0,r2=Rf-gf|0,f0=c0+r2|0,z=A0-f0|0,n2=af-zf|0,s2=Kf-Pf|0,n0=n2+s2|0,W2=r5-df|0,x4=t5-k5|0,y2=W2+x4|0,h0=n0-y2|0,H=z-h0|0,X[f+116>>1]=y-H,X[f+100>>1]=y+H,t=t+o|0,o=z+h0|0,X[f+84>>1]=t-o,X[f+68>>1]=t+o,A=A+n|0,n=w+Z|0,t=A-n|0,w=A0+f0|0,Z=n0+y2|0,o=w-Z|0,X[f+52>>1]=t-o,X[f+36>>1]=t+o,A=A+n|0,n=w+Z|0,X[f+20>>1]=A-n,X[f+4>>1]=A+n,u=h-u|0,h=v-_|0,A=u-h|0,_=C-W|0,v=D-I|0,n=_-v|0,t=A-n|0,W=S0-Y0|0,C=r2-c0|0,w=W-C|0,I=s2-n2|0,D=x4-W2|0,Z=I-D|0,o=w-Z|0,X[f+118>>1]=t-o,X[f+102>>1]=t+o,A=A+n|0,n=w+Z|0,X[f+86>>1]=A-n,X[f+70>>1]=A+n,u=u+h|0,h=_+v|0,A=u-h|0,_=W+C|0,v=I+D|0,n=_-v|0,X[f+54>>1]=A-n,X[f+38>>1]=A+n,u=u+h|0,h=_+v|0,X[f+22>>1]=u-h,X[f+6>>1]=u+h,J=R-J|0,R=S-a|0,u=J+R|0,a=d-q|0,S=L-j|0,h=a+S|0,A=u+h|0,q=X0-p0|0,d=I0-G0|0,_=q+d|0,j=F0-Q0|0,L=T2-x2|0,v=j+L|0,n=_+v|0,t=A-n|0,p0=q2-O2|0,X0=e1-b2|0,W=p0+X0|0,G0=h1-A1|0,I0=p1-B1|0,C=G0+I0|0,w=W+C|0,Q0=X1-W1|0,F0=r4-N1|0,I=Q0+F0|0,x2=V4-e4|0,T2=Hi-M4|0,D=x2+T2|0,Z=I+D|0,o=w-Z|0,y=t-o|0,O2=lf-ai|0,q2=hf-sf|0,Y0=O2+q2|0,b2=mf-vf|0,e1=pf-Zf|0,S0=b2+e1|0,A0=Y0+S0|0,A1=Vf-Cf|0,h1=yf-Qf|0,c0=A1+h1|0,B1=Jf-Yf|0,k=k-Nf|0,p1=B1+k|0,r2=c0+p1|0,f0=A0-r2|0,r=xf-r|0,z=Tf-Hf|0,W1=r+z|0,X1=jf-Of|0,e=e-Lf|0,n2=X1+e|0,N1=W1+n2|0,E=bf-E|0,r4=i5-cf|0,s2=E+r4|0,n0=f5-A5|0,p=p-n5|0,e4=n0+p|0,V4=s2+e4|0,W2=N1-V4|0,M4=f0-W2|0,X[f+120>>1]=y-M4,X[f+104>>1]=y+M4,t=t+o|0,o=f0+W2|0,X[f+88>>1]=t-o,X[f+72>>1]=t+o,A=A+n|0,n=w+Z|0,t=A-n|0,w=A0+r2|0,Z=N1+V4|0,o=w-Z|0,X[f+56>>1]=t-o,X[f+40>>1]=t+o,A=A+n|0,n=w+Z|0,X[f+24>>1]=A-n,X[f+8>>1]=A+n,u=h-u|0,h=v-_|0,A=u-h|0,_=C-W|0,v=D-I|0,n=_-v|0,t=A-n|0,W=S0-Y0|0,C=p1-c0|0,w=W-C|0,I=n2-W1|0,D=e4-s2|0,Z=I-D|0,o=w-Z|0,X[f+122>>1]=t-o,X[f+106>>1]=t+o,A=A+n|0,n=w+Z|0,X[f+90>>1]=A-n,X[f+74>>1]=A+n,u=u+h|0,h=_+v|0,A=u-h|0,_=W+C|0,v=I+D|0,n=_-v|0,X[f+58>>1]=A-n,X[f+42>>1]=A+n,u=u+h|0,h=_+v|0,X[f+26>>1]=u-h,X[f+10>>1]=u+h,J=R-J|0,R=S-a|0,u=J+R|0,a=d-q|0,S=L-j|0,h=a+S|0,A=u-h|0,q=X0-p0|0,d=I0-G0|0,_=q+d|0,j=F0-Q0|0,L=T2-x2|0,v=j+L|0,n=_-v|0,t=A-n|0,p0=q2-O2|0,X0=e1-b2|0,W=p0+X0|0,G0=h1-A1|0,k=k-B1|0,I0=G0+k|0,C=W-I0|0,r=z-r|0,e=e-X1|0,w=r+e|0,E=r4-E|0,p=p-n0|0,Q0=E+p|0,F0=w-Q0|0,I=C-F0|0,X[f+124>>1]=t-I,X[f+108>>1]=t+I,A=A+n|0,n=C+F0|0,X[f+92>>1]=A-n,X[f+76>>1]=A+n,u=u+h|0,h=_+v|0,A=u-h|0,_=W+I0|0,v=w+Q0|0,n=_-v|0,X[f+60>>1]=A-n,X[f+44>>1]=A+n,u=u+h|0,h=_+v|0,X[f+28>>1]=u-h,X[f+12>>1]=u+h,p=p-E|0,e=e-r|0,r=p+e|0,k=k-G0|0,E=X0-p0|0,u=k+E|0,h=r+u|0,A=L-j|0,q=d-q|0,d=A+q|0,a=S-a|0,J=R-J|0,R=a+J|0,S=d+R|0,X[f+14>>1]=h+S,X[f+30>>1]=S-h,r=u-r|0,R=R-d|0,X[f+46>>1]=r+R,X[f+62>>1]=R-r,e=e-p|0,r=E-k|0,p=e+r|0,k=q-A|0,E=J-a|0,J=k+E|0,X[f+78>>1]=p+J,X[f+94>>1]=J-p,e=r-e|0,r=E-k|0,X[f+110>>1]=e+r,X[f+126>>1]=r-e}function Ks(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;n=B-16|0,B=n;i:{r:{e:{A:{f:{o=D0(r);k:{if(!((o|0)==1917403971|(o|0)==1886547814)){if((o|0)!=1852009592)break f;A=U(24),l[A+22|0]=1,X[A+20>>1]=6,i[A+16>>2]=851969,i[A+4>>2]=1,i[A+8>>2]=0,i[A+12>>2]=72992,i[A>>2]=72832,t=A+12|0,i[e+48>>2]=t,k=i[e+52>>2],i[e+52>>2]=A;n:{if(!k||(e=i[k+4>>2],i[k+4>>2]=e-1,e))break n;V[i[i[k>>2]+8>>2]](k),g(k)}e=B-16|0,B=e,k=i[r>>2],o=V[i[i[k>>2]+8>>2]](k)|0,u=i[r>>2],k=w0,o=o+7|0,k=o>>>0<7?k+1|0:k;n:{if(V[i[i[u>>2]+12>>2]](u,o,k)|0){if(l[e+4|0]=0,l[e+15|0]=0,r0(f,2,100,e+4|0),l[e+15|0]>=0)break n;G(i[e+4>>2]);break n}if(Z=t,p=t2(r),X[Z+4>>1]=p,Z=t,p=t2(r),X[Z+6>>1]=p,Z=t,p=t2(r),X[Z+8>>1]=p,Z=t,p=B2(r)>>>7|0,l[Z+10|0]=p,k=i[19565],i[f>>2]=i[19564],i[f+4>>2]=k,k=f+8|0,l[78275]>=0){t=i[19567],i[k>>2]=i[19566],i[k+4>>2]=t,i[k+8>>2]=i[19568];break n}_0(k,i[19566],i[19567])}if(B=e+16|0,i[f>>2])break e;if(l[f+19|0]<0&&G(i[f+8>>2]),e=i[A+4>>2],i[A+4>>2]=e-1,e)break k;V[i[i[A>>2]+8>>2]](A),g(A);break k}if(k=i[e+12>>2],h=k,A=i[e+8>>2],!(k|A)){if(e=U(56),i[n+4>>2]=e,i[n+8>>2]=52,i[n+12>>2]=-2147483592,r=s[12240]|s[12241]<<8|(s[12242]<<16|s[12243]<<24),A=s[12236]|s[12237]<<8|(s[12238]<<16|s[12239]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+52|0]=0,r=s[12284]|s[12285]<<8|(s[12286]<<16|s[12287]<<24),l[e+48|0]=r,l[e+49|0]=r>>>8,l[e+50|0]=r>>>16,l[e+51|0]=r>>>24,r=s[12280]|s[12281]<<8|(s[12282]<<16|s[12283]<<24),A=s[12276]|s[12277]<<8|(s[12278]<<16|s[12279]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[12272]|s[12273]<<8|(s[12274]<<16|s[12275]<<24),A=s[12268]|s[12269]<<8|(s[12270]<<16|s[12271]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[12264]|s[12265]<<8|(s[12266]<<16|s[12267]<<24),A=s[12260]|s[12261]<<8|(s[12262]<<16|s[12263]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[12256]|s[12257]<<8|(s[12258]<<16|s[12259]<<24),A=s[12252]|s[12253]<<8|(s[12254]<<16|s[12255]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[12248]|s[12249]<<8|(s[12250]<<16|s[12251]<<24),A=s[12244]|s[12245]<<8|(s[12246]<<16|s[12247]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,4,0,n+4|0),l[n+15|0]>=0)break r;G(i[n+4>>2]);break r}if(w=i[e+32>>2],u=A-w|0,k=u-4|0,u=(h-(A>>>0<w>>>0)|0)-(u>>>0<4)|0,A=k,!u&A>>>0>=104857601|u){if(e=U(48),i[n+4>>2]=e,i[n+8>>2]=44,i[n+12>>2]=-2147483600,r=s[9023]|s[9024]<<8|(s[9025]<<16|s[9026]<<24),A=s[9019]|s[9020]<<8|(s[9021]<<16|s[9022]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+44|0]=0,r=s[9059]|s[9060]<<8|(s[9061]<<16|s[9062]<<24),l[e+40|0]=r,l[e+41|0]=r>>>8,l[e+42|0]=r>>>16,l[e+43|0]=r>>>24,r=s[9055]|s[9056]<<8|(s[9057]<<16|s[9058]<<24),A=s[9051]|s[9052]<<8|(s[9053]<<16|s[9054]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[9047]|s[9048]<<8|(s[9049]<<16|s[9050]<<24),A=s[9043]|s[9044]<<8|(s[9045]<<16|s[9046]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[9039]|s[9040]<<8|(s[9041]<<16|s[9042]<<24),A=s[9035]|s[9036]<<8|(s[9037]<<16|s[9038]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[9031]|s[9032]<<8|(s[9033]<<16|s[9034]<<24),A=s[9027]|s[9028]<<8|(s[9029]<<16|s[9030]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,1e3,n+4|0),l[n+15|0]>=0)break r;G(i[n+4>>2]);break r}if(k=i[r>>2],h=V[i[i[k>>2]+8>>2]](k)|0,w=i[r>>2],k=w0,h=A+h|0,k=h>>>0<A>>>0?k+1|0:k,V[i[i[w>>2]+12>>2]](w,h,k)|0){if(l[n+4|0]=0,l[n+15|0]=0,r0(f,2,100,n+4|0),l[n+15|0]>=0)break r;G(i[n+4>>2]);break r}if(A|u)for(k=A>>>0<=1?1:A,h=A,t=U(A),A=B0(t,0,A),v=h+A|0;Z=A+_|0,p=B2(r),l[Z|0]=p,_=_+1|0,(k|0)!=(_|0););if(A=U(32),i[A+28>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,i[A+16>>2]=o,i[A+4>>2]=0,i[A+8>>2]=0,i[A+12>>2]=72952,i[A>>2]=73092,(t|0)!=(v|0)){if(k=v-t|0,(k|0)<0)break i;o=U(k),i[A+20>>2]=o,u=k+o|0,i[A+28>>2]=u,l0(o,t,k),i[A+24>>2]=u}i[e+48>>2]=A+12,k=i[e+52>>2],i[e+52>>2]=A;n:{if(!k||(e=i[k+4>>2],i[k+4>>2]=e-1,e))break n;V[i[i[k>>2]+8>>2]](k),g(k)}if(!t)break k;G(t)}if(s[r+20|0]!=1)break A;if(l[n+4|0]=0,l[n+15|0]=0,r0(f,2,100,n+4|0),l[n+15|0]>=0)break r;G(i[n+4>>2]);break r}if(l[n+4|0]=0,l[n+15|0]=0,r0(f,2,126,n+4|0),l[n+15|0]>=0)break r;G(i[n+4>>2]);break r}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567]);break r}if(f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}B=n+16|0;return}y0(),P()}function qs(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0;e=B-32|0,B=e,w=U0(i[r>>2],0),_=U0(i[r>>2],1),v=U0(i[r>>2],2),q=H2(i[r>>2],6),q&&(W=U0(i[r>>2],6));i:{if(!(!(w>>>0>8|_>>>0>8)&v>>>0<9)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((w|0)==(_|0)&(w|0)==(v|0))){i[f>>2]=0,i[f+4>>2]=0;break i}n=i[r>>2],H=i[n+48>>2],H&&(i[H+4>>2]=i[H+4>>2]+1,n=i[r>>2]),Z=i[n+28>>2],k=i[n+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),n=i[A+4>>2],y=n+1|0,i[A+4>>2]=y,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,C=A- -64|0,i[C>>2]=0,i[C+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,C=A+12|0,i[A+12>>2]=C,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=n,i[A+16>>2]=A,y||(V[i[i[A>>2]+8>>2]](A),g(A)),i[C+36>>2]=3,i[C+32>>2]=0,i[C+28>>2]=Z,i[C+24>>2]=k;r:{e:{if(!J0(C,0,k,Z,w)||!J0(C,1,k,Z,_)||!J0(C,2,k,Z,v)||q&&!J0(C,6,k,Z,W))break e;if(i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,d=v0(i[r>>2],0,e+28|0),w=v0(i[r>>2],1,e+24|0),_=v0(i[r>>2],2,e+20|0),A0=v0(C,0,e+12|0),v=v0(C,1,e+8|0),W=v0(C,2,e+4|0),q&&(j=v0(i[r>>2],6,e+16|0),L=v0(C,6,e)),l[v|0]=s[w|0],l[W|0]=s[_|0],f0=k-1|0,I=(f0|0)/2|0,(k|0)>=3)for(y=(I|0)<=1?1:I,r=0;t=r<<1,o=t|1,n=r>>>1|0,u=n+1|0,J=u+w|0,p=n+w|0,l[o+v|0]=(s[J|0]+m(s[p|0],3)|0)+2>>>2,t=t+2|0,l[t+v|0]=(s[p|0]+m(s[J|0],3)|0)+2>>>2,h=o+W|0,o=_+u|0,n=n+_|0,l[h|0]=(s[o|0]+m(s[n|0],3)|0)+2>>>2,l[t+W|0]=(s[n|0]+m(s[o|0],3)|0)+2>>>2,r=r+1|0,(y|0)!=(r|0););if(J=k&1,J||(r=(k>>1)-1|0,l[v+f0|0]=s[r+w|0],l[W+f0|0]=s[r+_|0]),y=Z-1|0,r=(y|0)/2|0,(Z|0)>=3)for(u=(r|0)<=1?1:r,n=0;p=n<<1,R=p|1,D=i[e+24>>2],t=n>>>1|0,o=t+1|0,l[v+m(R,i[e+8>>2])|0]=(s[w+m(D,o)|0]+m(s[w+m(t,D)|0],3)|0)+2>>>2,p=p+2|0,D=i[e+24>>2],l[v+m(p,i[e+8>>2])|0]=(s[w+m(D,t)|0]+m(s[w+m(o,D)|0],3)|0)+2>>>2,h=W+m(R,i[e+4>>2])|0,R=i[e+20>>2],l[h|0]=(s[_+m(R,o)|0]+m(s[_+m(t,R)|0],3)|0)+2>>>2,h=t,t=i[e+20>>2],l[W+m(p,i[e+4>>2])|0]=(s[_+m(h,t)|0]+m(s[_+m(t,o)|0],3)|0)+2>>>2,n=n+1|0,(u|0)!=(n|0););if(D=Z&1,D||(n=(Z>>1)-1|0,l[v+m(y,i[e+8>>2])|0]=s[w+m(n,i[e+24>>2])|0],l[W+m(y,i[e+4>>2])|0]=s[_+m(n,i[e+20>>2])|0]),!((Z|0)<3|J))for(p=(k+W|0)-1|0,R=(k+v|0)-1|0,a=(r|0)<=1?1:r,n=k>>1,r=(n+_|0)-1|0,t=(n+w|0)-1|0,n=0;z=n<<1,h=z|1,E=i[e+24>>2],o=n>>>1|0,u=o+1|0,l[R+m(h,i[e+8>>2])|0]=(s[t+m(E,u)|0]+m(s[t+m(o,E)|0],3)|0)+2>>>2,z=z+2|0,E=i[e+24>>2],l[R+m(z,i[e+8>>2])|0]=(s[t+m(E,o)|0]+m(s[t+m(u,E)|0],3)|0)+2>>>2,E=p+m(h,i[e+4>>2])|0,h=i[e+20>>2],l[E|0]=(s[r+m(h,u)|0]+m(s[r+m(o,h)|0],3)|0)+2>>>2,h=o,o=i[e+20>>2],l[p+m(z,i[e+4>>2])|0]=(s[r+m(h,o)|0]+m(s[r+m(o,u)|0],3)|0)+2>>>2,n=n+1|0,(a|0)!=(n|0););A:{if(D)break A;if((k|0)>=3)for(o=(I|0)<=1?1:I,r=(Z>>1)-1|0,n=0;I=n<<1,t=n>>>1|0,u=t+(w+m(r,i[e+24>>2])|0)|0,l[(I+(v+m(y,i[e+8>>2])|0)|0)+1|0]=(s[u+1|0]+m(s[u|0],3)|0)+2>>>2,u=t+(w+m(r,i[e+24>>2])|0)|0,l[(I+(v+m(y,i[e+8>>2])|0)|0)+2|0]=(s[u|0]+m(s[u+1|0],3)|0)+2>>>2,u=t+(_+m(r,i[e+20>>2])|0)|0,l[(I+(W+m(y,i[e+4>>2])|0)|0)+1|0]=(s[u+1|0]+m(s[u|0],3)|0)+2>>>2,h=I+(W+m(y,i[e+4>>2])|0)|0,I=t+(_+m(r,i[e+20>>2])|0)|0,l[h+2|0]=(s[I|0]+m(s[I+1|0],3)|0)+2>>>2,n=n+1|0,(o|0)!=(n|0););if(J)break A;n=k>>1,r=(Z>>1)-1|0,l[((v+m(y,i[e+8>>2])|0)+k|0)-1|0]=s[(n+(w+m(r,i[e+24>>2])|0)|0)-1|0],l[((W+m(y,i[e+4>>2])|0)+k|0)-1|0]=s[(n+(_+m(r,i[e+20>>2])|0)|0)-1|0]}A:{f:{if((Z|0)>=3){if((k|0)<3)break f;for(n=1;;){for(I=n+1|0,R=n>>>1|0,D=R+1|0,r=1;t=r>>>1|0,J=i[e+20>>2],u=t+(_+m(J,D)|0)|0,o=s[u+1|0],u=s[u|0],p=t+(_+m(J,R)|0)|0,J=s[p+1|0],p=s[p|0],h=i[e+24>>2],E=t+(w+m(h,R)|0)|0,a=s[E+1|0],z=m(a,3)+8|0,S=t+(w+m(h,D)|0)|0,t=s[S|0],n0=m(t,3),h=s[E|0],E=s[S+1|0],l[(v+m(i[e+8>>2],n)|0)+r|0]=(n0+(z+m(h,9)|0)|0)+E>>>4,S=m(E,3),h0=m(h,3)+8|0,l[((v+m(i[e+8>>2],n)|0)+r|0)+1|0]=S+(t+(h0+m(a,9)|0)|0)>>>4,l[(v+m(I,i[e+8>>2])|0)+r|0]=((a+h0|0)+m(t,9)|0)+S>>>4,l[((v+m(I,i[e+8>>2])|0)+r|0)+1|0]=((h+z|0)+n0|0)+m(E,9)>>>4,a=m(u,3),t=m(J,3)+8|0,l[(W+m(i[e+4>>2],n)|0)+r|0]=o+(a+(t+m(p,9)|0)|0)>>>4,h=m(o,3),z=m(p,3)+8|0,l[((W+m(i[e+4>>2],n)|0)+r|0)+1|0]=h+(u+(z+m(J,9)|0)|0)>>>4,l[(W+m(I,i[e+4>>2])|0)+r|0]=h+((J+z|0)+m(u,9)|0)>>>4,l[((W+m(I,i[e+4>>2])|0)+r|0)+1|0]=(a+(t+p|0)|0)+m(o,9)>>>4,r=r+2|0,(f0|0)>(r|0););if(n=n+2|0,!((y|0)>(n|0)))break}}if((Z|0)<=0)break A}if(q){for(r=0;l0(m(i[e+12>>2],r)+A0|0,m(i[e+28>>2],r)+d|0,k),l0(m(i[e>>2],r)+L|0,m(i[e+16>>2],r)+j|0,k),r=r+1|0,(Z|0)!=(r|0););break A}w=Z&1;f:{if(!y){r=0;break f}for(Z=Z&-2,r=0,n=0;l0(m(i[e+12>>2],r)+A0|0,m(i[e+28>>2],r)+d|0,k),_=r|1,l0(m(_,i[e+12>>2])+A0|0,m(_,i[e+28>>2])+d|0,k),r=r+2|0,n=n+2|0,(Z|0)!=(n|0););}if(!w)break A;l0(m(i[e+12>>2],r)+A0|0,m(i[e+28>>2],r)+d|0,k)}i[f+4>>2]=A,i[f>>2]=C;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!H||(f=i[H+4>>2],i[H+4>>2]=f-1,f))break i;V[i[i[H>>2]+8>>2]](H),g(H)}B=e+32|0}function Vk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0;h=B+-64|0,B=h,i[h+60>>2]=e,H=h+39|0,I=h+40|0;i:{r:{e:{A:{f:for(;;){o=0;k:for(;;){if(w=e,(p^2147483647)<(o|0))break A;p=o+p|0;n:{t:{o:{u:{if(o=e,u=s[o|0],u)for(;;){l:{e=u&255;s:{if(!e){e=o;break s}if((e|0)!=37)break l;for(u=o;;){if(s[u+1|0]!=37){e=u;break s}if(o=o+1|0,v=s[u+2|0],e=u+2|0,u=e,(v|0)!=37)break}}if(o=o-w|0,z=p^2147483647,(o|0)>(z|0))break A;if(f&&H1(f,w,o),o)continue k;i[h+60>>2]=e,o=e+1|0,C=-1,v=l[e+1|0]-48|0,s[e+2|0]!=36|v>>>0>9||(R=1,C=v,o=e+3|0),i[h+60>>2]=o,Z=0,u=l[o|0],e=u-32|0;s:{if(e>>>0>31){v=o;break s}if(v=o,e=1<<e,!(e&75913))break s;for(;;){if(v=o+1|0,i[h+60>>2]=v,Z=e|Z,u=l[o+1|0],e=u-32|0,e>>>0>=32)break s;if(o=v,e=1<<e,!(e&75913))break}}s:{if((u|0)==42){e=l[v+1|0]-48|0;h:{if(!(s[v+2|0]!=36|e>>>0>9)){w:{if(!f){i[(e<<2)+k>>2]=10,e=0;break w}e=i[(e<<3)+A>>2]}W=e,e=v+3|0,u=1;break h}if(R)break u;if(e=v+1|0,!f){i[h+60>>2]=e,R=0,W=0;break s}o=i[r>>2],i[r>>2]=o+4,W=i[o>>2],u=0}if(R=u,i[h+60>>2]=e,(W|0)>=0)break s;W=0-W|0,Z=Z|8192;break s}if(W=E9(h+60|0),(W|0)<0)break A;e=i[h+60>>2]}o=0,_=-1,y=0;s:{if(s[e|0]!=46)break s;if(s[e+1|0]==42){v=l[e+2|0]-48|0;h:{if(!(s[e+3|0]!=36|v>>>0>9)){e=e+4|0;w:{if(!f){i[(v<<2)+k>>2]=10,_=0;break w}_=i[(v<<3)+A>>2]}break h}if(R)break u;if(e=e+2|0,_=0,!f)break h;v=i[r>>2],i[r>>2]=v+4,_=i[v>>2]}i[h+60>>2]=e,y=(_|0)>=0;break s}i[h+60>>2]=e+1,_=E9(h+60|0),e=i[h+60>>2],y=1}for(;;){if(E=o,v=28,D=e,u=l[e|0],u-123>>>0<4294967238)break e;if(e=e+1|0,o=s[(u+m(o,58)|0)+52063|0],!(o-1>>>0<8))break}i[h+60>>2]=e;s:{if((o|0)!=27){if(!o)break e;if((C|0)>=0){if(!f){i[(C<<2)+k>>2]=o;continue f}o=(C<<3)+A|0,v=i[o+4>>2],i[h+48>>2]=i[o>>2],i[h+52>>2]=v;break s}if(!f)break n;qn(h+48|0,o,r,t);break s}if((C|0)>=0)break e;if(o=0,!f)continue k}if(s[f|0]&32)break r;u=Z&-65537,Z=Z&8192?u:Z,C=0,J=2463,v=I;s:{h:{w:{_:{v:{Z:{m:{B:{p:{W:{G:{C:{y:{Y:{V:{F:{I:switch(o=l[D|0],o=E&&(o&15)==3?o&-45:o,o-88|0){case 9:case 13:case 14:case 15:break s;case 27:break m;case 11:break B;case 12:case 17:break G;case 23:break C;case 0:case 32:break y;case 24:break Y;case 22:break V;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break t;default:break I}I:switch(o-65|0){case 0:case 4:case 5:case 6:break s;case 2:break Z;case 1:case 3:break t;default:break I}if((o|0)==83)break v;break t}w=i[h+48>>2],u=i[h+52>>2],J=2463;break W}o=0;V:switch(E&255){case 0:i[i[h+48>>2]>>2]=p;continue k;case 1:i[i[h+48>>2]>>2]=p;continue k;case 2:w=i[h+48>>2],i[w>>2]=p,i[w+4>>2]=p>>31;continue k;case 3:X[i[h+48>>2]>>1]=p;continue k;case 4:l[i[h+48>>2]]=p;continue k;case 6:i[i[h+48>>2]>>2]=p;continue k;case 7:break V;default:continue k}w=i[h+48>>2],i[w>>2]=p,i[w+4>>2]=p>>31;continue k}_=_>>>0<=8?8:_,Z=Z|8,o=120}if(e=I,D=o&32,w=i[h+48>>2],u=i[h+52>>2],w|u)for(;e=e-1|0,l[e|0]=D|s[(w&15)+52592|0],E=!u&w>>>0>15|(u|0)!=0,w=(u&15)<<28|w>>>4,u=u>>>4|0,!!E;);if(w=e,!(i[h+48>>2]|i[h+52>>2])|!(Z&8))break p;J=(o>>>4|0)+2463|0,C=2;break p}if(e=I,o=i[h+52>>2],u=o,w=i[h+48>>2],o|w)for(;e=e-1|0,l[e|0]=w&7|48,E=!u&w>>>0>7|(u|0)!=0,w=(u&7)<<29|w>>>3,u=u>>>3|0,!!E;);if(w=e,!(Z&8))break p;e=I-e|0,_=(e|0)<(_|0)?_:e+1|0;break p}if(w=i[h+48>>2],e=i[h+52>>2],u=e,(e|0)<0){u=0-(e+((w|0)!=0)|0)|0,w=0-w|0,i[h+48>>2]=w,i[h+52>>2]=u,C=1,J=2463;break W}if(Z&2048){C=1,J=2464;break W}C=Z&1,J=C?2465:2463}w=Yi(w,u,I)}if((_|0)<0&y)break A;if(Z=y?Z&-65537:Z,e=i[h+48>>2],o=i[h+52>>2],!(_|(e|o)!=0)){w=I,_=0;break t}e=!(e|o)+(I-w|0)|0,_=(e|0)<(_|0)?_:e;break t}w=i[h+48>>2];break o}if(e=i[h+48>>2],w=e||18295,e=_>>>0>=2147483647?2147483647:_,o=PA(w,0,e),e=o?o-w|0:e,v=e+w|0,(_|0)>=0){Z=u,_=e;break t}if(Z=u,_=e,s[v|0])break A;break t}if(o=i[h+48>>2],o|i[h+52>>2])break _;w=0;break o}if(_){u=i[h+48>>2];break w}o=0,$1(f,32,W,0,Z);break h}i[h+12>>2]=0,i[h+8>>2]=o,u=h+8|0,i[h+48>>2]=u,_=-1}for(o=0;;){w:{if(w=i[u>>2],!w)break w;if(w=ye(h+4|0,w),(w|0)<0)break r;if(w>>>0>_-o>>>0)break w;if(u=u+4|0,o=o+w|0,_>>>0>o>>>0)continue}break}if(v=61,(o|0)<0)break e;if($1(f,32,W,o,Z),!o){o=0;break h}for(v=0,u=i[h+48>>2];;){if(w=i[u>>2],!w||(_=h+4|0,w=ye(_,w),v=w+v|0,v>>>0>o>>>0))break h;if(H1(f,_,w),u=u+4|0,!(o>>>0>v>>>0))break}}$1(f,32,W,o,Z^8192),o=(o|0)<(W|0)?W:o;continue k}if((_|0)<0&y)break A;if(v=61,o=V[n|0](f,i0[h+48>>3],W,_,Z,o)|0,(o|0)>=0)continue k;break e}u=s[o+1|0],o=o+1|0}if(f)break i;if(!R)break n;for(o=1;;){if(f=i[(o<<2)+k>>2],f){if(qn((o<<3)+A|0,f,r,t),p=1,o=o+1|0,(o|0)!=10)continue;break i}break}if(o>>>0>=10){p=1;break i}for(;;){if(i[(o<<2)+k>>2])break u;if(p=1,o=o+1|0,(o|0)==10)break}break i}v=28;break e}l[h+39|0]=w,_=1,w=H,Z=u}if(u=v-w|0,_=(u|0)<(_|0)?_:u,(_|0)>(C^2147483647))break A;if(v=61,e=_+C|0,o=(e|0)<(W|0)?W:e,(z|0)<(o|0))break e;$1(f,32,o,e,Z),H1(f,J,C),$1(f,48,o,e,Z^65536),$1(f,48,_,u,0),H1(f,w,u),$1(f,32,o,e,Z^8192),e=i[h+60>>2];continue}break}break}p=0;break i}v=61}i[23944]=v}p=-1}return B=h- -64|0,p}function P0(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;k=B-160|0,B=k,A=i[e>>2];i:{if(r){r:{if(!A){i[r+12>>2]=34640,A=0,r=34640;break r}i[k+24>>2]=54496,i[k+80>>2]=54516,A=i[13633],i[k+16>>2]=A,n=i[A-12>>2],A=k+16|0,i[n+A>>2]=i[13634],i[k+20>>2]=0,n=A+i[i[k+16>>2]-12>>2]|0,t=k+28|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,n=i[13635],i[k+24>>2]=n,o=i[n-12>>2],n=k+24|0,i[o+n>>2]=i[13636],o=i[13632],i[k+16>>2]=o,i[A+i[o-12>>2]>>2]=i[13637],i[k+80>>2]=54516,i[k+16>>2]=54476,i[k+24>>2]=54496,o=$0(t),i[o>>2]=53552,i[k+68>>2]=0,i[k+72>>2]=0,i[k+60>>2]=0,i[k+64>>2]=0,i[k+76>>2]=24,A=i[e>>2],A>>>0>11?A=5233:A=i[(A<<2)+72500>>2],u=x(x(n,A,G2(A)),21688,2);e:{A:{f:{k:{n:{t:{o:{u:{l:{s:{h:{w:{_:{v:{Z:{m:{B:{p:{W:{G:{C:{y:{Y:{V:{F:{I:{D:{U:{M:{J:{x:{E:{Q:{g:{N:{X:{H:{T:{a:{S:{R:{O:{j:{P:{L:{K:{q:{$:{b:{d:{c:{i0:{r0:{e0:{A0:{f0:{k0:{n0:{t0:{o0:{l0:{u0:{s0:{h0:{w0:{_0:{v0:{m0:{B0:{Z0:{p0:{W0:{X0:{G0:{C0:{if(t=i[e+4>>2],(t|0)<=1999){A=13017;z:switch(t|0){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 91:case 92:case 93:case 94:case 95:case 96:case 97:case 98:case 99:case 143:case 144:case 145:case 146:case 147:case 148:case 149:break f;case 142:break E;case 150:break Q;case 140:break g;case 139:break N;case 138:break X;case 137:break H;case 136:break T;case 135:break a;case 134:break S;case 133:break R;case 132:break O;case 130:break j;case 129:break P;case 128:break L;case 127:break K;case 126:break q;case 124:break $;case 123:break b;case 122:break d;case 121:break c;case 120:break i0;case 117:break r0;case 116:break e0;case 115:break A0;case 114:break f0;case 125:break k0;case 113:break n0;case 112:break t0;case 111:break o0;case 110:break l0;case 109:break u0;case 0:break e;case 108:break s0;case 107:break h0;case 131:break w0;case 141:break _0;case 106:break v0;case 105:break m0;case 104:break B0;case 103:break Z0;case 102:break p0;case 119:break W0;case 118:break X0;case 101:break G0;case 100:break C0;default:break z}switch(t-1e3|0){case 1:break J;case 0:break x;default:break f}}if((t|0)<=3999){z:switch(t-2e3|0){case 8:break C;case 7:break y;case 6:break Y;case 5:break V;case 4:break F;case 3:break I;case 2:break D;case 1:break U;case 0:break M;default:break z}switch(t-3e3|0){case 6:break v;case 5:break Z;case 4:break m;case 3:break B;case 2:break p;case 1:break W;case 0:break G;default:break f}}z:switch(t-5e3|0){case 4:break l;case 3:break s;case 2:break h;case 1:break w;case 0:break _;default:break z}switch(t-6e3|0){case 3:break n;case 2:break t;case 1:break o;case 0:break u;default:break k}}A=10115;break e}A=8920;break e}A=14550;break e}A=4543;break e}A=2201;break e}A=2159;break e}A=2313;break e}A=2173;break e}A=2355;break e}A=2341;break e}A=2369;break e}A=2243;break e}A=2229;break e}A=2327;break e}A=2299;break e}A=2257;break e}A=2215;break e}A=2271;break e}A=2285;break e}A=5618;break e}A=1221;break e}A=7298;break e}A=14482;break e}A=6344;break e}A=14412;break e}A=14682;break e}A=12967;break e}A=7271;break e}A=9719;break e}A=3512;break e}A=5895;break e}A=9e3;break e}A=2042;break e}A=8329;break e}A=4362;break e}A=4719;break e}A=3687;break e}A=14499;break e}A=1267;break e}A=12824;break e}A=12790;break e}A=7458;break e}A=6298;break e}A=2187;break e}A=13067;break e}A=5351;break e}A=13533;break e}A=11846;break e}A=13355;break e}A=12002;break e}A=11952;break e}A=5566;break e}A=9195;break e}A=1284;break e}A=10265;break e}A=13872;break e}A=9746;break e}A=6618;break e}A=6424;break e}A=11696;break e}A=11733;break e}A=11771;break e}A=14433;break e}A=7381;break e}A=7404;break e}A=7365;break e}A=17693;break e}A=13233;break e}A=13188;break e}A=3932;break e}A=3455;break e}if((t|0)==4e3)break A}A=i[18124];break e}A=8307}x(u,A,G2(A)),A=l[e+19|0],((A|0)<0?i[e+12>>2]:A)&&(t=x(n,21688,2),A=l[e+19|0],n=(A|0)<0,x(t,n?i[e+8>>2]:e+8|0,n?i[e+12>>2]:A)),A=k+4|0,i2(A,o);e:{if((r|0)==(A|0))break e;if(A=l[k+15|0],l[r+11|0]>=0){if((A|0)>=0){A=i[k+8>>2],i[r>>2]=i[k+4>>2],i[r+4>>2]=A,i[r+8>>2]=i[k+12>>2];break e}i4(r,i[k+4>>2],i[k+8>>2]);break e}n=(A|0)<0,_4(r,n?i[k+4>>2]:k+4|0,n?i[k+8>>2]:A)}i[r+12>>2]=l[r+11|0]<0?i[r>>2]:r,l[k+15|0]<0&&G(i[k+4>>2]),A=i[13631],i[k+16>>2]=A,i[i[A-12>>2]+(k+16|0)>>2]=i[13639],i[k+24>>2]=i[13640],i[o>>2]=53552,l[k+71|0]<0&&G(i[k+60>>2]),K0(o),T0(k+80|0),A=i[e>>2],r=i[r+12>>2]}i[f>>2]=A,i[f+4>>2]=i[e+4>>2];break i}i[f>>2]=A,i[f+4>>2]=i[e+4>>2],r=i[18124]}i[f+8>>2]=r,B=k+160|0}function $s(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=Y(0),o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=Y(0),y=Y(0),E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=Y(0),A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=Y(0),r2=Y(0),n2=Y(0),s2=Y(0);e=B-80|0,B=e,A=i[r>>2],p=i[A+36>>2],n=0,o=U0(A,0),A=U0(i[r>>2],1),k=U0(i[r>>2],2),H=H2(i[r>>2],6),H&&(n=U0(i[r>>2],6));i:{if(!(!((o|0)==8|(A|0)==8)&(k|0)!=8)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((A|0)==(o|0)&(k|0)==(o|0))){i[f>>2]=0,i[f+4>>2]=0;break i}k=i[r>>2],h=i[k+44>>2],W=i[k+48>>2],W&&(i[W+4>>2]=i[W+4>>2]+1,k=i[r>>2]),v=i[k+28>>2],_=i[k+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),k=i[A+4>>2],C=k+1|0,i[A+4>>2]=C,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,w=A- -64|0,i[w>>2]=0,i[w+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,w=A+12|0,i[A+12>>2]=w,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=k,i[A+16>>2]=A,C||(V[i[i[A>>2]+8>>2]](A),g(A)),i[w+36>>2]=3,i[w+32>>2]=1,i[w+28>>2]=v,i[w+24>>2]=_;r:{e:{A:{f:{if(!J0(w,3,_,v,o)||!J0(w,4,_,v,o)||!J0(w,5,_,v,o)||H&&!J0(w,6,_,v,n))break f;if(i[e+76>>2]=0,i[e+72>>2]=0,i[e+68>>2]=0,i[e+64>>2]=0,i[e+60>>2]=0,i[e+56>>2]=0,i[e+52>>2]=0,i[e+48>>2]=0,L=v0(i[r>>2],0,e+76|0),p0=v0(i[r>>2],1,e+72|0),n0=2,X0=v0(i[r>>2],2,e+68|0),G0=v0(w,3,e+60|0),I0=v0(w,4,e+56|0),Q0=v0(w,5,e+52|0),H&&(a=v0(i[r>>2],6,e- -64|0),S=v0(w,6,e+48|0)),r=p<<3,k=p>>>0<4,n=(k?16908801>>>r|0:0)&3,r=(k?16843265>>>r|0:0)&3,i[e+76>>2]=i[e+76>>2]/2,i[e+72>>2]=i[e+72>>2]/2,i[e+68>>2]=i[e+68>>2]/2,i[e+64>>2]=i[e+64>>2]/2,i[e+60>>2]=i[e+60>>2]/2,i[e+56>>2]=i[e+56>>2]/2,i[e+52>>2]=i[e+52>>2]/2,i[e+48>>2]=i[e+48>>2]/2,i[e+36>>2]=-1086926434,i[e+40>>2]=1071829221,i[e+28>>2]=1068725436,i[e+32>>2]=-1095748968,l[e+24|0]=1,h0=1,h&&(h0=s[h+10|0],n0=Q[h+8>>1],V6(e+4|0,n0,Q[h+4>>1]),i[e+40>>2]=i[e+20>>2],k=i[e+16>>2],i[e+32>>2]=i[e+12>>2],i[e+36>>2]=k,k=i[e+8>>2],i[e+24>>2]=i[e+4>>2],i[e+28>>2]=k),(v|0)<=0)break e;if(q=_<<1,(_|0)<=0)break A;for(p=n-1|0,h=-1<<o^-1,F0=r-1|0,d=Y(16<<o-8),A0=1<<o-1&65535,Y0=_&2147483646,S0=_&1,o=0;;){C=(m(i[e+52>>2],o)<<1)+Q0|0,E=(m(i[e+56>>2],o)<<1)+I0|0,J=(m(i[e+60>>2],o)<<1)+G0|0,R=(m(i[e+76>>2],o)<<1)+L|0,r=o>>>F0|0,D=(m(r,i[e+68>>2])<<1)+X0|0,z=(m(r,i[e+72>>2])<<1)+p0|0,c0=Z0[e+40>>2],r2=Z0[e+36>>2],n2=Z0[e+32>>2],s2=Z0[e+28>>2],k=0;k:{n:{t:switch(n0|0){default:for(;;){Z=k>>>p<<1,t=Y(Q[Z+D>>1]-A0|0),u=h0&1,I=u?t:Y(t*Y(1.142899990081787)),n=k<<1,t=Y(Q[n+R>>1]),t=u?t:Y(Y(t-d)*Y(1.1689000129699707)),y=Y(Y(Y(s2*I)+t)+Y(.5));o:{if(Y(d0(y))<Y(2147483648)){r=~~y;break o}r=-2147483648}Z=Q[Z+z>>1],X[n+J>>1]=(r|0)>=0?(r|0)<(h|0)?r:h:0,f0=n+E|0,y=Y(r2*I),I=Y(Z-A0|0),I=u?I:Y(I*Y(1.142899990081787)),y=Y(Y(y+Y(Y(n2*I)+t))+Y(.5));o:{if(Y(d0(y))<Y(2147483648)){r=~~y;break o}r=-2147483648}X[f0>>1]=(r|0)>=0?(r|0)<(h|0)?r:h:0,n=n+C|0,t=Y(Y(Y(c0*I)+t)+Y(.5));o:{if(Y(d0(t))<Y(2147483648)){r=~~t;break o}r=-2147483648}if(X[n>>1]=(r|0)>=0?(r|0)<(h|0)?r:h:0,k=k+1|0,(_|0)==(k|0))break}break k;case 0:if(h0&1){if(n=0,(_|0)==1)break n;for(;r=k<<1,u=k>>>p<<1,X[r+J>>1]=Q[u+D>>1],X[r+E>>1]=Q[r+R>>1],X[r+C>>1]=Q[u+z>>1],u=k|1,r=u<<1,u=u>>>p<<1,X[r+J>>1]=Q[u+D>>1],X[r+E>>1]=Q[r+R>>1],X[r+C>>1]=Q[u+z>>1],k=k+2|0,n=n+2|0,(Y0|0)!=(n|0););break n}for(;;){n=k<<1,u=n+J|0,Z=k>>>p<<1,t=Y(Y(Y(Y(Q[Z+D>>1])-d)*Y(1.142899990081787))+Y(.5));o:{if(Y(d0(t))<Y(2147483648)){r=~~t;break o}r=-2147483648}X[u>>1]=(r|0)>=0?(r|0)<(h|0)?r:h:0,u=n+E|0,t=Y(Y(Y(Y(Q[n+R>>1])-d)*Y(1.1689000129699707))+Y(.5));o:{if(Y(d0(t))<Y(2147483648)){r=~~t;break o}r=-2147483648}X[u>>1]=(r|0)>=0?(r|0)<(h|0)?r:h:0,n=n+C|0,t=Y(Y(Y(Y(Q[Z+z>>1])-d)*Y(1.142899990081787))+Y(.5));o:{if(Y(d0(t))<Y(2147483648)){r=~~t;break o}r=-2147483648}if(X[n>>1]=(r|0)>=0?(r|0)<(h|0)?r:h:0,k=k+1|0,(_|0)==(k|0))break}break k;case 8:break t}for(;n=k>>>p<<1,u=Q[n+D>>1]-A0|0,r=k<<1,Z=Q[r+R>>1],f0=Q[n+z>>1]-A0|0,j=Z-f0|0,n=u+j|0,X[r+J>>1]=(n|0)>=0?n>>>0>=255?255:n:0,n=Z+f0|0,X[r+E>>1]=(n|0)>=0?n>>>0>=255?255:n:0,n=r+C|0,r=j-u|0,X[n>>1]=(r|0)>=0?r>>>0>=255?255:r:0,k=k+1|0,(_|0)!=(k|0););break k}if(!S0)break k;r=k<<1,k=k>>>p<<1,X[r+J>>1]=Q[k+D>>1],X[r+E>>1]=Q[r+R>>1],X[r+C>>1]=Q[k+z>>1]}if(H&&l0((m(i[e+48>>2],o)<<1)+S|0,(m(i[e+64>>2],o)<<1)+a|0,q),o=o+1|0,(v|0)==(o|0))break}break e}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A);break r}if(!H)break e;if(r=0,(v|0)!=1)for(n=v&2147483646,k=0;l0((m(i[e+48>>2],r)<<1)+S|0,(m(i[e+64>>2],r)<<1)+a|0,q),_=r|1,l0((m(_,i[e+48>>2])<<1)+S|0,(m(_,i[e+64>>2])<<1)+a|0,q),r=r+2|0,k=k+2|0,(n|0)!=(k|0););if(!(v&1))break e;l0((m(i[e+48>>2],r)<<1)+S|0,(m(i[e+64>>2],r)<<1)+a|0,q)}i[f+4>>2]=A,i[f>>2]=w}if(!W||(f=i[W+4>>2],i[W+4>>2]=f-1,f))break i;V[i[i[W>>2]+8>>2]](W),g(W)}B=e+80|0}function bs(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=Y(0),o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=Y(0),J=0,R=Y(0),D=0,z=0,H=0,a=0,S=0,q=0,d=0;e=B-80|0,B=e,A=i[r>>2],C=i[A+36>>2],k=U0(A,0),A=U0(i[r>>2],1),n=U0(i[r>>2],2),v=H2(i[r>>2],6),v&&(W=U0(i[r>>2],6));i:{if(!(!((k|0)!=8|(A|0)!=8)&(n|0)==8)){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],I=i[A+44>>2],y=i[A+48>>2],y&&(i[y+4>>2]=i[y+4>>2]+1,A=i[r>>2]),_=i[A+28>>2],u=i[A+24>>2],n=U(136),i[n>>2]=72792,i[n+4>>2]=0,i[n+8>>2]=0,B0(n+20|0,0,104),A=i[n+4>>2],Z=A+1|0,i[n+4>>2]=Z,i[n+56>>2]=0,i[n+60>>2]=0,i[n+44>>2]=99,i[n+48>>2]=99,i[n+32>>2]=3795,h=n- -64|0,i[h>>2]=0,i[h+4>>2]=0,i[n+132>>2]=0,i[n+124>>2]=0,i[n+128>>2]=0,i[n+84>>2]=1,i[n+88>>2]=1,i[n+72>>2]=n+76,i[n+92>>2]=0,i[n+96>>2]=0,i[n+100>>2]=0,i[n+104>>2]=0,i[n+108>>2]=0,i[n+112>>2]=0,l[n+113|0]=0,l[n+114|0]=0,l[n+115|0]=0,l[n+116|0]=0,l[n+117|0]=0,l[n+118|0]=0,l[n+119|0]=0,l[n+120|0]=0,h=n+12|0,i[n+12>>2]=h,i[n+8>>2]=i[n+8>>2]+1,i[n+4>>2]=A,i[n+16>>2]=n,Z||(V[i[i[n>>2]+8>>2]](n),g(n)),i[h+36>>2]=3,i[h+32>>2]=1,i[h+28>>2]=_,i[h+24>>2]=u;r:{e:{if(!J0(h,3,u,_,k)||!J0(h,4,u,_,k)||!J0(h,5,u,_,k)||v&&!J0(h,6,u,_,W))break e;W=0,i[e+76>>2]=0,i[e+72>>2]=0,i[e+68>>2]=0,i[e+64>>2]=0,i[e+60>>2]=0,i[e+56>>2]=0,i[e+52>>2]=0,i[e+48>>2]=0,D=v0(i[r>>2],0,e+76|0),w=1,z=v0(i[r>>2],1,e+72|0),A=2,H=v0(i[r>>2],2,e+68|0),a=v0(h,3,e+60|0),S=v0(h,4,e+56|0),q=v0(h,5,e+52|0),Z=0,v&&(Z=v0(i[r>>2],6,e- -64|0),W=v0(h,6,e+48|0)),r=C<<3,k=C>>>0<4,C=(k?16908801>>>r|0:0)&3,r=(k?16843265>>>r|0:0)&3,i[e+36>>2]=-1086926434,i[e+40>>2]=1071829221,i[e+28>>2]=1068725436,i[e+32>>2]=-1095748968,l[e+24|0]=1,I&&(w=s[I+10|0],A=Q[I+8>>1],V6(e+4|0,A,Q[I+4>>1]),i[e+40>>2]=i[e+20>>2],k=i[e+16>>2],i[e+32>>2]=i[e+12>>2],i[e+36>>2]=k,k=i[e+8>>2],i[e+24>>2]=i[e+4>>2],i[e+28>>2]=k);A:{if((_|0)<=0)break A;if((u|0)>0){I=C-1|0,C=r-1|0,k=0;f:switch(A|0){case 0:if(r=0,w&1)for(;;){for(A=r>>>C|0,k=0;w=k>>>I|0,l[(m(i[e+60>>2],r)+a|0)+k|0]=s[w+(m(A,i[e+68>>2])+H|0)|0],l[(m(i[e+56>>2],r)+S|0)+k|0]=s[(D+m(i[e+76>>2],r)|0)+k|0],l[(m(i[e+52>>2],r)+q|0)+k|0]=s[w+(m(A,i[e+72>>2])+z|0)|0],k=k+1|0,(u|0)!=(k|0););if(v&&l0(m(i[e+48>>2],r)+W|0,m(i[e+64>>2],r)+Z|0,u),r=r+1|0,(_|0)==(r|0))break A}for(;;){for(w=r>>>C|0,k=0;;){o=(m(i[e+60>>2],r)+a|0)+k|0,p=k>>>I|0,t=Y(Y(Y(Y(s[p+(m(w,i[e+68>>2])+H|0)|0])+Y(-16))*Y(1.142899990081787))+Y(.5));k:{if(Y(d0(t))<Y(2147483648)){A=~~t;break k}A=-2147483648}l[o|0]=(A|0)>=0?A>>>0>=255?255:A:0,o=(m(i[e+56>>2],r)+S|0)+k|0,t=Y(Y(Y(Y(s[(D+m(i[e+76>>2],r)|0)+k|0])+Y(-16))*Y(1.1689000129699707))+Y(.5));k:{if(Y(d0(t))<Y(2147483648)){A=~~t;break k}A=-2147483648}l[o|0]=(A|0)>=0?A>>>0>=255?255:A:0,o=(m(i[e+52>>2],r)+q|0)+k|0,t=Y(Y(Y(Y(s[p+(m(w,i[e+72>>2])+z|0)|0])+Y(-16))*Y(1.142899990081787))+Y(.5));k:{if(Y(d0(t))<Y(2147483648)){A=~~t;break k}A=-2147483648}if(l[o|0]=(A|0)>=0?A>>>0>=255?255:A:0,k=k+1|0,(u|0)==(k|0))break}if(v&&l0(m(i[e+48>>2],r)+W|0,m(i[e+64>>2],r)+Z|0,u),r=r+1|0,(_|0)==(r|0))break}break A;case 8:for(;;){for(A=k>>>C|0,r=0;o=r>>>I|0,w=s[o+(m(A,i[e+68>>2])+H|0)|0]-128|0,p=s[(D+m(i[e+76>>2],k)|0)+r|0],J=s[o+(m(A,i[e+72>>2])+z|0)|0]-128|0,d=p-J|0,o=w+d|0,l[(m(i[e+60>>2],k)+a|0)+r|0]=(o|0)>=0?o>>>0>=255?255:o:0,o=p+J|0,l[(m(i[e+56>>2],k)+S|0)+r|0]=(o|0)>=0?o>>>0>=255?255:o:0,w=d-w|0,l[(m(i[e+52>>2],k)+q|0)+r|0]=(w|0)>=0?w>>>0>=255?255:w:0,r=r+1|0,(u|0)!=(r|0););if(v&&l0(m(i[e+48>>2],k)+W|0,m(i[e+64>>2],k)+Z|0,u),k=k+1|0,(_|0)==(k|0))break}break A;default:break f}for(;;){for(o=k>>>C|0,r=0;;){J=r>>>I|0,t=Y(s[J+(m(o,i[e+68>>2])+H|0)|0]-128|0),p=w&1,E=p?t:Y(t*Y(1.142899990081787)),t=Y(s[(D+m(i[e+76>>2],k)|0)+r|0]),t=p?t:Y(Y(t+Y(-16))*Y(1.1689000129699707)),R=Y(Y(Y(Z0[e+28>>2]*E)+t)+Y(.5));f:{if(Y(d0(R))<Y(2147483648)){A=~~R;break f}A=-2147483648}J=s[J+(m(o,i[e+72>>2])+z|0)|0],l[(m(i[e+60>>2],k)+a|0)+r|0]=(A|0)>=0?A>>>0>=255?255:A:0,d=(m(i[e+56>>2],k)+S|0)+r|0,R=Y(Z0[e+36>>2]*E),E=Y(J-128|0),E=p?E:Y(E*Y(1.142899990081787)),R=Y(Y(R+Y(Y(Z0[e+32>>2]*E)+t))+Y(.5));f:{if(Y(d0(R))<Y(2147483648)){A=~~R;break f}A=-2147483648}l[d|0]=(A|0)>=0?A>>>0>=255?255:A:0,p=(m(i[e+52>>2],k)+q|0)+r|0,t=Y(Y(Y(Z0[e+40>>2]*E)+t)+Y(.5));f:{if(Y(d0(t))<Y(2147483648)){A=~~t;break f}A=-2147483648}if(l[p|0]=(A|0)>=0?A>>>0>=255?255:A:0,r=r+1|0,(u|0)==(r|0))break}if(v&&l0(m(i[e+48>>2],k)+W|0,m(i[e+64>>2],k)+Z|0,u),k=k+1|0,(_|0)==(k|0))break}break A}if(!v)break A;if(r=0,(_|0)!=1)for(A=_&2147483646,k=0;l0(m(i[e+48>>2],r)+W|0,m(i[e+64>>2],r)+Z|0,u),v=r|1,l0(m(v,i[e+48>>2])+W|0,m(v,i[e+64>>2])+Z|0,u),r=r+2|0,k=k+2|0,(A|0)!=(k|0););if(!(_&1))break A;l0(m(i[e+48>>2],r)+W|0,m(i[e+64>>2],r)+Z|0,u)}i[f+4>>2]=n,i[f>>2]=h;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[n+4>>2],i[n+4>>2]=f-1,f)break r;V[i[i[n>>2]+8>>2]](n),g(n)}if(!y||(f=i[y+4>>2],i[y+4>>2]=f-1,f))break i;V[i[i[y>>2]+8>>2]](y),g(y)}B=e+80|0}function Ik(f){f=f|0;var e=0,r=0,A=0,k=0,n=0;if(i[f>>2]=43536,e=i[f+3212>>2],r=i[f+3208>>2],(e|0)!=(r|0))for(;A=i[e-4>>2],A&&(G(Hn(A)),r=i[f+3208>>2],e=i[f+3212>>2]),e=e-4|0,i[f+3212>>2]=e,(e|0)!=(r|0););if(r&&(i[f+3212>>2]=r,G(r)),r=0,e=f+2140|0,A=i[e+12>>2],k=i[e+8>>2],(A|0)!=(k|0))for(;n=i[(r<<2)+k>>2],n&&(G(zA(n)),k=i[e+8>>2],A=i[e+12>>2]),r=r+1|0,r>>>0<A-k>>2>>>0;);LA(e+32|0),r=i[e+20>>2],r&&(i[e+24>>2]=r,G(r)),r=i[e+8>>2],r&&(i[e+12>>2]=r,G(r)),LA(f+1396|0),e=i[f+1388>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+1380>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+1372>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}for(A=f+4|0,e=1368;;){e=e-8|0,r=i[A+e>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if((e|0)==856)break}e=i[f+852>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+844>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+836>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+828>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+820>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+812>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+804>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+796>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+788>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+780>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+772>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+764>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+756>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+748>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+740>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+732>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+724>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+716>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+708>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+700>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+692>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+684>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+676>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+668>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+660>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+652>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+644>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+636>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+628>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+620>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+612>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+604>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(e=f+548|0,r=i[e+32>>2],r)for(;n=i[e+16>>2],A=i[e+28>>2],k=i[i[n+(A>>>8&16777212)>>2]+((A&1023)<<2)>>2],i[e+32>>2]=r-1,r=A+1|0,i[e+28>>2]=r,r>>>0>=2048&&(G(i[n>>2]),i[e+16>>2]=i[e+16>>2]+4,i[e+28>>2]=i[e+28>>2]-1024),i[e+36>>2]=i[e+36>>2]-i[k+24>>2],w4(e,k),r=i[e+32>>2],!!r;);if(r=i[e+8>>2],r&&w4(e,r),r=i[e+40>>2],n=i[e+44>>2],(r|0)!=(n|0))for(A=0;k=i[(A<<2)+r>>2],k&&(G(i[k+20>>2]),r=i[k+32>>2],r&&(i[k+36>>2]=r,G(r)),G(k),n=i[e+44>>2],r=i[e+40>>2]),A=A+1|0,A>>>0<n-r>>2>>>0;);return r&&(i[e+44>>2]=r,G(r)),LA(e+12|0),f|0}function n6(f,e,r,A,k,n,t,o,u,h,w,_,v,Z,p){var W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;i:{r:{if(y=i[f+18588>>2],W=i[y+168>>2],I=e>>W,(I|0)<0)break r;R=f+18548|0,J=r>>W;e:{A:{f:{k:{n:{t:{for(;;){if(W=i[y+172>>2],(W|0)<=(I|0))break r;if((J|0)<0|i[y+176>>2]<=(J|0))break i;if(I=(i[y+160>>2]+m(I,3)|0)+m(m(W,J),3)|0,C=s[I|0]|s[I+1|0]<<8,J=C>>>8&3,(J|0)!=(v|0))break n;I=!u;o:{u:{E=i[y+124>>2],W=i[E+16940>>2];l:{if(!((W|0)<(o|0)|(u|0)>=(w|0)|(I&(_|0)!=0|i[E+16936>>2]>=(o|0)))){if(o-3>>>0>=3)break k;C=f2(R,(i[f+18572>>2]-o|0)+25|0);break l}if(I&(_|0)==1|(o|0)>(W|0))break u;C=!(i[E+628>>2]|u)&(J|0)==1&(C&56)!=0}if(C)break u;C=1;break o}if(W=i[y+248>>2],I=e>>W,(I|0)<0||(C=i[y+252>>2],(C|0)<=(I|0)))break f;if(W=r>>W,(W|0)<0|(W|0)>=i[y+256>>2])break A;I=(I+i[y+240>>2]|0)+m(W,C)|0,l[I|0]=s[I|0]|1<<u,C=0}W=i[E+16848>>2];o:{u:{if(!((W|0)!=0&(o|0)>2)&&(I=-1,(W|0)!=3))break u;I=-1,W=-1;l:{if(!(Z&255)||(W=f2(R,(i[f+18572>>2]+u|0)+16|0),(C^1)&(o|0)!=3|i[E+16848>>2]!=2))break l;W=f2(R,(i[f+18572>>2]+u|0)+16|0)<<1|W}l:{if(!(p&255)||(I=f2(R,(i[f+18572>>2]+u|0)+16|0),(C^1)&(o|0)!=3|i[E+16848>>2]!=2))break l;I=f2(R,(i[f+18572>>2]+u|0)+16|0)<<1|I}if((W|0)>=0)break o}if(W=(o|0)==2,W&!u)break e;W=W&&(u|0)>0?Z&255:0}if((I|0)<0&&(I=(o|0)==2&&(u|0)>0?p&255:0),C)break t;if(o=o-1|0,u=u+1|0,A=W&255,k=I&255,n6(f,e,r,e,r,n,t,o,u,0,w,_,v,A,k),h=1<<o,E=h+e|0,n6(f,E,r,e,r,n,t,o,u,1,w,_,v,A,k),C=r+h|0,n6(f,e,C,e,r,n,t,o,u,2,w,_,v,A,k),y=i[f+18588>>2],D=i[y+168>>2],J=C>>D,h=3,p=I,Z=W,k=r,A=e,r=C,e=E,I=e>>D,!((I|0)>=0))break}break r}t:{if(J&&(w=1,!(u|W|I)))break t;w=f2(R,i[f+18572>>2]+(u?14:15)|0)}t:{o:{u:{if((W|0)!=-1){if((I|0)==-1)break u;if((w|0)==-1)break o;if(_=i[f+18588>>2],Z=i[_+124>>2],p=i[Z+16848>>2],l[f+33|0]=0,l[f+34|0]=0,l[f+35|0]=0,l[f+36|0]=0,v=i[_+168>>2],u=e>>v,(u|0)<0||(C=i[_+172>>2],(C|0)<=(u|0)))break r;if(v=r>>v,(v|0)<0|(v|0)>=i[_+176>>2])break i;E=o-((p|0)!=3)|0,y=(E|0)>2,R=s[((i[_+160>>2]+m(u,3)|0)+m(m(v,C),3)|0)+1|0],J=I|W;l:{if(!(J|w))break l;if(u=0,!(i[f+18500>>2]|!s[i[_+132>>2]+26|0])){C=f+18548|0;s:{if(!f2(C,i[f+18572>>2]+139|0)){v=0,_=0;break s}h:{if(!f2(C,i[f+18572>>2]+140|0)){u=1;break h}if(!f2(C,i[f+18572>>2]+140|0)){u=2;break h}if(!f2(C,i[f+18572>>2]+140|0)){u=3;break h}if(!f2(C,i[f+18572>>2]+140|0)){u=4;break h}if(v=0,u=DA(C,0)+5|0,_=0,!u)break s}v=u,_=x1(C)}i[f+18500>>2]=1,i[f+18504>>2]=m(v,1-(_<<1)|0),u=1}s:{h:{w:{if(!(!J|!s[i[f+18592>>2]+760|0]|(s[f+32|0]|i[f+18508>>2]))){u=f+18548|0,_=f2(u,i[f+18572>>2]+23|0),v=i[i[f+18588>>2]+132>>2];_:{if(!(!_|s[v+8250|0]<2)){u=f2(u,i[f+18572>>2]+24|0),i[f+18508>>2]=1;break _}if(i[f+18508>>2]=1,u=0,!_)break w}u=u+v|0,i[f+18512>>2]=l[u+8251|0],u=l[u+8257|0];break h}if(u)break s;break l}i[f+18512>>2]=0,u=0}i[f+18516>>2]=u}zk(f,n,t)}n=i[Z+16856>>2],u=i[Z+16852>>2],i[f+28>>2]=0,w&&_8(f,e,r,o,0),C=y?E:2,_=1<<C,v=1<<o,t=R&3,h8(f,e,r,v,0,t,(w|0)!=0);l:{if(!((p|0)!=3&(o|0)<=2)){A=0,k=0;s:{if(!w||(o=i[f+18588>>2],k=0,!(l[i[o+132>>2]+8247|0]&1)))break s;if((t|0)!=1){if(A=i[o+228>>2],h=e>>A,(h|0)<0||(v=i[o+232>>2],(v|0)<=(h|0)))break r;if(w=r>>A,(w|0)<0|(w|0)>=i[o+236>>2])break i;if(A=0,k=0,l[(h+i[o+220>>2]|0)+m(w,v)|0]>=0)break s}if(o=f+18548|0,k=1,!f2(o,i[f+18572>>2]+162|0))break s;A=0;h:{if(!f2(o,i[f+18572>>2]+163|0)||(A=1,!f2(o,i[f+18572>>2]+164|0)))break h;A=f2(o,i[f+18572>>2]+165|0)?3:2}A=1-(f2(o,i[f+18572>>2]+170|0)<<1)<<A,k=1}i[f+28>>2]=A,A=W&1,A&&_8(f,e,r,C,1),i[Z+16848>>2]&&h8(f,(e|0)/(u|0)|0,(r|0)/(n|0)|0,_,1,t,A),(p|0)==2&&(A=W&2,A&&_8(f,e,(n<<C)+r|0,C,1),h8(f,(e|0)/(u|0)|0,_+((r|0)/(n|0)|0)|0,_,1,t,(A|0)!=0)),A=0;s:{if(!k||(k=f+18548|0,!f2(k,i[f+18572>>2]+166|0)))break s;A=0;h:{if(!f2(k,i[f+18572>>2]+167|0)||(A=1,!f2(k,i[f+18572>>2]+168|0)))break h;A=f2(k,i[f+18572>>2]+169|0)?3:2}A=1-(f2(k,i[f+18572>>2]+171|0)<<1)<<A}if(i[f+28>>2]=A,A=I&1,A&&_8(f,e,r,C,2),i[Z+16848>>2]&&h8(f,(e|0)/(u|0)|0,(r|0)/(n|0)|0,_,2,t,A),(p|0)!=2)break l;A=I&2,A&&_8(f,e,(n<<C)+r|0,C,2),h8(f,(e|0)/(u|0)|0,_+((r|0)/(n|0)|0)|0,_,2,t,(A|0)!=0);break t}if((h|0)!=3||(e=W&1,e&&_8(f,A,k,o,1),i[Z+16848>>2]&&h8(f,(A|0)/(u|0)|0,(k|0)/(n|0)|0,v,1,t,e),e=W&2,e&&_8(f,A,k+v|0,o,1),(p|0)==2&&h8(f,(A|0)/(u|0)|0,v+((k|0)/(n|0)|0)|0,v,1,t,(e|0)!=0),e=I&1,e&&_8(f,A,k,o,2),i[Z+16848>>2]&&h8(f,(A|0)/(u|0)|0,(k|0)/(n|0)|0,v,2,t,e),e=I&2,e&&_8(f,A,k+_|0,o,2),(p|0)!=2))break l;h8(f,(A|0)/(u|0)|0,v+((k|0)/(n|0)|0)|0,v,2,t,(e|0)!=0)}break t}C0(17085,14036,3575,3168),P()}C0(17072,14036,3576,3168),P()}C0(17098,14036,3577,3168),P()}return}C0(11353,14036,3857,11248),P()}C0(16842,14036,1834,8715),P()}C0(3758,8453,128,3372),P()}C0(3720,8453,129,3372),P()}C0(18434,14036,3924,11248),P()}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function ds(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;if(A=B-176|0,B=A,i[A+64>>2]=54820,k=i[13708],i[A+8>>2]=k,h=i[k-12>>2],k=A+8|0,i[h+k>>2]=i[13709],n=k+i[i[A+8>>2]-12>>2]|0,o=A+12|0,b0(n,o),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+64>>2]=54820,i[A+8>>2]=54800,p=$0(o),i[p>>2]=53552,i[A+52>>2]=0,i[A+56>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+60>>2]=16,n=A+164|0,R2(n,e,r),W=k,h=n,k=l[A+175|0],n=(k|0)<0,x(W,n?i[A+164>>2]:h,n?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),v=i[e+56>>2],C=i[e+60>>2],(v|0)!=(C|0))for(;;){if(e=A+164|0,W0(e,r),h=e,e=l[A+175|0],k=(e|0)<0,x(A+8|0,k?i[A+164>>2]:h,k?i[A+168>>2]:e),l[A+175|0]<0&&G(i[A+164>>2]),x(L0(x(A+8|0,21550,26),i[v>>2]),31338,1),e=i[r>>2]+1|0,i[r>>2]=e,Z=i[v+4>>2],I=i[v+8>>2],(Z|0)!=(I|0)){i:{r:{for(;;){e:{W0(A+144|0,r),k=l[A+155|0],h=i[A+144>>2],w=i[A+148>>2],e=A+8|0,_=V1(A+156|0,e);A:{if(s[_|0]!=1)break A;t=e+i[i[A+8>>2]-12>>2]|0,W=i[t+4>>2],n=i[t+24>>2],o=i[t+76>>2],(o|0)==-1&&(u=A+164|0,e=i[t+28>>2],i[u>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(u,100192),o=V[i[i[e>>2]+28>>2]](e,32)|0,O0(u),i[t+76>>2]=o);f:{if(!n||(u=i[t+12>>2],e=h,h=(k|0)<0,e=h?e:A+144|0,k=h?w:k,y=e+k|0,h=(W&176)==32?y:e,w=h-e|0,(w|0)>0&&(V[i[i[n>>2]+48>>2]](n,e,w)|0)!=(w|0)))break f;if(k=(k|0)<(u|0)?u-k|0:0,(k|0)>0){if(k>>>0>=2147483640)break e;k:{if(k>>>0>=11){u=(k|7)+1|0,e=U(u),i[A+172>>2]=u|-2147483648,i[A+164>>2]=e,i[A+168>>2]=k;break k}l[A+175|0]=k,e=A+164|0}if(E=B0(e,o,k)+k|0,J=0,l[E|0]=J,e=V[i[i[n>>2]+48>>2]](n,l[A+175|0]<0?i[A+164>>2]:A+164|0,k)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(k|0))break f}if(e=y-h|0,(e|0)>0&&(V[i[i[n>>2]+48>>2]](n,h,e)|0)!=(e|0))break f;i[t+12>>2]=0;break A}e=i[i[A+8>>2]-12>>2]+(A+8|0)|0,z1(e,i[e+16>>2]|5)}Z1(_),l[A+155|0]<0&&G(i[A+144>>2]),e=A+8|0,h=V1(A+144|0,e);A:{if(s[h|0]!=1)break A;t=e+i[i[A+8>>2]-12>>2]|0,o=i[t+4>>2],n=i[t+24>>2],e=i[t+76>>2],(e|0)==-1&&(k=A+164|0,e=i[t+28>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100192),e=V[i[i[e>>2]+28>>2]](e,32)|0,O0(k),i[t+76>>2]=e);f:{if(!n||(k=i[t+12>>2],u=(o&176)==32?19529:19513,o=u-19513|0,(o|0)>0&&(V[i[i[n>>2]+48>>2]](n,19513,o)|0)!=(o|0)))break f;if(k=(k|0)>16?k-16|0:0,(k|0)>0){k:{if(k>>>0>=11){w=(k|7)+1|0,o=U(w),i[A+172>>2]=w|-2147483648,i[A+164>>2]=o,i[A+168>>2]=k;break k}l[A+175|0]=k,o=A+164|0}if(E=B0(o,e,k)+k|0,J=0,l[E|0]=J,e=V[i[i[n>>2]+48>>2]](n,l[A+175|0]<0?i[A+164>>2]:A+164|0,k)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(k|0))break f}if(e=19529-u|0,(e|0)>0&&(V[i[i[n>>2]+48>>2]](n,u,e)|0)!=(e|0))break f;i[t+12>>2]=0;break A}e=i[i[A+8>>2]-12>>2]+(A+8|0)|0,z1(e,i[e+16>>2]|5)}Z1(h),n=L0(A+8|0,Q[Z+2>>1]),w=V1(A+144|0,n);A:{if(s[w|0]!=1)break A;u=n+i[i[n>>2]-12>>2]|0,t=i[u+4>>2],o=i[u+24>>2],e=i[u+76>>2],(e|0)==-1&&(k=A+164|0,e=i[u+28>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100192),e=V[i[i[e>>2]+28>>2]](e,32)|0,O0(k),i[u+76>>2]=e);f:{if(!o||(k=i[u+12>>2],h=(t&176)==32?20481:20468,t=h-20468|0,(t|0)>0&&(V[i[i[o>>2]+48>>2]](o,20468,t)|0)!=(t|0)))break f;if(k=(k|0)>13?k-13|0:0,(k|0)>0){k:{if(k>>>0>=11){_=(k|7)+1|0,t=U(_),i[A+172>>2]=_|-2147483648,i[A+164>>2]=t,i[A+168>>2]=k;break k}l[A+175|0]=k,t=A+164|0}if(E=B0(t,e,k)+k|0,J=0,l[E|0]=J,e=V[i[i[o>>2]+48>>2]](o,l[A+175|0]<0?i[A+164>>2]:A+164|0,k)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(k|0))break f}if(e=20481-h|0,(e|0)>0&&(V[i[i[o>>2]+48>>2]](o,h,e)|0)!=(e|0))break f;i[u+12>>2]=0;break A}e=n+i[i[n>>2]-12>>2]|0,z1(e,i[e+16>>2]|5)}Z1(w),e=n+i[i[n>>2]-12>>2]|0,i[e+4>>2]=i[e+4>>2]|1,u=re(n,s[Z|0]),w=V1(A+144|0,u);A:{if(s[w|0]!=1)break A;o=u+i[i[u>>2]-12>>2]|0,t=i[o+4>>2],n=i[o+24>>2],e=i[o+76>>2],(e|0)==-1&&(k=A+164|0,e=i[o+28>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100192),e=V[i[i[e>>2]+28>>2]](e,32)|0,O0(k),i[o+76>>2]=e);f:{if(!n||(k=i[o+12>>2],h=(t&176)==32?31339:31337,t=h-31337|0,(t|0)>0&&(V[i[i[n>>2]+48>>2]](n,31337,t)|0)!=(t|0)))break f;if(k=(k|0)>2?k-2|0:0,(k|0)>0){if(k>>>0>=2147483640)break r;k:{if(k>>>0>=11){_=(k|7)+1|0,t=U(_),i[A+172>>2]=_|-2147483648,i[A+164>>2]=t,i[A+168>>2]=k;break k}l[A+175|0]=k,t=A+164|0}if(E=B0(t,e,k)+k|0,J=0,l[E|0]=J,e=V[i[i[n>>2]+48>>2]](n,l[A+175|0]<0?i[A+164>>2]:A+164|0,k)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(k|0))break f}if(e=31339-h|0,(e|0)>0&&(V[i[i[n>>2]+48>>2]](n,h,e)|0)!=(e|0))break f;i[o+12>>2]=0;break A}e=u+i[i[u>>2]-12>>2]|0,z1(e,i[e+16>>2]|5)}if(Z1(w),Z=Z+4|0,(I|0)!=(Z|0))continue;break i}break}c2(),P()}c2(),P()}e=i[r>>2]}if(i[r>>2]=(e|0)>0?e-1|0:0,v=v+16|0,(C|0)==(v|0))break}i2(f,p),f=i[13707],i[A+8>>2]=f,i[i[f-12>>2]+(A+8|0)>>2]=i[13710],i[p>>2]=53552,l[A+55|0]<0&&G(i[A+44>>2]),K0(p),T0(A- -64|0),B=A+176|0}function cs(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;u=B-112|0,B=u,i[u+104>>2]=0,i[u+108>>2]=0,l[u+73|0]=0,l[u+74|0]=0,l[u+75|0]=0,l[u+76|0]=0,X[u+70>>1]=0,X[u+72>>1]=0,X[u+68>>1]=263,l[u+100|0]=1,l[u+96|0]=0,i[u+88>>2]=2,i[u+92>>2]=2,l[u+84|0]=1,i[u+80>>2]=1;i:{if(!n)break i;r:switch(s[n|0]-1|0){case 6:l[u+100|0]=s[n+32|0];case 5:h=i[n+20>>2],i[u+84>>2]=i[n+16>>2],i[u+88>>2]=h,h=i[n+28>>2],i[u+92>>2]=i[n+24>>2],i[u+96>>2]=h;case 4:i[u+80>>2]=i[n+12>>2];case 3:i[u+72>>2]=i[n+4>>2],l[u+76|0]=s[n+8|0];case 2:l[u+71|0]=s[n+3|0];case 1:l[u+70|0]=s[n+2|0];break;case 0:break r;default:break i}l[u+69|0]=s[n+1|0]}_=u+48|0,p=i[e>>2],W=u+68|0,v=u+104|0,w=B+-64|0,B=w,h=w+40|0,i[h>>2]=0,i[h+4>>2]=0,i[h+16>>2]=0,i[h+8>>2]=0,i[h+12>>2]=0,Z=i[r>>2],r=i[Z+28>>2],n=i[Z+24>>2];i:{if(!((n|0)>(t|0)|(r|0)>(t|0))){r=i[v+4>>2],i[v>>2]=0,i[v+4>>2]=0;r:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[19565],i[_>>2]=i[19564],i[_+4>>2]=r,r=_+8|0,l[78275]>=0){k=i[19567],i[r>>2]=i[19566],i[r+4>>2]=k,i[r+8>>2]=i[19568];break i}_0(r,i[19566],i[19567]);break i}r:{if((r|0)<(n|0)){r=(m(r,t)|0)/(n|0)|0,n=t;break r}n=(m(n,t)|0)/(r|0)|0,r=t}if(i[w+32>>2]=0,i[w+36>>2]=0,vA(w+8|0,Z,w+32|0,n&-2,r&-2),n=i[w+12>>2],r=i[w+8>>2],i[h>>2]=r,i[h+4>>2]=n,l[h+19|0]<0&&(G(i[h+8>>2]),r=i[h>>2]),n=i[w+20>>2],i[h+8>>2]=i[w+16>>2],i[h+12>>2]=n,i[h+16>>2]=i[w+24>>2],r||(BA(w+8|0,p,w+32|0,k,W,4,v),r=i[w+12>>2],i[h>>2]=i[w+8>>2],i[h+4>>2]=r,l[h+19|0]<0&&G(i[h+8>>2]),r=i[w+20>>2],i[h+8>>2]=i[w+16>>2],i[h+12>>2]=r,i[h+16>>2]=i[w+24>>2]),r=i[h+4>>2],i[_>>2]=i[h>>2],i[_+4>>2]=r,i[_+16>>2]=i[h+16>>2],r=i[h+12>>2],i[_+8>>2]=i[h+8>>2],i[_+12>>2]=r,i[h+8>>2]=0,i[h+12>>2]=0,i[h+16>>2]=0,r=i[w+36>>2],!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}l[h+19|0]<0&&G(i[h+8>>2]),B=w- -64|0;i:{if(i[u+48>>2]!=i[19564]){P0(f,_,i[e>>2]);break i}if(!i[u+104>>2]){if(r=U(64),i[u+12>>2]=r,i[u+16>>2]=57,i[u+20>>2]=-2147483584,l[r+56|0]=s[17985],A=s[17981]|s[17982]<<8|(s[17983]<<16|s[17984]<<24),k=s[17977]|s[17978]<<8|(s[17979]<<16|s[17980]<<24),l[r+48|0]=k,l[r+49|0]=k>>>8,l[r+50|0]=k>>>16,l[r+51|0]=k>>>24,l[r+52|0]=A,l[r+53|0]=A>>>8,l[r+54|0]=A>>>16,l[r+55|0]=A>>>24,A=s[17973]|s[17974]<<8|(s[17975]<<16|s[17976]<<24),k=s[17969]|s[17970]<<8|(s[17971]<<16|s[17972]<<24),l[r+40|0]=k,l[r+41|0]=k>>>8,l[r+42|0]=k>>>16,l[r+43|0]=k>>>24,l[r+44|0]=A,l[r+45|0]=A>>>8,l[r+46|0]=A>>>16,l[r+47|0]=A>>>24,A=s[17965]|s[17966]<<8|(s[17967]<<16|s[17968]<<24),k=s[17961]|s[17962]<<8|(s[17963]<<16|s[17964]<<24),l[r+32|0]=k,l[r+33|0]=k>>>8,l[r+34|0]=k>>>16,l[r+35|0]=k>>>24,l[r+36|0]=A,l[r+37|0]=A>>>8,l[r+38|0]=A>>>16,l[r+39|0]=A>>>24,A=s[17957]|s[17958]<<8|(s[17959]<<16|s[17960]<<24),k=s[17953]|s[17954]<<8|(s[17955]<<16|s[17956]<<24),l[r+24|0]=k,l[r+25|0]=k>>>8,l[r+26|0]=k>>>16,l[r+27|0]=k>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[17949]|s[17950]<<8|(s[17951]<<16|s[17952]<<24),k=s[17945]|s[17946]<<8|(s[17947]<<16|s[17948]<<24),l[r+16|0]=k,l[r+17|0]=k>>>8,l[r+18|0]=k>>>16,l[r+19|0]=k>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[17941]|s[17942]<<8|(s[17943]<<16|s[17944]<<24),k=s[17937]|s[17938]<<8|(s[17939]<<16|s[17940]<<24),l[r+8|0]=k,l[r+9|0]=k>>>8,l[r+10|0]=k>>>16,l[r+11|0]=k>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,A=s[17933]|s[17934]<<8|(s[17935]<<16|s[17936]<<24),k=s[17929]|s[17930]<<8|(s[17931]<<16|s[17932]<<24),l[r|0]=k,l[r+1|0]=k>>>8,l[r+2|0]=k>>>16,l[r+3|0]=k>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+57|0]=0,r=r0(u+24|0,5,2006,u+12|0),l[u+23|0]<0&&G(i[u+12>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}if(b7(u+24|0,i[e>>2],A,u+104|0),A=i[u+28>>2],r=i[u+24>>2],i[u+48>>2]=r,i[u+52>>2]=A,l[u+67|0]<0&&(G(i[u+56>>2]),r=i[u+48>>2]),A=i[u+36>>2],i[u+56>>2]=i[u+32>>2],i[u+60>>2]=A,i[u+64>>2]=i[u+40>>2],(r|0)!=i[19564]){P0(f,u+48|0,i[e>>2]);break i}r:{if(!o)break r;if(n=i[u+104>>2],n){k=U(16),r=k,i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[o>>2]=r,A=i[u+108>>2];e:{if(!A){i[r+4>>2]=A,i[r>>2]=n;break e}if(i[A+4>>2]=i[A+4>>2]+1,i[k>>2]=n,r=i[k+4>>2],i[k+4>>2]=A,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=i[e>>2],r=i[o>>2],A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+8>>2]=k,e=i[r+12>>2],i[r+12>>2]=A,!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break r;V[i[i[e>>2]+8>>2]](e),g(e);break r}i[o>>2]=0}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[u+67|0]<0&&G(i[u+56>>2]),f=i[u+108>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=u+112|0}function Qk(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;h=B-48|0,B=h;i:{r:{if(!r){if(l[h+12|0]=0,l[h+23|0]=0,r=f,f=r0(h+24|0,5,2001,h+12|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[h+23|0]>=0)break r;G(i[h+12>>2]);break r}if(i[r>>2]!=1){if(l[h+12|0]=0,l[h+23|0]=0,r=r0(h+24|0,5,2004,h+12|0),l[h+23|0]<0&&G(i[h+12>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break r;G(i[r+8>>2]);break r}if(i[h+32>>2]=0,i[h+36>>2]=0,i[h+24>>2]=0,i[h+28>>2]=0,w=h+24|0,v=B-32|0,B=v,Z=i[e>>2],n=i[Z+16>>2],o=Z+20|0,(n|0)!=(o|0))for(;;){if(k=i[n+20>>2],t=i[k+196>>2],u=i[k+200>>2],(t|0)!=(u|0))for(;_=i[Z+48>>2],p=i[t>>2],W=i[n+16>>2],k=U(4),i[v>>2]=k,C=k+4|0,i[v+8>>2]=C,i[k>>2]=W,i[v+4>>2]=C,P1(_,p,1667527523,v),k=i[v>>2],k&&(i[v+4>>2]=k,G(k)),t=t+4|0,(u|0)!=(t|0););k=i[n+4>>2];e:{if(k){for(;;)if(t=k,k=i[k>>2],!k)break e}for(;t=i[n+8>>2],k=i[t>>2]!=(n|0),n=t,!!k;);}if(n=t,(o|0)==(n|0))break}if(t=i[Z+72>>2],W=i[Z+76>>2],(t|0)!=(W|0))for(;;){i[v+28>>2]=0,i[v+20>>2]=0,i[v+24>>2]=0,u=i[t>>2],p=v+20|0,o=0,n=B-32|0,B=n,i[n+24>>2]=0,i[n+28>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,A2(n+16|0,0);e:{A:{if(!(k0[u+4>>2]>65535|k0[u+8>>2]>=65536)){o=1;break A}if(_=2,k=i[u+12>>2],C=i[u+16>>2],(k|0)==(C|0))break e;for(;;){if(o=i[k>>2],o=V[i[i[o>>2]+16>>2]](o)|0,o)break A;if(k=k+8|0,(C|0)==(k|0))break}break e}_=4}k=n+16|0,A2(k,o),k1(k,_,i[u+4>>2],0),k1(k,_,i[u+8>>2],0);e:{A:{k=i[u+16>>2]-i[u+12>>2]>>3;f:{if(k>>>0>=256){if(l[n+4|0]=0,l[n+15|0]=0,r0(v,9,5004,n+4|0),l[n+15|0]>=0)break f;G(i[n+4>>2]);break f}if(A2(n+16|0,k&255),k=i[u+12>>2],o=i[u+16>>2],(k|0)!=(o|0))for(;u=i[k>>2],V[i[i[u>>2]+20>>2]](u,n+16|0,_),k=k+8|0,(o|0)!=(k|0););if(o=0,i[n+12>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,k=0,u=i[n+20>>2],_=i[n+16>>2],(u|0)!=(_|0)){if(u=u-_|0,(u|0)<0)break A;k=U(u),i[n+4>>2]=k,o=k+u|0,i[n+12>>2]=o,l0(k,_,u),i[n+8>>2]=o}if((p|0)!=(n+4|0)&&(W8(p,k,o,o-k|0),k=i[n+4>>2]),k&&(i[n+8>>2]=k,G(k)),k=i[19565],i[v>>2]=i[19564],i[v+4>>2]=k,k=v+8|0,l[78275]>=0){o=i[19567],i[k>>2]=i[19566],i[k+4>>2]=o,i[k+8>>2]=i[19568];break f}_0(k,i[19566],i[19567])}k=i[n+16>>2],k&&(i[n+20>>2]=k,G(k)),B=n+32|0;break e}y0(),P()}if(hi(i[Z+48>>2],i[i[t>>2]>>2],p,0),l[v+19|0]<0&&G(i[v+8>>2]),n=i[v+20>>2],n&&(i[v+24>>2]=n,G(n)),t=t+8|0,(W|0)==(t|0))break}if(u=B-48|0,B=u,k=i[Z+48>>2],t=i[k+8>>2],n=i[k+12>>2],(t|0)!=(n|0))for(;rt(i[t>>2]),o=i[t>>2],V[i[i[o>>2]+16>>2]](u+28|0,o,w),l[u+47|0]<0&&G(i[u+36>>2]),t=t+8|0,(n|0)!=(t|0););if(n=0,k=i[k+60>>2],o=i[k+56>>2],Z=i[k+60>>2],(o|0)==(Z|0))t=8;else{for(;;){e:{if(s[o+4|0]||(t=i[o+16>>2],_=i[o+20>>2],(t|0)==(_|0)))break e;for(;n=(i[t+28>>2]+n|0)-i[t+24>>2]|0,t=t+40|0,(_|0)!=(t|0););}if(o=o+32|0,(Z|0)==(o|0))break}t=n+8|0}if(l2(w,t),l2(w,1835295092),n=i[k+56>>2],o=i[k+60>>2],(n|0)!=(o|0))for(;;){e:{if(s[n+4|0]||(i[n+8>>2]=i[w+12>>2],i[n+12>>2]=0,t=i[n+16>>2],Z=i[n+20>>2],(t|0)==(Z|0)))break e;for(;_=i[w+12>>2],p=i[n+8>>2],W=_-p|0,_=0-(i[n+12>>2]+(_>>>0<p>>>0)|0)|0,i[t+8>>2]=W,i[t+12>>2]=_,i[t+16>>2]=i[t+28>>2]-i[t+24>>2],i[t+20>>2]=0,D4(w,t+24|0),t=t+40|0,(Z|0)!=(t|0););}if(n=n+32|0,(o|0)==(n|0))break}o=i[w+12>>2],i[w+12>>2]=i[k+68>>2],A2(w,s[k+74|0]|s[k+73|0]<<4&240),A2(w,s[k+76|0]|s[k+75|0]<<4&240),t=i[k+60>>2]-i[k+56>>2]|0;e:{if(s[k+48|0]<=1){w2(w,t>>>5&65535);break e}l2(w,t>>5)}if(t=i[k+56>>2],Z=i[k+60>>2],(t|0)!=(Z|0))for(;;){n=i[t>>2];e:{if(s[k+48|0]<=1){w2(w,n&65535);break e}l2(w,n)}if(s[k+48|0]&&w2(w,s[t+4|0]),w2(w,Q[t+6>>1]),k1(w,s[k+75|0],i[t+8>>2],i[t+12>>2]),w2(w,(i[t+20>>2]-i[t+16>>2]|0)/40&65535),n=i[t+16>>2],_=i[t+20>>2],(n|0)!=(_|0))for(;;){e:{if(!s[k+48|0]||(p=s[k+76|0],!p))break e;k1(w,p,i[n>>2],i[n+4>>2])}if(k1(w,s[k+73|0],i[n+8>>2],i[n+12>>2]),k1(w,s[k+74|0],i[n+16>>2],i[n+20>>2]),n=n+40|0,(_|0)==(n|0))break}if(t=t+32|0,(Z|0)==(t|0))break}i[w+12>>2]=o,n=i[19565],t=u+8|0,i[t>>2]=i[19564],i[t+4>>2]=n,t=t+8|0;e:{if(l[78275]>=0){n=i[19567],i[t>>2]=i[19566],i[t+4>>2]=n,i[t+8>>2]=i[19568];break e}_0(t,i[19566],i[19567])}l[u+27|0]<0&&G(i[u+16>>2]),B=u+48|0,B=v+32|0,i[h+20>>2]=0,i[h+12>>2]=0,i[h+16>>2]=0,t=i[h+28>>2],w=i[h+24>>2];e:{if((t|0)==(w|0)){t=0;break e}if(n=t-w|0,(n|0)<0)break i;t=U(n),I=l0(t,w,n)+n|0}V[i[r+4>>2]](h,e,t,I-t|0,A);e:{if(!i[h+8>>2]){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=2589;break e}e=i[h+4>>2],i[f>>2]=i[h>>2],i[f+4>>2]=e,i[f+8>>2]=i[h+8>>2]}if(t&&G(t),f=i[h+24>>2],!f)break r;i[h+28>>2]=f,G(f)}B=h+48|0;return}y0(),P()}function t6(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0,B1=0,p1=0,W1=0,X1=0;J=B-128|0,B=J;i:{r:{e:{if(z=i[f+140>>2],p=i[f+152>>2],H=z+m(m(p,r),24)|0,v=m(e,24),Z=(H+v|0)+4|0,w=A<<1,j=s[Z|0]>>>w&3,!j)break e;if(R=m(e,k),e=i[f+148>>2],E=R>>e,(E|0)<0|(p|0)<=(E|0))break r;if(a=m(r,n),y=a>>e,(y|0)<0|(y|0)>=i[f+156>>2])break i;if(I=i[f+124>>2],W=i[I+(A?16840:16832)>>2],r=-1<<W^-1,n0=i[(A?36:28)+f>>2],S=(n0|0)<(n+a|0)?n0-a|0:n,h0=i[(A?32:24)+f>>2],q=(h0|0)<(k+R|0)?h0-R|0:k,d=A?i[I+16856>>2]-1|0:0,A0=A?i[I+16852>>2]-1|0:0,I0=s[(v+H|0)+22|0],(j|0)==2){if(H=i[f+132>>2],W=i[f+52>>2],E=i[i[W+(Q[((z+m(E,24)|0)+m(m(p,y),24)|0)+2>>1]<<2)>>2]+808>>2],n=i[f+56>>2],k=i[I+16876>>2],y=i[I+16892>>2],v=s[Z+1|0],A=Z+(A<<2)|0,l[J|0]=s[A+5|0],Z=s[A+6|0],l[J+2|0]=0,l[J+1|0]=Z,l[J+3|0]=s[A+7|0],l[J+4|0]=s[A+8|0],(S|0)<=0|(q|0)<=0)break e;for(j=n-W>>2,A=(v>>>w&3)<<2,Q0=i[A+45112>>2],F0=i[A+45096>>2],L=k-A0|0,Y0=R>>L,W2=S-1|0,y2=q-1|0,p0=k-d|0,S0=m(y,a>>p0),k=R<<1,x2=k+u|0,T2=k+t|0,c0=i[f+168>>2],r2=i[A+45128>>2],O2=m(r2,o)<<1,n2=i[A+45144>>2],q2=m(n2,o)<<1,A=0;;){for(k=A+a|0,t=k<<d,n=t>>c0,b2=(m(k,h)<<1)+x2|0,e1=(m(k,o)<<1)+T2|0,u=t>>e,A1=(z+m(m(u,p),24)|0)+2|0,Z=k+r2|0,X0=Z<<d>>e,h1=(z+m(m(p,X0),24)|0)+2|0,v=k+n2|0,G0=v<<d>>e,B1=(z+m(m(p,G0),24)|0)+2|0,p1=m(y,v>>>p0|0)<<2,W1=m(y,Z>>>p0|0)<<2,X1=(A|0)==(W2|0),k=0;;){_=k+R|0,D=_<<A0,t=D>>c0;A:{f:{if(!(!(I0&1)|!s[I+8812|0])){if((t|0)<0||(w=i[f+172>>2],(w|0)<=(t|0)))break r;if((n|0)<0|(n|0)>=i[f+176>>2])break i;if(!(s[((i[f+160>>2]+m(t,3)|0)+m(m(n,w),3)|0)+1|0]&4))break f;break A}if((t|0)<0)break r}if(w=i[f+172>>2],(w|0)<=(t|0))break r;if((n|0)<0|(n|0)>=i[f+176>>2])break i;if(s[((i[f+160>>2]+m(t,3)|0)+m(m(n,w),3)|0)+1|0]&8)break A;f:{if(!(!A|!k|(k|0)==(y2|0))&&!X1)break f;if(t=_+Q0|0,(t|0)>=(h0|0)|(t|0)<0|((v|0)<0|(v|0)>=(n0|0)))break A;if(C=t<<A0>>e,(C|0)<0|(p|0)<=(C|0))break r;if((G0|0)<0||(w=i[f+156>>2],(w|0)<=(G0|0)))break i;if(C=Q[m(C,24)+B1>>1],C>>>0>=j>>>0||(C=i[W+(C<<2)>>2],!C))break e;D=D>>e,s2=(D|0)>=0&p>>>0>D>>>0,D=m(D,24)+A1|0;k:{if(f0=i[C+808>>2],(f0|0)<(E|0)){if(!s2)break r;if((u|0)<0|(u|0)>=(w|0))break k;if(!s[i[W+(Q[D>>1]<<2)>>2]+772|0])break A}if(!s[C+772|0]&(E|0)<(f0|0)||(C=s[H+57|0],!C&&(f0=t>>>L<<2,t=i[H+8484>>2],i[(f0+t|0)+p1>>2]!=i[(t+(Y0<<2)|0)+(S0<<2)>>2]))||(t=_+F0|0,(t|0)>=(h0|0)|(t|0)<0|((Z|0)<0|(Z|0)>=(n0|0))))break A;if(_=t<<A0>>e,(_|0)<0|(p|0)<=(_|0))break r;if((X0|0)<0|(w|0)<=(X0|0))break i;if(_=Q[m(_,24)+h1>>1],_>>>0>=j>>>0||(_=i[W+(_<<2)>>2],!_))break e;if(f0=i[_+808>>2],(f0|0)<(E|0)){if(!s2)break r;if((u|0)<0|(u|0)>=(w|0))break k;if(!s[i[W+(Q[D>>1]<<2)>>2]+772|0])break A}if(!s[_+772|0]&(E|0)<(f0|0))break A;if(C||(w=t>>>L<<2,t=i[H+8484>>2],i[(w+t|0)+W1>>2]==i[(t+(Y0<<2)|0)+(S0<<2)>>2]))break f;break A}break i}_=k<<1,w=_+e1|0,t=Q[w>>1],C=_+b2|0,_=Q[(w+(Q0<<1)|0)+q2>>1],w=Q[(w+(F0<<1)|0)+O2>>1],t=t+l[((t>>>0<_>>>0?1:(_|0)==(t|0)?2:3)+(t>>>0<w>>>0?-1:(w|0)!=(t|0))|0)+J|0]|0,X[C>>1]=(t|0)>=0?(r|0)>(t|0)?t:r:0}if(k=k+1|0,(q|0)==(k|0))break}if(A=A+1|0,(S|0)==(A|0))break}break e}if(e=s[(A+Z|0)+2|0],p=B0(J,0,128),i[((e&31)<<2)+p>>2]=1,i[p+((e+1&31)<<2)>>2]=2,i[p+((e+2&31)<<2)>>2]=3,i[p+((e+3&31)<<2)>>2]=4,z=W-5|0,!(I0&1)){if((S|0)<=0|(q|0)<=0|(W|0)>12)break e;for(n=Z+5|0,I=(R<<1)+t|0,e=0;;){for(f=e+a|0,Z=(m(f,h)<<1)+u|0,f=m(f,o)<<1,d=f+t|0,A0=f+I|0,f=0;k=Q[A0+(f<<1)>>1],k=i[p+((r>>>0>k>>>0?k:r)>>>z<<2)>>2],(k|0)>0&&(W=f+R<<1,k=Q[W+d>>1]+l[(k+(n+(A<<2)|0)|0)-1|0]|0,X[Z+W>>1]=(k|0)>=0?(r|0)>(k|0)?k:r:0),f=f+1|0,(q|0)>(f|0););if(e=e+1|0,!((S|0)>(e|0)))break}break e}if((S|0)<=0|(q|0)<=0)break e;E=Z+5|0,Z=i[f+168>>2],n0=s[I+8812|0],W=(W|0)>12,I=0;A:{for(;;){k=I+a|0,e=k<<d>>Z,h0=(m(k,h)<<1)+u|0,H=(m(k,o)<<1)+t|0,n=0;f:{for(;;){y=n+R|0,k=y<<A0>>Z;k:{n:{if(n0){if((k|0)<0||(v=i[f+172>>2],(v|0)<=(k|0)))break f;if((e|0)<0|(e|0)>=i[f+176>>2])break i;if(!(s[((i[f+160>>2]+m(k,3)|0)+m(m(e,v),3)|0)+1|0]&4))break n;break k}if((k|0)<0)break r}if(v=i[f+172>>2],(v|0)<=(k|0))break r;if((e|0)<0|(e|0)>=i[f+176>>2])break A;if(W|s[((i[f+160>>2]+m(k,3)|0)+m(m(e,v),3)|0)+1|0]&8||(y=y<<1,k=Q[y+H>>1],v=i[p+((r>>>0>k>>>0?k:r)>>>z<<2)>>2],(v|0)<=0))break k;k=k+l[(v+(E+(A<<2)|0)|0)-1|0]|0,X[y+h0>>1]=(k|0)>=0?(r|0)>(k|0)?k:r:0}if(n=n+1|0,!((q|0)>(n|0)))break}if(I=I+1|0,(S|0)<=(I|0))break e;continue}break}break r}break i}B=J+128|0;return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function o6(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0;R=B-128|0,B=R;i:{r:{e:{if(v=i[f+140>>2],p=i[f+152>>2],C=v+m(m(p,r),24)|0,I=m(e,24),w=(C+I|0)+4|0,D=A<<1,Z=s[w|0]>>>D&3,!Z)break e;if(J=m(e,k),e=i[f+148>>2],z=J>>e,(z|0)<0|(p|0)<=(z|0))break r;if(S=m(r,n),y=S>>e,(y|0)<0|(y|0)>=i[f+156>>2])break i;if(H=i[f+124>>2],e=i[H+(A?16840:16832)>>2],r=-1<<e^-1,E=i[(A?36:28)+f>>2],q=(E|0)<(n+S|0)?E-S|0:n,d=i[(A?32:24)+f>>2],k=(d|0)<(k+J|0)?d-J|0:k,A0=A?i[H+16856>>2]-1|0:0,f0=A?i[H+16852>>2]-1|0:0,I=s[(C+I|0)+22|0],(Z|0)==2){if(C=i[f+132>>2],p=i[i[i[f+52>>2]+(Q[((v+m(z,24)|0)+m(m(p,y),24)|0)+2>>1]<<2)>>2]+808>>2],n=i[H+16876>>2],z=i[H+16892>>2],y=s[w+1|0],e=w+(A<<2)|0,l[R|0]=s[e+5|0],A=s[e+6|0],l[R+2|0]=0,l[R+1|0]=A,l[R+3|0]=s[e+7|0],l[R+4|0]=s[e+8|0],(q|0)<=0|(k|0)<=0)break e;for(e=(y>>>D&3)<<2,p0=i[e+45128>>2],c0=m(p0,o),X0=i[e+45144>>2],r2=m(X0,o),G0=i[e+45112>>2],I0=i[e+45096>>2],h0=n-f0|0,Q0=J>>h0,n2=q-1|0,s2=k-1|0,W2=u+J|0,y2=t+J|0,j=n-A0|0,F0=m(z,S>>j),A=0,x2=I&1;;){for(e=A+S|0,w=e<<A0,y=e+p0|0,T2=y<<A0,I=e+X0|0,O2=I<<A0,q2=m(e,h)+W2|0,b2=m(e,o)+y2|0,e1=m(z,I>>>j|0)<<2,A1=m(z,y>>>j|0)<<2,h1=(A|0)!=(n2|0),n=0;;){t=i[f+168>>2],e=w>>t,W=n+J|0,n0=W<<f0,t=n0>>t;A:{f:{if(!(!x2|!s[H+8812|0])){if((t|0)<0||(u=i[f+172>>2],(u|0)<=(t|0)))break r;if((e|0)<0|(e|0)>=i[f+176>>2])break i;if(!(s[((i[f+160>>2]+m(t,3)|0)+m(m(e,u),3)|0)+1|0]&4))break f;break A}if((t|0)<0)break r}if(u=i[f+172>>2],(u|0)<=(t|0))break r;if((e|0)<0|(e|0)>=i[f+176>>2])break i;if(s[((i[f+160>>2]+m(t,3)|0)+m(m(e,u),3)|0)+1|0]&8)break A;f:{if(!(!A|!n|(n|0)==(s2|0))&&h1)break f;if(v=W+G0|0,(v|0)>=(d|0)|(v|0)<0|((I|0)<0|(I|0)>=(E|0)))break A;if(e=i[f+148>>2],Z=v<<f0>>e,(Z|0)<0||(t=i[f+152>>2],(t|0)<=(Z|0)))break r;if(_=O2>>e,(_|0)<0||(D=i[f+156>>2],(D|0)<=(_|0)))break i;if(u=i[f+52>>2],Y0=i[f+56>>2]-u>>2,a=m(Z,24),Z=i[f+140>>2],_=Q[((a+Z|0)+m(m(t,_),24)|0)+2>>1],Y0>>>0<=_>>>0||(_=i[u+(_<<2)>>2],!_))break e;if(S0=i[_+808>>2],(p|0)>(S0|0)){if(a=n0>>e,(a|0)<0|t>>>0<=a>>>0)break r;if(L=w>>e,(L|0)<0|(D|0)<=(L|0))break i;if(!s[i[u+(Q[((Z+m(a,24)|0)+m(m(t,L),24)|0)+2>>1]<<2)>>2]+772|0])break A}if(!s[_+772|0]&(p|0)<(S0|0)||(a=s[C+57|0],!a&&(_=v>>>h0<<2,v=i[C+8484>>2],i[(_+v|0)+e1>>2]!=i[(v+(Q0<<2)|0)+(F0<<2)>>2]))||(v=W+I0|0,(v|0)>=(d|0)|(v|0)<0|((y|0)<0|(y|0)>=(E|0))))break A;if(W=v<<f0>>e,(W|0)<0|t>>>0<=W>>>0)break r;if(_=T2>>e,(_|0)<0|(_|0)>=(D|0))break i;if(W=Q[((Z+m(W,24)|0)+m(m(t,_),24)|0)+2>>1],W>>>0>=Y0>>>0||(W=i[u+(W<<2)>>2],!W))break e;if(_=i[W+808>>2],(_|0)<(p|0)){if(n0=n0>>e,(n0|0)<0|t>>>0<=n0>>>0)break r;if(e=w>>e,(e|0)<0|(e|0)>=(D|0))break i;if(!s[i[u+(Q[((Z+m(n0,24)|0)+m(m(e,t),24)|0)+2>>1]<<2)>>2]+772|0])break A}if(!s[W+772|0]&(p|0)<(_|0))break A;if(a||(e=i[C+8484>>2],i[(e+(v>>>h0<<2)|0)+A1>>2]==i[(e+(Q0<<2)|0)+(F0<<2)>>2]))break f;break A}t=n+b2|0,e=s[t|0],u=s[(t+G0|0)+r2|0],t=s[(t+I0|0)+c0|0],e=l[((e>>>0<u>>>0?1:(e|0)==(u|0)?2:3)+(e>>>0<t>>>0?-1:(t|0)!=(e|0))|0)+R|0]+e|0,l[n+q2|0]=(e|0)>=0?(e|0)<(r|0)?e:r:0}if(n=n+1|0,(k|0)==(n|0))break}if(A=A+1|0,(q|0)==(A|0))break}break e}if(n=s[(A+w|0)+2|0],p=B0(R,0,128),i[((n&31)<<2)+p>>2]=1,i[p+((n+1&31)<<2)>>2]=2,i[p+((n+2&31)<<2)>>2]=3,i[p+((n+3&31)<<2)>>2]=4,d=e-5|0,!(I&1)){if((q|0)<=0|(k|0)<=0|(e|0)>12)break e;for(H=w+5|0,w=t+J|0,e=0;;){for(f=e+S|0,A0=m(f,h)+u|0,f=m(f,o),f0=f+t|0,E=f+w|0,f=0;n=s[f+E|0],n=i[p+((r>>>0>n>>>0?n:r)>>>d<<2)>>2],(n|0)>0&&(C=f+J|0,n=s[C+f0|0]+l[(n+(H+(A<<2)|0)|0)-1|0]|0,l[C+A0|0]=(n|0)>=0?(r|0)>(n|0)?n:r:0),f=f+1|0,(k|0)>(f|0););if(e=e+1|0,!((q|0)>(e|0)))break}break e}if((q|0)<=0|(k|0)<=0)break e;z=w+5|0,E=0,y=(e|0)>12;A:{for(;;){e=E+S|0,I=e<<A0,v=m(e,h)+u|0,D=m(e,o)+t|0,n=0;f:{for(;;){w=i[f+168>>2],e=I>>w,C=n+J|0,w=C<<f0>>w;k:{n:{if(s[H+8812|0]){if((w|0)<0||(Z=i[f+172>>2],(Z|0)<=(w|0)))break f;if((e|0)<0|(e|0)>=i[f+176>>2])break i;if(!(s[((i[f+160>>2]+m(w,3)|0)+m(m(e,Z),3)|0)+1|0]&4))break n;break k}if((w|0)<0)break r}if(Z=i[f+172>>2],(Z|0)<=(w|0))break r;if((e|0)<0|(e|0)>=i[f+176>>2])break A;if(y|s[((i[f+160>>2]+m(w,3)|0)+m(m(e,Z),3)|0)+1|0]&8||(e=s[C+D|0],w=i[p+((e>>>0<r>>>0?e:r)>>>d<<2)>>2],(w|0)<=0))break k;e=e+l[(w+(z+(A<<2)|0)|0)-1|0]|0,l[v+C|0]=(e|0)>=0?(e|0)<(r|0)?e:r:0}if(n=n+1|0,!((k|0)>(n|0)))break}if(E=E+1|0,(q|0)<=(E|0))break e;continue}break}break r}break i}B=R+128|0;return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function ih(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;k=B-160|0,B=k,i[k+60>>2]=54820,h=i[13708],i[k+4>>2]=h,A=i[h-12>>2],h=k+4|0,i[A+h>>2]=i[13709],A=h+i[i[k+4>>2]-12>>2]|0,t=k+8|0,b0(A,t),i[A+72>>2]=0,i[A+76>>2]=-1,i[k+60>>2]=54820,i[k+4>>2]=54800,Z=$0(t),i[Z>>2]=53552,i[k+48>>2]=0,i[k+52>>2]=0,i[k+40>>2]=0,i[k+44>>2]=0,i[k+56>>2]=16,A=k+148|0,R2(A,e,r),n=h,t=A,h=l[k+159|0],A=(h|0)<0,x(n,A?i[k+148>>2]:t,A?i[k+152>>2]:h),l[k+159|0]<0&&G(i[k+148>>2]);i:{if(h=i[e+56>>2],p=i[e+60>>2],(h|0)!=(p|0))for(;;){e=k+148|0,W0(e,r),n=e,e=l[k+159|0],A=(e|0)<0,x(k+4|0,A?i[k+148>>2]:n,A?i[k+152>>2]:e),l[k+159|0]<0&&G(i[k+148>>2]),e=x(L0(x(k+4|0,21567,9),i[h>>2]),31338,1),A=k+148|0,W0(A,r),n=A,A=l[k+159|0],t=(A|0)<0,x(e,t?i[k+148>>2]:n,t?i[k+152>>2]:A),l[k+159|0]<0&&G(i[k+148>>2]),e=x(H0(x(e,21238,23),s[h+4|0]),31338,1),A=k+148|0,W0(A,r),n=A,A=l[k+159|0],t=(A|0)<0,x(e,t?i[k+148>>2]:n,t?i[k+152>>2]:A),l[k+159|0]<0&&G(i[k+148>>2]),e=x(e,19465,24),A=i[i[e>>2]-12>>2]+e|0,i[A+4>>2]=i[A+4>>2]&-75|8,e=L0(e,Q[h+6>>1]),A=i[i[e>>2]-12>>2]+e|0,i[A+4>>2]=i[A+4>>2]&-75|2,e=x(e,31338,1),A=k+148|0,W0(A,r),n=A,A=l[k+159|0],t=(A|0)<0,x(e,t?i[k+148>>2]:n,t?i[k+152>>2]:A),l[k+159|0]<0&&G(i[k+148>>2]),x(n4(x(e,19627,15),i[h+8>>2],i[h+12>>2]),31338,1),e=k+148|0,W0(e,r),n=e,e=l[k+159|0],A=(e|0)<0,x(k+4|0,A?i[k+148>>2]:n,A?i[k+152>>2]:e),l[k+159|0]<0&&G(i[k+148>>2]),x(k+4|0,19691,11);r:{if(e=i[h+16>>2],W=i[h+20>>2],(e|0)==(W|0))break r;e:{for(;;){A:{n=n4(k+4|0,i[e+8>>2],i[e+12>>2]),v=V1(k+140|0,n);f:{if(s[v|0]!=1)break f;w=n+i[i[n>>2]-12>>2]|0,_=i[w+4>>2],t=i[w+24>>2],u=i[w+76>>2],(u|0)==-1&&(o=k+148|0,A=i[w+28>>2],i[o>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(o,100192),u=V[i[i[A>>2]+28>>2]](A,32)|0,O0(o),i[w+76>>2]=u);k:{if(!t||(A=i[w+12>>2],_=(_&176)==32?18141:18140,o=_-18140|0,(o|0)>0&&(V[i[i[t>>2]+48>>2]](t,18140,o)|0)!=(o|0)))break k;if(A=(A|0)>1?A-1|0:0,(A|0)>0){if(A>>>0>=2147483640)break A;n:{if(A>>>0>=11){C=(A|7)+1|0,o=U(C),i[k+156>>2]=C|-2147483648,i[k+148>>2]=o,i[k+152>>2]=A;break n}l[k+159|0]=A,o=k+148|0}if(I=B0(o,u,A)+A|0,y=0,l[I|0]=y,u=V[i[i[t>>2]+48>>2]](t,l[k+159|0]<0?i[k+148>>2]:k+148|0,A)|0,l[k+159|0]<0&&G(i[k+148>>2]),(A|0)!=(u|0))break k}if(A=18141-_|0,(A|0)>0&&(V[i[i[t>>2]+48>>2]](t,_,A)|0)!=(A|0))break k;i[w+12>>2]=0;break f}A=n+i[i[n>>2]-12>>2]|0,z1(A,i[A+16>>2]|5)}if(Z1(v),n4(n,i[e+16>>2],i[e+20>>2]),i[e>>2]|i[e+4>>2]){A=k+4|0,_=V1(k+140|0,A);f:{if(s[_|0]!=1)break f;u=A+i[i[k+4>>2]-12>>2]|0,o=i[u+4>>2],t=i[u+24>>2],w=i[u+76>>2],(w|0)==-1&&(n=k+148|0,A=i[u+28>>2],i[n>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(n,100192),w=V[i[i[A>>2]+28>>2]](A,32)|0,O0(n),i[u+76>>2]=w);k:{if(!t||(A=i[u+12>>2],o=(o&176)==32?16321:16314,n=o-16314|0,(n|0)>0&&(V[i[i[t>>2]+48>>2]](t,16314,n)|0)!=(n|0)))break k;if(A=(A|0)>7?A-7|0:0,(A|0)>0){if(A>>>0>=2147483640)break i;n:{if(A>>>0>=11){v=(A|7)+1|0,n=U(v),i[k+156>>2]=v|-2147483648,i[k+148>>2]=n,i[k+152>>2]=A;break n}l[k+159|0]=A,n=k+148|0}if(I=B0(n,w,A)+A|0,y=0,l[I|0]=y,w=V[i[i[t>>2]+48>>2]](t,l[k+159|0]<0?i[k+148>>2]:k+148|0,A)|0,l[k+159|0]<0&&G(i[k+148>>2]),(A|0)!=(w|0))break k}if(A=16321-o|0,(A|0)>0&&(V[i[i[t>>2]+48>>2]](t,o,A)|0)!=(A|0))break k;i[u+12>>2]=0;break f}A=i[i[k+4>>2]-12>>2]+(k+4|0)|0,z1(A,i[A+16>>2]|5)}Z1(_),n4(k+4|0,i[e>>2],i[e+4>>2])}A=k+4|0,_=V1(k+140|0,A);f:{if(s[_|0]!=1)break f;u=A+i[i[k+4>>2]-12>>2]|0,o=i[u+4>>2],t=i[u+24>>2],w=i[u+76>>2],(w|0)==-1&&(n=k+148|0,A=i[u+28>>2],i[n>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(n,100192),w=V[i[i[A>>2]+28>>2]](A,32)|0,O0(n),i[u+76>>2]=w);k:{if(!t||(A=i[u+12>>2],o=(o&176)==32?21742:21741,n=o-21741|0,(n|0)>0&&(V[i[i[t>>2]+48>>2]](t,21741,n)|0)!=(n|0)))break k;if(A=(A|0)>1?A-1|0:0,(A|0)>0){if(A>>>0>=2147483640)break e;n:{if(A>>>0>=11){v=(A|7)+1|0,n=U(v),i[k+156>>2]=v|-2147483648,i[k+148>>2]=n,i[k+152>>2]=A;break n}l[k+159|0]=A,n=k+148|0}if(I=B0(n,w,A)+A|0,y=0,l[I|0]=y,w=V[i[i[t>>2]+48>>2]](t,l[k+159|0]<0?i[k+148>>2]:k+148|0,A)|0,l[k+159|0]<0&&G(i[k+148>>2]),(A|0)!=(w|0))break k}if(A=21742-o|0,(A|0)>0&&(V[i[i[t>>2]+48>>2]](t,o,A)|0)!=(A|0))break k;i[u+12>>2]=0;break f}A=i[i[k+4>>2]-12>>2]+(k+4|0)|0,z1(A,i[A+16>>2]|5)}if(Z1(_),e=e+40|0,(W|0)!=(e|0))continue;break r}break}break i}break i}if(x(k+4|0,31338,1),h=h+32|0,(p|0)==(h|0))break}i2(f,Z),f=i[13707],i[k+4>>2]=f,i[i[f-12>>2]+(k+4|0)>>2]=i[13710],i[Z>>2]=53552,l[k+51|0]<0&&G(i[k+40>>2]),K0(Z),T0(k+60|0),B=k+160|0;return}c2(),P()}function yk(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0;k=B-16|0,B=k,i[k+12>>2]=f;i:{if(f>>>0<=211){f=i[G9(52752,52944,k+12|0)>>2];break i}for(f>>>0>=4294967292&&(u1(),P()),n=(f>>>0)/210|0,A=m(n,210),i[k+8>>2]=f-A,t=G9(52944,53136,k+8|0)-52944>>2;;){f=i[(t<<2)+52944>>2]+A|0,A=5;r:{e:{for(;;){if(r=A,(r|0)==47)break e;if(o=i[(r<<2)+52752>>2],e=(f>>>0)/(o>>>0)|0,e>>>0<o>>>0)break i;if(A=r+1|0,(m(e,o)|0)==(f|0))break}if(r>>>0<47)break r}for(A=211;;){if(r=(f>>>0)/(A>>>0)|0,r>>>0<A>>>0)break i;if((m(r,A)|0)==(f|0))break r;if(e=A+10|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+12|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+16|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+18|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+22|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+28|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+30|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+36|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+40|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+42|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+46|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+52|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+58|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+60|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+66|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+70|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+72|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+78|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+82|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+88|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+96|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+100|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+102|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+106|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+108|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+112|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+120|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+126|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+130|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+136|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+138|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+142|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+148|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+150|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+156|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+162|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+166|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+168|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+172|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+178|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+180|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+186|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+190|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+192|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+196|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+198|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+208|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if(A=A+210|0,(m(r,e)|0)==(f|0))break}}f=t+1|0,r=(f|0)==48,t=r?0:f,n=r+n|0,A=m(n,210)}}return B=k+16|0,f}function Br(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0;for(_=i[f+20>>2],w=i[f+16>>2],h=i[f+12>>2],q=i[f+8>>2];u=s[e|0]|s[e+1|0]<<8|(s[e+2|0]<<16|s[e+3|0]<<24),i[f+88>>2]=u,v=s[e+4|0]|s[e+5|0]<<8|(s[e+6|0]<<16|s[e+7|0]<<24),i[f+92>>2]=v,Z=s[e+8|0]|s[e+9|0]<<8|(s[e+10|0]<<16|s[e+11|0]<<24),i[f+96>>2]=Z,p=s[e+12|0]|s[e+13|0]<<8|(s[e+14|0]<<16|s[e+15|0]<<24),i[f+100>>2]=p,W=s[e+16|0]|s[e+17|0]<<8|(s[e+18|0]<<16|s[e+19|0]<<24),i[f+104>>2]=W,C=s[e+20|0]|s[e+21|0]<<8|(s[e+22|0]<<16|s[e+23|0]<<24),i[f+108>>2]=C,I=s[e+24|0]|s[e+25|0]<<8|(s[e+26|0]<<16|s[e+27|0]<<24),i[f+112>>2]=I,y=s[e+28|0]|s[e+29|0]<<8|(s[e+30|0]<<16|s[e+31|0]<<24),i[f+116>>2]=y,E=s[e+32|0]|s[e+33|0]<<8|(s[e+34|0]<<16|s[e+35|0]<<24),i[f+120>>2]=E,J=s[e+36|0]|s[e+37|0]<<8|(s[e+38|0]<<16|s[e+39|0]<<24),i[f+124>>2]=J,R=s[e+40|0]|s[e+41|0]<<8|(s[e+42|0]<<16|s[e+43|0]<<24),i[f+128>>2]=R,D=s[e+44|0]|s[e+45|0]<<8|(s[e+46|0]<<16|s[e+47|0]<<24),i[f+132>>2]=D,z=s[e+48|0]|s[e+49|0]<<8|(s[e+50|0]<<16|s[e+51|0]<<24),i[f+136>>2]=z,H=s[e+52|0]|s[e+53|0]<<8|(s[e+54|0]<<16|s[e+55|0]<<24),i[f+140>>2]=H,a=s[e+56|0]|s[e+57|0]<<8|(s[e+58|0]<<16|s[e+59|0]<<24),i[f+144>>2]=a,S=s[e+60|0]|s[e+61|0]<<8|(s[e+62|0]<<16|s[e+63|0]<<24),i[f+148>>2]=S,A=a0(((((w^_)&h^_)+q|0)+u|0)-680876936|0,7)+h|0,k=a0(((_+v|0)+(A&(h^w)^w)|0)-389564586|0,12)+A|0,n=a0(((w+Z|0)+(k&(A^h)^h)|0)+606105819|0,17)+k|0,t=a0(((h+p|0)+(A^n&(A^k))|0)-1044525330|0,22)+n|0,A=a0(((A+W|0)+(k^t&(k^n))|0)-176418897|0,7)+t|0,k=a0(((k+C|0)+(n^A&(t^n))|0)+1200080426|0,12)+A|0,n=a0(((n+I|0)+(t^k&(A^t))|0)-1473231341|0,17)+k|0,t=a0(((t+y|0)+(A^n&(A^k))|0)-45705983|0,22)+n|0,A=a0(((A+E|0)+(k^t&(k^n))|0)+1770035416|0,7)+t|0,k=a0(((k+J|0)+(n^A&(t^n))|0)-1958414417|0,12)+A|0,n=a0(((n+R|0)+(t^k&(A^t))|0)-42063|0,17)+k|0,t=a0(((t+D|0)+(A^n&(A^k))|0)-1990404162|0,22)+n|0,o=k+H|0,k=a0(((A+z|0)+(k^t&(k^n))|0)+1804603682|0,7)+t|0,o=a0((o+(n^k&(t^n))|0)-40341101|0,12)+k|0,A=t+S|0,t=a0(((n+a|0)+(t^o&(k^t))|0)-1502002290|0,17)+o|0,A=a0((A+(k^t&(k^o))|0)+1236535329|0,22)+t|0,k=a0(((k+v|0)+(t^o&(A^t))|0)-165796510|0,5)+A|0,n=a0(((o+I|0)+((A^k)&t^A)|0)-1069501632|0,9)+k|0,t=a0(((t+D|0)+(k^A&(k^n))|0)+643717713|0,14)+n|0,A=a0(((A+u|0)+(n^k&(t^n))|0)-373897302|0,20)+t|0,k=a0(((k+C|0)+(t^n&(A^t))|0)-701558691|0,5)+A|0,n=a0(((n+R|0)+((A^k)&t^A)|0)+38016083|0,9)+k|0,t=a0(((t+S|0)+(k^A&(k^n))|0)-660478335|0,14)+n|0,A=a0(((A+W|0)+(n^k&(t^n))|0)-405537848|0,20)+t|0,k=a0(((k+J|0)+(t^n&(A^t))|0)+568446438|0,5)+A|0,n=a0(((n+a|0)+((A^k)&t^A)|0)-1019803690|0,9)+k|0,t=a0(((t+p|0)+(k^A&(k^n))|0)-187363961|0,14)+n|0,A=a0(((A+E|0)+(n^k&(t^n))|0)+1163531501|0,20)+t|0,k=a0(((k+H|0)+(t^n&(A^t))|0)-1444681467|0,5)+A|0,n=a0(((n+Z|0)+((A^k)&t^A)|0)-51403784|0,9)+k|0,d=A+z|0,o=a0(((t+y|0)+(k^A&(k^n))|0)+1735328473|0,14)+n|0,A=o^n,t=a0((d+(n^k&A)|0)-1926607734|0,20)+o|0,A=a0(((k+C|0)+(A^t)|0)-378558|0,4)+t|0,k=a0(((n+E|0)+(A^(t^o))|0)-2022574463|0,11)+A|0,n=a0(((o+D|0)+(k^(A^t))|0)+1839030562|0,16)+k|0,t=a0(((t+a|0)+(n^(A^k))|0)-35309556|0,23)+n|0,A=a0(((A+v|0)+(t^(k^n))|0)-1530992060|0,4)+t|0,k=a0(((k+W|0)+(A^(t^n))|0)+1272893353|0,11)+A|0,n=a0(((n+y|0)+(k^(A^t))|0)-155497632|0,16)+k|0,t=a0(((t+R|0)+(n^(A^k))|0)-1094730640|0,23)+n|0,A=a0(((A+H|0)+(t^(k^n))|0)+681279174|0,4)+t|0,k=a0(((k+u|0)+(A^(t^n))|0)-358537222|0,11)+A|0,n=a0(((n+p|0)+(k^(A^t))|0)-722521979|0,16)+k|0,t=a0(((t+I|0)+(n^(A^k))|0)+76029189|0,23)+n|0,A=a0(((A+J|0)+(t^(k^n))|0)-640364487|0,4)+t|0,k=a0(((k+z|0)+(A^(t^n))|0)-421815835|0,11)+A|0,o=A+u|0,u=A^k,A=a0(((n+S|0)+(k^(A^t))|0)+530742520|0,16)+k|0,n=a0(((t+Z|0)+(u^A)|0)-995338651|0,23)+A|0,t=a0((o+((n|k^-1)^A)|0)-198630844|0,6)+n|0,o=n+C|0,u=A+a|0,A=a0(((k+y|0)+(n^(t|A^-1))|0)+1126891415|0,10)+t|0,n=a0((u+(t^(A|n^-1))|0)-1416354905|0,15)+A|0,k=a0((o+((n|t^-1)^A)|0)-57434055|0,21)+n|0,o=n+R|0,u=A+p|0,A=a0(((t+z|0)+(n^(k|A^-1))|0)+1700485571|0,6)+k|0,n=a0((u+(k^(A|n^-1))|0)-1894986606|0,10)+A|0,t=a0((o+((n|k^-1)^A)|0)-1051523|0,15)+n|0,o=n+S|0,u=A+E|0,A=a0(((k+v|0)+(n^(t|A^-1))|0)-2054922799|0,21)+t|0,n=a0((u+(t^(A|n^-1))|0)+1873313359|0,6)+A|0,k=a0((o+((n|t^-1)^A)|0)-30611744|0,10)+n|0,o=n+W|0,u=A+H|0,A=a0(((t+I|0)+(n^(k|A^-1))|0)-1560198380|0,15)+k|0,n=a0((u+(k^(A|n^-1))|0)+1309151649|0,21)+A|0,t=a0((o+((n|k^-1)^A)|0)-145523070|0,6)+n|0,k=a0(((k+D|0)+(n^(t|A^-1))|0)-1120210379|0,10)+t|0,A=a0(((A+Z|0)+(t^(k|n^-1))|0)+718787259|0,15)+k|0,h=(A+h|0)+a0(((n+J|0)+(k^(A|t^-1))|0)-343485551|0,21)|0,w=A+w|0,_=k+_|0,q=t+q|0,e=e- -64|0,r=r+-64|0,!!r;);return i[f+20>>2]=_,i[f+16>>2]=w,i[f+12>>2]=h,i[f+8>>2]=q,e}function rh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;k=B-16|0,B=k,v=t2(r);i:{r:{if(Z=B2(r),!Z)break r;for(;;){if(n=B2(r),n<<24>>24<0){if(e=U(40),i[k+4>>2]=e,i[k+8>>2]=38,i[k+12>>2]=-2147483608,r=s[12108]|s[12109]<<8|(s[12110]<<16|s[12111]<<24),A=s[12104]|s[12105]<<8|(s[12106]<<16|s[12107]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+38|0]=0,r=s[12138]|s[12139]<<8|(s[12140]<<16|s[12141]<<24),A=s[12134]|s[12135]<<8|(s[12136]<<16|s[12137]<<24),l[e+30|0]=A,l[e+31|0]=A>>>8,l[e+32|0]=A>>>16,l[e+33|0]=A>>>24,l[e+34|0]=r,l[e+35|0]=r>>>8,l[e+36|0]=r>>>16,l[e+37|0]=r>>>24,r=s[12132]|s[12133]<<8|(s[12134]<<16|s[12135]<<24),A=s[12128]|s[12129]<<8|(s[12130]<<16|s[12131]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[12124]|s[12125]<<8|(s[12126]<<16|s[12127]<<24),A=s[12120]|s[12121]<<8|(s[12122]<<16|s[12123]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[12116]|s[12117]<<8|(s[12118]<<16|s[12119]<<24),A=s[12112]|s[12113]<<8|(s[12114]<<16|s[12115]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,4,3002,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(n>>>0>=17){if(e=U(56),i[k+4>>2]=e,i[k+8>>2]=51,i[k+12>>2]=-2147483592,r=s[12056]|s[12057]<<8|(s[12058]<<16|s[12059]<<24),A=s[12052]|s[12053]<<8|(s[12054]<<16|s[12055]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+51|0]=0,r=s[12099]|s[12100]<<8|(s[12101]<<16|s[12102]<<24),l[e+47|0]=r,l[e+48|0]=r>>>8,l[e+49|0]=r>>>16,l[e+50|0]=r>>>24,r=s[12096]|s[12097]<<8|(s[12098]<<16|s[12099]<<24),A=s[12092]|s[12093]<<8|(s[12094]<<16|s[12095]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[12088]|s[12089]<<8|(s[12090]<<16|s[12091]<<24),A=s[12084]|s[12085]<<8|(s[12086]<<16|s[12087]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[12080]|s[12081]<<8|(s[12082]<<16|s[12083]<<24),A=s[12076]|s[12077]<<8|(s[12078]<<16|s[12079]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[12072]|s[12073]<<8|(s[12074]<<16|s[12075]<<24),A=s[12068]|s[12069]<<8|(s[12070]<<16|s[12071]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[12064]|s[12065]<<8|(s[12066]<<16|s[12067]<<24),A=s[12060]|s[12061]<<8|(s[12062]<<16|s[12063]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,4,3002,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}e:{u=i[e+52>>2],t=i[e+56>>2];A:{if(u>>>0<t>>>0){l[u|0]=n,o=u+1|0;break A}if(h=i[e+48>>2],w=u-h|0,A=w+1|0,(A|0)<0)break e;t=t-h|0,o=t<<1,o=t>>>0>=1073741823?2147483647:A>>>0<o>>>0?o:A,o?A=U(o):A=0,t=w+A|0,l[t|0]=n,W=A+o|0,o=t+1|0;f:{if((u|0)==(h|0)){A=t;break f}if(_=0,n=u,w=w&3,w)for(;t=t-1|0,n=n-1|0,l[t|0]=s[n|0],_=_+1|0,(w|0)!=(_|0););if(h-u>>>0<=4294967292)for(;l[t-1|0]=s[n-1|0],l[t-2|0]=s[n-2|0],l[t-3|0]=s[n-3|0],t=t-4|0,n=n-4|0,l[t|0]=s[n|0],(n|0)!=(h|0););h=i[e+48>>2]}if(i[e+56>>2]=W,i[e+52>>2]=o,i[e+48>>2]=A,!h)break A;G(h)}if(i[e+52>>2]=o,p=p+1|0,(p&255)>>>0<Z>>>0)continue;break r}break}y0(),P()}r:{if(!v)break r;for(h=e+60|0,t=0;;){e:{i[k+12>>2]=0,i[k+4>>2]=0,i[k+8>>2]=0,A=i[e+64>>2];A:{if(A>>>0<k0[e+68>>2]){if(i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,n=i[k+8>>2],w=i[k+4>>2],(n|0)!=(w|0)){if(n=n-w|0,(n|0)<0)break e;u=U(n),i[A+4>>2]=u,i[A>>2]=u,o=n+u|0,i[A+8>>2]=o,l0(u,w,n),i[A+4>>2]=o}A=A+12|0;break A}A=v6(h,k+4|0)}if(i[e+64>>2]=A,A=i[k+4>>2],A&&(i[k+8>>2]=A,G(A)),t=t+1|0,(t&65535)>>>0<v>>>0)continue;break r}break}y0(),P()}if(s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function d2(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0;w=B-96|0,B=w,J=u&65535,p=(k^u)&-2147483648,I=k&65535,H=I,Y0=u>>>16&32767,S0=k>>>16&32767;i:{r:{if(Y0-32767>>>0>4294934529&S0-32767>>>0>=4294934530)break r;if(y=k&2147483647,C=y,h=A,!(!A&(C|0)==2147418112?!(e|r):C>>>0<2147418112)){v=A,p=k|32768;break i}if(y=u&2147483647,W=y,k=o,!(!k&(W|0)==2147418112?!(n|t):W>>>0<2147418112)){v=k,p=u|32768,e=n,r=t;break i}if(!(e|h|(C^2147418112|r))){if(!(k|n|(t|W))){p=2147450880,e=0,r=0;break i}p=p|2147418112,e=0,r=0;break i}if(!(k|n|(W^2147418112|t))){if(k=e|h,A=r|C,e=0,r=0,!(A|k)){p=2147450880;break i}p=p|2147418112;break i}if(!(e|h|(r|C))){e=0,r=0;break i}if(!(k|n|(t|W))){e=0,r=0;break i}if((C|0)==65535|C>>>0<65535&&(h=!(A|I),u=h?e:A,y=h<<6,k=$2(u)+32|0,u=$2(h?r:I),u=y+((u|0)==32?k:u)|0,L1(w+80|0,e,r,A,I,u-15|0),E=16-u|0,A=i[w+88>>2],H=i[w+92>>2],r=i[w+84>>2],e=i[w+80>>2]),W>>>0>65535)break r;u=!(o|J),k=u?n:o,I=u<<6,h=$2(k)+32|0,k=$2(u?t:J),k=I+((k|0)==32?h:k)|0,L1(w- -64|0,n,t,o,J,k-15|0),E=(E-k|0)+16|0,o=i[w+72>>2],J=i[w+76>>2],n=i[w+64>>2],t=i[w+68>>2]}k=n,n=t<<15|n>>>17,u=k<<15,k=0,R=u&-32768,p0=r,y=q0(R,k,r,0),k=w0,a=k,X0=n,C=e,r=q0(n,0,e,0),e=r+y|0,n=w0+k|0,u=e,r=e>>>0<r>>>0?n+1|0:n,n=e,h=0,e=q0(C,_,R,_),W=h+e|0,k=w0+n|0,k=e>>>0>W>>>0?k+1|0:k,I=k,G0=(n|0)==(k|0)&h>>>0>W>>>0|k>>>0<n>>>0,I0=A,D=q0(R,_,A,0),Q0=w0,e=q0(p0,_,X0,_),z=e+D|0,h=w0+Q0|0,h=e>>>0>z>>>0?h+1|0:h,e=J<<15|o>>>17,S=o<<15|t>>>17,A=q0(S,0,C,_),q=A+z|0,n=w0+h|0,n=A>>>0>q>>>0?n+1|0:n,d=n,A=(r|0)==(a|0)&u>>>0<y>>>0|r>>>0<a>>>0,A0=r+q|0,n=A+n|0,n=r>>>0>A0>>>0?n+1|0:n,J=n,t=A0,r=n,f0=H|65536,H=q0(R,_,f0,Z),F0=w0,A=q0(I0,v,X0,_),n0=A+H|0,k=w0+F0|0,k=A>>>0>n0>>>0?k+1|0:k,u=k,h0=e|-2147483648,e=q0(h0,0,C,_),j=e+n0|0,n=w0+k|0,n=e>>>0>j>>>0?n+1|0:n,A=q0(S,v,p0,_),e=A+j|0,L=n,n=n+w0|0,a=e,y=e>>>0<A>>>0?n+1|0:n,n=e,e=0,C=e+t|0,k=r+n|0,k=e>>>0>C>>>0?k+1|0:k,R=k,n=k,e=C+G0|0,r=e>>>0<C>>>0?n+1|0:n,E=((S0+Y0|0)+E|0)-16383|0,A=q0(h0,v,p0,_),o=w0,k=q0(f0,v,X0,_),t=k+A|0,n=w0+o|0,n=k>>>0>t>>>0?n+1|0:n,Z=(o|0)==(n|0)&A>>>0>t>>>0|n>>>0<o>>>0,o=n,k=q0(S,v,I0,v),A=k+t|0,n=w0+n|0,n=A>>>0<k>>>0?n+1|0:n,k=n,t=(n|0)==(o|0)&A>>>0<t>>>0|n>>>0<o>>>0,n=0,o=t,t=t+Z|0,n=o>>>0>t>>>0?1:n,o=t,t=q0(h0,v,f0,v),o=o+t|0,n=w0+n|0,G0=o,t=t>>>0>o>>>0?n+1|0:n,o=A,_=k,k=(h|0)==(Q0|0)&D>>>0>z>>>0|h>>>0<Q0>>>0,n=0,h=(h|0)==(d|0)&z>>>0>q>>>0|h>>>0>d>>>0,Z=h,h=k+h|0,k=(Z>>>0>h>>>0?1:n)+_|0,n=t,A=A+h|0,k=A>>>0<h>>>0?k+1|0:k,Z=k,D=A,A=(k|0)==(_|0)&A>>>0<o>>>0|k>>>0<_>>>0,k=A,A=A+G0|0,n=k>>>0>A>>>0?n+1|0:n,h=A,o=n,k=q0(S,v,f0,v),_=w0,t=q0(h0,v,I0,v),A=t+k|0,n=w0+_|0,n=A>>>0<t>>>0?n+1|0:n,t=n,n=(_|0)==(n|0)&A>>>0<k>>>0|n>>>0<_>>>0,z=t+h|0,k=n+o|0,k=t>>>0>z>>>0?k+1|0:k,_=z,o=k,h=A,k=0,A=k+D|0,n=h+Z|0,n=A>>>0<k>>>0?n+1|0:n,k=n,t=(Z|0)==(n|0)&A>>>0<D>>>0|n>>>0<Z>>>0,n=o,o=t,t=t+_|0,n=o>>>0>t>>>0?n+1|0:n,D=t,t=n,o=A,h=k,k=(y|0)==(L|0)&a>>>0<j>>>0|y>>>0<L>>>0,A=(u|0)==(F0|0)&H>>>0>n0>>>0|u>>>0<F0>>>0,u=(u|0)==(L|0)&n0>>>0>j>>>0|u>>>0>L>>>0,A=A+u|0,A=A+k|0,Z=y,u=Z+o|0,k=A+h|0,n=t,A=u,k=A>>>0<Z>>>0?k+1|0:k,o=(k|0)==(h|0)&o>>>0>A>>>0|k>>>0<h>>>0,t=o+D|0,n=o>>>0>t>>>0?n+1|0:n,h=t,t=n,o=A,n=0,u=k,Z=(J|0)==(R|0)&C>>>0<A0>>>0|J>>>0>R>>>0,_=Z,Z=Z+((J|0)==(d|0)&q>>>0>A0>>>0|J>>>0<d>>>0)|0,k=k+(_>>>0>Z>>>0?1:n)|0,n=t,A=A+Z|0,k=A>>>0<Z>>>0?k+1|0:k,o=(k|0)==(u|0)&A>>>0<o>>>0|k>>>0<u>>>0,t=o,o=o+h|0,n=t>>>0>o>>>0?n+1|0:n,u=n;r:{if(n&65536){E=E+1|0;break r}h=I>>>31|0,t=0,n=u<<1|o>>>31,o=o<<1|k>>>31,u=n,n=k<<1|A>>>31,A=A<<1|r>>>31,k=n,n=I<<1|W>>>31,W=W<<1,I=n,n=r<<1|e>>>31,e=e<<1|h,r=n|t}if((E|0)>=32767){p=p|2147418112,e=0,r=0;break i}r:{if((E|0)<=0){if(t=1-E|0,t>>>0<=127){n=E+127|0,L1(w+48|0,W,I,e,r,n),L1(w+32|0,A,k,o,u,n),ti(w+16|0,W,I,e,r,t),ti(w,A,k,o,u,t),W=i[w+32>>2]|i[w+16>>2]|(i[w+48>>2]|i[w+56>>2]|(i[w+52>>2]|i[w+60>>2]))!=0,I=i[w+36>>2]|i[w+20>>2],e=i[w+40>>2]|i[w+24>>2],r=i[w+44>>2]|i[w+28>>2],A=i[w>>2],k=i[w+4>>2],t=i[w+8>>2],n=i[w+12>>2];break r}e=0,r=0;break i}t=o,n=u&65535|E<<16}if(v=t|v,p=n|p,!(!e&(r|0)==-2147483648?!(W|I):(r|0)>0|(r|0)>=0)){e=A+1|0,h=e?k:k+1|0,k=p,r=h,A=!(h|e),v=A+v|0,p=A>>>0>v>>>0?k+1|0:k;break i}if(e|W|(r^-2147483648|I)){e=A,r=k;break i}n=k,e=A&1,r=e,e=e+A|0,r=r>>>0>e>>>0?n+1|0:n,A=(n|0)==(r|0)&e>>>0<A>>>0|r>>>0<n>>>0,n=p,v=A+v|0,p=v>>>0<A>>>0?n+1|0:n}i[f>>2]=e,i[f+4>>2]=r,i[f+8>>2]=v,i[f+12>>2]=p,B=w+96|0}function Fk(f,e,r,A,k,n,t,o,u,h,w){var _=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;_=B-48|0,B=_,v=i[k>>2];i:{r:{if(n){if(v)break r;C0(3871,14027,242,10614),P()}if(!v)break i}if(Z=i[k+4>>2],Z&&(i[Z+4>>2]=i[Z+4>>2]+1),i[f+124>>2]=v,v=i[f+128>>2],i[f+128>>2]=Z,!v||(Z=i[v+4>>2],i[v+4>>2]=Z-1,Z))break i;V[i[i[v>>2]+8>>2]](v),g(v)}aA(f),p=1,Z=i[19780],i[19780]=Z+1,i[f+112>>2]=t,i[f+108>>2]=2147483647,i[f>>2]=Z,i[f+288>>2]=h,i[f+36>>2]=r,i[f+32>>2]=e,i[f+28>>2]=r,i[f+24>>2]=e,i[f+20>>2]=A,i[f+280>>2]=o,i[f+284>>2]=u;i:{r:{e:{A:{f:{k:{n:{t:switch(A|0){default:C0(17356,14027,278,10614),P();case 1:p=2,i[_+8>>2]=2,I=(r+1|0)/2|0,i[f+36>>2]=I,W=(e+1|0)/2|0,i[f+32>>2]=W,h=2,A=2;break k;case 2:i[_+8>>2]=3,p=2,W=(e+1|0)/2|0,i[f+32>>2]=W,h=1;break n;case 3:break t;case 0:break f}i[_+8>>2]=4,W=e,h=1}I=r,A=1}if(l[f+51|0]=h,l[f+50|0]=p,h=i[k>>2],!h){i[_+20>>2]=16,i[_+16>>2]=r,i[_+12>>2]=e,y=1;break A}if(i[h+16852>>2]!=(p|0))break e;if(i[h+16856>>2]==(A|0)){i[_+20>>2]=16,i[_+16>>2]=r,i[_+12>>2]=e;break r}C0(15341,14027,318,10614),P()}if(y=1,i[_+8>>2]=1,X[f+50>>1]=257,i[f+32>>2]=0,i[f+36>>2]=0,h=i[k>>2],i[_+20>>2]=16,i[_+16>>2]=r,i[_+12>>2]=e,h){A=1;break r}A=1}h=0,o=0;break i}C0(15371,14027,317,10614),P()}J=i[h+508>>2],E=i[h+504>>2],R=i[h+500>>2],y=0,o=i[h+496>>2]}C=8,D=o+R|0,v=m(D,p);i:{if((v|0)>=(e|0)||(Z=E+J|0,u=m(Z,A),(u|0)>=(r|0)))break i;i[f+88>>2]=I-Z,i[f+84>>2]=W-D,r=r-u|0,i[f+80>>2]=r,e=e-v|0,i[f+76>>2]=e,i[_+44>>2]=r,i[_+40>>2]=e,i[_+36>>2]=m(A,J),u=m(A,E),i[_+32>>2]=u,i[_+28>>2]=m(p,R),A=m(o,p),i[_+24>>2]=A,e=8,r=8,y||(r=i[h+16840>>2],e=i[h+16832>>2]),l[f+49|0]=r,l[f+48|0]=e,r=(r&255)>>>0>8,l[f+18|0]=r,l[f+17|0]=r,l[f+16|0]=(e&255)>>>0>8;r:{if(!t){r=0,e=77612;break r}r=i[t+544>>2],e=w?t+536|0:77612}w=i[e>>2],e=i[e+4>>2],i[f+304>>2]=w,i[f+308>>2]=e;r:{if(!w)break r;r=V[w|0](t,_+8|0,f,r)|0,i[f+64>>2]=(A+i[f+4>>2]|0)+m(u,i[f+40>>2]);e:{if(!i[f+20>>2]){p=0,e=0;break e}e=m(i[f+44>>2],E),p=e+(i[f+12>>2]+o|0)|0,e=e+(i[f+8>>2]+o|0)|0}if(i[f+72>>2]=p,i[f+68>>2]=e,r)break r;C=7;break i}r:{if(!n)break r;e=i[f+200>>2],n=i[h+16944>>2],A=i[h+16952>>2],r=i[h+16948>>2],t=m(A,r);e:{if((t|0)!=i[f+204>>2]){if(G(e),e=Z2(t),i[f+200>>2]=e,!e){i[f+204>>2]=0,r=0;break e}i[f+204>>2]=t}i[f+216>>2]=A,i[f+212>>2]=r,i[f+208>>2]=n,r=(e|0)!=0}e=i[f+220>>2],t=i[h+16944>>2],n=i[h+16952>>2],A=i[h+16948>>2],o=m(n,A);e:{if((o|0)!=i[f+224>>2]){if(G(e),e=Z2(o),i[f+220>>2]=e,!e){i[f+224>>2]=0,e=0;break e}i[f+224>>2]=o}i[f+236>>2]=n,i[f+232>>2]=A,i[f+228>>2]=t,e=(e|0)!=0}t=e&r,e=i[f+160>>2],n=i[h+16872>>2],A=i[h+16896>>2],r=i[h+16888>>2],o=m(A,r);e:{if((o|0)!=i[f+164>>2]){if(G(e),e=Z2(m(o,3)),i[f+160>>2]=e,!e){i[f+164>>2]=0,e=0;break e}i[f+164>>2]=o}i[f+176>>2]=A,i[f+172>>2]=r,i[f+168>>2]=n,e=(e|0)!=0}n=e&t,e=i[f+180>>2],r=i[h+16872>>2]-2|0,A=i[h+16896>>2]<<r,r=i[h+16888>>2]<<r,t=m(A,r);e:{if((t|0)!=i[f+184>>2]){if(G(e),e=Z2(m(t,12)),i[f+180>>2]=e,!e){i[f+184>>2]=0,e=0;break e}i[f+184>>2]=t}i[f+196>>2]=A,i[f+192>>2]=r,i[f+188>>2]=2,e=(e|0)!=0}t=e&n,e=i[f+240>>2],n=i[h+16936>>2],A=i[h+16928>>2],r=i[h+16924>>2],o=m(A,r);e:{if((o|0)!=i[f+244>>2]){if(G(e),e=Z2(o),i[f+240>>2]=e,!e){i[f+244>>2]=0,e=0;break e}i[f+244>>2]=o}i[f+256>>2]=A,i[f+252>>2]=r,i[f+248>>2]=n,e=(e|0)!=0}n=e&t,e=i[f+260>>2],A=(i[h+488>>2]+3|0)/4|0,r=(i[h+484>>2]+3|0)/4|0,t=m(A,r);e:{if((t|0)!=i[f+264>>2]){if(G(e),e=Z2(t),i[f+260>>2]=e,!e){i[f+264>>2]=0,e=0;break e}i[f+264>>2]=t}i[f+276>>2]=A,i[f+272>>2]=r,i[f+268>>2]=2,e=(e|0)!=0}if(t=e&n,h=i[k>>2],r=i[h+16892>>2],!((r|0)==i[f+152>>2]&i[f+156>>2]==i[h+16900>>2])){if(A=i[f+320>>2],A){if(r=A-4|0,e=i[r>>2],e){for(h=A+m(e,76)|0;h=h-76|0,(A|0)!=(h|0););h=i[k>>2]}G(r),r=i[h+16892>>2]}e=i[f+140>>2],n=i[h+16876>>2],A=i[h+16900>>2],h=m(A,r);e:{if((h|0)!=i[f+144>>2]){if(G(e),e=Z2(m(h,24)),i[f+140>>2]=e,!e){h=0,i[f+144>>2]=0,e=0;break e}i[f+144>>2]=h}i[f+156>>2]=A,i[f+152>>2]=r,i[f+148>>2]=n,e=(e|0)!=0}if(r=q0(h,0,76,0),A=r+4|0,r=U(w0||r>>>0>A>>>0?-1:A),i[r>>2]=h,r=r+4|0,h)for(A=r+m(h,76)|0,h=r;i[h>>2]=0,h=h+76|0,(A|0)!=(h|0););if(i[f+320>>2]=r,e&t)break r;C=7;break i}if(t)break r;C=7;break i}C=0}e=i[k+4>>2];i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return B=_+48|0,C}function eh(f,e,r,A,k,n,t,o,u,h){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0;var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;Z=h-8|0,v=n+3|0,R=B-((m(v,k)<<1)+15&-16)|0;i:{if((n|0)>=-2){if((k|0)<=0)break i;for(C=r-2|0,J=R+2|0,r=n+2|0,I=(r|0)>0?r:0,H=k&2147483646,a=k&1,y=k-t&3,p=-1,E=k-1|0,S=E-t>>>0<3;;){_=J+(p<<1)|0,h=C+(m(A,p)<<1)|0;r:{e:{A:switch(t|0){case 0:if(u=0,r=t,y)for(;X[_+(m(r,v)<<1)>>1]=Q[h+2>>1],r=r+1|0,h=h+2|0,u=u+1|0,(y|0)!=(u|0););if(S)break r;for(;X[_+(m(r,v)<<1)>>1]=Q[h+2>>1],X[_+(m(r+1|0,v)<<1)>>1]=Q[h+4>>1],X[_+(m(r+2|0,v)<<1)>>1]=Q[h+6>>1],X[_+(m(r+3|0,v)<<1)>>1]=Q[h+8>>1],h=h+8|0,r=r+4|0,(k|0)!=(r|0););break r;default:for(u=Q[h>>1],r=0;w=Q[h+2>>1],X[_+(m(r,v)<<1)>>1]=(m(Q[h+4>>1],58)+m(w,10)|0)-(Q[h+6>>1]+(u&65535)<<1)>>Z,h=h+2|0,u=w,r=r+1|0,(k|0)!=(r|0););break r;case 1:for(u=Q[h>>1],r=0;w=Q[h+2>>1],X[_+(m(r,v)<<1)>>1]=(m(Q[h+4>>1],10)+m(w,58)|0)-(Q[h+6>>1]+(u&65535)<<1)>>Z,h=h+2|0,u=w,r=r+1|0,(k|0)!=(r|0););break r;case 2:for(u=Q[h>>1],r=0;w=u&65535,u=Q[h+2>>1],X[_+(m(r,v)<<1)>>1]=m(u,54)+(Q[h+4>>1]<<4)-((w<<2)+(Q[h+6>>1]<<1))>>Z,h=h+2|0,r=r+1|0,(k|0)!=(r|0););break r;case 3:for(u=Q[h>>1],r=0;w=u&65535,u=Q[h+2>>1],X[_+(m(r,v)<<1)>>1]=((m(u,46)+m(w,-6)|0)+m(Q[h+4>>1],28)|0)-(Q[h+6>>1]<<2)>>Z,h=h+2|0,r=r+1|0,(k|0)!=(r|0););break r;case 4:if(u=Q[h>>1],r=0,W=0,!E)break e;for(;w=u&65535,u=Q[h+4>>1],D=Q[h+2>>1],z=Q[h+6>>1],X[_+(m(r,v)<<1)>>1]=m(u+D|0,36)-(w+z<<2)>>Z,X[_+(m(r|1,v)<<1)>>1]=m(u+z|0,36)-(Q[h+8>>1]+D<<2)>>Z,r=r+2|0,h=h+4|0,W=W+2|0,(H|0)!=(W|0););break e;case 5:for(u=Q[h>>1],r=0;w=u&65535,u=Q[h+2>>1],X[_+(m(r,v)<<1)>>1]=((m(u,28)-(w<<2)|0)+m(Q[h+4>>1],46)|0)+m(Q[h+6>>1],-6)>>Z,h=h+2|0,r=r+1|0,(k|0)!=(r|0););break r;case 6:break A}for(u=Q[h>>1],r=0;w=u&65535,u=Q[h+2>>1],X[_+(m(r,v)<<1)>>1]=m(Q[h+4>>1],54)+(u<<4)-((w<<1)+(Q[h+6>>1]<<2))>>Z,h=h+2|0,r=r+1|0,(k|0)!=(r|0););break r}if(!a)break r;X[_+(m(r,v)<<1)>>1]=m(Q[h+4>>1]+Q[h+2>>1]|0,36)-(Q[h+6>>1]+(u&65535)<<2)>>Z}if(p=p+1|0,(I|0)==(p|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(w=t?6:Z,Z=n&2147483646,y=n&1,_=n-o&3,p=0,C=n-1|0,J=C-o>>>0<3;;){t=(p<<1)+f|0,h=(m(v,p)<<1)+R|0;r:{e:{A:switch(o|0){case 0:if(u=0,r=o,_)for(;X[t+(m(e,r)<<1)>>1]=Q[h+2>>1],r=r+1|0,h=h+2|0,u=u+1|0,(_|0)!=(u|0););if(J)break r;for(;X[t+(m(e,r)<<1)>>1]=Q[h+2>>1],X[t+(m(r+1|0,e)<<1)>>1]=Q[h+4>>1],X[t+(m(r+2|0,e)<<1)>>1]=Q[h+6>>1],X[t+(m(r+3|0,e)<<1)>>1]=Q[h+8>>1],h=h+8|0,r=r+4|0,(n|0)!=(r|0););break r;default:for(u=Q[h>>1],r=0;A=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=(m(X[h+4>>1],58)+m(A,10)|0)-(X[h+6>>1]+(u<<16>>16)<<1)>>w,h=h+2|0,u=A,r=r+1|0,(n|0)!=(r|0););break r;case 1:for(u=Q[h>>1],r=0;A=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=(m(X[h+4>>1],10)+m(A,58)|0)-(X[h+6>>1]+(u<<16>>16)<<1)>>w,h=h+2|0,u=A,r=r+1|0,(n|0)!=(r|0););break r;case 2:for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=m(u,54)+(X[h+4>>1]<<4)-((A<<2)+(X[h+6>>1]<<1))>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r;case 3:for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=((m(u,46)+m(A,-6)|0)+m(X[h+4>>1],28)|0)-(X[h+6>>1]<<2)>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r;case 4:if(u=Q[h>>1],r=0,W=0,!C)break e;for(;A=u<<16>>16,u=X[h+4>>1],I=X[h+2>>1],E=A,A=X[h+6>>1],X[t+(m(e,r)<<1)>>1]=m(u+I|0,36)-(E+A<<2)>>w,X[t+(m(r|1,e)<<1)>>1]=m(A+u|0,36)-(I+X[h+8>>1]<<2)>>w,r=r+2|0,h=h+4|0,W=W+2|0,(Z|0)!=(W|0););break e;case 5:for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=((m(u,28)-(A<<2)|0)+m(X[h+4>>1],46)|0)+m(X[h+6>>1],-6)>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r;case 6:break A}for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=m(X[h+4>>1],54)+(u<<4)-((A<<1)+(X[h+6>>1]<<2))>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r}if(!y)break r;X[t+(m(e,r)<<1)>>1]=m(X[h+4>>1]+X[h+2>>1]|0,36)-(X[h+6>>1]+(u<<16>>16)<<2)>>w}if(p=p+1|0,(p|0)==(k|0))break}}}function Zr(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-48|0,B=k,t=k+36|0,W6(t,i[e+48>>2],r),o=l[k+47|0],n=(o|0)<0;i:{r:{if(((n?i[k+40>>2]:o)|0)!=4)break r;n=n?i[k+36>>2]:t,t=s[n+1|0]<<8,o=s[n+2|0]<<16|s[n+3|0]<<24;e:{if((s[n|0]|t|o)==1684632167||(n=o|(t|s[n|0]),(n|0)==1852138601))break e;if((n|0)!=1819701097)break r}n=i[e+48>>2],t=i[n+76>>2],n=i[n+80>>2],n&&(i[n+4>>2]=i[n+4>>2]+1);e:{if(!t){if(e=U(56),i[k+24>>2]=e,i[k+28>>2]=54,i[k+32>>2]=-2147483592,r=s[3983]|s[3984]<<8|(s[3985]<<16|s[3986]<<24),A=s[3979]|s[3980]<<8|(s[3981]<<16|s[3982]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+54|0]=0,r=s[4029]|s[4030]<<8|(s[4031]<<16|s[4032]<<24),A=s[4025]|s[4026]<<8|(s[4027]<<16|s[4028]<<24),l[e+46|0]=A,l[e+47|0]=A>>>8,l[e+48|0]=A>>>16,l[e+49|0]=A>>>24,l[e+50|0]=r,l[e+51|0]=r>>>8,l[e+52|0]=r>>>16,l[e+53|0]=r>>>24,r=s[4023]|s[4024]<<8|(s[4025]<<16|s[4026]<<24),A=s[4019]|s[4020]<<8|(s[4021]<<16|s[4022]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[4015]|s[4016]<<8|(s[4017]<<16|s[4018]<<24),A=s[4011]|s[4012]<<8|(s[4013]<<16|s[4014]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[4007]|s[4008]<<8|(s[4009]<<16|s[4010]<<24),A=s[4003]|s[4004]<<8|(s[4005]<<16|s[4006]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[3999]|s[4e3]<<8|(s[4001]<<16|s[4002]<<24),A=s[3995]|s[3996]<<8|(s[3997]<<16|s[3998]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[3991]|s[3992]<<8|(s[3993]<<16|s[3994]<<24),A=s[3987]|s[3988]<<8|(s[3989]<<16|s[3990]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,117,k+24|0),l[k+35|0]>=0)break e;G(i[k+24>>2]);break e}oi(k+24|0,t,r);A:{f:{if(t=i[k+24>>2],(t|0)!=i[k+28>>2]&&(o=r,r=i[t>>2],(o|0)!=(r|0)))break f;if(e=U(56),i[k+12>>2]=e,i[k+16>>2]=54,i[k+20>>2]=-2147483592,r=s[3983]|s[3984]<<8|(s[3985]<<16|s[3986]<<24),A=s[3979]|s[3980]<<8|(s[3981]<<16|s[3982]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+54|0]=0,r=s[4029]|s[4030]<<8|(s[4031]<<16|s[4032]<<24),A=s[4025]|s[4026]<<8|(s[4027]<<16|s[4028]<<24),l[e+46|0]=A,l[e+47|0]=A>>>8,l[e+48|0]=A>>>16,l[e+49|0]=A>>>24,l[e+50|0]=r,l[e+51|0]=r>>>8,l[e+52|0]=r>>>16,l[e+53|0]=r>>>24,r=s[4023]|s[4024]<<8|(s[4025]<<16|s[4026]<<24),A=s[4019]|s[4020]<<8|(s[4021]<<16|s[4022]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[4015]|s[4016]<<8|(s[4017]<<16|s[4018]<<24),A=s[4011]|s[4012]<<8|(s[4013]<<16|s[4014]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[4007]|s[4008]<<8|(s[4009]<<16|s[4010]<<24),A=s[4003]|s[4004]<<8|(s[4005]<<16|s[4006]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[3999]|s[4e3]<<8|(s[4001]<<16|s[4002]<<24),A=s[3995]|s[3996]<<8|(s[3997]<<16|s[3998]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[3991]|s[3992]<<8|(s[3993]<<16|s[3994]<<24),A=s[3987]|s[3988]<<8|(s[3989]<<16|s[3990]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,117,k+12|0),l[k+23|0]>=0)break A;G(i[k+12>>2]);break A}Zr(f,e,r,A)}if(f=i[k+24>>2],!f)break e;i[k+28>>2]=f,G(f)}if(!n||(f=i[n+4>>2],i[n+4>>2]=f-1,f))break i;V[i[i[n>>2]+8>>2]](n),g(n);break i}if(i[A>>2]=r,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}l[k+47|0]<0&&G(i[k+36>>2]),B=k+48|0}function Ah(f,e,r,A,k,n,t,o,u,h){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0;var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;Z=h-8|0,v=n+3|0,R=B-((m(v,k)<<1)+15&-16)|0;i:{if((n|0)>=-2){if((k|0)<=0)break i;for(C=r-1|0,J=R+2|0,r=n+2|0,I=(r|0)>0?r:0,H=k&2147483646,a=k&1,y=k-t&3,p=-1,E=k-1|0,S=E-t>>>0<3;;){_=J+(p<<1)|0,h=C+m(A,p)|0;r:{e:{A:switch(t|0){case 0:if(u=0,r=t,y)for(;X[_+(m(r,v)<<1)>>1]=s[h+1|0],r=r+1|0,h=h+1|0,u=u+1|0,(y|0)!=(u|0););if(S)break r;for(;X[_+(m(r,v)<<1)>>1]=s[h+1|0],X[_+(m(r+1|0,v)<<1)>>1]=s[h+2|0],X[_+(m(r+2|0,v)<<1)>>1]=s[h+3|0],X[_+(m(r+3|0,v)<<1)>>1]=s[h+4|0],h=h+4|0,r=r+4|0,(k|0)!=(r|0););break r;default:for(u=s[h|0],r=0;w=s[h+1|0],X[_+(m(r,v)<<1)>>1]=(m(s[h+2|0],58)+m(w,10)|0)-(s[h+3|0]+(u&255)<<1)>>Z,h=h+1|0,u=w,r=r+1|0,(k|0)!=(r|0););break r;case 1:for(u=s[h|0],r=0;w=s[h+1|0],X[_+(m(r,v)<<1)>>1]=(m(s[h+2|0],10)+m(w,58)|0)-(s[h+3|0]+(u&255)<<1)>>Z,h=h+1|0,u=w,r=r+1|0,(k|0)!=(r|0););break r;case 2:for(u=s[h|0],r=0;w=u&255,u=s[h+1|0],X[_+(m(r,v)<<1)>>1]=m(u,54)+(s[h+2|0]<<4)-((w<<2)+(s[h+3|0]<<1))>>Z,h=h+1|0,r=r+1|0,(k|0)!=(r|0););break r;case 3:for(u=s[h|0],r=0;w=u&255,u=s[h+1|0],X[_+(m(r,v)<<1)>>1]=((m(u,46)+m(w,-6)|0)+m(s[h+2|0],28)|0)-(s[h+3|0]<<2)>>Z,h=h+1|0,r=r+1|0,(k|0)!=(r|0););break r;case 4:if(u=s[h|0],r=0,W=0,!E)break e;for(;w=u&255,u=s[h+2|0],D=s[h+1|0],z=s[h+3|0],X[_+(m(r,v)<<1)>>1]=m(u+D|0,36)-(w+z<<2)>>Z,X[_+(m(r|1,v)<<1)>>1]=m(u+z|0,36)-(s[h+4|0]+D<<2)>>Z,r=r+2|0,h=h+2|0,W=W+2|0,(H|0)!=(W|0););break e;case 5:for(u=s[h|0],r=0;w=u&255,u=s[h+1|0],X[_+(m(r,v)<<1)>>1]=((m(u,28)-(w<<2)|0)+m(s[h+2|0],46)|0)+m(s[h+3|0],-6)>>Z,h=h+1|0,r=r+1|0,(k|0)!=(r|0););break r;case 6:break A}for(u=s[h|0],r=0;w=u&255,u=s[h+1|0],X[_+(m(r,v)<<1)>>1]=m(s[h+2|0],54)+(u<<4)-((w<<1)+(s[h+3|0]<<2))>>Z,h=h+1|0,r=r+1|0,(k|0)!=(r|0););break r}if(!a)break r;X[_+(m(r,v)<<1)>>1]=m(s[h+2|0]+s[h+1|0]|0,36)-(s[h+3|0]+(u&255)<<2)>>Z}if(p=p+1|0,(I|0)==(p|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(w=t?6:Z,Z=n&2147483646,y=n&1,_=n-o&3,p=0,C=n-1|0,J=C-o>>>0<3;;){t=(p<<1)+f|0,h=(m(v,p)<<1)+R|0;r:{e:{A:switch(o|0){case 0:if(u=0,r=o,_)for(;X[t+(m(e,r)<<1)>>1]=Q[h+2>>1],r=r+1|0,h=h+2|0,u=u+1|0,(_|0)!=(u|0););if(J)break r;for(;X[t+(m(e,r)<<1)>>1]=Q[h+2>>1],X[t+(m(r+1|0,e)<<1)>>1]=Q[h+4>>1],X[t+(m(r+2|0,e)<<1)>>1]=Q[h+6>>1],X[t+(m(r+3|0,e)<<1)>>1]=Q[h+8>>1],h=h+8|0,r=r+4|0,(n|0)!=(r|0););break r;default:for(u=Q[h>>1],r=0;A=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=(m(X[h+4>>1],58)+m(A,10)|0)-(X[h+6>>1]+(u<<16>>16)<<1)>>w,h=h+2|0,u=A,r=r+1|0,(n|0)!=(r|0););break r;case 1:for(u=Q[h>>1],r=0;A=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=(m(X[h+4>>1],10)+m(A,58)|0)-(X[h+6>>1]+(u<<16>>16)<<1)>>w,h=h+2|0,u=A,r=r+1|0,(n|0)!=(r|0););break r;case 2:for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=m(u,54)+(X[h+4>>1]<<4)-((A<<2)+(X[h+6>>1]<<1))>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r;case 3:for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=((m(u,46)+m(A,-6)|0)+m(X[h+4>>1],28)|0)-(X[h+6>>1]<<2)>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r;case 4:if(u=Q[h>>1],r=0,W=0,!C)break e;for(;A=u<<16>>16,u=X[h+4>>1],I=X[h+2>>1],E=A,A=X[h+6>>1],X[t+(m(e,r)<<1)>>1]=m(u+I|0,36)-(E+A<<2)>>w,X[t+(m(r|1,e)<<1)>>1]=m(A+u|0,36)-(I+X[h+8>>1]<<2)>>w,r=r+2|0,h=h+4|0,W=W+2|0,(Z|0)!=(W|0););break e;case 5:for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=((m(u,28)-(A<<2)|0)+m(X[h+4>>1],46)|0)+m(X[h+6>>1],-6)>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r;case 6:break A}for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=m(X[h+4>>1],54)+(u<<4)-((A<<1)+(X[h+6>>1]<<2))>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r}if(!y)break r;X[t+(m(e,r)<<1)>>1]=m(X[h+4>>1]+X[h+2>>1]|0,36)-(X[h+6>>1]+(u<<16>>16)<<2)>>w}if(p=p+1|0,(p|0)==(k|0))break}}}function fh(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;if(h=B-32|0,B=h,n=i[f>>2],Zr(h+8|0,i[n+16>>2],i[n+20>>2],h+28|0),f=-1,!i[h+8>>2]){u=i[h+28>>2],r=B-128|0,B=r,o=i[i[n+16>>2]+48>>2],n=o+112|0;i:{r:{e=i[o+112>>2];e:{if(!e)break e;for(f=n;A=k0[e+16>>2]<u>>>0,f=A?f:e,e=i[(A<<2)+e>>2],!!e;);if(A=0,(f|0)==(n|0)|k0[f+16>>2]>u>>>0)break e;if(e=i[f+20>>2],A=i[f+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),e)break r}l[r+112|0]=0,l[r+123|0]=0;break i}if(l[e+75|0]>=0){f=e- -64|0,i[r+120>>2]=i[f+8>>2],e=i[f+4>>2],i[r+112>>2]=i[f>>2],i[r+116>>2]=e;break i}_0(r+112|0,i[e+64>>2],i[e+68>>2])}i:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}e=l[r+123|0],k=(e|0)<0,f=i[r+116>>2];i:{r:{if(((k?f:e)|0)!=4||(k=k?i[r+112>>2]:r+112|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=828601960))break r;p4(r+32|0,i[o+44>>2],u,o+52|0,1752589123),e=i[r+32>>2];e:{if(!e){f=0;break e}if(f=0,A=N0(e,68572,74292),!A)break e;if(e=i[r+36>>2],!e){A=s[A+71|0],f=1;break e}if(f=1,k=i[e+4>>2],t=k+1|0,i[e+4>>2]=t,A=s[A+71|0],i[e+4>>2]=k,t)break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[r+36>>2];e:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(f)break i;e=s[r+123|0],f=i[r+116>>2]}k=e<<24>>24;r:{if((((k|0)<0?f:e)|0)!=4||(t=0,k=(k|0)<0?i[r+112>>2]:r+112|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=828601974))break r;p4(r+12|0,i[o+44>>2],u,o+52|0,1987470147),f=i[r+12>>2];e:{if(!f||(e=N0(f,68572,74976),!e)||(f=i[r+16>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),A=i[e+60>>2],i[r+32>>2]=i[e+56>>2],i[r+36>>2]=A,_n(r+40|0,e- -64|0),X[r+100>>1]=Q[e+124>>1],i[r+96>>2]=i[e+120>>2],e=s[r+39|0],k=s[r+33|0],A=i[r+84>>2],A&&(i[r+88>>2]=A,G(A)),A=i[r+72>>2],A&&(i[r+76>>2]=A,G(A)),A=i[r+60>>2],A&&G(A),A=i[r+48>>2],A&&(i[r+52>>2]=A,G(A)),A=k?e+8|0:8,t=1,!f)||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+16>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(t)break i;e=s[r+123|0],f=i[r+116>>2]}k=e<<24>>24<0;r:{if(((k?f:e)|0)!=4||(k=k?i[r+112>>2]:r+112|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=825259617))break r;p4(r+32|0,i[o+44>>2],u,o+52|0,1635135811),e=i[r+32>>2];e:{if(!e){f=0;break e}if(f=0,k=N0(e,68572,74408),!k)break e;if(e=i[r+36>>2],!e){A=s[k+52|0]?s[k+53|0]?12:10:8,f=1;break e}if(f=1,A=i[e+4>>2],t=A+1|0,i[e+4>>2]=t,w=s[k+52|0],k=s[k+53|0],i[e+4>>2]=A,A=w?k?12:10:8,t)break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[r+36>>2];e:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(f)break i;e=s[r+123|0],f=i[r+116>>2]}r:{A=e<<24>>24;e:{if((((A|0)<0?f:e)|0)!=4)break e;if(A=(A|0)<0?i[r+112>>2]:r+112|0,k=s[A+1|0]<<8,t=s[A+2|0]<<16|s[A+3|0]<<24,(s[A|0]|k|t)==1734701162)break r;if((t|(k|s[A|0]))!=1701669229)break e;A=0;A:{f:{e=i[n>>2];k:{if(!e)break k;for(f=n;A=k0[e+16>>2]<u>>>0,f=A?f:e,e=i[(A<<2)+e>>2],!!e;);if(A=0,(f|0)==(n|0)|k0[f+16>>2]>u>>>0)break k;if(n=i[f+20>>2],A=i[f+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),n)break f}l[r+32|0]=0,l[r+43|0]=0;break A}if(l[n+99|0]>=0){i[r+40>>2]=i[n+96>>2],f=i[n+92>>2],i[r+32>>2]=i[n+88>>2],i[r+36>>2]=f;break A}_0(r+32|0,i[n+88>>2],i[n+92>>2])}A:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break A;V[i[i[A>>2]+8>>2]](A),g(A)}if(f=0,A=l[r+43|0],n=(A|0)<0,((n?i[r+36>>2]:A)|0)==10&&(f=!K2(n?i[r+32>>2]:r+32|0,8704,10)),(A|0)<0&&G(i[r+32>>2]),f)break r;e=s[r+123|0],f=i[r+116>>2]}if(A=-1,n=f,f=e<<24>>24<0,((f?n:e)|0)!=4||(f=f?i[r+112>>2]:r+112|0,(s[f|0]|s[f+1|0]<<8|(s[f+2|0]<<16|s[f+3|0]<<24))!=829108842))break i;X[r+32>>1]=0,B0(r+36|0,0,68),wA(r+12|0,r+32|0,o,u),A=-1;e:{if(i[r+12>>2]||(f=i[r+68>>2],A=-1,i[r+72>>2]-f>>>0<5))break e;A=s[f+6|0]}if(l[r+31|0]<0&&G(i[r+20>>2]),f=i[r+92>>2],f&&(i[r+96>>2]=f,G(f)),f=i[r+80>>2],f&&(i[r+84>>2]=f,G(f)),f=i[r+68>>2],!f)break i;i[r+72>>2]=f,G(f);break i}A=J7(o,u)}l[r+123|0]<0&&G(i[r+112>>2]),B=r+128|0,f=A}return l[h+27|0]<0&&G(i[h+16>>2]),B=h+32|0,f|0}function kh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;if(n=B-32|0,B=n,_=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+57|0]|s[e+56|0]<<1&6|248),s[e+57|0]==1){w2(r,(s[e+62|0]|(s[e+60|0]<<4|Q[e+58>>1]<<7|s[e+61|0]<<2))&65535),A2(r,(s[e+63|0]<<5|31)&255),A2(r,s[e+64|0]&63),A2(r,s[e+66|0]|s[e+65|0]<<1&254),A2(r,s[e+67|0]);i:{if(!s[e+64|0]||(A2(r,(s[i[e+72>>2]]|(s[e+69|0]<<6|s[e+68|0]<<7))&255),A=1,s[e+64|0]<=1))break i;for(;A2(r,s[i[e+72>>2]+A|0]),A=A+1|0,A>>>0<s[e+64|0];);}A=s[e+60|0];i:{if(A>>>0<=1)break i;k=A-1|0,h=k&1,o=i[e+84>>2],A=A-2|0;r:{if(!A){t=128,k=0;break r}for(v=k&-2,t=128,k=0;u=A-1|0,Z=0-(i[o+(u>>>3&536870908)>>2]>>>u&1)|0,u=t&255,k=Z&u>>>1|(0-(i[o+(A>>>3&536870908)>>2]>>>A&1)&t|k),A=A-2|0,t=u>>>2|0,w=w+2|0,(w|0)!=(v|0););}if(!h)break i;k=0-(i[o+(A>>>3&536870908)>>2]>>>A&1)&t|k}if(A2(r,k&255),A=s[e+60|0],A>>>0>=2)for(A=A-2|0;i[i[e+84>>2]+(A>>>3&536870908)>>2]>>>A&1&&A2(r,s[i[e+96>>2]+A|0]),k=(A|0)>0,A=A-1|0,!!k;);if(k=i[e+112>>2]-i[e+108>>2]>>>2&255,A2(r,k),k)for(A=0;l2(r,i[i[e+108>>2]+(A<<2)>>2]),A=A+1|0,(k|0)!=(A|0););w2(r,Q[e+120>>1]),w2(r,Q[e+122>>1]),w2(r,Q[e+124>>1])}A=i[e+132>>2]-i[e+128>>2]>>4;i:{if(A>>>0>=256){if(e=U(32),i[n+20>>2]=e,i[n+24>>2]=24,i[n+28>>2]=-2147483616,r=s[17552]|s[17553]<<8|(s[17554]<<16|s[17555]<<24),A=s[17548]|s[17549]<<8|(s[17550]<<16|s[17551]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+24|0]=0,r=s[17568]|s[17569]<<8|(s[17570]<<16|s[17571]<<24),A=s[17564]|s[17565]<<8|(s[17566]<<16|s[17567]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[17560]|s[17561]<<8|(s[17562]<<16|s[17563]<<24),A=s[17556]|s[17557]<<8|(s[17558]<<16|s[17559]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,9,0,n+20|0),l[n+31|0]>=0)break i;G(i[n+20>>2]);break i}if(A2(r,A&255),k=i[e+128>>2],t=i[e+132>>2],(k|0)!=(t|0))for(;;){if(A2(r,s[k+1|0]|(s[k|0]?128:0)),A=(i[k+8>>2]-i[k+4>>2]|0)/12|0,A>>>0>=65536){if(e=U(24),i[n+20>>2]=e,i[n+24>>2]=23,i[n+28>>2]=-2147483624,r=s[17577]|s[17578]<<8|(s[17579]<<16|s[17580]<<24),A=s[17573]|s[17574]<<8|(s[17575]<<16|s[17576]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+23|0]=0,r=s[17592]|s[17593]<<8|(s[17594]<<16|s[17595]<<24),A=s[17588]|s[17589]<<8|(s[17590]<<16|s[17591]<<24),l[e+15|0]=A,l[e+16|0]=A>>>8,l[e+17|0]=A>>>16,l[e+18|0]=A>>>24,l[e+19|0]=r,l[e+20|0]=r>>>8,l[e+21|0]=r>>>16,l[e+22|0]=r>>>24,r=s[17585]|s[17586]<<8|(s[17587]<<16|s[17588]<<24),A=s[17581]|s[17582]<<8|(s[17583]<<16|s[17584]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,9,0,n+20|0),l[n+31|0]>=0)break i;G(i[n+20>>2]);break i}if(w2(r,A&65535),A=i[k+4>>2],o=i[k+8>>2],(A|0)!=(o|0))for(;;){if(h=i[A+4>>2]-i[A>>2]|0,h>>>0>=65536){if(e=U(24),i[n+20>>2]=e,i[n+24>>2]=18,i[n+28>>2]=-2147483624,r=s[17830]|s[17831]<<8|(s[17832]<<16|s[17833]<<24),A=s[17826]|s[17827]<<8|(s[17828]<<16|s[17829]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+18|0]=0,r=s[17842]|s[17843]<<8,l[e+16|0]=r,l[e+17|0]=r>>>8,r=s[17838]|s[17839]<<8|(s[17840]<<16|s[17841]<<24),A=s[17834]|s[17835]<<8|(s[17836]<<16|s[17837]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,9,0,n+20|0),l[n+31|0]>=0)break i;G(i[n+20>>2]);break i}if(w2(r,h&65535),D4(r,A),A=A+12|0,(o|0)==(A|0))break}if(k=k+16|0,(t|0)==(k|0))break}if(Y4(n,e,r,_),l[n+19|0]<0&&G(i[n+8>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+32|0}function Ek(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;if(h=B-32|0,B=h,Zr(h+8|0,i[f+16>>2],i[f+20>>2],h+28|0),n=-1,!i[h+8>>2]){u=i[h+28>>2],r=B-128|0,B=r,o=i[i[f+16>>2]+48>>2],n=o+112|0;i:{r:{e=i[o+112>>2];e:{if(!e)break e;for(f=n;A=k0[e+16>>2]<u>>>0,f=A?f:e,e=i[(A<<2)+e>>2],!!e;);if(A=0,(f|0)==(n|0)|k0[f+16>>2]>u>>>0)break e;if(e=i[f+20>>2],A=i[f+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),e)break r}l[r+112|0]=0,l[r+123|0]=0;break i}if(l[e+75|0]>=0){f=e- -64|0,i[r+120>>2]=i[f+8>>2],e=i[f+4>>2],i[r+112>>2]=i[f>>2],i[r+116>>2]=e;break i}_0(r+112|0,i[e+64>>2],i[e+68>>2])}i:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}e=l[r+123|0],k=(e|0)<0,f=i[r+116>>2];i:{r:{if(((k?f:e)|0)!=4||(k=k?i[r+112>>2]:r+112|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=828601960))break r;p4(r+32|0,i[o+44>>2],u,o+52|0,1752589123),e=i[r+32>>2];e:{if(!e){f=0;break e}if(f=0,A=N0(e,68572,74292),!A)break e;if(e=i[r+36>>2],!e){A=s[A+70|0],f=1;break e}if(f=1,k=i[e+4>>2],t=k+1|0,i[e+4>>2]=t,A=s[A+70|0],i[e+4>>2]=k,t)break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[r+36>>2];e:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(f)break i;e=s[r+123|0],f=i[r+116>>2]}k=e<<24>>24;r:{if((((k|0)<0?f:e)|0)!=4||(t=0,k=(k|0)<0?i[r+112>>2]:r+112|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=828601974))break r;p4(r+12|0,i[o+44>>2],u,o+52|0,1987470147),f=i[r+12>>2];e:{if(!f||(e=N0(f,68572,74976),!e)||(f=i[r+16>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),A=i[e+60>>2],i[r+32>>2]=i[e+56>>2],i[r+36>>2]=A,_n(r+40|0,e- -64|0),X[r+100>>1]=Q[e+124>>1],i[r+96>>2]=i[e+120>>2],e=s[r+39|0],k=s[r+33|0],A=i[r+84>>2],A&&(i[r+88>>2]=A,G(A)),A=i[r+72>>2],A&&(i[r+76>>2]=A,G(A)),A=i[r+60>>2],A&&G(A),A=i[r+48>>2],A&&(i[r+52>>2]=A,G(A)),A=k?e+8|0:8,t=1,!f)||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+16>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(t)break i;e=s[r+123|0],f=i[r+116>>2]}k=e<<24>>24<0;r:{if(((k?f:e)|0)!=4||(k=k?i[r+112>>2]:r+112|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=825259617))break r;p4(r+32|0,i[o+44>>2],u,o+52|0,1635135811),e=i[r+32>>2];e:{if(!e){f=0;break e}if(f=0,k=N0(e,68572,74408),!k)break e;if(e=i[r+36>>2],!e){A=s[k+52|0]?s[k+53|0]?12:10:8,f=1;break e}if(f=1,A=i[e+4>>2],t=A+1|0,i[e+4>>2]=t,w=s[k+52|0],k=s[k+53|0],i[e+4>>2]=A,A=w?k?12:10:8,t)break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[r+36>>2];e:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(f)break i;e=s[r+123|0],f=i[r+116>>2]}r:{A=e<<24>>24;e:{if((((A|0)<0?f:e)|0)!=4)break e;if(A=(A|0)<0?i[r+112>>2]:r+112|0,k=s[A+1|0]<<8,t=s[A+2|0]<<16|s[A+3|0]<<24,(s[A|0]|k|t)==1734701162)break r;if((t|(k|s[A|0]))!=1701669229)break e;A=0;A:{f:{e=i[n>>2];k:{if(!e)break k;for(f=n;A=k0[e+16>>2]<u>>>0,f=A?f:e,e=i[(A<<2)+e>>2],!!e;);if(A=0,(f|0)==(n|0)|k0[f+16>>2]>u>>>0)break k;if(n=i[f+20>>2],A=i[f+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),n)break f}l[r+32|0]=0,l[r+43|0]=0;break A}if(l[n+99|0]>=0){i[r+40>>2]=i[n+96>>2],f=i[n+92>>2],i[r+32>>2]=i[n+88>>2],i[r+36>>2]=f;break A}_0(r+32|0,i[n+88>>2],i[n+92>>2])}A:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break A;V[i[i[A>>2]+8>>2]](A),g(A)}if(f=0,A=l[r+43|0],n=(A|0)<0,((n?i[r+36>>2]:A)|0)==10&&(f=!K2(n?i[r+32>>2]:r+32|0,8704,10)),(A|0)<0&&G(i[r+32>>2]),f)break r;e=s[r+123|0],f=i[r+116>>2]}if(A=-1,n=f,f=e<<24>>24<0,((f?n:e)|0)!=4||(f=f?i[r+112>>2]:r+112|0,(s[f|0]|s[f+1|0]<<8|(s[f+2|0]<<16|s[f+3|0]<<24))!=829108842))break i;X[r+32>>1]=0,B0(r+36|0,0,68),wA(r+12|0,r+32|0,o,u),A=-1;e:{if(i[r+12>>2]||(f=i[r+68>>2],A=-1,(f|0)==i[r+72>>2]))break e;A=s[f+2|0]}if(l[r+31|0]<0&&G(i[r+20>>2]),f=i[r+92>>2],f&&(i[r+96>>2]=f,G(f)),f=i[r+80>>2],f&&(i[r+84>>2]=f,G(f)),f=i[r+68>>2],!f)break i;i[r+72>>2]=f,G(f);break i}A=J7(o,u)}l[r+123|0]<0&&G(i[r+112>>2]),B=r+128|0,n=A}return l[h+27|0]<0&&G(i[h+16>>2]),B=h+32|0,n}function nh(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0;o=B-48|0,B=o,i[o+44>>2]=e,i[k>>2]=0,u=i[A+28>>2],i[o>>2]=u,(u|0)!=100008&&(i[u+4>>2]=i[u+4>>2]+1),u=x0(o,100184),O0(o);i:{r:{e:{A:switch(t-65|0){case 0:case 32:Bt(f,n+24|0,o+44|0,r,k,u);break r;case 1:case 33:case 39:ht(f,n+16|0,o+44|0,r,k,u);break r;case 34:e=V[i[i[f+8>>2]+12>>2]](f+8|0)|0,t=f,h=i[o+44>>2],s[e+11|0]>>>7|0?f=i[e>>2]:f=e,u=f,s[e+11|0]>>>7|0?f=i[e>>2]:f=e,s[e+11|0]>>>7|0?e=i[e+4>>2]:e=s[e+11|0]&127,w=o,_=Z8(t,h,r,A,k,n,u,f+(e<<2)|0),i[w+44>>2]=_;break r;case 35:case 36:f=$4(o+44|0,r,k,u,2),e=i[k>>2];f:{if(!(f-1>>>0>30|e&4)){i[n+12>>2]=f;break f}i[k>>2]=e|4}break r;case 3:t=i[15039],i[o+24>>2]=i[15038],i[o+28>>2]=t,t=i[15037],i[o+16>>2]=i[15036],i[o+20>>2]=t,t=i[15035],i[o+8>>2]=i[15034],i[o+12>>2]=t,t=i[15033],i[o>>2]=i[15032],i[o+4>>2]=t,w=o,_=Z8(f,e,r,A,k,n,o,o+32|0),i[w+44>>2]=_;break r;case 5:t=i[15047],i[o+24>>2]=i[15046],i[o+28>>2]=t,t=i[15045],i[o+16>>2]=i[15044],i[o+20>>2]=t,t=i[15043],i[o+8>>2]=i[15042],i[o+12>>2]=t,t=i[15041],i[o>>2]=i[15040],i[o+4>>2]=t,w=o,_=Z8(f,e,r,A,k,n,o,o+32|0),i[w+44>>2]=_;break r;case 7:f=$4(o+44|0,r,k,u,2),e=i[k>>2];f:{if(!((f|0)>23|e&4)){i[n+8>>2]=f;break f}i[k>>2]=e|4}break r;case 8:f=$4(o+44|0,r,k,u,2),e=i[k>>2];f:{if(!(f-1>>>0>11|e&4)){i[n+8>>2]=f;break f}i[k>>2]=e|4}break r;case 41:f=$4(o+44|0,r,k,u,3),e=i[k>>2];f:{if(!((f|0)>365|e&4)){i[n+28>>2]=f;break f}i[k>>2]=e|4}break r;case 44:e=$4(o+44|0,r,k,u,2)-1|0,f=i[k>>2];f:{if(!(e>>>0>11|f&4)){i[n+16>>2]=e;break f}i[k>>2]=f|4}break r;case 12:f=$4(o+44|0,r,k,u,2),e=i[k>>2];f:{if(!((f|0)>59|e&4)){i[n+4>>2]=f;break f}i[k>>2]=e|4}break r;case 45:case 51:for(f=o+44|0,e=B-16|0,B=e,i[e+12>>2]=r;;){f:{if(g2(f,e+12|0))break f;r=i[f>>2],A=i[r+12>>2];k:{if((A|0)==i[r+16>>2]){r=V[i[i[r>>2]+36>>2]](r)|0;break k}r=i[A>>2]}if(!(V[i[i[u>>2]+12>>2]](u,1,r)|0))break f;Y1(f);continue}break}g2(f,e+12|0)&&(i[k>>2]=i[k>>2]|2),B=e+16|0;break r;case 47:t=o+44|0,e=V[i[i[f+8>>2]+8>>2]](f+8|0)|0;f:{if(s[e+11|0]>>>7|0){f=i[e+4>>2];break f}f=s[e+11|0]&127}s[e+23|0]>>>7|0?A=i[e+16>>2]:A=s[e+23|0]&127;f:{if((f|0)==(0-A|0)){i[k>>2]=i[k>>2]|4;break f}if(r=Rr(t,r,e,e+24|0,u,k,0),f=i[n+8>>2],!((r|0)!=(e|0)|(f|0)!=12)){i[n+8>>2]=0;break f}(r-e|0)!=12|(f|0)>11||(i[n+8>>2]=f+12)}break r;case 49:t=l0(o,60192,44),w=t,_=Z8(f,e,r,A,k,n,t,t+44|0),i[w+44>>2]=_;break r;case 17:i[o+16>>2]=i[15064],t=i[15063],i[o+8>>2]=i[15062],i[o+12>>2]=t,t=i[15061],i[o>>2]=i[15060],i[o+4>>2]=t,w=o,_=Z8(f,e,r,A,k,n,o,o+20|0),i[w+44>>2]=_;break r;case 18:f=$4(o+44|0,r,k,u,2),e=i[k>>2];f:{if(!((f|0)>60|e&4)){i[n>>2]=f;break f}i[k>>2]=e|4}break r;case 19:t=i[15075],i[o+24>>2]=i[15074],i[o+28>>2]=t,t=i[15073],i[o+16>>2]=i[15072],i[o+20>>2]=t,t=i[15071],i[o+8>>2]=i[15070],i[o+12>>2]=t,t=i[15069],i[o>>2]=i[15068],i[o+4>>2]=t,w=o,_=Z8(f,e,r,A,k,n,o,o+32|0),i[w+44>>2]=_;break r;case 54:f=$4(o+44|0,r,k,u,1),e=i[k>>2];f:{if(!((f|0)>6|e&4)){i[n+24>>2]=f;break f}i[k>>2]=e|4}break r;case 55:f=V[i[i[f>>2]+20>>2]](f,e,r,A,k,n)|0;break i;case 23:e=V[i[i[f+8>>2]+24>>2]](f+8|0)|0,t=f,h=i[o+44>>2],s[e+11|0]>>>7|0?f=i[e>>2]:f=e,u=f,s[e+11|0]>>>7|0?f=i[e>>2]:f=e,s[e+11|0]>>>7|0?e=i[e+4>>2]:e=s[e+11|0]&127,w=o,_=Z8(t,h,r,A,k,n,u,f+(e<<2)|0),i[w+44>>2]=_;break r;case 56:Yt(n+20|0,o+44|0,r,k,u);break r;case 24:f=$4(o+44|0,r,k,u,4),s[k|0]&4||(i[n+20>>2]=f-1900);break r;default:if((t|0)==37)break e;break;case 2:case 4:case 6:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 20:case 21:case 22:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 37:case 38:case 40:case 42:case 43:case 46:case 48:case 50:case 52:case 53:break A}i[k>>2]=i[k>>2]|4;break r}f=B-16|0,B=f,i[f+12>>2]=r,r=o+44|0,n=f+12|0,e=6;e:{A:{if(g2(r,n))break A;e=i[r>>2],A=i[e+12>>2];f:{if((A|0)==i[e+16>>2]){A=V[i[i[e>>2]+36>>2]](e)|0;break f}A=i[A>>2]}if(e=4,(V[i[i[u>>2]+52>>2]](u,A,0)|0)!=37)break A;if(!g2(Y1(r),n))break e;e=2}i[k>>2]=e|i[k>>2]}B=f+16|0}f=i[o+44>>2]}return B=o+48|0,f|0}function WA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0,B1=0,p1=0,W1=0,X1=0,N1=0,r4=0,e4=0,V4=0,M4=0,x4=0,Hi=0,Ti=0,ai=0;i:{r:{w=i[f+276>>2],I0=(A|0)>(w|0)?w:A;e:{if((I0|0)<=(r|0)||(j=i[f+272>>2],Q0=(k|0)>(j|0)?j:k,(Q0|0)<=0))break e;for(q=i[f+124>>2],L=i[q+16856>>2],q2=L<<(e^1),p0=i[q+16852>>2],b2=p0<<e,e1=f+4|0,A1=3-L|0,h1=3-p0|0,A=i[q+16840>>2],B1=A-8|0,u=-1<<A^-1,W=i[f+44>>2],F0=m(W,6),Y0=W<<2,D=W<<1,S0=0-D|0,p1=i[f+260>>2],A0=m(W,6),W1=0-W<<1,X1=1-W<<1,N1=2-W<<1,r4=3-W<<1;;){for(A=r<<A1,e4=m(A,W),f0=m(A,L),V4=f0-1|0,M4=m((f0|0)/4|0,j)+p1|0,n0=0;;){if(k=n0<<h1,h0=m(k,p0),A=s[((h0|0)/4|0)+M4|0]&3,A>>>0>1)for(w=1,x4=(A<<1)-2|0,A=i[f+168>>2],J=h0-1>>A,R=V4>>A,X0=f0>>A,G0=h0>>A,A=k+e4|0,Hi=A+W<<1,c0=A<<1,Ti=c0+S0|0,ai=i[f+132>>2],A=1;;){k=i[(A<<2)+e1>>2],_=k+c0|0;A:{if(!e){z=_+6|0,H=_+4|0,a=_+2|0,A=k+Hi|0,v=A+6|0,Z=A+4|0,C=A+2|0,k=k+Ti|0,S=k+6|0,I=k+S0|0,t=I+6|0,h=I+4|0,y=I+2|0,E=k+4|0,n=k+2|0;break A}I=_-4|0,t=A0+I|0,A=_+2|0,v=A0+A|0,o=D<<1,h=o+I|0,Z=A+o|0,y=I+D|0,C=A+D|0,k=_-2|0,S=A0+k|0,z=_+A0|0,H=o+_|0,a=_+D|0,E=k+o|0,n=k+D|0}if((G0|0)<0||(o=i[f+172>>2],(o|0)<=(G0|0)))break r;if((X0|0)<0||(p=i[f+176>>2],(p|0)<=(X0|0)))break i;r2=Q[t>>1],n2=Q[h>>1],s2=Q[y>>1],d=Q[I>>1],S=Q[S>>1],t=Q[E>>1],n=Q[n>>1],h=Q[k>>1],W2=Q[v>>1],y2=Q[Z>>1],x2=Q[C>>1],T2=Q[A>>1],z=Q[z>>1],H=Q[H>>1],a=Q[a>>1],v=Q[_>>1],I=w,k=i[(w?32:36)+ai>>2],C=i[f+160>>2],y=C+m(G0,3)|0,E=m(m(o,X0),3),w=y+E|0,Z=l[w+2|0];A:{if(!e){if((R|0)<0|(p|0)<=(R|0))break i;A=(y+m(m(o,R),3)|0)+2|0;break A}if((J|0)<0|o>>>0<=J>>>0)break r;A=(E+(C+m(J,3)|0)|0)+2|0}k=k+((Z+l[A|0]|0)+1>>1)|0;A:{if(i[q+16848>>2]!=1){k=(k|0)>=51?51:k;break A}if((k|0)<30)break A;if(k>>>0<=42){k=i[(k<<2)+45912>>2];break A}k=k-6|0}if(Z=i[f+148>>2],A=h0>>Z,(A|0)<0||(O2=i[f+152>>2],(A|0)>=(O2|0)))break r;if(Z=f0>>Z,(Z|0)<0|(Z|0)>=i[f+156>>2])break i;A=i[i[i[f+52>>2]+(Q[((i[f+140>>2]+m(A,24)|0)+m(m(Z,O2),24)|0)+2>>1]<<2)>>2]+768>>2]+(k+x4|0)|0,A=(A|0)>=53?53:A,A=s[((A|0)>0?A:0)+43024|0]<<B1,Z=s[q+8812|0];A:{f:{if(!e){if(Z){if((R|0)<0|(p|0)<=(R|0))break i;C=!(s[(y+m(m(o,R),3)|0)+1|0]&4)}else C=1;if((R|0)<0|(p|0)<=(R|0))break i;if(k=0-A|0,p=((d+(v-h<<2)|0)-T2|0)+4>>3,p=(k|0)>(p|0)?k:(A|0)>(p|0)?p:A,E=s[w|0]|s[w+1|0]<<8,w=C&!(s[(y+m(m(o,R),3)|0)+1|0]&8),w&&(o=h+p|0,X[_+W1>>1]=(o|0)>=0?(u|0)>(o|0)?o:u:0),o=!(E&2048)&(!Z|!(E&1024)),o&&(h=v-p|0,X[_>>1]=(h|0)>=0?(u|0)>(h|0)?h:u:0),h=(((a-n<<2)+s2|0)-x2|0)+4>>3,h=(k|0)>(h|0)?k:(A|0)>(h|0)?h:A,w&&(n=n+h|0,X[_+X1>>1]=(n|0)>=0?(u|0)>(n|0)?n:u:0),o&&(n=a-h|0,X[_+2>>1]=(n|0)>=0?(u|0)>(n|0)?n:u:0),n=(((H-t<<2)+n2|0)-y2|0)+4>>3,n=(k|0)>(n|0)?k:(A|0)>(n|0)?n:A,w&&(t=n+t|0,X[_+N1>>1]=(t|0)>=0?(u|0)>(t|0)?t:u:0),o&&(t=H-n|0,X[_+4>>1]=(t|0)>=0?(u|0)>(t|0)?t:u:0),t=(((z-S<<2)+r2|0)-W2|0)+4>>3,A=(k|0)>(t|0)?k:(A|0)>(t|0)?t:A,w&&(k=A+S|0,X[_+r4>>1]=(k|0)>=0?(k|0)<(u|0)?k:u:0),!o)break A;k=z-A|0,A=6;break f}if(Z){if((J|0)<0|o>>>0<=J>>>0)break r;p=!(s[(E+(C+m(J,3)|0)|0)+1|0]&4)}else p=1;if((J|0)<0|o>>>0<=J>>>0)break r;if(k=0-A|0,o=((d+(v-h<<2)|0)-T2|0)+4>>3,y=(k|0)>(o|0)?k:(A|0)>(o|0)?o:A,d=s[w|0]|s[w+1|0]<<8,w=_-2|0,o=p&!(s[(E+(C+m(J,3)|0)|0)+1|0]&8),o&&(h=h+y|0,X[w>>1]=(h|0)>=0?(u|0)>(h|0)?h:u:0),h=!(d&2048)&(!Z|!(d&1024)),h&&(v=v-y|0,X[_>>1]=(v|0)>=0?(u|0)>(v|0)?v:u:0),v=(((a-n<<2)+s2|0)-x2|0)+4>>3,v=(k|0)>(v|0)?k:(A|0)>(v|0)?v:A,o&&(n=n+v|0,X[w+D>>1]=(n|0)>=0?(u|0)>(n|0)?n:u:0),h&&(n=a-v|0,X[_+D>>1]=(n|0)>=0?(u|0)>(n|0)?n:u:0),n=(((H-t<<2)+n2|0)-y2|0)+4>>3,n=(k|0)>(n|0)?k:(A|0)>(n|0)?n:A,o&&(t=n+t|0,X[w+Y0>>1]=(t|0)>=0?(u|0)>(t|0)?t:u:0),h&&(t=H-n|0,X[_+Y0>>1]=(t|0)>=0?(u|0)>(t|0)?t:u:0),t=(((z-S<<2)+r2|0)-W2|0)+4>>3,A=(k|0)>(t|0)?k:(A|0)>(t|0)?t:A,o&&(k=A+S|0,X[w+F0>>1]=(k|0)>=0?(k|0)<(u|0)?k:u:0),!h)break A;k=z-A|0,A=F0}X[A+_>>1]=(k|0)>=0?(k|0)<(u|0)?k:u:0}if(A=2,w=0,!I)break}if(n0=n0+b2|0,!((Q0|0)>(n0|0)))break}if(r=r+q2|0,!((I0|0)>(r|0)))break}}return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function Yk(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;v=B-6240|0,B=v,Z=e+96|0,C=e+480|0,I=e+2016|0;i:{for(;;){for(h=w?64:16,p=(w|0)==3,y=p?3:1,_=(v+6144|0)+m(w,24)|0,k=0;;){n=k<<10,A=n+v|0;r:{e:{A:{f:{k:{if(!(u0(f,1)&255)){if(r=M0(f),(r|0)==-99999||(r=p?m(r,3):r,(r|0)>(k|0)))break A;if(t=_+(k<<2)|0,i[t>>2]=16,!r){if(!w){r=i[19411],i[A+8>>2]=i[19410],i[A+12>>2]=r,r=i[19409],i[A>>2]=i[19408],i[A+4>>2]=r;break e}if(k>>>0<=2){r=i[19427],i[A+56>>2]=i[19426],i[A+60>>2]=r,r=i[19425],i[A+48>>2]=i[19424],i[A+52>>2]=r,r=i[19423],i[A+40>>2]=i[19422],i[A+44>>2]=r,r=i[19421],i[A+32>>2]=i[19420],i[A+36>>2]=r,r=i[19419],i[A+24>>2]=i[19418],i[A+28>>2]=r,r=16,t=i[19417],i[A+16>>2]=i[19416],i[A+20>>2]=t,t=i[19415],i[A+8>>2]=i[19414],i[A+12>>2]=t,t=i[19413],i[A>>2]=i[19412],i[A+4>>2]=t;break k}r=i[19443],i[A+56>>2]=i[19442],i[A+60>>2]=r,r=i[19441],i[A+48>>2]=i[19440],i[A+52>>2]=r,r=i[19439],i[A+40>>2]=i[19438],i[A+44>>2]=r,r=i[19437],i[A+32>>2]=i[19436],i[A+36>>2]=r,r=i[19435],i[A+24>>2]=i[19434],i[A+28>>2]=r,r=16,t=i[19433],i[A+16>>2]=i[19432],i[A+20>>2]=t,t=i[19431],i[A+8>>2]=i[19430],i[A+12>>2]=t,t=i[19429],i[A>>2]=i[19428],i[A+4>>2]=t;break k}if((w|0)==3&(r|0)!=3)break f;r=k-r|0,l0(A,(r<<10)+v|0,h),r=i[_+(r<<2)>>2],i[t>>2]=r;break k}n:{if(w>>>0<2){t=8,r=16;break n}if(r=_1(f),r-248>>>0<4294967041)break A;t=r+8|0,i[_+(k<<2)>>2]=t,r=t}for(u=0;;){if(o=_1(f),o+128>>>0>255)break A;if(t=t+o|0,l[A+u|0]=t,u=u+1|0,(h|0)==(u|0))break}}k:switch(w|0){case 1:for(r=(k<<6)+Z|0,u=0,t=i[i[11334]+12>>2];n=t+(u<<1)|0,l[(r+(s[n+1|0]<<3)|0)+s[n|0]|0]=s[A+u|0],n=u|1,o=t+(n<<1)|0,l[(r+(s[o+1|0]<<3)|0)+s[o|0]|0]=s[A+n|0],u=u+2|0,(u|0)!=64;);break r;case 2:for(n=(k<<8)+C|0,W=n+1|0,t=0,E=i[i[11334]+12>>2];u=(t<<1)+E|0,o=s[A+t|0],l[(n+(s[u|0]<<1)|0)+(s[u+1|0]<<5)|0]=o,l[((s[u|0]<<1)+W|0)+(s[u+1|0]<<5)|0]=o,l[((n+(s[u|0]<<1)|0)+(s[u+1|0]<<5)|0)+16|0]=o,l[(((s[u|0]<<1)+W|0)+(s[u+1|0]<<5)|0)+16|0]=o,t=t+1|0,(t|0)!=64;);l[n|0]=r;break r;case 3:break k;case 0:break e;default:break r}t=n+I|0,L4(t,A,3),l[t|0]=r;break r}C0(16661,13927,934,2960),P()}f=8;break i}L4((k<<4)+e|0,A,0)}if(k=k+y|0,!(k>>>0<6))break}if(w=w+1|0,(w|0)==4)break}for(u=e+96|0,w=e- -64|0,_=e+32|0,f=0,t=i[i[11334]+12>>2];r=t+(f<<1)|0,n=s[r+1|0],r=s[r|0],A=((n<<7)+(r<<2)|0)+3040|0,k=A+e|0,r=m(s[(r+((n<<3)+Z|0)|0)- -64|0],16843009),l[k|0]=r,n=r>>>8|0,l[k+1|0]=n,o=r>>>16|0,l[k+2|0]=o,h=r>>>24|0,l[k+3|0]=h,k=A+_|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,k=A+w|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,A=A+u|0,l[A|0]=r,l[A+1|0]=n,l[A+2|0]=o,l[A+3|0]=h,f=f+1|0,(f|0)!=64;);for(l[e+3040|0]=s[e+160|0],u=e+96|0,w=e- -64|0,_=e+32|0,f=0;r=t+(f<<1)|0,n=s[r+1|0],r=s[r|0],A=((n<<7)+(r<<2)|0)+4064|0,k=A+e|0,r=m(s[(r+((n<<3)+Z|0)|0)+128|0],16843009),l[k|0]=r,n=r>>>8|0,l[k+1|0]=n,o=r>>>16|0,l[k+2|0]=o,h=r>>>24|0,l[k+3|0]=h,k=A+_|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,k=A+w|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,A=A+u|0,l[A|0]=r,l[A+1|0]=n,l[A+2|0]=o,l[A+3|0]=h,f=f+1|0,(f|0)!=64;);for(l[e+4064|0]=s[e+224|0],u=e+96|0,w=e- -64|0,_=e+32|0,f=0;r=t+(f<<1)|0,n=s[r+1|0],r=s[r|0],A=((n<<7)+(r<<2)|0)+6112|0,k=A+e|0,r=m(s[(r+((n<<3)+Z|0)|0)+256|0],16843009),l[k|0]=r,n=r>>>8|0,l[k+1|0]=n,o=r>>>16|0,l[k+2|0]=o,h=r>>>24|0,l[k+3|0]=h,k=A+_|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,k=A+w|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,A=A+u|0,l[A|0]=r,l[A+1|0]=n,l[A+2|0]=o,l[A+3|0]=h,f=f+1|0,(f|0)!=64;);for(l[e+6112|0]=s[e+352|0],u=e+96|0,w=e- -64|0,_=e+32|0,f=0;r=t+(f<<1)|0,n=s[r+1|0],r=s[r|0],A=((n<<7)+(r<<2)|0)+7136|0,k=A+e|0,r=m(s[(r+((n<<3)+Z|0)|0)+320|0],16843009),l[k|0]=r,n=r>>>8|0,l[k+1|0]=n,o=r>>>16|0,l[k+2|0]=o,h=r>>>24|0,l[k+3|0]=h,k=A+_|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,k=A+w|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,A=A+u|0,l[A|0]=r,l[A+1|0]=n,l[A+2|0]=o,l[A+3|0]=h,f=f+1|0,(f|0)!=64;);l[e+7136|0]=s[e+416|0],f=0}return B=v+6240|0,f}function th(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=Y(0),v=0,Z=0,p=0,W=0,C=Y(0),I=0,y=0,E=0,J=0,R=Y(0),D=Y(0),z=0,H=0,a=0,S=0,q=0,d=0,A0=Y(0),f0=Y(0),n0=Y(0),h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=Y(0),Y0=Y(0),S0=0,c0=0,r2=Y(0),n2=Y(0);e=B+-64|0,B=e,A=i[r>>2],v=i[A+28>>2],p=i[A+24>>2],h=U0(A,10),t=i[i[r>>2]+36>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),n=i[A+4>>2],o=n+1|0,i[A+4>>2]=o,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,u=A- -64|0,i[u>>2]=0,i[u+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,u=A+12|0,i[A+12>>2]=u,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=n,i[A+16>>2]=A,o||(V[i[i[A>>2]+8>>2]](A),g(A)),i[u+36>>2]=1,i[u+32>>2]=0,i[u+28>>2]=v,i[u+24>>2]=p,n=(v+1|0)/2|0,o=(p+1|0)/2|0;i:{r:{if(!J0(u,0,p,v,h)||!J0(u,1,o,n,h)||!J0(u,2,o,n,h))break r;e:{A:switch(o=t-13|0,o|0){case 0:case 2:break A;default:break e}if(!J0(u,6,p,v,h))break r}n=0,i[e+60>>2]=0,i[e+56>>2]=0,i[e+52>>2]=0,i[e+48>>2]=0,i[e+44>>2]=0,j=v0(i[r>>2],10,e+60|0),w=v0(u,0,e+56|0),S0=v0(u,1,e+52|0),c0=v0(u,2,e+48|0);e:switch(o|0){case 0:case 2:J=v0(u,6,e+44|0),n=i[e+44>>2]/2|0;break;default:break e}i[e+44>>2]=n,i[e+56>>2]=i[e+56>>2]/2,i[e+52>>2]=i[e+52>>2]/2,i[e+48>>2]=i[e+48>>2]/2,L=s[k+26|0],r=i[i[r>>2]+36>>2],Kr(e+4|0,Q[k+24>>1],Q[k+20>>1]);e:{if((v|0)<=0)break e;if(z=(t&-3)==13?8:6,W=-1<<h^-1,H=r&-2,o=(H|0)==14,p0=o|4,X0=o^3,G0=o|2,a=!o,S=(p|0)<=0,!S){R=Y(16<<h-8),q=o?4:5,d=i[e+56>>2],A0=Z0[e+16>>2],f0=Z0[e+12>>2],n0=Z0[e+8>>2],h0=i[e+60>>2],k=0;A:{f:switch(t-13|0){case 0:case 2:for(I=o^7,Z=o|6;;){for(y=m(i[e+44>>2],k),E=m(k,h0)+j|0,I0=w+(m(k,d)<<1)|0,n=0;;){Q0=(n<<1)+I0|0,t=m(n,z)+E|0,_=Y(Y(Y((s[t+p0|0]<<8|s[t+q|0])>>>0)*A0)+Y(Y(Y((s[t+a|0]|s[t+o|0]<<8)>>>0)*n0)+Y(f0*Y((s[t+X0|0]|s[t+G0|0]<<8)>>>0)))),_=Y((L&1?_:Y(Y(_*Y(.8554700016975403))+R))+Y(.5));k:{if(Y(d0(_))<Y(2147483648)){r=~~_;break k}r=-2147483648}if(X[Q0>>1]=(r|0)>=0?(r|0)<(W|0)?r:W:0,X[(n+y<<1)+J>>1]=s[t+I|0]|s[t+Z|0]<<8,n=n+1|0,(p|0)==(n|0))break}if(k=k+1|0,(v|0)==(k|0))break}break A;default:break f}for(;;){for(t=m(k,h0)+j|0,J=w+(m(k,d)<<1)|0,n=0;;){I=J+(n<<1)|0,r=t+m(n,z)|0,_=Y(Y(Y((s[r+p0|0]<<8|s[r+q|0])>>>0)*A0)+Y(Y(Y((s[r+a|0]|s[r+o|0]<<8)>>>0)*n0)+Y(f0*Y((s[r+X0|0]|s[r+G0|0]<<8)>>>0)))),_=Y((L&1?_:Y(Y(_*Y(.8554700016975403))+R))+Y(.5));f:{if(Y(d0(_))<Y(2147483648)){r=~~_;break f}r=-2147483648}if(X[I>>1]=(r|0)>=0?(r|0)<(W|0)?r:W:0,n=n+1|0,(p|0)==(n|0))break}if(k=k+1|0,(v|0)==(k|0))break}}if((v|0)<=0)break e}if(S)break e;for(q=(H|0)==14?4:5,R=Y((1<<h-1&65535)>>>0),h=0,d=i[e+48>>2],h0=i[e+52>>2],A0=Z0[e+40>>2],f0=Z0[e+36>>2],n0=Z0[e+32>>2],_=Z0[e+28>>2],r2=Z0[e+24>>2],n2=Z0[e+20>>2];;){for(r=h>>>1|0,J=(m(r,d)<<1)+c0|0,H=(m(r,h0)<<1)+S0|0,S=(h|1)<(v|0),k=0;;){I0=k+H|0,Z=i[e+60>>2],n=(m(Z,h)+j|0)+m(k,z)|0,r=n+p0|0,t=(k|1)<(p|0)?z:0,y=r+t|0,w=n+q|0,E=w+t|0,Q0=(s[y|0]<<8|s[E|0])+(s[w|0]|s[r|0]<<8)|0,I=r,r=S?Z:0,C=Y(Y((Q0+(s[I+r|0]<<8|s[r+w|0])|0)+(s[r+E|0]|s[r+y|0]<<8)>>>0)*Y(.25)),w=n+(t|a)|0,Z=n+(t|o)|0,y=n+a|0,E=n+o|0,F0=Y(Y((((s[w|0]|s[Z|0]<<8)+(s[y|0]|s[E|0]<<8)|0)+(s[r+y|0]|s[r+E|0]<<8)|0)+(s[r+w|0]|s[r+Z|0]<<8)>>>0)*Y(.25)),w=n+X0|0,Z=w+t|0,n=n+G0|0,t=n+t|0,Y0=Y(Y((((s[Z|0]|s[t|0]<<8)+(s[w|0]|s[n|0]<<8)|0)+(s[r+w|0]|s[r+n|0]<<8)|0)+(s[r+Z|0]|s[r+t|0]<<8)>>>0)*Y(.25)),D=Y(Y(C*_)+Y(Y(F0*n2)+Y(r2*Y0))),n=L&1,D=Y(Y((n?D:Y(D*Y(.875)))+R)+Y(.5));A:{if(Y(d0(D))<Y(2147483648)){r=~~D;break A}r=-2147483648}X[I0>>1]=(r|0)>=0?(r|0)<(W|0)?r:W:0,I=k+J|0,C=Y(Y(C*A0)+Y(Y(F0*n0)+Y(Y0*f0))),C=Y(Y((n?C:Y(C*Y(.875)))+R)+Y(.5));A:{if(Y(d0(C))<Y(2147483648)){r=~~C;break A}r=-2147483648}if(X[I>>1]=(r|0)>=0?(r|0)<(W|0)?r:W:0,k=k+2|0,!((p|0)>(k|0)))break}if(h=h+2|0,!((v|0)>(h|0)))break}}i[f+4>>2]=A,i[f>>2]=u;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break i;V[i[i[A>>2]+8>>2]](A),g(A)}B=e- -64|0}function XA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0,B1=0,p1=0,W1=0,X1=0,N1=0;i:{r:{_=i[f+276>>2],G0=(A|0)>(_|0)?_:A;e:{if((G0|0)<=(r|0)||(A=i[f+272>>2],I0=(A|0)<(k|0)?A:k,(I0|0)<=0))break e;for(S=i[f+124>>2],j=i[S+16856>>2],T2=j<<(e^1),L=i[S+16852>>2],O2=L<<e,q2=f+4|0,b2=3-j|0,e1=3-L|0,o=-1<<i[S+16840>>2]^-1,Z=i[f+44>>2],q=m(Z,3),d=Z<<1,A1=3-Z|0,h1=2-Z|0,B1=1-Z|0,p1=0-Z|0;;){for(Q0=r<<b2,A0=m(Q0,j),F0=A0-1|0,W1=(A0|0)/4|0,f0=0;;){if(n0=f0<<e1,h0=m(L,n0),A=s[(i[f+260>>2]+((h0|0)/4|0)|0)+m(i[f+272>>2],W1)|0]&3,A>>>0>1)for(X1=n0-Z|0,Y0=h0-1|0,t=1,N1=(A<<1)-2|0,A=1;;){p=i[(A<<2)+q2>>2],k=m(i[f+44>>2],Q0),_=(p+k|0)+n0|0;A:{if(!e){u=k+X1|0,A=u+p|0,E=A+3|0,k=p+(k+n0|0)|0,J=k+3|0,R=k+2|0,D=k+1|0,p=p+(u-Z|0)|0,w=p+3|0,v=p+2|0,W=p+1|0,I=k+Z|0,y=I+3|0,z=I+2|0,H=I+1|0,a=A+2|0,h=A+1|0;break A}J=_+q|0,R=_+d|0,D=_+Z|0,p=_-2|0,w=q+p|0,I=_+1|0,y=q+I|0,v=p+d|0,z=I+d|0,W=Z+p|0,H=Z+I|0,A=_-1|0,E=q+A|0,k=_,a=A+d|0,h=A+Z|0}if(n=i[f+168>>2],p0=h0>>n,(p0|0)<0||(u=i[f+172>>2],(u|0)<=(p0|0)))break r;if(X0=A0>>n,(X0|0)<0||(C=i[f+176>>2],(C|0)<=(X0|0)))break i;S0=s[w|0],c0=s[v|0],r2=s[W|0],n2=s[p|0],E=s[E|0],w=s[a|0],h=s[h|0],v=s[A|0],s2=s[y|0],W2=s[z|0],y2=s[H|0],x2=s[I|0],I=s[J|0],J=s[R|0],R=s[D|0],D=s[k|0],p=t,k=i[i[f+132>>2]+(t?32:36)>>2],z=i[f+160>>2],H=z+m(p0,3)|0,a=m(m(u,X0),3),W=H+a|0,t=l[W+2|0];A:{if(!e){if(A=F0>>n,(A|0)<0|(A|0)>=(C|0))break i;A=(H+m(m(A,u),3)|0)+2|0;break A}if(A=Y0>>n,(A|0)<0|A>>>0>=u>>>0)break r;A=(a+(z+m(A,3)|0)|0)+2|0}A=k+((t+l[A|0]|0)+1>>1)|0;A:{if(i[S+16848>>2]!=1){A=(A|0)>=51?51:A;break A}if((A|0)<30)break A;if(A>>>0<=42){A=i[(A<<2)+45912>>2];break A}A=A-6|0}if(t=i[f+148>>2],k=h0>>t,(k|0)<0||(y=i[f+152>>2],(y|0)<=(k|0)))break r;if(t=A0>>t,(t|0)<0|(t|0)>=i[f+156>>2])break i;A=i[i[i[f+52>>2]+(Q[((i[f+140>>2]+m(k,24)|0)+m(m(t,y),24)|0)+2>>1]<<2)>>2]+768>>2]+(A+N1|0)|0,A=(A|0)>=53?53:A,A=s[((A|0)>0?A:0)+43024|0]<<i[S+16840>>2]-8,y=s[S+8812|0];A:{f:{if(!e){if(t=F0>>n,y){if((t|0)<0|(t|0)>=(C|0))break i;n=!(s[(H+m(m(t,u),3)|0)+1|0]&4)}else n=1;if((t|0)<0|(t|0)>=(C|0))break i;if(k=0-A|0,C=(((D-v<<2)+n2|0)-x2|0)+4>>3,C=(k|0)>(C|0)?k:(A|0)>(C|0)?C:A,W=s[W|0]|s[W+1|0]<<8,t=n&!(s[(H+m(m(t,u),3)|0)+1|0]&8),t&&(u=v+C|0,l[_+p1|0]=(u|0)>=0?(o|0)>(u|0)?u:o:0),u=!(W&2048)&(!y|!(W&1024)),u&&(n=D-C|0,l[_|0]=(n|0)>=0?(n|0)<(o|0)?n:o:0),n=(((R-h<<2)+r2|0)-y2|0)+4>>3,n=(k|0)>(n|0)?k:(A|0)>(n|0)?n:A,t&&(h=n+h|0,l[_+B1|0]=(h|0)>=0?(o|0)>(h|0)?h:o:0),u&&(n=R-n|0,l[_+1|0]=(n|0)>=0?(n|0)<(o|0)?n:o:0),n=(((J-w<<2)+c0|0)-W2|0)+4>>3,n=(k|0)>(n|0)?k:(A|0)>(n|0)?n:A,t&&(w=n+w|0,l[_+h1|0]=(w|0)>=0?(o|0)>(w|0)?w:o:0),u&&(n=J-n|0,l[_+2|0]=(n|0)>=0?(n|0)<(o|0)?n:o:0),n=(((I-E<<2)+S0|0)-s2|0)+4>>3,A=(k|0)>(n|0)?k:(A|0)>(n|0)?n:A,t&&(k=A+E|0,l[_+A1|0]=(k|0)>=0?(k|0)<(o|0)?k:o:0),!u)break A;k=3,A=I-A|0;break f}if(t=Y0>>n,y){if((t|0)<0|t>>>0>=u>>>0)break r;n=!(s[(a+(z+m(t,3)|0)|0)+1|0]&4)}else n=1;if((t|0)<0|t>>>0>=u>>>0)break r;if(k=0-A|0,u=(((D-v<<2)+n2|0)-x2|0)+4>>3,C=(k|0)>(u|0)?k:(A|0)>(u|0)?u:A,W=s[W|0]|s[W+1|0]<<8,u=_-1|0,t=n&!(s[(a+(z+m(t,3)|0)|0)+1|0]&8),t&&(n=v+C|0,l[u|0]=(n|0)>=0?(n|0)<(o|0)?n:o:0),n=!(W&2048)&(!y|!(W&1024)),n&&(v=D-C|0,l[_|0]=(v|0)>=0?(o|0)>(v|0)?v:o:0),v=(((R-h<<2)+r2|0)-y2|0)+4>>3,v=(k|0)>(v|0)?k:(A|0)>(v|0)?v:A,t&&(h=h+v|0,l[u+Z|0]=(h|0)>=0?(o|0)>(h|0)?h:o:0),n&&(h=R-v|0,l[_+Z|0]=(h|0)>=0?(o|0)>(h|0)?h:o:0),h=(((J-w<<2)+c0|0)-W2|0)+4>>3,h=(k|0)>(h|0)?k:(A|0)>(h|0)?h:A,t&&(w=h+w|0,l[u+d|0]=(w|0)>=0?(o|0)>(w|0)?w:o:0),n&&(w=J-h|0,l[_+d|0]=(w|0)>=0?(o|0)>(w|0)?w:o:0),w=(((I-E<<2)+S0|0)-s2|0)+4>>3,A=(k|0)>(w|0)?k:(A|0)>(w|0)?w:A,t&&(k=A+E|0,l[u+q|0]=(k|0)>=0?(k|0)<(o|0)?k:o:0),!n)break A;k=q,A=I-A|0}l[k+_|0]=(A|0)>=0?(A|0)<(o|0)?A:o:0}if(A=2,t=0,!p)break}if(f0=f0+O2|0,!((I0|0)>(f0|0)))break}if(r=r+T2|0,!((G0|0)>(r|0)))break}}return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function oh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;h=B-16|0,B=h,n=(A|0)/8|0,t=i[r>>2],o=i[r+4>>2]-t|0,u=i[k>>2];i:{if(n>>>0>o-u>>>0){if(e=U(40),i[h+4>>2]=e,i[h+8>>2]=39,i[h+12>>2]=-2147483608,r=s[6972]|s[6973]<<8|(s[6974]<<16|s[6975]<<24),A=s[6968]|s[6969]<<8|(s[6970]<<16|s[6971]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+39|0]=0,r=s[7003]|s[7004]<<8|(s[7005]<<16|s[7006]<<24),A=s[6999]|s[7e3]<<8|(s[7001]<<16|s[7002]<<24),l[e+31|0]=A,l[e+32|0]=A>>>8,l[e+33|0]=A>>>16,l[e+34|0]=A>>>24,l[e+35|0]=r,l[e+36|0]=r>>>8,l[e+37|0]=r>>>16,l[e+38|0]=r>>>24,r=s[6996]|s[6997]<<8|(s[6998]<<16|s[6999]<<24),A=s[6992]|s[6993]<<8|(s[6994]<<16|s[6995]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6988]|s[6989]<<8|(s[6990]<<16|s[6991]<<24),A=s[6984]|s[6985]<<8|(s[6986]<<16|s[6987]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6980]|s[6981]<<8|(s[6982]<<16|s[6983]<<24),A=s[6976]|s[6977]<<8|(s[6978]<<16|s[6979]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,h+4|0),l[h+15|0]>=0)break i;G(i[h+4>>2]);break i}t=t+u|0,w=s[t|0],_=s[t+1|0];r:{if((A|0)==32){_=s[t+3|0]|(_<<16|w<<24|s[t+2|0]<<8),t=4;break r}_=_|w<<8,t=2}if(t=t+u|0,i[k>>2]=t,u=o-t|0,t=q0(n,n>>31,_,0),n=w0<<1|t>>>31,t=t<<1,!n&t>>>0<=u>>>0){r:{if(!_)break r;W=(A|0)!=32;e:{for(;;){A=i[k>>2],n=A+i[r>>2]|0,t=s[n|0],u=s[n+1|0];A:{if(!W){w=s[n+3|0],o=s[n+2|0],n=A+4|0,i[k>>2]=n,n=n+i[r>>2]|0,n=s[n|0]|s[n+1|0]<<8|(s[n+2|0]<<16|s[n+3|0]<<24),n=n<<24|(n&65280)<<8|(n>>>8&65280|n>>>24),u=u<<16|t<<24|o<<8|w,A=A+8|0;break A}n=A+2|0,i[k>>2]=n,u=(u<<16|t<<24)>>16,n=n+i[r>>2]|0,n=(s[n+1|0]<<16|s[n|0]<<24)>>16,A=A+4|0}i[k>>2]=A;A:{A=i[e+12>>2],o=i[e+16>>2];f:{if(A>>>0<o>>>0){i[A>>2]=u,i[A+4>>2]=n,u=A+8|0;break f}if(w=i[e+8>>2],Z=A-w>>3,t=Z+1|0,t>>>0>=536870912)break A;if(o=o-w|0,v=o>>2,v=o>>>0>=2147483640?536870911:t>>>0<v>>>0?v:t,v){if(v>>>0>=536870912)break e;t=U(v<<3)}else t=0;if(o=t+(Z<<3)|0,i[o>>2]=u,i[o+4>>2]=n,u=o+8|0,(A|0)!=(w|0)){for(;A=A-8|0,Z=i[A+4>>2],o=o-8|0,n=o,i[n>>2]=i[A>>2],i[n+4>>2]=Z,(A|0)!=(w|0););w=i[e+8>>2]}if(i[e+16>>2]=t+(v<<3),i[e+12>>2]=u,i[e+8>>2]=o,!w)break f;G(w)}if(i[e+12>>2]=u,p=p+1|0,(p|0)!=(_|0))continue;break r}break}y0(),P()}_2(),P()}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567]);break i}if(e=U(40),i[h+4>>2]=e,i[h+8>>2]=39,i[h+12>>2]=-2147483608,r=s[6972]|s[6973]<<8|(s[6974]<<16|s[6975]<<24),A=s[6968]|s[6969]<<8|(s[6970]<<16|s[6971]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+39|0]=0,r=s[7003]|s[7004]<<8|(s[7005]<<16|s[7006]<<24),A=s[6999]|s[7e3]<<8|(s[7001]<<16|s[7002]<<24),l[e+31|0]=A,l[e+32|0]=A>>>8,l[e+33|0]=A>>>16,l[e+34|0]=A>>>24,l[e+35|0]=r,l[e+36|0]=r>>>8,l[e+37|0]=r>>>16,l[e+38|0]=r>>>24,r=s[6996]|s[6997]<<8|(s[6998]<<16|s[6999]<<24),A=s[6992]|s[6993]<<8|(s[6994]<<16|s[6995]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6988]|s[6989]<<8|(s[6990]<<16|s[6991]<<24),A=s[6984]|s[6985]<<8|(s[6986]<<16|s[6987]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6980]|s[6981]<<8|(s[6982]<<16|s[6983]<<24),A=s[6976]|s[6977]<<8|(s[6978]<<16|s[6979]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,h+4|0),l[h+15|0]>=0)break i;G(i[h+4>>2])}B=h+16|0}function GA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0;i:{r:{n=i[f+276>>2],D=(A|0)>(n|0)?n:A;e:{if((D|0)<=(r|0)||(A=i[f+272>>2],z=(A|0)<(k|0)?A:k,(z|0)<=0))break e;for(S=e?16:32,q=e?80:160,d=e?1:2,A0=e?2:1,f0=e-1|0,n0=0-e|0;;){for(I=r<<2,y=f0+I|0,H=I>>2,A=0;;){A:{f:{k:{if(k=A<<2,a=k>>2,_=(a+i[f+260>>2]|0)+m(i[f+272>>2],H)|0,t=s[_|0],t&q){if(n=k+n0|0,e=i[f+168>>2],u=n>>e,(u|0)<0||(o=i[f+172>>2],(o|0)<=(u|0)))break r;if(h=y>>e,(h|0)<0||(w=i[f+176>>2],(w|0)<=(h|0)))break i;if(v=k>>e,(v|0)<0|o>>>0<=v>>>0)break r;if(Z=I>>e,(Z|0)<0|(w|0)<=(Z|0))break i;e=2,w=m(u,3),u=i[f+160>>2],h=(w+u|0)+m(m(o,h),3)|0;n:{if(!((s[h|0]|s[h+1|0]<<8)&768)||(o=(u+m(v,3)|0)+m(m(o,Z),3)|0,!((s[o|0]|s[o+1|0]<<8)&768)))break n;if(t&S){if(o=i[f+248>>2],h=k>>o,(h|0)<0||(u=i[f+252>>2],(u|0)<=(h|0)))break r;if(v=I>>o,(v|0)<0||(Z=i[f+256>>2],(Z|0)<=(v|0)))break i;if(e=1,w=i[f+240>>2],l[(w+h|0)+m(u,v)|0]<0)break n;if(h=n>>o,(h|0)<0|u>>>0<=h>>>0)break r;if(o=y>>o,(o|0)<0|(o|0)>=(Z|0))break i;if(l[(h+w|0)+m(o,u)|0]<0)break n}if(e=i[f+188>>2],h=n>>e,(h|0)<0||(o=i[f+192>>2],(o|0)<=(h|0)))break r;if(v=y>>e,(v|0)<0||(u=i[f+196>>2],(u|0)<=(v|0)))break i;if(Z=k>>e,(Z|0)<0|o>>>0<=Z>>>0)break r;if(w=I>>e,(w|0)<0|(u|0)<=(w|0))break i;if(e=n,n=i[f+148>>2],p=e>>n,(p|0)<0||(u=i[f+152>>2],(u|0)<=(p|0)))break r;if(W=y>>n,(W|0)<0||(E=i[f+156>>2],(E|0)<=(W|0)))break i;if(e=0,C=i[f+52>>2],J=i[f+56>>2]-C>>2,R=m(p,24),p=i[f+140>>2],W=Q[((R+p|0)+m(m(u,W),24)|0)+2>>1],J>>>0>W>>>0&&(e=i[C+(W<<2)>>2]),k=k>>n,(k|0)<0|k>>>0>=u>>>0)break r;if(n=I>>n,(n|0)<0|(n|0)>=(E|0))break i;if(k=Q[((p+m(k,24)|0)+m(m(n,u),24)|0)+2>>1],k>>>0>=J>>>0){e=0;break n}if(!e){e=0;break n}if(p=i[C+(k<<2)>>2],!p){e=0;break n}if(n=i[f+180>>2],k=(n+m(h,12)|0)+m(m(o,v),12)|0,h=l[k+2|0],(h|0)>16||(W=l[k+3|0],(W|0)>16)||(n=(n+m(Z,12)|0)+m(m(o,w),12)|0,w=l[n+2|0],(w|0)>16)||(C=l[n+3|0],(C|0)>16))break f;if(u=-1,t=-1,Z=s[k|0],t=Z?i[((h<<2)+e|0)+924>>2]:t,v=s[k+1|0],u=v?i[((W<<2)+e|0)+988>>2]:u,_=-1,o=-1,h=s[n|0],o=h?i[(p+(w<<2)|0)+924>>2]:o,w=s[n+1|0],_=w?i[(p+(C<<2)|0)+988>>2]:_,!((t|0)==(o|0)&(_|0)==(u|0))&&(e=1,(t|0)!=(_|0)|(o|0)!=(u|0)))break n;e=Q[n+8>>1],p=Q[n+10>>1],W=Q[n+4>>1],n=Q[n+6>>1],C=Q[k+8>>1],E=Q[k+10>>1],J=Q[k+4>>1],R=Q[k+6>>1],(v+Z|0)!=(h+w|0)&&(v2(i[f+112>>2]+4|0,1013,0),l[f+312|0]=3),e=w?e:0,k=w?p:0,w=h?W:0,n=h?n:0,h=v?C:0,v=v?E:0,p=Z?J:0,Z=Z?R:0;t:{if((t|0)!=(u|0)){if(u=p<<16>>16,(t|0)!=(o|0)){if(t=u-(e<<16>>16)|0,e=t>>31,(e^t)-e>>>0>3||(k=(Z<<16>>16)-(k<<16>>16)|0,e=k>>31,(e^k)-e>>>0>3)||(k=(h<<16>>16)-(w<<16>>16)|0,e=k>>31,(e^k)-e>>>0>3)||(e=0,n=(v<<16>>16)-(n<<16>>16)|0,k=n>>31,(k^n)-k>>>0>=4))break t;break n}if(o=u-(w<<16>>16)|0,t=o>>31,(t^o)-t>>>0>3||(t=(Z<<16>>16)-(n<<16>>16)|0,n=t>>31,(n^t)-n>>>0>3)||(n=(h<<16>>16)-(e<<16>>16)|0,e=n>>31,(e^n)-e>>>0>3)||(e=0,n=(v<<16>>16)-(k<<16>>16)|0,k=n>>31,(k^n)-k>>>0>=4))break t;break n}if((o|0)!=(_|0))break k;o=p<<16>>16,u=w<<16>>16,_=o-u|0,t=_>>31;o:{if((t^_)-t>>>0>3||(_=(Z<<16>>16)-(n<<16>>16)|0,t=_>>31,(t^_)-t>>>0>3)||(_=(h<<16>>16)-(e<<16>>16)|0,t=_>>31,(t^_)-t>>>0>3)||(_=(v<<16>>16)-(k<<16>>16)|0,t=_>>31,(t^_)-t>>>0>=4))break o;e=0;break n}if(t=o-(e<<16>>16)|0,e=t>>31,(e^t)-e>>>0>3||(k=(Z<<16>>16)-(k<<16>>16)|0,e=k>>31,(e^k)-e>>>0>3)||(k=(h<<16>>16)-u|0,e=k>>31,(e^k)-e>>>0>3))break t;if(e=0,n=(v<<16>>16)-(n<<16>>16)|0,k=n>>31,(k^n)-k>>>0<4)break n}e=1}k=(i[f+260>>2]+a|0)+m(i[f+272>>2],H)|0,l[k|0]=s[k|0]&252|e;break A}l[_|0]=t&252;break A}C0(16975,14016,355,8358),P()}l[_|0]=t&252}if(A=A+A0|0,!((z|0)>(A|0)))break}if(r=r+d|0,!((D|0)>(r|0)))break}}return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function lh(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0;o=B-16|0,B=o,i[o+12>>2]=e,i[k>>2]=0,u=i[A+28>>2],i[o>>2]=u,(u|0)!=100008&&(i[u+4>>2]=i[u+4>>2]+1),u=x0(o,100192),O0(o);i:{r:{e:{A:switch(t-65|0){case 0:case 32:mt(f,n+24|0,o+12|0,r,k,u);break r;case 1:case 33:case 39:st(f,n+16|0,o+12|0,r,k,u);break r;case 34:e=V[i[i[f+8>>2]+12>>2]](f+8|0)|0,t=f,h=i[o+12>>2],s[e+11|0]>>>7|0?f=i[e>>2]:f=e,u=f,s[e+11|0]>>>7|0?f=i[e>>2]:f=e,s[e+11|0]>>>7|0?e=i[e+4>>2]:e=s[e+11|0]&127,w=o,_=B8(t,h,r,A,k,n,u,f+e|0),i[w+12>>2]=_;break r;case 35:case 36:f=q4(o+12|0,r,k,u,2),e=i[k>>2];f:{if(!(f-1>>>0>30|e&4)){i[n+12>>2]=f;break f}i[k>>2]=e|4}break r;case 3:i[o>>2]=623865125,i[o+4>>2]=2032480100,w=o,_=B8(f,e,r,A,k,n,o,o+8|0),i[w+12>>2]=_;break r;case 5:i[o>>2]=623728933,i[o+4>>2]=1680158061,w=o,_=B8(f,e,r,A,k,n,o,o+8|0),i[w+12>>2]=_;break r;case 7:f=q4(o+12|0,r,k,u,2),e=i[k>>2];f:{if(!((f|0)>23|e&4)){i[n+8>>2]=f;break f}i[k>>2]=e|4}break r;case 8:f=q4(o+12|0,r,k,u,2),e=i[k>>2];f:{if(!(f-1>>>0>11|e&4)){i[n+8>>2]=f;break f}i[k>>2]=e|4}break r;case 41:f=q4(o+12|0,r,k,u,3),e=i[k>>2];f:{if(!((f|0)>365|e&4)){i[n+28>>2]=f;break f}i[k>>2]=e|4}break r;case 44:e=q4(o+12|0,r,k,u,2)-1|0,f=i[k>>2];f:{if(!(e>>>0>11|f&4)){i[n+16>>2]=e;break f}i[k>>2]=f|4}break r;case 12:f=q4(o+12|0,r,k,u,2),e=i[k>>2];f:{if(!((f|0)>59|e&4)){i[n+4>>2]=f;break f}i[k>>2]=e|4}break r;case 45:case 51:for(f=o+12|0,e=B-16|0,B=e,i[e+12>>2]=r;;){f:{if(J2(f,e+12|0))break f;r=i[f>>2],A=i[r+12>>2];k:{if((A|0)==i[r+16>>2]){r=V[i[i[r>>2]+36>>2]](r)|0;break k}r=s[A|0]}if(r=r<<24>>24,(r|0)>=0?r=i[i[u+8>>2]+(r<<2)>>2]&1:r=0,!r)break f;E1(f);continue}break}J2(f,e+12|0)&&(i[k>>2]=i[k>>2]|2),B=e+16|0;break r;case 47:t=o+12|0,e=V[i[i[f+8>>2]+8>>2]](f+8|0)|0;f:{if(s[e+11|0]>>>7|0){f=i[e+4>>2];break f}f=s[e+11|0]&127}s[e+23|0]>>>7|0?A=i[e+16>>2]:A=s[e+23|0]&127;f:{if((f|0)==(0-A|0)){i[k>>2]=i[k>>2]|4;break f}if(r=Nr(t,r,e,e+24|0,u,k,0),f=i[n+8>>2],!((r|0)!=(e|0)|(f|0)!=12)){i[n+8>>2]=0;break f}(r-e|0)!=12|(f|0)>11||(i[n+8>>2]=f+12)}break r;case 49:t=s[60104]|s[60105]<<8|(s[60106]<<16|s[60107]<<24),l[o+7|0]=t,l[o+8|0]=t>>>8,l[o+9|0]=t>>>16,l[o+10|0]=t>>>24,t=s[60101]|s[60102]<<8|(s[60103]<<16|s[60104]<<24),i[o>>2]=s[60097]|s[60098]<<8|(s[60099]<<16|s[60100]<<24),i[o+4>>2]=t,w=o,_=B8(f,e,r,A,k,n,o,o+11|0),i[w+12>>2]=_;break r;case 17:l[o+4|0]=s[60112],i[o>>2]=s[60108]|s[60109]<<8|(s[60110]<<16|s[60111]<<24),w=o,_=B8(f,e,r,A,k,n,o,o+5|0),i[w+12>>2]=_;break r;case 18:f=q4(o+12|0,r,k,u,2),e=i[k>>2];f:{if(!((f|0)>60|e&4)){i[n>>2]=f;break f}i[k>>2]=e|4}break r;case 19:i[o>>2]=624576549,i[o+4>>2]=1394948685,w=o,_=B8(f,e,r,A,k,n,o,o+8|0),i[w+12>>2]=_;break r;case 54:f=q4(o+12|0,r,k,u,1),e=i[k>>2];f:{if(!((f|0)>6|e&4)){i[n+24>>2]=f;break f}i[k>>2]=e|4}break r;case 55:f=V[i[i[f>>2]+20>>2]](f,e,r,A,k,n)|0;break i;case 23:e=V[i[i[f+8>>2]+24>>2]](f+8|0)|0,t=f,h=i[o+12>>2],s[e+11|0]>>>7|0?f=i[e>>2]:f=e,u=f,s[e+11|0]>>>7|0?f=i[e>>2]:f=e,s[e+11|0]>>>7|0?e=i[e+4>>2]:e=s[e+11|0]&127,w=o,_=B8(t,h,r,A,k,n,u,f+e|0),i[w+12>>2]=_;break r;case 56:Et(n+20|0,o+12|0,r,k,u);break r;case 24:f=q4(o+12|0,r,k,u,4),s[k|0]&4||(i[n+20>>2]=f-1900);break r;default:if((t|0)==37)break e;break;case 2:case 4:case 6:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 20:case 21:case 22:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 37:case 38:case 40:case 42:case 43:case 46:case 48:case 50:case 52:case 53:break A}i[k>>2]=i[k>>2]|4;break r}f=B-16|0,B=f,i[f+12>>2]=r,r=o+12|0,n=f+12|0,e=6;e:{A:{if(J2(r,n))break A;e=i[r>>2],A=i[e+12>>2];f:{if((A|0)==i[e+16>>2]){A=V[i[i[e>>2]+36>>2]](e)|0;break f}A=s[A|0]}if(e=4,(V[i[i[u>>2]+36>>2]](u,A<<24>>24,0)|0)!=37)break A;if(!J2(E1(r),n))break e;e=2}i[k>>2]=e|i[k>>2]}B=f+16|0}f=i[o+12>>2]}return B=o+16|0,f|0}function uh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0;e=B-32|0,B=e,t=U0(i[r>>2],0),u=U0(i[r>>2],1),h=U0(i[r>>2],2),D=H2(i[r>>2],6),D&&(p=U0(i[r>>2],6));i:{if(!(!(t>>>0<9|u>>>0<9)&h>>>0>8)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((t|0)==(u|0)&(t|0)==(h|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],W=i[A+48>>2],W&&(i[W+4>>2]=i[W+4>>2]+1,A=i[r>>2]),k=i[A+28>>2],o=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),w=i[A+4>>2],C=w+1|0,i[A+4>>2]=C,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,n=A+12|0,i[A+12>>2]=n,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=w,i[A+16>>2]=A,C||(V[i[i[A>>2]+8>>2]](A),g(A)),i[n+36>>2]=3,i[n+32>>2]=0,i[n+28>>2]=k,i[n+24>>2]=o;r:{e:{if(!J0(n,0,o,k,t)||!J0(n,1,o,k,u)||!J0(n,2,o,k,h)||D&&!J0(n,6,o,k,p))break e;u=0,i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,z=v0(i[r>>2],0,e+28|0),C=v0(i[r>>2],1,e+24|0),y=v0(i[r>>2],2,e+20|0),H=v0(n,0,e+12|0),E=v0(n,1,e+8|0),J=v0(n,2,e+4|0),t=0,D?(f0=v0(i[r>>2],6,e+16|0),n0=v0(n,6,e),u=i[e>>2]/2|0,r=i[e+16>>2]/2|0):r=0,i[e+16>>2]=r,i[e>>2]=u,i[e+28>>2]=i[e+28>>2]/2,u=i[e+24>>2]/2|0,i[e+24>>2]=u,h=i[e+20>>2]/2|0,i[e+20>>2]=h,i[e+12>>2]=i[e+12>>2]/2,p=i[e+8>>2]/2|0,i[e+8>>2]=p,w=i[e+4>>2]/2|0,i[e+4>>2]=w;A:{if((k|0)<=0)break A;if(r=0,(k|0)!=1)for(_=k&2147483646;X[(m(r,p)<<1)+E>>1]=Q[C+(m(r,u)<<1)>>1],X[(m(r,w)<<1)+J>>1]=Q[(m(r,h)<<1)+y>>1],v=r|1,X[(m(v,p)<<1)+E>>1]=Q[C+(m(u,v)<<1)>>1],X[(m(v,w)<<1)+J>>1]=Q[(m(h,v)<<1)+y>>1],r=r+2|0,t=t+2|0,(_|0)!=(t|0););if(!(k&1))break A;X[(m(r,p)<<1)+E>>1]=Q[C+(m(r,u)<<1)>>1],X[(m(r,w)<<1)+J>>1]=Q[(m(r,h)<<1)+y>>1]}A:{f:{if(o&1)break f;if((k|0)<=0)break A;if(t=(o+y|0)-2|0,v=(o+C|0)-2|0,r=o<<1,_=(r+J|0)-2|0,R=(r+E|0)-2|0,r=0,(k|0)!=1)for(S=k&2147483646;X[R+(m(r,p)<<1)>>1]=Q[v+(m(r,u)<<1)>>1],X[_+(m(r,w)<<1)>>1]=Q[t+(m(r,h)<<1)>>1],I=r|1,X[R+(m(I,p)<<1)>>1]=Q[v+(m(u,I)<<1)>>1],X[_+(m(w,I)<<1)>>1]=Q[t+(m(h,I)<<1)>>1],r=r+2|0,a=a+2|0,(S|0)!=(a|0););if(!(k&1))break f;X[R+(m(r,p)<<1)>>1]=Q[v+(m(r,u)<<1)>>1],X[_+(m(r,w)<<1)>>1]=Q[t+(m(r,h)<<1)>>1]}if((k|0)<=0)break A;if((o|0)>=3){for(R=o-1|0,t=0;;){for(I=(m(t,w)<<1)+J|0,S=(m(t,p)<<1)+E|0,a=(m(t,h)<<1)+y|0,h0=C+(m(t,u)<<1)|0,r=1;Z=r&-2,_=Z+a|0,v=Q[_>>1],_=Q[_+2>>1],q=r<<1,d=S+q|0,Z=Z+h0|0,A0=Q[Z>>1],Z=Q[Z+2>>1],X[d>>1]=(m(A0,3)+Z|0)+2>>>2,X[d+2>>1]=(m(Z,3)+A0|0)+2>>>2,Z=I+q|0,X[Z+2>>1]=(v+m(_,3)|0)+2>>>2,X[Z>>1]=(_+m(v,3)|0)+2>>>2,r=r+2|0,(R|0)>(r|0););if(t=t+1|0,(t|0)==(k|0))break}if((k|0)<=0)break A}if(o=o<<1,D){for(r=0;l0((m(i[e+12>>2],r)<<1)+H|0,(m(i[e+28>>2],r)<<1)+z|0,o),l0((m(i[e>>2],r)<<1)+n0|0,(m(i[e+16>>2],r)<<1)+f0|0,o),r=r+1|0,(k|0)!=(r|0););break A}if(r=0,(k|0)!=1)for(u=k&2147483646,t=0;l0((m(i[e+12>>2],r)<<1)+H|0,(m(i[e+28>>2],r)<<1)+z|0,o),h=r|1,l0((m(h,i[e+12>>2])<<1)+H|0,(m(h,i[e+28>>2])<<1)+z|0,o),r=r+2|0,t=t+2|0,(u|0)!=(t|0););if(!(k&1))break A;l0((m(i[e+12>>2],r)<<1)+H|0,(m(i[e+28>>2],r)<<1)+z|0,o)}i[f+4>>2]=A,i[f>>2]=n;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!W||(f=i[W+4>>2],i[W+4>>2]=f-1,f))break i;V[i[i[W>>2]+8>>2]](W),g(W)}B=e+32|0}function Wi(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;t=B-48|0,B=t;i:{r:{e:{A:switch(k=i[e>>2],i[k+32>>2]){case 1:break r;case 0:break e;case 2:break A;default:break i}Jr(i[f+48>>2],r,U0(k,0),0,0);break i}Jr(i[f+48>>2],r,U0(k,0),U0(k,1),U0(k,2));break i}if(A=i[k+36>>2],(A|0)==3){Jr(i[f+48>>2],r,U0(k,3),U0(k,4),U0(k,5));break i}if((A&-2)!=10)break i;Jr(i[f+48>>2],r,8,8,8)}i:{if(i[k+72>>2]==i[k+76>>2])break i;n=U(72),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=71744,A=n+16|0,i[A+8>>2]=0,i[A+12>>2]=0,i[A+16>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A>>2]=68500,i[n+60>>2]=0,i[n+52>>2]=0,i[n+56>>2]=0,i[A>>2]=69732,i[n+32>>2]=1885434736,i[n+64>>2]=i[k+72>>2],i[n+68>>2]=i[k+76>>2],k=i[f+48>>2],o=i[k+44>>2],k=i[k+48>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[t+44>>2]=n,i[t+40>>2]=A,i[n+4>>2]=i[n+4>>2]+1,o=N4(o,t+40|0),A=i[t+44>>2];r:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r:{if(!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break r;V[i[i[k>>2]+8>>2]](k),g(k)}A=i[f+48>>2],k=i[A+52>>2],A=i[A+56>>2];r:{if(A){if(i[A+4>>2]=i[A+4>>2]+1,X[t+38>>1]=o+1,l[t+36|0]=0,i[t+24>>2]=Q[t+36>>1]|Q[t+38>>1]<<16,c1(k,r,t+24|0),k=i[A+4>>2],i[A+4>>2]=k-1,k)break r;V[i[i[A>>2]+8>>2]](A),g(A);break r}l[t+36|0]=0,X[t+38>>1]=o+1,i[t+20>>2]=Q[t+36>>1]|Q[t+38>>1]<<16,c1(k,r,t+20|0)}if(A=i[n+4>>2],i[n+4>>2]=A-1,A)break i;V[i[i[n>>2]+8>>2]](n),g(n)}k=i[e>>2];i:{if(!(Q[k+80>>1]|Q[k+82>>1]))break i;n=U(72),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=71904,A=n+16|0,i[A+8>>2]=0,i[A+12>>2]=0,i[A+16>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A>>2]=68500,i[n+60>>2]=0,i[n+52>>2]=0,i[n+56>>2]=0,i[A>>2]=69852,i[n+64>>2]=0,i[n+32>>2]=1668050025,i[n+64>>2]=i[k+80>>2],k=i[f+48>>2],o=i[k+44>>2],k=i[k+48>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[t+44>>2]=n,i[t+40>>2]=A,i[n+4>>2]=i[n+4>>2]+1,o=N4(o,t+40|0),A=i[t+44>>2];r:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r:{if(!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break r;V[i[i[k>>2]+8>>2]](k),g(k)}A=i[f+48>>2],k=i[A+52>>2],A=i[A+56>>2];r:{if(A){if(i[A+4>>2]=i[A+4>>2]+1,X[t+34>>1]=o+1,l[t+32|0]=0,i[t+16>>2]=Q[t+32>>1]|Q[t+34>>1]<<16,c1(k,r,t+16|0),k=i[A+4>>2],i[A+4>>2]=k-1,k)break r;V[i[i[A>>2]+8>>2]](A),g(A);break r}l[t+32|0]=0,X[t+34>>1]=o+1,i[t+12>>2]=Q[t+32>>1]|Q[t+34>>1]<<16,c1(k,r,t+12|0)}if(A=i[n+4>>2],i[n+4>>2]=A-1,A)break i;V[i[i[n>>2]+8>>2]](n),g(n)}k=i[e>>2];i:{if(s[k+108|0]!=1)break i;n=U(88),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=71944,A=n+16|0,i[A+16>>2]=0,i[A+20>>2]=0,i[A+8>>2]=0,i[A+12>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,o=A- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[A+16>>2]=1835295606,i[A>>2]=68524,o=i[k+92>>2],u=i[k+96>>2],h=i[k+84>>2],w=i[k+88>>2],_=i[k+104>>2],i[n+80>>2]=i[k+100>>2],i[n+84>>2]=_,i[n+72>>2]=o,i[n+76>>2]=u,i[n+64>>2]=h,i[n+68>>2]=w,k=i[f+48>>2],o=i[k+44>>2],k=i[k+48>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[t+44>>2]=n,i[t+40>>2]=A,i[n+4>>2]=i[n+4>>2]+1,o=N4(o,t+40|0),A=i[t+44>>2];r:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r:{if(!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break r;V[i[i[k>>2]+8>>2]](k),g(k)}f=i[f+48>>2],A=i[f+52>>2],f=i[f+56>>2];r:{if(f){if(i[f+4>>2]=i[f+4>>2]+1,X[t+30>>1]=o+1,l[t+28|0]=0,i[t+8>>2]=Q[t+28>>1]|Q[t+30>>1]<<16,c1(A,r,t+8|0),r=i[f+4>>2],i[f+4>>2]=r-1,r)break r;V[i[i[f>>2]+8>>2]](f),g(f);break r}l[t+28|0]=0,X[t+30>>1]=o+1,i[t+4>>2]=Q[t+28>>1]|Q[t+30>>1]<<16,c1(A,r,t+4|0)}if(f=i[n+4>>2],i[n+4>>2]=f-1,f)break i;V[i[i[n>>2]+8>>2]](n),g(n)}f=i[e+4>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=t+48|0}function sh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0;e=B-32|0,B=e,u=U0(i[r>>2],0),h=U0(i[r>>2],1),v=U0(i[r>>2],2),z=H2(i[r>>2],6),z&&(I=U0(i[r>>2],6));i:{if(!(!(u>>>0<9|h>>>0<9)&v>>>0>8)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((u|0)==(h|0)&(u|0)==(v|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],Z=i[A+48>>2],Z&&(i[Z+4>>2]=i[Z+4>>2]+1,A=i[r>>2]),k=i[A+28>>2],o=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),t=i[A+4>>2],w=t+1|0,i[A+4>>2]=w,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,n=A+12|0,i[A+12>>2]=n,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=t,i[A+16>>2]=A,w||(V[i[i[A>>2]+8>>2]](A),g(A)),i[n+36>>2]=1,i[n+32>>2]=0,i[n+28>>2]=k,i[n+24>>2]=o,t=(k+1|0)/2|0,p=(o+1|0)/2|0;r:{e:{if(!J0(n,0,o,k,u)||!J0(n,1,p,t,h)||!J0(n,2,p,t,v)||z&&!J0(n,6,o,k,I))break e;if(i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,H=v0(i[r>>2],0,e+28|0),v=v0(i[r>>2],1,e+24|0),I=v0(i[r>>2],2,e+20|0),a=v0(n,0,e+12|0),S=v0(n,1,e+8|0),q=v0(n,2,e+4|0),z&&(h0=v0(i[r>>2],6,e+16|0),j=v0(n,6,e)),i[e+28>>2]=i[e+28>>2]/2,u=i[e+24>>2]/2|0,i[e+24>>2]=u,h=i[e+20>>2]/2|0,i[e+20>>2]=h,i[e+16>>2]=i[e+16>>2]/2,i[e+12>>2]=i[e+12>>2]/2,E=i[e+8>>2]/2|0,i[e+8>>2]=E,J=i[e+4>>2]/2|0,i[e+4>>2]=J,i[e>>2]=i[e>>2]/2,d=k&1,!(!d|(o|0)<2))for(w=o-1|0,r=k-1|0,y=m(r,h),W=m(r,u),r=t-1|0,R=(m(r,J)<<1)+q|0,D=(m(r,E)<<1)+S|0,r=0;_=v+(r+W<<1)|0,X[r+D>>1]=(Q[_>>1]+Q[_+2>>1]|0)+1>>>1,_=I+(r+y<<1)|0,X[r+R>>1]=(Q[_>>1]+Q[_+2>>1]|0)+1>>>1,r=r+2|0,(w|0)>(r|0););w=k-1|0;A:{if(!(o&1))break A;if((k|0)>=2)for(r=p<<1,R=(r+q|0)-2|0,W=o<<1,y=(W+I|0)-2|0,D=(r+S|0)-2|0,W=(v+W|0)-2|0,r=0;_=r>>>1|0,C=r|1,X[D+(m(_,E)<<1)>>1]=(Q[W+(m(r,u)<<1)>>1]+Q[W+(m(C,u)<<1)>>1]|0)+1>>>1,X[R+(m(_,J)<<1)>>1]=(Q[y+(m(r,h)<<1)>>1]+Q[y+(m(h,C)<<1)>>1]|0)+1>>>1,r=r+2|0,(w|0)>(r|0););if(!d)break A;r=t-1|0,t=p<<1,p=o<<1,X[(((m(r,E)<<1)+S|0)+t|0)-2>>1]=Q[(p+(v+(m(u,w)<<1)|0)|0)-2>>1],X[(t+((m(r,J)<<1)+q|0)|0)-2>>1]=Q[(p+(I+(m(h,w)<<1)|0)|0)-2>>1]}A:{f:{if((k|0)>=2){if((o|0)<2)break f;for(p=o-1|0,t=0;;){for(y=m(t,h),W=m(t,u),r=t>>>1|0,d=(m(r,J)<<1)+q|0,R=(m(r,E)<<1)+S|0,r=t|1,D=I+(m(r,h)<<1)|0,_=v+(m(r,u)<<1)|0,r=0;C=r<<1,A0=C+D|0,L=Q[A0+2>>1],A0=Q[A0>>1],f0=I+(r+y<<1)|0,p0=Q[f0>>1],f0=Q[f0+2>>1],C=_+C|0,n0=v+(r+W<<1)|0,X[r+R>>1]=((Q[C>>1]+(Q[n0>>1]+Q[n0+2>>1]|0)|0)+Q[C+2>>1]|0)+2>>>2,X[r+d>>1]=((A0+(f0+p0|0)|0)+L|0)+2>>>2,r=r+2|0,(p|0)>(r|0););if(t=t+2|0,!((w|0)>(t|0)))break}}if((k|0)<=0)break A}if(o=o<<1,z){for(r=0;l0((m(i[e+12>>2],r)<<1)+a|0,(m(i[e+28>>2],r)<<1)+H|0,o),l0((m(i[e>>2],r)<<1)+j|0,(m(i[e+16>>2],r)<<1)+h0|0,o),r=r+1|0,(k|0)!=(r|0););break A}u=k&1;f:{if(!w){r=0;break f}for(h=k&-2,r=0,k=0;l0((m(i[e+12>>2],r)<<1)+a|0,(m(i[e+28>>2],r)<<1)+H|0,o),t=r|1,l0((m(t,i[e+12>>2])<<1)+a|0,(m(t,i[e+28>>2])<<1)+H|0,o),r=r+2|0,k=k+2|0,(h|0)!=(k|0););}if(!u)break A;l0((m(i[e+12>>2],r)<<1)+a|0,(m(i[e+28>>2],r)<<1)+H|0,o)}i[f+4>>2]=A,i[f>>2]=n;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!Z||(f=i[Z+4>>2],i[Z+4>>2]=f-1,f))break i;V[i[i[Z>>2]+8>>2]](Z),g(Z)}B=e+32|0}function Jk(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0;if(k=i[f+124>>2],_=i[k+16876>>2],r=i[k+16872>>2],Z=e<<_>>r,v=i[k+16896>>2],e=e+1<<_>>r,y=(e|0)>(v|0)?v:e,(Z|0)>=(y|0))return 0;i:{r:{if(i[k+16888>>2]>0)for(E=-1<<_^-1,J=i[k+16892>>2],R=i[k+16880>>2],W=i[f+132>>2];;){if(i[k+16888>>2]>0)for(e=0,h=m(Z,R),r=(h|0)!=0,d=r&!(h&E),D=m(h>>_,J),v=r<<5,z=h-1|0,A0=m(z>>_,J)<<2;;){r=(i[f+160>>2]+m(m(i[f+172>>2],Z),3)|0)+m(e,3)|0,o=(s[r|0]|s[r+1|0]<<8)&7;e:{if(!o)break e;if(n=m(e,R),u=i[f+148>>2],r=n>>u,(r|0)<0||(w=i[f+152>>2],(w|0)<=(r|0)))break r;if(A=h>>u,(A|0)<0||(H=i[f+156>>2],(A|0)>=(H|0)))break i;if(C=i[f+52>>2],I=i[f+56>>2]-C>>2,p=i[f+140>>2],a=p+m(r,24)|0,S=m(m(A,w),24),r=Q[(a+S|0)+2>>1],I>>>0<=r>>>0)return 0;q=n>>_,t=i[C+(r<<2)>>2],A=((n|0)!=0)<<4,r=A;A:{if(!n||(r=A,n&E))break A;f:{if(s[t+772|0])break f;if(r=n-1>>u,(r|0)<0|r>>>0>=w>>>0)break r;if(p=Q[((m(r,24)+p|0)+S|0)+2>>1],p>>>0>=I>>>0)break f;if(r=0,i[t+808>>2]!=i[i[C+(p<<2)>>2]+808>>2])break A}if(r=A,s[W+57|0])break A;A=D<<2,r=i[W+8484>>2],r=(i[A+(r+(q<<2)|0)>>2]==i[A+(r+(n-1>>_<<2)|0)>>2])<<4}A=r,r=v;A:{if(!d)break A;f:{if(s[t+772|0])break f;if(r=z>>u,(r|0)<0|(r|0)>=(H|0))break i;if(u=Q[(m(m(r,w),24)+a|0)+2>>1],u>>>0>=I>>>0)break f;if(r=0,i[t+808>>2]!=i[i[C+(u<<2)>>2]+808>>2])break A}if(r=v,s[W+57|0])break A;r=i[W+8484>>2]+(q<<2)|0,r=(i[r+(D<<2)>>2]==i[r+A0>>2])<<5}if(s[t+762|0])break e;if(ri(f,n,h,o,0,A,r),r=i[f+168>>2],t=n>>r,(t|0)<0||(w=i[f+172>>2],(w|0)<=(t|0)))break r;if(u=h>>r,(u|0)<0|(u|0)>=i[f+176>>2])break i;r=1<<o,k=1<<o-2,A=1<<o-1;A:{f:{k:{n:{t:{o:{u:{l:switch(t=(i[f+160>>2]+m(t,3)|0)+m(m(u,w),3)|0,((s[t|0]|s[t+1|0]<<8)>>>3&7)-1|0){case 2:break f;case 1:break k;case 0:break n;case 5:break t;case 6:break o;case 3:break u;case 4:break l;default:break A}for(t=(r|0)<=1?1:r,A=(k+(A+h|0)|0)/4|0,r=0;k=(r+n|0)/4|0,o=i[f+272>>2],(k|0)>=(o|0)|(A|0)>=i[f+276>>2]||(k=(k+i[f+260>>2]|0)+m(A,o)|0,l[k|0]=s[k|0]|128),r=r+1|0,(t|0)!=(r|0););break A}for(t=(r|0)<=1?1:r,A=(k+h|0)/4|0,r=0;k=(r+n|0)/4|0,o=i[f+272>>2],(k|0)>=(o|0)|(A|0)>=i[f+276>>2]||(k=(k+i[f+260>>2]|0)+m(A,o)|0,l[k|0]=s[k|0]|128),r=r+1|0,(t|0)!=(r|0););break A}for(t=(r|0)<=1?1:r,A=(k+(A+n|0)|0)/4|0,r=0;k=i[f+272>>2],n=(r+h|0)/4|0,(k|0)<=(A|0)|(n|0)>=i[f+276>>2]||(n=(A+i[f+260>>2]|0)+m(k,n)|0,l[n|0]=s[n|0]|64),r=r+1|0,(t|0)!=(r|0););break A}for(t=(r|0)<=1?1:r,A=(k+n|0)/4|0,r=0;k=i[f+272>>2],n=(r+h|0)/4|0,(k|0)<=(A|0)|(n|0)>=i[f+276>>2]||(n=(A+i[f+260>>2]|0)+m(k,n)|0,l[n|0]=s[n|0]|64),r=r+1|0,(t|0)!=(r|0););break A}for(k=(r|0)<=1?1:r,A=(A+h|0)/4|0,r=0;t=(r+n|0)/4|0,o=i[f+272>>2],(t|0)>=(o|0)|(A|0)>=i[f+276>>2]||(t=(t+i[f+260>>2]|0)+m(A,o)|0,l[t|0]=s[t|0]|128),r=r+1|0,(k|0)!=(r|0););break A}for(k=(r|0)<=1?1:r,A=(A+n|0)/4|0,r=0;t=i[f+272>>2],n=(r+h|0)/4|0,(t|0)<=(A|0)|(n|0)>=i[f+276>>2]||(n=(A+i[f+260>>2]|0)+m(n,t)|0,l[n|0]=s[n|0]|64),r=r+1|0,(k|0)!=(r|0););break A}for(w=(r|0)<=1?1:r,t=(A+h|0)/4|0,o=(A+n|0)/4|0,r=0;A=i[f+276>>2],u=(r+h|0)/4|0,k=i[f+272>>2],(A|0)<=(u|0)|(o|0)>=(k|0)||(A=(o+i[f+260>>2]|0)+m(k,u)|0,l[A|0]=s[A|0]|64,k=i[f+272>>2],A=i[f+276>>2]),u=(r+n|0)/4|0,(A|0)<=(t|0)|(u|0)>=(k|0)||(A=(u+i[f+260>>2]|0)+m(k,t)|0,l[A|0]=s[A|0]|128),r=r+1|0,(w|0)!=(r|0););}k=i[f+124>>2],f0=1}if(e=e+1|0,!((e|0)<i[k+16888>>2]))break}if(Z=Z+1|0,(y|0)==(Z|0))break}return f0}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function gk(){var f=0,e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;s[79116]||(l[79116]=1),e=i[19772],i[19772]=e+1;i:{if((e|0)>0||(_k(),Zk()))break i;return i[19772]=i[19772]-1,0}f=U(3224),i[f+168>>2]=0,i[f+84>>2]=0,i[f>>2]=43512,i[f+384>>2]=876,i[f+376>>2]=877,i[f+360>>2]=878,i[f+356>>2]=879,i[f+352>>2]=880,i[f+348>>2]=881,i[f+344>>2]=882,i[f+340>>2]=883,i[f+336>>2]=884,i[f+332>>2]=885,i[f+328>>2]=886,i[f+324>>2]=887,i[f+320>>2]=888,i[f+316>>2]=889,i[f+312>>2]=890,i[f+308>>2]=891,i[f+304>>2]=892,i[f+300>>2]=893,i[f+296>>2]=894,i[f+292>>2]=894,i[f+288>>2]=894,i[f+284>>2]=895,i[f+280>>2]=896,i[f+276>>2]=897,i[f+272>>2]=898,i[f+268>>2]=899,i[f+264>>2]=900,i[f+260>>2]=901,i[f+256>>2]=902,i[f+252>>2]=903,i[f+248>>2]=904,i[f+244>>2]=905,i[f+240>>2]=906,i[f+236>>2]=907,i[f+232>>2]=908,i[f+228>>2]=909,i[f+224>>2]=910,i[f+220>>2]=911,i[f+216>>2]=912,i[f+212>>2]=912,i[f+208>>2]=912,i[f+204>>2]=913,i[f+200>>2]=914,i[f+196>>2]=915,i[f+192>>2]=916,i[f+188>>2]=917,i[f+184>>2]=918,i[f+180>>2]=919,i[f+176>>2]=920,i[f+172>>2]=921,i[f+372>>2]=922,i[f+380>>2]=923,i[f+364>>2]=924,i[f+368>>2]=925,i[f+388>>2]=926,i[f+392>>2]=927,i[f+396>>2]=928,i[f+400>>2]=929,i[f+404>>2]=930,i[f+408>>2]=931,i[f+412>>2]=932,i[f+416>>2]=933,i[f+420>>2]=934,i[f+424>>2]=935,i[f+428>>2]=936,i[f+432>>2]=937,i[f+456>>2]=938,i[f+460>>2]=939,i[f+468>>2]=940,i[f+472>>2]=941,i[f+464>>2]=942,i[f+508>>2]=943,i[f+504>>2]=944,i[f+500>>2]=945,i[f+496>>2]=946,i[f+492>>2]=947,i[f+488>>2]=948,i[f+484>>2]=949,i[f+480>>2]=950,i[f+476>>2]=951,i[f+452>>2]=952,i[f+448>>2]=953,i[f+444>>2]=954,i[f+440>>2]=955,i[f+436>>2]=956,i[f>>2]=43536,i[f+552>>2]=0,i[f+556>>2]=0,X[f+548>>1]=0,i[f+560>>2]=0,i[f+564>>2]=0,i[f+568>>2]=0,i[f+572>>2]=0,i[f+576>>2]=0,i[f+580>>2]=0,i[f+584>>2]=0,i[f+588>>2]=0,i[f+592>>2]=0,i[f+596>>2]=0,e=f+1412|0,i[e>>2]=0,i[e+4>>2]=0,e=f+1404|0,i[e>>2]=0,i[e+4>>2]=0,i[f+1396>>2]=0,i[f+1400>>2]=0,B0(f+600|0,0,792),e=f+2140|0,i[e+8>>2]=0,i[e+12>>2]=0,i[e>>2]=30,i[e+4>>2]=30,i[e+48>>2]=0,i[e+52>>2]=0,i[e+40>>2]=0,i[e+44>>2]=0,i[e+32>>2]=0,i[e+36>>2]=0,i[e+24>>2]=0,i[e+28>>2]=0,i[e+16>>2]=0,i[e+20>>2]=0,i[f+3216>>2]=0,i[f+3208>>2]=0,i[f+3212>>2]=0,X[f+532>>1]=0,l[f+514|0]=0,X[f+512>>1]=256,i[f+516>>2]=-1,i[f+520>>2]=-1,i[f+524>>2]=-1,i[f+528>>2]=-1,e=i[19404],r=i[19403],i[f+1368>>2]=0,i[f+544>>2]=0,i[f+536>>2]=r,i[f+540>>2]=e,e=i[f+1372>>2],i[f+1372>>2]=0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+1380>>2],i[f+1376>>2]=0,i[f+1380>>2]=0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+1388>>2],i[f+1384>>2]=0,i[f+1388>>2]=0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}i[f+1892>>2]=100,i[f+1896>>2]=6,i[f+1884>>2]=0,i[f+1888>>2]=6,i[f+1900>>2]=100,i[f+1904>>2]=6,e=i[f+1376>>2];i:{r:{e:{if(e){e=l[e+2|0];break e}if(r=i[f+1368>>2],e=6,!r)break r;e=i[r+8>>2]}if((e|0)<=0)break i;e=e-1|0}for(_=f+2112|0,u=f+1908|0,h=e+1|0;;){r=m(e,100),n=(r+100|0)/(h|0)|0,A=(r|0)/(h|0)|0;r:{if((n|0)<(A|0)){r=e;break r}t=i[f+1888>>2];e:{if(A+n&1){r=e,e=A;break e}r=(A<<1)+u|0,l[r+1|0]=(e|0)>(t|0)?100:0,k=r,r=(e|0)<(t|0)?e:t,l[k|0]=r,e=A+1|0}if(k=e,(A|0)==(n|0))break r;for(w=n-A|0,e=r;o=(k<<1)+u|0,r=(e|0)<(t|0)?e:t,l[o|0]=r,l[o+1|0]=(e|0)>(t|0)?100:(m(k-A|0,100)|0)/(w|0)|0,o=k+1|0,e=(o<<1)+u|0,l[e+1|0]=(m(o-A|0,100)|0)/(w|0),l[e|0]=r,k=k+2|0,e=r,(n|0)!=(o|0););}if(i[(r<<2)+_>>2]=n,e=r-1|0,!((r|0)>0))break}}return i[f+2200>>2]=0,i[f+2204>>2]=0,i[f+2196>>2]=-1,e=f+2216|0,i[e>>2]=0,i[e+4>>2]=0,e=f+2208|0,i[e>>2]=0,i[e+4>>2]=0,l[f+2200|0]=1,f|0}function hh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;for(n=B-48|0,B=n,Z=e,p=B2(r),l[Z+48|0]=p,o=B2(r),l[e+51|0]=o&31,l[e+49|0]=o>>>6,l[e+50|0]=o>>>5&1,Z=e,p=D0(r),i[Z+52>>2]=p,h=e+56|0;o=B2(r),u=h+(A&-4)|0,k=i[u>>2],t=A<<3,k=(Z=k|1<<t,p=a0(-2,t)&k,W=o<<24>>24<0,W?Z:p),w=u,u=2<<t,k=o&64?u|k:k&(u^-1),u=4<<t,k=o&32?k|u:k&(u^-1),u=8<<t,k=o&16?k|u:k&(u^-1),u=16<<t,k=o&8?k|u:k&(u^-1),u=32<<t,k=o&4?k|u:k&(u^-1),u=64<<t,k=o&2?k|u:k&(u^-1),t=128<<t,i[w>>2]=o&1?k|t:k&(t^-1),A=A+1|0,(A|0)!=6;);Z=e,p=B2(r),l[Z+64|0]=p,Z=e,p=t2(r)&4095,X[Z+66>>1]=p,Z=e,p=B2(r)&3,l[Z+68|0]=p,Z=e,p=B2(r)&3,l[Z+69|0]=p,Z=e,p=B2(r)&7|8,l[Z+70|0]=p,Z=e,p=B2(r)&7|8,l[Z+71|0]=p,Z=e,p=t2(r),X[Z+72>>1]=p,o=B2(r),l[e+74|0]=o>>>6,l[e+80|0]=(o&3)+1,l[e+76|0]=o>>>2&1,l[e+75|0]=o>>>3&7,w=B2(r);i:{r:{if(!w)break r;for(_=e+84|0,v=n+36|0,h=0;;){if(s[r+20|0])break r;A=B2(r),o=0,i[n+44>>2]=0,i[n+36>>2]=0,i[n+40>>2]=0,l[n+33|0]=A&63,l[n+32|0]=A>>>6&1,u=t2(r);e:{A:{if(!u)break A;for(;;){if(s[r+20|0])break A;i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,k=t2(r),t=13;f:{if(!k)break f;k:{if(!T4(r,k))break k;t=i[n+20>>2],A=i[n+24>>2]-t|0;n:{if(A>>>0<k>>>0){L2(n+20|0,k-A|0);break n}if(A>>>0<=k>>>0)break n;i[n+24>>2]=t+k}t=i[r>>2],A=i[r+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),t=V[i[i[t>>2]+16>>2]](t,i[n+20>>2],k)|0;n:{if(!A||(k=i[A+4>>2],i[A+4>>2]=k-1,k))break n;V[i[i[A>>2]+8>>2]](A),g(A)}if(t)break k;A=U(32),i[n+8>>2]=A,i[n+12>>2]=28,i[n+16>>2]=-2147483616,t=s[2134]|s[2135]<<8|(s[2136]<<16|s[2137]<<24),k=s[2130]|s[2131]<<8|(s[2132]<<16|s[2133]<<24),l[A|0]=k,l[A+1|0]=k>>>8,l[A+2|0]=k>>>16,l[A+3|0]=k>>>24,l[A+4|0]=t,l[A+5|0]=t>>>8,l[A+6|0]=t>>>16,l[A+7|0]=t>>>24,l[A+28|0]=0,t=s[2154]|s[2155]<<8|(s[2156]<<16|s[2157]<<24),l[A+24|0]=t,l[A+25|0]=t>>>8,l[A+26|0]=t>>>16,l[A+27|0]=t>>>24,t=s[2150]|s[2151]<<8|(s[2152]<<16|s[2153]<<24),k=s[2146]|s[2147]<<8|(s[2148]<<16|s[2149]<<24),l[A+16|0]=k,l[A+17|0]=k>>>8,l[A+18|0]=k>>>16,l[A+19|0]=k>>>24,l[A+20|0]=t,l[A+21|0]=t>>>8,l[A+22|0]=t>>>16,l[A+23|0]=t>>>24,t=s[2142]|s[2143]<<8|(s[2144]<<16|s[2145]<<24),k=s[2138]|s[2139]<<8|(s[2140]<<16|s[2141]<<24),l[A+8|0]=k,l[A+9|0]=k>>>8,l[A+10|0]=k>>>16,l[A+11|0]=k>>>24,l[A+12|0]=t,l[A+13|0]=t>>>8,l[A+14|0]=t>>>16,l[A+15|0]=t>>>24,r0(f,2,100,n+8|0),l[n+19|0]<0&&G(i[n+8>>2]),t=1;break f}A=i[n+40>>2];k:{if(A>>>0<k0[n+44>>2]){i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,i[A>>2]=i[n+20>>2],i[A+4>>2]=i[n+24>>2],i[A+8>>2]=i[n+28>>2],i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,A=A+12|0;break k}A=NA(v,n+20|0)}i[n+40>>2]=A,t=0}if(A=i[n+20>>2],A&&(i[n+24>>2]=A,G(A)),(t|0)!=13&&t)break e;if(o=o+1|0,(u|0)==(o|0))break}}o=i[e+88>>2];A:{if(o>>>0<k0[e+92>>2]){A=Q[n+32>>1],i[o+12>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,X[o>>1]=A,i[o+4>>2]=i[n+36>>2],i[o+8>>2]=i[n+40>>2],i[o+12>>2]=i[n+44>>2],i[n+44>>2]=0,i[n+36>>2]=0,i[n+40>>2]=0,A=o+16|0;break A}A=Fn(_,n+32|0)}i[e+88>>2]=A,t=0}if(k=i[n+36>>2],k){if(o=i[n+40>>2],A=k,(o|0)!=(A|0)){for(;A=o-12|0,u=i[A>>2],u&&(i[o-8>>2]=u,G(u)),o=A,(k|0)!=(A|0););A=i[n+36>>2]}i[n+40>>2]=k,G(A)}if(t)break i;if(h=h+1|0,(w|0)==(h|0))break}}if(o=i[r+16>>2],o&&(e=i[r+8>>2],e&&($t(e,o),o=i[r+16>>2]),e=i[r>>2],t=V[i[i[e>>2]+8>>2]](e)|0,A=w0,k=o,o=t+o|0,A=k>>>0>o>>>0?A+1|0:A,V[i[i[e>>2]+20>>2]](e,o,A)|0,i[r+16>>2]=0),s[r+20|0]==1){if(l[n+32|0]=0,l[n+43|0]=0,r0(f,2,100,n+32|0),l[n+43|0]>=0)break i;G(i[n+32>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+48|0}function Nk(){var f=0,e=0;k4(6453,1,73724,37195,486,487,0),k4(5831,1,73736,37198,488,489,0),k4(13664,1,73740,37195,490,491,0),k4(11268,2,73768,37232,492,493,0),k4(1382,3,73776,37249,494,495,0),k4(9544,2,73796,37277,496,497,0),k4(4407,2,73812,37277,498,499,0),k4(4852,2,73820,37300,500,501,0),k4(10179,3,73836,37304,502,503,0),k4(10138,2,73820,37300,500,504,0),k4(16698,4,73872,37382,505,506,0),k4(9355,2,73952,37232,507,508,0),k4(8403,2,73976,37277,509,510,0),k4(3270,2,73976,37277,509,511,0),k4(10542,2,73976,37277,509,512,0),k4(9381,2,73984,37232,513,514,0),s8(74008,11337,4,0),V0(74008,8139,0),V0(74008,2806,1),V0(74008,2637,2),V0(74008,5151,11),V0(74008,9567,3),V0(74008,9493,4),V0(74008,5194,5),V0(74008,4991,6),V0(74008,5058,7),V0(74008,5026,8),V0(74008,5090,9),V0(74008,2838,10),s8(74016,11318,4,0),V0(74016,13003,0),V0(74016,14213,5e3),V0(74016,4944,1001),V0(74016,14371,150),V0(74016,6233,5001),V0(74016,8673,5002),V0(74016,6088,5003),V0(74016,3901,5004),V0(74016,14313,100),V0(74016,8827,101),V0(74016,1587,102),V0(74016,1509,103),V0(74016,1826,104),V0(74016,1535,105),V0(74016,1904,106),V0(74016,1878,141),V0(74016,1665,107),V0(74016,1639,108),V0(74016,1852,109),V0(74016,1800,110),V0(74016,1722,111),V0(74016,1613,112),V0(74016,1748,113),V0(74016,5588,114),V0(74016,1104,115),V0(74016,7226,116),V0(74016,14286,117),V0(74016,14339,118),V0(74016,4451,119),V0(74016,1930,131),V0(74016,9400,120),V0(74016,14178,121),V0(74016,4757,122),V0(74016,13153,6001),V0(74016,5116,6e3),V0(74016,12920,123),V0(74016,1339,6002),V0(74016,12858,6003),V0(74016,7185,124),V0(74016,1774,125),V0(74016,13029,1e3),V0(74016,9599,126),V0(74016,3410,127),V0(74016,5855,128),V0(74016,8858,129),V0(74016,13262,2e3),V0(74016,3068,2001),V0(74016,13304,2002),V0(74016,6511,2003),V0(74016,6470,2004),V0(74016,5500,2005),V0(74016,9109,2006),V0(74016,1190,2007),V0(74016,10230,2008),V0(74016,1691,130),V0(74016,14252,136),V0(74016,13804,3e3),V0(74016,9640,3001),V0(74016,6552,3002),V0(74016,11643,3006),V0(74016,6381,3003),V0(74016,11540,3004),V0(74016,11591,3005),V0(74016,8184,4e3),V0(74016,8220,132),V0(74016,4319,133),V0(74016,4667,134),V0(74016,3640,135),V0(74016,1159,137),V0(74016,12667,138),V0(74016,12619,139),V0(74016,7421,140),V0(74016,1561,142),s8(74024,3386,4,0),V0(74024,12715,0),V0(74024,15460,1),V0(74024,15482,2),V0(74024,15138,3),V0(74024,16954,4),V0(74024,15418,5),V0(74024,15439,6),V0(74024,17240,7),V0(74024,12577,8),V0(74024,7812,9),V0(74024,15078,10),s8(73896,14597,4,0),V0(73896,12768,99),V0(73896,9957,0),V0(73896,17209,1),V0(73896,16819,2),V0(73896,16645,3),V0(73896,15580,10),V0(73896,15608,11),V0(73896,15266,12),V0(73896,15300,13),V0(73896,15196,14),V0(73896,15230,15),V0(73896,3210,10),V0(73896,3240,11),s8(74032,7150,4,0),V0(74032,10509,2),V0(74032,5431,1),V0(74032,2514,3),s8(74040,7117,4,0),V0(74040,5998,2),V0(74040,5391,1),s8(73888,11504,4,0),V0(73888,12742,99),V0(73888,6050,0),V0(73888,15560,1),V0(73888,9930,2),s8(73928,7696,4,0),V0(73928,14800,0),V0(73928,6072,2),V0(73928,14107,1),V0(73928,14954,3),V0(73928,15118,4),V0(73928,15512,5),V0(73928,14663,6),V0(73928,11869,10),s8(73804,3147,4,0),V0(73804,6139,0),V0(73804,11924,1),V0(73804,11894,2),V0(73804,11520,3),lA(73744,73752,74048,0,37195,515,37684,0,37684,0,2557,37686,516),lA(73848,73856,73960,0,37195,517,37684,0,37684,0,10212,37686,518),lA(73904,73912,73992,0,37195,519,37684,0,37684,0,10603,37686,520),ws(73788,5183,37689,521,37686,522),f=U(4),i[f>>2]=0,e=U(4),i[e>>2]=0,oA(73788,11348,74008,37277,523,f|0,74008,37691,524,e|0),f=U(4),i[f>>2]=4,e=U(4),i[e>>2]=4,oA(73788,11310,74016,37277,525,f|0,74016,37691,526,e|0),f=U(4),i[f>>2]=527,e=U(4),i[e>>2]=528,oA(73788,10501,73728,37300,529,f|0,73728,37696,530,e|0),hs(73788)}function wh(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;t=X[e+8>>1],_=B-32|0,o=X[e+16>>1],w=X[e>>1],n=X[e+24>>1],k=((m(o,-74)+m(w,74)|0)+m(n,74)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+16>>1]=(k|0)<=-32768?-32768:k,k=(((m(t,-74)+m(w,84)|0)+m(o,55)|0)+m(n,-29)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+24>>1]=(k|0)<=-32768?-32768:k,t=m(t,74),k=(((t+m(w,55)|0)+m(o,-29)|0)+m(n,-84)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+8>>1]=(k|0)<=-32768?-32768:k,o=(((t+m(w,29)|0)+m(o,84)|0)+m(n,55)|0)- -64>>7,o=(o|0)>=32767?32767:o,X[_>>1]=(o|0)<=-32768?-32768:o,t=X[e+10>>1],o=X[e+18>>1],w=X[e+2>>1],n=X[e+26>>1],k=((m(o,-74)+m(w,74)|0)+m(n,74)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+18>>1]=(k|0)<=-32768?-32768:k,k=(((m(t,-74)+m(w,84)|0)+m(o,55)|0)+m(n,-29)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+26>>1]=(k|0)<=-32768?-32768:k,t=m(t,74),k=(((t+m(w,55)|0)+m(o,-29)|0)+m(n,-84)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+10>>1]=(k|0)<=-32768?-32768:k,o=(((t+m(w,29)|0)+m(o,84)|0)+m(n,55)|0)- -64>>7,o=(o|0)>=32767?32767:o,X[_+2>>1]=(o|0)<=-32768?-32768:o,t=X[e+12>>1],o=X[e+20>>1],w=X[e+4>>1],n=X[e+28>>1],k=((m(o,-74)+m(w,74)|0)+m(n,74)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+20>>1]=(k|0)<=-32768?-32768:k,k=(((m(t,-74)+m(w,84)|0)+m(o,55)|0)+m(n,-29)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+28>>1]=(k|0)<=-32768?-32768:k,t=m(t,74),k=(((t+m(w,55)|0)+m(o,-29)|0)+m(n,-84)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+12>>1]=(k|0)<=-32768?-32768:k,o=(((t+m(w,29)|0)+m(o,84)|0)+m(n,55)|0)- -64>>7,o=(o|0)>=32767?32767:o,X[_+4>>1]=(o|0)<=-32768?-32768:o,n=X[e+14>>1],o=X[e+22>>1],w=X[e+6>>1],e=X[e+30>>1],t=((m(o,-74)+m(w,74)|0)+m(e,74)|0)- -64>>7,t=(t|0)>=32767?32767:t,X[_+22>>1]=(t|0)<=-32768?-32768:t,t=(((m(n,-74)+m(w,84)|0)+m(o,55)|0)+m(e,-29)|0)- -64>>7,t=(t|0)>=32767?32767:t,X[_+30>>1]=(t|0)<=-32768?-32768:t,n=m(n,74),t=(((n+m(w,55)|0)+m(o,-29)|0)+m(e,-84)|0)- -64>>7,t=(t|0)>=32767?32767:t,X[_+14>>1]=(t|0)<=-32768?-32768:t,e=(((n+m(w,29)|0)+m(o,84)|0)+m(e,55)|0)- -64>>7,e=(e|0)>=32767?32767:e,X[_+6>>1]=(e|0)<=-32768?-32768:e,o=20-A|0,e=-1<<A^-1,w=1<<19-A;i:{if((r|0)!=1){for(A=0;t=(A<<3)+_|0,u=X[t+2>>1],n=(m(r,A)<<1)+f|0,k=X[t+4>>1],Z=X[t>>1],t=X[t+6>>1],h=w+((m(k,-74)+m(Z,74)|0)+m(t,74)|0)>>o,h=(h|0)>=32767?32767:h,h=Q[n+4>>1]+((h|0)<=-32768?-32768:h)|0,X[n+4>>1]=(h|0)>=0?(e|0)>(h|0)?h:e:0,v=m(u,74),h=w+(((v+m(Z,29)|0)+m(k,84)|0)+m(t,55)|0)>>o,h=(h|0)>=32767?32767:h,h=Q[n>>1]+((h|0)<=-32768?-32768:h)|0,X[n>>1]=(h|0)>=0?(e|0)>(h|0)?h:e:0,h=w+(((v+m(Z,55)|0)+m(k,-29)|0)+m(t,-84)|0)>>o,h=(h|0)>=32767?32767:h,h=Q[n+2>>1]+((h|0)<=-32768?-32768:h)|0,X[n+2>>1]=(h|0)>=0?(e|0)>(h|0)?h:e:0,v=n,h=Q[n+6>>1],n=w+(((m(u,-74)+m(Z,84)|0)+m(k,55)|0)+m(t,-29)|0)>>o,n=(n|0)>=32767?32767:n,n=h+((n|0)<=-32768?-32768:n)|0,X[v+6>>1]=(n|0)>=0?(e|0)>(n|0)?n:e:0,A=A+1|0,(A|0)!=4;);break i}for(k=Q[f+4>>1],A=0;t=(A<<3)+_|0,h=X[t+2>>1],n=(m(r,A)<<1)+f|0,v=k&65535,k=X[t+4>>1],Z=X[t>>1],t=X[t+6>>1],u=w+((m(k,-74)+m(Z,74)|0)+m(t,74)|0)>>o,u=(u|0)>=32767?32767:u,u=v+((u|0)<=-32768?-32768:u)|0,X[n+4>>1]=(u|0)>=0?(e|0)>(u|0)?u:e:0,v=m(h,74),u=w+(((v+m(Z,29)|0)+m(k,84)|0)+m(t,55)|0)>>o,u=(u|0)>=32767?32767:u,u=Q[n>>1]+((u|0)<=-32768?-32768:u)|0,X[n>>1]=(u|0)>=0?(e|0)>(u|0)?u:e:0,u=w+(((v+m(Z,55)|0)+m(k,-29)|0)+m(t,-84)|0)>>o,u=(u|0)>=32767?32767:u,u=Q[n+2>>1]+((u|0)<=-32768?-32768:u)|0,X[n+2>>1]=(u|0)>=0?(e|0)>(u|0)?u:e:0,v=n,u=Q[n+6>>1],n=w+(((m(h,-74)+m(Z,84)|0)+m(k,55)|0)+m(t,-29)|0)>>o,n=(n|0)>=32767?32767:n,n=u+((n|0)<=-32768?-32768:n)|0,k=(n|0)>=0?(e|0)>(n|0)?n:e:0,X[v+6>>1]=k,A=A+1|0,(A|0)!=4;);}}function _h(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;k=B-48|0,B=k,A=D0(r),i[e+52>>2]=A&16777215,l[e+48|0]=A>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[k|0]=0,l[k+11|0]=0,r0(k+24|0,2,100,k),l[k+11|0]>=0)break i;G(i[k>>2]);break i}if(A=i[19565],i[k+24>>2]=i[19564],i[k+28>>2]=A,A=k+32|0,l[78275]>=0){n=i[19567],i[A>>2]=i[19566],i[A+4>>2]=n,i[A+8>>2]=i[19568];break i}_0(A,i[19566],i[19567])}l[k+43|0]<0&&G(i[k+32>>2]);i:{if(s[e+48|0]){h4(f,e,2458);break i}i[k+16>>2]=0,i[k+20>>2]=0,i[k+8>>2]=0,i[k+12>>2]=0,i[k>>2]=0,i[k+4>>2]=0,i[e+64>>2]=0,i[e+68>>2]=1,i[e+56>>2]=0,i[e+60>>2]=0,A=i[k+4>>2],n=i[k>>2],X[e+72>>1]=n,X[e+74>>1]=n>>>16,X[e+76>>1]=A,X[e+78>>1]=A>>>16,A=i[k+12>>2],n=i[k+8>>2],X[e+80>>1]=n,X[e+82>>1]=n>>>16,X[e+84>>1]=A,X[e+86>>1]=A>>>16,A=i[k+20>>2],n=i[k+16>>2],X[e+88>>1]=n,X[e+90>>1]=n>>>16,X[e+92>>1]=A,X[e+94>>1]=A>>>16,i[e+104>>2]=0,i[e+108>>2]=0,i[e+96>>2]=0,i[e+100>>2]=1072693248,i[e+112>>2]=0,i[e+116>>2]=0,i[e+120>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,A=i[e+52>>2],A&1&&(l[e+136|0]=1,_=e,v=D0(r),i[_+56>>2]=v,A=i[e+52>>2]),A&2&&(l[e+137|0]=1,_=e,v=D0(r),i[_+60>>2]=v,A=i[e+52>>2]),A&4&&(l[e+138|0]=1,_=e,v=D0(r),i[_+64>>2]=v,A=i[e+52>>2]);r:{if(!(A&8))break r;l[e+139|0]=1;e:{A:switch(s[e+48|0]){case 0:h=A&16;f:{if(h){A=D0(r),n=D0(r),w=D0(r);break f}A=o3(r),n=o3(r),w=o3(r)}if(l[e+68|0]=1,t=+(16384<<h>>>0),o=+(w|0)/t,i0[e+88>>3]=o,u=+(n|0)/t,i0[e+80>>3]=u,t=+(A|0)/t,i0[e+72>>3]=t,t=o*o+(t*t+u*u),!(t>1))break e;if(e=U(48),i[k>>2]=e,i[k+4>>2]=47,i[k+8>>2]=-2147483600,r=s[2409]|s[2410]<<8|(s[2411]<<16|s[2412]<<24),A=s[2405]|s[2406]<<8|(s[2407]<<16|s[2408]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+47|0]=0,r=s[2448]|s[2449]<<8|(s[2450]<<16|s[2451]<<24),A=s[2444]|s[2445]<<8|(s[2446]<<16|s[2447]<<24),l[e+39|0]=A,l[e+40|0]=A>>>8,l[e+41|0]=A>>>16,l[e+42|0]=A>>>24,l[e+43|0]=r,l[e+44|0]=r>>>8,l[e+45|0]=r>>>16,l[e+46|0]=r>>>24,r=s[2441]|s[2442]<<8|(s[2443]<<16|s[2444]<<24),A=s[2437]|s[2438]<<8|(s[2439]<<16|s[2440]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[2433]|s[2434]<<8|(s[2435]<<16|s[2436]<<24),A=s[2429]|s[2430]<<8|(s[2431]<<16|s[2432]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[2425]|s[2426]<<8|(s[2427]<<16|s[2428]<<24),A=s[2421]|s[2422]<<8|(s[2423]<<16|s[2424]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[2417]|s[2418]<<8|(s[2419]<<16|s[2420]<<24),A=s[2413]|s[2414]<<8|(s[2415]<<16|s[2416]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,k),l[k+11|0]>=0)break i;G(i[k>>2]);break i;case 1:break A;default:break r}_=e,Z=+(D0(r)|0)*152587890625e-16,i0[_+104>>3]=Z,_=e,Z=+(D0(r)|0)*152587890625e-16,i0[_+112>>3]=Z,_=e,Z=+(D0(r)|0)*152587890625e-16,i0[_+120>>3]=Z;break r}i0[e+96>>3]=ss(1-t)}if(s[e+52|0]&32&&(l[e+140|0]=1,_=e,v=D0(r),i[_+128>>2]=v),s[r+20|0]==1){if(l[k|0]=0,l[k+11|0]=0,r0(f,2,100,k),l[k+11|0]>=0)break i;G(i[k>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+48|0}function vh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0;e=B-32|0,B=e,u=U0(i[r>>2],0),h=U0(i[r>>2],1),w=U0(i[r>>2],2),D=H2(i[r>>2],6),D&&(E=U0(i[r>>2],6));i:{if(!(!(u>>>0>8|h>>>0>8)&w>>>0<9)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((u|0)==(h|0)&(u|0)==(w|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],W=i[A+48>>2],W&&(i[W+4>>2]=i[W+4>>2]+1,A=i[r>>2]),n=i[A+28>>2],k=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),t=i[A+4>>2],v=t+1|0,i[A+4>>2]=v,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,o=A- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,o=A+12|0,i[A+12>>2]=o,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=t,i[A+16>>2]=A,v||(V[i[i[A>>2]+8>>2]](A),g(A)),i[o+36>>2]=1,i[o+32>>2]=0,i[o+28>>2]=n,i[o+24>>2]=k,v=(n+1|0)/2|0,t=(k+1|0)/2|0;r:{e:{if(!J0(o,0,k,n,u)||!J0(o,1,t,v,h)||!J0(o,2,t,v,w)||D&&!J0(o,6,k,n,E))break e;if(i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,E=v0(i[r>>2],0,e+28|0),u=v0(i[r>>2],1,e+24|0),h=v0(i[r>>2],2,e+20|0),z=v0(o,0,e+12|0),H=v0(o,1,e+8|0),a=v0(o,2,e+4|0),D&&(q=v0(i[r>>2],6,e+16|0),d=v0(o,6,e)),Z=n&1,!(!Z|(k|0)<2))for(J=k-1|0,w=v-1|0,I=n-1|0,r=0;_=r>>>1|0,R=u+(m(I,i[e+24>>2])+r|0)|0,l[_+(m(w,i[e+8>>2])+H|0)|0]=(s[R|0]+s[R+1|0]|0)+1>>>1,p=_+(m(w,i[e+4>>2])+a|0)|0,_=h+(m(I,i[e+20>>2])+r|0)|0,l[p|0]=(s[_|0]+s[_+1|0]|0)+1>>>1,r=r+2|0,(J|0)>(r|0););w=n-1|0;A:{if(!(k&1))break A;if((n|0)>=2)for(_=(t+a|0)-1|0,I=(k+h|0)-1|0,R=(t+H|0)-1|0,J=(k+u|0)-1|0,r=0;y=r>>>1|0,p=i[e+24>>2],S=s[J+m(p,r)|0],C=p,p=r|1,l[R+m(y,i[e+8>>2])|0]=(S+s[J+m(C,p)|0]|0)+1>>>1,C=_+m(y,i[e+4>>2])|0,y=i[e+20>>2],l[C|0]=(s[I+m(y,r)|0]+s[I+m(y,p)|0]|0)+1>>>1,r=r+2|0,(w|0)>(r|0););if(!Z)break A;r=v-1|0,l[(t+(m(r,i[e+8>>2])+H|0)|0)-1|0]=s[((u+m(w,i[e+24>>2])|0)+k|0)-1|0],l[(t+(m(r,i[e+4>>2])+a|0)|0)-1|0]=s[((h+m(w,i[e+20>>2])|0)+k|0)-1|0]}A:{f:{if((n|0)>=2){if((k|0)<2)break f;for(J=k-1|0,t=0;;){for(v=t>>>1|0,I=t|1,r=0;Z=i[e+20>>2],_=(h+m(Z,I)|0)+r|0,R=s[_+1|0],_=s[_|0],Z=h+(m(t,Z)+r|0)|0,y=s[Z|0],Z=s[Z+1|0],p=r>>>1|0,C=i[e+24>>2],S=u+(m(C,t)+r|0)|0,C=(u+m(I,C)|0)+r|0,l[p+(m(v,i[e+8>>2])+H|0)|0]=(((s[S|0]+s[S+1|0]|0)+s[C|0]|0)+s[C+1|0]|0)+2>>>2,l[p+(m(v,i[e+4>>2])+a|0)|0]=(R+(_+(Z+y|0)|0)|0)+2>>>2,r=r+2|0,(J|0)>(r|0););if(t=t+2|0,!((w|0)>(t|0)))break}}if((n|0)<=0)break A}if(D){for(r=0;l0(m(i[e+12>>2],r)+z|0,E+m(i[e+28>>2],r)|0,k),l0(m(i[e>>2],r)+d|0,m(i[e+16>>2],r)+q|0,k),r=r+1|0,(n|0)!=(r|0););break A}u=n&1;f:{if(!w){r=0;break f}for(n=n&-2,r=0,t=0;l0(m(i[e+12>>2],r)+z|0,E+m(i[e+28>>2],r)|0,k),h=r|1,l0(m(h,i[e+12>>2])+z|0,E+m(h,i[e+28>>2])|0,k),r=r+2|0,t=t+2|0,(n|0)!=(t|0););}if(!u)break A;l0(m(i[e+12>>2],r)+z|0,E+m(i[e+28>>2],r)|0,k)}i[f+4>>2]=A,i[f>>2]=o;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!W||(f=i[W+4>>2],i[W+4>>2]=f-1,f))break i;V[i[i[W>>2]+8>>2]](W),g(W)}B=e+32|0}function CA(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0;s[100176]||(A=B-16|0,B=A,s[100168]||(k=B-16|0,B=k,i[k+12>>2]=1,i[25003]=i[k+12>>2]-1,i[25002]=66952,i[25002]=61792,i[25002]=60312,e=B-16|0,B=e,i[25004]=0,i[25005]=0,i[e+12>>2]=0,i[25006]=0,l[100148]=0,i[e+4>>2]=100016,l[e+10|0]=0,r=B-16|0,B=r,L9()>>>0<30&&(o4(),P()),ut(r+8|0,100028,30),n=i[r+8>>2],i[25005]=n,i[25004]=n,i[25006]=(i[r+12>>2]<<2)+n,B=r+16|0,J9(30),l[e+10|0]=1,B=e+16|0,G6(100152,15510),ao(100016),i[25360]=0,i[25359]=66952,i[25359]=61792,i[25359]=62900,f1(101436,r1(99840)),i[25362]=0,i[25361]=66952,i[25361]=61792,i[25361]=62932,f1(101444,r1(99848)),i[25364]=0,i[25363]=66952,i[25363]=61792,l[101464]=0,i[25365]=0,i[25363]=60332,i[25365]=60384,f1(101452,r1(100192)),i[25368]=0,i[25367]=66952,i[25367]=61792,i[25367]=61848,f1(101468,r1(100184)),i[25370]=0,i[25369]=66952,i[25369]=61792,i[25369]=61996,f1(101476,r1(100200)),i[25372]=0,i[25371]=66952,i[25371]=61792,i[25371]=61416,t=101492,o=M2(),i[t>>2]=o,f1(101484,r1(100208)),i[25375]=0,i[25374]=66952,i[25374]=61792,i[25374]=62144,f1(101496,r1(100216)),i[25377]=0,i[25376]=66952,i[25376]=61792,i[25376]=62376,f1(101504,r1(100232)),i[25379]=0,i[25378]=66952,i[25378]=61792,i[25378]=62260,f1(101512,r1(100224)),i[25381]=0,i[25380]=66952,i[25380]=61792,i[25380]=62492,f1(101520,r1(100240)),i[25383]=0,i[25382]=66952,i[25382]=61792,X[50768]=11310,i[25382]=61464,e=B-16|0,B=e,i[25385]=0,i[25386]=0,i[25387]=0,B=e+16|0,f1(101528,r1(100248)),i[25389]=0,i[25388]=66952,i[25388]=61792,i[25390]=46,i[25391]=44,i[25388]=61504,e=B-16|0,B=e,i[25392]=0,i[25393]=0,i[25394]=0,B=e+16|0,f1(101552,r1(100256)),i[25396]=0,i[25395]=66952,i[25395]=61792,i[25395]=62964,f1(101580,r1(99856)),i[25398]=0,i[25397]=66952,i[25397]=61792,i[25397]=63208,f1(101588,r1(99864)),i[25400]=0,i[25399]=66952,i[25399]=61792,i[25399]=63420,f1(101596,r1(99872)),i[25402]=0,i[25401]=66952,i[25401]=61792,i[25401]=63652,f1(101604,r1(99880)),i[25404]=0,i[25403]=66952,i[25403]=61792,i[25403]=64636,f1(101612,r1(99920)),i[25406]=0,i[25405]=66952,i[25405]=61792,i[25405]=64784,f1(101620,r1(99928)),i[25408]=0,i[25407]=66952,i[25407]=61792,i[25407]=64900,f1(101628,r1(99936)),i[25410]=0,i[25409]=66952,i[25409]=61792,i[25409]=65016,f1(101636,r1(99944)),i[25412]=0,i[25411]=66952,i[25411]=61792,i[25411]=65132,f1(101644,r1(99952)),i[25414]=0,i[25413]=66952,i[25413]=61792,i[25413]=65296,f1(101652,r1(99960)),i[25416]=0,i[25415]=66952,i[25415]=61792,i[25415]=65460,f1(101660,r1(99968)),i[25418]=0,i[25417]=66952,i[25417]=61792,i[25417]=65624,f1(101668,r1(99976)),i[25420]=0,i[25419]=66952,i[25419]=61792,i[25421]=66880,i[25419]=63852,i[25421]=63900,f1(101676,r1(99888)),i[25423]=0,i[25422]=66952,i[25422]=61792,i[25424]=66916,i[25422]=64116,i[25424]=64164,f1(101688,r1(99896)),i[25426]=0,i[25425]=66952,i[25425]=61792,vo(101708),i[25425]=64352,f1(101700,r1(99904)),i[25429]=0,i[25428]=66952,i[25428]=61792,vo(101720),i[25428]=64508,f1(101712,r1(99912)),i[25432]=0,i[25431]=66952,i[25431]=61792,i[25431]=65788,f1(101724,r1(99984)),i[25434]=0,i[25433]=66952,i[25433]=61792,i[25433]=65908,f1(101732,r1(99992)),B=k+16|0,i[A+8>>2]=100008,i[25041]=i[A+8>>2],l[100168]=1),B=A+16|0,e=i[25041],i[25043]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),l[100176]=1),e=f,f=i[25043],i[e>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1)}function v8(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;w=u<<2,Z=i[w+45024>>2]+n|0,w=i[w+45008>>2],p=Z+w|0,C=h-8|0,h=i[(o<<2)+45008>>2];i:{r:switch(o|0){case 0:if(v=0-w|0,(Z|0)<=(v|0)|(k|0)<=0)break i;for(I=(w<<1)+t|0,y=r-(h<<1)|0,E=k&2147483644,W=k&3,J=k>>>0<4;;){if(h=(v<<1)+I|0,w=(m(A,v)<<1)+y|0,_=0,!J)for(;X[h>>1]=Q[w>>1],r=p<<1,h=r+h|0,X[h>>1]=Q[w+2>>1],h=r+h|0,X[h>>1]=Q[w+4>>1],h=r+h|0,X[h>>1]=Q[w+6>>1],h=r+h|0,w=w+8|0,_=_+4|0,(E|0)!=(_|0););if(r=0,W)for(;X[h>>1]=Q[w>>1],w=w+2|0,h=(p<<1)+h|0,r=r+1|0,(W|0)!=(r|0););if(v=v+1|0,(Z|0)==(v|0))break}break i;case 1:if(_=0-w|0,(Z|0)<=(_|0)|(k|0)<=0)break i;for(v=(w<<1)+t|0,W=r-(h<<1)|0;;){for(h=v+(_<<1)|0,w=W+(m(A,_)<<1)|0,r=0;X[h>>1]=Q[w+12>>1]+((((((Q[w+2>>1]<<2)-Q[w>>1]|0)+m(Q[w+4>>1],-10)|0)+m(Q[w+6>>1],58)|0)+m(Q[w+8>>1],17)|0)+m(Q[w+10>>1],-5)|0)>>C,w=w+2|0,h=(p<<1)+h|0,r=r+1|0,(k|0)!=(r|0););if(_=_+1|0,(Z|0)==(_|0))break}break i;case 2:if(_=0-w|0,(Z|0)<=(_|0)|(k|0)<=0)break i;for(v=(w<<1)+t|0,W=r-(h<<1)|0;;){for(h=v+(_<<1)|0,w=W+(m(A,_)<<1)|0,r=0;X[h>>1]=(((((Q[w+2>>1]<<2)-Q[w>>1]|0)+m(Q[w+8>>1]+Q[w+6>>1]|0,40)|0)+(Q[w+12>>1]<<2)|0)-Q[w+14>>1]|0)+m(Q[w+10>>1]+Q[w+4>>1]|0,-11)>>C,w=w+2|0,h=(p<<1)+h|0,r=r+1|0,(k|0)!=(r|0););if(_=_+1|0,(Z|0)==(_|0))break}break i;case 3:break r;default:break i}if(_=0-w|0,(Z|0)<=(_|0)|(k|0)<=0)break i;for(v=(w<<1)+t|0,W=r-(h<<1)|0;;){for(h=v+(_<<1)|0,w=W+(m(A,_)<<1)|0,r=0;X[h>>1]=(((((Q[w>>1]+m(Q[w+2>>1],-5)|0)+m(Q[w+4>>1],17)|0)+m(Q[w+6>>1],58)|0)+m(Q[w+8>>1],-10)|0)+(Q[w+10>>1]<<2)|0)-Q[w+12>>1]>>C,w=w+2|0,h=(p<<1)+h|0,r=r+1|0,(k|0)!=(r|0););if(_=_+1|0,(Z|0)==(_|0))break}}A=o?6:C;i:{r:switch(u|0){case 3:if((k|0)<=0|(n|0)<=0)break i;for(_=0;;){for(h=(_<<1)+f|0,w=(m(_,p)<<1)+t|0,r=0;X[h>>1]=(((((X[w>>1]+m(X[w+2>>1],-5)|0)+m(X[w+4>>1],17)|0)+m(X[w+6>>1],58)|0)+m(X[w+8>>1],-10)|0)+(X[w+10>>1]<<2)|0)-X[w+12>>1]>>A,w=w+2|0,h=(e<<1)+h|0,r=r+1|0,(n|0)!=(r|0););if(_=_+1|0,(_|0)==(k|0))break}break i;case 2:if((k|0)<=0|(n|0)<=0)break i;for(_=0;;){for(h=(_<<1)+f|0,w=(m(_,p)<<1)+t|0,r=0;X[h>>1]=(((((X[w+2>>1]<<2)-X[w>>1]|0)+m(X[w+8>>1]+X[w+6>>1]|0,40)|0)+(X[w+12>>1]<<2)|0)-X[w+14>>1]|0)+m(X[w+10>>1]+X[w+4>>1]|0,-11)>>A,w=w+2|0,h=(e<<1)+h|0,r=r+1|0,(n|0)!=(r|0););if(_=_+1|0,(_|0)==(k|0))break}break i;case 1:if((k|0)<=0)break i;for(_=0,o=(n|0)<=0;;){if(!o)for(h=(_<<1)+f|0,w=(m(_,p)<<1)+t|0,r=0;X[h>>1]=X[w+12>>1]+((((((X[w+2>>1]<<2)-X[w>>1]|0)+m(X[w+4>>1],-10)|0)+m(X[w+6>>1],58)|0)+m(X[w+8>>1],17)|0)+m(X[w+10>>1],-5)|0)>>A,w=w+2|0,h=(e<<1)+h|0,r=r+1|0,(n|0)!=(r|0););if(_=_+1|0,(_|0)==(k|0))break}break i;case 0:break r;default:break i}if((k|0)<=0)break i;for(_=n&2147483644,u=n&3,A=0,Z=(n|0)<=0;;){r:{if(Z)break r;if(h=(A<<1)+f|0,w=(m(A,p)<<1)+t|0,r=0,n>>>0>3)for(;X[h>>1]=Q[w>>1],o=e<<1,h=o+h|0,X[h>>1]=Q[w+2>>1],h=o+h|0,X[h>>1]=Q[w+4>>1],h=o+h|0,X[h>>1]=Q[w+6>>1],h=o+h|0,w=w+8|0,r=r+4|0,(_|0)!=(r|0););if(r=0,!u)break r;for(;X[h>>1]=Q[w>>1],w=w+2|0,h=(e<<1)+h|0,r=r+1|0,(u|0)!=(r|0););}if(A=A+1|0,(k|0)==(A|0))break}}}function mh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0;e=B-32|0,B=e,t=U0(i[r>>2],0),Z=U0(i[r>>2],1),p=U0(i[r>>2],2),R=H2(i[r>>2],6),R&&(u=U0(i[r>>2],6));i:{if(!(!(t>>>0<9|Z>>>0<9)&p>>>0>8)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((t|0)==(Z|0)&(t|0)==(p|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],w=i[A+48>>2],w&&(i[w+4>>2]=i[w+4>>2]+1,A=i[r>>2]),k=i[A+28>>2],o=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),h=i[A+4>>2],W=h+1|0,i[A+4>>2]=W,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,n=A+12|0,i[A+12>>2]=n,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=h,i[A+16>>2]=A,W||(V[i[i[A>>2]+8>>2]](A),g(A)),i[n+36>>2]=2,i[n+32>>2]=0,i[n+28>>2]=k,i[n+24>>2]=o,_=(o+1|0)/2|0;r:{e:{if(!J0(n,0,o,k,t)||!J0(n,1,_,k,Z)||!J0(n,2,_,k,p)||R&&!J0(n,6,o,k,u))break e;u=0,i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,Z=v0(i[r>>2],0,e+28|0),z=v0(i[r>>2],1,e+24|0),H=v0(i[r>>2],2,e+20|0),p=v0(n,0,e+12|0),a=v0(n,1,e+8|0),S=v0(n,2,e+4|0),R?(q=v0(i[r>>2],6,e+16|0),d=v0(n,6,e),u=i[e>>2]/2|0,r=i[e+16>>2]/2|0):r=0,i[e+16>>2]=r,i[e>>2]=u,i[e+28>>2]=i[e+28>>2]/2,u=i[e+24>>2]/2|0,i[e+24>>2]=u,h=i[e+20>>2]/2|0,i[e+20>>2]=h,i[e+12>>2]=i[e+12>>2]/2,W=i[e+8>>2]/2|0,i[e+8>>2]=W,E=i[e+4>>2]/2|0,i[e+4>>2]=E;A:{if(!(o&1)|(k|0)<2)break A;if(r=_<<1,t=(r+S|0)-2|0,C=o<<1,_=(C+H|0)-2|0,J=(r+a|0)-2|0,C=(C+z|0)-2|0,v=k-1|0,D=v&1,r=0,(k|0)!=2)for(I=v&-2;X[J+(m(r,W)<<1)>>1]=Q[C+(m(r,u)<<1)>>1],X[t+(m(r,E)<<1)>>1]=Q[_+(m(r,h)<<1)>>1],v=r|1,X[J+(m(v,W)<<1)>>1]=Q[C+(m(u,v)<<1)>>1],X[t+(m(v,E)<<1)>>1]=Q[_+(m(h,v)<<1)>>1],r=r+2|0,y=y+2|0,(I|0)!=(y|0););if(!D)break A;X[J+(m(r,W)<<1)>>1]=Q[C+(m(r,u)<<1)>>1],X[t+(m(r,E)<<1)>>1]=Q[_+(m(r,h)<<1)>>1]}A:{if((k|0)<=0)break A;if((o|0)>=2){for(_=o-1|0,t=0;;){for(J=(m(t,E)<<1)+S|0,C=(m(t,W)<<1)+a|0,v=(m(t,h)<<1)+H|0,D=(m(t,u)<<1)+z|0,r=0;I=r<<1,y=I+v|0,A0=Q[y>>1],y=Q[y+2>>1],I=I+D|0,X[r+C>>1]=(Q[I>>1]+Q[I+2>>1]|0)+1>>>1,X[r+J>>1]=(y+A0|0)+1>>>1,r=r+2|0,(_|0)>(r|0););if(t=t+1|0,(t|0)==(k|0))break}if((k|0)<=0)break A}if(o=o<<1,R){for(r=0;l0(p+(m(i[e+12>>2],r)<<1)|0,Z+(m(i[e+28>>2],r)<<1)|0,o),l0((m(i[e>>2],r)<<1)+d|0,(m(i[e+16>>2],r)<<1)+q|0,o),r=r+1|0,(k|0)!=(r|0););break A}if(r=0,(k|0)!=1)for(u=k&2147483646,t=0;l0(p+(m(i[e+12>>2],r)<<1)|0,Z+(m(i[e+28>>2],r)<<1)|0,o),h=r|1,l0(p+(m(h,i[e+12>>2])<<1)|0,Z+(m(h,i[e+28>>2])<<1)|0,o),r=r+2|0,t=t+2|0,(u|0)!=(t|0););if(!(k&1))break A;l0(p+(m(i[e+12>>2],r)<<1)|0,Z+(m(i[e+28>>2],r)<<1)|0,o)}i[f+4>>2]=A,i[f>>2]=n;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!w||(f=i[w+4>>2],i[w+4>>2]=f-1,f))break i;V[i[i[w>>2]+8>>2]](w),g(w)}B=e+32|0}function Bh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=Y(0),_=0,v=0,Z=0,p=Y(0),W=0,C=0,I=0,y=Y(0),E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=Y(0),f0=0,n0=0,h0=0,j=0,L=Y(0),p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0;o=B+-64|0,B=o,e=i[r>>2],C=i[e+28>>2],I=i[e+24>>2],A=U0(e,0),E=H2(i[r>>2],6),n=i[k+4>>2],t=U(136),i[t>>2]=72792,i[t+4>>2]=0,i[t+8>>2]=0,B0(t+20|0,0,104),e=i[t+4>>2],W=e+1|0,i[t+4>>2]=W,i[t+56>>2]=0,i[t+60>>2]=0,i[t+44>>2]=99,i[t+48>>2]=99,i[t+32>>2]=3795,u=t- -64|0,i[u>>2]=0,i[u+4>>2]=0,i[t+132>>2]=0,i[t+124>>2]=0,i[t+128>>2]=0,i[t+84>>2]=1,i[t+88>>2]=1,i[t+72>>2]=t+76,i[t+92>>2]=0,i[t+96>>2]=0,i[t+100>>2]=0,i[t+104>>2]=0,i[t+108>>2]=0,i[t+112>>2]=0,l[t+113|0]=0,l[t+114|0]=0,l[t+115|0]=0,l[t+116|0]=0,l[t+117|0]=0,l[t+118|0]=0,l[t+119|0]=0,l[t+120|0]=0,_=t+12|0,i[t+12>>2]=_,i[t+8>>2]=i[t+8>>2]+1,i[t+4>>2]=e,i[t+16>>2]=t,W||(V[i[i[t>>2]+8>>2]](t),g(t)),i[_+36>>2]=i[k+4>>2],i[_+32>>2]=1,i[_+28>>2]=C,i[_+24>>2]=I;i:{r:{if(!J0(_,10,I,C,A)||E&&!J0(_,6,I,C,A))break r;if(i[o+60>>2]=0,i[o+56>>2]=0,i[o+52>>2]=0,i[o+48>>2]=0,i[o+44>>2]=0,Z=v0(_,10,o+60|0),H=v0(i[r>>2],0,o+56|0),a=v0(i[r>>2],1,o+52|0),S=v0(i[r>>2],2,o+48|0),E&&(q=v0(i[r>>2],6,o+44|0)),i[o+36>>2]=-1086926434,i[o+40>>2]=1071829221,i[o+28>>2]=1068725436,i[o+32>>2]=-1095748968,l[o+24|0]=1,r=i[r>>2],e=i[r+44>>2],v=i[r+48>>2],v&&(i[v+4>>2]=i[v+4>>2]+1),k=1,e&&(k=s[e+10|0],V6(o+4|0,Q[e+8>>1],Q[e+4>>1]),i[o+40>>2]=i[o+20>>2],e=i[o+16>>2],i[o+32>>2]=i[o+12>>2],i[o+36>>2]=e,e=i[o+8>>2],i[o+24>>2]=i[o+4>>2],i[o+28>>2]=e),!((C|0)<=0|(I|0)<=0))for(e=n&-2,J=(e|0)==14,d=E?8:6,A0=Y(16<<A-8),r=(e|0)==14,f0=r?6:7,n0=(e|0)!=14,e=-1<<A^-1,W=e>>>8|0,z=1<<A-1,h0=(r?4:5)+Z|0,j=(r?2:3)+Z|0,r=0,L=Z0[o+28>>2],p0=i[o+48>>2],X0=i[o+52>>2],G0=i[o+56>>2],R=k&1;;){for(I0=((m(r,G0)|0)/2<<1)+H|0,A=r>>>1|0,Q0=((m(A,p0)|0)/2<<1)+S|0,F0=((m(A,X0)|0)/2<<1)+a|0,k=0;;){A=k&-2,w=Y(Q[A+Q0>>1]-z|0),y=R?w:Y(w*Y(1.142899990081787)),w=Y(Q[(k<<1)+I0>>1]),w=R?w:Y(Y(w-A0)*Y(1.1689000129699707)),p=Y(Y(Y(L*y)+w)+Y(.5));e:{if(Y(d0(p))<Y(2147483648)){u=~~p;break e}u=-2147483648}p=Y(Q[A+F0>>1]-z|0),p=R?p:Y(p*Y(1.142899990081787)),n=0,A=0;e:{if((u|0)<0)break e;if((e|0)<(u|0)){n=e,A=W;break e}n=u,A=u>>>8|0}Y0=n,n=0,y=Y(Y(Y(Z0[o+36>>2]*y)+Y(Y(Z0[o+32>>2]*p)+w))+Y(.5));e:{if(Y(d0(y))<Y(2147483648)){h=~~y;break e}h=-2147483648}u=0;e:{if((h|0)<0)break e;if((e|0)<(h|0)){n=W,u=e;break e}n=h>>>8|0,u=h}S0=u,D=0,w=Y(Y(Y(Z0[o+40>>2]*p)+w)+Y(.5));e:{if(Y(d0(w))<Y(2147483648)){h=~~w;break e}h=-2147483648}u=0;e:{if((h|0)<0)break e;if((e|0)<(h|0)){D=W,u=e;break e}D=h>>>8|0,u=h}if(h=m(k,d),l[(h+(m(i[o+60>>2],r)+Z|0)|0)+J|0]=A,l[((h+(m(i[o+60>>2],r)+Z|0)|0)+J|0)+2|0]=n,l[((h+(m(i[o+60>>2],r)+Z|0)|0)+J|0)+4|0]=D,l[((h|n0)+Z|0)+m(i[o+60>>2],r)|0]=Y0,l[(h+j|0)+m(i[o+60>>2],r)|0]=S0,l[(h+h0|0)+m(i[o+60>>2],r)|0]=u,E&&(A=k<<3,n=(((m(i[o+44>>2],r)|0)/2|0)+k<<1)+q|0,l[((A+(m(i[o+60>>2],r)+Z|0)|0)+J|0)+6|0]=s[n+1|0],l[((A|f0)+Z|0)+m(i[o+60>>2],r)|0]=s[n|0]),k=k+1|0,(I|0)==(k|0))break}if(r=r+1|0,(C|0)==(r|0))break}if(i[f+4>>2]=t,i[f>>2]=_,!v||(f=i[v+4>>2],i[v+4>>2]=f-1,f))break i;V[i[i[v>>2]+8>>2]](v),g(v);break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[t+4>>2],i[t+4>>2]=f-1,f)break i;V[i[i[t>>2]+8>>2]](t),g(t)}B=o- -64|0}function m8(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;h=u<<2,Z=i[h+45024>>2]+n|0,h=i[h+45008>>2],p=Z+h|0,w=i[(o<<2)+45008>>2];i:{r:switch(o|0){case 0:if(v=0-h|0,(Z|0)<=(v|0)|(k|0)<=0)break i;for(C=(h<<1)+t|0,I=r-w|0,y=k&2147483644,W=k&3,E=k>>>0<4;;){if(w=(v<<1)+C|0,h=m(A,v)+I|0,_=0,!E)for(;X[w>>1]=s[h|0],r=p<<1,w=r+w|0,X[w>>1]=s[h+1|0],w=r+w|0,X[w>>1]=s[h+2|0],w=r+w|0,X[w>>1]=s[h+3|0],w=r+w|0,h=h+4|0,_=_+4|0,(y|0)!=(_|0););if(r=0,W)for(;X[w>>1]=s[h|0],h=h+1|0,w=(p<<1)+w|0,r=r+1|0,(W|0)!=(r|0););if(v=v+1|0,(Z|0)==(v|0))break}break i;case 1:if(_=0-h|0,(Z|0)<=(_|0)|(k|0)<=0)break i;for(v=(h<<1)+t|0,W=r-w|0;;){for(w=v+(_<<1)|0,h=W+m(A,_)|0,r=0;X[w>>1]=s[h+6|0]+((((((s[h+1|0]<<2)-s[h|0]|0)+m(s[h+2|0],-10)|0)+m(s[h+3|0],58)|0)+m(s[h+4|0],17)|0)+m(s[h+5|0],-5)|0),h=h+1|0,w=(p<<1)+w|0,r=r+1|0,(k|0)!=(r|0););if(_=_+1|0,(Z|0)==(_|0))break}break i;case 2:if(_=0-h|0,(Z|0)<=(_|0)|(k|0)<=0)break i;for(v=(h<<1)+t|0,W=r-w|0;;){for(w=v+(_<<1)|0,h=W+m(A,_)|0,r=0;X[w>>1]=(((((s[h+1|0]<<2)-s[h|0]|0)+m(s[h+4|0]+s[h+3|0]|0,40)|0)+(s[h+6|0]<<2)|0)-s[h+7|0]|0)+m(s[h+5|0]+s[h+2|0]|0,-11),h=h+1|0,w=(p<<1)+w|0,r=r+1|0,(k|0)!=(r|0););if(_=_+1|0,(Z|0)==(_|0))break}break i;case 3:break r;default:break i}if(_=0-h|0,(Z|0)<=(_|0)|(k|0)<=0)break i;for(v=(h<<1)+t|0,W=r-w|0;;){for(w=v+(_<<1)|0,h=W+m(A,_)|0,r=0;X[w>>1]=(((((s[h|0]+m(s[h+1|0],-5)|0)+m(s[h+2|0],17)|0)+m(s[h+3|0],58)|0)+m(s[h+4|0],-10)|0)+(s[h+5|0]<<2)|0)-s[h+6|0],h=h+1|0,w=(p<<1)+w|0,r=r+1|0,(k|0)!=(r|0););if(_=_+1|0,(Z|0)==(_|0))break}}A=o?6:0;i:{r:switch(u|0){case 3:if((k|0)<=0|(n|0)<=0)break i;for(_=0;;){for(w=(_<<1)+f|0,h=(m(_,p)<<1)+t|0,r=0;X[w>>1]=(((((X[h>>1]+m(X[h+2>>1],-5)|0)+m(X[h+4>>1],17)|0)+m(X[h+6>>1],58)|0)+m(X[h+8>>1],-10)|0)+(X[h+10>>1]<<2)|0)-X[h+12>>1]>>A,h=h+2|0,w=(e<<1)+w|0,r=r+1|0,(n|0)!=(r|0););if(_=_+1|0,(_|0)==(k|0))break}break i;case 2:if((k|0)<=0|(n|0)<=0)break i;for(_=0;;){for(w=(_<<1)+f|0,h=(m(_,p)<<1)+t|0,r=0;X[w>>1]=(((((X[h+2>>1]<<2)-X[h>>1]|0)+m(X[h+8>>1]+X[h+6>>1]|0,40)|0)+(X[h+12>>1]<<2)|0)-X[h+14>>1]|0)+m(X[h+10>>1]+X[h+4>>1]|0,-11)>>A,h=h+2|0,w=(e<<1)+w|0,r=r+1|0,(n|0)!=(r|0););if(_=_+1|0,(_|0)==(k|0))break}break i;case 1:if((k|0)<=0)break i;for(_=0,o=(n|0)<=0;;){if(!o)for(w=(_<<1)+f|0,h=(m(_,p)<<1)+t|0,r=0;X[w>>1]=X[h+12>>1]+((((((X[h+2>>1]<<2)-X[h>>1]|0)+m(X[h+4>>1],-10)|0)+m(X[h+6>>1],58)|0)+m(X[h+8>>1],17)|0)+m(X[h+10>>1],-5)|0)>>A,h=h+2|0,w=(e<<1)+w|0,r=r+1|0,(n|0)!=(r|0););if(_=_+1|0,(_|0)==(k|0))break}break i;case 0:break r;default:break i}if((k|0)<=0)break i;for(_=n&2147483644,u=n&3,A=0,Z=(n|0)<=0;;){r:{if(Z)break r;if(w=(A<<1)+f|0,h=(m(A,p)<<1)+t|0,r=0,n>>>0>3)for(;X[w>>1]=Q[h>>1],o=e<<1,w=o+w|0,X[w>>1]=Q[h+2>>1],w=o+w|0,X[w>>1]=Q[h+4>>1],w=o+w|0,X[w>>1]=Q[h+6>>1],w=o+w|0,h=h+8|0,r=r+4|0,(_|0)!=(r|0););if(r=0,!u)break r;for(;X[w>>1]=Q[h>>1],h=h+2|0,w=(e<<1)+w|0,r=r+1|0,(u|0)!=(r|0););}if(A=A+1|0,(k|0)==(A|0))break}}}function Rk(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0;C=B-2176|0,B=C;i:{if((e|0)<=0)break i;p=e>>>1|0;r:{if(e>>>0>=8){for(h=e>>>2|0,z=e&2,D=p&1073741822,t=C- -64|0,k=C;;){e:{if((e|0)==1)break e;if(w=(m(A,J)<<1)+r|0,n=0,o=0,(p|0)!=1)for(;_=n<<1,u=_+w|0,Z=t+_|0,_=n+p<<1,v=_+w|0,X[Z>>1]=Q[v>>1]+Q[u>>1],X[t+_>>1]=Q[u>>1]-Q[v>>1],u=n|1,_=u<<1,Z=_+t|0,u=u+p<<1,v=u+w|0,_=w+_|0,X[Z>>1]=Q[v>>1]+Q[_>>1],X[t+u>>1]=Q[_>>1]-Q[v>>1],n=n+2|0,o=o+2|0,(D|0)!=(o|0););if(!z)break e;u=n<<1,o=u+w|0,n=n+p<<1,w=n+w|0,X[t+u>>1]=Q[w>>1]+Q[o>>1],X[n+t>>1]=Q[o>>1]-Q[w>>1]}for(o=h,w=p;;){e:{if(n=t,t=k,!o)break e;for(I=o&536870910,E=o&1,u=0;;){if(k=0,_=0,(o|0)!=1)for(;v=k+u|0,W=v<<1,Z=W+t|0,R=o+v<<1,y=Q[R+n>>1],W=Q[n+W>>1],X[Z>>1]=y+W,X[t+R>>1]=W-y,v=v+1|0,W=v<<1,Z=W+t|0,v=o+v<<1,R=Q[v+n>>1],W=Q[n+W>>1],X[Z>>1]=R+W,X[t+v>>1]=W-R,k=k+2|0,_=_+2|0,(I|0)!=(_|0););if(E&&(k=k+u|0,_=k<<1,Z=_+t|0,k=k+o<<1,v=Q[k+n>>1],_=Q[n+_>>1],X[Z>>1]=v+_,X[k+t>>1]=_-v),u=u+w|0,!((u|0)<(e|0)))break}if(w=w>>>1|0,u=o>>>0>3,o=o>>>1|0,k=n,u)continue}break}for(o=m(e,J),k=0;w=C+128|0,u=k|1,_=(u<<1)+t|0,v=(k<<1)+t|0,X[w+(k+o<<1)>>1]=Q[_>>1]+Q[v>>1],X[w+(o+u<<1)>>1]=Q[v>>1]-Q[_>>1],k=k+2|0,(k|0)<(e|0););if(k=n,J=J+1|0,(J|0)==(e|0))break}break r}for(k=e-1|0,_=k&2,J=(k>>>1|0)+1&-2,v=p<<1,k=C- -64|0,z=v+k|0,D=p+2<<1,I=D+k|0,E=p+1<<1,W=E+k|0,R=e>>>0<3;;){e:{if((e|0)==1||(k=(m(A,o)<<1)+r|0,n=Q[k+v>>1],t=Q[k>>1],X[C+64>>1]=n+t,X[z>>1]=t-n,e>>>0<4)||(n=Q[k+E>>1],t=Q[k+2>>1],X[C+66>>1]=n+t,X[W>>1]=t-n,(p|0)==2))break e;n=Q[k+D>>1],k=Q[k+4>>1],X[C+68>>1]=n+k,X[I>>1]=k-n}if(n=m(e,o),t=0,k=0,!R)for(;w=C+128|0,h=C- -64|0,u=t|1,y=Q[h+(u<<1)>>1],Z=Q[h+(t<<1)>>1],X[w+(n+t<<1)>>1]=y+Z,X[w+(n+u<<1)>>1]=Z-y,y=t|2,u=Q[h+(y<<1)>>1],Z=w+(n+y<<1)|0,y=t|3,h=Q[h+(y<<1)>>1],X[Z>>1]=u+h,X[w+(n+y<<1)>>1]=u-h,t=t+4|0,k=k+2|0,(J|0)!=(k|0););if(_||(k=C+128|0,Z=k+(n+t<<1)|0,h=C- -64|0,w=t|1,u=Q[h+(w<<1)>>1],t=Q[h+(t<<1)>>1],X[Z>>1]=u+t,X[k+(n+w<<1)>>1]=t-u),o=o+1|0,(o|0)==(e|0))break}n=C,t=n- -64|0}if((e|0)<=0)break i;for(r=e>>>1|0,J=r>>>0<=1?1:r,A=e>>>2|0,p=0,v=e>>>0<8;;){k=0;r:{if((e|0)==1){k=n;break r}for(;h=C+128|0,w=r+k|0,o=Q[h+(m(w,e)+p<<1)>>1],h=h+(m(e,k)+p<<1)|0,X[(k<<1)+t>>1]=o+Q[h>>1],X[(w<<1)+t>>1]=Q[h>>1]-o,k=k+1|0,(J|0)!=(k|0););if(o=A,w=r,k=n,v)break r;for(;;){if(k=t,t=n,!o)break r;for(z=o&536870910,D=o&1,u=0;;){if(n=0,_=0,(o|0)!=1)for(;h=n+u|0,I=h<<1,Z=I+t|0,E=o+h<<1,W=Q[E+k>>1],I=Q[k+I>>1],X[Z>>1]=W+I,X[t+E>>1]=I-W,h=h+1|0,I=h<<1,Z=I+t|0,h=o+h<<1,E=Q[h+k>>1],I=Q[k+I>>1],X[Z>>1]=E+I,X[t+h>>1]=I-E,n=n+2|0,_=_+2|0,(z|0)!=(_|0););if(D&&(n=n+u|0,h=n<<1,Z=h+t|0,n=n+o<<1,_=Q[n+k>>1],h=Q[k+h>>1],X[Z>>1]=_+h,X[n+t>>1]=h-_),u=u+w|0,!((u|0)<(e|0)))break}if(w=w>>>1|0,h=o>>>0>3,o=o>>>1|0,n=k,!h)break}}for(o=(p<<1)+f|0,n=0;w=n|1,h=(w<<1)+t|0,u=(n<<1)+t|0,X[o+(m(e,n)<<1)>>1]=Q[h>>1]+Q[u>>1],X[o+(m(e,w)<<1)>>1]=Q[u>>1]-Q[h>>1],n=n+2|0,(n|0)<(e|0););if(n=k,p=p+1|0,(p|0)==(e|0))break}}B=C+2176|0}function Dk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;C=B;i:{r:{e:{A:{f:{k:{n:{t:{o:{u:{if(!k||!(u0(r,1)&255))break u;if(t){if(f=0,e=M0(r),(e|0)==-99999|(e|0)>=(k|0))break e;f=e^-1}else f=-1;if(h=f+k|0,(h|0)<0)break t;if(e=u0(r,1),f=M0(r),(f|0)==-99999)break i;for(Z=s[(i[n>>2]+m(h,100)|0)+98|0],k=Z+16&496,u=C-k|0,t=u,B=t,o=f^-1,_=f+1|0,w=t-k|0,B=w,k=0;f=u0(r,1),l[k+u|0]=f,t=k+w|0,f&255?f=1:f=u0(r,1),l[t|0]=f,f=(k|0)!=(Z|0),k=k+1|0,!!f;);o=e?o:_,r=m(h,100),e=r+i[n>>2]|0,f=s[e+96|0],e=s[e+97|0];l:{if(!e){t=0;break l}for(_=A- -64|0,t=0,v=e>>>0<17,k=e;;){if(p=i[n>>2],h>>>0>=(i[n+4>>2]-p|0)/100>>>0)break n;if(!v)break k;k=k-1|0,p=o+X[((r+p|0)+(k<<1)|0)+32>>1]|0;s:{if((p|0)>=0||(W=f+k|0,!s[W+w|0]))break s;if((t|0)>15)break i;X[(t<<1)+A>>1]=p,l[t+_|0]=s[u+W|0],t=t+1|0}if(!k)break}}if(!(!s[w+Z|0]|(o|0)>=0)){if((t|0)>15)break i;X[(t<<1)+A>>1]=o,l[(A+t|0)- -64|0]=s[u+Z|0],t=t+1|0}l:{if(!f){l[A+96|0]=t,k=0;break l}for(r=A- -64|0,k=0,_=m(h,100);;){if(v=o+X[(_+i[n>>2]|0)+(k<<1)>>1]|0,!(!s[k+w|0]|(v|0)>=0)){if((t|0)>15)break i;X[(t<<1)+A>>1]=v,l[r+t|0]=s[k+u|0],t=t+1|0}if(k=k+1|0,(f|0)==(k|0))break}if(l[A+96|0]=t,!f){k=0;break l}for(_=A+80|0,v=A+32|0,k=0,p=m(h,100),t=f;;){if(r=t,t=t-1|0,W=o+X[(p+i[n>>2]|0)+(t<<1)>>1]|0,!((W|0)<=0|!s[t+w|0])){if((k|0)>15)break i;X[v+(k<<1)>>1]=W,l[k+_|0]=s[t+u|0],k=k+1|0}if(!((r|0)>1))break}}if(!(!s[w+Z|0]|(o|0)<=0)){if((k|0)>15)break i;X[((k<<1)+A|0)+32>>1]=o,l[(A+k|0)+80|0]=s[u+Z|0],k=k+1|0}if(e)for(r=A+80|0,Z=A+32|0,t=0,h=m(h,100);;){_=o+X[((h+i[n>>2]|0)+(t<<1)|0)+32>>1]|0;l:{if((_|0)<=0||(v=f+t|0,!s[v+w|0]))break l;if((k|0)>15)break i;X[Z+(k<<1)>>1]=_,l[r+k|0]=s[u+v|0],k=k+1|0}if(t=t+1|0,(e|0)==(t|0))break}l[A+97|0]=k;break o}if(n=M0(r),o=M0(r),!((n|0)!=-99999&(o|0)!=-99999))break r;if(i[((l[e+2|0]<<2)+e|0)+524>>2]<(n+o|0)){X[A+96>>1]=0,X[A+98>>1]=0;break r}if(!((o|0)<17&(n|0)<=16))break r;if(l[A+97|0]=o,l[A+96|0]=n,(n|0)>0)for(t=A- -64|0,f=0,k=0,e=0;;){if(u=M0(r),(u|0)==-99999)break e;if(w=u0(r,1),h=(k<<1)+A|0,X[h>>1]=(u^-1)+e,l[k+t|0]=w,e=Q[h>>1],k=k+1|0,(n|0)==(k|0))break}if((o|0)<=0)break o;for(e=A+80|0,n=A+32|0,f=0,k=0,t=0;;){if(u=M0(r),(u|0)==-99999)break e;if(w=u0(r,1),h=n+(k<<1)|0,X[h>>1]=(t+u|0)+1,l[e+k|0]=w,t=Q[h>>1],k=k+1|0,(o|0)==(k|0))break}}if(k=0,l[A+99|0]=0,f=s[A+96|0],!f)break A;if(n=f&1,e=A- -64|0,(f|0)==1){r=0;break f}for(o=f&254,r=0,t=0;u=e+r|0,s[u|0]&&(k=k+1|0,l[A+99|0]=k),s[u+1|0]&&(k=k+1|0,l[A+99|0]=k),r=r+2|0,t=t+2|0,(o|0)!=(t|0););break f}C0(17134,14045,129,3344),P()}C0(18501,14045,174,3344),P()}C0(14916,14045,175,3344),P()}if(!n|!s[e+r|0])break A;k=k+1|0,l[A+99|0]=k}e=s[A+97|0];A:{if(!e)break A;if(n=A+80|0,r=0,(e|0)!=1)for(o=e&254,t=0;u=r+n|0,s[u|0]&&(k=k+1|0,l[A+99|0]=k),s[u+1|0]&&(k=k+1|0,l[A+99|0]=k),r=r+2|0,t=t+2|0,(o|0)!=(t|0););if(!(e&1)|!s[r+n|0])break A;l[A+99|0]=k+1}l[A+98|0]=f+e,f=1}return B=C,f}v2(f,1018,0)}return B=C,0}function Zh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;e=B-32|0,B=e,k=U0(i[r>>2],0),w=U0(i[r>>2],1),_=U0(i[r>>2],2),C=H2(i[r>>2],6),C&&(v=U0(i[r>>2],6));i:{if(!(!(k>>>0>8|w>>>0>8)&_>>>0<9)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((k|0)==(w|0)&(k|0)==(_|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],h=i[A+48>>2],h&&(i[h+4>>2]=i[h+4>>2]+1,A=i[r>>2]),n=i[A+28>>2],o=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),u=i[A+4>>2],W=u+1|0,i[A+4>>2]=W,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,t=A- -64|0,i[t>>2]=0,i[t+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,t=A+12|0,i[A+12>>2]=t,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=u,i[A+16>>2]=A,W||(V[i[i[A>>2]+8>>2]](A),g(A)),i[t+36>>2]=3,i[t+32>>2]=0,i[t+28>>2]=n,i[t+24>>2]=o;r:{e:{if(!J0(t,0,o,n,k)||!J0(t,1,o,n,w)||!J0(t,2,o,n,_)||C&&!J0(t,6,o,n,v))break e;k=0,i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,w=v0(i[r>>2],0,e+28|0),W=v0(i[r>>2],1,e+24|0),y=v0(i[r>>2],2,e+20|0),_=v0(t,0,e+12|0),v=v0(t,1,e+8|0),u=v0(t,2,e+4|0),C&&(R=v0(i[r>>2],6,e+16|0),D=v0(t,6,e));A:{if((n|0)<=0)break A;for(;l[v+m(i[e+8>>2],k)|0]=s[W+m(i[e+24>>2],k)|0],l[u+m(i[e+4>>2],k)|0]=s[m(i[e+20>>2],k)+y|0],k=k+1|0,(n|0)!=(k|0););if(!(o&1)){if((n|0)<=0)break A;for(k=(o+u|0)-1|0,I=(o+v|0)-1|0,r=o>>1,p=(r+y|0)-1|0,E=(r+W|0)-1|0,r=0;l[I+m(i[e+8>>2],r)|0]=s[E+m(i[e+24>>2],r)|0],l[k+m(i[e+4>>2],r)|0]=s[p+m(i[e+20>>2],r)|0],r=r+1|0,(n|0)!=(r|0););}if((n|0)<=0)break A;if((o|0)>=3){for(E=o-1|0,k=0;;){for(r=1;Z=r>>>1|0,p=Z+(m(i[e+20>>2],k)+y|0)|0,I=s[p+1|0],p=s[p|0],Z=Z+(W+m(i[e+24>>2],k)|0)|0,J=s[Z|0],Z=s[Z+1|0],l[(v+m(i[e+8>>2],k)|0)+r|0]=(m(J,3)+Z|0)+2>>>2,l[((v+m(i[e+8>>2],k)|0)+r|0)+1|0]=(m(Z,3)+J|0)+2>>>2,l[(u+m(i[e+4>>2],k)|0)+r|0]=(I+m(p,3)|0)+2>>>2,l[((u+m(i[e+4>>2],k)|0)+r|0)+1|0]=(p+m(I,3)|0)+2>>>2,r=r+2|0,(E|0)>(r|0););if(k=k+1|0,(n|0)==(k|0))break}if((n|0)<=0)break A}if(C){for(r=0;l0(_+m(i[e+12>>2],r)|0,w+m(i[e+28>>2],r)|0,o),l0(m(i[e>>2],r)+D|0,m(i[e+16>>2],r)+R|0,o),r=r+1|0,(n|0)!=(r|0););break A}if(r=0,(n|0)!=1)for(v=n&2147483646,k=0;l0(_+m(i[e+12>>2],r)|0,w+m(i[e+28>>2],r)|0,o),u=r|1,l0(_+m(u,i[e+12>>2])|0,w+m(u,i[e+28>>2])|0,o),r=r+2|0,k=k+2|0,(v|0)!=(k|0););if(!(n&1))break A;l0(_+m(i[e+12>>2],r)|0,w+m(i[e+28>>2],r)|0,o)}i[f+4>>2]=A,i[f>>2]=t;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!h||(f=i[h+4>>2],i[h+4>>2]=f-1,f))break i;V[i[i[h>>2]+8>>2]](h),g(h)}B=e+32|0}function ph(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;e=B-16|0,B=e,A=U(136),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=72792,B0(A+20|0,0,104),k=i[A+4>>2],w=k+1|0,i[A+4>>2]=w,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,n=A+12|0,i[A+12>>2]=n,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=k,i[A+16>>2]=A,w||(V[i[i[A>>2]+8>>2]](A),g(A)),k=i[r>>2],_=i[k+24>>2],w=i[k+28>>2],k=w,i[n+36>>2]=1,i[n+32>>2]=0,i[n+28>>2]=k,i[n+24>>2]=_,t=(k+1|0)/2|0,h=(_+1|0)/2|0;i:{r:{if(o=U0(i[r>>2],0),!J0(n,0,_,k,o)||!J0(n,1,h,t,o)||!J0(n,2,h,t,o)||(I=H2(i[r>>2],6),I&&(y=U0(i[r>>2],6),!J0(n,6,_,k,y))))break r;e:{if(o>>>0<=8){if(k=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,h=v0(i[r>>2],0,e),u=v0(n,0,e+4|0),v=v0(n,1,e+12|0),p=v0(n,2,e+8|0),o=1<<o-1,B0(v,o,m(t,i[e+12>>2])),B0(p,o,m(t,i[e+8>>2])),(w|0)<=0)break e;if((w|0)!=1)for(o=w&2147483646,t=0;l0(u+m(i[e+4>>2],k)|0,h+m(i[e>>2],k)|0,_),v=k|1,l0(u+m(v,i[e+4>>2])|0,h+m(v,i[e>>2])|0,_),k=k+2|0,t=t+2|0,(o|0)!=(t|0););if(!(w&1))break e;l0(u+m(i[e+4>>2],k)|0,h+m(i[e>>2],k)|0,_);break e}if(i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,v=v0(i[r>>2],0,e),p=v0(n,0,e+4|0),J=v0(n,1,e+12|0),R=v0(n,2,e+8|0),i[e>>2]=i[e>>2]/2,i[e+4>>2]=i[e+4>>2]/2,(w|0)<=0)break e;if(D=i[e+8>>2]/2|0,z=i[e+12>>2]/2|0,(_|0)>0){for(k=128<<o-8,H=(t|0)<=1?1:t,t=(h|0)<=1?1:h,a=t&1073741820,E=t&3,S=(_|0)<7;;){if(o=(m(C,D)<<1)+R|0,h=(m(C,z)<<1)+J|0,t=0,Z=0,!S)for(;u=t<<1,X[u+h>>1]=k,X[o+u>>1]=k,W=u|2,X[W+h>>1]=k,X[o+W>>1]=k,W=u|4,X[W+h>>1]=k,X[o+W>>1]=k,u=u|6,X[u+h>>1]=k,X[o+u>>1]=k,t=t+4|0,Z=Z+4|0,(a|0)!=(Z|0););if(u=0,E)for(;Z=t<<1,X[Z+h>>1]=k,X[o+Z>>1]=k,t=t+1|0,u=u+1|0,(E|0)!=(u|0););if(C=C+1|0,(H|0)==(C|0))break}if((w|0)<=0)break e}if(t=_<<1,k=0,(w|0)!=1)for(h=w&2147483646,o=0;l0(p+(m(i[e+4>>2],k)<<1)|0,v+(m(i[e>>2],k)<<1)|0,t),u=k|1,l0(p+(m(u,i[e+4>>2])<<1)|0,v+(m(u,i[e>>2])<<1)|0,t),k=k+2|0,o=o+2|0,(h|0)!=(o|0););if(!(w&1))break e;l0(p+(m(i[e+4>>2],k)<<1)|0,v+(m(i[e>>2],k)<<1)|0,t)}e:{if(!I||(k=0,i[e+12>>2]=0,i[e+8>>2]=0,r=v0(i[r>>2],6,e+12|0),t=v0(n,6,e+8|0),(w|0)<=0))break e;if(_=_<<(y>>>0>8),(w|0)!=1)for(o=w&2147483646,u=0;l0(t+m(i[e+8>>2],k)|0,r+m(i[e+12>>2],k)|0,_),h=k|1,l0(t+m(h,i[e+8>>2])|0,r+m(h,i[e+12>>2])|0,_),k=k+2|0,u=u+2|0,(o|0)!=(u|0););if(!(w&1))break e;l0(t+m(i[e+8>>2],k)|0,r+m(i[e+12>>2],k)|0,_)}i[f+4>>2]=A,i[f>>2]=n;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break i;V[i[i[A>>2]+8>>2]](A),g(A)}B=e+16|0}function s4(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;w=B-112|0,B=w,h=u&2147483647;i:{r:{if(v=k&2147483647,_=2147418112,Z=!(e|r),!(A|v?v-_>>>0<2147549184:Z)&&(I=h-_|0,!o&(I|0)==-2147418112?n|t:(I|0)==-2147418112&(o|0)!=0|I>>>0>2147549184))break r;if(!(!A&(v|0)==2147418112?Z:v>>>0<2147418112)){o=A,u=k|32768,n=e,t=r;break i}if(!(!o&(h|0)==2147418112?!(n|t):h>>>0<2147418112)){u=u|32768;break i}if(!(e|A|(v^2147418112|r))){h=A,A=!(e^n|A^o|(r^t|k^u^-2147483648)),o=A?0:h,u=A?2147450880:k,n=A?0:e,t=A?0:r;break i}if(_=n|o,!(_|(h^2147418112|t)))break i;if(!(e|A|(r|v))){if(t|h|_)break i;n=e&n,t=r&t,o=A&o,u=k&u;break i}if(n|o|(t|h))break r;n=e,t=r,o=A,u=k;break i}_=(h|0)==(v|0),W=_&(A|0)==(o|0)?(r|0)==(t|0)&e>>>0<n>>>0|r>>>0<t>>>0:_&A>>>0<o>>>0|h>>>0>v>>>0,Z=W,v=Z?n:e,I=Z?t:r,_=Z?u:k,y=_,Z=Z?o:A,C=_&65535,h=W?A:o,_=W?k:u,A=_,_=A>>>16&32767,p=y>>>16&32767,p||(p=!(Z|C),o=p,p=o<<6,E=$2(o?v:Z)+32|0,o=$2(o?I:C),p=p+((o|0)==32?E:o)|0,L1(w+96|0,v,I,Z,C,p-15|0),Z=i[w+104>>2],C=i[w+108>>2],I=i[w+100>>2],p=16-p|0,v=i[w+96>>2]),n=W?e:n,t=W?r:t,e=h,r=A&65535,_||(h=!(e|r),W=h,A=h?n:e,h=h<<6,W=$2(W?t:r),h=h+((W|0)==32?$2(A)+32|0:W)|0,L1(w+80|0,n,t,e,r,h-15|0),_=16-h|0,n=i[w+80>>2],t=i[w+84>>2],e=i[w+88>>2],r=i[w+92>>2]),A=r<<3,r=e,e=A|e>>>29,h=r<<3,r=e,e=t>>>29|h,r=r|524288,h=C<<3|Z>>>29,C=Z<<3|I>>>29,W=h,o=k^u,h=t<<3|n>>>29,A=n<<3;r:{if((_|0)==(p|0))break r;if(k=p-_|0,k>>>0>127){e=0,r=0,h=0,A=1;break r}L1(w- -64|0,A,h,e,r,128-k|0),ti(w+48|0,A,h,e,r,k),e=i[w+56>>2],r=i[w+60>>2],h=i[w+52>>2],A=i[w+48>>2]|(i[w+64>>2]|i[w+72>>2]|(i[w+68>>2]|i[w+76>>2]))!=0}Z=A,_=h,W=W|524288,h=I<<3|v>>>29,v=v<<3;r:{if((o|0)<0){if(n=0,t=0,o=0,u=0,!(v^Z|e^C|(h^_|r^W)))break i;if(A=v-Z|0,k=h-((v>>>0<Z>>>0)+_|0)|0,n=C-e|0,t=(h|0)==(_|0)&v>>>0<Z>>>0|h>>>0<_>>>0,o=n-t|0,e=(W-((e>>>0>C>>>0)+r|0)|0)-(n>>>0<t>>>0)|0,u=e,e>>>0>524287)break r;r=!(e|o),t=r,u=r?A:o,r=r<<6,t=$2(t?k:e),r=r+((t|0)==32?$2(u)+32|0:t)|0,n=e,e=r-12|0,L1(w+32|0,A,k,o,n,e),p=p-e|0,o=i[w+40>>2],u=i[w+44>>2],A=i[w+32>>2],k=i[w+36>>2];break r}if(h=h+_|0,A=v+Z|0,k=A>>>0<v>>>0?h+1|0:h,n=(_|0)==(k|0)&A>>>0<Z>>>0|k>>>0<_>>>0,h=r+W|0,e=e+C|0,h=e>>>0<C>>>0?h+1|0:h,o=e+n|0,u=o>>>0<e>>>0?h+1|0:h,!(u&1048576))break r;A=Z&1|((k&1)<<31|A>>>1),k=o<<31|k>>>1,p=p+1|0,o=(u&1)<<31|o>>>1,u=u>>>1|0}if(n=0,e=y&-2147483648,v=e,(p|0)>=32767){o=n,u=e|2147418112,t=0;break i}_=0;r:{if((p|0)>0){_=p;break r}L1(w+16|0,A,k,o,u,p+127|0),ti(w,A,k,o,u,1-p|0),A=i[w>>2]|(i[w+16>>2]|i[w+24>>2]|(i[w+20>>2]|i[w+28>>2]))!=0,k=i[w+4>>2],o=i[w+8>>2],u=i[w+12>>2]}r=(k&7)<<29|A>>>3,e=o<<29|k>>>3,k=n|((u&7)<<29|o>>>3),n=v|(u>>>3&65535|_<<16);r:{e:{if(A=A&7,(A|0)!=4){u=n,n=A>>>0>4,t=n,n=r+n|0,t=t>>>0>n>>>0?e+1|0:e,e=(t|0)==(e|0)&r>>>0>n>>>0|e>>>0>t>>>0,o=e+k|0,u=e>>>0>o>>>0?u+1|0:u;break e}h=n,A=r&1,n=r+A|0,t=A>>>0>n>>>0?e+1|0:e,e=(t|0)==(e|0)&r>>>0>n>>>0|e>>>0>t>>>0,o=e+k|0,u=e>>>0>o>>>0?h+1|0:h;break r}if(!A)break i}}i[f>>2]=n,i[f+4>>2]=t,i[f+8>>2]=o,i[f+12>>2]=u,B=w+112|0}function Uk(f,e,r){var A=0,k=0,n=0,t=0;k=B-160|0,B=k,A=i[r+4>>2],r=i[r>>2],A=A-r|0;i:{if(A>>>0<=7){if(e=U(32),i[k+16>>2]=e,i[k+20>>2]=25,i[k+24>>2]=-2147483616,r=s[14528]|s[14529]<<8|(s[14530]<<16|s[14531]<<24),A=s[14524]|s[14525]<<8|(s[14526]<<16|s[14527]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+25|0]=0,l[e+24|0]=s[14548],r=s[14544]|s[14545]<<8|(s[14546]<<16|s[14547]<<24),A=s[14540]|s[14541]<<8|(s[14542]<<16|s[14543]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[14536]|s[14537]<<8|(s[14538]<<16|s[14539]<<24),A=s[14532]|s[14533]<<8|(s[14534]<<16|s[14535]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,118,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}if(n=s[r|0],n){i[k+24>>2]=54496,i[k+80>>2]=54516,e=i[13633],i[k+16>>2]=e,r=i[e-12>>2],e=k+16|0,i[r+e>>2]=i[13634],i[k+20>>2]=0,r=e+i[i[k+16>>2]-12>>2]|0,A=k+28|0,b0(r,A),i[r+72>>2]=0,i[r+76>>2]=-1,r=i[13635],i[k+24>>2]=r,t=k+24|0,i[t+i[r-12>>2]>>2]=i[13636],r=i[13632],i[k+16>>2]=r,i[e+i[r-12>>2]>>2]=i[13637],i[k+80>>2]=54516,i[k+16>>2]=54476,i[k+24>>2]=54496,e=$0(A),i[e>>2]=53552,i[k+68>>2]=0,i[k+72>>2]=0,i[k+60>>2]=0,i[k+64>>2]=0,i[k+76>>2]=24,x(H0(x(t,18893,19),n),12125,17),r=k+4|0,i2(r,e),r0(f,4,3002,r),l[k+15|0]<0&&G(i[k+4>>2]),f=i[13631],i[k+16>>2]=f,i[i[f-12>>2]+(k+16|0)>>2]=i[13639],i[k+24>>2]=i[13640],i[e>>2]=53552,l[k+71|0]<0&&G(i[k+60>>2]),K0(e),T0(k+80|0);break i}n=s[r+1|0],X[e>>1]=s[r+2|0]+1,X[e+2>>1]=s[r+3|0]+1;r:{if(n&1){if(n=11,A>>>0<=11){if(e=U(32),i[k+16>>2]=e,i[k+20>>2]=26,i[k+24>>2]=-2147483616,r=s[9318]|s[9319]<<8|(s[9320]<<16|s[9321]<<24),A=s[9314]|s[9315]<<8|(s[9316]<<16|s[9317]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+26|0]=0,r=s[9338]|s[9339]<<8,l[e+24|0]=r,l[e+25|0]=r>>>8,r=s[9334]|s[9335]<<8|(s[9336]<<16|s[9337]<<24),A=s[9330]|s[9331]<<8|(s[9332]<<16|s[9333]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[9326]|s[9327]<<8|(s[9328]<<16|s[9329]<<24),A=s[9322]|s[9323]<<8|(s[9324]<<16|s[9325]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,118,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}A=s[r+4|0]|s[r+5|0]<<8|(s[r+6|0]<<16|s[r+7|0]<<24),i[e+4>>2]=A<<24|(A&65280)<<8|(A>>>8&65280|A>>>24),A=s[r+9|0]<<16|s[r+8|0]<<24|s[r+10|0]<<8;break r}i[e+4>>2]=s[r+5|0]|s[r+4|0]<<8,n=7,A=s[r+6|0]<<8}if(i[e+8>>2]=A|s[r+n|0],e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+160|0}function Wh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0;n=B+-64|0,B=n;i:{r:{e:{A:{f:{if(!(A&&e)){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=12607;break f}if(o=U(120),i[o+4>>2]=0,i[o+8>>2]=0,i[o>>2]=72064,w=o+16|0,i[w+8>>2]=0,i[w+12>>2]=0,i[w+16>>2]=0,i[w+20>>2]=0,i[w+24>>2]=0,i[w+28>>2]=0,i[w+32>>2]=0,i[w>>2]=68500,i[o+52>>2]=0,i[o+56>>2]=0,i[o+68>>2]=0,l[o+57|0]=0,l[o+58|0]=0,l[o+59|0]=0,l[o+60|0]=0,l[o+61|0]=0,l[o+62|0]=0,l[o+63|0]=0,l[o+64|0]=0,i[w>>2]=70032,i[o+112>>2]=0,i[o+116>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+88>>2]=0,i[o+92>>2]=0,i[o+80>>2]=0,i[o+84>>2]=0,i[o+72>>2]=0,i[o+76>>2]=0,i[o+32>>2]=1969513843,t=i[A+4>>2],h=t||31341,u=G2(h),u>>>0>=2147483640)break A;k:{n:{if(u>>>0>=11){_=(u|7)+1|0,t=U(_),i[n+60>>2]=_|-2147483648,i[n+52>>2]=t,i[n+56>>2]=u;break n}if(l[n+63|0]=u,t=n+52|0,!u)break k}F2(t,h,u)}h=o+72|0,l[t+u|0]=0,t=l[n+63|0];k:{n:{if(l[o+83|0]>=0){if((t|0)>=0){t=i[n+56>>2],i[h>>2]=i[n+52>>2],i[h+4>>2]=t,i[h+8>>2]=i[n+60>>2];break k}i4(h,i[n+52>>2],i[n+56>>2]);break n}if(u=(t|0)<0,_4(h,u?i[n+52>>2]:n+52|0,u?i[n+56>>2]:t),l[n+63|0]>=0)break k}G(i[n+52>>2])}if(t=i[A+8>>2],h=t||31341,u=G2(h),u>>>0>=2147483640)break e;k:{n:{if(u>>>0>=11){_=(u|7)+1|0,t=U(_),i[n+48>>2]=_|-2147483648,i[n+40>>2]=t,i[n+44>>2]=u;break n}if(l[n+51|0]=u,t=n+40|0,!u)break k}F2(t,h,u)}l[t+u|0]=0,t=o+84|0,u=l[n+51|0];k:{n:{if(l[o+95|0]>=0){if((u|0)>=0){u=i[n+44>>2],i[t>>2]=i[n+40>>2],i[t+4>>2]=u,i[t+8>>2]=i[n+48>>2];break k}i4(t,i[n+40>>2],i[n+44>>2]);break n}h=t,t=(u|0)<0,_4(h,t?i[n+40>>2]:n+40|0,t?i[n+44>>2]:u)}if(l[n+51|0]>=0)break k;G(i[n+40>>2])}if(t=i[A+12>>2],h=t||31341,u=G2(h),u>>>0>=2147483640)break r;k:{n:{if(u>>>0>=11){_=(u|7)+1|0,t=U(_),i[n+36>>2]=_|-2147483648,i[n+28>>2]=t,i[n+32>>2]=u;break n}if(l[n+39|0]=u,t=n+28|0,!u)break k}F2(t,h,u)}l[t+u|0]=0,t=o+96|0,u=l[n+39|0];k:{n:{if(l[o+107|0]>=0){if((u|0)>=0){u=i[n+32>>2],i[t>>2]=i[n+28>>2],i[t+4>>2]=u,i[t+8>>2]=i[n+36>>2];break k}i4(t,i[n+28>>2],i[n+32>>2]);break n}h=t,t=(u|0)<0,_4(h,t?i[n+28>>2]:n+28|0,t?i[n+32>>2]:u)}if(l[n+39|0]>=0)break k;G(i[n+28>>2])}if(A=i[A+16>>2],u=A||31341,A=G2(u),A>>>0>=2147483640)break i;k:{n:{if(A>>>0>=11){h=(A|7)+1|0,t=U(h),i[n+24>>2]=h|-2147483648,i[n+16>>2]=t,i[n+20>>2]=A;break n}if(l[n+27|0]=A,t=n+16|0,!A)break k}F2(t,u,A)}l[A+t|0]=0,A=o+108|0,t=l[n+27|0];k:{n:{if(l[o+119|0]>=0){if((t|0)>=0){t=i[n+20>>2],i[A>>2]=i[n+16>>2],i[A+4>>2]=t,i[A+8>>2]=i[n+24>>2];break k}i4(A,i[n+16>>2],i[n+20>>2]);break n}h=A,A=(t|0)<0,_4(h,A?i[n+16>>2]:n+16|0,A?i[n+20>>2]:t)}if(l[n+27|0]>=0)break k;G(i[n+16>>2])}if(e=i[e>>2],i[n+12>>2]=o,i[n+8>>2]=w,i[o+4>>2]=i[o+4>>2]+1,A=i[n+12>>2],i[n>>2]=i[n+8>>2],i[n+4>>2]=A,e=Q3(e,r,n,0),k&&(i[k>>2]=e),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[o+4>>2],i[o+4>>2]=f-1,f)break f;V[i[i[o>>2]+8>>2]](o),g(o)}B=n- -64|0;return}c2(),P()}c2(),P()}c2(),P()}c2(),P()}function Xh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;k=B-16|0,B=k;i:{if(!(i[e+8>>2]|i[e+12>>2])){if(e=U(48),i[k+4>>2]=e,i[k+8>>2]=44,i[k+12>>2]=-2147483600,r=s[12293]|s[12294]<<8|(s[12295]<<16|s[12296]<<24),A=s[12289]|s[12290]<<8|(s[12291]<<16|s[12292]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+44|0]=0,r=s[12329]|s[12330]<<8|(s[12331]<<16|s[12332]<<24),l[e+40|0]=r,l[e+41|0]=r>>>8,l[e+42|0]=r>>>16,l[e+43|0]=r>>>24,r=s[12325]|s[12326]<<8|(s[12327]<<16|s[12328]<<24),A=s[12321]|s[12322]<<8|(s[12323]<<16|s[12324]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[12317]|s[12318]<<8|(s[12319]<<16|s[12320]<<24),A=s[12313]|s[12314]<<8|(s[12315]<<16|s[12316]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[12309]|s[12310]<<8|(s[12311]<<16|s[12312]<<24),A=s[12305]|s[12306]<<8|(s[12307]<<16|s[12308]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[12301]|s[12302]<<8|(s[12303]<<16|s[12304]<<24),A=s[12297]|s[12298]<<8|(s[12299]<<16|s[12300]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,4,0,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(A=i[r+16>>2],A>>>0>=536870913){if(e=U(32),i[k+4>>2]=e,i[k+8>>2]=31,i[k+12>>2]=-2147483616,r=s[8972]|s[8973]<<8|(s[8974]<<16|s[8975]<<24),A=s[8968]|s[8969]<<8|(s[8970]<<16|s[8971]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+31|0]=0,r=s[8995]|s[8996]<<8|(s[8997]<<16|s[8998]<<24),A=s[8991]|s[8992]<<8|(s[8993]<<16|s[8994]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,l[e+27|0]=r,l[e+28|0]=r>>>8,l[e+29|0]=r>>>16,l[e+30|0]=r>>>24,r=s[8988]|s[8989]<<8|(s[8990]<<16|s[8991]<<24),A=s[8984]|s[8985]<<8|(s[8986]<<16|s[8987]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[8980]|s[8981]<<8|(s[8982]<<16|s[8983]<<24),A=s[8976]|s[8977]<<8|(s[8978]<<16|s[8979]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}n=i[e+48>>2],t=i[e+52>>2]-n|0;r:{if(t>>>0<A>>>0){L2(e+48|0,A-t|0),n=i[e+48>>2];break r}if(A>>>0>=t>>>0)break r;i[e+52>>2]=A+n}if(D6(r,n,A),s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function pr(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;u=B-32|0,B=u,i[u+28>>2]=0,i[u+20>>2]=0,i[u+24>>2]=0,I1(u,i[e>>2],r,u+20|0);i:{r:{if(i[u>>2]||(r=i[u+20>>2],t=i[u+24>>2],(r|0)==(t|0)))break r;for(;;){if(o=i[r>>2],i[o+16>>2]==1769173093){e:{A:{if(o=N0(o,68572,68596),o&&(r=i[r+4>>2],r))break A;t=i[o+60>>2],o=i[o+56>>2];break e}if(n=i[r+4>>2],_=n+1|0,i[r+4>>2]=_,t=i[o+60>>2],o=i[o+56>>2],i[r+4>>2]=n,_)break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(!o|!t)break r;if(i[f+8>>2]=0,i[f+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i0[f+24>>3]=+(t|0)/+(k|0),i0[f>>3]=+(o|0)/+(A|0),r=i[u+20>>2],_=i[u+24>>2],(r|0)==(_|0))break i;for(;;){A=i[r>>2],k=i[A+16>>2];e:{A:{if((k|0)!=1668047216){if((k|0)!=1769107316){if((k|0)!=1768778098)break e;k=0,n=N0(A,68572,69532);f:{if(!n||(A=i[r+4>>2],!A))break f;i[A+4>>2]=i[A+4>>2]+1,k=A}if(A=i[n+48>>2],n=(((A|0)!=1)<<4)+f|0,i0[n>>3]=-i0[n>>3],A=(A|0)==1,n=(A?8:24)+f|0,i0[n>>3]=-i0[n>>3],n=(A?32:40)+f|0,i0[n>>3]=+((A?o:t)-1|0)-i0[n>>3],!k)break e;if(A=i[k+4>>2],i[k+4>>2]=A-1,!A)break A;break e}k=0,n=N0(A,68572,69472);f:{if(!n||(A=i[r+4>>2],!A))break f;i[A+4>>2]=i[A+4>>2]+1,k=A}A=i[n+48>>2];f:{k:{n:{if((A|0)!=270){if((A|0)!=180){if((A|0)!=90){A=t;break f}h=i0[f+32>>3],i0[f+32>>3]=i0[f+40>>3],v=i0[f+8>>3],i0[f+8>>3]=i0[f+24>>3],Z=i0[f>>3],i0[f>>3]=i0[f+16>>3],i0[f+24>>3]=-v,i0[f+16>>3]=-Z,h=+(o|0)-h+-1;break n}i0[f>>3]=-i0[f>>3],i0[f+8>>3]=-i0[f+8>>3],i0[f+16>>3]=-i0[f+16>>3],i0[f+24>>3]=-i0[f+24>>3],i0[f+32>>3]=+(o-1|0)-i0[f+32>>3],h=+(t-1|0)-i0[f+40>>3],A=t;break k}h=i0[f+24>>3],i0[f+24>>3]=i0[f+8>>3],v=i0[f+16>>3],i0[f+16>>3]=i0[f>>3],i0[f+8>>3]=-h,i0[f>>3]=-v,h=i0[f+32>>3],i0[f+32>>3]=+(t|0)-i0[f+40>>3]+-1}A=o,o=t}i0[f+40>>3]=h}if(!k){t=A;break e}if(n=i[k+4>>2],i[k+4>>2]=n-1,t=A,!n)break A;break e}k=0,n=N0(A,68572,69592);f:{if(!n||(A=i[r+4>>2],!A))break f;i[A+4>>2]=i[A+4>>2]+1,k=A}if(A=Ir(n,o),t=Vr(n,t),i0[f+32>>3]=i0[f+32>>3]-+(A|0),i0[f+40>>3]=i0[f+40>>3]-+(t|0),A=i[n+48>>2],t=i[n+52>>2],w=(t|0)/2|0,o=A+w|0,A=(A>>31)+(w>>31)|0,o=o2(o,o>>>0<w>>>0?A+1|0:A,t,t>>31),A=i[n+56>>2],t=i[n+60>>2],w=(t|0)/2|0,n=A+w|0,A=(A>>31)+(w>>31)|0,t=o2(n,n>>>0<w>>>0?A+1|0:A,t,t>>31),!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break e}V[i[i[k>>2]+8>>2]](k),g(k)}if(r=r+8|0,(_|0)==(r|0))break}break i}if(r=r+8|0,(t|0)==(r|0))break}}i[f+8>>2]=0,i[f+12>>2]=0,i[f>>2]=0,i[f+4>>2]=1072693248,i[f+32>>2]=0,i[f+36>>2]=0,i[f+24>>2]=0,i[f+28>>2]=1072693248,i[f+16>>2]=0,i[f+20>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0}if(l[u+19|0]<0&&G(i[u+8>>2]),A=i[u+20>>2],A){if(f=i[u+24>>2],r=A,(f|0)!=(A|0)){for(;;){r=i[f-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(f=f-8|0,(A|0)==(f|0))break}r=i[u+20>>2]}i[u+24>>2]=A,G(r)}f=i[e+4>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=u+32|0}function G(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{if(!f)break i;A=f-8|0,e=i[f-4>>2],f=e&-8,n=A+f|0;r:{if(e&1)break r;if(!(e&2)||(e=i[A>>2],A=A-e|0,A>>>0<k0[24258]))break i;f=f+e|0;e:{A:{f:{if(i[24259]!=(A|0)){if(r=i[A+12>>2],e>>>0<=255){if(k=i[A+8>>2],(k|0)!=(r|0))break f;u=97016,h=i[24254]&a0(-2,e>>>3|0),i[u>>2]=h;break r}if(o=i[A+24>>2],(r|0)!=(A|0)){e=i[A+8>>2],i[e+12>>2]=r,i[r+8>>2]=e;break e}if(k=i[A+20>>2],k)e=A+20|0;else{if(k=i[A+16>>2],!k)break A;e=A+16|0}for(;t=e,r=k,e=r+20|0,k=i[r+20>>2],!(!k&&(e=r+16|0,k=i[r+16>>2],!k)););i[t>>2]=0;break e}if(e=i[n+4>>2],(e&3)!=3)break r;i[24256]=f,i[n+4>>2]=e&-2,i[A+4>>2]=f|1,i[n>>2]=f;return}i[k+12>>2]=r,i[r+8>>2]=k;break r}r=0}if(!o)break r;e=i[A+28>>2],k=(e<<2)+97320|0;e:{if(i[k>>2]==(A|0)){if(i[k>>2]=r,r)break e;u=97020,h=i[24255]&a0(-2,e),i[u>>2]=h;break r}if(i[o+(i[o+16>>2]==(A|0)?16:20)>>2]=r,!r)break r}if(i[r+24>>2]=o,e=i[A+16>>2],e&&(i[r+16>>2]=e,i[e+24>>2]=r),e=i[A+20>>2],!e)break r;i[r+20>>2]=e,i[e+24>>2]=r}if(A>>>0>=n>>>0||(e=i[n+4>>2],!(e&1)))break i;r:{e:{A:{f:{if(!(e&2)){if((n|0)==i[24260]){if(i[24260]=A,f=i[24257]+f|0,i[24257]=f,i[A+4>>2]=f|1,i[24259]!=(A|0))break i;i[24256]=0,i[24259]=0;return}if((n|0)==i[24259]){i[24259]=A,f=i[24256]+f|0,i[24256]=f,i[A+4>>2]=f|1,i[f+A>>2]=f;return}if(f=(e&-8)+f|0,r=i[n+12>>2],e>>>0<=255){if(k=i[n+8>>2],(k|0)==(r|0)){u=97016,h=i[24254]&a0(-2,e>>>3|0),i[u>>2]=h;break e}i[k+12>>2]=r,i[r+8>>2]=k;break e}if(o=i[n+24>>2],(r|0)!=(n|0)){e=i[n+8>>2],i[e+12>>2]=r,i[r+8>>2]=e;break A}if(k=i[n+20>>2],k)e=n+20|0;else{if(k=i[n+16>>2],!k)break f;e=n+16|0}for(;t=e,r=k,e=r+20|0,k=i[r+20>>2],!(!k&&(e=r+16|0,k=i[r+16>>2],!k)););i[t>>2]=0;break A}i[n+4>>2]=e&-2,i[A+4>>2]=f|1,i[f+A>>2]=f;break r}r=0}if(!o)break e;e=i[n+28>>2],k=(e<<2)+97320|0;A:{if((n|0)==i[k>>2]){if(i[k>>2]=r,r)break A;u=97020,h=i[24255]&a0(-2,e),i[u>>2]=h;break e}if(i[o+((n|0)==i[o+16>>2]?16:20)>>2]=r,!r)break e}if(i[r+24>>2]=o,e=i[n+16>>2],e&&(i[r+16>>2]=e,i[e+24>>2]=r),e=i[n+20>>2],!e)break e;i[r+20>>2]=e,i[e+24>>2]=r}if(i[A+4>>2]=f|1,i[f+A>>2]=f,i[24259]!=(A|0))break r;i[24256]=f;return}if(f>>>0<=255){e=(f&-8)+97056|0,k=i[24254],f=1<<(f>>>3);r:{if(!(k&f)){i[24254]=f|k,f=e;break r}f=i[e+8>>2]}i[e+8>>2]=A,i[f+12>>2]=A,i[A+12>>2]=e,i[A+8>>2]=f;return}r=31,f>>>0<=16777215&&(e=$2(f>>>8|0),r=((f>>>38-e&1)-(e<<1)|0)+62|0),i[A+28>>2]=r,i[A+16>>2]=0,i[A+20>>2]=0,t=(r<<2)+97320|0;r:{e:{e=i[24255],k=1<<r;A:{if(!(e&k)){i[24255]=e|k,r=24,e=t;break A}for(r=f<<((r|0)!=31?25-(r>>>1|0)|0:0),e=i[t>>2];;){if(k=e,(i[e+4>>2]&-8)==(f|0))break e;if(e=r>>>29|0,r=r<<1,t=((e&4)+k|0)+16|0,e=i[t>>2],!e)break}r=24,e=k}k=A,n=A,f=8;break r}e=i[k+8>>2],i[e+12>>2]=A,r=8,t=k+8|0,n=0,f=24}i[t>>2]=A,i[r+A>>2]=e,i[A+12>>2]=k,i[f+A>>2]=n,f=i[24262]-1|0,i[24262]=f||-1}}function Gh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;W=e+4|0,o=r<<2,R=X[W+o>>1],u=e+2|0,w=X[u+o>>1],Z=e+6|0,_=X[Z+o>>1],A=r<<1,C=X[A+W>>1],h=m(r,6),r=X[h+W>>1],v=X[e+o>>1],W=X[W>>1],o=X[h+Z>>1],y=X[A+Z>>1],Z=X[Z>>1],k=m(o,-74)+m(y+Z|0,74)>>1,k=(k|0)>=32767?32767:k,k=(k|0)<=-32768?-32768:k,E=X[u+h>>1],J=X[A+u>>1],u=X[u>>1],n=m(E,-74)+m(J+u|0,74)>>1,n=(n|0)>=32767?32767:n,n=(n|0)<=-32768?-32768:n,h=X[e+h>>1],A=X[e+A>>1],e=X[e>>1],t=m(h,-74)+m(A+e|0,74)>>1,t=(t|0)>=32767?32767:t,t=(t|0)<=-32768?-32768:t,X[f+10>>1]=(m(k,16777142)+m(n+t|0,74)|0)+128>>>8,p=m(r,-74)+m(W+C|0,74)>>1,p=(p|0)>=32767?32767:p,p=(p|0)<=-32768?-32768:p,I=m(p,74),X[f+14>>1]=((I+(m(n,-84)+m(t,55)|0)|0)+m(k,16777187)|0)+128>>>8,X[f+12>>1]=(((m(n,-29)+m(t,84)|0)+m(p,16777142)|0)+m(k,55)|0)+128>>>8,X[f+8>>1]=((I+(m(n,55)+m(t,29)|0)|0)+m(k,84)|0)+128>>>8,p=m(_,74),k=((p+(m(y,-84)+m(Z,55)|0)|0)+m(o,-29)|0)+1>>1,k=(k|0)>=32767?32767:k,k=(k|0)<=-32768?-32768:k,I=m(w,74),n=((I+(m(J,-84)+m(u,55)|0)|0)+m(E,-29)|0)+1>>1,n=(n|0)>=32767?32767:n,n=(n|0)<=-32768?-32768:n,D=m(v,74),t=((D+(m(A,-84)+m(e,55)|0)|0)+m(h,-29)|0)+1>>1,t=(t|0)>=32767?32767:t,t=(t|0)<=-32768?-32768:t,X[f+26>>1]=(m(k,16777142)+m(n+t|0,74)|0)+128>>>8,_=(((m(y,-29)+m(Z,84)|0)+m(_,-74)|0)+m(o,55)|0)+1>>1,_=(_|0)>=32767?32767:_,_=(_|0)<=-32768?-32768:_,w=(((m(J,-29)+m(u,84)|0)+m(w,-74)|0)+m(E,55)|0)+1>>1,w=(w|0)>=32767?32767:w,w=(w|0)<=-32768?-32768:w,v=(((m(A,-29)+m(e,84)|0)+m(v,-74)|0)+m(h,55)|0)+1>>1,v=(v|0)>=32767?32767:v,v=(v|0)<=-32768?-32768:v,X[f+18>>1]=(m(_,16777142)+m(w+v|0,74)|0)+128>>>8,o=((p+(m(y,55)+m(Z,29)|0)|0)+m(o,84)|0)+1>>1,o=(o|0)>=32767?32767:o,o=(o|0)<=-32768?-32768:o,u=((I+(m(J,55)+m(u,29)|0)|0)+m(E,84)|0)+1>>1,u=(u|0)>=32767?32767:u,u=(u|0)<=-32768?-32768:u,e=(((m(A,55)+m(e,29)|0)+D|0)+m(h,84)|0)+1>>1,e=(e|0)>=32767?32767:e,e=(e|0)<=-32768?-32768:e,X[f+2>>1]=(m(o,16777142)+m(u+e|0,74)|0)+128>>>8,Z=m(R,74),A=((Z+(m(C,-84)+m(W,55)|0)|0)+m(r,-29)|0)+1>>1,A=(A|0)>=32767?32767:A,A=(A|0)<=-32768?-32768:A,h=m(A,74),X[f+30>>1]=((h+(m(n,-84)+m(t,55)|0)|0)+m(k,16777187)|0)+128>>>8,X[f+28>>1]=(((m(n,-29)+m(t,84)|0)+m(A,16777142)|0)+m(k,55)|0)+128>>>8,X[f+24>>1]=((h+(m(n,55)+m(t,29)|0)|0)+m(k,84)|0)+128>>>8,A=(((m(C,-29)+m(W,84)|0)+m(R,-74)|0)+m(r,55)|0)+1>>1,A=(A|0)>=32767?32767:A,A=(A|0)<=-32768?-32768:A,h=m(A,74),X[f+22>>1]=((h+(m(w,-84)+m(v,55)|0)|0)+m(_,16777187)|0)+128>>>8,X[f+20>>1]=(((m(w,-29)+m(v,84)|0)+m(A,16777142)|0)+m(_,55)|0)+128>>>8,X[f+16>>1]=((h+(m(w,55)+m(v,29)|0)|0)+m(_,84)|0)+128>>>8,r=((Z+(m(C,55)+m(W,29)|0)|0)+m(r,84)|0)+1>>1,r=(r|0)>=32767?32767:r,r=(r|0)<=-32768?-32768:r,C=m(r,74),X[f+6>>1]=((C+(m(u,-84)+m(e,55)|0)|0)+m(o,16777187)|0)+128>>>8,X[f+4>>1]=(((m(u,-29)+m(e,84)|0)+m(r,16777142)|0)+m(o,55)|0)+128>>>8,X[f>>1]=((C+(m(u,55)+m(e,29)|0)|0)+m(o,84)|0)+128>>>8}function Wr(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;n=B-48|0,B=n,o=i[e+60>>2],w=i[e+56>>2],_=o-w>>5;i:{if((o|0)==(w|0))break i;for(t=_>>>0<=1?1:_;;){if(i[w+(u<<5)>>2]==(r|0))break i;if(u=u+1|0,(t|0)==(u|0))break}u=t}w=e+56|0;i:{if((u|0)!=(_|0))break i;if(X[n+28>>1]=0,X[n+30>>1]=0,X[n+32>>1]=0,X[n+34>>1]=0,X[n+22>>1]=0,X[n+24>>1]=0,X[n+26>>1]=0,X[n+28>>1]=0,X[n+14>>1]=0,X[n+16>>1]=0,X[n+18>>1]=0,X[n+20>>1]=0,l[n+12|0]=k,i[n+8>>2]=r,o>>>0<k0[e+64>>2]){r=i[n+12>>2],i[o>>2]=i[n+8>>2],i[o+4>>2]=r,r=i[n+20>>2],i[o+8>>2]=i[n+16>>2],i[o+12>>2]=r,i[o+24>>2]=0,i[o+16>>2]=0,i[o+20>>2]=0,br(o+16|0,0,0,0),i[e+60>>2]=o+32;break i}if(r=vn(w,n+8|0),t=i[n+24>>2],i[e+60>>2]=r,!t)break i;if(r=t,o=i[n+28>>2],(r|0)!=(o|0)){for(;r=i[o-16>>2],r&&(i[o-12>>2]=r,G(r)),o=o-40|0,(t|0)!=(o|0););r=i[n+24>>2]}i[n+28>>2]=t,G(r)}i[n+40>>2]=0,r=n+32|0,i[r>>2]=0,i[r+4>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,i[n+8>>2]=0,i[n+12>>2]=0,(r|0)!=(A|0)&&(h=r,t=i[A>>2],r=i[A+4>>2],W8(h,t,r,r-t|0)),(k|0)==1&&(k=i[e+80>>2],r=k,i[n+16>>2]=r,i[n+20>>2]=r>>31,r=i[A+4>>2]-i[A>>2]|0,i[n+24>>2]=r,i[n+28>>2]=0,i[e+80>>2]=r+k),e=i[w>>2]+(u<<5)|0,h=e,w=e+16|0,r=i[e+24>>2],e=i[e+20>>2];i:{if(r>>>0>e>>>0){r=i[n+12>>2],i[e>>2]=i[n+8>>2],i[e+4>>2]=r,r=i[n+28>>2],i[e+16>>2]=i[n+24>>2],i[e+20>>2]=r,r=i[n+20>>2],i[e+8>>2]=i[n+16>>2],i[e+12>>2]=r,i[e+32>>2]=0,i[e+24>>2]=0,i[e+28>>2]=0,i[e+24>>2]=i[n+32>>2],i[e+28>>2]=i[n+36>>2],i[e+32>>2]=i[n+40>>2],i[n+40>>2]=0,i[n+32>>2]=0,i[n+36>>2]=0,e=e+40|0;break i}r=0;r:{e:{if(e=i[h+16>>2],k=(i[h+20>>2]-e|0)/40|0,t=k+1|0,t>>>0<107374183){if(A=(i[h+24>>2]-e|0)/40|0,e=A<<1,t=A>>>0>=53687091?107374182:e>>>0>t>>>0?e:t,t){if(t>>>0>=107374183)break e;r=U(m(t,40))}A=i[n+12>>2],e=m(k,40)+r|0,i[e>>2]=i[n+8>>2],i[e+4>>2]=A,A=i[n+28>>2],i[e+16>>2]=i[n+24>>2],i[e+20>>2]=A,A=i[n+20>>2],i[e+8>>2]=i[n+16>>2],i[e+12>>2]=A,i[e+24>>2]=i[n+32>>2],i[e+28>>2]=i[n+36>>2],i[e+32>>2]=i[n+40>>2],i[n+40>>2]=0,i[n+32>>2]=0,i[n+36>>2]=0,o=m(t,40)+r|0,k=e+40|0,A=i[h+20>>2],v=i[h+16>>2];A:{if((A|0)==(v|0)){r=e;break A}for(;t=A-40|0,u=i[t+4>>2],r=e-40|0,i[r>>2]=i[t>>2],i[r+4>>2]=u,u=i[t+20>>2],i[r+16>>2]=i[t+16>>2],i[r+20>>2]=u,u=i[t+12>>2],i[r+8>>2]=i[t+8>>2],i[r+12>>2]=u,u=e-8|0,i[u>>2]=0,_=A-16|0,i[e-16>>2]=i[_>>2],i[e-12>>2]=i[A-12>>2],e=A-8|0,i[u>>2]=i[e>>2],i[e>>2]=0,i[_>>2]=0,i[_+4>>2]=0,e=r,A=t,(v|0)!=(t|0););A=i[h+20>>2],v=i[h+16>>2]}if(i[h+24>>2]=o,i[h+20>>2]=k,i[h+16>>2]=r,(A|0)!=(v|0))for(;e=i[A-16>>2],e&&(i[A-12>>2]=e,G(e)),A=A-40|0,(v|0)!=(A|0););v&&G(v),e=k;break r}y0(),P()}_2(),P()}}i[w+4>>2]=e,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,e=f+8|0;i:{if(l[78275]>=0){f=i[19567],i[e>>2]=i[19566],i[e+4>>2]=f,i[e+8>>2]=i[19568];break i}_0(e,i[19566],i[19567])}f=i[n+32>>2],f&&(i[n+36>>2]=f,G(f)),B=n+48|0}function Ch(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0;d=X[e+10>>1],p=X[e+26>>1],D=X[e+18>>1],z=X[e+2>>1],E=X[e+14>>1],J=X[e+12>>1],R=X[e+8>>1],h=1<<r-1,n=1<<A,A=0-n|0,_=X[e+22>>1],k=X[e+6>>1],y=X[e+30>>1],t=((m(_,-74)+m(k,74)|0)+m(y,74)|0)- -64>>7,w=n+65535|0,t=((A|0)>(t|0)?A:(n|0)>(t|0)?t:w)<<16>>16,v=X[e+20>>1],H=X[e+4>>1],a=X[e+28>>1],o=((m(v,-74)+m(H,74)|0)+m(a,74)|0)- -64>>7,o=((A|0)>(o|0)?A:(n|0)>(o|0)?o:w)<<16>>16,S=X[e+16>>1],q=X[e>>1],e=X[e+24>>1],u=((m(S,-74)+m(q,74)|0)+m(e,74)|0)- -64>>7,u=((A|0)>(u|0)?A:(n|0)>(u|0)?u:w)<<16>>16,i[f+40>>2]=h+(m(t,74)+(m(o,-74)+m(u,74)|0)|0)>>r,W=(((m(J,-74)+m(H,84)|0)+m(v,55)|0)+m(a,-29)|0)- -64>>7,W=((A|0)>(W|0)?A:(n|0)>(W|0)?W:w)<<16>>16,C=(((m(R,-74)+m(q,84)|0)+m(S,55)|0)+m(e,-29)|0)- -64>>7,C=((A|0)>(C|0)?A:(n|0)>(C|0)?C:w)<<16>>16,I=(((m(E,-74)+m(k,84)|0)+m(_,55)|0)+m(y,-29)|0)- -64>>7,I=((A|0)>(I|0)?A:(n|0)>(I|0)?I:w)<<16>>16,i[f+56>>2]=((m(W,-74)+m(C,74)|0)+m(I,74)|0)+h>>r,Z=((m(D,-74)+m(z,74)|0)+m(p,74)|0)- -64>>7,Z=((A|0)>(Z|0)?A:(n|0)>(Z|0)?Z:w)<<16>>16,i[f+44>>2]=(((m(Z,-74)+m(u,84)|0)+m(o,55)|0)+m(t,-29)|0)+h>>r,Z=m(Z,74),i[f+36>>2]=(((Z+m(u,55)|0)+m(o,-29)|0)+m(t,-84)|0)+h>>r,i[f+32>>2]=(((Z+m(u,29)|0)+m(o,84)|0)+m(t,55)|0)+h>>r,J=m(J,74),t=(((J+m(H,55)|0)+m(v,-29)|0)+m(a,-84)|0)- -64>>7,t=((A|0)>(t|0)?A:(n|0)>(t|0)?t:w)<<16>>16,R=m(R,74),o=(((R+m(q,55)|0)+m(S,-29)|0)+m(e,-84)|0)- -64>>7,o=((A|0)>(o|0)?A:(n|0)>(o|0)?o:w)<<16>>16,E=m(E,74),u=(((E+m(k,55)|0)+m(_,-29)|0)+m(y,-84)|0)- -64>>7,u=((A|0)>(u|0)?A:(n|0)>(u|0)?u:w)<<16>>16,i[f+24>>2]=((m(t,-74)+m(o,74)|0)+m(u,74)|0)+h>>r,v=(((J+m(H,29)|0)+m(v,84)|0)+m(a,55)|0)- -64>>7,v=((A|0)>(v|0)?A:(n|0)>(v|0)?v:w)<<16>>16,e=(((R+m(q,29)|0)+m(S,84)|0)+m(e,55)|0)- -64>>7,e=((e|0)<(A|0)?A:(e|0)<(n|0)?e:w)<<16>>16,_=(((E+m(k,29)|0)+m(_,84)|0)+m(y,55)|0)- -64>>7,_=((A|0)>(_|0)?A:(n|0)>(_|0)?_:w)<<16>>16,i[f+8>>2]=((m(v,-74)+m(e,74)|0)+m(_,74)|0)+h>>r,k=(((m(d,-74)+m(z,84)|0)+m(D,55)|0)+m(p,-29)|0)- -64>>7,k=((A|0)>(k|0)?A:(n|0)>(k|0)?k:w)<<16>>16,i[f+60>>2]=(((m(k,-74)+m(C,84)|0)+m(W,55)|0)+m(I,-29)|0)+h>>r,k=m(k,74),i[f+52>>2]=(((k+m(C,55)|0)+m(W,-29)|0)+m(I,-84)|0)+h>>r,i[f+48>>2]=(((k+m(C,29)|0)+m(W,84)|0)+m(I,55)|0)+h>>r,y=m(d,74),k=(((y+m(z,55)|0)+m(D,-29)|0)+m(p,-84)|0)- -64>>7,k=((A|0)>(k|0)?A:(n|0)>(k|0)?k:w)<<16>>16,i[f+28>>2]=(((m(k,-74)+m(o,84)|0)+m(t,55)|0)+m(u,-29)|0)+h>>r,k=m(k,74),i[f+20>>2]=(((k+m(o,55)|0)+m(t,-29)|0)+m(u,-84)|0)+h>>r,i[f+16>>2]=(((k+m(o,29)|0)+m(t,84)|0)+m(u,55)|0)+h>>r,p=(((y+m(z,29)|0)+m(D,84)|0)+m(p,55)|0)- -64>>7,A=((A|0)>(p|0)?A:(n|0)>(p|0)?p:w)<<16>>16,i[f+12>>2]=(((m(A,-74)+m(e,84)|0)+m(v,55)|0)+m(_,-29)|0)+h>>r,A=m(A,74),i[f+4>>2]=(((A+m(e,55)|0)+m(v,-29)|0)+m(_,-84)|0)+h>>r,i[f>>2]=(((A+m(e,29)|0)+m(v,84)|0)+m(_,55)|0)+h>>r}function Vh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,u=i[13708],i[A+12>>2]=u,n=A+12|0,i[n+i[u-12>>2]>>2]=i[13709],u=n+i[i[A+12>>2]-12>>2]|0,k=A+16|0,b0(u,k),i[u+72>>2]=0,i[u+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,u=$0(k),i[u>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,k=A+148|0,R2(k,e,r),o=n,t=k,n=l[A+159|0],k=(n|0)<0,x(o,k?i[A+148>>2]:t,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=A+148|0,W0(n,r),o=n,n=l[A+159|0],k=(n|0)<0,x(A+12|0,k?i[A+148>>2]:o,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(A+12|0,20352,9),s[e+48|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,21093,13),s[e+49|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,21624,17),s[e+50|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,20482,15),s[e+52|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,19578,12),s[e+53|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,19530,22),s[e+55|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,19378,22),s[e+56|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,20188,24),s[e+57|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),x(n,19349,28);i:{if(s[e+58|0]){x(H0(A+12|0,s[e+59|0]+1|0),31338,1);break i}x(A+12|0,21752,12)}if(k=A+148|0,W0(k,r),n=0,o=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:o,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(A+12|0,16378,12),i[e+64>>2]!=i[e+60>>2])for(;r=x(A+12|0,21741,1),k=i[r>>2],t=k-12|0,o=i[t>>2]+r|0,i[o+4>>2]=i[o+4>>2]&-75|8,t=r+i[t>>2]|0,i[t+76>>2]==-1&&(o=A+148|0,k=i[t+28>>2],i[o>>2]=k,(k|0)!=100008&&(i[k+4>>2]=i[k+4>>2]+1),k=x0(o,100192),V[i[i[k>>2]+28>>2]](k,32)|0,O0(o),k=i[r>>2]),i[t+76>>2]=48,i[(r+i[k-12>>2]|0)+12>>2]=2,H0(r,s[i[e+60>>2]+n|0]),n=n+1|0,n>>>0<i[e+64>>2]-i[e+60>>2]>>>0;);e=A+12|0,r=e+i[i[A+12>>2]-12>>2]|0,i[r+4>>2]=i[r+4>>2]&-75|2,x(e,31338,1),i2(f,u),f=i[13707],i[A+12>>2]=f,i[e+i[f-12>>2]>>2]=i[13710],i[u>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(u),T0(A+68|0),B=A+160|0}function Xr(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;n=f+e|0,r=i[f+4>>2];i:{r:{if(r&1)break r;if(!(r&2))break i;r=i[f>>2],e=r+e|0;e:{A:{f:{if(f=f-r|0,(f|0)!=i[24259]){if(A=i[f+12>>2],r>>>0<=255){if(k=i[f+8>>2],(k|0)!=(A|0))break f;u=97016,h=i[24254]&a0(-2,r>>>3|0),i[u>>2]=h;break r}if(t=i[f+24>>2],(f|0)!=(A|0)){r=i[f+8>>2],i[r+12>>2]=A,i[A+8>>2]=r;break e}if(k=i[f+20>>2],k)r=f+20|0;else{if(k=i[f+16>>2],!k)break A;r=f+16|0}for(;o=r,A=k,r=A+20|0,k=i[A+20>>2],!(!k&&(r=A+16|0,k=i[A+16>>2],!k)););i[o>>2]=0;break e}if(r=i[n+4>>2],(r&3)!=3)break r;i[24256]=e,i[n+4>>2]=r&-2,i[f+4>>2]=e|1,i[n>>2]=e;return}i[k+12>>2]=A,i[A+8>>2]=k;break r}A=0}if(!t)break r;r=i[f+28>>2],k=(r<<2)+97320|0;e:{if(i[k>>2]==(f|0)){if(i[k>>2]=A,A)break e;u=97020,h=i[24255]&a0(-2,r),i[u>>2]=h;break r}if(i[t+(i[t+16>>2]==(f|0)?16:20)>>2]=A,!A)break r}if(i[A+24>>2]=t,r=i[f+16>>2],r&&(i[A+16>>2]=r,i[r+24>>2]=A),r=i[f+20>>2],!r)break r;i[A+20>>2]=r,i[r+24>>2]=A}r:{e:{A:{f:{if(r=i[n+4>>2],!(r&2)){if(i[24260]==(n|0)){if(i[24260]=f,e=i[24257]+e|0,i[24257]=e,i[f+4>>2]=e|1,i[24259]!=(f|0))break i;i[24256]=0,i[24259]=0;return}if(i[24259]==(n|0)){i[24259]=f,e=i[24256]+e|0,i[24256]=e,i[f+4>>2]=e|1,i[f+e>>2]=e;return}if(e=(r&-8)+e|0,A=i[n+12>>2],r>>>0<=255){if(k=i[n+8>>2],(k|0)==(A|0)){u=97016,h=i[24254]&a0(-2,r>>>3|0),i[u>>2]=h;break e}i[k+12>>2]=A,i[A+8>>2]=k;break e}if(t=i[n+24>>2],(A|0)!=(n|0)){r=i[n+8>>2],i[r+12>>2]=A,i[A+8>>2]=r;break A}if(k=i[n+20>>2],k)r=n+20|0;else{if(k=i[n+16>>2],!k)break f;r=n+16|0}for(;o=r,A=k,r=A+20|0,k=i[A+20>>2],!(!k&&(r=A+16|0,k=i[A+16>>2],!k)););i[o>>2]=0;break A}i[n+4>>2]=r&-2,i[f+4>>2]=e|1,i[f+e>>2]=e;break r}A=0}if(!t)break e;r=i[n+28>>2],k=(r<<2)+97320|0;A:{if(i[k>>2]==(n|0)){if(i[k>>2]=A,A)break A;u=97020,h=i[24255]&a0(-2,r),i[u>>2]=h;break e}if(i[t+(i[t+16>>2]==(n|0)?16:20)>>2]=A,!A)break e}if(i[A+24>>2]=t,r=i[n+16>>2],r&&(i[A+16>>2]=r,i[r+24>>2]=A),r=i[n+20>>2],!r)break e;i[A+20>>2]=r,i[r+24>>2]=A}if(i[f+4>>2]=e|1,i[f+e>>2]=e,i[24259]!=(f|0))break r;i[24256]=e;return}if(e>>>0<=255){r=(e&-8)+97056|0,A=i[24254],e=1<<(e>>>3);r:{if(!(A&e)){i[24254]=e|A,e=r;break r}e=i[r+8>>2]}i[r+8>>2]=f,i[e+12>>2]=f,i[f+12>>2]=r,i[f+8>>2]=e;return}A=31,e>>>0<=16777215&&(r=$2(e>>>8|0),A=((e>>>38-r&1)-(r<<1)|0)+62|0),i[f+28>>2]=A,i[f+16>>2]=0,i[f+20>>2]=0,r=(A<<2)+97320|0;r:{k=i[24255],o=1<<A;e:{if(!(k&o)){i[24255]=k|o,i[r>>2]=f,i[f+24>>2]=r;break e}for(A=e<<((A|0)!=31?25-(A>>>1|0)|0:0),r=i[r>>2];;){if(k=r,(i[r+4>>2]&-8)==(e|0))break r;if(r=A>>>29|0,A=A<<1,o=k+(r&4)|0,r=i[o+16>>2],!r)break}i[o+16>>2]=f,i[f+24>>2]=k}i[f+12>>2]=f,i[f+8>>2]=f;return}e=i[k+8>>2],i[e+12>>2]=f,i[k+8>>2]=f,i[f+24>>2]=0,i[f+12>>2]=k,i[f+8>>2]=e}}function Gr(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;t=B-32|0,B=t;i:{e=i[f+16>>2];r:{if(e>>>0>=1024){i[f+16>>2]=e-1024,e=i[f+4>>2],u=i[e>>2],r=e+4|0,i[f+4>>2]=r,A=i[f+8>>2];e:{if((A|0)!=i[f+12>>2])break e;if(e=i[f>>2],e>>>0<r>>>0){n=A-r|0,k=((r-e>>2)+1|0)/-2<<2,e=k+r|0,(r|0)!=(A|0)&&(F2(e,r,n),r=i[f+4>>2]),A=e+n|0,i[f+8>>2]=A,i[f+4>>2]=r+k;break e}if(k=(e|0)==(A|0)?1:A-e>>1,k>>>0>=1073741824)break i;if(o=k<<2,n=U(o),h=n+o|0,o=n+(k&-4)|0,k=o,(r|0)!=(A|0))for(A=k+(A-r|0)|0;i[k>>2]=i[r>>2],r=r+4|0,k=k+4|0,(A|0)!=(k|0););i[f+12>>2]=h,i[f+8>>2]=k,i[f+4>>2]=o,i[f>>2]=n,G(e),A=i[f+8>>2]}i[A>>2]=u,i[f+8>>2]=i[f+8>>2]+4;break r}if(r=i[f+8>>2],k=i[f+4>>2],n=r-k|0,e=i[f+12>>2],A=i[f>>2],o=e-A|0,n>>>0<o>>>0){if((r|0)!=(e|0)){w=t,_=U(4096),i[w+12>>2]=_;e:{A:{n=i[f+8>>2];f:{if((n|0)!=i[f+12>>2]){e=n;break f}if(r=i[f+4>>2],A=i[f>>2],r>>>0>A>>>0){e=n-r|0,k=((r-A>>2)+1|0)/-2<<2,A=k+r|0,(r|0)!=(n|0)&&(F2(A,r,e),r=i[f+4>>2]),e=e+A|0,i[f+8>>2]=e,i[f+4>>2]=r+k;break f}if(e=(A|0)==(n|0)?1:n-A>>1,e>>>0>=1073741824)break A;if(o=e<<2,k=U(o),o=k+o|0,u=k+(e&-4)|0,e=u,(r|0)!=(n|0))for(n=(n-r|0)+e|0;i[e>>2]=i[r>>2],r=r+4|0,e=e+4|0,(n|0)!=(e|0););if(i[f+12>>2]=o,i[f+8>>2]=e,i[f+4>>2]=u,i[f>>2]=k,!A)break f;G(A),e=i[f+8>>2]}i[e>>2]=i[t+12>>2],i[f+8>>2]=i[f+8>>2]+4;break e}_2(),P()}break r}w=t,_=U(4096),i[w+12>>2]=_,_7(f,t+12|0),e=i[f+4>>2],u=i[e>>2],r=e+4|0,i[f+4>>2]=r,A=i[f+8>>2];e:{if((A|0)!=i[f+12>>2])break e;if(e=i[f>>2],e>>>0<r>>>0){n=A-r|0,k=((r-e>>2)+1|0)/-2<<2,e=k+r|0,(r|0)!=(A|0)&&(F2(e,r,n),r=i[f+4>>2]),A=e+n|0,i[f+8>>2]=A,i[f+4>>2]=r+k;break e}if(k=(e|0)==(A|0)?1:A-e>>1,k>>>0>=1073741824)break i;if(o=k<<2,n=U(o),h=n+o|0,o=n+(k&-4)|0,k=o,(r|0)!=(A|0))for(A=k+(A-r|0)|0;i[k>>2]=i[r>>2],r=r+4|0,k=k+4|0,(A|0)!=(k|0););i[f+12>>2]=h,i[f+8>>2]=k,i[f+4>>2]=o,i[f>>2]=n,G(e),A=i[f+8>>2]}i[A>>2]=u,i[f+8>>2]=i[f+8>>2]+4;break r}if(i[t+28>>2]=f+12,e=(e|0)==(A|0)?1:o>>1,e>>>0>=1073741824)break i;u=e<<2,e=U(u),i[t+12>>2]=e,o=e+u|0,i[t+24>>2]=o,A=e+n|0,i[t+16>>2]=A,h=U(4096);e:{if((n|0)!=(u|0))break e;if((n|0)>0){A=A-((n>>>1|0)+2&-4)|0,i[t+16>>2]=A;break e}if(r=(r|0)==(k|0)?1:n>>1,r>>>0>=1073741824)break i;A=r<<2,n=U(A),i[t+12>>2]=n,o=A+n|0,i[t+24>>2]=o,A=n+(r&-4)|0,i[t+16>>2]=A,G(e),k=i[f+4>>2],r=i[f+8>>2],e=n}if(i[A>>2]=h,u=A+4|0,i[t+20>>2]=u,(r|0)!=(k|0)){for(;r=r-4|0,_7(t+12|0,r),k=i[f+4>>2],(k|0)!=(r|0););r=i[f+8>>2],o=i[t+24>>2],u=i[t+20>>2],A=i[t+16>>2],e=i[t+12>>2]}if(n=i[f>>2],i[f>>2]=e,i[t+12>>2]=n,i[f+4>>2]=A,i[t+16>>2]=k,i[f+8>>2]=u,i[t+20>>2]=r,e=i[f+12>>2],i[f+12>>2]=o,i[t+24>>2]=e,(r|0)!=(k|0)&&(i[t+20>>2]=((k-r|0)+3&-4)+r),!n)break r;G(n)}B=t+32|0;return}_2(),P()}function Ih(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;e=B-32|0,B=e,t=U0(i[r>>2],0),w=U0(i[r>>2],1),_=U0(i[r>>2],2),W=H2(i[r>>2],6),W&&(v=U0(i[r>>2],6));i:{if(!(!(t>>>0>8|w>>>0>8)&_>>>0<9)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((t|0)==(w|0)&(t|0)==(_|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],h=i[A+48>>2],h&&(i[h+4>>2]=i[h+4>>2]+1,A=i[r>>2]),k=i[A+28>>2],n=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),u=i[A+4>>2],p=u+1|0,i[A+4>>2]=p,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,o=A- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,o=A+12|0,i[A+12>>2]=o,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=u,i[A+16>>2]=A,p||(V[i[i[A>>2]+8>>2]](A),g(A)),i[o+36>>2]=2,i[o+32>>2]=0,i[o+28>>2]=k,i[o+24>>2]=n,u=(n+1|0)/2|0;r:{e:{if(!J0(o,0,n,k,t)||!J0(o,1,u,k,w)||!J0(o,2,u,k,_)||W&&!J0(o,6,n,k,v))break e;if(v=0,i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,w=v0(i[r>>2],0,e+28|0),p=v0(i[r>>2],1,e+24|0),E=v0(i[r>>2],2,e+20|0),_=v0(o,0,e+12|0),J=v0(o,1,e+8|0),R=v0(o,2,e+4|0),W&&(D=v0(i[r>>2],6,e+16|0),v=v0(o,6,e)),!(!(n&1)|(k|0)<2))for(t=(u+R|0)-1|0,Z=(n+E|0)-1|0,u=(u+J|0)-1|0,y=(n+p|0)-1|0,C=k-2|0,r=0;l[u+m(i[e+8>>2],r)|0]=s[y+m(i[e+24>>2],r)|0],l[t+m(i[e+4>>2],r)|0]=s[Z+m(i[e+20>>2],r)|0],I=(r|0)!=(C|0),r=r+1|0,!!I;);A:{if((k|0)<=0)break A;if((n|0)>=2){for(u=n-1|0,t=0;;){for(r=0;Z=(m(i[e+20>>2],t)+E|0)+r|0,y=s[Z|0],Z=s[Z+1|0],C=r>>>1|0,I=(p+m(i[e+24>>2],t)|0)+r|0,l[C+(m(i[e+8>>2],t)+J|0)|0]=(s[I|0]+s[I+1|0]|0)+1>>>1,l[C+(m(i[e+4>>2],t)+R|0)|0]=(Z+y|0)+1>>>1,r=r+2|0,(u|0)>(r|0););if(t=t+1|0,(t|0)==(k|0))break}if((k|0)<=0)break A}if(W){for(r=0;l0(_+m(i[e+12>>2],r)|0,w+m(i[e+28>>2],r)|0,n),l0(m(i[e>>2],r)+v|0,m(i[e+16>>2],r)+D|0,n),r=r+1|0,(k|0)!=(r|0););break A}if(r=0,(k|0)!=1)for(v=k&2147483646,t=0;l0(_+m(i[e+12>>2],r)|0,w+m(i[e+28>>2],r)|0,n),u=r|1,l0(_+m(u,i[e+12>>2])|0,w+m(u,i[e+28>>2])|0,n),r=r+2|0,t=t+2|0,(v|0)!=(t|0););if(!(k&1))break A;l0(_+m(i[e+12>>2],r)|0,w+m(i[e+28>>2],r)|0,n)}i[f+4>>2]=A,i[f>>2]=o;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!h||(f=i[h+4>>2],i[h+4>>2]=f-1,f))break i;V[i[i[h>>2]+8>>2]](h),g(h)}B=e+32|0}function Qh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0;A=B-32|0,B=A,t=s[k+8|0],u=i[i[r>>2]+36>>2],e=U(136),i[e>>2]=72792,i[e+4>>2]=0,i[e+8>>2]=0,B0(e+20|0,0,104),k=i[e+4>>2],o=k+1|0,i[e+4>>2]=o,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,n=e- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,n=e+12|0,i[e+12>>2]=n,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=k,i[e+16>>2]=e,o||(V[i[i[e>>2]+8>>2]](e),g(e)),k=i[r>>2],o=i[k+28>>2],h=i[k+24>>2],k=U0(k,10),i[n+36>>2]=3,i[n+32>>2]=1,i[n+28>>2]=o,i[n+24>>2]=h;i:{r:{if(!J0(n,3,h,o,k)||!J0(n,4,h,o,k)||!J0(n,5,h,o,k)||(Z=t&1,Z&&!J0(n,6,h,o,k)))break r;i[A+28>>2]=0,i[A+24>>2]=0,i[A+20>>2]=0,i[A+16>>2]=0,i[A+12>>2]=0,I=v0(i[r>>2],10,A+28|0),y=v0(n,3,A+24|0),E=v0(n,4,A+20|0),J=v0(n,5,A+16|0),Z&&(W=v0(n,6,A+12|0),p=i[A+12>>2]/2|0),Z=i[A+16>>2]/2|0,R=i[A+20>>2]/2|0,D=i[A+24>>2]/2|0;e:{if((o|0)<=0|(h|0)<=0)break e;if(z=(u&-3)==13?8:6,H=i[A+28>>2],!(t&1)){for(k=0;;){for(_=m(k,H)+I|0,w=(m(k,Z)<<1)+J|0,v=(m(k,R)<<1)+E|0,C=(m(k,D)<<1)+y|0,r=0;t=_+m(r,z)|0,u=s[t+4|0]|s[t+5|0]<<8,W=s[t+2|0]|s[t+3|0]<<8,p=r<<1,t=s[t|0]|s[t+1|0]<<8,X[p+C>>1]=t<<8|t>>>8,X[p+v>>1]=W<<8|W>>>8,X[w+p>>1]=u<<8|u>>>8,r=r+1|0,(h|0)!=(r|0););if(k=k+1|0,(o|0)==(k|0))break}break e}v=-1<<k^-1,k=0;A:switch(u-13|0){case 0:case 2:for(;;){for(C=m(k,p),u=m(k,H)+I|0,a=(m(k,Z)<<1)+J|0,S=(m(k,R)<<1)+E|0,q=(m(k,D)<<1)+y|0,r=0;t=u+m(r,z)|0,_=s[t+4|0]|s[t+5|0]<<8,w=s[t+2|0]|s[t+3|0]<<8,v=r<<1,t=s[t|0]|s[t+1|0]<<8,X[v+q>>1]=t<<8|t>>>8,X[v+S>>1]=w<<8|w>>>8,X[v+a>>1]=_<<8|_>>>8,t=u+(r<<3)|0,t=s[t+6|0]|s[t+7|0]<<8,X[(r+C<<1)+W>>1]=t<<8|t>>>8,r=r+1|0,(h|0)!=(r|0););if(k=k+1|0,(o|0)==(k|0))break}break e;default:break A}for(;;){for(C=m(k,p),a=m(k,H)+I|0,S=(m(k,Z)<<1)+J|0,q=(m(k,R)<<1)+E|0,d=(m(k,D)<<1)+y|0,r=0;t=a+m(r,z)|0,u=s[t+4|0]|s[t+5|0]<<8,_=s[t+2|0]|s[t+3|0]<<8,w=r<<1,t=s[t|0]|s[t+1|0]<<8,X[w+d>>1]=t<<8|t>>>8,X[w+q>>1]=_<<8|_>>>8,X[w+S>>1]=u<<8|u>>>8,X[(r+C<<1)+W>>1]=v,r=r+1|0,(h|0)!=(r|0););if(k=k+1|0,(o|0)==(k|0))break}}i[f+4>>2]=e,i[f>>2]=n;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A+32|0}function Mk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;o=U(136),i[o+4>>2]=0,i[o+8>>2]=0,i[o>>2]=72792,B0(o+20|0,0,104),u=i[o+4>>2],w=u+1|0,i[o+4>>2]=w,i[o+56>>2]=0,i[o+60>>2]=0,i[o+44>>2]=99,i[o+48>>2]=99,i[o+32>>2]=3795,h=o- -64|0,i[h>>2]=0,i[h+4>>2]=0,i[o+132>>2]=0,i[o+124>>2]=0,i[o+128>>2]=0,i[o+84>>2]=1,i[o+88>>2]=1,i[o+72>>2]=o+76,i[o+92>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+112>>2]=0,l[o+113|0]=0,l[o+114|0]=0,l[o+115|0]=0,l[o+116|0]=0,l[o+117|0]=0,l[o+118|0]=0,l[o+119|0]=0,l[o+120|0]=0,h=o+12|0,i[o+12>>2]=h,i[o+8>>2]=i[o+8>>2]+1,i[o+4>>2]=u,i[o+16>>2]=o,w||(V[i[i[o>>2]+8>>2]](o),g(o)),i[t>>2]=h,u=i[t+4>>2],i[t+4>>2]=o;i:{if(!u||(o=i[u+4>>2],i[u+4>>2]=o-1,o))break i;V[i[i[u>>2]+8>>2]](u),g(u)}if(u=i[e+36>>2],o=i[t>>2],i[o+32>>2]=i[e+32>>2],i[o+36>>2]=u,i[o+28>>2]=(n-k|0)+1,i[o+24>>2]=(A-r|0)+1,u=i[e+60>>2],I=e- -64|0,(u|0)!=(I|0)){for(;;){o=i[u+24>>2],w=i[e+24>>2],_=(m(o,r)|0)/(w|0)|0,v=i[u+16>>2],p=(((m(A,o)|0)/(w|0)|0)-_|0)+1|0,o=i[u+28>>2],w=i[e+28>>2],W=(m(o,n)|0)/(w|0)|0,w=(m(k,o)|0)/(w|0)|0,J0(i[t>>2],v,p,(W-w|0)+1|0,s[u+20|0]),o=i[t>>2],C=o- -64|0,h=C;i:{r:{if(o=i[o+64>>2],!o)break r;for(;Z=(v|0)>i[o+16>>2],h=Z?h:o,o=i[(Z<<2)+o>>2],!!o;);if((h|0)==(C|0))break r;if(C=0,o=0,(v|0)<i[h+16>>2])break i;C=i[h+48>>2],o=i[h+40>>2];break i}C=0,o=0}h=o,o=i[u+40>>2],v=i[u+48>>2];i:{if(s[u+20|0]!=8){if((w|0)>(W|0)||(p=p<<1,_=o+(_<<1)|0,o=w,W+o&1||(l0(h,_+m(o,v)|0,p),o=o+1|0),(w|0)==(W|0)))break i;for(;l0(h+m(o-w|0,C)|0,_+m(o,v)|0,p),Z=o+1|0,l0(h+m(Z-w|0,C)|0,_+m(v,Z)|0,p),o=o+2|0,(W|0)!=(Z|0););break i}if((w|0)>(W|0)||(_=o+_|0,o=w,W+o&1||(l0(h,_+m(o,v)|0,p),o=o+1|0),(w|0)==(W|0)))break i;for(;l0(h+m(o-w|0,C)|0,_+m(o,v)|0,p),Z=o+1|0,l0(h+m(Z-w|0,C)|0,_+m(v,Z)|0,p),o=o+2|0,(W|0)!=(Z|0););}h=i[u+4>>2];i:{if(h){for(;;)if(o=h,h=i[o>>2],!h)break i}for(;o=i[u+8>>2],w=i[o>>2]!=(u|0),u=o,!!w;);}if(u=o,(o|0)==(I|0))break}o=i[t>>2]}r=i[e+44>>2],A=i[e+48>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[o+44>>2]=r,r=i[o+48>>2],i[o+48>>2]=A;i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}k=i[e+52>>2],r=i[t>>2],A=i[e+56>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+52>>2]=k,e=i[r+56>>2],i[r+56>>2]=A;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];return}_0(f,i[19566],i[19567])}function yh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;u=B-16|0,B=u,o=i[k>>2],n=o+i[r>>2]|0;i:{if(i[r+4>>2]-n>>>0<(A|0)/8<<2>>>0){if(e=U(56),i[u+4>>2]=e,i[u+8>>2]=54,i[u+12>>2]=-2147483592,r=s[6821]|s[6822]<<8|(s[6823]<<16|s[6824]<<24),A=s[6817]|s[6818]<<8|(s[6819]<<16|s[6820]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+54|0]=0,r=s[6867]|s[6868]<<8|(s[6869]<<16|s[6870]<<24),A=s[6863]|s[6864]<<8|(s[6865]<<16|s[6866]<<24),l[e+46|0]=A,l[e+47|0]=A>>>8,l[e+48|0]=A>>>16,l[e+49|0]=A>>>24,l[e+50|0]=r,l[e+51|0]=r>>>8,l[e+52|0]=r>>>16,l[e+53|0]=r>>>24,r=s[6861]|s[6862]<<8|(s[6863]<<16|s[6864]<<24),A=s[6857]|s[6858]<<8|(s[6859]<<16|s[6860]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[6853]|s[6854]<<8|(s[6855]<<16|s[6856]<<24),A=s[6849]|s[6850]<<8|(s[6851]<<16|s[6852]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[6845]|s[6846]<<8|(s[6847]<<16|s[6848]<<24),A=s[6841]|s[6842]<<8|(s[6843]<<16|s[6844]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6837]|s[6838]<<8|(s[6839]<<16|s[6840]<<24),A=s[6833]|s[6834]<<8|(s[6835]<<16|s[6836]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6829]|s[6830]<<8|(s[6831]<<16|s[6832]<<24),A=s[6825]|s[6826]<<8|(s[6827]<<16|s[6828]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,u+4|0),l[u+15|0]>=0)break i;G(i[u+4>>2]);break i}t=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|t<<24|s[n+2|0]<<8),t=o+4|0;break r}n=(h<<16|t<<24)>>16,t=o+2|0}i[k>>2]=t,i[e+4>>2]=n,o=i[k>>2],n=o+i[r>>2]|0,t=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|t<<24|s[n+2|0]<<8),t=o+4|0;break r}n=(h<<16|t<<24)>>16,t=o+2|0}i[k>>2]=t,i[e+8>>2]=n,t=i[r>>2],h=i[k>>2],r=t+h|0,o=s[r|0],n=s[r+1|0];r:{if((A|0)==32){r=s[r+3|0]|(n<<16|o<<24|s[r+2|0]<<8),n=4;break r}r=n|o<<8,n=2}i[k>>2]=n+h,i[e+12>>2]=r,r=t,t=i[k>>2],r=r+t|0,o=s[r|0],n=s[r+1|0];r:{if((A|0)==32){A=s[r+3|0]|(n<<16|o<<24|s[r+2|0]<<8),r=4;break r}A=n|o<<8,r=2}if(i[k>>2]=r+t,i[e+16>>2]=A,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=u+16|0}function D8(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;n=B-16|0,B=n,o=1;i:{if(u=e+112|0,w=i[e+108>>2],(u|0)==(w|0))break i;for(;;){h=0,A=w;r:{for(;;){if(_=i[i[A+20>>2]+56>>2]==(o|0),_)break r;t=A,k=i[A+4>>2];e:{if(k){for(;;)if(A=k,k=i[A>>2],!k)break e}for(;A=i[t+8>>2],k=i[A>>2]!=(t|0),t=A,!!k;);}if(h=h|_,(A|0)==(u|0))break}if(!(h&1))break i}o=o+1|0}}if(A=U(144),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=70824,k=A+16|0,i[k+8>>2]=0,i[k+12>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,i[k+24>>2]=0,i[k+28>>2]=0,i[k+32>>2]=0,i[k>>2]=68500,i[A+52>>2]=0,i[A+56>>2]=0,i[A+68>>2]=0,l[A+57|0]=0,l[A+58|0]=0,l[A+59|0]=0,l[A+60|0]=0,l[A+61|0]=0,l[A+62|0]=0,l[A+63|0]=0,l[A+64|0]=0,i[k>>2]=69024,i[A+80>>2]=0,i[A+84>>2]=0,X[A+76>>1]=0,i[A+88>>2]=0,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,i[A+116>>2]=0,i[A+120>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+132>>2]=0,l[A+133|0]=0,l[A+134|0]=0,l[A+135|0]=0,l[A+136|0]=0,l[A+137|0]=0,l[A+138|0]=0,l[A+139|0]=0,l[A+140|0]=0,i[A+32>>2]=1768842853,i[f+4>>2]=A,i[f>>2]=k,i[A+72>>2]=o,l[k+124|0]=0,i[k+52>>2]=i[k+52>>2]&-2,k=G2(r),k>>>0<2147483640){i:{r:{if(k>>>0>=11){w=(k|7)+1|0,t=U(w),i[n+12>>2]=w|-2147483648,i[n+4>>2]=t,i[n+8>>2]=k;break r}if(l[n+15|0]=k,t=n+4|0,!k)break i}l0(t,r,k)}r=A+80|0,l[k+t|0]=0,k=l[n+15|0];i:{r:{if(l[A+91|0]>=0){if((k|0)>=0){A=i[n+8>>2],i[r>>2]=i[n+4>>2],i[r+4>>2]=A,i[r+8>>2]=i[n+12>>2];break i}i4(r,i[n+4>>2],i[n+8>>2]);break r}if(A=r,r=(k|0)<0,_4(A,r?i[n+4>>2]:n+4|0,r?i[n+8>>2]:k),l[n+15|0]>=0)break i}G(i[n+4>>2])}A=u,k=i[A>>2];i:{r:{if(!k)break r;for(;;){if(A=k,r=i[A+16>>2],r>>>0>o>>>0){if(u=A,k=i[A>>2],k)continue;break r}if(r>>>0>=o>>>0)break i;if(k=i[A+4>>2],!k)break}u=A+4|0}k=U(28),i[k+20>>2]=0,i[k+24>>2]=0,i[k+16>>2]=o,i[k+8>>2]=A,i[k>>2]=0,i[k+4>>2]=0,i[u>>2]=k,A=k,r=i[i[e+108>>2]>>2],r&&(i[e+108>>2]=r,A=i[u>>2]),D1(i[e+112>>2],A),i[e+116>>2]=i[e+116>>2]+1}r=i[f>>2],A=i[f+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[k+20>>2]=r,r=i[k+24>>2],i[k+24>>2]=A;i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}e=i[e+92>>2],r=i[f>>2],i[n+4>>2]=r,A=i[f+4>>2],i[n+8>>2]=A;i:{r:{e:{if(!A){if(h=e+40|0,t=i[e+40>>2],t>>>0>=k0[e+44>>2])break r;i[t+4>>2]=A,i[t>>2]=r;break e}if(i[A+4>>2]=i[A+4>>2]+1,h=e+40|0,t=i[e+40>>2],t>>>0>=k0[e+44>>2])break r;i[t+4>>2]=A,i[t>>2]=r,i[A+4>>2]=i[A+4>>2]+1}k=t+8|0;break i}k=Q2(e+36|0,n+4|0),A=i[n+8>>2]}i[h>>2]=k;i:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}B=n+16|0;return}c2(),P()}function Fh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=i[n-12>>2],n=A+12|0,i[k+n>>2]=i[13709],k=n+i[i[A+12>>2]-12>>2]|0,h=A+16|0,b0(k,h),i[k+72>>2]=0,i[k+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,h=$0(h),i[h>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,k=A+148|0,R2(k,e,r),o=n,t=k,n=l[A+159|0],k=(n|0)<0,x(o,k?i[A+148>>2]:t,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=A+148|0,W0(n,r),t=n,n=l[A+159|0],k=(n|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(A+12|0,21529,9),i[e+56>>2]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(n,19425,23),Q[e+60>>1]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),o=x(n,20997,11),n=e- -64|0,k=l[e+75|0],t=(k|0)<0,k=x(x(o,t?i[e+64>>2]:n,t?i[e+68>>2]:k),31338,1),t=A+148|0,W0(t,r),o=t,t=l[A+159|0],u=(t|0)<0,x(k,u?i[A+148>>2]:o,u?i[A+152>>2]:t),l[A+159|0]<0&&G(i[A+148>>2]),o=x(k,21081,11),k=l[e+87|0],t=(k|0)<0,x(x(o,t?i[e+76>>2]:e+76|0,t?i[e+80>>2]:k),31338,1),k=l[e+75|0],t=(k|0)<0,u=i[e+68>>2];i:{if(((t?u:k)|0)!=4||(t=t?i[n>>2]:n,(s[t|0]|s[t+1|0]<<8|(s[t+2|0]<<16|s[t+3|0]<<24))!=1701669229))break i;k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(A+12|0,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),o=x(A+12|0,20918,14),k=l[e+99|0],t=(k|0)<0,k=x(x(o,t?i[e+88>>2]:e+88|0,t?i[e+92>>2]:k),31338,1),t=A+148|0,W0(t,r),o=t,t=l[A+159|0],u=(t|0)<0,x(k,u?i[A+148>>2]:o,u?i[A+152>>2]:t),l[A+159|0]<0&&G(i[A+148>>2]),o=x(k,20561,18),k=l[e+111|0],t=(k|0)<0,x(x(o,t?i[e+100>>2]:e+100|0,t?i[e+104>>2]:k),31338,1),k=s[e+75|0],u=i[e+68>>2]}t=k,k=k<<24>>24<0;i:{if(((k?u:t)|0)!=4||(n=k?i[n>>2]:n,(s[n|0]|s[n+1|0]<<8|(s[n+2|0]<<16|s[n+3|0]<<24))!=543781493))break i;n=A+148|0,W0(n,r),t=n,n=l[A+159|0],k=(n|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),t=x(A+12|0,21054,15),n=l[e+123|0],k=(n|0)<0,x(x(t,k?i[e+112>>2]:e+112|0,k?i[e+116>>2]:n),31338,1)}n=A+148|0,W0(n,r),k=n,r=l[A+159|0],n=(r|0)<0,x(A+12|0,n?i[A+148>>2]:k,n?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),n=A+12|0,r=x(n,20362,13),k=i[i[r>>2]-12>>2]+r|0,i[k+4>>2]=i[k+4>>2]|1,x(re(r,s[e+124|0]),31338,1),i2(f,h),f=i[13707],i[A+12>>2]=f,i[n+i[f-12>>2]>>2]=i[13710],i[h>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(h),T0(A+68|0),B=A+160|0}function Eh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;A=B-32|0,B=A,t=H2(i[r>>2],6),k=s[k+8|0];i:{r:{e:{if((U0(i[r>>2],3)|0)!=8||(U0(i[r>>2],4)|0)!=8)break e;if((U0(i[r>>2],5)|0)==8)break r}i[f>>2]=0,i[f+4>>2]=0;break i}r:{if(!t||(U0(i[r>>2],6)|0)==8)break r;i[f>>2]=0,i[f+4>>2]=0;break i}if(e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),n=i[e+4>>2],o=n+1|0,i[e+4>>2]=o,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,u=e- -64|0,i[u>>2]=0,i[u+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,u=e+12|0,i[e+12>>2]=u,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=n,i[e+16>>2]=e,o||(V[i[i[e>>2]+8>>2]](e),g(e)),n=i[r>>2],o=i[n+24>>2],h=i[n+28>>2],n=h,i[u+36>>2]=k&1?11:10,i[u+32>>2]=1,i[u+28>>2]=n,i[u+24>>2]=o,J0(u,10,o,n,8)){i[A+28>>2]=0,i[A+24>>2]=0,i[A+20>>2]=0,i[A+16>>2]=0,i[A+12>>2]=0,w=v0(i[r>>2],3,A+28|0),_=v0(i[r>>2],4,A+24|0),v=v0(i[r>>2],5,A+20|0),n=v0(u,10,A+12|0),t&&(Z=v0(i[r>>2],6,A+16|0));r:{if((h|0)<=0)break r;if((k&t)==1){if((o|0)<=0)break r;for(r=0,p=i[A+16>>2];;){for(W=m(r,p),k=0;t=k<<2,l[t+(n+m(i[A+12>>2],r)|0)|0]=s[(k+w|0)+m(i[A+28>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+1|0]=s[(k+_|0)+m(i[A+24>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+2|0]=s[(k+v|0)+m(i[A+20>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+3|0]=s[(k+W|0)+Z|0],k=k+1|0,(o|0)!=(k|0););if(r=r+1|0,(h|0)==(r|0))break}break r}if(k&1){if((o|0)<=0)break r;for(r=0;;){for(k=0;t=k<<2,l[t+(n+m(i[A+12>>2],r)|0)|0]=s[(k+w|0)+m(i[A+28>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+1|0]=s[(k+_|0)+m(i[A+24>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+2|0]=s[(k+v|0)+m(i[A+20>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+3|0]=255,k=k+1|0,(o|0)!=(k|0););if(r=r+1|0,(h|0)==(r|0))break}break r}if((o|0)<=0)break r;for(r=0;;){for(k=0;t=m(k,3),l[t+(n+m(i[A+12>>2],r)|0)|0]=s[(k+w|0)+m(i[A+28>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+1|0]=s[(k+_|0)+m(i[A+24>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+2|0]=s[(k+v|0)+m(i[A+20>>2],r)|0],k=k+1|0,(o|0)!=(k|0););if(r=r+1|0,(h|0)==(r|0))break}}i[f+4>>2]=e,i[f>>2]=u;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A+32|0}function Yh(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;i[f+4>>2]=1,e=i[f+12>>2],i[e+324>>2]=i[e+324>>2]-1,i[e+328>>2]=i[e+328>>2]+1,e=i[f+12>>2],w=i[e+124>>2],h=i[w+16876>>2],v=i[w+16892>>2],A=v-1|0,i8(e,f,A,i[f+8>>2],i[f+24>>2]),r=i[f+8>>2],(r|0)>0&&(i8(i[f+12>>2],f,A,r-1|0,i[f+24>>2]),r=i[f+8>>2]),e=r+1|0,(e|0)<i[w+16900>>2]&&(i8(i[f+12>>2],f,A,e,i[f+24>>2]),r=i[f+8>>2],e=r+1|0),n=i[f+20>>2],A=i[f+16>>2],e=e<<h;i:{r:{e:{if(r=r<<h,!(r&1)){if(u=i[A+28>>2],k=(e|0)>(u|0)?u:e,k&1)break e;if(e=i[n+124>>2],u=(i[e+16840>>2]+7|0)/8|0,o=(i[e+16832>>2]+7|0)/8|0,e=i[A+40>>2],(e|0)==i[n+40>>2])break r;if((r|0)>=(k|0))break i;for(e=r;t=m(e,o),l0(i[n+4>>2]+m(t,i[n+40>>2])|0,i[A+4>>2]+m(t,i[A+40>>2])|0,m(o,i[A+24>>2])),e=e+1|0,(k|0)!=(e|0););break i}C0(17299,14027,570,7096),P()}C0(17314,14027,571,7096),P()}t=m(e,m(r,o)),l0(t+i[n+4>>2]|0,t+i[A+4>>2]|0,m(k-r|0,m(e,o)))}e=k,k=s[A+51|0],e=(e|0)/(k|0)|0,r=(r|0)/(k|0)|0;i:{if(!i[A+20>>2])break i;if(k=i[A+44>>2],(k|0)!=i[n+44>>2]){if((e|0)<=(r|0))break i;for(;k=m(r,u),l0(i[n+8>>2]+m(k,i[n+44>>2])|0,i[A+8>>2]+m(k,i[A+44>>2])|0,m(u,i[A+32>>2])),l0(i[n+12>>2]+m(k,i[n+44>>2])|0,i[A+12>>2]+m(k,i[A+44>>2])|0,m(u,i[A+32>>2])),r=r+1|0,(e|0)!=(r|0););break i}o=m(r,u),t=m(o,k),e=m(u,e-r|0),l0(t+i[n+8>>2]|0,t+i[A+8>>2]|0,m(e,k)),k=i[n+12>>2],r=i[n+44>>2],n=m(r,o),l0(k+n|0,n+i[A+12>>2]|0,m(e,r))}i:{if(i[w+16892>>2]<=0)break i;for(e=1<<h,r=0;;){if(A=i[f+12>>2],n=i[A+52>>2],u=i[f+8>>2],k=Q[((i[A+140>>2]+m(m(u,i[A+152>>2]),24)|0)+m(r,24)|0)+2>>1],k>>>0>=i[A+56>>2]-n>>2>>>0||(n=i[n+(k<<2)>>2],!n))break i;r:{if(!s[n+333|0])break r;if(o=i[f+20>>2],k=i[o+40>>2],o=i[o+4>>2],t=i[f+16>>2],h=i[t+40>>2],t=i[t+4>>2],i[i[A+124>>2]+16832>>2]>=9){t6(A,r,u,0,e,e,t,h,o,k);break r}o6(A,r,u,0,e,e,t,h,o,k)}r:{if(!s[n+334|0])break r;A=(e|0)/i[w+16856>>2]|0,n=(e|0)/i[w+16852>>2]|0,u=i[f+8>>2],o=i[f+20>>2],k=i[o+44>>2],o=i[o+8>>2],t=i[f+16>>2],h=i[t+44>>2],t=i[t+8>>2],_=i[f+12>>2];e:{if(i[i[_+124>>2]+16840>>2]>=9){t6(_,r,u,1,n,A,t,h,o,k);break e}o6(_,r,u,1,n,A,t,h,o,k)}if(u=i[f+8>>2],o=i[f+20>>2],k=i[o+44>>2],o=i[o+12>>2],t=i[f+16>>2],h=i[t+44>>2],t=i[t+12>>2],_=i[f+12>>2],i[i[_+124>>2]+16840>>2]>=9){t6(_,r,u,2,n,A,t,h,o,k);break r}o6(_,r,u,2,n,A,t,h,o,k)}if(r=r+1|0,!((r|0)<i[w+16892>>2]))break}}if(r=0,(v|0)>0)for(;e=(i[i[f+12>>2]+320>>2]+m(r,76)|0)+m(m(i[f+8>>2],i[w+16892>>2]),76)|0,i[e>>2]<4&&(i[e>>2]=4),r=r+1|0,(v|0)!=(r|0););i[f+4>>2]=3,Ze(i[f+12>>2])}function Jh(){var f=0,e=0,r=0,A=0,k=0,n=0;s[99593]||(r=i[13846],A=B-16|0,B=A,f=$0(99240),i[f+40>>2]=99296,i[f+32>>2]=r,i[f>>2]=55716,l[f+52|0]=0,i[f+48>>2]=-1,k=A+12|0,e=i[f+4>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),V[i[i[f>>2]+8>>2]](f,k),O0(k),B=A+16|0,i[24641]=55348,i[24641]=53680,i[24639]=53212,i[24641]=53232,i[24640]=0,Qe(i[13300]+98556|0,99240),k=i[12469],Q9(99304,k,99352),M3(98732,99304),n=i[12468],Q9(99360,n,99408),M3(98900,99360),M3(99068,i[(i[i[24725]-12>>2]+98900|0)+24>>2]),i[(i[i[24639]-12>>2]+98556|0)+72>>2]=98732,f=i[i[24725]-12>>2]+98900|0,i[f+4>>2]=i[f+4>>2]|8192,i[(i[i[24725]-12>>2]+98900|0)+72>>2]=98732,A=B-16|0,B=A,f=vt(99416),i[f+40>>2]=99472,i[f+32>>2]=r,i[f>>2]=55920,l[f+52|0]=0,i[f+48>>2]=-1,r=A+12|0,e=i[f+4>>2],i[r>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),V[i[i[f>>2]+8>>2]](f,r),O0(r),B=A+16|0,i[24663]=55348,i[24663]=54116,i[24661]=53460,i[24663]=53480,i[24662]=0,Qe(i[13362]+98644|0,99416),y9(99480,k,99528),x3(98816,99480),y9(99536,n,99584),x3(98984,99536),x3(99152,i[(i[i[24746]-12>>2]+98984|0)+24>>2]),i[(i[i[24661]-12>>2]+98644|0)+72>>2]=98816,f=i[i[24746]-12>>2]+98984|0,i[f+4>>2]=i[f+4>>2]|8192,i[(i[i[24746]-12>>2]+98984|0)+72>>2]=98816,l[99593]=1),f=B-16|0,B=f;i:{if(Zs(f+12|0,f+8|0)|0||(e=Z2((i[f+12>>2]<<2)+4|0),i[24899]=e,!e)||(e=Z2(i[f+8>>2]),e&&(i[i[24899]+(i[f+12>>2]<<2)>>2]=0,!(Bs(i[24899],e|0)|0))))break i;i[24899]=0}B=f+16|0,i[19564]=0,i[19565]=0,l[78275]=0,l[78264]=0,i[19570]=0,i[19571]=0,i[19569]=78280,i[19572]=78292,i[19573]=0,i[19574]=0,bA(),f=B-80|0,B=f,i[19578]=0,i[19577]=531,Nk(),i[19578]=i[23941],i[23941]=78308,i[19580]=0,i[19581]=0,i[19579]=78320,e=i[9245],i[f+48>>2]=i[9244],i[f+52>>2]=e,e=i[9243],i[f+40>>2]=i[9242],i[f+44>>2]=e,e=i[9241],i[f+32>>2]=i[9240],i[f+36>>2]=e,e=i[9239],i[f+24>>2]=i[9238],i[f+28>>2]=e,e=i[9237],i[f+16>>2]=i[9236],i[f+20>>2]=e,e=i[9235],i[f+8>>2]=i[9234],i[f+12>>2]=e,e=f+8|0,jr(78316,e,f+56|0),l0(e,36984,68),i[19582]=78332,i[19583]=0,i[19584]=0,jr(78328,e,f+76|0),i[19586]=0,i[19587]=0,i[19585]=78344,r=i[9276],i[f+56>>2]=i[9275],i[f+60>>2]=r,r=i[9274],i[f+48>>2]=i[9273],i[f+52>>2]=r,r=i[9272],i[f+40>>2]=i[9271],i[f+44>>2]=r,r=i[9270],i[f+32>>2]=i[9269],i[f+36>>2]=r,r=i[9268],i[f+24>>2]=i[9267],i[f+28>>2]=r,r=i[9266],i[f+16>>2]=i[9265],i[f+20>>2]=r,r=i[9264],i[f+8>>2]=i[9263],i[f+12>>2]=r,jr(78340,e,f- -64|0),B=f+80|0,i[19592]=0,i[19590]=0,i[19591]=0,i[23942]=970,i[23943]=0,an(),i[23943]=i[23941],i[23941]=95768,i[23985]=95820,i[23967]=42}function gh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;e=B-32|0,B=e;i:{r:{e:{if((U0(i[r>>2],3)|0)!=8||(U0(i[r>>2],4)|0)!=8)break e;if((U0(i[r>>2],5)|0)==8)break r}i[f>>2]=0,i[f+4>>2]=0;break i}t=H2(i[r>>2],6),u=s[k+8|0];r:{if(!t||(U0(i[r>>2],6)|0)==8)break r;i[f>>2]=0,i[f+4>>2]=0;break i}if(A=U(136),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=72792,B0(A+20|0,0,104),k=i[A+4>>2],n=k+1|0,i[A+4>>2]=n,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,o=A- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,o=A+12|0,i[A+12>>2]=o,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=k,i[A+16>>2]=A,n||(V[i[i[A>>2]+8>>2]](A),g(A)),n=i[r>>2],h=i[n+24>>2],k=h,w=i[n+28>>2],n=w,_=t|u,i[o+36>>2]=_&1?13:12,i[o+32>>2]=1,i[o+28>>2]=n,i[o+24>>2]=k,J0(o,10,k,n,U0(i[r>>2],3))){k=0,i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,v=v0(i[r>>2],3,e+28|0),Z=v0(i[r>>2],4,e+24|0),p=v0(i[r>>2],5,e+20|0),n=v0(o,10,e+12|0);r:{if(t){if(u=v0(i[r>>2],6,e+16|0),(w|0)<=0|(h|0)<=0)break r;for(_=i[e+16>>2];;){for(W=u+m(k,_)|0,r=0;t=r<<3,l[t+(n+m(i[e+12>>2],k)|0)|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+1|0]=s[(r+v|0)+m(i[e+28>>2],k)|0],l[(t+(n+m(i[e+12>>2],k)|0)|0)+2|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+3|0]=s[(r+Z|0)+m(i[e+24>>2],k)|0],l[(t+(n+m(i[e+12>>2],k)|0)|0)+4|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+5|0]=s[(r+p|0)+m(i[e+20>>2],k)|0],l[(t+(n+m(i[e+12>>2],k)|0)|0)+6|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+7|0]=s[r+W|0],r=r+1|0,(h|0)!=(r|0););if(k=k+1|0,(w|0)==(k|0))break}break r}if((w|0)<=0|(h|0)<=0)break r;for(u=u&1?8:6;;){for(r=0;t=m(r,u),l[t+(n+m(i[e+12>>2],k)|0)|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+1|0]=s[(r+v|0)+m(i[e+28>>2],k)|0],l[(t+(n+m(i[e+12>>2],k)|0)|0)+2|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+3|0]=s[(r+Z|0)+m(i[e+24>>2],k)|0],l[(t+(n+m(i[e+12>>2],k)|0)|0)+4|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+5|0]=s[(r+p|0)+m(i[e+20>>2],k)|0],_&1&&(l[(t+(n+m(i[e+12>>2],k)|0)|0)+6|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+7|0]=255),r=r+1|0,(h|0)!=(r|0););if(k=k+1|0,(w|0)==(k|0))break}}i[f+4>>2]=A,i[f>>2]=o;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break i;V[i[i[A>>2]+8>>2]](A),g(A)}B=e+32|0}function Nh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;t=B-32|0,B=t,u=t+12|0,v=i[e>>2],Z=r,r=0,n=B-16|0,B=n;i:{if(k>>>0<5)break i;for(h=k-4|0;;){if(o=r+A|0,w=s[o+1|0]<<8,_=s[o+2|0]<<16|s[o+3|0]<<24,(s[o|0]|w|_)==704662861|(_|(w|s[o|0]))==2771273)break i;if(r=r+1|0,(h|0)==(r|0))break}r=h}i:{if(r>>>0>=k>>>0){if(r=U(64),i[n+4>>2]=r,i[n+8>>2]=56,i[n+12>>2]=-2147483584,A=s[18084]|s[18085]<<8|(s[18086]<<16|s[18087]<<24),k=s[18080]|s[18081]<<8|(s[18082]<<16|s[18083]<<24),l[r|0]=k,l[r+1|0]=k>>>8,l[r+2|0]=k>>>16,l[r+3|0]=k>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+56|0]=0,A=s[18132]|s[18133]<<8|(s[18134]<<16|s[18135]<<24),k=s[18128]|s[18129]<<8|(s[18130]<<16|s[18131]<<24),l[r+48|0]=k,l[r+49|0]=k>>>8,l[r+50|0]=k>>>16,l[r+51|0]=k>>>24,l[r+52|0]=A,l[r+53|0]=A>>>8,l[r+54|0]=A>>>16,l[r+55|0]=A>>>24,A=s[18124]|s[18125]<<8|(s[18126]<<16|s[18127]<<24),k=s[18120]|s[18121]<<8|(s[18122]<<16|s[18123]<<24),l[r+40|0]=k,l[r+41|0]=k>>>8,l[r+42|0]=k>>>16,l[r+43|0]=k>>>24,l[r+44|0]=A,l[r+45|0]=A>>>8,l[r+46|0]=A>>>16,l[r+47|0]=A>>>24,A=s[18116]|s[18117]<<8|(s[18118]<<16|s[18119]<<24),k=s[18112]|s[18113]<<8|(s[18114]<<16|s[18115]<<24),l[r+32|0]=k,l[r+33|0]=k>>>8,l[r+34|0]=k>>>16,l[r+35|0]=k>>>24,l[r+36|0]=A,l[r+37|0]=A>>>8,l[r+38|0]=A>>>16,l[r+39|0]=A>>>24,A=s[18108]|s[18109]<<8|(s[18110]<<16|s[18111]<<24),k=s[18104]|s[18105]<<8|(s[18106]<<16|s[18107]<<24),l[r+24|0]=k,l[r+25|0]=k>>>8,l[r+26|0]=k>>>16,l[r+27|0]=k>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[18100]|s[18101]<<8|(s[18102]<<16|s[18103]<<24),k=s[18096]|s[18097]<<8|(s[18098]<<16|s[18099]<<24),l[r+16|0]=k,l[r+17|0]=k>>>8,l[r+18|0]=k>>>16,l[r+19|0]=k>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[18092]|s[18093]<<8|(s[18094]<<16|s[18095]<<24),k=s[18088]|s[18089]<<8|(s[18090]<<16|s[18091]<<24),l[r+8|0]=k,l[r+9|0]=k>>>8,l[r+10|0]=k>>>16,l[r+11|0]=k>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(u,5,2006,n+4|0),l[n+15|0]>=0)break i;G(i[n+4>>2]);break i}if(i[n+12>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,L2(n+4|0,k+4|0),l[i[n+4>>2]]=r>>>24,l[i[n+4>>2]+1|0]=r>>>16,l[i[n+4>>2]+2|0]=r>>>8,l[i[n+4>>2]+3|0]=r,r=i[n+4>>2],l0(r+4|0,A,k),u6(u,v,Z,r,i[n+8>>2]-r|0,8780,0,0,0),r=i[n+4>>2],!r)break i;i[n+8>>2]=r,G(r)}B=n+16|0;i:{if(i[t+12>>2]!=i[19564]){P0(f,u,i[e>>2]);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[t+31|0]<0&&G(i[t+20>>2]),B=t+32|0}function Rh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;A=B-16|0,B=A,e=i[r>>2],v=i[e+28>>2],_=i[e+24>>2];i:{if((U0(e,0)|0)!=8){i[f>>2]=0,i[f+4>>2]=0;break i}e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),n=i[e+4>>2],t=n+1|0,i[e+4>>2]=t,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,h=e- -64|0,i[h>>2]=0,i[h+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,h=e+12|0,i[e+12>>2]=h,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=n,i[e+16>>2]=e,t||(V[i[i[e>>2]+8>>2]](e),g(e)),n=H2(i[r>>2],6),i[h+36>>2]=s[k+8|0]?11:10,i[h+32>>2]=1,i[h+28>>2]=v,i[h+24>>2]=_;r:{e:{if(J0(h,10,_,v,8)){if(i[A+12>>2]=0,i[A+4>>2]=0,Z=v0(i[r>>2],0,A+12|0),n&&(p=v0(i[r>>2],6,A+8|0)),t=v0(h,10,A+4|0),(v|0)<=0)break r;if(!n)break e;for(r=0,u=(_|0)<=0;;){A:{if(s[k+8|0]){if(n=0,u)break A;for(;o=n<<2,w=s[(n+Z|0)+m(i[A+12>>2],r)|0],l[o+(t+m(i[A+4>>2],r)|0)|0]=w,l[(o+(t+m(i[A+4>>2],r)|0)|0)+1|0]=w,l[(o+(t+m(i[A+4>>2],r)|0)|0)+2|0]=w,l[(o+(t+m(i[A+4>>2],r)|0)|0)+3|0]=s[(m(i[A+8>>2],r)+n|0)+p|0],n=n+1|0,(_|0)!=(n|0););break A}if(n=0,u)break A;for(;o=m(n,3),w=s[(n+Z|0)+m(i[A+12>>2],r)|0],l[o+(t+m(i[A+4>>2],r)|0)|0]=w,l[(o+(t+m(i[A+4>>2],r)|0)|0)+1|0]=w,l[(o+(t+m(i[A+4>>2],r)|0)|0)+2|0]=w,n=n+1|0,(_|0)!=(n|0););}if(r=r+1|0,(v|0)==(r|0))break}break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e);break i}if(w=(_|0)<=0,!w){for(r=0;;){n=0;e:{if(s[k+8|0]){for(;;)if(o=n<<2,u=s[(n+Z|0)+m(i[A+12>>2],r)|0],l[o+(t+m(i[A+4>>2],r)|0)|0]=u,l[(o+(t+m(i[A+4>>2],r)|0)|0)+1|0]=u,l[(o+(t+m(i[A+4>>2],r)|0)|0)+2|0]=u,l[(o+(t+m(i[A+4>>2],r)|0)|0)+3|0]=255,n=n+1|0,(_|0)==(n|0))break e}if(w)break e;for(;o=m(n,3),u=s[(n+Z|0)+m(i[A+12>>2],r)|0],l[o+(t+m(i[A+4>>2],r)|0)|0]=u,l[(o+(t+m(i[A+4>>2],r)|0)|0)+1|0]=u,l[(o+(t+m(i[A+4>>2],r)|0)|0)+2|0]=u,n=n+1|0,(_|0)!=(n|0););}if(r=r+1|0,(v|0)==(r|0))break}break r}if(s[k+8|0])break r;for(o=t+2|0,u=t+1|0,r=0;s[k+8|0]|(_|0)<=0||(n=s[m(i[A+12>>2],r)+Z|0],l[t+m(i[A+4>>2],r)|0]=n,l[u+m(i[A+4>>2],r)|0]=n,l[o+m(i[A+4>>2],r)|0]=n),r=r+1|0,(v|0)!=(r|0););}i[f+4>>2]=e,i[f>>2]=h}B=A+16|0}function Dh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=Y(0),y=Y(0),E=Y(0),J=Y(0),R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0;A=B+-64|0,B=A;i:{r:{e:{if((U0(i[r>>2],0)|0)!=8||(U0(i[r>>2],1)|0)!=8)break e;if((U0(i[r>>2],2)|0)==8)break r}i[f>>2]=0,i[f+4>>2]=0;break i}if(e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),k=i[e+4>>2],n=k+1|0,i[e+4>>2]=n,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,t=e- -64|0,i[t>>2]=0,i[t+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,t=e+12|0,i[e+12>>2]=t,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=k,i[e+16>>2]=e,n||(V[i[i[e>>2]+8>>2]](e),g(e)),n=i[r>>2],v=i[n+24>>2],k=v,Z=i[n+28>>2],n=Z,i[t+36>>2]=11,i[t+32>>2]=1,i[t+28>>2]=n,i[t+24>>2]=k,J0(t,10,k,n,8)){if(n=i[r>>2],k=i[n+44>>2],n=i[n+48>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[A+52>>2]=-1086926434,i[A+56>>2]=1071829221,i[A+44>>2]=1068725436,i[A+48>>2]=-1095748968,l[A+40|0]=1,k&&(V6(A+20|0,Q[k+8>>1],Q[k+4>>1]),i[A+56>>2]=i[A+36>>2],k=i[A+32>>2],i[A+48>>2]=i[A+28>>2],i[A+52>>2]=k,k=i[A+24>>2],i[A+40>>2]=i[A+20>>2],i[A+44>>2]=k),I=Z0[A+56>>2],y=Z0[A+48>>2],E=Z0[A+52>>2],J=Z0[A+44>>2],p=H2(i[r>>2],6),k=0,i[A+20>>2]=0,i[A+16>>2]=0,i[A+12>>2]=0,i[A+8>>2]=0,i[A+4>>2]=0,R=v0(i[r>>2],0,A+20|0),D=v0(i[r>>2],1,A+16|0),h=i[r>>2],z=z8(Y(I*Y(256))),H=z8(Y(y*Y(256))),a=z8(Y(E*Y(256))),S=z8(Y(J*Y(256))),q=v0(h,2,A+12|0),p&&(d=v0(i[r>>2],6,A+8|0)),h=v0(t,10,A+4|0),!((Z|0)<=0|(v|0)<=0))for(;;){for(W=k>>>1|0,r=0;o=r>>>1|0,w=s[o+(m(i[A+16>>2],W)+D|0)|0],_=r<<2,C=s[o+(m(i[A+12>>2],W)+q|0)|0]-128|0,o=s[(m(i[A+20>>2],k)+R|0)+r|0],u=(m(C,S)+128>>8)+o|0,l[_+(h+m(i[A+4>>2],k)|0)|0]=(u|0)>=0?u>>>0>=255?255:u:0,w=w-128|0,u=o+((m(w,H)+m(a,C)|0)+128>>8)|0,l[((h+m(i[A+4>>2],k)|0)+_|0)+1|0]=(u|0)>=0?u>>>0>=255?255:u:0,o=o+(m(w,z)+128>>8)|0,l[((h+m(i[A+4>>2],k)|0)+_|0)+2|0]=(o|0)>=0?o>>>0>=255?255:o:0,l[((h+m(i[A+4>>2],k)|0)+_|0)+3|0]=p?s[(m(i[A+8>>2],k)+r|0)+d|0]:255,r=r+1|0,(v|0)!=(r|0););if(k=k+1|0,(Z|0)==(k|0))break}if(i[f+4>>2]=e,i[f>>2]=t,!n||(f=i[n+4>>2],i[n+4>>2]=f-1,f))break i;V[i[i[n>>2]+8>>2]](n),g(n);break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A- -64|0}function Uh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;k=B-16|0,B=k,W=e,C=D0(r),i[W+48>>2]=C,W=e,C=D0(r),i[W+52>>2]=C,n=i[e+12>>2],A=i[e+8>>2],h=i[e+32>>2];i:{if(!n&A>>>0<=h+8>>>0){if(e=U(40),i[k+4>>2]=e,i[k+8>>2]=38,i[k+12>>2]=-2147483608,r=s[18216]|s[18217]<<8|(s[18218]<<16|s[18219]<<24),A=s[18212]|s[18213]<<8|(s[18214]<<16|s[18215]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+38|0]=0,r=s[18246]|s[18247]<<8|(s[18248]<<16|s[18249]<<24),A=s[18242]|s[18243]<<8|(s[18244]<<16|s[18245]<<24),l[e+30|0]=A,l[e+31|0]=A>>>8,l[e+32|0]=A>>>16,l[e+33|0]=A>>>24,l[e+34|0]=r,l[e+35|0]=r>>>8,l[e+36|0]=r>>>16,l[e+37|0]=r>>>24,r=s[18240]|s[18241]<<8|(s[18242]<<16|s[18243]<<24),A=s[18236]|s[18237]<<8|(s[18238]<<16|s[18239]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[18232]|s[18233]<<8|(s[18234]<<16|s[18235]<<24),A=s[18228]|s[18229]<<8|(s[18230]<<16|s[18231]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[18224]|s[18225]<<8|(s[18226]<<16|s[18227]<<24),A=s[18220]|s[18221]<<8|(s[18222]<<16|s[18223]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,101,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}o=A-h|0,v=o-8|0;r:{if(A=(n-(A>>>0<h>>>0)|0)-(o>>>0<8)|0,!A&v>>>0<4)break r;Z=(A&3)<<30|v>>>2,v=A>>>2|0,h=0,A=0;e:{for(;;){if(s[r+20|0]==1)break r;w=D0(r);A:{n=i[e+60>>2],t=i[e+64>>2];f:{if(n>>>0<t>>>0){i[n>>2]=w,w=n+4|0;break f}if(_=i[e+56>>2],u=n-_>>2,o=u+1|0,o>>>0>=1073741824)break A;if(p=u<<2,t=t-_|0,u=t>>1,u=t>>>0>=2147483644?1073741823:u>>>0>o>>>0?u:o,u){if(u>>>0>=1073741824)break e;o=U(u<<2)}else o=0;if(t=p+o|0,i[t>>2]=w,w=t+4|0,(n|0)!=(_|0))for(;t=t-4|0,n=n-4|0,i[t>>2]=i[n>>2],(n|0)!=(_|0););if(i[e+64>>2]=o+(u<<2),i[e+60>>2]=w,i[e+56>>2]=t,!_)break f;G(_)}if(i[e+60>>2]=w,h=h+1|0,A=h?A:A+1|0,(h|0)!=(Z|0)|(A|0)!=(v|0))continue;break r}break}y0(),P()}_2(),P()}if(s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function Cr(f,e,r){var A=0,k=0;A=B-656|0,B=A,e=e?7776:5478,s[f|0]&&(i[A+644>>2]=l[f+1|0],i[A+640>>2]=e,c(r,26967,A+640|0),i[A+628>>2]=l[f+2|0],i[A+624>>2]=e,c(r,28201,A+624|0),k=i[f+4>>2]-1|0,k>>>0<=3?k=i[(k<<2)+46120>>2]:k=18285,i[A+612>>2]=k,i[A+608>>2]=e,c(r,21931,A+608|0),i[A+592>>2]=e,c(r,19849,A+592|0),i[A+576>>2]=l[f+8|0],c(r,13655,A+576|0),c(r,18139,0),i[A+560>>2]=l[f+9|0],c(r,13655,A+560|0),c(r,18139,0),i[A+544>>2]=l[f+10|0],c(r,13655,A+544|0),c(r,18139,0),i[A+528>>2]=l[f+11|0],c(r,13655,A+528|0),c(r,18139,0),i[A+512>>2]=l[f+12|0],c(r,13655,A+512|0),c(r,18139,0),i[A+496>>2]=l[f+13|0],c(r,13655,A+496|0),c(r,18139,0),i[A+480>>2]=l[f+14|0],c(r,13655,A+480|0),c(r,18139,0),i[A+464>>2]=l[f+15|0],c(r,13655,A+464|0),c(r,18139,0),i[A+448>>2]=l[f+16|0],c(r,13655,A+448|0),c(r,18139,0),i[A+432>>2]=l[f+17|0],c(r,13655,A+432|0),c(r,18139,0),i[A+416>>2]=l[f+18|0],c(r,13655,A+416|0),c(r,18139,0),i[A+400>>2]=l[f+19|0],c(r,13655,A+400|0),c(r,18139,0),i[A+384>>2]=l[f+20|0],c(r,13655,A+384|0),c(r,18139,0),i[A+368>>2]=l[f+21|0],c(r,13655,A+368|0),c(r,18139,0),i[A+352>>2]=l[f+22|0],c(r,13655,A+352|0),c(r,18139,0),i[A+336>>2]=l[f+23|0],c(r,13655,A+336|0),c(r,18139,0),i[A+320>>2]=l[f+24|0],c(r,13655,A+320|0),c(r,18139,0),i[A+304>>2]=l[f+25|0],c(r,13655,A+304|0),c(r,18139,0),i[A+288>>2]=l[f+26|0],c(r,13655,A+288|0),c(r,18139,0),i[A+272>>2]=l[f+27|0],c(r,13655,A+272|0),c(r,18139,0),i[A+256>>2]=l[f+28|0],c(r,13655,A+256|0),c(r,18139,0),i[A+240>>2]=l[f+29|0],c(r,13655,A+240|0),c(r,18139,0),i[A+224>>2]=l[f+30|0],c(r,13655,A+224|0),c(r,18139,0),i[A+208>>2]=l[f+31|0],c(r,13655,A+208|0),c(r,18139,0),i[A+192>>2]=l[f+32|0],c(r,13655,A+192|0),c(r,18139,0),i[A+176>>2]=l[f+33|0],c(r,13655,A+176|0),c(r,18139,0),i[A+160>>2]=l[f+34|0],c(r,13655,A+160|0),c(r,18139,0),i[A+144>>2]=l[f+35|0],c(r,13655,A+144|0),c(r,18139,0),i[A+128>>2]=l[f+36|0],c(r,13655,A+128|0),c(r,18139,0),i[A+112>>2]=l[f+37|0],c(r,13655,A+112|0),c(r,18139,0),i[A+96>>2]=l[f+38|0],c(r,13655,A+96|0),c(r,18139,0),i[A+80>>2]=l[f+39|0],c(r,13655,A+80|0),c(r,31103,0),i[A+68>>2]=l[f+40|0],i[A+64>>2]=e,c(r,24570,A- -64|0),i[A+52>>2]=l[f+41|0],i[A+48>>2]=e,c(r,24607,A+48|0),i[A+36>>2]=l[f+42|0],i[A+32>>2]=e,c(r,23734,A+32|0),i[A+20>>2]=l[f+43|0],i[A+16>>2]=e,c(r,23694,A+16|0)),s[f+44|0]&&(f=i[f+48>>2],i[A+4>>2]=f,i[A>>2]=e,i0[A+8>>3]=Y(Y(f|0)/Y(30)),c(r,31206,A)),B=A+656|0}function xk(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0;k=B-160|0,B=k,A=i[r>>2],n=V[i[i[A>>2]+8>>2]](A)|0,t=i[r>>2],A=w0,n=n+8|0,A=n>>>0<8?A+1|0:A;i:{if(V[i[i[t>>2]+12>>2]](t,n,A)|0){if(l[k+16|0]=0,l[k+27|0]=0,r0(f,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}if(u=e,h=D0(r),i[u+8>>2]=h,i[e+12>>2]=0,A=D0(r),i[e+32>>2]=8,i[e+16>>2]=A,!i[e+12>>2]&i[e+8>>2]==1){if(A=i[r>>2],n=V[i[i[A>>2]+8>>2]](A)|0,t=i[r>>2],A=w0,n=n+8|0,A=n>>>0<8?A+1|0:A,V[i[i[t>>2]+12>>2]](t,n,A)|0){if(l[k+16|0]=0,l[k+27|0]=0,r0(f,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}if(A=D0(r),u=e,h=D0(r),i[u+8>>2]=h,i[e+12>>2]=A,i[e+32>>2]=i[e+32>>2]+8,i[k+24>>2]=54496,i[k+80>>2]=54516,A=i[13633],i[k+16>>2]=A,n=i[A-12>>2],A=k+16|0,i[n+A>>2]=i[13634],i[k+20>>2]=0,n=A+i[i[k+16>>2]-12>>2]|0,t=k+28|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,n=i[13635],i[k+24>>2]=n,o=k+24|0,i[o+i[n-12>>2]>>2]=i[13636],n=i[13632],i[k+16>>2]=n,i[A+i[n-12>>2]>>2]=i[13637],i[k+80>>2]=54516,i[k+16>>2]=54476,i[k+24>>2]=54496,A=$0(t),i[A>>2]=53552,i[k+68>>2]=0,i[k+72>>2]=0,i[k+60>>2]=0,i[k+64>>2]=0,i[k+76>>2]=24,x(n4(x(o,19110,9),i[e+8>>2],i[e+12>>2]),17482,24),n=k+80|0,t=i[e+12>>2],(t|0)==268435456|t>>>0>268435456){e=k+4|0,i2(e,A),r0(f,6,1e3,e),l[k+15|0]<0&&G(i[k+4>>2]),f=i[13631],i[k+16>>2]=f,i[i[f-12>>2]+(k+16|0)>>2]=i[13639],i[k+24>>2]=i[13640],i[A>>2]=53552,l[k+71|0]<0&&G(i[k+60>>2]),K0(A),T0(n);break i}t=i[13631],i[k+16>>2]=t,i[i[t-12>>2]+(k+16|0)>>2]=i[13639],i[k+24>>2]=i[13640],i[A>>2]=53552,l[k+71|0]<0&&G(i[k+60>>2]),K0(A),T0(n),A=i[e+16>>2]}if((A|0)==1970628964){if(A=i[r>>2],n=V[i[i[A>>2]+8>>2]](A)|0,t=i[r>>2],A=w0,n=n+16|0,A=n>>>0<16?A+1|0:A,V[i[i[t>>2]+12>>2]](t,n,A)|0){if(l[k+16|0]=0,l[k+27|0]=0,r0(f,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}r:{if(!T4(r,16))break r;t=e+20|0,n=i[e+20>>2],A=i[e+24>>2]-n|0;e:{if(A>>>0<=15){L2(t,16-A|0);break e}if((A|0)==16)break e;i[e+24>>2]=n+16}if(n=i[r>>2],A=i[r+4>>2],A){if(i[A+4>>2]=i[A+4>>2]+1,V[i[i[n>>2]+16>>2]](n,i[t>>2],16)|0,n=i[A+4>>2],i[A+4>>2]=n-1,n)break r;V[i[i[A>>2]+8>>2]](A),g(A);break r}V[i[i[n>>2]+16>>2]](n,i[t>>2],16)|0}i[e+32>>2]=i[e+32>>2]+16}if(s[r+20|0]==1){if(l[k+16|0]=0,l[k+27|0]=0,r0(f,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+160|0}function Mh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;u=B-16|0,B=u,o=i[k>>2],n=o+i[r>>2]|0;i:{if(i[r+4>>2]-n>>>0<(A|0)/8<<2>>>0){if(e=U(56),i[u+4>>2]=e,i[u+8>>2]=48,i[u+12>>2]=-2147483592,r=s[6923]|s[6924]<<8|(s[6925]<<16|s[6926]<<24),A=s[6919]|s[6920]<<8|(s[6921]<<16|s[6922]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+48|0]=0,r=s[6963]|s[6964]<<8|(s[6965]<<16|s[6966]<<24),A=s[6959]|s[6960]<<8|(s[6961]<<16|s[6962]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[6955]|s[6956]<<8|(s[6957]<<16|s[6958]<<24),A=s[6951]|s[6952]<<8|(s[6953]<<16|s[6954]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[6947]|s[6948]<<8|(s[6949]<<16|s[6950]<<24),A=s[6943]|s[6944]<<8|(s[6945]<<16|s[6946]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6939]|s[6940]<<8|(s[6941]<<16|s[6942]<<24),A=s[6935]|s[6936]<<8|(s[6937]<<16|s[6938]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6931]|s[6932]<<8|(s[6933]<<16|s[6934]<<24),A=s[6927]|s[6928]<<8|(s[6929]<<16|s[6930]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,u+4|0),l[u+15|0]>=0)break i;G(i[u+4>>2]);break i}t=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|t<<24|s[n+2|0]<<8),t=o+4|0;break r}n=(h<<16|t<<24)>>16,t=o+2|0}i[k>>2]=t,i[e+4>>2]=n,o=i[k>>2],n=o+i[r>>2]|0,t=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|t<<24|s[n+2|0]<<8),t=o+4|0;break r}n=(h<<16|t<<24)>>16,t=o+2|0}i[k>>2]=t,i[e+8>>2]=n,t=i[r>>2],h=i[k>>2],r=t+h|0,o=s[r|0],n=s[r+1|0];r:{if((A|0)==32){r=s[r+3|0]|(n<<16|o<<24|s[r+2|0]<<8),n=4;break r}r=n|o<<8,n=2}i[k>>2]=n+h,i[e+12>>2]=r,r=t,t=i[k>>2],r=r+t|0,o=s[r|0],n=s[r+1|0];r:{if((A|0)==32){A=s[r+3|0]|(n<<16|o<<24|s[r+2|0]<<8),r=4;break r}A=n|o<<8,r=2}if(i[k>>2]=r+t,i[e+16>>2]=A,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=u+16|0}function xh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;u=B-16|0,B=u,o=i[k>>2],n=o+i[r>>2]|0;i:{if(i[r+4>>2]-n>>>0<(A|0)/8<<2>>>0){if(e=U(48),i[u+4>>2]=e,i[u+8>>2]=46,i[u+12>>2]=-2147483600,r=s[6876]|s[6877]<<8|(s[6878]<<16|s[6879]<<24),A=s[6872]|s[6873]<<8|(s[6874]<<16|s[6875]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+46|0]=0,r=s[6914]|s[6915]<<8|(s[6916]<<16|s[6917]<<24),A=s[6910]|s[6911]<<8|(s[6912]<<16|s[6913]<<24),l[e+38|0]=A,l[e+39|0]=A>>>8,l[e+40|0]=A>>>16,l[e+41|0]=A>>>24,l[e+42|0]=r,l[e+43|0]=r>>>8,l[e+44|0]=r>>>16,l[e+45|0]=r>>>24,r=s[6908]|s[6909]<<8|(s[6910]<<16|s[6911]<<24),A=s[6904]|s[6905]<<8|(s[6906]<<16|s[6907]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[6900]|s[6901]<<8|(s[6902]<<16|s[6903]<<24),A=s[6896]|s[6897]<<8|(s[6898]<<16|s[6899]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6892]|s[6893]<<8|(s[6894]<<16|s[6895]<<24),A=s[6888]|s[6889]<<8|(s[6890]<<16|s[6891]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6884]|s[6885]<<8|(s[6886]<<16|s[6887]<<24),A=s[6880]|s[6881]<<8|(s[6882]<<16|s[6883]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,u+4|0),l[u+15|0]>=0)break i;G(i[u+4>>2]);break i}t=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|t<<24|s[n+2|0]<<8),t=o+4|0;break r}n=(h<<16|t<<24)>>16,t=o+2|0}i[k>>2]=t,i[e+4>>2]=n,o=i[k>>2],n=o+i[r>>2]|0,t=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|t<<24|s[n+2|0]<<8),t=o+4|0;break r}n=(h<<16|t<<24)>>16,t=o+2|0}i[k>>2]=t,i[e+8>>2]=n,t=i[r>>2],h=i[k>>2],r=t+h|0,o=s[r|0],n=s[r+1|0];r:{if((A|0)==32){r=s[r+3|0]|(n<<16|o<<24|s[r+2|0]<<8),n=4;break r}r=n|o<<8,n=2}i[k>>2]=n+h,i[e+12>>2]=r,r=t,t=i[k>>2],r=r+t|0,o=s[r|0],n=s[r+1|0];r:{if((A|0)==32){A=s[r+3|0]|(n<<16|o<<24|s[r+2|0]<<8),r=4;break r}A=n|o<<8,r=2}if(i[k>>2]=r+t,i[e+16>>2]=A,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=u+16|0}function zk(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;k=i[f+18588>>2],_=i[k+132>>2],A=-1<<i[_+8268>>2],t=A&r,v=i[f+18592>>2],h=i[k+124>>2],u=e&A,(u|0)==i[f+18524>>2]&(t|0)==i[f+18528>>2]||(i[f+18528>>2]=t,i[f+18524>>2]=u,i[f+18532>>2]=i[f+18520>>2]),A=i[h+16876>>2],n=-1<<A^-1,o=i[v+808>>2],w=i[h+16892>>2],k=(o|0)/(w|0)|0,w=o-m(k,w)|0,o=i[h+16884>>2],o=(u|0)==(m(w,o)|0)&(t|0)==(m(k,o)|0),k=0;i:{if(!s[_+46|0]||(k=0,n&(t|u)))break i;k=e9(_,u>>A,t>>A)}i:{if(!(!s[_+45|0]|(u|n&t))||k|o){k=i[f+18592>>2]+800|0;break i}k=f+18532|0}A=i[k>>2];i:{r:{o=u-1|0;e:{if(!p7(i[f+18588>>2],u,t,o,t)){n=i[f+18588>>2],k=A;break e}if(n=i[f+18588>>2],w=i[h+16936>>2],k=A,i[f+4>>2]!=i[(i[_+8496>>2]+(o>>w<<2)|0)+(m(i[h+16924>>2],t>>w)<<2)>>2]>>(i[h+16876>>2]-w<<1))break e;if(k=o,o=i[n+168>>2],k=k>>o,(k|0)<0||(w=i[n+172>>2],(w|0)<=(k|0)))break r;if(o=t>>o,(o|0)<0|(o|0)>=i[n+176>>2])break i;k=l[((i[n+160>>2]+m(k,3)|0)+m(m(o,w),3)|0)+2|0]}o=n,n=t-1|0;e:{if(!p7(o,u,t,u,n)||(t=i[h+16936>>2],i[f+4>>2]!=i[(i[_+8496>>2]+(u>>t<<2)|0)+(m(i[h+16924>>2],n>>t)<<2)>>2]>>(i[h+16876>>2]-t<<1)))break e;if(o=u,A=i[f+18588>>2],u=i[A+168>>2],t=o>>u,(t|0)<0||(o=i[A+172>>2],(o|0)<=(t|0)))break r;if(n=n>>u,(n|0)<0|(n|0)>=i[A+176>>2])break i;A=l[((i[A+160>>2]+m(t,3)|0)+m(m(n,o),3)|0)+2|0]}k=i[f+18504>>2]+((A+k|0)+1>>1)|0,A=i[h+16836>>2],n=((k+(A<<1)|0)+52|0)%(A+52|0)|0,i[f+18536>>2]=(n|0)>0?n:0,u=i[h+16844>>2],k=0-u|0,t=n-A|0,A=i[f+18516>>2]+(i[v+756>>2]+(t+i[_+36>>2]|0)|0)|0,n=(A|0)<(k|0)?k:(A|0)>=57?57:A,A=i[f+18512>>2]+(i[v+752>>2]+(t+i[_+32>>2]|0)|0)|0,A=(A|0)<(k|0)?k:(A|0)>=57?57:A;e:{if(i[h+16848>>2]!=1)break e;A:{if((A|0)<30)break A;if(A>>>0>=43){A=A-6|0;break A}A=i[(A<<2)+45912>>2]}if((n|0)<30)break e;if(n>>>0>=43){n=n-6|0;break e}n=i[(n<<2)+45912>>2]}if(k=n+u|0,i[f+18544>>2]=(k|0)>0?k:0,k=A+u|0,i[f+18540>>2]=(k|0)>0?k:0,A=i[f+18588>>2],n=i[A+168>>2],k=e>>n,(k|0)<0||(h=i[A+172>>2],(h|0)<=(k|0)))break r;if(e=r>>n,(e|0)<0|i[A+176>>2]<=(e|0))break i;if(A=i[A+160>>2],r=(A+m(k,3)|0)+m(m(e,h),3)|0,r=(s[r|0]|s[r+1|0]<<8)&7,r=(r>>>0<=3?3:r)-n|0,(r|0)!=31)for(r=1<<r,n=r+e|0,u=r+k|0;;){for(_=(A+m(m(e,h),3)|0)+2|0,r=k;l[_+m(r,3)|0]=t,r=r+1|0,(u|0)>(r|0););if(e=e+1|0,!((n|0)>(e|0)))break}i[f+18520>>2]=t;return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function zh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=Y(0),I=Y(0),y=Y(0),E=Y(0),J=0,R=0,D=0,z=0,H=0,a=0,S=0;A=B+-64|0,B=A;i:{r:{e:{if((U0(i[r>>2],0)|0)!=8||(U0(i[r>>2],1)|0)!=8)break e;if((U0(i[r>>2],2)|0)==8)break r}i[f>>2]=0,i[f+4>>2]=0;break i}if(e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),k=i[e+4>>2],n=k+1|0,i[e+4>>2]=n,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,o=e- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,o=e+12|0,i[e+12>>2]=o,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=k,i[e+16>>2]=e,n||(V[i[i[e>>2]+8>>2]](e),g(e)),n=i[r>>2],w=i[n+24>>2],k=w,_=i[n+28>>2],n=_,i[o+36>>2]=10,i[o+32>>2]=1,i[o+28>>2]=n,i[o+24>>2]=k,J0(o,10,k,n,8)){if(k=i[r>>2],n=i[k+44>>2],k=i[k+48>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[A+52>>2]=-1086926434,i[A+56>>2]=1071829221,i[A+44>>2]=1068725436,i[A+48>>2]=-1095748968,l[A+40|0]=1,n&&(V6(A+20|0,Q[n+8>>1],Q[n+4>>1]),i[A+56>>2]=i[A+36>>2],n=i[A+32>>2],i[A+48>>2]=i[A+28>>2],i[A+52>>2]=n,n=i[A+24>>2],i[A+40>>2]=i[A+20>>2],i[A+44>>2]=n),C=Z0[A+56>>2],I=Z0[A+48>>2],y=Z0[A+52>>2],E=Z0[A+44>>2],n=0,i[A+20>>2]=0,i[A+16>>2]=0,i[A+12>>2]=0,i[A+8>>2]=0,J=v0(i[r>>2],0,A+20|0),R=v0(i[r>>2],1,A+16|0),r=i[r>>2],D=z8(Y(C*Y(256))),z=z8(Y(I*Y(256))),H=z8(Y(y*Y(256))),a=z8(Y(E*Y(256))),S=v0(r,2,A+12|0),v=v0(o,10,A+8|0),!((_|0)<=0|(w|0)<=0))for(;;){for(p=n>>>1|0,r=0;t=r>>>1|0,h=s[t+(m(i[A+16>>2],p)+R|0)|0],u=m(r,3),Z=s[(m(i[A+20>>2],n)+J|0)+r|0],W=s[t+(m(i[A+12>>2],p)+S|0)|0]-128|0,t=Z+(m(W,a)+128>>8)|0,l[u+(m(i[A+8>>2],n)+v|0)|0]=(t|0)>=0?t>>>0>=255?255:t:0,h=h-128|0,t=((m(h,z)+m(H,W)|0)+128>>8)+Z|0,l[(u+(m(i[A+8>>2],n)+v|0)|0)+1|0]=(t|0)>=0?t>>>0>=255?255:t:0,t=u+(m(i[A+8>>2],n)+v|0)|0,u=(m(h,D)+128>>8)+Z|0,l[t+2|0]=(u|0)>=0?u>>>0>=255?255:u:0,r=r+1|0,(w|0)!=(r|0););if(n=n+1|0,(_|0)==(n|0))break}if(i[f+4>>2]=e,i[f>>2]=o,!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k);break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A- -64|0}function Hh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0;t=B-32|0,B=t;i:{r:{e:{if(U0(i[r>>2],3)>>>0<9||U0(i[r>>2],4)>>>0<9)break e;if(U0(i[r>>2],5)>>>0>8)break r}i[f>>2]=0,i[f+4>>2]=0;break i}_=H2(i[r>>2],6),Z=s[k+8|0];r:{if(!_)break r;if(U0(i[r>>2],6)>>>0<=8){i[f>>2]=0,i[f+4>>2]=0;break i}if((y4(i[r>>2],6)|0)==(y4(i[r>>2],4)|0)&&(F4(i[r>>2],6)|0)==(F4(i[r>>2],4)|0))break r;i[f>>2]=0,i[f+4>>2]=0;break i}if(e=U0(i[r>>2],3),!e){i[f>>2]=0,i[f+4>>2]=0;break i}if(n=U(136),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=72792,B0(n+20|0,0,104),A=i[n+4>>2],k=A+1|0,i[n+4>>2]=k,i[n+56>>2]=0,i[n+60>>2]=0,i[n+44>>2]=99,i[n+48>>2]=99,i[n+32>>2]=3795,o=n- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[n+132>>2]=0,i[n+124>>2]=0,i[n+128>>2]=0,i[n+84>>2]=1,i[n+88>>2]=1,i[n+72>>2]=n+76,i[n+92>>2]=0,i[n+96>>2]=0,i[n+100>>2]=0,i[n+104>>2]=0,i[n+108>>2]=0,i[n+112>>2]=0,l[n+113|0]=0,l[n+114|0]=0,l[n+115|0]=0,l[n+116|0]=0,l[n+117|0]=0,l[n+118|0]=0,l[n+119|0]=0,l[n+120|0]=0,u=n+12|0,i[n+12>>2]=u,i[n+8>>2]=i[n+8>>2]+1,i[n+4>>2]=A,i[n+16>>2]=n,k||(V[i[i[n>>2]+8>>2]](n),g(n)),k=i[r>>2],p=i[k+24>>2],A=p,W=i[k+28>>2],k=W,C=_|Z,i[u+36>>2]=C&1?13:12,i[u+32>>2]=1,i[u+28>>2]=k,i[u+24>>2]=A,J0(u,10,A,k,e)){if(i[t+28>>2]=0,i[t+24>>2]=0,i[t+20>>2]=0,i[t+16>>2]=0,i[t+12>>2]=0,I=v0(i[r>>2],3,t+28|0),y=v0(i[r>>2],4,t+24|0),E=v0(i[r>>2],5,t+20|0),o=v0(u,10,t+12|0),_&&(J=v0(i[r>>2],6,t+16|0),R=i[t+16>>2]/2|0),i[t+28>>2]=i[t+28>>2]/2,i[t+24>>2]=i[t+24>>2]/2,i[t+20>>2]=i[t+20>>2]/2,!((W|0)<=0|(p|0)<=0))for(D=C&1?8:6,k=-1<<e^-1,Z=(k&65280)>>>8|0,r=0;;){for(z=m(r,R),w=0;e=w<<1,A=Q[(e+E|0)+(m(i[t+20>>2],r)<<1)>>1],v=Q[(e+y|0)+(m(i[t+24>>2],r)<<1)>>1],h=m(w,D),e=Q[(e+I|0)+(m(i[t+28>>2],r)<<1)>>1],l[h+(o+m(i[t+12>>2],r)|0)|0]=e>>>8,l[((o+m(i[t+12>>2],r)|0)+h|0)+1|0]=e,l[((o+m(i[t+12>>2],r)|0)+h|0)+2|0]=v>>>8,l[((o+m(i[t+12>>2],r)|0)+h|0)+3|0]=v,l[((o+m(i[t+12>>2],r)|0)+h|0)+4|0]=A>>>8,l[((o+m(i[t+12>>2],r)|0)+h|0)+5|0]=A,C&1&&(e=k,v=(o+m(i[t+12>>2],r)|0)+h|0,_?(e=Q[(w+z<<1)+J>>1],A=e>>>8|0):A=Z,l[v+6|0]=A,l[((o+m(i[t+12>>2],r)|0)+h|0)+7|0]=e),w=w+1|0,(p|0)!=(w|0););if(r=r+1|0,(W|0)==(r|0))break}i[f+4>>2]=n,i[f>>2]=u;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[n+4>>2],i[n+4>>2]=f-1,f)break i;V[i[i[n>>2]+8>>2]](n),g(n)}B=t+32|0}function Th(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;A=B-32|0,B=A,t=s[k+8|0],p=i[i[r>>2]+36>>2],e=U(136),i[e>>2]=72792,i[e+4>>2]=0,i[e+8>>2]=0,B0(e+20|0,0,104),k=i[e+4>>2],o=k+1|0,i[e+4>>2]=o,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,n=e- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,n=e+12|0,i[e+12>>2]=n,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=k,i[e+16>>2]=e,o||(V[i[i[e>>2]+8>>2]](e),g(e)),k=i[r>>2],u=i[k+24>>2],w=i[k+28>>2],k=w,i[n+36>>2]=3,i[n+32>>2]=1,i[n+28>>2]=k,i[n+24>>2]=u;i:{r:{if(!J0(n,3,u,k,8)||!J0(n,4,u,k,8)||!J0(n,5,u,k,8)||(h=t&1,h&&!J0(n,6,u,k,8)))break r;i[A+28>>2]=0,i[A+24>>2]=0,i[A+20>>2]=0,i[A+16>>2]=0,i[A+12>>2]=0,o=v0(i[r>>2],10,A+28|0),_=v0(n,3,A+24|0),v=v0(n,4,A+20|0),Z=v0(n,5,A+16|0),h&&(W=v0(n,6,A+12|0));e:{if((w|0)<=0|(u|0)<=0)break e;if(h=(p|0)==11?4:3,!(t&1)){for(r=0;;){for(k=0;t=m(k,h),l[(k+_|0)+m(i[A+24>>2],r)|0]=s[t+(o+m(i[A+28>>2],r)|0)|0],l[(k+v|0)+m(i[A+20>>2],r)|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+1|0],l[(k+Z|0)+m(i[A+16>>2],r)|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+2|0],k=k+1|0,(u|0)!=(k|0););if(r=r+1|0,(w|0)==(r|0))break}break e}if(r=0,(p|0)==11)for(;;){for(k=0;t=m(k,h),l[(k+_|0)+m(i[A+24>>2],r)|0]=s[t+(o+m(i[A+28>>2],r)|0)|0],l[(k+v|0)+m(i[A+20>>2],r)|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+1|0],l[(k+Z|0)+m(i[A+16>>2],r)|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+2|0],l[(m(i[A+12>>2],r)+k|0)+W|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+3|0],k=k+1|0,(u|0)!=(k|0););if(r=r+1|0,(w|0)==(r|0))break e}for(;;){for(k=0;t=m(k,h),l[(k+_|0)+m(i[A+24>>2],r)|0]=s[t+(o+m(i[A+28>>2],r)|0)|0],l[(k+v|0)+m(i[A+20>>2],r)|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+1|0],l[(k+Z|0)+m(i[A+16>>2],r)|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+2|0],l[(m(i[A+12>>2],r)+k|0)+W|0]=255,k=k+1|0,(u|0)!=(k|0););if(r=r+1|0,(w|0)==(r|0))break}}i[f+4>>2]=e,i[f>>2]=n;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A+32|0}function ah(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0,Z=0;if(u=B-48|0,B=u,o=i[e>>2],v=i[o+48>>2],_=i[o+52>>2],_&&(i[_+4>>2]=i[_+4>>2]+1),h=G2(A),h>>>0<2147483640){i:{r:{if(h>>>0>=11){w=(h|7)+1|0,o=U(w),i[u+20>>2]=w|-2147483648,i[u+12>>2]=o,i[u+16>>2]=h;break r}if(l[u+23|0]=h,o=u+12|0,!h)break i}l0(o,A,h)}l[o+h|0]=0,A=B+-64|0,B=A,i[u+28>>2]=0,i[u+32>>2]=0,i[u+44>>2]=0,i[u+36>>2]=0,i[u+40>>2]=0,D8(A+56|0,v,9980),w=i[A+56>>2],o=w,l[o+124|0]=1,i[o+52>>2]=i[o+52>>2]&-2|1;i:{if(h=G2(r),h>>>0<2147483640){r:{e:{if(h>>>0>=11){Z=(h|7)+1|0,o=U(Z),i[A+52>>2]=Z|-2147483648,i[A+44>>2]=o,i[A+48>>2]=h;break e}if(l[A+55|0]=h,o=A+44|0,!h)break r}l0(o,r,h)}l[o+h|0]=0,r=w+88|0;r:{if((r|0)==(A+44|0))break r;if(o=l[A+55|0],l[w+99|0]>=0){if((o|0)>=0){o=i[A+48>>2],i[r>>2]=i[A+44>>2],i[r+4>>2]=o,i[r+8>>2]=i[A+52>>2];break r}i4(r,i[A+44>>2],i[A+48>>2]);break r}w=r,r=(o|0)<0,_4(w,r?i[A+44>>2]:A+44|0,r?i[A+48>>2]:o)}l[A+55|0]<0&&G(i[A+44>>2]),i[u+24>>2]=i[i[A+56>>2]+56>>2];r:{if(l[u+23|0]>=0){i[A+16>>2]=i[u+20>>2],r=i[u+16>>2],i[A+8>>2]=i[u+12>>2],i[A+12>>2]=r;break r}_0(A+8|0,i[u+12>>2],i[u+16>>2])}o=A+8|0,r=B-32|0,B=r,i[r+8>>2]=0,i[r>>2]=0,i[r+4>>2]=0,n?(L2(r,n),w=i[r>>2]):w=0,l0(w,k,n),h=i[A+56>>2],k=h+100|0;r:{if((k|0)==(o|0))break r;if(n=l[o+11|0],l[h+111|0]>=0){if((n|0)>=0){n=i[o+4>>2],i[k>>2]=i[o>>2],i[k+4>>2]=n,i[k+8>>2]=i[o+8>>2];break r}i4(k,i[o>>2],i[o+4>>2]);break r}w=k,k=(n|0)<0,_4(w,k?i[o>>2]:o,k?i[o+4>>2]:n)}Wr(r+12|0,i[v+60>>2],i[i[A+56>>2]+56>>2],r,0),l[r+31|0]<0&&G(i[r+20>>2]),n=i[19565],k=A+24|0,i[k>>2]=i[19564],i[k+4>>2]=n,k=k+8|0;r:{if(l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break r}_0(k,i[19566],i[19567])}k=i[r>>2],k&&(i[r+4>>2]=k,G(k)),B=r+32|0,l[A+43|0]<0&&G(i[A+32>>2]),l[A+19|0]<0&&G(i[A+8>>2]),r=i[A+60>>2];r:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break r;V[i[i[r>>2]+8>>2]](r),g(r)}B=A- -64|0;break i}c2(),P()}l[u+23|0]<0&&G(i[u+12>>2]);i:{if(!_||(r=i[_+4>>2],i[_+4>>2]=r-1,r))break i;V[i[i[_>>2]+8>>2]](_),g(_)}i:{if(!(i[u+28>>2]|!t)){i[t>>2]=i[u+24>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;break i}P0(f,u+28|0,i[e>>2])}l[u+47|0]<0&&G(i[u+36>>2]),B=u+48|0;return}c2(),P()}function Sh(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;k=B-32|0,B=k,n=hr()|0;i:{if(!e){i[f+4>>2]=n,i[f>>2]=95844;break i}IA(k+4|0,e,k+16|0,r,A,0);r:{if(!i[k+4>>2]){for(A=H4(11237)|0,o=i[k+16>>2],i[k+24>>2]=o,r=j1(73912,k+24|0)|0,g4(n|0,A|0,r|0),r>>>0>=9&&t1(r|0),A>>>0>=9&&t1(A|0),r=i[e>>2],r?r=i[r+24>>2]:r=0,A=H4(8425)|0,i[k+24>>2]=r,r=j1(67596,k+24|0)|0,g4(n|0,A|0,r|0),r>>>0>=9&&t1(r|0),A>>>0>=9&&t1(A|0),e=i[e>>2],e?_=i[e+28>>2]:_=0,r=H4(3313)|0,i[k+24>>2]=_,e=j1(67596,k+24|0)|0,g4(n|0,r|0,e|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),e=i[i[o>>2]+36>>2],r=H4(14612)|0,i[k+24>>2]=e,e=j1(73896,k+24|0)|0,g4(n|0,r|0,e|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),e=i[i[o>>2]+32>>2],r=H4(11509)|0,i[k+24>>2]=e,e=j1(73888,k+24|0)|0,g4(n|0,r|0,e|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),v=U(32),r=v,e=i[9348],i[r>>2]=i[9347],i[r+4>>2]=e,e=i[9354],i[r+24>>2]=i[9353],i[r+28>>2]=e,e=i[9352],i[r+16>>2]=i[9351],i[r+20>>2]=e,e=i[9350],i[r+8>>2]=i[9349],i[r+12>>2]=e,w=d5()|0,A=0;;){h=i[A+v>>2];e:{if(!H2(i[o>>2],h))break e;t=hr()|0,r=H4(11843)|0,i[k+24>>2]=h,e=j1(73928,k+24|0)|0,g4(t|0,r|0,e|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),e=i[o>>2];A:{if(!e){i[k>>2]=0,e=0;break A}e=v0(e,h,k)}u=H4(11376)|0,i[k+24>>2]=i[k>>2],r=j1(67596,k+24|0)|0,g4(t|0,u|0,r|0),r>>>0>=9&&t1(r|0),u>>>0>=9&&t1(u|0),r=i[k>>2],i[k+28>>2]=e,i[k+24>>2]=m(r,_),r=j1(73936,k+24|0)|0,e=H4(14587)|0,g4(t|0,e|0,r|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),e=y4(i[o>>2],h),r=H4(8425)|0,i[k+24>>2]=e,e=j1(67596,k+24|0)|0,g4(t|0,r|0,e|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),e=F4(i[o>>2],h),r=H4(3313)|0,i[k+24>>2]=e,e=j1(67596,k+24|0)|0,g4(t|0,r|0,e|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),u=t>>>0<9,u||Js(t|0),i[k+24>>2]=t,i[k+20>>2]=0;A:{if(l[78356]&1){r=i[19588];break A}r=Ys(2,73944,0)|0,l[78356]=1,i[19588]=r}if(+Es(r|0,w|0,8431,k+20|0,k+24|0),e=i[k+20>>2],e&&Fs(e|0),u)break e;t1(t|0)}if(A=A+4|0,(A|0)==32)break}break r}if(r=U(12),i[r+8>>2]=i[k+12>>2],e=i[k+8>>2],i[r>>2]=i[k+4>>2],i[r+4>>2]=e,i[k+24>>2]=r,Z=f,p=j1(73788,k+24|0)|0,i[Z+4>>2]=p,i[f>>2]=95844,n>>>0<9)break i;t1(n|0);break i}e=H4(4034)|0,g4(n|0,e|0,w|0),e>>>0>=9&&t1(e|0),i[f+4>>2]=n,i[f>>2]=95844,w>>>0>=9&&t1(w|0),G(v)}B=k+32|0}function Hk(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;i:{r:{e:{A:switch(e-f>>3){case 2:if(i[e-4>>2]<=i[f+4>>2])break e;return A=i[f>>2],r=i[f+4>>2],k=e-8|0,e=i[k+4>>2],i[f>>2]=i[k>>2],i[f+4>>2]=e,i[k>>2]=A,i[k+4>>2]=r,1;case 3:if(n=e-8|0,k=e-4|0,A=i[k>>2],r=i[f+12>>2],(r|0)<=i[f+4>>2]){if((r|0)>=(A|0)||(A=i[f+8>>2],r=i[f+12>>2],e=i[n+4>>2],i[f+8>>2]=i[n>>2],i[f+12>>2]=e,i[n>>2]=A,i[n+4>>2]=r,i[f+12>>2]<=i[f+4>>2]))break e;e=i[f+8>>2],r=i[f+12>>2];break r}if(e=i[f>>2],t=i[f+4>>2],(r|0)<(A|0)){r=i[n+4>>2],i[f>>2]=i[n>>2],i[f+4>>2]=r;break i}if(A=i[f+8>>2],r=i[f+12>>2],i[f+8>>2]=e,i[f+12>>2]=t,i[f>>2]=A,i[f+4>>2]=r,(t|0)>=i[k>>2])break e;r=i[n+4>>2],i[f+8>>2]=i[n>>2],i[f+12>>2]=r;break i;case 4:return Tr(f,f+8|0,f+16|0,e-8|0),1;case 5:if(Tr(f,f+8|0,f+16|0,f+24|0),i[e-4>>2]<=i[f+28>>2]||(A=i[f+24>>2],r=i[f+28>>2],k=e-8|0,e=i[k+4>>2],i[f+24>>2]=i[k>>2],i[f+28>>2]=e,i[k>>2]=A,i[k+4>>2]=r,i[f+28>>2]<=i[f+20>>2])||(e=i[f+24>>2],r=i[f+28>>2],A=i[f+20>>2],i[f+24>>2]=i[f+16>>2],i[f+28>>2]=A,i[f+16>>2]=e,i[f+20>>2]=r,(r|0)<=i[f+12>>2])||(A=i[f+12>>2],i[f+16>>2]=i[f+8>>2],i[f+20>>2]=A,i[f+8>>2]=e,i[f+12>>2]=r,(r|0)<=i[f+4>>2]))break e;break r;case 0:case 1:break e;default:break A}t=i[f+20>>2],A=i[f+12>>2],k=i[f+4>>2];A:{if((A|0)<=(k|0)){if((A|0)>=(t|0)||(r=i[f+16>>2],t=i[f+20>>2],A=i[f+12>>2],i[f+16>>2]=i[f+8>>2],i[f+20>>2]=A,i[f+8>>2]=r,i[f+12>>2]=t,(k|0)>=(t|0)))break A;A=i[f+4>>2],i[f+8>>2]=i[f>>2],i[f+12>>2]=A,i[f>>2]=r,i[f+4>>2]=t;break A}if(r=i[f>>2],n=i[f+4>>2],(A|0)<(t|0)){k=i[f+16>>2],A=i[f+20>>2],i[f+16>>2]=r,i[f+20>>2]=n,i[f>>2]=k,i[f+4>>2]=A;break A}if(k=i[f+8>>2],A=i[f+12>>2],i[f+8>>2]=r,i[f+12>>2]=n,i[f>>2]=k,i[f+4>>2]=A,(n|0)>=(t|0))break A;k=i[f+16>>2],A=i[f+20>>2],i[f+16>>2]=r,i[f+20>>2]=n,i[f+8>>2]=k,i[f+12>>2]=A}if(k=f+24|0,(k|0)==(e|0))break e;for(A=f+16|0;;){A:{if(i[k+4>>2]<=i[A+4>>2])break A;for(u=i[k>>2],n=i[k+4>>2],r=k;;){f:{if(t=r,r=A,A=i[r+4>>2],i[t>>2]=i[r>>2],i[t+4>>2]=A,(f|0)==(r|0))break f;if(A=r-8|0,i[r-4>>2]<(n|0))continue}break}if(i[r>>2]=u,i[r+4>>2]=n,o=o+1|0,(o|0)!=8)break A;return(k+8|0)==(e|0)}if(A=k,k=k+8|0,(k|0)==(e|0))break}}return 1}return A=i[f+4>>2],i[f+8>>2]=i[f>>2],i[f+12>>2]=A,i[f>>2]=e,i[f+4>>2]=r,1}return i[n>>2]=e,i[n+4>>2]=t,1}function Vr(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;A=e-1|0,r=A,o=(A|0)/2|0,A=e+65535>>>0<131073,o=A?r:o,k=i[f+72>>2],t=k>>31,e=A?2:1,n=i[f+76>>2];i:{if((e|0)==(n|0)){if(r=(o>>31)+t|0,n=k+o|0,r=n>>>0<o>>>0?r+1|0:r,(r-(n>>>0<2147483648)|0)==-1)break i;e=r>>31,o=e,e=n+(e|1)|0,r=r+o|0,n=o2(e,e>>>0<n>>>0?r+1|0:r,2,0),e=1;break i}if(e=n,u=e>>31,n=q0(e,u,o,o>>31),h=w0,w=n,r=k,n=A&31,(A&63)>>>0>=32?(o=r<<n,k=0):(o=(1<<n)-1&r>>>32-n|t<<n,k=r<<n),n=w+k|0,r=o+h|0,r=k>>>0>n>>>0?r+1|0:r,t=r,h=(r-(n>>>0<2147483648)|0)==-1,o=e,k=A&31,(A&63)>>>0>=32?(r=e<<k,A=0):(r=(1<<k)-1&o>>>32-k|u<<k,A=o<<k),k=r,!((r-(A>>>0<2147483648)|0)==-1&h))for(;e=k>>31,r=e,e=A+(r|1)|0,r=r+k|0,A=o2(e,e>>>0<A>>>0?r+1|0:r,2,0),k=w0,u=k-(A>>>0<2147483648)|0,e=t>>31,o=e,e=n+(e|1)|0,r=t+o|0,n=o2(e,e>>>0<n>>>0?r+1|0:r,2,0),e=w0,t=e,(e-(n>>>0<2147483648)&u)!=-1;);e=A}if(k=i[f+56>>2],f=i[f+60>>2],A=k-f|0,t=f>>31,k=(k>>31)-(t+(f>>>0>k>>>0)|0)|0,r=k-(A>>>0<2147483648)|0,(r|0)==-2|r>>>0<4294967294){for(;r=t>>31,u=f+(r|1)|0,r=t+r|0,f=o2(u,f>>>0>u>>>0?r+1|0:r,2,0),t=w0,r=k>>31,u=A+(r|1)|0,r=k+r|0,A=o2(u,A>>>0>u>>>0?r+1|0:r,2,0),k=w0,(k-(A>>>0<2147483648)|0)!=-1;);t=f>>31}if(r=t<<1|f>>>31,f=f<<1,t=r,r=r-(f>>>0<2147483648)|0,(r|0)==-2|r>>>0<4294967294)for(;r=k>>31,u=A+(r|1)|0,o=r+k|0,A=o2(u,A>>>0>u>>>0?o+1|0:o,2,0),k=w0,r=t>>31,u=f+(r|1)|0,r=r+t|0,f=o2(u,f>>>0>u>>>0?r+1|0:r,2,0),t=w0,(t-(f>>>0<2147483648)|0)!=-1;);k=n>>31;i:{if((f|0)==(e|0)){if(k=k-((A>>31)+(A>>>0>n>>>0)|0)|0,A=n-A|0,(k-(A>>>0<2147483648)|0)==-1)break i;for(f=e,t=e>>31;e=t>>31,r=e,e=f+(r|1)|0,r=r+t|0,f=o2(e,f>>>0>e>>>0?r+1|0:r,2,0),t=w0,e=k>>31,r=e,e=A+(r|1)|0,r=r+k|0,A=o2(e,e>>>0<A>>>0?r+1|0:r,2,0),e=w0,k=e,(e-(A>>>0<2147483648)|0)!=-1;);e=f;break i}if(k=q0(f,t,n,k),n=w0,r=e>>31,u=q0(e,r,A,A>>31),A=k-u|0,k=n-(w0+(k>>>0<u>>>0)|0)|0,f=q0(f,t,e,r),e=w0,t=e,(k-(A>>>0<2147483648)&e-(f>>>0<2147483648))!=-1)for(;e=t>>31,n=e,e=f+(e|1)|0,r=n+t|0,f=o2(e,f>>>0>e>>>0?r+1|0:r,2,0),t=w0,n=t-(f>>>0<2147483648)|0,e=k>>31,o=e,e=A+(e|1)|0,r=k+o|0,A=o2(e,e>>>0<A>>>0?r+1|0:r,2,0),e=w0,k=e,(e-(A>>>0<2147483648)&n)!=-1;);e=f}return f=A,A=(e|0)/2|0,f=f+A|0,r=(A>>31)+k|0,o2(f,f>>>0<A>>>0?r+1|0:r,e,e>>31)}function L4(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{r:switch(r|0){case 1:for(r=0,k=i[i[11334]+12>>2];n=k+(r<<1)|0,l[((s[n+1|0]<<3)+f|0)+s[n|0]|0]=s[e+r|0],n=r|1,o=k+(n<<1)|0,l[((s[o+1|0]<<3)+f|0)+s[o|0]|0]=s[e+n|0],r=r+2|0,(r|0)!=64;);break i;case 2:for(n=f+1|0,o=i[i[11334]+12>>2];r=o+(k<<1)|0,t=e+k|0,u=s[t|0],l[((s[r|0]<<1)+f|0)+(s[r+1|0]<<5)|0]=u,l[(n+(s[r|0]<<1)|0)+(s[r+1|0]<<5)|0]=u,t=s[t|0],l[(((s[r|0]<<1)+f|0)+(s[r+1|0]<<5)|0)+16|0]=t,l[((n+(s[r|0]<<1)|0)+(s[r+1|0]<<5)|0)+16|0]=t,k=k+1|0,(k|0)!=64;);break i;case 3:for(n=f+3|0,o=f+2|0,t=f+1|0,h=i[i[11334]+12>>2];r=(u<<1)+h|0,k=e+u|0,A=s[k|0],l[((s[r|0]<<2)+f|0)+(s[r+1|0]<<7)|0]=A,l[(t+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0]=A,A=s[k|0],l[(o+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0]=A,l[(n+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0]=A,A=s[k|0],l[(((s[r|0]<<2)+f|0)+(s[r+1|0]<<7)|0)+32|0]=A,l[((t+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+32|0]=A,A=s[k|0],l[((o+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+32|0]=A,l[((n+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+32|0]=A,A=s[k|0],l[(((s[r|0]<<2)+f|0)+(s[r+1|0]<<7)|0)+64|0]=A,l[((t+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+64|0]=A,A=s[k|0],l[((o+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+64|0]=A,l[((n+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+64|0]=A,A=s[k|0],l[(((s[r|0]<<2)+f|0)+(s[r+1|0]<<7)|0)+96|0]=A,l[((t+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+96|0]=A,k=s[k|0],l[((o+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+96|0]=k,l[((n+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+96|0]=k,u=u+1|0,(u|0)!=64;);break i;default:C0(17356,13927,865,4924),P();case 0:break r}r=i[i[11334]+8>>2],l[((s[r+1|0]<<2)+f|0)+s[r|0]|0]=s[e|0],l[s[r+2|0]+((s[r+3|0]<<2)+f|0)|0]=s[e+1|0],l[s[r+4|0]+((s[r+5|0]<<2)+f|0)|0]=s[e+2|0],l[s[r+6|0]+((s[r+7|0]<<2)+f|0)|0]=s[e+3|0],l[s[r+8|0]+((s[r+9|0]<<2)+f|0)|0]=s[e+4|0],l[s[r+10|0]+((s[r+11|0]<<2)+f|0)|0]=s[e+5|0],l[s[r+12|0]+((s[r+13|0]<<2)+f|0)|0]=s[e+6|0],l[s[r+14|0]+((s[r+15|0]<<2)+f|0)|0]=s[e+7|0],l[s[r+16|0]+((s[r+17|0]<<2)+f|0)|0]=s[e+8|0],l[s[r+18|0]+((s[r+19|0]<<2)+f|0)|0]=s[e+9|0],l[s[r+20|0]+((s[r+21|0]<<2)+f|0)|0]=s[e+10|0],l[s[r+22|0]+((s[r+23|0]<<2)+f|0)|0]=s[e+11|0],l[s[r+24|0]+((s[r+25|0]<<2)+f|0)|0]=s[e+12|0],l[s[r+26|0]+((s[r+27|0]<<2)+f|0)|0]=s[e+13|0],l[s[r+28|0]+((s[r+29|0]<<2)+f|0)|0]=s[e+14|0],l[s[r+30|0]+((s[r+31|0]<<2)+f|0)|0]=s[e+15|0]}}function Oh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;k=B-16|0,B=k,o=D0(r),u=D0(r),h=D0(r),_=D0(r),A=D0(r),n=D0(r),w=D0(r),t=D0(r);i:{if((t|(o|u|h|_|n))<0){if(e=U(32),i[k>>2]=e,i[k+4>>2]=31,i[k+8>>2]=-2147483616,r=s[17877]|s[17878]<<8|(s[17879]<<16|s[17880]<<24),A=s[17873]|s[17874]<<8|(s[17875]<<16|s[17876]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+31|0]=0,r=s[17900]|s[17901]<<8|(s[17902]<<16|s[17903]<<24),A=s[17896]|s[17897]<<8|(s[17898]<<16|s[17899]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,l[e+27|0]=r,l[e+28|0]=r>>>8,l[e+29|0]=r>>>16,l[e+30|0]=r>>>24,r=s[17893]|s[17894]<<8|(s[17895]<<16|s[17896]<<24),A=s[17889]|s[17890]<<8|(s[17891]<<16|s[17892]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[17885]|s[17886]<<8|(s[17887]<<16|s[17888]<<24),A=s[17881]|s[17882]<<8|(s[17883]<<16|s[17884]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,128,k),l[k+11|0]>=0)break i;G(i[k>>2]);break i}if(u=p9(k,o,u),o=i[u>>2],u=i[u+4>>2],i[e+48>>2]=o,i[e+52>>2]=u,h=p9(k,h,_),o=i[h>>2],h=i[h+4>>2],i[e+56>>2]=o,i[e+60>>2]=h,n-65537>>>0<4294836223)for(;A=(A|0)/2|0,n=(n|0)/2|0,n-65537>>>0<4294836223;);r:{if((n|0)<=1)break r;for(;;){if(A-65537>>>0>4294836222)break r;if(A=(A|0)/2|0,o=n>>>0>3,n=n>>>1|0,!o)break}}if(i[e+64>>2]=A,i[e+68>>2]=n,t-65537>>>0<4294836223)for(;w=(w|0)/2|0,t=(t|0)/2|0,t-65537>>>0<4294836223;);r:{if((t|0)<=1){A=t;break r}for(;;){if(w-65537>>>0>4294836222){A=t;break r}if(w=(w|0)/2|0,o=t>>>0>3,A=t>>>1|0,t=A,!o)break}}i[e+72>>2]=w,i[e+76>>2]=A;r:{if(!(!n|(!u|!h))&&A)break r;if(e=f,f=C1(k,31341),r0(e,2,128,f),l[f+11|0]>=0)break i;G(i[f>>2]);break i}e=B-16|0,B=e;r:{if(s[r+20|0]==1){if(l[e+4|0]=0,l[e+15|0]=0,r0(f,2,100,e+4|0),l[e+15|0]>=0)break r;G(i[e+4>>2]);break r}if(r=i[19565],i[f>>2]=i[19564],i[f+4>>2]=r,f=f+8|0,l[78275]>=0){r=i[19567],i[f>>2]=i[19566],i[f+4>>2]=r,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567])}B=e+16|0}B=k+16|0}function jh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;A=B-16|0,B=A,e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),k=i[e+4>>2],n=k+1|0,i[e+4>>2]=n,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,o=e- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,o=e+12|0,i[e+12>>2]=o,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=k,i[e+16>>2]=e,n||(V[i[i[e>>2]+8>>2]](e),g(e)),k=i[r>>2],n=i[k+24>>2],u=i[k+28>>2],t=i[k+32>>2],i[o+36>>2]=i[k+36>>2],i[o+32>>2]=t,i[o+28>>2]=u,i[o+24>>2]=n;i:{r:{for(;;){n=i[p+41232>>2];e:{if(!H2(i[r>>2],n))break e;if(t=U0(i[r>>2],n),t>>>0>=9){if(h=y4(i[r>>2],n),w=F4(i[r>>2],n),!J0(o,n,h,w,8))break r;if(_=v0(i[r>>2],n,A+12|0),i[A+12>>2]=i[A+12>>2]/2,v=v0(o,n,A+8|0),(w|0)<=0|(h|0)<=0)break e;for(t=t-8|0,W=h&2147483646,C=h&1,n=0;;){if(k=0,u=0,(h|0)!=1)for(;l[(v+m(i[A+8>>2],n)|0)+k|0]=Q[(_+(m(i[A+12>>2],n)<<1)|0)+(k<<1)>>1]>>>t,Z=k|1,l[Z+(v+m(i[A+8>>2],n)|0)|0]=Q[(_+(m(i[A+12>>2],n)<<1)|0)+(Z<<1)>>1]>>>t,k=k+2|0,u=u+2|0,(W|0)!=(u|0););if(C&&(l[(v+m(i[A+8>>2],n)|0)+k|0]=Q[(_+(m(i[A+12>>2],n)<<1)|0)+(k<<1)>>1]>>>t),n=n+1|0,(w|0)==(n|0))break}break e}if((t|0)!=8){if(h=y4(i[r>>2],n),v=F4(i[r>>2],n),!J0(o,n,h,v,8))break r;if(u=1<<16-t,k=(u&65534)>>>t|0,k)for(;u=k|u,k=k>>>t|0,!!k;);if(t=v0(i[r>>2],n,A+12|0),_=v0(o,n,A+8|0),(v|0)<=0|(h|0)<=0)break e;for(W=h&2147483646,C=h&1,n=0;;){if(k=0,w=0,(h|0)!=1)for(;l[(_+m(i[A+8>>2],n)|0)+k|0]=m(s[(t+m(i[A+12>>2],n)|0)+k|0],u)>>>8,Z=k|1,l[Z+(_+m(i[A+8>>2],n)|0)|0]=m(s[Z+(t+m(i[A+12>>2],n)|0)|0],u)>>>8,k=k+2|0,w=w+2|0,(W|0)!=(w|0););if(C&&(l[(_+m(i[A+8>>2],n)|0)+k|0]=m(s[(t+m(i[A+12>>2],n)|0)+k|0],u)>>>8),n=n+1|0,(v|0)==(n|0))break}break e}U8(o,r,n,n)}if(p=p+4|0,(p|0)==28)break}i[f+4>>2]=e,i[f>>2]=o;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A+16|0}function Ph(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;o=B-16|0,B=o;i:{r:{if((G2(r)|0)!=4){e=i[18420],i[f>>2]=i[18419],i[f+4>>2]=e,i[f+8>>2]=i[18421];break r}Z=s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24),i[o+12>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,n=A,w=k+n|0,u=w;e:{if((k|0)<=0)break e;if(r=i[o+12>>2],h=i[o+8>>2],(r-h|0)>=(k|0)){A:{if((k|0)<=(h|0)){r=h;break A}if(w=n+h|0,r=u-w|0,(u|0)!=(w|0)&&F2(h,w,r),r=r+h|0,i[o+8>>2]=r,(h|0)<=0)break e}t=r,A=r-k|0;A:{if(h>>>0<=A>>>0)break A;if(_=k+h|0,u=_-r&7,u)for(;l[t|0]=s[A|0],t=t+1|0,A=A+1|0,v=v+1|0,(u|0)!=(v|0););if(r-_>>>0>=4294967289)break A;for(;l[t|0]=s[A|0],l[t+1|0]=s[A+1|0],l[t+2|0]=s[A+2|0],l[t+3|0]=s[A+3|0],l[t+4|0]=s[A+4|0],l[t+5|0]=s[A+5|0],l[t+6|0]=s[A+6|0],l[t+7|0]=s[A+7|0],t=t+8|0,A=A+8|0,(h|0)!=(A|0););}if(i[o+8>>2]=t,(r|0)!=(k|0)&&(A=r,r=r-k|0,F2(A-r|0,0,r)),(n|0)==(w|0))break e;F2(0,n,w-n|0);break e}if(w=i[o+4>>2],u=(h-w|0)+k|0,(u|0)>=0){t=0-w|0,A=r-w|0,r=A<<1,_=A>>>0>=1073741823?2147483647:r>>>0>u>>>0?r:u,_?u=U(_):u=0,r=l0(t+u|0,n,k);A:{if(!w){A=r;break A}n=t&3;f:{if(!n){A=r,t=0;break f}for(A=r,t=0;A=A-1|0,t=t-1|0,l[A|0]=s[t|0],v=v+1|0,(n|0)!=(v|0););}if(w>>>0<=4294967292)for(;l[A-1|0]=s[t-1|0],l[A-2|0]=s[t-2|0],l[A-3|0]=s[t-3|0],A=A-4|0,t=t-4|0,l[A|0]=s[t|0],(t|0)!=(w|0););h=i[o+8>>2]}r=r+k|0,h&&F2(r,0,h),i[o+12>>2]=u+_,i[o+8>>2]=r+h,r=i[o+4>>2],i[o+4>>2]=A,r&&G(r);break e}y0(),P()}if(n=U(32),i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+16>>2]=Z<<24|(Z&65280)<<8|(Z>>>8&65280|Z>>>24),i[n+12>>2]=72952,i[n>>2]=73092,i[n+4>>2]=0,i[n+8>>2]=0,r=i[o+8>>2],k=i[o+4>>2],(r|0)!=(k|0)){if(u=r-k|0,(u|0)<0)break i;A=U(u),i[n+20>>2]=A,r=A+u|0,i[n+28>>2]=r,l0(A,k,u),i[n+24>>2]=r}e=i[e>>2],i[n+4>>2]=i[n+4>>2]+2,i[e+52>>2]=n+12,r=i[e+56>>2],i[e+56>>2]=n;e:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=i[n+4>>2],i[n+4>>2]=e-1,e||(V[i[i[n>>2]+8>>2]](n),g(n)),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[n+4>>2],i[n+4>>2]=f-1,f||(V[i[i[n>>2]+8>>2]](n),g(n)),f=i[o+4>>2],!f)break r;i[o+8>>2]=f,G(f)}B=o+16|0;return}y0(),P()}function f1(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;if(o=B-16|0,B=o,i[f+4>>2]=i[f+4>>2]+1,r=B-16|0,B=r,i[r+12>>2]=f,i[o+12>>2]=i[r+12>>2],B=r+16|0,r=i[25004],i[25005]-r>>2>>>0<=e>>>0)i:{if(f=e+1|0,A=i[25005],r=A-r>>2,f>>>0>r>>>0){u=B-32|0,B=u,t=f-r|0;r:{if(t>>>0<=i[25006]-A>>2>>>0){J9(t);break r}A=u+12|0,r=B-16|0,B=r,k=t+(i[25005]-i[25004]>>2)|0,i[r+12>>2]=k;e:{if(f=L9(),k>>>0<=f>>>0){k=i[25006]-i[25004]>>2,k>>>0<f>>>1>>>0&&(i[r+8>>2]=k<<1,f=B-16|0,B=f,B=f+16|0,f=r+12|0,k=r+8|0,f=i[(k0[k>>2]<k0[f>>2]?f:k)>>2]),B=r+16|0,r=f;break e}o4(),P()}for(n=i[25005]-i[25004]>>2,f=0,k=B-16|0,B=k,i[k+12>>2]=0,i[A+12>>2]=0,i[A+16>>2]=100028,r?(ut(k+4|0,i[A+16>>2],r),f=i[k+4>>2],r=i[k+8>>2]):r=0,i[A>>2]=f,n=(n<<2)+f|0,i[A+8>>2]=n,i[A+4>>2]=n,i[A+12>>2]=(r<<2)+f,B=k+16|0,r=B-16|0,B=r,f=i[A+8>>2],i[r+12>>2]=A+8,i[r+4>>2]=f,i[r+8>>2]=f+(t<<2),f=i[r+4>>2];;){if(i[r+8>>2]!=(f|0)){i[i[r+4>>2]>>2]=0,f=i[r+4>>2]+4|0,i[r+4>>2]=f;continue}break}for(i[i[r+12>>2]>>2]=i[r+4>>2],B=r+16|0,k=B-16|0,B=k,i[k+8>>2]=i[25005],i[k+4>>2]=i[25004],i[k>>2]=i[A+4>>2],n=i[k+4>>2],h=i[k>>2],t=B-16|0,B=t,f=B-32|0,B=f,r=B-16|0,B=r,i[r+12>>2]=i[k+8>>2],i[r+8>>2]=n,i[f+24>>2]=i[r+12>>2],i[f+28>>2]=i[r+8>>2],B=r+16|0,n=i[f+24>>2],r=B-16|0,B=r,i[r+8>>2]=i[f+28>>2],i[r+12>>2]=n,i[r+4>>2]=h;;){if(n=i[r+12>>2],(n|0)!=i[r+8>>2]){i[i[r+4>>2]-4>>2]=i[n-4>>2],i[r+12>>2]=i[r+12>>2]-4,i[r+4>>2]=i[r+4>>2]-4;continue}break}for(i[f+16>>2]=i[r+12>>2],i[f+20>>2]=i[r+4>>2],B=r+16|0,i[f+12>>2]=i[f+16>>2],i[f+8>>2]=i[f+20>>2],i[t+8>>2]=i[f+12>>2],i[t+12>>2]=i[f+8>>2],B=f+32|0,B=t+16|0,i[k+12>>2]=i[t+12>>2],i[A+4>>2]=i[k+12>>2],f=i[25004],i[25004]=i[A+4>>2],i[A+4>>2]=f,f=i[25005],i[25005]=i[A+8>>2],i[A+8>>2]=f,f=i[25006],i[25006]=i[A+12>>2],i[A+12>>2]=f,i[A>>2]=i[A+4>>2],B=k+16|0,f=i[A+4>>2];;){if(r=i[A+8>>2],(r|0)!=(f|0)){i[A+8>>2]=r-4;continue}break}f=i[A>>2],f&&Mt(i[A+16>>2],f)}B=u+32|0;break i}f>>>0<r>>>0&&xt(100016,i[25004]+(f<<2)|0)}f=i[i[25004]+(e<<2)>>2],f&&(r=i[f+4>>2]-1|0,i[f+4>>2]=r,(r|0)==-1&&V[i[i[f>>2]+8>>2]](f)),f=i[o+12>>2],i[o+12>>2]=0,i[i[25004]+(e<<2)>>2]=f,f=i[o+12>>2],i[o+12>>2]=0,f&&(e=i[f+4>>2]-1|0,i[f+4>>2]=e,(e|0)==-1&&V[i[i[f>>2]+8>>2]](f)),B=o+16|0}function VA(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(t=B-16|0,B=t,i[t+12>>2]=0,i[t+4>>2]=0,i[t+8>>2]=0,n=f+28|0,k=i[f+28>>2],A=i[f+32>>2],(k|0)==(A|0))f=0;else{for(;;){if(f=i[k>>2],(f|0)!=i[e>>2]){i:{if(k0[t+12>>2]>r>>>0){i[r>>2]=f,f=i[k+4>>2],i[r+4>>2]=f,f&&(i[f+4>>2]=i[f+4>>2]+1),r=r+8|0;break i}r=Q2(t+4|0,k)}i[t+8>>2]=r}if(k=k+8|0,(A|0)==(k|0))break}f=i[t+4>>2]}if((t+4|0)!=(n|0)){k=r,o=r-f>>3;i:{if(A=i[n+8>>2],r=i[n>>2],o>>>0<=A-r>>3>>>0){if(e=i[n+4>>2],A=e-r|0,o>>>0>A>>3>>>0){if(A=f+A|0,(e|0)!=(r|0)){for(;;){e=i[f>>2],o=i[f+4>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),i[r>>2]=e,e=i[r+4>>2],i[r+4>>2]=o;r:{if(!e||(o=i[e+4>>2],i[e+4>>2]=o-1,o))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r+8|0,f=f+8|0,(A|0)==(f|0))break}e=i[n+4>>2]}if(f=e,(A|0)!=(k|0))for(;i[f>>2]=i[A>>2],r=i[A+4>>2],i[f+4>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),f=f+8|0,A=A+8|0,(k|0)!=(A|0););i[n+4>>2]=(f-e|0)+e;break i}if((f|0)!=(k|0)){for(;;){e=i[f>>2],A=i[f+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r>>2]=e,e=i[r+4>>2],i[r+4>>2]=A;r:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r+8|0,f=f+8|0,(k|0)==(f|0))break}e=i[n+4>>2]}if((e|0)!=(r|0))for(;;){f=i[e-4>>2];r:{if(!f||(k=i[f+4>>2],i[f+4>>2]=k-1,k))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(r|0)==(e|0))break}i[n+4>>2]=r;break i}if(r){if(e=r,A=i[n+4>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];r:{if(!e||(u=i[e+4>>2],i[e+4>>2]=u-1,u))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(A|0)==(r|0))break}e=i[n>>2]}i[n+4>>2]=r,G(e),i[n+8>>2]=0,i[n>>2]=0,i[n+4>>2]=0,A=0}r:{if(o>>>0>=536870912||(e=A>>2,e=A>>>0>=2147483640?536870911:e>>>0>o>>>0?e:o,e>>>0>=536870912))break r;if(e=e<<3,r=U(e),i[n+4>>2]=r,i[n>>2]=r,i[n+8>>2]=e+r,(f|0)!=(k|0))for(;i[r>>2]=i[f>>2],e=i[f+4>>2],i[r+4>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),r=r+8|0,f=f+8|0,(k|0)!=(f|0););i[n+4>>2]=r;break i}y0(),P()}f=i[t+4>>2]}if(f){if(r=f,k=i[t+8>>2],(r|0)!=(k|0)){for(;;){e=i[k-4>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(k=k-8|0,(k|0)==(f|0))break}r=i[t+4>>2]}i[t+8>>2]=f,G(r)}B=t+16|0}function Ir(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;k=e-1|0,r=k,o=(k|0)/2|0,k=e+65535>>>0<131073,o=k?r:o,A=i[f+64>>2],t=A>>31,e=k?2:1,n=i[f+68>>2];i:{if((e|0)==(n|0)){if(r=(o>>31)+t|0,n=A+o|0,r=n>>>0<o>>>0?r+1|0:r,(r-(n>>>0<2147483648)|0)==-1)break i;e=r>>31,o=e,e=n+(e|1)|0,r=r+o|0,n=o2(e,e>>>0<n>>>0?r+1|0:r,2,0),e=1;break i}if(e=n,u=e>>31,n=q0(e,u,o,o>>31),h=w0,w=n,r=A,n=k&31,(k&63)>>>0>=32?(o=r<<n,A=0):(o=(1<<n)-1&r>>>32-n|t<<n,A=r<<n),n=w+A|0,r=o+h|0,r=A>>>0>n>>>0?r+1|0:r,t=r,h=(r-(n>>>0<2147483648)|0)==-1,o=e,A=k&31,(k&63)>>>0>=32?(r=e<<A,k=0):(r=(1<<A)-1&o>>>32-A|u<<A,k=o<<A),A=r,!((r-(k>>>0<2147483648)|0)==-1&h))for(;e=A>>31,r=e,e=k+(r|1)|0,r=r+A|0,k=o2(e,e>>>0<k>>>0?r+1|0:r,2,0),A=w0,u=A-(k>>>0<2147483648)|0,e=t>>31,o=e,e=n+(e|1)|0,r=t+o|0,n=o2(e,e>>>0<n>>>0?r+1|0:r,2,0),e=w0,t=e,(e-(n>>>0<2147483648)&u)!=-1;);e=k}if(A=i[f+48>>2],f=i[f+52>>2],k=A-f|0,t=f>>31,A=(A>>31)-(t+(f>>>0>A>>>0)|0)|0,r=A-(k>>>0<2147483648)|0,(r|0)==-2|r>>>0<4294967294){for(;r=t>>31,u=f+(r|1)|0,r=t+r|0,f=o2(u,f>>>0>u>>>0?r+1|0:r,2,0),t=w0,r=A>>31,u=k+(r|1)|0,r=A+r|0,k=o2(u,k>>>0>u>>>0?r+1|0:r,2,0),A=w0,(A-(k>>>0<2147483648)|0)!=-1;);t=f>>31}if(r=t<<1|f>>>31,f=f<<1,t=r,r=r-(f>>>0<2147483648)|0,(r|0)==-2|r>>>0<4294967294)for(;r=A>>31,u=k+(r|1)|0,o=r+A|0,k=o2(u,k>>>0>u>>>0?o+1|0:o,2,0),A=w0,r=t>>31,u=f+(r|1)|0,r=r+t|0,f=o2(u,f>>>0>u>>>0?r+1|0:r,2,0),t=w0,(t-(f>>>0<2147483648)|0)!=-1;);A=n>>31;i:{if((f|0)==(e|0)){if(A=A-((k>>31)+(k>>>0>n>>>0)|0)|0,k=n-k|0,(A-(k>>>0<2147483648)|0)==-1)break i;for(f=e,t=e>>31;e=t>>31,r=e,e=f+(r|1)|0,r=r+t|0,f=o2(e,f>>>0>e>>>0?r+1|0:r,2,0),t=w0,e=A>>31,r=e,e=k+(r|1)|0,r=r+A|0,k=o2(e,e>>>0<k>>>0?r+1|0:r,2,0),e=w0,A=e,(e-(k>>>0<2147483648)|0)!=-1;);e=f;break i}if(A=q0(f,t,n,A),n=w0,r=e>>31,u=q0(e,r,k,k>>31),k=A-u|0,A=n-(w0+(A>>>0<u>>>0)|0)|0,f=q0(f,t,e,r),e=w0,t=e,(A-(k>>>0<2147483648)&e-(f>>>0<2147483648))!=-1)for(;e=t>>31,n=e,e=f+(e|1)|0,r=n+t|0,f=o2(e,f>>>0>e>>>0?r+1|0:r,2,0),t=w0,n=t-(f>>>0<2147483648)|0,e=A>>31,o=e,e=k+(e|1)|0,r=A+o|0,k=o2(e,e>>>0<k>>>0?r+1|0:r,2,0),e=w0,A=e,(e-(k>>>0<2147483648)&n)!=-1;);e=f}return(k|0)/(e|0)|0}function Lh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;A=B-32|0,B=A,e=i[r>>2],o=i[e+28>>2],u=i[e+24>>2],e=U(136),i[e>>2]=72792,i[e+4>>2]=0,i[e+8>>2]=0,B0(e+20|0,0,104),h=i[e+4>>2],w=h+1|0,i[e+4>>2]=w,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,n=e- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,n=e+12|0,i[e+12>>2]=n,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=h,i[e+16>>2]=e,w||(V[i[i[e>>2]+8>>2]](e),g(e)),i[n+36>>2]=3,i[n+32>>2]=0,i[n+28>>2]=o,i[n+24>>2]=u,k=s[k+8|0],t=i[i[r>>2]+36>>2];i:{r:{if(!J0(n,0,u,o,8)||!J0(n,1,u,o,8)||!J0(n,2,u,o,8)||(_=k&1,_&&!J0(n,6,u,o,8)))break r;i[A+28>>2]=0,i[A+24>>2]=0,i[A+20>>2]=0,i[A+16>>2]=0,i[A+12>>2]=0,h=v0(i[r>>2],10,A+12|0),w=v0(n,0,A+20|0),p=v0(n,1,A+28|0),W=v0(n,2,A+24|0),_&&(Z=v0(n,6,A+16|0));e:{if((o|0)<=0|(u|0)<=0)break e;if(_=(t|0)==11?4:3,!(k&1)){for(k=0;;){for(r=0;t=(h+m(i[A+12>>2],k)|0)+m(r,_)|0,Z=s[t|0],v=s[t+2|0],l[(w+m(i[A+20>>2],k)|0)+r|0]=s[t+1|0],l[(m(i[A+28>>2],k)+p|0)+r|0]=v,l[(m(i[A+24>>2],k)+W|0)+r|0]=Z,r=r+1|0,(u|0)!=(r|0););if(k=k+1|0,(o|0)==(k|0))break}break e}if(r=0,(t|0)==11)for(;;){for(k=0;v=m(k,_),t=v+(h+m(i[A+12>>2],r)|0)|0,C=s[t|0],I=s[t+2|0],l[(w+m(i[A+20>>2],r)|0)+k|0]=s[t+1|0],l[(m(i[A+28>>2],r)+p|0)+k|0]=I,l[(m(i[A+24>>2],r)+W|0)+k|0]=C,l[(m(i[A+16>>2],r)+k|0)+Z|0]=s[(v+(h+m(i[A+12>>2],r)|0)|0)+3|0],k=k+1|0,(u|0)!=(k|0););if(r=r+1|0,(o|0)==(r|0))break e}for(;;){for(k=0;t=(h+m(i[A+12>>2],r)|0)+m(k,_)|0,v=s[t|0],C=s[t+2|0],l[(w+m(i[A+20>>2],r)|0)+k|0]=s[t+1|0],l[(m(i[A+28>>2],r)+p|0)+k|0]=C,l[(m(i[A+24>>2],r)+W|0)+k|0]=v,l[(m(i[A+16>>2],r)+k|0)+Z|0]=255,k=k+1|0,(u|0)!=(k|0););if(r=r+1|0,(o|0)==(r|0))break}}i[f+4>>2]=e,i[f>>2]=n;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A+32|0}function Kh(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0;u=B-32|0,B=u;i:{r:{e:{A:{if(o=i[e+16>>2],(V[i[i[o>>2]+8>>2]](o)|0)==5){f:{if(!(!k|(!r|!A))&&n)break f;e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];break i}if(o=i[e+16>>2],!o||(h=N0(o,72776,73388),!h))break A;o=i[e+20>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),i[r>>2]=i[h+4>>2],i[A>>2]=i[h+8>>2],w=i[h+12>>2],i[k>>2]=w,e=n,n=i[h+16>>2],i[e>>2]=n,h=i[h+20>>2],QA(u+16|0,w,n,2,0,t);f:{if(i[u+16>>2]){e=i[u+20>>2],i[f>>2]=i[u+16>>2],i[f+4>>2]=e,i[f+8>>2]=i[u+24>>2];break f}if(Z3(u+4|0,i[t>>2],0,w,n,8),i[u+24>>2]=i[u+12>>2],r=i[u+8>>2],e=i[u+4>>2],i[u+16>>2]=e,i[u+20>>2]=r,e){G4(i[t>>2]),i[f+8>>2]=i[u+24>>2],e=i[u+20>>2],i[f>>2]=i[u+16>>2],i[f+4>>2]=e;break f}if(r=0,t=T6(i[t>>2],0,u+4|0),!(!w|!n))for(k=0,A=0;;){for(e=0;l[(t+m(i[u+4>>2],r)|0)+e|0]=(s[((A&7)<<29|k>>>3)+h|0]<<(k&7)&128)>>>7|0?-1:0,k=k+1|0,A=k?A:A+1|0,e=e+1|0,(w|0)!=(e|0););if(r=r+1|0,(n|0)==(r|0))break}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}if(!o||(f=i[o+4>>2],i[o+4>>2]=f-1,f))break i;V[i[i[o>>2]+8>>2]](o),g(o);break i}if(o=i[e+16>>2],(V[i[i[o>>2]+8>>2]](o)|0)==4){f:{if(!(!k|(!r|!A))&&n)break f;r=i[18559],i[f>>2]=i[18558],i[f+4>>2]=r,i[f+8>>2]=i[18560],r=0;break r}if(o=i[e+16>>2],!o||(h=N0(o,72776,73344),!h))break e;if(o=i[e+20>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),i[r>>2]=i[h+4>>2],i[A>>2]=i[h+8>>2],i[k>>2]=i[h+12>>2],i[n>>2]=i[h+16>>2],r=i[h+20>>2],i[f+8>>2]=i[18412],A=i[18411],i[f>>2]=i[18410],i[f+4>>2]=A,!o||(A=i[o+4>>2],i[o+4>>2]=A-1,A))break r;V[i[i[o>>2]+8>>2]](o),g(o);break r}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];break i}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];break i}r=i[18559],i[f>>2]=i[18558],i[f+4>>2]=r,i[f+8>>2]=i[18560],r=0}if(i[f>>2]||(A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[u+8>>2]=e,i[u+4>>2]=A,gA(f,u+4|0,r,u),i[f>>2]||(IA(u+16|0,i[u>>2],t,2,0,0),i[f+8>>2]=i[u+24>>2],e=i[u+20>>2],i[f>>2]=i[u+16>>2],i[f+4>>2]=e,N6(i[u>>2])),f=i[u+8>>2],!f)||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=u+32|0}function qh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;t=B-144|0,B=t;i:{if(!A){if(l[t+108|0]=0,l[t+119|0]=0,r=f,f=r0(t+56|0,5,2001,t+108|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[t+119|0]>=0)break i;G(i[t+108>>2]);break i}l[t+113|0]=0,l[t+114|0]=0,l[t+115|0]=0,l[t+116|0]=0,X[t+110>>1]=0,X[t+112>>1]=0,X[t+108>>1]=263,l[t+140|0]=1,l[t+136|0]=0,i[t+128>>2]=2,i[t+132>>2]=2,l[t+124|0]=1,i[t+120>>2]=1;r:{if(!k)break r;e:{A:switch(s[k|0]-1|0){case 1:l[t+110|0]=s[k+2|0],l[t+109|0]=s[k+1|0];break e;case 0:l[t+109|0]=s[k+1|0];break e;case 6:l[t+140|0]=s[k+32|0];case 5:o=i[k+20>>2],i[t+124>>2]=i[k+16>>2],i[t+128>>2]=o,o=i[k+28>>2],i[t+132>>2]=i[k+24>>2],i[t+136>>2]=o;case 4:i[t+120>>2]=i[k+12>>2];case 3:o=i[k+4>>2],i[t+112>>2]=o,l[t+116|0]=s[k+8|0];break;case 2:break A;default:break e}if(l[t+111|0]=s[k+3|0],l[t+110|0]=s[k+2|0],l[t+109|0]=s[k+1|0],o)break r}if(k=i[r>>2],o=i[k+44>>2],k=i[k+48>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),o&&(l[t+56|0]=1,i[t+112>>2]=t+56,i[t+60>>2]=Q[o+4>>1],i[t+64>>2]=Q[o+6>>1],i[t+68>>2]=Q[o+8>>1],l[t+72|0]=s[o+10|0]),!k||(o=i[k+4>>2],i[k+4>>2]=o-1,o))break r;V[i[i[k>>2]+8>>2]](k),g(k)}i[t+48>>2]=0,i[t+52>>2]=0,k=t+24|0,i[k>>2]=0,i[k+4>>2]=0,i[k+16>>2]=0,i[k+8>>2]=0,i[k+12>>2]=0,BA(t,i[e>>2],r,A,t+108|0,1,t+48|0),A=i[t+4>>2],r=i[t>>2],i[k>>2]=r,i[k+4>>2]=A,l[k+19|0]<0&&(G(i[k+8>>2]),r=i[k>>2]),A=i[t+12>>2],i[k+8>>2]=i[t+8>>2],i[k+12>>2]=A,i[k+16>>2]=i[t+16>>2],A=i[e>>2];r:{if((r|0)!=i[19564]){P0(f,k,A);break r}i[A+40>>2]||s3(A,t+48|0);e:{if(!n)break e;r=U(16),i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[n>>2]=r,A=i[t+48>>2],o=i[t+52>>2];A:{if(!o){i[r+4>>2]=o,i[r>>2]=A;break A}if(i[o+4>>2]=i[o+4>>2]+1,i[r>>2]=A,A=i[r+4>>2],i[r+4>>2]=o,!A||(r=i[A+4>>2],i[A+4>>2]=r-1,r))break A;V[i[i[A>>2]+8>>2]](A),g(A)}if(o=i[e>>2],r=i[n>>2],A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+8>>2]=o,e=i[r+12>>2],i[r+12>>2]=A,!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}if(l[k+19|0]<0&&G(i[k+8>>2]),f=i[t+52>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=t+144|0}function $h(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;A=B-32|0,B=A,h=A+12|0,_=i[e>>2],o=B-32|0,B=o,k=U(132),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=72576,Z=_,p=Ge(k+12|0),i[Z+48>>2]=p,n=i[_+52>>2],i[_+52>>2]=k;i:{if(!n||(k=i[n+4>>2],i[n+4>>2]=k-1,k))break i;V[i[i[n>>2]+8>>2]](n),g(n)}w=i[_+48>>2],n=B-160|0,B=n,k=U(188),u=i[13753],i[k>>2]=u,i[k+108>>2]=55e3,i[k+i[u-12>>2]>>2]=i[13754],i[k+4>>2]=0,u=k+i[i[k>>2]-12>>2]|0,t=k+8|0,b0(u,t),i[u+72>>2]=0,i[u+76>>2]=-1,i[k+108>>2]=55e3,i[k>>2]=54980,jk(z7(t),r,12)||(r=k+i[i[k>>2]-12>>2]|0,z1(r,i[r+16>>2]|4)),u=o+8|0,i[n+156>>2]=k;i:{if(i[(k+i[i[k>>2]-12>>2]|0)+16>>2]){i[n+20>>2]=54496,i[n+76>>2]=54516,r=i[13633],i[n+12>>2]=r,k=i[r-12>>2],r=n+12|0,i[k+r>>2]=i[13634],i[n+16>>2]=0,k=r+i[i[n+12>>2]-12>>2]|0,t=n+24|0,b0(k,t),i[k+72>>2]=0,i[k+76>>2]=-1,k=i[13635],i[n+20>>2]=k,w=i[k-12>>2],k=n+20|0,i[w+k>>2]=i[13636],w=i[13632],i[n+12>>2]=w,i[r+i[w-12>>2]>>2]=i[13637],i[n+76>>2]=54516,i[n+12>>2]=54476,i[n+20>>2]=54496,r=$0(t),i[r>>2]=53552,t=n- -64|0,i[t>>2]=0,i[t+4>>2]=0,i[n+56>>2]=0,i[n+60>>2]=0,i[n+72>>2]=24,t=x(k,21125,20),k=i[23944],k=Q[((k>>>0<=153?k:0)<<1)+51808>>1]+49880|0,x(H0(x(x(t,k,G2(k)),18656,2),i[23944]),31337,2),i2(n,r),r0(u,1,0,n),l[n+11|0]<0&&G(i[n>>2]),k=i[13631],i[n+12>>2]=k,i[i[k-12>>2]+(n+12|0)>>2]=i[13639],i[n+20>>2]=i[13640],i[r>>2]=53552,l[n+67|0]<0&&G(i[n+56>>2]),K0(r),T0(n+76|0);break i}if(r=U(32),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=72872,k=B-16|0,B=k,v=r+16|0,i[v>>2]=68360,t=i[n+156>>2],i[n+156>>2]=0,i[r+20>>2]=t,f3(t,0,0,2),s9(k,i[r+20>>2]),t=i[k+12>>2],i[r+24>>2]=i[k+8>>2],i[r+28>>2]=t,f3(i[r+20>>2],0,0,0),B=k+16|0,i[n+16>>2]=r,i[n+12>>2]=v,i[r+4>>2]=i[r+4>>2]+1,_A(u,w,n+12|0),k=i[r+4>>2],i[r+4>>2]=k-1,k||(V[i[i[r>>2]+8>>2]](r),g(r)),k=i[r+4>>2],i[r+4>>2]=k-1,k)break i;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[n+156>>2],i[n+156>>2]=0,r&&V[i[i[r>>2]+4>>2]](r),B=n+160|0;i:{if(i[o+8>>2]){r=i[o+12>>2],i[h>>2]=i[o+8>>2],i[h+4>>2]=r,r=i[o+20>>2],i[h+8>>2]=i[o+16>>2],i[h+12>>2]=r,i[h+16>>2]=i[o+24>>2];break i}if(hA(h,_),l[o+27|0]>=0)break i;G(i[o+16>>2])}B=o+32|0,P0(f,h,i[e>>2]),l[A+31|0]<0&&G(i[A+20>>2]),B=A+32|0}function Tk(f,e,r,A,k,n){var t=0,o=0,u=0,h=0,w=0,_=0;i:{r:{if(u=f+548|0,!i[u+8>>2]){l[u+1|0]=0,f=7,t=i[u+44>>2];e:{if((t|0)!=i[u+40>>2]){o=t-4|0,t=i[o>>2],i[u+44>>2]=o,o=i[t+32>>2];break e}t=U(48),i[t+40>>2]=0,i[t+32>>2]=0,i[t+36>>2]=0,l[t+2|0]=0,l[t|0]=0,l[t+1|0]=0,o=U(64),i[t+32>>2]=o,h=o- -64|0,i[t+40>>2]=h,i[o+56>>2]=0,i[o+60>>2]=0,i[o+48>>2]=0,i[o+52>>2]=0,i[o+40>>2]=0,i[o+44>>2]=0,i[o+32>>2]=0,i[o+36>>2]=0,i[o+24>>2]=0,i[o+28>>2]=0,i[o+16>>2]=0,i[o+20>>2]=0,i[o+8>>2]=0,i[o+12>>2]=0,i[o>>2]=0,i[o+4>>2]=0,i[t+8>>2]=0,i[t+12>>2]=0,i[t+36>>2]=h,i[t+16>>2]=0,i[t+20>>2]=0,i[t+24>>2]=0,i[t+28>>2]=0}if(i[t+36>>2]=o,i[t+24>>2]=0,i[t+16>>2]=0,i[t+8>>2]=0,i[t+12>>2]=0,l[t+2|0]=0,X[t>>1]=0,i[t+28>>2]<(r|0))e:{if(o=Z2(r),o){h=i[t+20>>2],h&&G(h),i[t+28>>2]=r,i[t+20>>2]=o;break e}w4(u,t),t=0}if(t){e:{if(i[t+28>>2]>=(r|0)){f=i[t+20>>2];break e}if(f=Z2(r),!f)break r;o=i[t+20>>2],o&&(l0(f,o,i[t+24>>2]),G(o)),i[t+28>>2]=r,i[t+20>>2]=f}if(l0(f,e,r),i[t+16>>2]=n,i[t+8>>2]=A,i[t+12>>2]=k,i[t+24>>2]=r,(r|0)>=3)for(f=i[t+20>>2],n=0;;){e=f+2|0;e:{A:{f:switch(A=s[f+2|0],A|0){case 0:case 3:break A;default:break f}n=n+2|0;break e}if(s[f|0]){e=f;break e}if((A|0)!=3){e=f;break e}if(s[f+1|0]){e=f;break e}r=i[t+36>>2],w=((r-i[t+32>>2]>>2)+n|0)+2|0;A:{if(o=i[t+40>>2],o>>>0>r>>>0){i[r>>2]=w,i[t+36>>2]=r+4;break A}f:{if(k=i[t+32>>2],h=r-k>>2,A=h+1|0,A>>>0<1073741824){if(_=h<<2,o=o-k|0,h=o>>1,h=o>>>0>=2147483644?1073741823:A>>>0<h>>>0?h:A,h){if(h>>>0>=1073741824)break f;A=U(h<<2)}else A=0;if(o=_+A|0,i[o>>2]=w,w=o+4|0,(r|0)!=(k|0))for(;o=o-4|0,r=r-4|0,i[o>>2]=i[r>>2],(r|0)!=(k|0););i[t+40>>2]=A+(h<<2),i[t+36>>2]=w,i[t+32>>2]=o,k&&G(k),i[t+36>>2]=w;break A}y0(),P()}_2(),P()}F2(e,f+3|0,(i[t+24>>2]-n|0)-3|0),r=i[t+24>>2]-1|0,i[t+24>>2]=r,n=n+1|0,e=f+1|0}if(f=e+1|0,n=n+1|0,!((n|0)<(r-2|0)))break}f=0,o=i[u+32>>2],e=o+i[u+28>>2]|0,A=i[u+20>>2],n=i[u+16>>2],(e|0)==(((A|0)!=(n|0)?(A-n<<8)-1|0:0)|0)&&(Gr(u+12|0),r=i[t+24>>2],n=i[u+16>>2],o=i[u+32>>2],e=o+i[u+28>>2]|0),i[i[(e>>>8&16777212)+n>>2]+((e&1023)<<2)>>2]=t,i[u+32>>2]=o+1,i[u+36>>2]=i[u+36>>2]+r}break i}C0(15032,13941,375,15069),P()}w4(u,t),f=7}return f}function bh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;k=B-48|0,B=k,yA(k+24|0,e,r);i:{if(i[k+24>>2]){e=i[k+28>>2],i[f>>2]=i[k+24>>2],i[f+4>>2]=e,i[f+16>>2]=i[k+40>>2],e=i[k+36>>2],i[f+8>>2]=i[k+32>>2],i[f+12>>2]=e,i[k+40>>2]=0,i[k+32>>2]=0,i[k+36>>2]=0;break i}if((i[e+64>>2]-i[e+60>>2]|0)!=8){if(e=U(64),i[k+12>>2]=e,i[k+16>>2]=57,i[k+20>>2]=-2147483584,r=s[4489]|s[4490]<<8|(s[4491]<<16|s[4492]<<24),A=s[4485]|s[4486]<<8|(s[4487]<<16|s[4488]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+57|0]=0,l[e+56|0]=s[4541],r=s[4537]|s[4538]<<8|(s[4539]<<16|s[4540]<<24),A=s[4533]|s[4534]<<8|(s[4535]<<16|s[4536]<<24),l[e+48|0]=A,l[e+49|0]=A>>>8,l[e+50|0]=A>>>16,l[e+51|0]=A>>>24,l[e+52|0]=r,l[e+53|0]=r>>>8,l[e+54|0]=r>>>16,l[e+55|0]=r>>>24,r=s[4529]|s[4530]<<8|(s[4531]<<16|s[4532]<<24),A=s[4525]|s[4526]<<8|(s[4527]<<16|s[4528]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[4521]|s[4522]<<8|(s[4523]<<16|s[4524]<<24),A=s[4517]|s[4518]<<8|(s[4519]<<16|s[4520]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[4513]|s[4514]<<8|(s[4515]<<16|s[4516]<<24),A=s[4509]|s[4510]<<8|(s[4511]<<16|s[4512]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[4505]|s[4506]<<8|(s[4507]<<16|s[4508]<<24),A=s[4501]|s[4502]<<8|(s[4503]<<16|s[4504]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[4497]|s[4498]<<8|(s[4499]<<16|s[4500]<<24),A=s[4493]|s[4494]<<8|(s[4495]<<16|s[4496]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,101,k+12|0),l[k+23|0]>=0)break i;G(i[k+12>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}l[k+43|0]<0&&G(i[k+32>>2]),B=k+48|0}function dh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0;n=B-96|0,B=n;i:{if(!(k&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;break i}u=i[e>>2],t=i[u+48>>2],u=i[u+52>>2],u&&(i[u+4>>2]=i[u+4>>2]+1),i[n+92>>2]=0,i[n+84>>2]=0,i[n+88>>2]=0,o=n- -64|0,I1(o,t,r,n+84|0);r:{if(i[n+64>>2]){P0(f,o,i[e>>2]);break r}if(r=A-1|0,e=i[n+84>>2],r>>>0>=i[n+88>>2]-e>>3>>>0){i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=10388;break r}e:{if(r=e+(r<<3)|0,e=i[r>>2],!e||(e=N0(e,68572,70072),!e))break e;r=i[r+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),A=U(20),i[A>>2]=0,i[A+4>>2]=0,i[A+16>>2]=0,i[A+8>>2]=0,i[A+12>>2]=0,i[A>>2]=1;A:{if(l[e+67|0]>=0){i[n+56>>2]=i[e+64>>2],t=i[e+60>>2],i[n+48>>2]=i[e+56>>2],i[n+52>>2]=t;break A}_0(n+48|0,i[e+56>>2],i[e+60>>2])}o=l[n+59|0],t=(o|0)<0,h=U((t?i[n+52>>2]:o)+1|0),o=i[n+48>>2],w=A,_=Fi(h,t?o:n+48|0),i[w+4>>2]=_,t&&G(o);A:{if(l[e+79|0]>=0){i[n+40>>2]=i[e+76>>2],t=i[e+72>>2],i[n+32>>2]=i[e+68>>2],i[n+36>>2]=t;break A}_0(n+32|0,i[e+68>>2],i[e+72>>2])}o=l[n+43|0],t=(o|0)<0,h=U((t?i[n+36>>2]:o)+1|0),o=i[n+32>>2],w=A,_=Fi(h,t?o:n+32|0),i[w+8>>2]=_,t&&G(o);A:{if(l[e+91|0]>=0){i[n+24>>2]=i[e+88>>2],t=i[e+84>>2],i[n+16>>2]=i[e+80>>2],i[n+20>>2]=t;break A}_0(n+16|0,i[e+80>>2],i[e+84>>2])}o=l[n+27|0],t=(o|0)<0,h=U((t?i[n+20>>2]:o)+1|0),o=i[n+16>>2],w=A,_=Fi(h,t?o:n+16|0),i[w+12>>2]=_,t&&G(o);A:{if(l[e+103|0]>=0){i[n+8>>2]=i[e+100>>2],t=i[e+96>>2],i[n>>2]=i[e+92>>2],i[n+4>>2]=t;break A}_0(n,i[e+92>>2],i[e+96>>2])}if(t=l[n+11|0],e=(t|0)<0,o=U((e?i[n+4>>2]:t)+1|0),t=i[n>>2],w=A,_=Fi(o,e?t:n),i[w+16>>2]=_,e&&G(t),i[k>>2]=A,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break r;V[i[i[r>>2]+8>>2]](r),g(r);break r}i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=9699}if(l[n+83|0]<0&&G(i[n+72>>2]),r=i[n+84>>2],r){if(f=r,e=i[n+88>>2],(f|0)!=(e|0)){for(;;){f=i[e-4>>2];r:{if(!f||(A=i[f+4>>2],i[f+4>>2]=A-1,A))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(r|0)==(e|0))break}f=i[n+84>>2]}i[n+88>>2]=r,G(f)}if(!u||(f=i[u+4>>2],i[u+4>>2]=f-1,f))break i;V[i[i[u>>2]+8>>2]](u),g(u)}B=n+96|0}function Qr(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;if(h=B-2048|0,B=h,_=5,(r|0)>=2){for(_=0,n=r;t=_,_=t+1|0,o=n>>>0>3,n=n>>>1|0,!!o;);_=4-t|0}i:{if((r|0)<=0)break i;for(y=r&2147483644,p=r&3,W=r-1|0;;){v=(u<<1)+A|0,n=0,t=r;r:{for(;;){if(Z=n,o=t,(t|0)<=0){if(t=0,n=0,o=0,W>>>0>=3)for(;X[(m(r,n)+u<<1)+h>>1]=0,X[(m(n|1,r)+u<<1)+h>>1]=0,X[(m(n|2,r)+u<<1)+h>>1]=0,X[(m(n|3,r)+u<<1)+h>>1]=0,n=n+4|0,o=o+4|0,(y|0)!=(o|0););if(!p)break r;for(;X[(m(r,n)+u<<1)+h>>1]=0,n=n+1|0,t=t+1|0,(p|0)!=(t|0););break r}if(n=Z+1|0,t=o-1|0,!!Q[v+(m(t,r)<<1)>>1])break}for(E=o&2147483646,C=o&1,t=0;;){if(n=0,o=0,w=0,(Z|0)!=(W|0))for(;I=m(X[v+(m(r,n)<<1)>>1],l[((n<<_<<5)+t|0)+43984|0])+o|0,o=n|1,o=I+m(X[v+(m(o,r)<<1)>>1],l[((o<<_<<5)+t|0)+43984|0])|0,n=n+2|0,w=w+2|0,(E|0)!=(w|0););if(w=(m(r,t)+u<<1)+h|0,C&&(o=m(X[v+(m(r,n)<<1)>>1],l[((n<<_<<5)+t|0)+43984|0])+o|0),n=o- -64>>7,n=(n|0)>=32767?32767:n,X[w>>1]=(n|0)<=-32768?-32768:n,t=t+1|0,(t|0)==(r|0))break}}if(u=u+1|0,(u|0)==(r|0))break}if((r|0)<=0)break i;for(y=r&2147483646,E=r&1,C=1<<19-k,I=20-k|0,p=C>>I,u=-1<<k^-1,k=0;;){v=m(r,k),n=0,t=r;r:{e:{for(;;){if(Z=n,A=t,(t|0)<=0)break e;if(n=n+1|0,t=t-1|0,!!Q[(v+t<<1)+h>>1])break}for(J=A&2147483646,R=A&1,D=(m(e,k)<<1)+f|0,t=0;;){if(n=0,o=0,w=0,(Z|0)!=(W|0))for(;A=n|1,o=(m(X[(n+v<<1)+h>>1],l[((n<<_<<5)+t|0)+43984|0])+o|0)+m(X[(A+v<<1)+h>>1],l[((A<<_<<5)+t|0)+43984|0])|0,n=n+2|0,w=w+2|0,(J|0)!=(w|0););if(A=(t<<1)+D|0,w=Q[A>>1],R&&(o=m(X[(n+v<<1)+h>>1],l[((n<<_<<5)+t|0)+43984|0])+o|0),n=A,A=(o+C>>I)+w|0,X[n>>1]=(A|0)>=0?(A|0)<(u|0)?A:u:0,t=t+1|0,(t|0)==(r|0))break}break r}if(o=(m(e,k)<<1)+f|0,n=0,Z=0,W)for(;A=o+(n<<1)|0,t=p+Q[A>>1]|0,X[A>>1]=(t|0)>=0?(t|0)<(u|0)?t:u:0,t=A,A=p+Q[A+2>>1]|0,X[t+2>>1]=(A|0)>=0?(A|0)<(u|0)?A:u:0,n=n+2|0,Z=Z+2|0,(y|0)!=(Z|0););if(!E)break r;t=o+(n<<1)|0,A=p+Q[t>>1]|0,X[t>>1]=(A|0)>=0?(A|0)<(u|0)?A:u:0}if(k=k+1|0,(k|0)==(r|0))break}}B=h+2048|0}function ch(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;k=B-48|0,B=k,A=D0(r),i[e+52>>2]=A&16777215,l[e+48|0]=A>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[k+8|0]=0,l[k+19|0]=0,r0(k+24|0,2,100,k+8|0),l[k+19|0]>=0)break i;G(i[k+8>>2]);break i}if(A=i[19565],i[k+24>>2]=i[19564],i[k+28>>2]=A,A=k+32|0,l[78275]>=0){n=i[19567],i[A>>2]=i[19566],i[A+4>>2]=n,i[A+8>>2]=i[19568];break i}_0(A,i[19566],i[19567])}l[k+43|0]<0&&G(i[k+32>>2]);i:{if(s[e+48|0]>=2){h4(f,e,14592);break i}r:{if(v=D0(r),!v)break r;for(W=e+56|0;;){if(s[r+20|0]|!i[r+16>>2])break r;i[k+20>>2]=0,i[k+12>>2]=0,i[k+16>>2]=0;e:{if(!s[e+48|0]){A=t2(r);break e}A=D0(r)}i[k+8>>2]=A,_=0;e:{if(Z=B2(r),!Z)break e;A:{for(;;){f:{if(l[e+52|0]&1){A=t2(r),u=A&32767,A=A>>>15|0;break f}A=B2(r),u=A&127,A=A>>>7|0}f:{t=i[k+16>>2],o=i[k+20>>2];k:{if(t>>>0<o>>>0){A=u<<16|A,X[t>>1]=A,X[t+2>>1]=A>>>16,u=t+4|0;break k}if(h=i[k+12>>2],w=t-h>>2,n=w+1|0,n>>>0>=1073741824)break f;if(C=w<<2,o=o-h|0,w=o>>1,w=o>>>0>=2147483644?1073741823:n>>>0<w>>>0?w:n,w){if(w>>>0>=1073741824)break A;n=U(w<<2)}else n=0;if(o=C+n|0,A=u<<16|A,X[o>>1]=A,X[o+2>>1]=A>>>16,u=o+4|0,(t|0)!=(h|0)){for(;o=o-4|0,t=t-4|0,A=Q[t>>1]|Q[t+2>>1]<<16,X[o>>1]=A,X[o+2>>1]=A>>>16,(t|0)!=(h|0););h=i[k+12>>2]}if(i[k+20>>2]=n+(w<<2),i[k+16>>2]=u,i[k+12>>2]=o,!h)break k;G(h)}if(i[k+16>>2]=u,_=_+1|0,(Z|0)==(_|0))break e;continue}break}y0(),P()}_2(),P()}e:{A=i[e+60>>2];A:{if(A>>>0<k0[e+64>>2]){if(n=i[k+8>>2],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=n,n=i[k+16>>2],u=i[k+12>>2],(n|0)!=(u|0)){if(n=n-u|0,(n|0)<0)break e;t=U(n),i[A+8>>2]=t,i[A+4>>2]=t,h=n+t|0,i[A+12>>2]=h,l0(t,u,n),i[A+8>>2]=h}A=A+16|0;break A}A=Nn(W,k+8|0)}if(i[e+60>>2]=A,A=i[k+12>>2],A&&(i[k+16>>2]=A,G(A)),p=p+1|0,(p|0)!=(v|0))continue;break r}break}y0(),P()}if(s[r+20|0]==1){if(l[k+8|0]=0,l[k+19|0]=0,r0(f,2,100,k+8|0),l[k+19|0]>=0)break i;G(i[k+8>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+48|0}function ak(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0,Z=0,p=0,W=0,C=0;W=B-16|0,B=W;i:{r:{e:{A:{f:{if(V[i[i[f>>2]+12>>2]](f,A)|0){if(_=V[i[i[f>>2]+8>>2]](f,A)|0,!(i[_+24>>2]>(k|0)&i[_+28>>2]>(n|0))){v2(f+4|0,1026,0),l[h|0]=0;break e}k:{if(w=i[_+168>>2],A=k>>w,(A|0)<0||(v=i[_+172>>2],(v|0)<=(A|0)))break k;if(w=n>>w,!((w|0)<0|(w|0)>=i[_+176>>2])){if(!(s[((i[_+160>>2]+m(A,3)|0)+m(m(w,v),3)|0)+1|0]&3)){X[u>>1]=0,X[u+2>>1]=0,l[h|0]=0;break e}if(s[_+312|0]==1){X[u>>1]=0,X[u+2>>1]=0,l[h|0]=0;break e}n:{if(w=i[_+188>>2],A=k>>w,(A|0)<0||(v=i[_+192>>2],(v|0)<=(A|0)))break n;if(w=n>>w,!((w|0)<0|(w|0)>=i[_+196>>2])){if(w=(i[_+180>>2]+m(A,12)|0)+m(m(w,v),12)|0,!s[w|0]){v=w+3|0,A=1,w=w+8|0;break A}if(!s[w+1|0]){v=w+2|0,A=0,w=w+4|0;break A}if(Z=i[e+96>>2],v=1,i[r+340>>2]<=0)break f;for(p=r+988|0,A=0;;){if(C=i[(V[i[i[f>>2]+8>>2]](f,i[p+(A<<2)>>2])|0)+96>>2],v=(C|0)<=(Z|0),A=A+1|0,(A|0)>=i[r+340>>2])break f;if(!((Z|0)>=(C|0)))break}break f}break r}break i}break r}break i}C0(18344,13964,1136,3838),P()}f:{if(!v|i[r+336>>2]<=0)break f;for(p=r+924|0,A=0;;){if(C=i[(V[i[i[f>>2]+8>>2]](f,i[p+(A<<2)>>2])|0)+96>>2],v=(C|0)<=(Z|0),A=A+1|0,(A|0)>=i[r+336>>2])break f;if(!((Z|0)>=(C|0)))break}}if(v){v=(o+w|0)+2|0,A=o,w=(w+(A<<2)|0)+4|0;break A}A=l[r+380|0],v=(w+A|0)+2|0,w=(w+(A<<2)|0)+4|0}if(Z=i[_+148>>2],k=k>>Z,(k|0)<0||(p=i[_+152>>2],(p|0)<=(k|0)))break i;if(n=n>>Z,(n|0)<0|(n|0)>=i[_+156>>2])break r;if(k=Q[((i[_+140>>2]+m(k,24)|0)+m(m(n,p),24)|0)+2>>1],Z=i[_+52>>2],k>>>0>=i[_+56>>2]-Z>>2>>>0){v2(f+4|0,1033,0),l[h|0]=0,X[u>>1]=0,X[u+2>>1]=0;break e}if(n=(((o<<4)+r|0)+t|0)+1308|0,v=l[v|0],Z=i[Z+(k<<2)>>2],s[n|0]!=s[(v+(Z+(A<<4)|0)|0)+1308|0]){l[h|0]=0,X[u>>1]=0,X[u+2>>1]=0;break e}k=Q[w>>1]|Q[w+2>>1]<<16,l[h|0]=1;A:{if(!s[n|0]&&(A=i[_+96>>2]-i[((Z+(A<<6)|0)+(v<<2)|0)+1052>>2]|0,r=i[e+96>>2]-i[(((o<<6)+r|0)+(t<<2)|0)+1052>>2]|0,(A|0)!=(r|0)))break A;X[u>>1]=k,X[u+2>>1]=k>>>16;break e}if(i[W+8>>2]=k,i[W+12>>2]=k,C7(u,W+8|0,A,r))break e;v2(f+4|0,1008,0),l[e+312|0]=3}B=W+16|0;return}C0(3720,8453,119,3372),P()}C0(3758,8453,118,3372),P()}function iw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;if(A=B-160|0,B=A,i[A+60>>2]=54820,k=i[13708],i[A+4>>2]=k,u=i[k-12>>2],k=A+4|0,i[u+k>>2]=i[13709],n=k+i[i[A+4>>2]-12>>2]|0,t=A+8|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+60>>2]=54820,i[A+4>>2]=54800,p=$0(t),i[p>>2]=53552,i[A+48>>2]=0,i[A+52>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+56>>2]=16,n=A+148|0,R2(n,e,r),w=k,u=n,k=l[A+159|0],n=(k|0)<0,x(w,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),t=i[e+56>>2],W=i[e+60>>2],(t|0)!=(W|0))for(;;){e=A+148|0,W0(e,r),u=e,e=l[A+159|0],k=(e|0)<0,x(A+4|0,k?i[A+148>>2]:u,k?i[A+152>>2]:e),l[A+159|0]<0&&G(i[A+148>>2]),e=x(A+4|0,18659,21),k=A+148|0,Vn(k,t),w=e,u=k,e=l[A+159|0],k=(e|0)<0,x(L0(x(x(x(w,k?i[A+148>>2]:u,k?i[A+152>>2]:e),18679,1),21539,10),i[t+40>>2]),20145,9),l[A+159|0]<0&&G(i[A+148>>2]);i:{if(e=i[t+44>>2],C=i[t+48>>2],(e|0)==(C|0))break i;for(;;){r:{v=L0(A+4|0,i[e>>2]),w=V1(A+140|0,v);e:{if(s[w|0]!=1)break e;h=i[i[v>>2]-12>>2]+v|0,Z=i[h+4>>2],n=i[h+24>>2],_=i[h+76>>2],(_|0)==-1&&(o=A+148|0,k=i[h+28>>2],i[o>>2]=k,(k|0)!=100008&&(i[k+4>>2]=i[k+4>>2]+1),k=x0(o,100192),_=V[i[i[k>>2]+28>>2]](k,32)|0,O0(o),i[h+76>>2]=_);A:{if(!n||(k=i[h+12>>2],Z=(Z&176)==32?21742:21741,o=Z-21741|0,(o|0)>0&&(V[i[i[n>>2]+48>>2]](n,21741,o)|0)!=(o|0)))break A;if(k=(k|0)>1?k-1|0:0,(k|0)>0){if(k>>>0>=2147483640)break r;f:{if(k>>>0>=11){u=(k|7)+1|0,o=U(u),i[A+156>>2]=u|-2147483648,i[A+148>>2]=o,i[A+152>>2]=k;break f}l[A+159|0]=k,o=A+148|0}if(I=B0(o,_,k)+k|0,y=0,l[I|0]=y,_=V[i[i[n>>2]+48>>2]](n,l[A+159|0]<0?i[A+148>>2]:A+148|0,k)|0,l[A+159|0]<0&&G(i[A+148>>2]),(k|0)!=(_|0))break A}if(k=21742-Z|0,(k|0)>0&&(V[i[i[n>>2]+48>>2]](n,Z,k)|0)!=(k|0))break A;i[h+12>>2]=0;break e}k=i[i[v>>2]-12>>2]+v|0,z1(k,i[k+16>>2]|5)}if(Z1(w),e=e+4|0,(C|0)!=(e|0))continue;break i}break}c2(),P()}if(x(A+4|0,31338,1),t=t+56|0,(W|0)==(t|0))break}i2(f,p),f=i[13707],i[A+4>>2]=f,i[i[f-12>>2]+(A+4|0)>>2]=i[13710],i[p>>2]=53552,l[A+51|0]<0&&G(i[A+40>>2]),K0(p),T0(A+60|0),B=A+160|0}function rw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;n=B-48|0,B=n;i:{if(!r){if(l[n+16|0]=0,l[n+27|0]=0,r=f,f=r0(n+28|0,5,2001,n+16|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[n+27|0]>=0)break i;G(i[n+16>>2]);break i}A=i[e>>2];r:{if(l[A+151|0]>=0){i[n+24>>2]=i[A+148>>2],k=i[A+144>>2],i[n+16>>2]=i[A+140>>2],i[n+20>>2]=k;break r}_0(n+16|0,i[A+140>>2],i[A+144>>2])}A=l[n+27|0],k=(A|0)<0,t=Z2((k?i[n+20>>2]:A)+1|0);r:{if(!t){r=U(48),i[n+4>>2]=r,i[n+8>>2]=45,i[n+12>>2]=-2147483600,A=s[8634]|s[8635]<<8|(s[8636]<<16|s[8637]<<24),k=s[8630]|s[8631]<<8|(s[8632]<<16|s[8633]<<24),l[r+37|0]=k,l[r+38|0]=k>>>8,l[r+39|0]=k>>>16,l[r+40|0]=k>>>24,l[r+41|0]=A,l[r+42|0]=A>>>8,l[r+43|0]=A>>>16,l[r+44|0]=A>>>24,A=s[8629]|s[8630]<<8|(s[8631]<<16|s[8632]<<24),k=s[8625]|s[8626]<<8|(s[8627]<<16|s[8628]<<24),l[r+32|0]=k,l[r+33|0]=k>>>8,l[r+34|0]=k>>>16,l[r+35|0]=k>>>24,l[r+36|0]=A,l[r+37|0]=A>>>8,l[r+38|0]=A>>>16,l[r+39|0]=A>>>24,A=s[8621]|s[8622]<<8|(s[8623]<<16|s[8624]<<24),k=s[8617]|s[8618]<<8|(s[8619]<<16|s[8620]<<24),l[r+24|0]=k,l[r+25|0]=k>>>8,l[r+26|0]=k>>>16,l[r+27|0]=k>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[8613]|s[8614]<<8|(s[8615]<<16|s[8616]<<24),k=s[8609]|s[8610]<<8|(s[8611]<<16|s[8612]<<24),l[r+16|0]=k,l[r+17|0]=k>>>8,l[r+18|0]=k>>>16,l[r+19|0]=k>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[8605]|s[8606]<<8|(s[8607]<<16|s[8608]<<24),k=s[8601]|s[8602]<<8|(s[8603]<<16|s[8604]<<24),l[r+8|0]=k,l[r+9|0]=k>>>8,l[r+10|0]=k>>>16,l[r+11|0]=k>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,A=s[8597]|s[8598]<<8|(s[8599]<<16|s[8600]<<24),k=s[8593]|s[8594]<<8|(s[8595]<<16|s[8596]<<24),l[r|0]=k,l[r+1|0]=k>>>8,l[r+2|0]=k>>>16,l[r+3|0]=k>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+45|0]=0,r=f,f=r0(n+28|0,6,0,n+4|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[n+15|0]<0&&G(i[n+4>>2]),A=s[n+27|0];break r}o=r,u=Fi(t,k?i[n+16>>2]:n+16|0),i[o>>2]=u,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}if(A<<24>>24>=0)break i;G(i[n+16>>2])}B=n+48|0}function ew(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;A=i[i[f>>2]+20>>2],e=B-96|0,B=e,k=i[f+8>>2],h=k+20|0,f=i[k+20>>2];i:{r:{if(!f)break r;for(n=h;r=A>>>0>k0[f+16>>2],n=r?n:f,f=i[(r<<2)+f>>2],!!f;);if((n|0)==(h|0))break r;if(A>>>0>=k0[n+16>>2])break i}n=h}f=i[n+20>>2],o=i[n+24>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),n=1;i:{if(i[f+52>>2])break i;t=e+84|0,W6(t,i[k+48>>2],A),n=0,f=l[e+95|0],r=(f|0)<0;r:{if(((r?i[e+88>>2]:f)|0)!=4||(r=r?i[e+84>>2]:t,(s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24))!=1684632167))break r;i[e+80>>2]=0,i[e+72>>2]=0,i[e+76>>2]=0,f=e+72|0,w8(e+52|0,i[k+48>>2],A,f);e:{if(i[e+52>>2])break e;i[e+48>>2]=0,i[e+40>>2]=0,i[e+44>>2]=0,Uk(e+20|0,e+40|0,f);A:{if(i[e+20>>2])break A;r=i[k+48>>2],f=i[r+76>>2],u=i[r+80>>2],u&&(i[u+4>>2]=i[u+4>>2]+1);f:{if(!f)break f;oi(e+8|0,f,A),_=i[e+12>>2],r=i[e+8>>2];k:{if((m(Q[e+42>>1],Q[e+40>>1])|0)!=_-r>>2||(w=(r|0)==(_|0),w)||(t=i[k+16>>2],(t|0)==(h|0)))break k;k=r;n:for(;;){for(v=i[k>>2],f=t;;){if((v|0)==i[f+16>>2]){if(k=k+4|0,(_|0)!=(k|0))continue n;if(w)break k;for(;;){t:{if(f=i[h>>2],!f){n=0;break t}for(k=i[r>>2],A=h;t=k>>>0>k0[f+16>>2],A=t?A:f,f=i[(t<<2)+f>>2],!!f;);if((A|0)==(h|0)){n=0;break t}if(k>>>0<k0[A+16>>2]){n=0;break t}k=i[A+20>>2],f=i[A+24>>2];o:{if(!f){A=i[k+52>>2];break o}if(t=i[f+4>>2],w=t+1|0,i[f+4>>2]=w,A=i[k+52>>2],i[f+4>>2]=t,w)break o;V[i[i[f>>2]+8>>2]](f),g(f)}if(n=(A|0)!=0|n,r=r+4|0,(_|0)!=(r|0))continue}break}r=i[e+8>>2];break k}A=i[f+4>>2];t:{if(A){for(;;)if(f=A,A=i[f>>2],!A)break t}for(;A=f,f=i[f+8>>2],(A|0)!=i[f>>2];);}if((f|0)==(h|0))break}break}}if(!r)break f;i[e+12>>2]=r,G(r)}if(!u||(f=i[u+4>>2],i[u+4>>2]=f-1,f))break A;V[i[i[u>>2]+8>>2]](u),g(u)}if(l[e+39|0]>=0)break e;G(i[e+28>>2])}l[e+71|0]<0&&G(i[e+60>>2]),f=i[e+72>>2],f&&(i[e+76>>2]=f,G(f)),f=s[e+95|0]}if(f<<24>>24>=0)break i;G(i[e+84>>2])}i:{if(!o||(f=i[o+4>>2],i[o+4>>2]=f-1,f))break i;V[i[i[o>>2]+8>>2]](o),g(o)}return B=e+96|0,n&1}function ii(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0;n=B-160|0,B=n;i:{r:{if(t=i[A>>2],A=i[t+56>>2],t=i[t+60>>2],(A|0)!=(t|0))for(;;){if(i[A>>2]==(r|0))break r;if(A=A+16|0,(t|0)==(A|0))break}i[n+24>>2]=54496,i[n+80>>2]=54516,e=i[13633],i[n+16>>2]=e,A=i[e-12>>2],e=n+16|0,i[A+e>>2]=i[13634],i[n+20>>2]=0,A=e+i[i[n+16>>2]-12>>2]|0,k=n+28|0,b0(A,k),i[A+72>>2]=0,i[A+76>>2]=-1,A=i[13635],i[n+24>>2]=A,t=i[A-12>>2],A=n+24|0,i[t+A>>2]=i[13636],t=i[13632],i[n+16>>2]=t,i[e+i[t-12>>2]>>2]=i[13637],i[n+80>>2]=54516,i[n+16>>2]=54476,i[n+24>>2]=54496,e=$0(k),i[e>>2]=53552,i[n+68>>2]=0,i[n+72>>2]=0,i[n+60>>2]=0,i[n+64>>2]=0,i[n+76>>2]=24,x(L0(x(A,16351,9),r),2059,46),r=n+4|0,i2(r,e),r0(f,2,116,r),l[n+15|0]<0&&G(i[n+4>>2]),f=i[13631],i[n+16>>2]=f,i[i[f-12>>2]+(n+16|0)>>2]=i[13639],i[n+24>>2]=i[13640],i[e>>2]=53552,l[n+71|0]<0&&G(i[n+60>>2]),K0(e),T0(n+80|0);break i}if(t=i[A+4>>2],u=i[A+8>>2],(t|0)!=(u|0))for(;;){if(A=Q[t+2>>1],o=i[e+36>>2],A>>>0>i[e+40>>2]-o>>3>>>0){i[n+24>>2]=54496,i[n+80>>2]=54516,e=i[13633],i[n+16>>2]=e,A=i[e-12>>2],e=n+16|0,i[A+e>>2]=i[13634],i[n+20>>2]=0,A=e+i[i[n+16>>2]-12>>2]|0,k=n+28|0,b0(A,k),i[A+72>>2]=0,i[A+76>>2]=-1,A=i[13635],i[n+24>>2]=A,o=i[A-12>>2],A=n+24|0,i[o+A>>2]=i[13636],o=i[13632],i[n+16>>2]=o,i[e+i[o-12>>2]>>2]=i[13637],i[n+80>>2]=54516,i[n+16>>2]=54476,i[n+24>>2]=54496,e=$0(k),i[e>>2]=53552,i[n+68>>2]=0,i[n+72>>2]=0,i[n+60>>2]=0,i[n+64>>2]=0,i[n+76>>2]=24,x(L0(x(x(L0(x(A,16322,28),Q[t+2>>1]),18971,11),16371,4),r),2106,23),r=n+4|0,i2(r,e),r0(f,2,115,r),l[n+15|0]<0&&G(i[n+4>>2]),f=i[13631],i[n+16>>2]=f,i[i[f-12>>2]+(n+16|0)>>2]=i[13639],i[n+24>>2]=i[13640],i[e>>2]=53552,l[n+71|0]<0&&G(i[n+60>>2]),K0(e),T0(n+80|0);break i}if(A){h=o+(A<<3)|0,o=h-8|0,A=i[k+4>>2];r:{if(A>>>0<k0[k+8>>2]){i[A>>2]=i[o>>2],o=i[h-4>>2],i[A+4>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),A=A+8|0;break r}A=Q2(k,o)}i[k+4>>2]=A}if(t=t+4|0,(u|0)==(t|0))break}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+160|0}function yr(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0;if(h=B-2048|0,B=h,_=5,(e|0)>=2){for(_=0,n=e;t=_,_=t+1|0,Z=n>>>0>3,n=n>>>1|0,!!Z;);_=4-t|0}i:{if((e|0)<=0)break i;for(p=1<<k,Z=0-p|0,W=p+65535|0,y=e&2147483644,C=e&3,I=e-1|0;;){v=(o<<1)+r|0,n=0,k=e;r:{for(;;){if(w=n,t=k,(k|0)<=0){if(k=0,n=0,t=0,I>>>0>=3)for(;X[(m(e,n)+o<<1)+h>>1]=0,X[(m(n|1,e)+o<<1)+h>>1]=0,X[(m(n|2,e)+o<<1)+h>>1]=0,X[(m(n|3,e)+o<<1)+h>>1]=0,n=n+4|0,t=t+4|0,(y|0)!=(t|0););if(!C)break r;for(;X[(m(e,n)+o<<1)+h>>1]=0,n=n+1|0,k=k+1|0,(C|0)!=(k|0););break r}if(n=w+1|0,k=t-1|0,!!Q[v+(m(k,e)<<1)>>1])break}for(E=t&2147483646,J=t&1,k=0;;){if(n=0,t=0,u=0,(w|0)!=(I|0))for(;R=m(X[v+(m(e,n)<<1)>>1],l[((n<<_<<5)+k|0)+43984|0])+t|0,t=n|1,t=R+m(X[v+(m(t,e)<<1)>>1],l[((t<<_<<5)+k|0)+43984|0])|0,n=n+2|0,u=u+2|0,(E|0)!=(u|0););if(u=(m(e,k)+o<<1)+h|0,J&&(t=m(X[v+(m(e,n)<<1)>>1],l[((n<<_<<5)+k|0)+43984|0])+t|0),n=t- -64>>7,X[u>>1]=(n|0)<(Z|0)?Z:(n|0)<(p|0)?n:W,k=k+1|0,(k|0)==(e|0))break}}if(o=o+1|0,(o|0)==(e|0))break}if((e|0)<=0)break i;for(C=e&2147483640,p=e&7,W=1<<A-1,w=W>>A,v=0;;){o=m(e,v),n=0,k=e;r:{e:{for(;;){if(Z=n,r=k,(k|0)<=0)break e;if(n=n+1|0,k=k-1|0,!!Q[(o+k<<1)+h>>1])break}for(y=r&2147483646,r=r&1,E=(o<<2)+f|0,k=0;;){if(n=0,t=0,u=0,(Z|0)!=(I|0))for(;J=m(X[(n+o<<1)+h>>1],l[((n<<_<<5)+k|0)+43984|0])+t|0,t=n|1,t=J+m(X[(t+o<<1)+h>>1],l[((t<<_<<5)+k|0)+43984|0])|0,n=n+2|0,u=u+2|0,(y|0)!=(u|0););if(u=E+(k<<2)|0,r&&(t=m(X[(n+o<<1)+h>>1],l[((n<<_<<5)+k|0)+43984|0])+t|0),i[u>>2]=t+W>>A,k=k+1|0,(k|0)==(e|0))break}break r}if(n=(o<<2)+f|0,t=0,k=0,u=0,I>>>0>=7)for(;r=n+(k<<2)|0,i[r>>2]=w,i[r+4>>2]=w,i[r+8>>2]=w,i[r+12>>2]=w,i[r+16>>2]=w,i[r+20>>2]=w,i[r+24>>2]=w,i[r+28>>2]=w,k=k+8|0,u=u+8|0,(C|0)!=(u|0););if(!p)break r;for(;i[n+(k<<2)>>2]=w,k=k+1|0,t=t+1|0,(p|0)!=(t|0););}if(v=v+1|0,(v|0)==(e|0))break}}B=h+2048|0}function IA(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;t=B-80|0,B=t,i[t+72>>2]=0,i[t+76>>2]=0,u=i[i[e>>2]+20>>2],i[t+40>>2]=0,i[t+44>>2]=0,X[t+48>>1]=0,i[t+52>>2]=0,X[t+28>>1]=5,i[t+32>>2]=0,i[t+36>>2]=0,l[t+68|0]=0,i[t+60>>2]=2,i[t+64>>2]=2,l[t+56|0]=1;i:{if(!n)break i;r:switch(s[n|0]-1|0){case 4:o=i[n+32>>2],i[t+56>>2]=i[n+28>>2],i[t+60>>2]=o,o=i[n+40>>2],i[t+64>>2]=i[n+36>>2],i[t+68>>2]=o;case 3:i[t+52>>2]=i[n+24>>2];case 2:l[t+49|0]=s[n+21|0];case 1:l[t+48|0]=s[n+20|0];break;case 0:break r;default:break i}l[t+29|0]=s[n+1|0],i[t+32>>2]=i[n+4>>2],i[t+36>>2]=i[n+8>>2],i[t+40>>2]=i[n+12>>2],i[t+44>>2]=i[n+16>>2]}n=t+8|0,o=B-48|0,B=o,h=u,u=t+72|0,w=t+28|0,f6(o+24|0,i[e+8>>2],h,u,A,w,0);i:{if(i[o+24>>2]){A=i[o+28>>2],i[n>>2]=i[o+24>>2],i[n+4>>2]=A,i[n+16>>2]=i[o+40>>2],A=i[o+36>>2],i[n+8>>2]=i[o+32>>2],i[n+12>>2]=A,i[o+40>>2]=0,i[o+32>>2]=0,i[o+36>>2]=0;break i}h=i[u>>2],_=i[h+36>>2],k=(k|0)==99?_:k;r:{if(A=(A|0)==99?i[h+32>>2]:A,(k|0)==(_|0)&(A|0)==i[h+32>>2])break r;h=s[w+20|0],i[o+16>>2]=0,i[o+20>>2]=0,N8(o+4|0,u,A,k,o+16|0,((h|0)!=0)<<3,w+28|0),k=i[o+4>>2],h=i[o+8>>2],i[o+4>>2]=0,i[o+8>>2]=0,A=i[u+4>>2],i[u>>2]=k,i[u+4>>2]=h;e:{if(!A||(k=i[A+4>>2],i[A+4>>2]=k-1,k))break e;V[i[i[A>>2]+8>>2]](A),g(A)}A=i[o+8>>2];e:{if(!A||(k=i[A+4>>2],i[A+4>>2]=k-1,k))break e;V[i[i[A>>2]+8>>2]](A),g(A)}A=i[o+20>>2];e:{if(!A||(k=i[A+4>>2],i[A+4>>2]=k-1,k))break e;V[i[i[A>>2]+8>>2]](A),g(A)}if(i[u>>2])break r;if(l[o+4|0]=0,l[o+15|0]=0,r0(n,4,3003,o+4|0),l[o+15|0]>=0)break i;G(i[o+4>>2]);break i}if(A=i[19565],i[n>>2]=i[19564],i[n+4>>2]=A,A=n+8|0,l[78275]>=0){k=i[19567],i[A>>2]=i[19566],i[A+4>>2]=k,i[A+8>>2]=i[19568];break i}_0(A,i[19566],i[19567])}l[o+43|0]<0&&G(i[o+32>>2]),B=o+48|0,i[t+8>>2]||(A=r,r=U(8),i[A>>2]=r,A=i[t+72>>2],k=i[t+76>>2],i[t+72>>2]=0,i[t+76>>2]=0,i[r>>2]=A,i[r+4>>2]=k,n=78256),P0(f,n,i[e>>2]),l[t+27|0]<0&&G(i[t+16>>2]),f=i[t+76>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=t+80|0}function Sk(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;h=B-128|0,B=h;i:{r:{e:{if(!fi(n,t,o,u,0,0,0,0))break e;w=u&65535,v=u>>>16&32767;A:f:{if((v|0)!=32767){if(Z=4,v)break f;Z=n|o|(t|w)?3:2;break A}Z=!(n|o|(t|w))}if(!Z)break e;if(y=k>>>16|0,W=y&32767,(W|0)!=32767)break r}d2(h+16|0,e,r,A,k,n,t,o,u),e=i[h+16>>2],A=i[h+20>>2],k=i[h+24>>2],r=i[h+28>>2],Bk(h,e,A,k,r,e,A,k,r),A=i[h+8>>2],k=i[h+12>>2],o=i[h>>2],u=i[h+4>>2];break i}if(p=A,Z=k&2147483647,w=Z,v=o,_=u&2147483647,(fi(e,r,p,w,n,t,o,_)|0)<=0){if(fi(e,r,p,w,n,t,o,_)){o=e,u=r;break i}d2(h+112|0,e,r,A,k,0,0,0,0),A=i[h+120>>2],k=i[h+124>>2],o=i[h+112>>2],u=i[h+116>>2];break i}if(C=u>>>16&32767,W?(u=r,o=e):(d2(h+96|0,e,r,p,Z,0,0,0,1081540608),p=i[h+104>>2],o=i[h+108>>2],Z=o,W=(o>>>16|0)-120|0,u=i[h+100>>2],o=i[h+96>>2]),C||(d2(h+80|0,n,t,v,_,0,0,0,1081540608),v=i[h+88>>2],n=i[h+92>>2],_=n,C=(n>>>16|0)-120|0,t=i[h+84>>2],n=i[h+80>>2]),I=v,E=_&65535|65536,Z=Z&65535|65536,(W|0)>(C|0)){for(;;){_=p-I|0,w=(t|0)==(u|0)&n>>>0>o>>>0|t>>>0>u>>>0,v=_-w|0,w=(Z-((p>>>0<I>>>0)+E|0)|0)-(w>>>0>_>>>0)|0;r:{if((w|0)>=0|(w|0)>0){if(p=o,o=o-n|0,u=u-((n>>>0>p>>>0)+t|0)|0,!(o|v|(u|w))){d2(h+32|0,e,r,A,k,0,0,0,0),A=i[h+40>>2],k=i[h+44>>2],o=i[h+32>>2],u=i[h+36>>2];break i}w=w<<1|v>>>31,p=v<<1|u>>>31;break r}w=Z<<1|p>>>31,p=p<<1|u>>>31}if(Z=w,w=u<<1|o>>>31,o=o<<1,u=w,W=W-1|0,!((C|0)<(W|0)))break}W=C}_=p-I|0,w=(t|0)==(u|0)&n>>>0>o>>>0|t>>>0>u>>>0,v=_-w|0,w=(Z-((p>>>0<I>>>0)+E|0)|0)-(w>>>0>_>>>0)|0,_=w;r:{if((w|0)<0){v=p,_=Z;break r}if(p=o,o=o-n|0,u=u-((n>>>0>p>>>0)+t|0)|0,o|v|(u|_))break r;d2(h+48|0,e,r,A,k,0,0,0,0),A=i[h+56>>2],k=i[h+60>>2],o=i[h+48>>2],u=i[h+52>>2];break i}if((_|0)==65535|_>>>0<65535)for(;e=u>>>31|0,W=W-1|0,Z=u<<1|o>>>31,o=o<<1,u=Z,r=e,e=_<<1|v>>>31,v=r|v<<1,_=e,e>>>0<65536;);if(e=y&32768,(W|0)<=0){d2(h- -64|0,o,u,v,_&65535|(e|W+120)<<16,0,0,0,1065811968),A=i[h+72>>2],k=i[h+76>>2],o=i[h+64>>2],u=i[h+68>>2];break i}A=v,k=_&65535|(e|W)<<16}i[f>>2]=o,i[f+4>>2]=u,i[f+8>>2]=A,i[f+12>>2]=k,B=h+128|0}function Fr(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;if(u=B-2048|0,B=u,w=5,(r|0)>=2){for(w=0,k=r;n=w,w=n+1|0,t=k>>>0>3,k=k>>>1|0,!!t;);w=4-n|0}i:{if((r|0)<=0)break i;for(W=r&2147483644,Z=r&3,p=r-1|0;;){_=(o<<1)+A|0,k=0,n=r;r:{for(;;){if(v=k,t=n,(n|0)<=0){if(n=0,k=0,t=0,p>>>0>=3)for(;X[(m(r,k)+o<<1)+u>>1]=0,X[(m(k|1,r)+o<<1)+u>>1]=0,X[(m(k|2,r)+o<<1)+u>>1]=0,X[(m(k|3,r)+o<<1)+u>>1]=0,k=k+4|0,t=t+4|0,(W|0)!=(t|0););if(!Z)break r;for(;X[(m(r,k)+o<<1)+u>>1]=0,k=k+1|0,n=n+1|0,(Z|0)!=(n|0););break r}if(k=v+1|0,n=t-1|0,!!Q[_+(m(n,r)<<1)>>1])break}for(C=t&2147483646,I=t&1,n=0;;){if(k=0,t=0,h=0,(v|0)!=(p|0))for(;y=m(X[_+(m(r,k)<<1)>>1],l[((k<<w<<5)+n|0)+43984|0])+t|0,t=k|1,t=y+m(X[_+(m(t,r)<<1)>>1],l[((t<<w<<5)+n|0)+43984|0])|0,k=k+2|0,h=h+2|0,(C|0)!=(h|0););if(h=(m(r,n)+o<<1)+u|0,I&&(t=m(X[_+(m(r,k)<<1)>>1],l[((k<<w<<5)+n|0)+43984|0])+t|0),k=t- -64>>7,k=(k|0)>=32767?32767:k,X[h>>1]=(k|0)<=-32768?-32768:k,n=n+1|0,(n|0)==(r|0))break}}if(o=o+1|0,(o|0)==(r|0))break}if((r|0)<=0)break i;for(Z=r&2147483646,W=r&1,o=0;;){_=m(r,o),k=0,n=r;r:{e:{for(;;){if(v=k,A=n,(n|0)<=0)break e;if(k=k+1|0,n=n-1|0,!!Q[(_+n<<1)+u>>1])break}for(C=A&2147483646,I=A&1,y=m(e,o)+f|0,n=0;;){if(k=0,t=0,h=0,(v|0)!=(p|0))for(;A=k|1,t=(m(X[(k+_<<1)+u>>1],l[((k<<w<<5)+n|0)+43984|0])+t|0)+m(X[(A+_<<1)+u>>1],l[((A<<w<<5)+n|0)+43984|0])|0,k=k+2|0,h=h+2|0,(C|0)!=(h|0););if(A=n+y|0,h=s[A|0],I&&(t=m(X[(k+_<<1)+u>>1],l[((k<<w<<5)+n|0)+43984|0])+t|0),k=A,A=(t+2048>>12)+h|0,l[k|0]=(A|0)>=0?(A|0)>=255?255:A:0,n=n+1|0,(n|0)==(r|0))break}break r}if(n=m(e,o)+f|0,k=0,t=0,p)for(;A=k+n|0,v=s[A|0],l[A|0]=v>>>0>=255?255:v,v=A,A=s[A+1|0],l[v+1|0]=A>>>0>=255?255:A,k=k+2|0,t=t+2|0,(Z|0)!=(t|0););if(!W)break r;n=k+n|0,A=s[n|0],l[n|0]=A>>>0>=255?255:A}if(o=o+1|0,(o|0)==(r|0))break}}B=u+2048|0}function Aw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],u=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(u,n),i[u+72>>2]=0,i[u+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,u=$0(n),i[u>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),o=k,t=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(k,21668,22),x(H0(k,i[e+56>>2]),19321,3),x(H0(k,i[e+60>>2]),19321,3),x(H0(k,i[e+64>>2]),31338,1),n=A+148|0,W0(n,r),o=k,t=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(k,18880,12);i:{if(s[e+68|0]==1){x(k,31193,12),n=A+148|0,W0(n,r),o=k,t=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),x(Q4(x(Q4(x(Q4(x(Q4(x(A+12|0,14777,7),i0[e+72>>3]),16376,1),i0[e+80>>3]),16376,1),i0[e+88>>3]),16376,1),i0[e+96>>3]),30511,2);break i}k=A+12|0,x(k,31106,9),n=A+148|0,W0(n,r),o=k,t=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(Q4(x(k,21726,9),i0[e+104>>3]),31338,1),n=A+148|0,W0(n,r),o=k,t=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(Q4(x(k,20539,9),i0[e+112>>3]),31338,1),n=A+148|0,W0(n,r),o=k,t=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),x(Q4(x(A+12|0,21695,9),i0[e+120>>3]),31338,1)}k=A+148|0,W0(k,r),n=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,21298,28),i[e+128>>2]),31338,1),i2(f,u),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[u>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(u),T0(A+68|0),B=A+160|0}function fw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]),k=s[e+48|0];i:{if(k>>>0>=4){h4(f,e,11243);break i}r:{if(k>>>0<=1&&(t=e,o=t2(r),i[t+56>>2]=o,t=e,o=t2(r),X[t+60>>1]=o,B4(A+20|0,r),l[e+87|0]<0&&G(i[e+76>>2]),k=i[A+24>>2],i[e+76>>2]=i[A+20>>2],i[e+80>>2]=k,i[e+84>>2]=i[A+28>>2],B4(A+20|0,r),l[e+99|0]<0&&G(i[e+88>>2]),k=i[A+24>>2],i[e+88>>2]=i[A+20>>2],i[e+92>>2]=k,i[e+96>>2]=i[A+28>>2],B4(A+20|0,r),l[e+111|0]<0&&G(i[e+100>>2]),k=i[A+24>>2],i[e+100>>2]=i[A+20>>2],i[e+104>>2]=k,i[e+108>>2]=i[A+28>>2],k=s[e+48|0],k>>>0<2))break r;l[e+124|0]=l[e+52|0]&1;e:{if((k|0)==2){k=t2(r);break e}k=D0(r)}if(i[e+56>>2]=k,t=e,o=t2(r),X[t+60>>1]=o,k=D0(r),k&&(l[e+75|0]<0&&G(i[e+64>>2]),l[e+75|0]=4,l[e+68|0]=0,i[e+64>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24)),B4(A+20|0,r),l[e+87|0]<0&&G(i[e+76>>2]),n=i[A+24>>2],i[e+76>>2]=i[A+20>>2],i[e+80>>2]=n,i[e+84>>2]=i[A+28>>2],(k|0)!=1970432288){if((k|0)!=1835625829)break r;B4(A+20|0,r),l[e+99|0]<0&&G(i[e+88>>2]),k=i[A+24>>2],i[e+88>>2]=i[A+20>>2],i[e+92>>2]=k,i[e+96>>2]=i[A+28>>2],B4(A+20|0,r),l[e+111|0]<0&&G(i[e+100>>2]),k=i[A+24>>2],i[e+100>>2]=i[A+20>>2],i[e+104>>2]=k,i[e+108>>2]=i[A+28>>2];break r}B4(A+20|0,r),l[e+123|0]<0&&G(i[e+112>>2]),k=i[A+24>>2],i[e+112>>2]=i[A+20>>2],i[e+116>>2]=k,i[e+120>>2]=i[A+28>>2]}if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function kw(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;o=B-16|0,B=o,t=i[k>>2],n=t+i[r>>2]|0;i:{if(i[r+4>>2]-n>>>0<(A|0)/8<<1>>>0){if(e=U(48),i[o+4>>2]=e,i[o+8>>2]=44,i[o+12>>2]=-2147483600,r=s[6647]|s[6648]<<8|(s[6649]<<16|s[6650]<<24),A=s[6643]|s[6644]<<8|(s[6645]<<16|s[6646]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+44|0]=0,r=s[6683]|s[6684]<<8|(s[6685]<<16|s[6686]<<24),l[e+40|0]=r,l[e+41|0]=r>>>8,l[e+42|0]=r>>>16,l[e+43|0]=r>>>24,r=s[6679]|s[6680]<<8|(s[6681]<<16|s[6682]<<24),A=s[6675]|s[6676]<<8|(s[6677]<<16|s[6678]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[6671]|s[6672]<<8|(s[6673]<<16|s[6674]<<24),A=s[6667]|s[6668]<<8|(s[6669]<<16|s[6670]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6663]|s[6664]<<8|(s[6665]<<16|s[6666]<<24),A=s[6659]|s[6660]<<8|(s[6661]<<16|s[6662]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6655]|s[6656]<<8|(s[6657]<<16|s[6658]<<24),A=s[6651]|s[6652]<<8|(s[6653]<<16|s[6654]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,o+4|0),l[o+15|0]>=0)break i;G(i[o+4>>2]);break i}u=s[n|0],h=s[n+1|0];r:{if((A|0)==32){t=t+4|0,n=s[n+3|0]|(h<<16|u<<24|s[n+2|0]<<8);break r}t=t+2|0,n=(h<<16|u<<24)>>16}i[k>>2]=t,i[e+4>>2]=n,n=i[k>>2],r=n+i[r>>2]|0,t=s[r|0],u=s[r+1|0];r:{if((A|0)==32){A=n+4|0,r=s[r+3|0]|(u<<16|t<<24|s[r+2|0]<<8);break r}A=n+2|0,r=(u<<16|t<<24)>>16}if(i[k>>2]=A,i[e+8>>2]=r,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=o+16|0}function Ok(f,e,r,A){var k=0,n=0,t=0,o=0,u=0;k=i[e>>2];i:{r:{e:{A:{f:{k:{n:{t:{o:{u:{l:{s:{if(!A||(t=i[A>>2],!t))break s;if(!f){A=r;break u}i[A>>2]=0,A=r;break l}s:{if(!i[i[23985]>>2]){if(!f)break s;if(!r)break i;for(t=r;;){if(A=l[k|0],A){if(i[f>>2]=A&57343,f=f+4|0,k=k+1|0,t=t-1|0,t)continue;break i}break}return i[f>>2]=0,i[e>>2]=0,r-t|0}if(A=r,!f)break o;break n}return G2(k)}n=1;break n}n=0;break t}n=1}for(;;){if(!n){if(n=s[k|0]>>>3|0,(n-16|n+(t>>26))>>>0>7)break k;n=k+1|0;t:{if(!(t&33554432))break t;if((s[n|0]&192)!=128){k=k-1|0;break A}if(n=k+2|0,!(t&524288))break t;if((s[n|0]&192)!=128){k=k-1|0;break A}n=k+3|0}k=n,A=A-1|0,n=1;continue}for(;;){t=s[k|0];t:{if(k&3|t-1>>>0>126||(t=i[k>>2],(t|t-16843009)&-2139062144))break t;for(;A=A-4|0,t=i[k+4>>2],k=k+4|0,!((t-16843009|t)&-2139062144););}if(n=t&255,n-1>>>0<=126){A=A-1|0,k=k+1|0;continue}break}if(n=n-194|0,n>>>0>50)break f;k=k+1|0,t=i[(n<<2)+55504>>2],n=0}}for(;;){if(!n){if(!A)break i;for(;;){n:{n=s[k|0],o=n-1|0;t:{o:{if(o>>>0>126){t=n;break o}if(k&3|A>>>0<5)break t;u:{for(;;){if(t=i[k>>2],(t|t-16843009)&-2139062144)break u;if(i[f>>2]=t&255,i[f+4>>2]=s[k+1|0],i[f+8>>2]=s[k+2|0],i[f+12>>2]=s[k+3|0],f=f+16|0,k=k+4|0,A=A-4|0,!(A>>>0>4))break}t=s[k|0]}n=t&255,o=n-1|0}if(o>>>0>126)break n}if(i[f>>2]=n,f=f+4|0,k=k+1|0,A=A-1|0,A)continue;break i}break}if(n=n-194|0,n>>>0>50)break f;k=k+1|0,t=i[(n<<2)+55504>>2],n=1;continue}if(u=s[k|0],n=u>>>3|0,(n-16|n+(t>>26))>>>0>7)break k;n:{t:{o=k+1|0,n=u-128|t<<6;o:{if((n|0)>=0)break o;if(o=s[o|0]-128|0,o>>>0>63)break t;if(u=n<<6,n=o|u,o=k+2|0,(u|0)>=0)break o;if(o=s[o|0]-128|0,o>>>0>63)break t;n=o|n<<6,o=k+3|0}k=o,i[f>>2]=n,A=A-1|0,f=f+4|0;break n}i[23944]=25,k=k-1|0;break e}n=0}}if(k=k-1|0,t)break A;t=s[k|0]}if(t&255)break A;return f&&(i[f>>2]=0,i[e>>2]=0),r-A|0}if(i[23944]=25,!f)break r}i[e>>2]=k}return-1}return i[e>>2]=k,r}function jk(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;i:{r:{if(i[f+64>>2])break r;A=2512;e:{A:{f:{k:{n:{t:{o:{u:{l:{s:{h:{w:{_:{v:switch(t=r&-3,t-1|0){case 4:case 20:break o;case 19:break u;case 8:case 24:break l;case 23:break h;case 7:break w;case 0:case 16:break _;case 15:break e;case 1:case 2:case 3:case 5:case 6:case 9:case 10:case 13:case 14:case 17:case 18:case 21:case 22:case 25:case 26:break A;case 12:case 28:break f;case 27:break n;case 11:break t;default:break v}v:switch(t-48|0){case 4:break u;case 0:break e;case 1:case 2:case 3:break A;default:break v}switch(t-56|0){case 0:break s;case 4:break k;default:break A}}A=14717;break e}A=6086;break e}A=18145;break e}A=18142;break e}A=18148;break e}A=14080;break e}A=14104;break e}A=14083;break e}A=14127;break e}A=14123;break e}A=14131;break e}A=0}if(t=A,!A)break r;o=B-16|0,B=o;e:{A:{if(!zi(14135,l[A|0])){i[23944]=28;break A}if(A=2,zi(t,43)||(A=s[t|0]!=114),A=zi(t,120)?A|128:A,A=zi(t,101)?A|524288:A,k=A,u=A|64,A=s[t|0],k=(A|0)==114?k:u,k=(A|0)==119?k|512:k,i[o>>2]=438,i[o+4>>2]=0,k=Xs(-100,e|0,((A|0)==97?k|1024:k)|32768,o|0)|0,k>>>0>=4294963201&&(i[23944]=0-k,k=-1),(k|0)<0)break e;n=B-32|0,B=n;f:{k:{n:{if(!zi(14135,l[t|0])){i[23944]=28;break n}if(A=Z2(1176),A)break k}e=0;break f}B0(A,0,144),zi(t,43)||(i[A>>2]=s[t|0]==114?8:4);k:{if(s[t|0]!=97){e=i[A>>2];break k}e=c5(k|0,3,0)|0,e&1024||(e=e|1024,i[n+16>>2]=e,i[n+20>>2]=e>>31,c5(k|0,4,n+16|0)|0),e=i[A>>2]|128,i[A>>2]=e}i[A+80>>2]=-1,i[A+48>>2]=1024,i[A+60>>2]=k,i[A+44>>2]=A+152;k:{if(e&8||(i[n>>2]=n+24,i[n+4>>2]=0,Ws(k|0,21523,n|0)|0))break k;i[A+80>>2]=10}i[A+40>>2]=973,i[A+36>>2]=972,i[A+32>>2]=979,i[A+12>>2]=971,s[95789]||(i[A+76>>2]=-1),e=i[23946],i[A+56>>2]=e,e&&(i[e+52>>2]=A),i[23946]=A,e=A}if(B=n+32|0,n=e,n)break e;ik(k|0)|0}n=0}if(B=o+16|0,i[f+64>>2]=n,!n)break r;if(i[f+88>>2]=r,!(r&2)||!Ce(n,0,0,2))break i;B3(i[f+64>>2]),i[f+64>>2]=0}return 0}return f}function Pk(f,e,r,A,k,n,t,o,u,h,w,_,v){var Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0;p=B,D=p,p=p-19808&-32,B=p,Z=A,A=i[e+16856>>2],C=m(Z,2/(A|0)|0),n=((n|0)/(A|0)|0)+(C>>3)|0,W=i[e+16852>>2],Z=m(2/(W|0)|0,r),r=((k|0)/(W|0)|0)+(Z>>3)|0,k=i[e+488>>2]/(A|0)|0,A=i[e+484>>2]/(W|0)|0;i:{W=Z&7,Z=C&7;r:{if(!(W|Z)){if(e=i[e+16840>>2],!((r|0)<0|(A|0)<(r+w|0)|((n|0)<0|(k|0)<(n+_|0)))){if(e=((r<<1)+u|0)+(m(n,h)<<1)|0,(v|0)<=8){V[i[f+204>>2]](t,o,e,h,w,_,0,0,0),B=D;return}V[i[f+284>>2]](t,o,e,h,w,_,0,0,0,v),B=D;return}if((_|0)<=0|(w|0)<=0)break r;for(v=14-e|0,E=k-1|0,p=A-1|0,J=w&2147483646,R=w&1,f=0;;){if(e=f+n|0,W=(m((e|0)>=0?(e|0)<(k|0)?e:E:0,h)<<1)+u|0,C=(m(f,o)<<1)+t|0,e=0,y=0,(w|0)!=1)for(;Z=e+r|0,X[C+(e<<1)>>1]=Q[W+(((Z|0)>=0?(A|0)>(Z|0)?Z:p:0)<<1)>>1]<<v,I=e|1,Z=I+r|0,X[C+(I<<1)>>1]=Q[W+(((Z|0)>=0?(A|0)>(Z|0)?Z:p:0)<<1)>>1]<<v,e=e+2|0,y=y+2|0,(J|0)!=(y|0););if(R&&(Z=C+(e<<1)|0,e=e+r|0,X[Z>>1]=Q[W+(((e|0)>=0?(e|0)<(A|0)?e:p:0)<<1)>>1]<<v),f=f+1|0,(_|0)==(f|0))break}break r}e:{if(!((r|0)<=0|(r+w|0)>(A-2|0)|((n|0)<=0|(n+_|0)>(k-2|0)))){e=((r<<1)+u|0)+(m(n,h)<<1)|0;break e}if(!((_|0)<-2|(w|0)<-2))for(C=-1,H=k-1|0,y=A-1|0,e=_+2|0,a=(e|0)>0?e:0,e=w+3|0,S=e&-2,q=e&1;;){if(e=n+C|0,E=(m((e|0)>=0?(e|0)<(k|0)?e:H:0,h)<<1)+u|0,J=m(C,80)+80|0,e=-1,R=0,(w|0)!=-2)for(;z=e+1|0,I=e+r|0,X[p+(J+z<<1)>>1]=Q[E+(((I|0)>=0?(A|0)>(I|0)?I:y:0)<<1)>>1],e=e+2|0,I=r+z|0,X[p+(J+e<<1)>>1]=Q[E+(((I|0)>=0?(A|0)>(I|0)?I:y:0)<<1)>>1],R=R+2|0,(S|0)!=(R|0););if(q&&(I=p+(e+J<<1)|0,e=e+r|0,X[I+2>>1]=Q[E+(((e|0)>=0?(e|0)<(A|0)?e:y:0)<<1)>>1]),C=C+1|0,(a|0)==(C|0))break}h=80,e=p+162|0}A=(((v|0)<9?44:124)+f|0)+172|0;e:{if(!(!W|!Z)||(r=(v|0)<9,A=((r?36:116)+f|0)+172|0,W))break e;if(!Z)break i;W=0,A=((r?40:120)+f|0)+172|0}r=A,V[i[r>>2]](t,o,e,h,w,_,W,Z,p+10720|0,v)}B=D;return}C0(9349,13964,269,14609),P()}function nw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;k=B+-64|0,B=k,ct(i[e>>2]),i[r>>2]=0,A=i[19373],n=i[19372];i:{r:{for(;;){e:{if(i[k+44>>2]=0,Ak(i[e>>2],k+44|0))break e;if(o=H9(i[e>>2]),o){if(A=i[r>>2],A&&G4(A),A=i[o+20>>2],p=A,QA(k+52|0,i[i[10336]+o>>2],i[i[10339]+o>>2],!A<<1,A,r),A=i[k+52>>2],A){t=i[k+60>>2],u=i[k+56>>2];break r}for(n=0,_=i[i[o+124>>2]+i[10342]>>2],W=(_+7|0)/8|0;;){if(n>>>0<=2?A=i[i[o+124>>2]+i[(n<<2)+41368>>2]>>2]:A=0,(A|0)!=(_|0)){G4(i[r>>2]),t=12169,A=4,u=3003;break r}t=41328,v=U9(o,n,k+48|0),u=129,A=7;A:{if(h=n>>>0<=2?i[i[(n<<2)+41344>>2]+o>>2]:0,w=n>>>0<=2?i[i[(n<<2)+41356>>2]+o>>2]:0,!((h|0)<=0|(w|0)<=0)){if(u=i[(n<<2)+41332>>2],Z3(k+52|0,i[r>>2],u,h,w,_),A=i[k+52>>2],!A)break A;u=i[k+56>>2],t=i[k+60>>2]}G4(i[r>>2]);break r}if(t=m(h,W),A=0,h=T6(i[r>>2],u,k+52|0),(w|0)!=1)for(C=w&2147483646,u=0;l0(h+m(i[k+52>>2],A)|0,m(i[k+48>>2],A)+v|0,t),Z=A|1,l0(h+m(Z,i[k+52>>2])|0,m(i[k+48>>2],Z)+v|0,t),A=A+2|0,u=u+2|0,(C|0)!=(u|0););if(w&1&&l0(h+m(i[k+52>>2],A)|0,m(i[k+48>>2],A)+v|0,t),!(p&&(A=n>>>0<2,n=n+1|0,A)))break}if(A=gt(),cA(f,A,s[i[o+124>>2]+9018|0]),i[f>>2]){if(s[e+4|0]==1){G(A),G4(i[r>>2]),i[r>>2]=0;break i}t=i[r>>2],i[k+40>>2]=i[f+8>>2],n=i[f+4>>2],i[k+32>>2]=i[f>>2],i[k+36>>2]=n,Dr(t,k+32|0)}if(i3(f,A,s[i[o+124>>2]+9019|0]),i[f>>2]){if(s[e+4|0]==1){G(A),G4(i[r>>2]),i[r>>2]=0;break i}t=i[r>>2],i[k+24>>2]=i[f+8>>2],n=i[f+4>>2],i[k+16>>2]=i[f>>2],i[k+20>>2]=n,Dr(t,k+16|0)}if(dA(f,A,s[i[o+124>>2]+9020|0]),i[f>>2]){if(s[e+4|0]==1){G(A),G4(i[r>>2]),i[r>>2]=0;break i}t=i[r>>2],i[k+8>>2]=i[f+8>>2],n=i[f+4>>2],i[k>>2]=i[f>>2],i[k+4>>2]=n,Dr(t,k)}n=0,l[A+16|0]=s[i[o+124>>2]+9016|0]!=0,s7(k+52|0,i[r>>2],A),G(A),tt(i[e>>2]),A=41320}if(i[k+44>>2])continue}break}i[f>>2]=0,i[f+4>>2]=n,i[f+8>>2]=A;break i}i[f>>2]=A,i[f+4>>2]=u,i[f+8>>2]=t}B=k- -64|0}function Lk(f,e,r,A,k,n,t,o,u,h,w,_,v,Z,p){var W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;for(E=B-16|0,B=E,i[r>>2]=f,D=o?4:0,z=A&512;;){if((J|0)==4)s[Z+11|0]>>>7|0?k=i[Z+4>>2]:k=s[Z+11|0]&127,k>>>0>1&&(a=E,S=C4(Z),i[a+12>>2]=S,a=r,S=k9(J3(E+12|0,1),a8(Z),i[r>>2]),i[a>>2]=S),A=A&176,(A|0)!=16&&((A|0)==32&&(f=i[r>>2]),i[e>>2]=f),B=E+16|0;else{i:{r:switch(s[u+J|0]){case 0:i[e>>2]=i[r>>2];break i;case 1:i[e>>2]=i[r>>2],o=V[i[i[t>>2]+44>>2]](t,32)|0,W=i[r>>2],i[r>>2]=W+4,i[W>>2]=o;break i;case 3:if(s[Z+11|0]>>>7|0?o=i[Z+4>>2]:o=s[Z+11|0]&127,!o)break i;s[Z+11|0]>>>7|0?o=i[Z>>2]:o=Z,o=i[o>>2],W=i[r>>2],i[r>>2]=W+4,i[W>>2]=o;break i;case 2:if(s[v+11|0]>>>7|0?o=i[v+4>>2]:o=s[v+11|0]&127,o=!o,o|!z)break i;a=r,S=k9(C4(v),a8(v),i[r>>2]),i[a>>2]=S;break i;case 4:break r;default:break i}for(H=i[r>>2],k=k+D|0,o=k;;){r:{if(n>>>0<=o>>>0||!(V[i[i[t>>2]+12>>2]](t,64,i[o>>2])|0))break r;o=o+4|0;continue}break}if((p|0)>0){for(W=i[r>>2],C=p;;){if(!(!C|k>>>0>=o>>>0)){C=C-1|0,o=o-4|0,y=i[o>>2],I=W+4|0,i[r>>2]=I,i[W>>2]=y,W=I;continue}break}r:{if(!C){I=0;break r}I=V[i[i[t>>2]+44>>2]](t,48)|0,W=i[r>>2]}for(;;){if(y=W+4|0,(C|0)>0){i[W>>2]=I,C=C-1|0,W=y;continue}break}i[r>>2]=y,i[W>>2]=h}r:{if((k|0)==(o|0)){W=V[i[i[t>>2]+44>>2]](t,48)|0,C=i[r>>2],o=C+4|0,i[r>>2]=o,i[C>>2]=W;break r}for(s[_+11|0]>>>7|0?W=i[_>>2]:W=_,I=l[W|0],s[_+11|0]>>>7|0?W=i[_+4>>2]:W=s[_+11|0]&127,I=W?I:-1,W=0,y=0;;){if((k|0)!=(o|0)){e:{if((W|0)!=(I|0)){C=W;break e}if(C=i[r>>2],i[r>>2]=C+4,i[C>>2]=w,C=0,s[_+11|0]>>>7|0?I=i[_+4>>2]:I=s[_+11|0]&127,y=y+1|0,I>>>0<=y>>>0){I=W;break e}if(s[_+11|0]>>>7|0?W=i[_>>2]:W=_,s[W+y|0]==127){I=-1;break e}s[_+11|0]>>>7|0?W=i[_>>2]:W=_,I=l[W+y|0]}o=o-4|0,W=i[o>>2],R=i[r>>2],i[r>>2]=R+4,i[R>>2]=W,W=C+1|0;continue}break}o=i[r>>2]}te(H,o)}J=J+1|0;continue}break}}function Er(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;if(!f)return Z2(e);if(e>>>0>=4294967232)return i[23944]=48,0;n=e>>>0<11?16:e+11&-8,u=f-8|0,h=i[u+4>>2],k=h&-8;i:{if(!(h&3)){if(n>>>0<256||k>>>0>=n+4>>>0&&(r=u,k-n>>>0<=i[24374]<<1>>>0))break i;r=0;break i}t=k+u|0;r:{if(k>>>0>=n>>>0){if(A=k-n|0,A>>>0<16)break r;i[u+4>>2]=h&1|n|2,r=n+u|0,i[r+4>>2]=A|3,i[t+4>>2]=i[t+4>>2]|1,Xr(r,A);break r}if(i[24260]==(t|0)){if(k=k+i[24257]|0,k>>>0<=n>>>0)break i;i[u+4>>2]=h&1|n|2,A=n+u|0,r=k-n|0,i[A+4>>2]=r|1,i[24257]=r,i[24260]=A;break r}if(i[24259]==(t|0)){if(k=k+i[24256]|0,k>>>0<n>>>0)break i;r=k-n|0;e:{if(r>>>0>=16){i[u+4>>2]=h&1|n|2,A=n+u|0,i[A+4>>2]=r|1,k=k+u|0,i[k>>2]=r,i[k+4>>2]=i[k+4>>2]&-2;break e}i[u+4>>2]=k|h&1|2,r=k+u|0,i[r+4>>2]=i[r+4>>2]|1,r=0}i[24259]=A,i[24256]=r;break r}if(A=i[t+4>>2],A&2||(w=k+(A&-8)|0,w>>>0<n>>>0))break i;v=w-n|0,o=i[t+12>>2];e:{if(A>>>0<=255){if(r=i[t+8>>2],(r|0)==(o|0)){Z=97016,p=i[24254]&a0(-2,A>>>3|0),i[Z>>2]=p;break e}i[r+12>>2]=o,i[o+8>>2]=r;break e}_=i[t+24>>2];A:{if((t|0)!=(o|0)){r=i[t+8>>2],i[r+12>>2]=o,i[o+8>>2]=r;break A}f:{if(r=i[t+20>>2],r)A=t+20|0;else{if(r=i[t+16>>2],!r)break f;A=t+16|0}for(;k=A,o=r,A=r+20|0,r=i[r+20>>2],!(!r&&(A=o+16|0,r=i[o+16>>2],!r)););i[k>>2]=0;break A}o=0}if(!_)break e;A=i[t+28>>2],r=(A<<2)+97320|0;A:{if(i[r>>2]==(t|0)){if(i[r>>2]=o,o)break A;Z=97020,p=i[24255]&a0(-2,A),i[Z>>2]=p;break e}if(i[(i[_+16>>2]==(t|0)?16:20)+_>>2]=o,!o)break e}if(i[o+24>>2]=_,r=i[t+16>>2],r&&(i[o+16>>2]=r,i[r+24>>2]=o),r=i[t+20>>2],!r)break e;i[o+20>>2]=r,i[r+24>>2]=o}if(v>>>0<=15){i[u+4>>2]=h&1|w|2,r=u+w|0,i[r+4>>2]=i[r+4>>2]|1;break r}i[u+4>>2]=h&1|n|2,A=n+u|0,i[A+4>>2]=v|3,r=u+w|0,i[r+4>>2]=i[r+4>>2]|1,Xr(A,v)}r=u}return r?r+8|0:(A=Z2(e),A?(r=i[f-4>>2],r=(r&3?-4:-8)+(r&-8)|0,l0(A,f,e>>>0>r>>>0?r:e),G(f),A):0)}function tw(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0;if(f=B-448|0,B=f,i[f+440>>2]=r,i[f+444>>2]=e,i[f+20>>2]=1095,h=f+20|0,w=o1(f+24|0,f+32|0,h),o=f+16|0,e=i[k+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100184),l[f+15|0]=0,Xk(f+444|0,r,A,o,i[k+4>>2],n,f+15|0,e,w,h,f+432|0)){r=B-16|0,B=r;i:if(s[t+11|0]>>>7|0)break i;i:{if(s[t+11|0]>>>7|0){A=i[t>>2],i[r+12>>2]=0,i[A>>2]=i[r+12>>2],i[t+4>>2]=0;break i}i[r+8>>2]=0,i[t>>2]=i[r+8>>2],l[t+11|0]=s[t+11|0]&128,l[t+11|0]=s[t+11|0]&127}for(B=r+16|0,s[f+15|0]==1&&KA(t,V[i[i[e>>2]+44>>2]](e,45)|0),e=V[i[i[e>>2]+44>>2]](e,48)|0,r=i[w>>2],u=i[f+20>>2],A=u-4|0;;){if(!((e|0)!=i[r>>2]|r>>>0>=A>>>0)){r=r+4|0;continue}break}h=B-16|0,B=h,s[t+11|0]>>>7|0?A=i[t+4>>2]:A=s[t+11|0]&127,k=s[t+11|0]>>>7|0?(i[t+8>>2]&2147483647)-1|0:1,e=u-r>>2;i:{if(!e)break i;if(s[t+11|0]>>>7|0?o=i[t>>2]:o=t,v=o,s[t+11|0]>>>7|0?o=i[t>>2]:o=t,s[t+11|0]>>>7|0?_=i[t+4>>2]:_=s[t+11|0]&127,!c9(v,(o+(_<<2)|0)+4|0,r)){for(e>>>0>k-A>>>0&&Z7(t,k,e+(A-k|0)|0,A,A),s[t+11|0]>>>7|0?k=i[t>>2]:k=t,k=k+(A<<2)|0;;){if((r|0)!=(u|0)){i[k>>2]=i[r>>2],r=r+4|0,k=k+4|0;continue}break}i[h+4>>2]=0,i[k>>2]=i[h+4>>2],wi(t,e+A|0);break i}e=B-16|0,B=e,A=h+4|0,F7(A,r,u),B=e+16|0,s[A+11|0]>>>7|0?r=i[A>>2]:r=A,u=B-16|0,B=u,s[A+11|0]>>>7|0?e=i[A+4>>2]:e=s[A+11|0]&127,o=s[t+11|0]>>>7|0?(i[t+8>>2]&2147483647)-1|0:1,s[t+11|0]>>>7|0?k=i[t+4>>2]:k=s[t+11|0]&127;r:{if(e>>>0<=o-k>>>0){if(!e)break r;o=r,s[t+11|0]>>>7|0?r=i[t>>2]:r=t,ui(o,e,r+(k<<2)|0),e=e+k|0,wi(t,e),i[u+12>>2]=0,i[r+(e<<2)>>2]=i[u+12>>2];break r}r7(t,o,k+(e-o|0)|0,k,k,0,e,r)}B=u+16|0,l1(A)}B=h+16|0}return g2(f+444|0,f+440|0)&&(i[n>>2]=i[n>>2]|2),r=i[f+444>>2],O0(f+16|0),e=i[w>>2],i[w>>2]=0,e&&V[i[w+4>>2]](e),B=f+448|0,r|0}function Kk(f,e,r,A,k,n,t,o,u,h,w,_,v,Z,p){var W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;for(J=B-16|0,B=J,i[r>>2]=f,z=A&512;;){if((R|0)==4)s[Z+11|0]>>>7|0?k=i[Z+4>>2]:k=s[Z+11|0]&127,k>>>0>1&&(a=J,S=C4(Z),i[a+12>>2]=S,a=r,S=n9(R3(J+12|0,1),S8(Z),i[r>>2]),i[a>>2]=S),A=A&176,(A|0)!=16&&((A|0)==32&&(f=i[r>>2]),i[e>>2]=f),B=J+16|0;else{i:{r:switch(s[u+R|0]){case 0:i[e>>2]=i[r>>2];break i;case 1:i[e>>2]=i[r>>2],W=V[i[i[t>>2]+28>>2]](t,32)|0,C=i[r>>2],i[r>>2]=C+1,l[C|0]=W;break i;case 3:if(s[Z+11|0]>>>7|0?W=i[Z+4>>2]:W=s[Z+11|0]&127,!W)break i;s[Z+11|0]>>>7|0?W=i[Z>>2]:W=Z,W=s[W|0],C=i[r>>2],i[r>>2]=C+1,l[C|0]=W;break i;case 2:if(s[v+11|0]>>>7|0?W=i[v+4>>2]:W=s[v+11|0]&127,W=!W,W|!z)break i;a=r,S=n9(C4(v),S8(v),i[r>>2]),i[a>>2]=S;break i;case 4:break r;default:break i}for(H=i[r>>2],k=k+o|0,I=k;;){r:{if(n>>>0<=I>>>0||(W=l[I|0],(W|0)>=0?W=(i[i[t+8>>2]+(W<<2)>>2]&64)!=0:W=0,!W))break r;I=I+1|0;continue}break}if(W=p,(W|0)>0){for(;;){if(!(!W|k>>>0>=I>>>0)){W=W-1|0,I=I-1|0,C=s[I|0],y=i[r>>2],i[r>>2]=y+1,l[y|0]=C;continue}break}for(W?C=V[i[i[t>>2]+28>>2]](t,48)|0:C=0;;){if(y=i[r>>2],i[r>>2]=y+1,(W|0)>0){l[y|0]=C,W=W-1|0;continue}break}l[y|0]=h}r:{if((k|0)==(I|0)){W=V[i[i[t>>2]+28>>2]](t,48)|0,C=i[r>>2],i[r>>2]=C+1,l[C|0]=W;break r}for(s[_+11|0]>>>7|0?W=i[_>>2]:W=_,C=l[W|0],s[_+11|0]>>>7|0?W=i[_+4>>2]:W=s[_+11|0]&127,C=W?C:-1,W=0,E=0;;){if((k|0)==(I|0))break r;e:{if((W|0)!=(C|0)){y=W;break e}if(C=i[r>>2],i[r>>2]=C+1,l[C|0]=w,y=0,s[_+11|0]>>>7|0?C=i[_+4>>2]:C=s[_+11|0]&127,E=E+1|0,C>>>0<=E>>>0){C=W;break e}if(s[_+11|0]>>>7|0?W=i[_>>2]:W=_,s[W+E|0]==127){C=-1;break e}s[_+11|0]>>>7|0?W=i[_>>2]:W=_,C=l[W+E|0]}I=I-1|0,W=s[I|0],D=i[r>>2],i[r>>2]=D+1,l[D|0]=W,W=y+1|0}}li(H,i[r>>2])}R=R+1|0;continue}break}}function Yr(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0;k=B-192|0,B=k,p=e+36|0,o=f+8|0,u=i[13631],W=u-12|0,C=i[13632]-12|0,I=i[13635]-12|0,h=i[13633],y=h-12|0,E=i[13640],J=i[13639],R=i[13637],D=i[13636],z=i[13634],w=k+28|0,_=k+24|0,H=k+80|0;i:{r:{e:{A:{for(;;){if(n=s[r+20|0],!i[r+16>>2]|n&1)break A;i[k+184>>2]=0,i[k+188>>2]=0,_r(k+160|0,r,k+184|0);f:{if(i[k+160>>2]!=i[19564]){n=i[k+164>>2],i[f>>2]=i[k+160>>2],i[f+4>>2]=n,i[o+8>>2]=i[k+176>>2],n=i[k+172>>2],i[o>>2]=i[k+168>>2],i[o+4>>2]=n,i[k+168>>2]=0,i[k+172>>2]=0,i[k+176>>2]=0,n=1;break f}if(n=i[e+40>>2],n-i[e+36>>2]>>>0>=160001){i[k+16>>2]=h,i[k+24>>2]=54496,i[k+80>>2]=54516,n=k+16|0,i[n+i[y>>2]>>2]=z,i[k+20>>2]=0,t=n+i[i[k+16>>2]-12>>2]|0,b0(t,w),i[t+72>>2]=0,i[t+76>>2]=-1,i[i[I>>2]+_>>2]=D,i[n+i[C>>2]>>2]=R,i[k+80>>2]=54516,i[k+16>>2]=54476,i[k+24>>2]=54496,n=$0(w),i[n>>2]=53552,i[k+68>>2]=0,i[k+72>>2]=0,i[k+60>>2]=0,i[k+64>>2]=0,i[k+76>>2]=24,x(L0(x(_,18757,30),2e4),18069,10),t=k+4|0,i2(t,n),r0(f,6,1e3,t),l[k+15|0]<0&&G(i[k+4>>2]),i[k+16>>2]=u,i[i[W>>2]+(k+16|0)>>2]=J,i[k+24>>2]=E,i[n>>2]=53552,l[k+71|0]<0&&G(i[k+60>>2]),K0(n),T0(H),n=1;break f}k:{if(n>>>0<k0[e+44>>2]){i[n>>2]=i[k+184>>2],i[n+4>>2]=i[k+188>>2],i[k+184>>2]=0,i[k+188>>2]=0,n=n+8|0;break k}n=z2(p,k+184|0)}i[e+40>>2]=n,v=v+1|0,n=(A|0)!=-1&&(v|0)==(A|0)?3:0}l[k+179|0]<0&&G(i[k+168>>2]),t=i[k+188>>2];f:{if(!t||(Z=i[t+4>>2],i[t+4>>2]=Z-1,Z))break f;V[i[i[t>>2]+8>>2]](t),g(t)}if(n)break}if((n|0)!=3)break i;if(!(l[r+20|0]&1))break e;break r}if(n&1)break r}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,l[78275]>=0){f=i[19567],i[o>>2]=i[19566],i[o+4>>2]=f,i[o+8>>2]=i[19568];break i}_0(o,i[19566],i[19567]);break i}if(l[k+16|0]=0,l[k+27|0]=0,r0(f,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2])}B=k+192|0}function qk(f,e,r,A,k,n,t,o,u,h,w,_,v){var Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0;W=B,D=W,W=W-14464&-32,B=W,Z=A,A=i[e+16856>>2],C=m(Z,2/(A|0)|0),n=((n|0)/(A|0)|0)+(C>>3)|0,p=i[e+16852>>2],Z=m(2/(p|0)|0,r),r=((k|0)/(p|0)|0)+(Z>>3)|0,k=i[e+488>>2]/(A|0)|0,A=i[e+484>>2]/(p|0)|0;i:{p=Z&7,Z=C&7;r:{if(!(p|Z)){if(e=i[e+16840>>2],!((r|0)<0|(A|0)<(r+w|0)|((n|0)<0|(k|0)<(n+_|0)))){if(e=(r+u|0)+m(n,h)|0,(v|0)<=8){V[i[f+204>>2]](t,o,e,h,w,_,0,0,0),B=D;return}V[i[f+284>>2]](t,o,e,h,w,_,0,0,0,v),B=D;return}if((_|0)<=0|(w|0)<=0)break r;for(v=14-e|0,E=k-1|0,W=A-1|0,J=w&2147483646,R=w&1,f=0;;){if(e=f+n|0,p=m((e|0)>=0?(e|0)<(k|0)?e:E:0,h)+u|0,C=(m(f,o)<<1)+t|0,e=0,y=0,(w|0)!=1)for(;Z=e+r|0,X[C+(e<<1)>>1]=s[p+((Z|0)>=0?(A|0)>(Z|0)?Z:W:0)|0]<<v,I=e|1,Z=I+r|0,X[C+(I<<1)>>1]=s[p+((Z|0)>=0?(A|0)>(Z|0)?Z:W:0)|0]<<v,e=e+2|0,y=y+2|0,(J|0)!=(y|0););if(R&&(Z=C+(e<<1)|0,e=e+r|0,X[Z>>1]=s[p+((e|0)>=0?(e|0)<(A|0)?e:W:0)|0]<<v),f=f+1|0,(_|0)==(f|0))break}break r}e:{if(!((r|0)<=0|(r+w|0)>(A-2|0)|((n|0)<=0|(n+_|0)>(k-2|0)))){e=(r+u|0)+m(n,h)|0;break e}if(!((_|0)<-2|(w|0)<-2))for(C=-1,a=k-1|0,y=A-1|0,e=_+2|0,S=(e|0)>0?e:0,e=w+3|0,q=e&-2,d=e&1;;){if(e=n+C|0,E=m((e|0)>=0?(e|0)<(k|0)?e:a:0,h)+u|0,J=m(C,80)+80|0,e=-1,R=0,(w|0)!=-2)for(;z=W+16|0,H=e+1|0,I=e+r|0,l[z+(J+H|0)|0]=s[E+((I|0)>=0?(A|0)>(I|0)?I:y:0)|0],e=e+2|0,I=r+H|0,l[(J+e|0)+z|0]=s[E+((I|0)>=0?(A|0)>(I|0)?I:y:0)|0],R=R+2|0,(q|0)!=(R|0););if(d&&(I=W+(e+J|0)|0,e=e+r|0,l[I+17|0]=s[E+((e|0)>=0?(e|0)<(A|0)?e:y:0)|0]),C=C+1|0,(S|0)==(C|0))break}h=80,e=W+97|0}A=(((v|0)<9?44:124)+f|0)+172|0;e:{if(!(!p|!Z)||(r=(v|0)<9,A=((r?36:116)+f|0)+172|0,p))break e;if(!Z)break i;p=0,A=((r?40:120)+f|0)+172|0}r=A,V[i[r>>2]](t,o,e,h,w,_,p,Z,W+5376|0,v)}B=D;return}C0(9349,13964,269,14609),P()}function $k(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;t=B-80|0,B=t;i:{if(!k||!e|!A){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=3104;break i}if((r|0)<=0){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=9064;break i}h=U(48),o=h,i[o+4>>2]=0,i[o+8>>2]=0,i[o>>2]=72912,e=W3(o+16|0,e,r,0),i[t+52>>2]=o,i[t+48>>2]=e,i[o+4>>2]=i[o+4>>2]+1,e=i[t+52>>2],i[t>>2]=i[t+48>>2],i[t+4>>2]=e,v=_e(t+56|0,t,r,0),i[t+40>>2]=0,i[t+44>>2]=0,_r(t+20|0,v,t+40|0);r:{if(r=i[t+20>>2],r){if(e=i[t+24>>2],i[f>>2]=r,(e|0)==100){i[f+4>>2]=100,i[f+8>>2]=14458;break r}i[f+4>>2]=e,i[f+8>>2]=1995;break r}e:{A:{if(e=i[t+40>>2],!e||(n=N0(e,68572,68764),!n))break A;if(o=i[t+44>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),e=0,i[t+16>>2]=0,i[t+8>>2]=0,i[t+12>>2]=0,r=0,w=i[n+60>>2],n=i[n+56>>2],(w|0)!=(n|0)){if(e=w-n|0,(e|0)<0)break e;r=U(e),e=l0(r,n,e)+e|0}u=A,n=e-r|0,A=Z2(n),i[u>>2]=A,n=n>>2,i[k>>2]=n;f:{k:{if((e|0)!=(r|0)){if(u=n>>>0<=1?1:n,w=u&3,k=0,e=0,n>>>0>=4)for(Z=u&-4,u=0;n=e<<2,i[n+A>>2]=i[r+n>>2],_=n|4,i[_+A>>2]=i[r+_>>2],_=n|8,i[_+A>>2]=i[r+_>>2],n=n|12,i[n+A>>2]=i[r+n>>2],e=e+4|0,u=u+4|0,(Z|0)!=(u|0););if(w)for(;n=e<<2,i[n+A>>2]=i[r+n>>2],e=e+1|0,k=k+1|0,(w|0)!=(k|0););e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];break k}if(e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],!r)break f}G(r)}if(!o||(f=i[o+4>>2],i[o+4>>2]=f-1,f))break r;V[i[i[o>>2]+8>>2]](o),g(o);break r}i[f>>2]=2,i[f+4>>2]=102,i[f+8>>2]=2018;break r}y0(),P()}l[t+39|0]<0&&G(i[t+28>>2]),f=i[t+44>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[v+4>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[h+4>>2],i[h+4>>2]=f-1,f)break i;V[i[i[h>>2]+8>>2]](h),g(h)}B=t+80|0}function ow(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;n=B-32|0,B=n;i:{if(!(k&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;break i}u=i[e>>2],h=i[u+48>>2],t=i[u+52>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,h,r,n+20|0);r:{if(i[n>>2]){P0(f,n,i[e>>2]);break r}if(e=A-1|0,r=i[n+20>>2],e>>>0>=i[n+24>>2]-r>>3>>>0){i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=10388;break r}e:{if(r=r+(e<<3)|0,e=i[r>>2],!e||(e=N0(e,68572,69952),!e))break e;if(o=i[r+4>>2],o){if(i[o+4>>2]=i[o+4>>2]+1,r=U(48),i[k>>2]=r,A=e- -64|0,w=i[A>>2],_=i[A+4>>2],v=i[e+72>>2],Z=i[e+76>>2],p=i[e+80>>2],W=i[e+84>>2],C=i[e+88>>2],u=i[e+92>>2],h=i[e+56>>2],k=i[e+60>>2],A=i[e+100>>2],i[r+40>>2]=i[e+96>>2],i[r+44>>2]=A,i[r+32>>2]=C,i[r+36>>2]=u,i[r+24>>2]=p,i[r+28>>2]=W,i[r+16>>2]=v,i[r+20>>2]=Z,i[r+8>>2]=w,i[r+12>>2]=_,i[r>>2]=h,i[r+4>>2]=k,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,f=i[o+4>>2],i[o+4>>2]=f-1,f)break r;V[i[i[o>>2]+8>>2]](o),g(o);break r}r=U(48),i[k>>2]=r,A=e- -64|0,w=i[A>>2],_=i[A+4>>2],v=i[e+72>>2],Z=i[e+76>>2],p=i[e+80>>2],W=i[e+84>>2],C=i[e+88>>2],u=i[e+92>>2],h=i[e+56>>2],k=i[e+60>>2],A=i[e+100>>2],i[r+40>>2]=i[e+96>>2],i[r+44>>2]=A,i[r+32>>2]=C,i[r+36>>2]=u,i[r+24>>2]=p,i[r+28>>2]=W,i[r+16>>2]=v,i[r+20>>2]=Z,i[r+8>>2]=w,i[r+12>>2]=_,i[r>>2]=h,i[r+4>>2]=k,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;break r}i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=9699}if(l[n+19|0]<0&&G(i[n+8>>2]),r=i[n+20>>2],r){if(f=r,e=i[n+24>>2],(r|0)!=(e|0)){for(;;){A=i[e-4>>2];r:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(e=e-8|0,(r|0)==(e|0))break}f=i[n+20>>2]}i[n+24>>2]=r,G(f)}if(!t||(f=i[t+4>>2],i[t+4>>2]=f-1,f))break i;V[i[i[t>>2]+8>>2]](t),g(t)}B=n+32|0}function lw(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0;if(f=B-144|0,B=f,i[f+136>>2]=r,i[f+140>>2]=e,i[f+20>>2]=1095,h=f+20|0,w=o1(f+24|0,f+32|0,h),o=f+16|0,e=i[k+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100192),l[f+15|0]=0,pk(f+140|0,r,A,o,i[k+4>>2],n,f+15|0,e,w,h,f+132|0)){r=B-16|0,B=r;i:if(s[t+11|0]>>>7|0)break i;i:{if(s[t+11|0]>>>7|0){A=i[t>>2],l[r+15|0]=0,l[A|0]=s[r+15|0],i[t+4>>2]=0;break i}l[r+14|0]=0,l[t|0]=s[r+14|0],l[t+11|0]=s[t+11|0]&128,l[t+11|0]=s[t+11|0]&127}for(B=r+16|0,s[f+15|0]==1&&C6(t,V[i[i[e>>2]+28>>2]](e,45)|0),e=V[i[i[e>>2]+28>>2]](e,48)|0,r=i[w>>2],u=i[f+20>>2],A=u-1|0,e=e&255;;){if(!((e|0)!=s[r|0]|r>>>0>=A>>>0)){r=r+1|0;continue}break}h=B-16|0,B=h,s[t+11|0]>>>7|0?A=i[t+4>>2]:A=s[t+11|0]&127,k=s[t+11|0]>>>7|0?(i[t+8>>2]&2147483647)-1|0:10,e=u-r|0;i:{if(!e)break i;if(s[t+11|0]>>>7|0?o=i[t>>2]:o=t,v=o,s[t+11|0]>>>7|0?o=i[t>>2]:o=t,s[t+11|0]>>>7|0?_=i[t+4>>2]:_=s[t+11|0]&127,!c9(v,(o+_|0)+1|0,r)){for(e>>>0>k-A>>>0&&HA(t,k,e+(A-k|0)|0,A,A),s[t+11|0]>>>7|0?k=i[t>>2]:k=t,k=k+A|0;;){if((r|0)!=(u|0)){l[k|0]=s[r|0],r=r+1|0,k=k+1|0;continue}break}l[h+15|0]=0,l[k|0]=s[h+15|0],wi(t,e+A|0);break i}A=j3(h,r,u);r:{if(s[A+11|0]>>>7|0){r=i[A>>2];break r}r=A}u=B-16|0,B=u,s[A+11|0]>>>7|0?e=i[A+4>>2]:e=s[A+11|0]&127,o=s[t+11|0]>>>7|0?(i[t+8>>2]&2147483647)-1|0:10,s[t+11|0]>>>7|0?k=i[t+4>>2]:k=s[t+11|0]&127;r:{if(e>>>0<=o-k>>>0){if(!e)break r;o=r,s[t+11|0]>>>7|0?r=i[t>>2]:r=t,e8(o,e,r+k|0),e=e+k|0,wi(t,e),l[u+15|0]=0,l[e+r|0]=s[u+15|0];break r}Pr(t,o,k+(e-o|0)|0,k,k,0,e,r)}B=u+16|0,z0(A)}B=h+16|0}return J2(f+140|0,f+136|0)&&(i[n>>2]=i[n>>2]|2),r=i[f+140>>2],O0(f+16|0),e=i[w>>2],i[w>>2]=0,e&&V[i[w+4>>2]](e),B=f+144|0,r|0}function QA(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;u=B-16|0,B=u;i:{if(!n){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=17605;break i}A|k||(x(98900,30633,136),A=2);r:{e:{A:switch(A|0){case 0:o=U(12),i[u+4>>2]=o,t=o+12|0,i[u+12>>2]=t,i[o+8>>2]=3,i[o>>2]=1,i[o+4>>2]=2;break e;case 1:o=U(28),i[u+4>>2]=o,t=o+28|0,i[u+12>>2]=t,i[o+24>>2]=i[8847],h=i[8846],i[o+16>>2]=i[8845],i[o+20>>2]=h,h=i[8844],i[o+8>>2]=i[8843],i[o+12>>2]=h,h=i[8842],i[o>>2]=i[8841],i[o+4>>2]=h;break e;case 2:o=U(4),i[u+4>>2]=o,t=o+4|0,i[u+12>>2]=t,i[o>>2]=0;break e;default:break A}i[u+12>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0;break r}i[u+8>>2]=t}o=i[u+4>>2],t=o;r:{e:{A:{f:{if(h=i[u+8>>2],(h|0)==(t|0))break f;for(;;){if(i[t>>2]==(k|0))break f;if(t=t+4|0,(h|0)==(t|0))break}break A}if((t|0)!=(h|0))break e}i[n>>2]=0,i[f+8>>2]=17654,i[f>>2]=5,i[f+4>>2]=2006;break r}h=U(8),t=h,i[t>>2]=0,i[t+4>>2]=0,t=U(136),i[t>>2]=72792,i[t+4>>2]=0,i[t+8>>2]=0,B0(t+20|0,0,104),o=i[t+4>>2],_=o+1|0,i[t+4>>2]=_,i[t+56>>2]=0,i[t+60>>2]=0,i[t+44>>2]=99,i[t+48>>2]=99,i[t+32>>2]=37837,w=t- -64|0,i[w>>2]=0,i[w+4>>2]=0,i[t+132>>2]=0,i[t+124>>2]=0,i[t+128>>2]=0,i[t+84>>2]=1,i[t+88>>2]=1,i[t+72>>2]=t+76,i[t+92>>2]=0,i[t+96>>2]=0,i[t+100>>2]=0,i[t+104>>2]=0,i[t+108>>2]=0,i[t+112>>2]=0,l[t+113|0]=0,l[t+114|0]=0,l[t+115|0]=0,l[t+116|0]=0,l[t+117|0]=0,l[t+118|0]=0,l[t+119|0]=0,l[t+120|0]=0,w=t+12|0,i[t+12>>2]=w,i[t+8>>2]=i[t+8>>2]+1,i[t+4>>2]=o,i[t+16>>2]=t,_||(V[i[i[t>>2]+8>>2]](t),g(t)),i[h>>2]=w,o=i[h+4>>2],i[h+4>>2]=t;e:{if(!o||(t=i[o+4>>2],i[o+4>>2]=t-1,t))break e;V[i[i[o>>2]+8>>2]](o),g(o)}t=i[h>>2],i[t+36>>2]=k,i[t+32>>2]=A,i[t+28>>2]=r,i[t+24>>2]=e,i[n>>2]=h,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,o=i[u+4>>2]}if(!o)break i;i[u+8>>2]=o,G(o)}B=u+16|0}function uw(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;f=B-1056|0,B=f,i[f+16>>2]=n,i[f+20>>2]=t,i[f+24>>2]=o,i[f+28>>2]=u,h=f+944|0,i[f+940>>2]=h,h=I8(h,100,8817,f+16|0),i[f+528>>2]=1094,w=f+528|0,Z=o1(f+520|0,0,w),i[f+528>>2]=1094,_=o1(f+512|0,0,w);i:{if(h>>>0>=100&&(h=M2(),i[f>>2]=n,i[f+4>>2]=t,i[f+8>>2]=o,i[f+12>>2]=u,h=c4(f+940|0,h,8817,f),(h|0)==-1||(n=i[Z>>2],i[Z>>2]=i[f+940>>2],n&&V[i[Z+4>>2]](n),t=Z2(h<<2),n=i[_>>2],i[_>>2]=t,n&&V[i[_+4>>2]](n),w=i[_>>2],!w)))break i;t=f+508|0,n=i[A+28>>2],i[t>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),I=x0(t,100184),n=I,t=i[f+940>>2],V[i[i[n>>2]+48>>2]](n,t,t+h|0,w)|0,C=(h|0)>0?s[i[f+940>>2]]==45:C,t=B-16|0,B=t,n=f+484|0,i[n>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,B=t+16|0,t=B-16|0,B=t,o=f+472|0,i[o>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,B=t+16|0,t=B-16|0,B=t,u=f+460|0,i[u>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,B=t+16|0,Zn(r,C,f+508|0,f+504|0,f+500|0,f+496|0,n,o,u,f+456|0),i[f+48>>2]=1094,r=f+48|0,v=o1(f+40|0,0,r),t=i[f+456>>2];r:{if((t|0)<(h|0)){s[o+11|0]>>>7|0?p=i[o+4>>2]:p=s[o+11|0]&127,s[u+11|0]>>>7|0?W=i[u+4>>2]:W=s[u+11|0]&127,t=(t+(p+(W+(h-t<<1)|0)|0)|0)+1|0;break r}W=i[f+456>>2],s[u+11|0]>>>7|0?t=i[u+4>>2]:t=s[u+11|0]&127,s[o+11|0]>>>7|0?p=i[o+4>>2]:p=s[o+11|0]&127,t=(W+(t+p|0)|0)+2|0}if(t>>>0>=101&&(t=Z2(t<<2),r=i[v>>2],i[v>>2]=t,r&&V[i[v+4>>2]](r),r=i[v>>2],!r))break i;return Lk(r,f+36|0,f+32|0,i[A+4>>2],w,(h<<2)+w|0,I,C,f+504|0,i[f+500>>2],i[f+496>>2],n,o,u,i[f+456>>2]),r=X8(e,r,i[f+36>>2],i[f+32>>2],A,k),e=i[v>>2],i[v>>2]=0,e&&V[i[v+4>>2]](e),l1(u),l1(o),z0(n),O0(f+508|0),e=i[_>>2],i[_>>2]=0,e&&V[i[_+4>>2]](e),e=i[Z>>2],i[Z>>2]=0,e&&V[i[Z+4>>2]](e),B=f+1056|0,r|0}u1(),P()}function sw(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;f=B-448|0,B=f,i[f+16>>2]=n,i[f+20>>2]=t,i[f+24>>2]=o,i[f+28>>2]=u,h=f+336|0,i[f+332>>2]=h,h=I8(h,100,8817,f+16|0),i[f+224>>2]=1094,w=f+224|0,Z=o1(f+216|0,0,w),i[f+224>>2]=1094,_=o1(f+208|0,0,w);i:{if(h>>>0>=100&&(h=M2(),i[f>>2]=n,i[f+4>>2]=t,i[f+8>>2]=o,i[f+12>>2]=u,h=c4(f+332|0,h,8817,f),(h|0)==-1||(n=i[Z>>2],i[Z>>2]=i[f+332>>2],n&&V[i[Z+4>>2]](n),t=Z2(h),n=i[_>>2],i[_>>2]=t,n&&V[i[_+4>>2]](n),w=i[_>>2],!w)))break i;t=f+204|0,n=i[A+28>>2],i[t>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),I=x0(t,100192),n=I,t=i[f+332>>2],V[i[i[n>>2]+32>>2]](n,t,t+h|0,w)|0,C=(h|0)>0?s[i[f+332>>2]]==45:C,t=B-16|0,B=t,n=f+184|0,i[n>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,B=t+16|0,t=B-16|0,B=t,o=f+172|0,i[o>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,B=t+16|0,t=B-16|0,B=t,u=f+160|0,i[u>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,B=t+16|0,Wn(r,C,f+204|0,f+200|0,f+199|0,f+198|0,n,o,u,f+156|0),i[f+48>>2]=1094,r=f+48|0,v=o1(f+40|0,0,r),t=i[f+156>>2];r:{if((t|0)<(h|0)){s[o+11|0]>>>7|0?p=i[o+4>>2]:p=s[o+11|0]&127,s[u+11|0]>>>7|0?W=i[u+4>>2]:W=s[u+11|0]&127,t=(t+(p+(W+(h-t<<1)|0)|0)|0)+1|0;break r}W=i[f+156>>2],s[u+11|0]>>>7|0?t=i[u+4>>2]:t=s[u+11|0]&127,s[o+11|0]>>>7|0?p=i[o+4>>2]:p=s[o+11|0]&127,t=(W+(t+p|0)|0)+2|0}if(t>>>0>=101&&(t=Z2(t),r=i[v>>2],i[v>>2]=t,r&&V[i[v+4>>2]](r),r=i[v>>2],!r))break i;return Kk(r,f+36|0,f+32|0,i[A+4>>2],w,h+w|0,I,C,f+200|0,l[f+199|0],l[f+198|0],n,o,u,i[f+156>>2]),r=G8(e,r,i[f+36>>2],i[f+32>>2],A,k),e=i[v>>2],i[v>>2]=0,e&&V[i[v+4>>2]](e),z0(u),z0(o),z0(n),O0(f+204|0),e=i[_>>2],i[_>>2]=0,e&&V[i[_+4>>2]](e),e=i[Z>>2],i[Z>>2]=0,e&&V[i[Z+4>>2]](e),B=f+448|0,r|0}u1(),P()}function hw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;k=B-16|0,B=k;i:{if(!(i[e+8>>2]|i[e+12>>2])){if(e=U(32),i[k+4>>2]=e,i[k+8>>2]=30,i[k+12>>2]=-2147483616,r=s[8941]|s[8942]<<8|(s[8943]<<16|s[8944]<<24),A=s[8937]|s[8938]<<8|(s[8939]<<16|s[8940]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+30|0]=0,r=s[8963]|s[8964]<<8|(s[8965]<<16|s[8966]<<24),A=s[8959]|s[8960]<<8|(s[8961]<<16|s[8962]<<24),l[e+22|0]=A,l[e+23|0]=A>>>8,l[e+24|0]=A>>>16,l[e+25|0]=A>>>24,l[e+26|0]=r,l[e+27|0]=r>>>8,l[e+28|0]=r>>>16,l[e+29|0]=r>>>24,r=s[8957]|s[8958]<<8|(s[8959]<<16|s[8960]<<24),A=s[8953]|s[8954]<<8|(s[8955]<<16|s[8956]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[8949]|s[8950]<<8|(s[8951]<<16|s[8952]<<24),A=s[8945]|s[8946]<<8|(s[8947]<<16|s[8948]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}o=e,u=B2(r)&127,l[o+48|0]=u,A=B2(r),l[e+50|0]=A&31,l[e+49|0]=A>>>5,A=B2(r),l[e+57|0]=A&3,l[e+51|0]=A>>>7,l[e+56|0]=A>>>2&1,l[e+55|0]=A>>>3&1,l[e+54|0]=A>>>4&1,l[e+53|0]=A>>>5&1,l[e+52|0]=A>>>6&1,A=B2(r),n=A>>>4&1,l[e+58|0]=n,n&&(l[e+59|0]=A&15),n=i[e+60>>2],t=i[e+64>>2]-n|0,A=i[r+16>>2];r:{if(t>>>0<A>>>0){L2(e+60|0,A-t|0),n=i[e+60>>2];break r}if(A>>>0>=t>>>0)break r;i[e+64>>2]=A+n}if(D6(r,n,A),s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function ww(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;for(C=B-16|0,B=C,h=r;;){i:{if((A|0)==(h|0)){h=A;break i}if(!s[h|0])break i;h=h+1|0;continue}break}for(i[o>>2]=n,i[k>>2]=r;;){i:{r:{e:{if((r|0)==(A|0)|(n|0)==(t|0))break e;u=i[e+4>>2],i[C+8>>2]=i[e>>2],i[C+12>>2]=u,I=B-16|0,B=I,i[I+12>>2]=i[f+8>>2],J=S4(I+8|0,I+12|0),p=h-r|0,_=0,Z=B-1040|0,B=Z,u=i[k>>2],i[Z+12>>2]=u,W=n||Z+16|0,v=n?t-n>>2:256;A:{f:{k:{if(!(!u|!v)){for(;;){if(w=p>>>2|0,!(p>>>0>131|w>>>0>=v>>>0)){w=u;break f}if(y=Ok(W,Z+12|0,w>>>0<v>>>0?w:v,e),w=i[Z+12>>2],(y|0)==-1){v=0,_=-1;break k}if(E=(Z+16|0)!=(W|0)?y:0,v=v-E|0,W=(E<<2)+W|0,p=w?(u+p|0)-w|0:0,_=_+y|0,!w)break k;if(u=w,!v)break}break k}w=u}if(!w)break A}if(!v|!p)break A;for(u=_;;){f:{_=B6(W,w,p,e);k:{if(_+2>>>0<=2){n:switch(_+1|0){case 1:i[Z+12>>2]=0;break k;case 0:break A;default:break n}i[e>>2]=0;break k}if(w=i[Z+12>>2]+_|0,i[Z+12>>2]=w,u=u+1|0,v=v-1|0,v)break f}_=u;break A}if(W=W+4|0,p=p-_|0,_=u,!p)break}}n&&(i[k>>2]=i[Z+12>>2]),B=Z+1040|0,u=i[J>>2],u&&(i[23985]=(u|0)==-1?95820:u),B=I+16|0;A:{f:{k:{n:{if((_|0)==-1)for(;;){if(i[o>>2]=n,i[k>>2]==(r|0))break e;t=1;t:{o:{u:switch(e=d9(n,r,h-r|0,C+8|0,i[f+8>>2]),e+2|0){case 0:break f;case 2:break t;case 1:break u;default:break o}i[k>>2]=r;break n}t=e}r=r+t|0,n=i[o>>2]+4|0}if(n=i[o>>2]+(_<<2)|0,i[o>>2]=n,(n|0)==(t|0))break A;if(r=i[k>>2],(A|0)==(h|0)){h=A;continue}if(!d9(n,r,1,e,i[f+8>>2]))break k}f=2;break r}for(i[o>>2]=i[o>>2]+4,r=i[k>>2]+1|0,i[k>>2]=r,h=r;;){if((A|0)==(h|0)){h=A;break i}if(!s[h|0])break i;h=h+1|0}}i[k>>2]=r,f=1;break r}r=i[k>>2]}f=(r|0)!=(A|0)}return B=C+16|0,f|0}n=i[o>>2]}}function _w(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0;n=B+-64|0,B=n;i:{if(!(A&&e)){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=12607;break i}if(t=U(128),i[t+4>>2]=0,i[t+8>>2]=0,i[t>>2]=71984,o=t+16|0,i[o+8>>2]=0,i[o+12>>2]=0,i[o+16>>2]=0,i[o+20>>2]=0,i[o+24>>2]=0,i[o+28>>2]=0,i[o+32>>2]=0,i[o>>2]=68500,i[t+52>>2]=0,i[t+56>>2]=0,i[t+68>>2]=0,l[t+57|0]=0,l[t+58|0]=0,l[t+59|0]=0,l[t+60|0]=0,l[t+61|0]=0,l[t+62|0]=0,l[t+63|0]=0,l[t+64|0]=0,i[o>>2]=69912,l[t+96|0]=0,i[t+88>>2]=0,i[t+92>>2]=0,i[t+80>>2]=0,i[t+84>>2]=0,i[t+72>>2]=0,i[t+76>>2]=0,i[t+104>>2]=0,i[t+108>>2]=0,i[t+112>>2]=0,i[t+116>>2]=0,i[t+120>>2]=0,i[t+124>>2]=0,i[t+32>>2]=1668114798,u=i[A+44>>2],i[n+48>>2]=i[A+40>>2],i[n+52>>2]=u,u=i[A+36>>2],i[n+40>>2]=i[A+32>>2],i[n+44>>2]=u,u=i[A+28>>2],i[n+32>>2]=i[A+24>>2],i[n+36>>2]=u,u=i[A+20>>2],i[n+24>>2]=i[A+16>>2],i[n+28>>2]=u,u=i[A+12>>2],i[n+16>>2]=i[A+8>>2],i[n+20>>2]=u,u=i[A+4>>2],i[n+8>>2]=i[A>>2],i[n+12>>2]=u,A=i[n+12>>2],i[o+56>>2]=i[n+8>>2],i[o+60>>2]=A,A=i[n+52>>2],i[o+96>>2]=i[n+48>>2],i[o+100>>2]=A,A=i[n+44>>2],i[o+88>>2]=i[n+40>>2],i[o+92>>2]=A,A=i[n+36>>2],i[o+80>>2]=i[n+32>>2],i[o+84>>2]=A,A=i[n+28>>2],i[o+72>>2]=i[n+24>>2],i[o+76>>2]=A,A=i[n+20>>2],u=o- -64|0,i[u>>2]=i[n+16>>2],i[u+4>>2]=A,h=s[n+32|0],w=h6(i0[n+8>>3]),A=h6(i0[n+16>>3]),u=h6(i0[n+24>>3]),A=A>>>0<w>>>0?A:w,u=A>>>0>u>>>0?u:A,i[o+104>>2]=u,A=0,(h|0)==1&&(A=h6(i0[n+40>>3]),u=A>>>0<u>>>0?A:u,i[o+104>>2]=u,A=h6(i0[n+48>>3])),i[o+108>>2]=A,i[o+52>>2]=u<<8|h|A<<16,A=i[e>>2],i[n+60>>2]=t,i[n+56>>2]=o,i[t+4>>2]=i[t+4>>2]+1,e=i[n+60>>2],i[n>>2]=i[n+56>>2],i[n+4>>2]=e,e=Q3(A,r,n,0),k&&(i[k>>2]=e),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[t+4>>2],i[t+4>>2]=f-1,f)break i;V[i[i[t>>2]+8>>2]](t),g(t)}B=n- -64|0}function l6(f,e,r,A){var k=0,n=0,t=0,o=0,u=0;k=B-160|0,B=k;i:{r:{e:{A:{if((r|A)>=0){if(!A)break e;if(t=K6(i[e+64>>2],i[e+68>>2],A,0),n=w0,!n&r>>>0<=t>>>0|n)break A}i[k+24>>2]=54496,i[k+80>>2]=54516,n=i[13633],i[k+16>>2]=n,t=k+16|0,i[t+i[n-12>>2]>>2]=i[13634],i[k+20>>2]=0,n=i[i[k+16>>2]-12>>2]+t|0,o=k+28|0,b0(n,o),i[n+72>>2]=0,i[n+76>>2]=-1,n=i[13635],i[k+24>>2]=n,u=k+24|0,i[u+i[n-12>>2]>>2]=i[13636],n=i[13632],i[k+16>>2]=n,i[i[n-12>>2]+t>>2]=i[13637],i[k+80>>2]=54516,i[k+16>>2]=54476,i[k+24>>2]=54496,t=$0(o),i[t>>2]=53552,i[k+68>>2]=0,i[k+72>>2]=0,i[k+60>>2]=0,i[k+64>>2]=0,i[k+76>>2]=24,x(n4(x(L0(x(L0(x(u,19153,11),r),2490,1),A),19120,32),i[e+64>>2],i[e+68>>2]),31338,1),e=k+4|0,i2(e,t),r0(f,6,1e3,e),l[k+15|0]<0&&G(i[k+4>>2]),f=i[13631],i[k+16>>2]=f,i[i[f-12>>2]+(k+16|0)>>2]=i[13639],i[k+24>>2]=i[13640],i[t>>2]=53552,l[k+71|0]<0&&G(i[k+60>>2]),K0(t),T0(k+80|0);break i}if(r)break r}if(e=U(24),i[k+16>>2]=e,i[k+20>>2]=20,i[k+24>>2]=-2147483624,r=s[3303]|s[3304]<<8|(s[3305]<<16|s[3306]<<24),A=s[3299]|s[3300]<<8|(s[3301]<<16|s[3302]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+20|0]=0,r=s[3315]|s[3316]<<8|(s[3317]<<16|s[3318]<<24),l[e+16|0]=r,l[e+17|0]=r>>>8,l[e+18|0]=r>>>16,l[e+19|0]=r>>>24,r=s[3311]|s[3312]<<8|(s[3313]<<16|s[3314]<<24),A=s[3307]|s[3308]<<8|(s[3309]<<16|s[3310]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,6,129,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+160|0}function vw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;k=B-48|0,B=k,i[k+44>>2]=0,i[k+36>>2]=0,i[k+40>>2]=0;i:{if(!f){f=i[9282],i[k+24>>2]=i[9281],i[k+28>>2]=f,f=i[9280],i[k+16>>2]=i[9279],i[k+20>>2]=f,f=i[9278],i[k+8>>2]=i[9277],i[k+12>>2]=f,ki(k+36|0,k+8|0,k+32|0,6);break i}n=U(4),i[n>>2]=f,f=n+4|0,i[k+44>>2]=f,i[k+36>>2]=n,i[k+40>>2]=f}Ve();i:{if(n=i[19569],(n|0)==78280|i[k+36>>2]==i[k+40>>2])break i;r:{for(;;){e:{f=i[k+36>>2],A=i[k+40>>2];A:{if((f|0)==(A|0))break A;for(_=i[n+16>>2];;){if(v=V[i[_+16>>2]](i[f>>2])|0,!v){if(f=f+4|0,(A|0)!=(f|0))continue;break A}break}if(o>>>0<h>>>0){i[o+4>>2]=v,i[o>>2]=_,o=o+8|0;break A}if(u=o-t>>3,w=u+1|0,w>>>0>=536870912)break e;if(A=h-t|0,f=A>>2,h=A>>>0>=2147483640?536870911:f>>>0>w>>>0?f:w,h){if(h>>>0>=536870912)break r;A=U(h<<3)}else A=0;if(u=A+(u<<3)|0,i[u+4>>2]=v,i[u>>2]=_,f=u,(t|0)!=(o|0))for(;o=o-8|0,w=i[o+4>>2],f=f-8|0,i[f>>2]=i[o>>2],i[f+4>>2]=w,(t|0)!=(o|0););h=A+(h<<3)|0,o=u+8|0,t&&G(t),t=f}A=i[n+4>>2];A:{if(A){for(;;)if(f=A,A=i[f>>2],!A)break A}for(;f=i[n+8>>2],A=i[f>>2]!=(n|0),n=f,!!A;);}if(n=f,(f|0)!=78280)continue;break i}break}L3(4917),P()}_2(),P()}n=o-t>>3;i:{if(!e||(f=0,mk(t,o,(t|0)!=(o|0)?62-($2(n)<<1)|0:0,1),n=(r|0)>(n|0)?n:r,(n|0)<=0))break i;if(n>>>0>=4)for(u=n&2147483644,A=0;i[(f<<2)+e>>2]=i[(f<<3)+t>>2],r=f|1,i[(r<<2)+e>>2]=i[(r<<3)+t>>2],r=f|2,i[(r<<2)+e>>2]=i[(r<<3)+t>>2],r=f|3,i[(r<<2)+e>>2]=i[(r<<3)+t>>2],f=f+4|0,A=A+4|0,(u|0)!=(A|0););if(r=n&3,!r)break i;for(A=0;i[(f<<2)+e>>2]=i[(f<<3)+t>>2],f=f+1|0,A=A+1|0,(r|0)!=(A|0););}return f=i[k+36>>2],f&&(i[k+40>>2]=f,G(f)),t&&G(t),B=k+48|0,n|0}function mw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,Hr(n,e,r),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),u=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(A+12|0,21262,13),k=i[e+48>>2],l[A+11|0]=4,l[A+3|0]=k,l[A+2|0]=k>>>8,l[A+1|0]=k>>>16,l[A|0]=k>>>24,l[A+4|0]=0,k=x(x(n,A,4),31338,1),n=A+148|0,W0(n,r),u=n,n=l[A+159|0],o=(n|0)<0,x(k,o?i[A+148>>2]:u,o?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),k=x(L0(x(k,20346,15),i[e+52>>2]),31338,1),n=A+148|0,W0(n,r),u=n,r=l[A+159|0],n=(r|0)<0,x(k,n?i[A+148>>2]:u,n?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(k,20085,19),l[A+11|0]<0&&G(i[A>>2]),r=i[e+56>>2],k=i[e+60>>2];i:{if((r|0)==(k|0)||(e=i[r>>2],l[A+152|0]=0,l[A+159|0]=4,l[A+151|0]=e,l[A+150|0]=e>>>8,l[A+149|0]=e>>>16,l[A+148|0]=e>>>24,x(A+12|0,A+148|0,4),l[A+159|0]<0&&G(i[A+148>>2]),r=r+4|0,(k|0)==(r|0)))break i;for(;e=i[r>>2],l[A+148|0]=44,n=A+12|0,o=A+148|0,x(n,o,1),l[A+152|0]=0,l[A+159|0]=4,l[A+151|0]=e,l[A+150|0]=e>>>8,l[A+149|0]=e>>>16,l[A+148|0]=e>>>24,x(n,o,4),l[A+159|0]<0&&G(i[A+148>>2]),r=r+4|0,(k|0)!=(r|0););}e=A+12|0,x(e,31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[e+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function bk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;v=B-16|0,B=v,h=x0(t,100184),p=x0(t,100256),t=p,V[i[i[t>>2]+20>>2]](v+4|0,t),i[n>>2]=A;i:{r:switch(u=f,t=s[u|0],t-43|0){case 0:case 2:break r;default:break i}t=V[i[i[h>>2]+44>>2]](h,t<<24>>24)|0,o=i[n>>2],i[n>>2]=o+4,i[o>>2]=t,u=f+1|0}i:{if(t=u,!((r-t|0)<=1|s[t|0]!=48|(s[t+1|0]|32)!=120))for(o=V[i[i[h>>2]+44>>2]](h,48)|0,u=i[n>>2],i[n>>2]=u+4,i[u>>2]=o,o=V[i[i[h>>2]+44>>2]](h,l[t+1|0])|0,u=i[n>>2],i[n>>2]=u+4,i[u>>2]=o,u=t+2|0,t=u;;){if(r>>>0<=t>>>0||(o=l[t|0],M2(),!(o-48>>>0<10|(o|32)-97>>>0<6)))break i;t=t+1|0}for(;;){if(r>>>0<=t>>>0||(o=l[t|0],M2(),o-48>>>0>=10))break i;t=t+1|0}}s[v+15|0]>>>7|0?o=i[v+8>>2]:o=s[v+15|0]&127;i:{if(!o){V[i[i[h>>2]+48>>2]](h,u,t,i[n>>2])|0,i[n>>2]=i[n>>2]+(t-u<<2);break i}for(li(u,t),C=V[i[i[p>>2]+16>>2]](p)|0,o=u;;){if(t>>>0<=o>>>0)te((u-f<<2)+A|0,i[n>>2]);else{w=v+4|0;r:{if(s[w+11|0]>>>7|0){Z=i[w>>2];break r}Z=w}I=l[Z+W|0]<=0,s[w+11|0]>>>7|0?Z=i[w>>2]:Z=w,I|l[Z+W|0]!=(_|0)||(_=i[n>>2],i[n>>2]=_+4,i[_>>2]=C,s[w+11|0]>>>7|0?w=i[w+4>>2]:w=s[w+11|0]&127,W=(w-1>>>0>W>>>0)+W|0,_=0),w=V[i[i[h>>2]+44>>2]](h,l[o|0])|0,Z=i[n>>2],i[n>>2]=Z+4,i[Z>>2]=w,o=o+1|0,_=_+1|0;continue}break}}i:{r:{for(;;){if(r>>>0<=t>>>0)break r;if(o=t+1|0,t=l[t|0],(t|0)!=46){t=V[i[i[h>>2]+44>>2]](h,t)|0,u=i[n>>2],i[n>>2]=u+4,i[u>>2]=t,t=o;continue}break}t=V[i[i[p>>2]+12>>2]](p)|0,u=i[n>>2],_=u+4|0,i[n>>2]=_,i[u>>2]=t;break i}_=i[n>>2],o=t}V[i[i[h>>2]+48>>2]](h,o,r,_)|0,t=n,n=i[n>>2]+(r-o<<2)|0,i[t>>2]=n,i[k>>2]=(e|0)==(r|0)?n:(e-f<<2)+A|0,z0(v+4|0),B=v+16|0}function Bw(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;if(I=r,y=A,n=B-16|0,B=n,w=i[e>>2],A=i[w+60>>2],v=w- -64|0,(A|0)!=(v|0))for(;;){x9(I,y,i[A+16>>2],i[w+36>>2],n+12|0,n+8|0),o=i[A+28>>2],h=i[A+24>>2],u=i[n+12>>2],t=i[n+8>>2];i:{if(!((u|0)>i[A+32>>2]|(t|0)>i[A+36>>2])){e=s[A+20|0]+7>>>3|0;break i}e=1;r:e:{A:{f:{k:switch(k=i[w+36>>2],k|0){case 0:case 1:case 2:case 3:case 99:break e;case 11:case 13:case 15:break f;case 10:case 12:case 14:break k;default:break A}e=3;break r}e=4;break r}e=0}if(r=e,e=s[A+20|0],e=(e|0)==24&&(k|0)==10?8:e,Z=(k|0)==11&&(e|0)==32?8:e,e=Z+7>>>3|0,k=u+1|0,p=k>>>0<64?64:k&-2,k=m(e,m(r,p))+15&-16,r=t+1|0,W=r>>>0<64?64:r&-2,_=U(m(k,W)|15),r=_&15,C=(r?16-r|0:0)+_|0,i[A+28>>2]>0)for(r=0;l0(m(r,k)+C|0,i[A+40>>2]+m(i[A+48>>2],r)|0,i[A+24>>2]),r=r+1|0,(r|0)<i[A+28>>2];);i[A+48>>2]=k,i[A+44>>2]=_,i[A+40>>2]=C,i[A+36>>2]=W,i[A+32>>2]=p,i[A+28>>2]=t,i[A+24>>2]=u,l[A+20|0]=Z}i:{if((o|0)<=0||(k=0,(u|0)<=(h|0)))break i;for(;;){if(r=h,(u|0)>(r|0))for(;t=i[A+40>>2]+m(i[A+48>>2],k)|0,l0(t+m(e,r)|0,t+m(i[A+24>>2]-1|0,e)|0,e),r=r+1|0,u=i[n+12>>2],(r|0)<(u|0););if(k=k+1|0,(k|0)==(o|0))break}t=i[n+8>>2]}if((o|0)<(t|0))for(;h=i[A+40>>2],r=i[A+48>>2],l0(h+m(r,o)|0,h+m(r,i[A+28>>2]-1|0)|0,m(i[n+12>>2],e)),o=o+1|0,(o|0)<i[n+8>>2];);r=i[A+4>>2];i:{if(r){for(;;)if(e=r,r=i[r>>2],!r)break i}for(;e=i[A+8>>2],r=i[e>>2]!=(A|0),A=e,!!r;);}if(A=e,(v|0)==(A|0))break}B=n+16|0,e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}function Zw(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0,v=0,Z=0,p=0,W=0;h=B-32|0,B=h;i:{r:{e:{if(!(!e|!n)&&(_=(A|0)!=1970628964,k|_))break e;i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=7049;break r}w=U(80),i[w+4>>2]=0,i[w+8>>2]=0,i[w>>2]=72464,v=w+16|0,i[v+8>>2]=0,i[v+12>>2]=0,i[v+16>>2]=0,i[v+20>>2]=0,i[v+24>>2]=0,i[v+28>>2]=0,i[v+32>>2]=0,i[v>>2]=68500,i[w+60>>2]=0,i[w+52>>2]=0,i[w+56>>2]=0,i[v>>2]=68664,i[w+72>>2]=0,i[w+64>>2]=0,i[w+68>>2]=0,i[w+32>>2]=A;e:{if(_||(A=U(16),i[h+20>>2]=A,Z=A+16|0,i[h+28>>2]=Z,_=s[k+12|0]|s[k+13|0]<<8|(s[k+14|0]<<16|s[k+15|0]<<24),p=s[k+8|0]|s[k+9|0]<<8|(s[k+10|0]<<16|s[k+11|0]<<24),l[A+8|0]=p,l[A+9|0]=p>>>8,l[A+10|0]=p>>>16,l[A+11|0]=p>>>24,l[A+12|0]=_,l[A+13|0]=_>>>8,l[A+14|0]=_>>>16,l[A+15|0]=_>>>24,_=s[k+4|0]|s[k+5|0]<<8|(s[k+6|0]<<16|s[k+7|0]<<24),k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),l[A|0]=k,l[A+1|0]=k>>>8,l[A+2|0]=k>>>16,l[A+3|0]=k>>>24,l[A+4|0]=_,l[A+5|0]=_>>>8,l[A+6|0]=_>>>16,l[A+7|0]=_>>>24,i[h+24>>2]=Z,i[v+16>>2]=1970628964,k=v+20|0,A=h+20|0,(k|0)!=(A|0)&&(Z=k,k=i[A>>2],A=i[A+4>>2],W8(Z,k,A,A-k|0)),A=i[h+20>>2],!A))break e;i[h+24>>2]=A,G(A)}if(i[h+28>>2]=0,i[h+20>>2]=0,i[h+24>>2]=0,A=0,t){if((t|0)<0)break i;A=U(t),i[h+20>>2]=A,W=A+t|0,i[h+28>>2]=W,l0(A,n,t),i[h+24>>2]=W}if(W8(w- -64|0,A,W,W-A|0),e=i[e>>2],i[h+16>>2]=w,i[h+12>>2]=v,i[w+4>>2]=i[w+4>>2]+1,k=i[h+16>>2],i[h>>2]=i[h+12>>2],i[h+4>>2]=k,e=Q3(e,r,h,(o|0)!=0),u&&(i[u>>2]=e),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],A&&G(A),f=i[w+4>>2],i[w+4>>2]=f-1,f)break r;V[i[i[w>>2]+8>>2]](w),g(w)}B=h+32|0;return}y0(),P()}function dk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;_=B-16|0,B=_,h=x0(t,100192),p=x0(t,100248),t=p,V[i[i[t>>2]+20>>2]](_+4|0,t),i[n>>2]=A;i:{r:switch(u=f,t=s[u|0],t-43|0){case 0:case 2:break r;default:break i}t=V[i[i[h>>2]+28>>2]](h,t<<24>>24)|0,o=i[n>>2],i[n>>2]=o+1,l[o|0]=t,u=f+1|0}i:{if(t=u,!((r-t|0)<=1|s[t|0]!=48|(s[t+1|0]|32)!=120))for(o=V[i[i[h>>2]+28>>2]](h,48)|0,u=i[n>>2],i[n>>2]=u+1,l[u|0]=o,o=V[i[i[h>>2]+28>>2]](h,l[t+1|0])|0,u=i[n>>2],i[n>>2]=u+1,l[u|0]=o,u=t+2|0,t=u;;){if(r>>>0<=t>>>0||(o=l[t|0],M2(),!(o-48>>>0<10|(o|32)-97>>>0<6)))break i;t=t+1|0}for(;;){if(r>>>0<=t>>>0||(o=l[t|0],M2(),o-48>>>0>=10))break i;t=t+1|0}}s[_+15|0]>>>7|0?o=i[_+8>>2]:o=s[_+15|0]&127;i:{if(!o){V[i[i[h>>2]+32>>2]](h,u,t,i[n>>2])|0,i[n>>2]=i[n>>2]+(t-u|0);break i}for(li(u,t),C=V[i[i[p>>2]+16>>2]](p)|0,o=u;;){if(t>>>0<=o>>>0)li((u-f|0)+A|0,i[n>>2]);else{w=_+4|0;r:{if(s[w+11|0]>>>7|0){v=i[w>>2];break r}v=w}I=l[v+W|0]<=0,s[w+11|0]>>>7|0?v=i[w>>2]:v=w,I|l[v+W|0]!=(Z|0)||(Z=i[n>>2],i[n>>2]=Z+1,l[Z|0]=C,s[w+11|0]>>>7|0?w=i[w+4>>2]:w=s[w+11|0]&127,W=(w-1>>>0>W>>>0)+W|0,Z=0),w=V[i[i[h>>2]+28>>2]](h,l[o|0])|0,v=i[n>>2],i[n>>2]=v+1,l[v|0]=w,o=o+1|0,Z=Z+1|0;continue}break}}for(;;){i:{r:{if(r>>>0<=t>>>0){o=t;break r}if(o=t+1|0,t=l[t|0],(t|0)!=46)break i;t=V[i[i[p>>2]+12>>2]](p)|0,u=i[n>>2],i[n>>2]=u+1,l[u|0]=t}V[i[i[h>>2]+32>>2]](h,o,r,i[n>>2])|0,t=n,n=i[n>>2]+(r-o|0)|0,i[t>>2]=n,i[k>>2]=(e|0)==(r|0)?n:(e-f|0)+A|0,z0(_+4|0),B=_+16|0;return}t=V[i[i[h>>2]+28>>2]](h,t)|0,u=i[n>>2],i[n>>2]=u+1,l[u|0]=t,t=o}}function pw(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0;n=B-16|0,B=n,e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),A=i[e+4>>2],o=A+1|0,i[e+4>>2]=o,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,t=e- -64|0,i[t>>2]=0,i[t+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,t=e+12|0,i[e+12>>2]=t,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=A,i[e+16>>2]=e,o||(V[i[i[e>>2]+8>>2]](e),g(e)),A=i[r>>2],o=i[A+24>>2],u=i[A+28>>2],_=i[A+32>>2],i[t+36>>2]=i[A+36>>2],i[t+32>>2]=_,i[t+28>>2]=u,i[t+24>>2]=o;i:{r:{for(;;){A=i[v+41232>>2];e:{if(!H2(i[r>>2],A))break e;if(o=y4(i[r>>2],A),Z=F4(i[r>>2],A),!J0(t,A,o,Z,i[k+12>>2]))break r;if(u=U0(i[r>>2],A),w=i[k+12>>2],E=v0(i[r>>2],A,n+12|0),J=v0(t,A,n+8|0),I=i[n+8>>2]/2|0,i[n+8>>2]=I,(Z|0)<=0|(o|0)<=0)break e;for(_=(u<<1)-w|0,w=w-u|0,R=i[n+12>>2],D=o&2147483646,z=o&1,u=0;;){if(p=m(u,R)+E|0,W=(m(u,I)<<1)+J|0,A=0,C=0,(o|0)!=1)for(;h=s[A+p|0],X[(A<<1)+W>>1]=h<<w|h>>>_,y=A|1,h=s[y+p|0],X[(y<<1)+W>>1]=h<<w|h>>>_,A=A+2|0,C=C+2|0,(D|0)!=(C|0););if(z&&(h=(A<<1)+W|0,A=s[A+p|0],X[h>>1]=A<<w|A>>>_),u=u+1|0,(Z|0)==(u|0))break}}if(v=v+4|0,(v|0)==28)break}i[f+4>>2]=e,i[f>>2]=t;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=n+16|0}function Jr(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;u=B-16|0,B=u,n=U(88),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=71704,h=n+16|0,i[h+8>>2]=0,i[h+12>>2]=0,i[h+16>>2]=0,i[h+20>>2]=0,i[h+24>>2]=0,i[h+28>>2]=0,i[h+32>>2]=0,i[h>>2]=68500,i[n+52>>2]=0,i[n+56>>2]=0,i[n+68>>2]=0,l[n+57|0]=0,l[n+58|0]=0,l[n+59|0]=0,l[n+60|0]=0,l[n+61|0]=0,l[n+62|0]=0,l[n+63|0]=0,l[n+64|0]=0,i[h>>2]=69672,i[n+80>>2]=0,i[n+72>>2]=0,i[n+76>>2]=0,i[n+32>>2]=1885960297,t=U(1),l[t|0]=r,r=t+1|0,i[n+80>>2]=r,i[n+72>>2]=t,i[n+76>>2]=r;i:{if(A|k){v=U(2),l[v+1|0]=A,l[v|0]=s[t|0],o=v+2|0,i[n+80>>2]=o,i[n+76>>2]=o,r=i[n+72>>2],i[n+72>>2]=v;r:{e:{if(!r){t=o;break e}if(G(r),i[n+76>>2]=o,t=i[n+80>>2],o>>>0>=t>>>0)break e;l[v+2|0]=k,k=v+3|0;break r}if(_=i[n+72>>2],r=o-_|0,w=r+1|0,(w|0)<0)break i;t=t-_|0,A=t<<1,w=t>>>0>=1073741823?2147483647:A>>>0>w>>>0?A:w,w?t=U(w):t=0,A=r+t|0,l[A|0]=k,Z=t+w|0,k=A+1|0;e:{if((o|0)==(_|0)){t=A;break e}if(w=r&3,w)for(r=0;A=A-1|0,o=o-1|0,l[A|0]=s[o|0],r=r+1|0,(w|0)!=(r|0););if((v-_|0)+1>>>0>=3)for(;l[A-1|0]=s[o-1|0],l[A-2|0]=s[o-2|0],l[A-3|0]=s[o-3|0],A=A-4|0,o=o-4|0,l[A|0]=s[o|0],(o|0)!=(_|0););_=i[n+72>>2]}if(i[n+80>>2]=Z,i[n+76>>2]=k,i[n+72>>2]=t,!_)break r;G(_)}i[n+76>>2]=k}r=i[f+44>>2],i[u+12>>2]=n,i[u+8>>2]=h,i[n+4>>2]=i[n+4>>2]+1,A=N4(r,u+8|0),k=i[u+12>>2];r:{if(!k||(r=i[k+4>>2],i[k+4>>2]=r-1,r))break r;V[i[i[k>>2]+8>>2]](k),g(k)}f=i[f+52>>2],X[u+6>>1]=A+1,l[u+4|0]=0,i[u>>2]=Q[u+4>>1]|Q[u+6>>1]<<16,c1(f,e,u),f=i[n+4>>2],i[n+4>>2]=f-1,f||(V[i[i[n>>2]+8>>2]](n),g(n)),B=u+16|0;return}y0(),P()}function Ww(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;if(t=B-32|0,B=t,u=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+48|0]),A2(r,(s[e+51|0]&31|(s[e+50|0]<<5|s[e+49|0]<<6))&255),l2(r,i[e+52>>2]),A=s[e+56|0],k=A>>>4|0,k=k&2|(k&1|(A>>>2&2|(A&4|A<<2&8)))<<2,A=A>>>6|0,A2(r,((k|A&1)<<2|A)&254),A=i[e+56>>2],k=A>>>10|0,n=k&2|(A>>>8&2|k&1)<<2,k=A>>>12|0,A=A>>>14|0,A2(r,(((n|k&1)<<2|k&2|A&1)<<2|A&2)&254),A=i[e+56>>2],k=A>>>18|0,n=k&2|(A>>>16&2|k&1)<<2,k=A>>>20|0,A=A>>>22|0,A2(r,(((n|k&1)<<2|k&2|A&1)<<2|A&2)&254),A=i[e+56>>2],k=A>>>26|0,n=k&2|(A>>>24&2|k&1)<<2,k=A>>>28|0,A=A>>>30|0,A2(r,(((n|k&1)<<2|k&2|A&1)<<2|A)&254),A=s[e+60|0],k=A>>>4|0,k=k&2|(k&1|(A>>>2&2|(A&4|A<<2&8)))<<2,A=A>>>6|0,A2(r,((k|A&1)<<2|A)&254),A=i[e+60>>2],k=A>>>10|0,n=k&2|(A>>>8&2|k&1)<<2,k=A>>>12|0,A=A>>>14|0,A2(r,(((n|k&1)<<2|k&2|A&1)<<2|A&2)&254),A2(r,s[e+64|0]),w2(r,Q[e+66>>1]|61440),A2(r,s[e+68|0]|252),A2(r,s[e+69|0]|252),A2(r,s[e+70|0]|248),A2(r,s[e+71|0]|248),w2(r,Q[e+72>>1]),A2(r,(s[e+80|0]-1&3|(s[e+76|0]<<2&4|(s[e+75|0]<<3&56|s[e+74|0]<<6)))&255),A2(r,i[e+88>>2]-i[e+84>>2]>>>4&255),A=i[e+84>>2],n=i[e+88>>2],(A|0)!=(n|0))for(;;){if(A2(r,s[A|0]<<6&64|s[A+1|0]&63),w2(r,(i[A+8>>2]-i[A+4>>2]|0)/12&65535),k=i[A+4>>2],o=i[A+8>>2],(k|0)!=(o|0))for(;w2(r,i[k+4>>2]-i[k>>2]&65535),D4(r,k),k=k+12|0,(o|0)!=(k|0););if(A=A+16|0,(n|0)==(A|0))break}Y4(t+12|0,e,r,u),l[t+31|0]<0&&G(i[t+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=t+32|0}function Xw(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0;A=B-16|0,B=A;i:{r:{if(!i[f+64>>2]){n=-1;break r}r=i[f+92>>2]&8,r||(i[f+28>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0,n=s[f+98|0],e=i[(n?32:56)+f>>2],n=e+i[(n?52:60)+f>>2]|0,i[f+16>>2]=n,i[f+12>>2]=n,i[f+8>>2]=e,i[f+92>>2]=8),i[f+12>>2]||(e=A+16|0,i[f+16>>2]=e,i[f+12>>2]=e,i[f+8>>2]=A+15),r&&(e=i[f+16>>2],r=i[f+8>>2],i[A+4>>2]=4,i[A+8>>2]=(e-r|0)/2,e=B-16|0,B=e,B=e+16|0,e=A+4|0,r=A+8|0,t=i[(k0[e>>2]<k0[r>>2]?e:r)>>2]),n=-1,e=i[f+16>>2];e:{if((e|0)==i[f+12>>2]){if(F2(i[f+8>>2],e-t|0,t),s[f+98|0]==1){if(e=i[f+8>>2]+t|0,e=u9(e,i[f+16>>2]-e|0,i[f+64>>2]),!e)break e;r=i[f+8>>2],n=i[f+8>>2]+t|0,i[f+16>>2]=e+(i[f+8>>2]+t|0),i[f+12>>2]=n,i[f+8>>2]=r,n=s[i[f+12>>2]];break e}e=i[f+40>>2],r=i[f+36>>2];A:{if((e|0)==(r|0)){r=e;break A}F2(i[f+32>>2],r,e-r|0),e=i[f+36>>2],r=i[f+40>>2]}if(k=i[f+32>>2],e=r-e|0,i[f+36>>2]=k+e,r=(k|0)==(f+44|0)?8:i[f+52>>2],i[f+40>>2]=r+k,i[A+8>>2]=i[f+60>>2]-t,i[A+4>>2]=r-e,e=B-16|0,B=e,B=e+16|0,r=A+4|0,e=A+8|0,r=i[(k0[r>>2]<k0[e>>2]?r:e)>>2],k=i[f+76>>2],i[f+80>>2]=i[f+72>>2],i[f+84>>2]=k,k=u9(i[f+36>>2],r,i[f+64>>2]),!k)break e;if(r=i[f+68>>2],!r)break i;k=k+i[f+36>>2]|0,i[f+40>>2]=k,o=k,k=i[f+8>>2];A:{if((V[i[i[r>>2]+16>>2]](r,f+72|0,i[f+32>>2],o,f+36|0,k+t|0,k+i[f+60>>2]|0,e)|0)==3){e=i[f+32>>2],i[f+16>>2]=i[f+40>>2],i[f+12>>2]=e,i[f+8>>2]=e;break A}if(e=i[A+8>>2],r=i[f+8>>2],t=r+t|0,(e|0)==(t|0))break e;i[f+16>>2]=e,i[f+12>>2]=t,i[f+8>>2]=r}n=s[i[f+12>>2]];break e}n=s[i[f+12>>2]]}if(i[f+8>>2]!=(A+15|0))break r;i[f+16>>2]=0,i[f+12>>2]=0,i[f+8>>2]=0}return B=A+16|0,n|0}u1(),P()}function Gw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,o=A+8|0,l[78275]>=0){k=i[19567],i[o>>2]=i[19566],i[o+4>>2]=k,i[o+8>>2]=i[19568];break i}_0(o,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{r:{if(s[e+48|0]){h4(f,e,15336);break r}if(B4(A+20|0,r),l[e+67|0]<0&&G(i[e+56>>2]),k=i[A+24>>2],i[e+56>>2]=i[A+20>>2],i[e+60>>2]=k,i[e+64>>2]=i[A+28>>2],i[r+16>>2])for(;;){w=B2(r),h=i[e+72>>2],k=i[e+76>>2];e:{if(h>>>0<k>>>0){l[h|0]=w,_=h+1|0;break e}if(u=i[e+68>>2],o=h-u|0,t=o+1|0,(t|0)<0)break i;n=k-u|0,k=n<<1,n=n>>>0>=1073741823?2147483647:k>>>0>t>>>0?k:t,n?k=U(n):k=0,t=o+k|0,l[t|0]=w,w=k+n|0,_=t+1|0;A:{if((u|0)==(h|0)){k=t;break A}if(v=0,n=h,o=o&3,o)for(;t=t-1|0,n=n-1|0,l[t|0]=s[n|0],v=v+1|0,(o|0)!=(v|0););if(u-h>>>0<=4294967292)for(;l[t-1|0]=s[n-1|0],l[t-2|0]=s[n-2|0],l[t-3|0]=s[n-3|0],t=t-4|0,n=n-4|0,l[t|0]=s[n|0],(n|0)!=(u|0););u=i[e+68>>2]}if(i[e+76>>2]=w,i[e+72>>2]=_,i[e+68>>2]=k,!u)break e;G(u)}if(i[e+72>>2]=_,!i[r+16>>2])break}if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break r;G(i[A+20>>2]);break r}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,e=f+8|0,l[78275]>=0){f=i[19567],i[e>>2]=i[19566],i[e+4>>2]=f,i[e+8>>2]=i[19568];break r}_0(e,i[19566],i[19567])}B=A+32|0;return}y0(),P()}function Cw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;k=B-16|0,B=k,v=e,Z=B2(r),l[v+48|0]=Z,v=e,Z=B2(r),l[v+49|0]=Z,v=e,Z=B2(r),l[v+50|0]=Z,v=e,Z=B2(r),l[v+51|0]=Z,v=e,Z=(B2(r)&3)+1|0,l[v+52|0]=Z;i:{if(h=B2(r)&31,!h)break i;for(_=e+56|0;;){t=t2(r),i[k+12>>2]=0,i[k+4>>2]=0,i[k+8>>2]=0,n=0,A=0,t&&(A=U(t),i[k+4>>2]=A,n=A+t|0,i[k+12>>2]=n,B0(A,0,t),i[k+8>>2]=n),D6(r,A,n-A|0);r:{A=i[e+60>>2];e:{if(A>>>0<k0[e+64>>2]){if(i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,n=i[k+8>>2],o=i[k+4>>2],(n|0)!=(o|0)){if(n=n-o|0,(n|0)<0)break r;t=U(n),i[A+4>>2]=t,i[A>>2]=t,w=n+t|0,i[A+8>>2]=w,l0(t,o,n),i[A+4>>2]=w}A=A+12|0;break e}A=v6(_,k+4|0)}if(i[e+60>>2]=A,A=i[k+4>>2],A&&(i[k+8>>2]=A,G(A)),u=u+1|0,(h|0)!=(u|0))continue;break i}break}y0(),P()}i:{if(h=B2(r),!h)break i;for(_=e+68|0,u=0;;){t=t2(r),i[k+12>>2]=0,i[k+4>>2]=0,i[k+8>>2]=0,n=0,A=0,t&&(A=U(t),i[k+4>>2]=A,n=A+t|0,i[k+12>>2]=n,B0(A,0,t),i[k+8>>2]=n),D6(r,A,n-A|0);r:{A=i[e+72>>2];e:{if(A>>>0<k0[e+76>>2]){if(i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,n=i[k+8>>2],o=i[k+4>>2],(n|0)!=(o|0)){if(n=n-o|0,(n|0)<0)break r;t=U(n),i[A+4>>2]=t,i[A>>2]=t,w=n+t|0,i[A+8>>2]=w,l0(t,o,n),i[A+4>>2]=w}A=A+12|0;break e}A=v6(_,k+4|0)}if(i[e+72>>2]=A,A=i[k+4>>2],A&&(i[k+8>>2]=A,G(A)),u=u+1|0,(h|0)!=(u|0))continue;break i}break}y0(),P()}i:{if(s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function Vw(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;f=B-480|0,B=f,t=f+476|0,o=i[A+28>>2],i[t>>2]=o,(o|0)!=100008&&(i[o+4>>2]=i[o+4>>2]+1),p=x0(t,100184),s[n+11|0]>>>7|0?t=i[n+4>>2]:t=s[n+11|0]&127,t&&(s[n+11|0]>>>7|0?t=i[n>>2]:t=n,W=i[t>>2]==(V[i[i[p>>2]+44>>2]](p,45)|0)),t=B-16|0,B=t,_=f+452|0,i[_>>2]=0,i[_+4>>2]=0,i[_+8>>2]=0,B=t+16|0,t=B-16|0,B=t,u=f+440|0,i[u>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,B=t+16|0,t=B-16|0,B=t,h=f+428|0,i[h>>2]=0,i[h+4>>2]=0,i[h+8>>2]=0,B=t+16|0,Zn(r,W,f+476|0,f+472|0,f+468|0,f+464|0,_,u,h,f+424|0),i[f+16>>2]=1094,r=f+16|0,w=o1(f+8|0,0,r);i:{s[n+11|0]>>>7|0?t=i[n+4>>2]:t=s[n+11|0]&127;r:{if((t|0)>i[f+424>>2]){s[n+11|0]>>>7|0?o=i[n+4>>2]:o=s[n+11|0]&127,t=i[f+424>>2],s[u+11|0]>>>7|0?v=i[u+4>>2]:v=s[u+11|0]&127,s[h+11|0]>>>7|0?Z=i[h+4>>2]:Z=s[h+11|0]&127,t=(t+(v+(Z+(o-t<<1)|0)|0)|0)+1|0;break r}v=i[f+424>>2],s[h+11|0]>>>7|0?t=i[h+4>>2]:t=s[h+11|0]&127,s[u+11|0]>>>7|0?o=i[u+4>>2]:o=s[u+11|0]&127,t=(v+(t+o|0)|0)+2|0}if(t>>>0<101||(r=Z2(t<<2),t=i[w>>2],i[w>>2]=r,t&&V[i[w+4>>2]](t),r=i[w>>2],r))break i;u1(),P()}return v=f+4|0,Z=i[A+4>>2],s[n+11|0]>>>7|0?t=i[n>>2]:t=n,o=t,s[n+11|0]>>>7|0?t=i[n>>2]:t=n,s[n+11|0]>>>7|0?n=i[n+4>>2]:n=s[n+11|0]&127,Lk(r,v,f,Z,o,t+(n<<2)|0,p,W,f+472|0,i[f+468>>2],i[f+464>>2],_,u,h,i[f+424>>2]),e=X8(e,r,i[f+4>>2],i[f>>2],A,k),r=i[w>>2],i[w>>2]=0,r&&V[i[w+4>>2]](r),l1(h),l1(u),z0(_),O0(f+476|0),B=f+480|0,e|0}function Iw(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;f=B-176|0,B=f,t=f+172|0,o=i[A+28>>2],i[t>>2]=o,(o|0)!=100008&&(i[o+4>>2]=i[o+4>>2]+1),p=x0(t,100192),s[n+11|0]>>>7|0?t=i[n+4>>2]:t=s[n+11|0]&127,t&&(s[n+11|0]>>>7|0?t=i[n>>2]:t=n,W=s[t|0]==(V[i[i[p>>2]+28>>2]](p,45)&255)),t=B-16|0,B=t,_=f+152|0,i[_>>2]=0,i[_+4>>2]=0,i[_+8>>2]=0,B=t+16|0,t=B-16|0,B=t,u=f+140|0,i[u>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,B=t+16|0,t=B-16|0,B=t,h=f+128|0,i[h>>2]=0,i[h+4>>2]=0,i[h+8>>2]=0,B=t+16|0,Wn(r,W,f+172|0,f+168|0,f+167|0,f+166|0,_,u,h,f+124|0),i[f+16>>2]=1094,r=f+16|0,w=o1(f+8|0,0,r);i:{s[n+11|0]>>>7|0?t=i[n+4>>2]:t=s[n+11|0]&127;r:{if((t|0)>i[f+124>>2]){s[n+11|0]>>>7|0?o=i[n+4>>2]:o=s[n+11|0]&127,t=i[f+124>>2],s[u+11|0]>>>7|0?v=i[u+4>>2]:v=s[u+11|0]&127,s[h+11|0]>>>7|0?Z=i[h+4>>2]:Z=s[h+11|0]&127,t=(t+(v+(Z+(o-t<<1)|0)|0)|0)+1|0;break r}v=i[f+124>>2],s[h+11|0]>>>7|0?t=i[h+4>>2]:t=s[h+11|0]&127,s[u+11|0]>>>7|0?o=i[u+4>>2]:o=s[u+11|0]&127,t=(v+(t+o|0)|0)+2|0}if(t>>>0<101||(r=Z2(t),t=i[w>>2],i[w>>2]=r,t&&V[i[w+4>>2]](t),r=i[w>>2],r))break i;u1(),P()}return v=f+4|0,Z=i[A+4>>2],s[n+11|0]>>>7|0?t=i[n>>2]:t=n,o=t,s[n+11|0]>>>7|0?t=i[n>>2]:t=n,s[n+11|0]>>>7|0?n=i[n+4>>2]:n=s[n+11|0]&127,Kk(r,v,f,Z,o,t+n|0,p,W,f+168|0,l[f+167|0],l[f+166|0],_,u,h,i[f+124>>2]),e=G8(e,r,i[f+4>>2],i[f>>2],A,k),r=i[w>>2],i[w>>2]=0,r&&V[i[w+4>>2]](r),z0(h),z0(u),z0(_),O0(f+172|0),B=f+176|0,e|0}function Qw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;k=B-32|0,B=k,A=D0(r),i[e+52>>2]=A&16777215,l[e+48|0]=A>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[k+20|0]=0,l[k+31|0]=0,r0(k,2,100,k+20|0),l[k+31|0]>=0)break i;G(i[k+20>>2]);break i}if(A=i[19565],i[k>>2]=i[19564],i[k+4>>2]=A,A=k+8|0,l[78275]>=0){n=i[19567],i[A>>2]=i[19566],i[A+4>>2]=n,i[A+8>>2]=i[19568];break i}_0(A,i[19566],i[19567])}l[k+19|0]<0&&G(i[k+8>>2]);i:{if(s[e+48|0]){h4(f,e,8812);break i}if(A=D0(r),(A|0)<0){if(e=U(32),i[k+20>>2]=e,i[k+24>>2]=30,i[k+28>>2]=-2147483616,r=s[17430]|s[17431]<<8|(s[17432]<<16|s[17433]<<24),A=s[17426]|s[17427]<<8|(s[17428]<<16|s[17429]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+30|0]=0,r=s[17452]|s[17453]<<8|(s[17454]<<16|s[17455]<<24),A=s[17448]|s[17449]<<8|(s[17450]<<16|s[17451]<<24),l[e+22|0]=A,l[e+23|0]=A>>>8,l[e+24|0]=A>>>16,l[e+25|0]=A>>>24,l[e+26|0]=r,l[e+27|0]=r>>>8,l[e+28|0]=r>>>16,l[e+29|0]=r>>>24,r=s[17446]|s[17447]<<8|(s[17448]<<16|s[17449]<<24),A=s[17442]|s[17443]<<8|(s[17444]<<16|s[17445]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[17438]|s[17439]<<8|(s[17440]<<16|s[17441]<<24),A=s[17434]|s[17435]<<8|(s[17436]<<16|s[17437]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,6,1e3,k+20|0),l[k+31|0]>=0)break i;G(i[k+20>>2]);break i}Yr(f,e,r,A)}B=k+32|0}function P1(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0;if(o=B-16|0,B=o,n=i[f+76>>2],!n){k=U(88),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=71184,n=k+16|0,i[n+8>>2]=0,i[n+12>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+32>>2]=0,i[n>>2]=68500,i[k+52>>2]=0,i[k+56>>2]=0,i[k+68>>2]=0,l[k+57|0]=0,l[k+58|0]=0,l[k+59|0]=0,l[k+60|0]=0,l[k+61|0]=0,l[k+62|0]=0,l[k+63|0]=0,l[k+64|0]=0,i[n>>2]=69612,i[k+80>>2]=0,i[k+72>>2]=0,i[k+76>>2]=0,i[k+32>>2]=1769104742,i[f+76>>2]=n,t=i[f+80>>2],i[f+80>>2]=k;i:{r:{e:{A:{f:{if(!t){t=i[f+36>>2],i[o+12>>2]=k,i[o+8>>2]=n;break f}if(k=i[t+4>>2],i[t+4>>2]=k-1,k||(V[i[i[t>>2]+8>>2]](t),g(t)),t=i[f+36>>2],n=i[f+76>>2],k=i[f+80>>2],i[o+12>>2]=k,i[o+8>>2]=n,!k)break A}if(i[k+4>>2]=i[k+4>>2]+1,h=t+40|0,u=i[t+40>>2],u>>>0>=k0[t+44>>2])break r;i[u+4>>2]=k,i[u>>2]=n,i[k+4>>2]=i[k+4>>2]+1;break e}if(h=t+40|0,u=i[t+40>>2],u>>>0>=k0[t+44>>2])break r;i[u+4>>2]=0,i[u>>2]=n}k=u+8|0;break i}k=Q2(t+36|0,o+8|0)}i[h>>2]=k,k=i[o+12>>2];i:{if(!k||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break i;V[i[i[k>>2]+8>>2]](k),g(k)}n=i[f+76>>2]}f=B+-64|0,B=f,i[f+24>>2]=0,i[f+28>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+24>>2]=r,i[f+16>>2]=0,i[f+20>>2]=0,i[f+60>>2]=0,i[f+52>>2]=0,i[f+56>>2]=0,i[f+48>>2]=e,i[f+8>>2]=68500,e=f+52|0,(e|0)!=(A|0)&&(k=e,e=i[A>>2],r=i[A+4>>2],ki(k,e,r,r-e>>2)),e=i[n+60>>2];i:{if(e>>>0<k0[n+64>>2]){Z6(e,f+8|0),e=e+56|0;break i}e=xA(n+56|0,f+8|0)}i[n+60>>2]=e,e=i[f+52>>2],e&&(i[f+56>>2]=e,G(e)),i[f+8>>2]=68500,e=i[f+28>>2],e&&(i[f+32>>2]=e,G(e)),B=f- -64|0,B=o+16|0}function yw(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0;k=B-48|0,B=k;i:{r:{if(!A){if(l[k+16|0]=0,l[k+27|0]=0,r=f,f=r0(k+28|0,5,2001,k+16|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[k+27|0]>=0)break r;G(i[k+16>>2]);break r}n=i[e>>2],i[k+24>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,o=i[n+152>>2],u=i[n+156>>2];e:{if((o|0)!=(u|0)){if(n=u-o|0,(n|0)<0)break i;for(t=U(n),i[k+16>>2]=t,i[k+24>>2]=n+t,n=t;i[n>>2]=i[o>>2],h=n,n=i[o+4>>2],i[h+4>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),n=h+8|0,o=o+8|0,(u|0)!=(o|0););for(i[k+20>>2]=n,o=t;;){if(u=i[o>>2],i[u+20>>2]==(r|0)){r=U(16),i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[A>>2]=r,n=i[o+4>>2];A:{if(!n){i[r+4>>2]=n,i[r>>2]=u;break A}if(i[n+4>>2]=i[n+4>>2]+1,i[r>>2]=u,t=i[r+4>>2],i[r+4>>2]=n,!t||(r=i[t+4>>2],i[t+4>>2]=r-1,r))break A;V[i[i[t>>2]+8>>2]](t),g(t)}r=i[e+8>>2],A=i[A>>2],t=i[e+12>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[A+8>>2]=r,r=i[A+12>>2],i[A+12>>2]=t;A:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break A;V[i[i[r>>2]+8>>2]](r),g(r)}P0(f,78256,i[e>>2]),t=i[k+16>>2];break e}if(n=(o|0)!=(h|0),o=o+8|0,!n)break}}if(l[k+4|0]=0,l[k+15|0]=0,r=r0(k+28|0,5,2e3,k+4|0),l[k+15|0]<0&&G(i[k+4>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break e;G(i[r+8>>2])}if(!t)break r;if(f=t,o=i[k+20>>2],(o|0)!=(t|0)){for(;;){f=i[o-4>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(o=o-8|0,(o|0)==(t|0))break}f=i[k+16>>2]}i[k+20>>2]=t,G(f)}B=k+48|0;return}y0(),P()}function Fw(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0;k=B-48|0,B=k;i:{r:{if(!A){if(l[k+16|0]=0,l[k+27|0]=0,r=f,f=r0(k+28|0,5,2001,k+16|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[k+27|0]>=0)break r;G(i[k+16>>2]);break r}n=i[e>>2],i[k+24>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,o=i[n+36>>2],u=i[n+40>>2];e:{if((o|0)!=(u|0)){if(n=u-o|0,(n|0)<0)break i;for(t=U(n),i[k+16>>2]=t,i[k+24>>2]=n+t,n=t;i[n>>2]=i[o>>2],h=n,n=i[o+4>>2],i[h+4>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),n=h+8|0,o=o+8|0,(u|0)!=(o|0););for(i[k+20>>2]=n,o=t;;){if(u=i[o>>2],i[u+20>>2]==(r|0)){r=U(16),i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[A>>2]=r,n=i[o+4>>2];A:{if(!n){i[r+4>>2]=n,i[r>>2]=u;break A}if(i[n+4>>2]=i[n+4>>2]+1,i[r>>2]=u,t=i[r+4>>2],i[r+4>>2]=n,!t||(r=i[t+4>>2],i[t+4>>2]=r-1,r))break A;V[i[i[t>>2]+8>>2]](t),g(t)}r=i[e+8>>2],A=i[A>>2],t=i[e+12>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[A+8>>2]=r,r=i[A+12>>2],i[A+12>>2]=t;A:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break A;V[i[i[r>>2]+8>>2]](r),g(r)}P0(f,78256,i[e>>2]),t=i[k+16>>2];break e}if(n=(o|0)!=(h|0),o=o+8|0,!n)break}}if(l[k+4|0]=0,l[k+15|0]=0,r=r0(k+28|0,5,2e3,k+4|0),l[k+15|0]<0&&G(i[k+4>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break e;G(i[r+8>>2])}if(!t)break r;if(f=t,o=i[k+20>>2],(o|0)!=(t|0)){for(;;){f=i[o-4>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(o=o-8|0,(o|0)==(t|0))break}f=i[k+16>>2]}i[k+20>>2]=t,G(f)}B=k+48|0;return}y0(),P()}function Ew(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(Q4(x(Q4(x(k,19560,17),i0[e+64>>3]),21692,2),i0[e+72>>3]),31338,1);i:{if(s[e+80|0]==1){n=A+148|0,W0(n,r),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(Q4(x(Q4(x(k,20510,14),i0[e+56>>3]),21692,2),i0[e+88>>3]),31338,1),n=A+148|0,W0(n,r),o=k,r=l[A+159|0],k=(r|0)<0,x(o,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(Q4(x(A+12|0,19553,6),i0[e+96>>3]),31338,1);break i}k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(Q4(x(k,20510,14),i0[e+56>>3]),31338,1),e=A+148|0,W0(e,r),n=e,e=l[A+159|0],r=(e|0)<0,x(k,r?i[A+148>>2]:n,r?i[A+152>>2]:e),l[A+159|0]<0&&G(i[A+148>>2]),x(A+12|0,21743,8)}i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function u6(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0;h=B-32|0,B=h,D8(h+24|0,i[e+48>>2],n),n=i[h+24>>2],l[n+124|0]=1,i[n+52>>2]=i[n+52>>2]&-2|1;i:{r:{if(!t)break r;if(_=i[h+24>>2],n=G2(t),n>>>0>=2147483640)break i;e:{A:{if(n>>>0>=11){v=(n|7)+1|0,w=U(v),i[h+20>>2]=v|-2147483648,i[h+12>>2]=w,i[h+16>>2]=n;break A}if(l[h+23|0]=n,w=h+12|0,!n)break e}l0(w,t,n)}l[n+w|0]=0,n=_+88|0;e:{if((n|0)==(h+12|0))break e;if(t=l[h+23|0],l[_+99|0]>=0){if((t|0)>=0){t=i[h+16>>2],i[n>>2]=i[h+12>>2],i[n+4>>2]=t,i[n+8>>2]=i[h+20>>2];break e}i4(n,i[h+12>>2],i[h+16>>2]);break e}w=n,n=(t|0)<0,_4(w,n?i[h+12>>2]:h+12|0,n?i[h+16>>2]:t)}if(l[h+23|0]>=0)break r;G(i[h+12>>2])}n=i[i[h+24>>2]+56>>2],u&&(i[u>>2]=n),t=i[e+48>>2],u=i[i[r>>2]+20>>2],r=U(4),i[h+12>>2]=r,w=r+4|0,i[h+20>>2]=w,i[r>>2]=u,i[h+16>>2]=w,P1(t,n,1667527523,h+12|0),r=i[h+12>>2],r&&(i[h+16>>2]=r,G(r)),i[h+20>>2]=0,i[h+12>>2]=0,i[h+16>>2]=0;r:{e:switch(o-3|0){case 1:if(l[h|0]=0,l[h+11|0]=0,r0(f,4,3005,h),l[h+11|0]>=0)break r;G(i[h>>2]);break r;case 0:if(l[h|0]=0,l[h+11|0]=0,r0(f,4,3005,h),l[h+11|0]>=0)break r;G(i[h>>2]);break r;default:break e}if(k?(L2(h+12|0,k),r=i[h+12>>2]):r=0,l0(r,A,k),hi(i[e+48>>2],n,h+12|0,0),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567])}f=i[h+12>>2],f&&(i[h+16>>2]=f,G(f)),f=i[h+28>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}B=h+32|0;return}c2(),P()}function Yw(f){f=f|0;var e=0,r=0,A=0,k=0;he(f+120|0,i[f+124>>2]),e=i[f+116>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+108>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+100>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+92>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+84>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+76>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+68>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+60>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+52>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+44>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+36>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(e=i[f+20>>2],e){if(r=e,A=i[f+24>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+20>>2]}i[f+24>>2]=e,G(r)}f=i[f+16>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}}function Jw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],o=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(o,n),i[o+72>>2]=0,i[o+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,o=$0(n),i[o>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),t=k,u=n,k=l[A+159|0],n=(k|0)<0,x(t,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(k,21642,25),x(L0(x(L0(x(k,18657,1),Q[e+48>>1]),16376,1),Q[e+54>>1]),21691,3),x(L0(x(L0(x(k,18657,1),Q[e+50>>1]),16376,1),Q[e+56>>1]),21691,3),x(L0(x(L0(x(k,18657,1),Q[e+52>>1]),16376,1),Q[e+58>>1]),31337,2),n=A+148|0,W0(n,r),t=k,u=n,k=l[A+159|0],n=(k|0)<0,x(t,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(L0(x(L0(x(k,18638,20),Q[e+60>>1]),16376,1),Q[e+62>>1]),31337,2),n=A+148|0,W0(n,r),t=k,u=n,k=l[A+159|0],n=(k|0)<0,x(t,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(L0(x(k,21146,33),i[e+64>>2]),31338,1),n=A+148|0,W0(n,r),t=k,r=l[A+159|0],k=(r|0)<0,x(t,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,21180,33),i[e+68>>2]),31338,1),i2(f,o),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[o>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(o),T0(A+68|0),B=A+160|0}function ck(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;n=B-160|0,B=n,i[n+20>>2]=54496,i[n+76>>2]=54516,o=i[13633],i[n+12>>2]=o,h=n+12|0,i[h+i[o-12>>2]>>2]=i[13634],i[n+16>>2]=0,o=h+i[i[n+12>>2]-12>>2]|0,t=n+24|0,b0(o,t),i[o+72>>2]=0,i[o+76>>2]=-1,o=i[13635],i[n+20>>2]=o,u=i[o-12>>2],o=n+20|0,i[u+o>>2]=i[13636],u=i[13632],i[n+12>>2]=u,i[h+i[u-12>>2]>>2]=i[13637],i[n+76>>2]=54516,i[n+12>>2]=54476,i[n+20>>2]=54496,h=$0(t),i[h>>2]=53552,t=n- -64|0,i[t>>2]=0,i[t+4>>2]=0,i[n+56>>2]=0,i[n+60>>2]=0,i[n+72>>2]=24,t=i[n+20>>2]-12|0,u=o+i[t>>2]|0,i[u+4>>2]=i[u+4>>2]&-75|8,u=o+i[t>>2]|0,i[u+76>>2]==-1&&(w=n+156|0,t=i[u+28>>2],i[w>>2]=t,(t|0)!=100008&&(i[t+4>>2]=i[t+4>>2]+1),t=x0(w,100192),V[i[i[t>>2]+28>>2]](t,32)|0,O0(w)),i[u+76>>2]=48;i:{if(!r)break i;t=l[A+11|0],u=(t|0)<0,x(o,u?i[A>>2]:A,u?i[A+4>>2]:t),t=n+32|0,i[t+i[i[n+20>>2]-12>>2]>>2]=4,x(L0(o,0),21688,2),i[t+i[i[n+20>>2]-12>>2]>>2]=2,H0(o,s[e|0]);r:{if(u=r-1|0,u){A=1;break r}x(o,31338,1);break i}for(;;){r:{e:{A:{f:switch(w=A&15,w|0){case 0:break f;case 8:break A;default:break e}_=l[k+11|0],v=(_|0)<0,x(o,v?i[k>>2]:k,v?i[k+4>>2]:_),i[t+i[i[n+20>>2]-12>>2]>>2]=4,x(L0(o,A),21688,2);break r}x(o,21740,2);break r}x(o,21741,1)}if(i[t+i[i[n+20>>2]-12>>2]>>2]=2,H0(o,s[e+A|0]),(A|0)!=(u|0)&(w|0)!=15||x(o,31338,1),A=A+1|0,(A|0)==(r|0))break}}i2(f,h),f=i[13631],i[n+12>>2]=f,i[i[f-12>>2]+(n+12|0)>>2]=i[13639],i[n+20>>2]=i[13640],i[h>>2]=53552,l[n+67|0]<0&&G(i[n+56>>2]),K0(h),T0(n+76|0),B=n+160|0}function U8(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;h=255,n=i[e>>2],t=i[n+64>>2];i:{if(!t){w=-1,_=-1;break i}for(o=n- -64|0,k=o,n=t;u=i[n+16>>2]<(r|0),k=u?k:n,n=i[(u<<2)+n>>2],!!n;);for(_=-1,_=(k|0)==(o|0)|i[k+16>>2]>(r|0)?_:i[k+24>>2],k=o,n=t;u=i[n+16>>2]<(r|0),k=u?k:n,n=i[(u<<2)+n>>2],!!n;);for(w=-1,w=(k|0)==(o|0)|i[k+16>>2]>(r|0)?w:i[k+28>>2],n=o;k=i[t+16>>2]<(r|0),n=k?n:t,t=i[(k<<2)+t>>2],!!t;);if((n|0)==(o|0)|i[n+16>>2]>(r|0))break i;h=s[n+20|0]}J0(f,A,_,w,h),v=i[e>>2],e=v- -64|0;i:{r:{if(n=i[v+64>>2],!n)break r;for(k=e,t=n;o=i[t+16>>2]<(r|0),k=o?k:t,t=i[(o<<2)+t>>2],!!t;);if((e|0)==(k|0))break r;if(h=0,o=0,i[k+16>>2]>(r|0))break i;h=i[k+40>>2],o=i[k+48>>2];break i}h=0,o=0}t=i[f+64>>2],u=0;i:{if(!t)break i;for(u=f- -64|0,k=u;f=i[t+16>>2]<(A|0),k=f?k:t,t=i[(f<<2)+t>>2],!!t;);if((k|0)==(u|0)){u=0;break i}if(u=0,i[k+16>>2]>(A|0))break i;Z=i[k+48>>2],u=i[k+40>>2]}f=u;i:{if((r|0)==10){if(A=31,e=i[v+36>>2]-10|0,e>>>0>=6)break i;A=i[(e<<2)+35392>>2];break i}if(A=0,!n)break i;for(k=e;t=i[n+16>>2]<(r|0),k=t?k:n,n=i[(t<<2)+n>>2],!!n;);if((e|0)==(k|0)|i[k+16>>2]>(r|0))break i;A=(s[k+20|0]+7&248)>>>3|0}i:{if((w|0)<=0)break i;if(n=m(A,_),r=0,(w|0)!=1)for(A=w&2147483646,k=0;l0(f+m(r,Z)|0,m(r,o)+h|0,n),e=r|1,l0(f+m(e,Z)|0,m(e,o)+h|0,n),r=r+2|0,k=k+2|0,(A|0)!=(k|0););if(!(w&1))break i;l0(f+m(r,Z)|0,m(r,o)+h|0,n)}}function gw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;A=B-160|0,B=A,i[A+68>>2]=54820,u=i[13708],i[A+12>>2]=u,k=A+12|0,i[k+i[u-12>>2]>>2]=i[13709],u=k+i[i[A+12>>2]-12>>2]|0,o=A+16|0,b0(u,o),i[u+72>>2]=0,i[u+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,u=$0(o),i[u>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,o=A+148|0,R2(o,e,r),n=k,t=o,k=l[A+159|0],o=(k|0)<0,x(n,o?i[A+148>>2]:t,o?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),n=k,k=l[A+159|0],o=(k|0)<0,x(A+12|0,o?i[A+148>>2]:n,o?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,h=x(k,20602,6),o=e+56|0,n=l[e+67|0],t=(n|0)<0,x(x(h,t?i[e+56>>2]:o,t?i[e+60>>2]:n),31338,1),n=A+148|0,W0(n,r),t=k,h=n,k=l[A+159|0],n=(k|0)<0,x(t,n?i[A+148>>2]:h,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,h=x(k,21086,6),n=l[e+79|0],t=(n|0)<0,x(x(h,t?i[e+68>>2]:e+68|0,t?i[e+72>>2]:n),31338,1),n=A+148|0,W0(n,r),t=k,h=n,k=l[A+159|0],n=(k|0)<0,x(t,n?i[A+148>>2]:h,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,h=x(k,20174,13),n=l[e+91|0],t=(n|0)<0,x(x(h,t?i[e+80>>2]:e+80|0,t?i[e+84>>2]:n),31338,1),n=A+148|0,W0(n,r),t=k,r=l[A+159|0],k=(r|0)<0,x(t,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,t=x(r,19842,6),n=o,k=l[e+67|0],o=(k|0)<0,x(x(t,o?i[e+56>>2]:n,o?i[e+60>>2]:k),31338,1),i2(f,u),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[u>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(u),T0(A+68|0),B=A+160|0}function Nw(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0;h=B-16|0,B=h;i:{if(!wo(t,0)){i[f>>2]=5,i[f+4>>2]=2002,i[f+8>>2]=7709;break i}if(u=U(44),i[u+40>>2]=0,i[u+32>>2]=0,i[u+36>>2]=0,i[u+12>>2]=73364,i[u+4>>2]=0,i[u+8>>2]=0,i[u+28>>2]=n,i[u+24>>2]=k,i[u+20>>2]=A,i[u+16>>2]=r,i[u>>2]=73608,r=u+32|0,A=0,k=m(k,n)+7|0,k>>>0>=8&&(L2(r,k>>>3|0),_=i[u+36>>2],A=i[u+32>>2]),v=u+12|0,k=0,B0(A,0,_-A|0),A=ho(t,0),n=so(t,0),_=T6(t,0,h+12|0),!(!A|!n))for(;;){for(t=0;p=i[r>>2]+((Z&7)<<29|w>>>3)|0,l[p|0]=s[p|0]|(s[(_+m(i[h+12>>2],k)|0)+t|0]&128)>>>(w&7),w=w+1|0,Z=w?Z:Z+1|0,t=t+1|0,(n|0)!=(t|0););if(k=k+1|0,(A|0)==(k|0))break}r=i[e+8>>2],i[h+8>>2]=u,i[h+4>>2]=v,i[u+4>>2]=i[u+4>>2]+1,A=i[r+16>>2];r:{e:{if(A>>>0<k0[r+20>>2]){i[A+4>>2]=u,i[A>>2]=v,i[u+4>>2]=i[u+4>>2]+1,i[r+16>>2]=A+8,n=u;break e}if(A=Q2(r+12|0,h+4|0),n=i[h+8>>2],i[r+16>>2]=A,!n)break r}if(r=i[n+4>>2],i[n+4>>2]=r-1,r)break r;V[i[i[n>>2]+8>>2]](n),g(n)}r:{if(!o||(i[u+4>>2]=i[u+4>>2]+1,r=U(24),i[u+4>>2]=i[u+4>>2]+1,i[r+20>>2]=u,i[r+16>>2]=v,k=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=k,A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,i[o>>2]=r,e=i[u+4>>2],i[u+4>>2]=e-1,e))break r;V[i[i[u>>2]+8>>2]](u),g(u)}if(e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[u+4>>2],i[u+4>>2]=f-1,f)break i;V[i[i[u>>2]+8>>2]](u),g(u)}B=h+16|0}function gr(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;k=B-32|0,B=k,A=180,t=1;i:{r:{e:A:{f:switch(r-2|0){case 2:t=0;break r;case 3:A=270,o=1;break e;case 4:A=270;break A;case 5:A=270,t=0,o=1;break e;case 0:break r;case 1:break e;case 6:break f;default:break i}A=90}r=U(72),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=71064,n=r+16|0,i[n+8>>2]=0,i[n+12>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+32>>2]=0,i[n>>2]=68500,i[r+60>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[n>>2]=69432,i[r+64>>2]=A,i[r+32>>2]=1769107316,A=i[f+44>>2],i[k+28>>2]=r,i[k+24>>2]=n,i[r+4>>2]=i[r+4>>2]+1,n=N4(A,k+24|0),A=i[k+28>>2];e:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break e;V[i[i[A>>2]+8>>2]](A),g(A)}if(A=i[f+52>>2],X[k+22>>1]=n+1,l[k+20|0]=0,i[k+12>>2]=Q[k+20>>1]|Q[k+22>>1]<<16,c1(A,e,k+12|0),A=i[r+4>>2],i[r+4>>2]=A-1,A||(V[i[i[r>>2]+8>>2]](r),g(r)),!o)break i}r=U(72),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=71104,A=r+16|0,i[A+8>>2]=0,i[A+12>>2]=0,i[A+16>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A>>2]=68500,i[r+60>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[A>>2]=69492,i[r+64>>2]=t,i[r+32>>2]=1768778098,n=i[f+44>>2],i[k+28>>2]=r,i[k+24>>2]=A,i[r+4>>2]=i[r+4>>2]+1,n=N4(n,k+24|0),A=i[k+28>>2];r:{if(!A||(t=i[A+4>>2],i[A+4>>2]=t-1,t))break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(f=i[f+52>>2],X[k+18>>1]=n+1,l[k+16|0]=0,i[k+8>>2]=Q[k+16>>1]|Q[k+18>>1]<<16,c1(f,e,k+8|0),f=i[r+4>>2],i[r+4>>2]=f-1,f)break i;V[i[i[r>>2]+8>>2]](r),g(r)}B=k+32|0}function Rw(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;n=B-48|0,B=n;i:{if(!(k&&e)){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=7049;break i}t=i[e>>2],u=i[t+48>>2],t=i[t+52>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[n+44>>2]=0,i[n+36>>2]=0,i[n+40>>2]=0,o=n+16|0,I1(o,u,r,n+36|0);r:{if(i[n+16>>2]){P0(f,o,i[e>>2]);break r}if(r=A-1|0,e=i[n+36>>2],r>>>0>=i[n+40>>2]-e>>3>>>0){i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=10388;break r}e=e+(r<<3)|0,r=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);e:{A:{f:{k:{n:{if(!r||(r=N0(r,68572,68704),!r))break n;if(e&&(i[e+4>>2]=i[e+4>>2]+1),i[n+12>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,u=i[r+52>>2],A=i[r+48>>2],o=(u|0)==(A|0),o)break f;if(r=u-A|0,(r|0)<0)break k;A=l0(U(r),A,r),o||l0(k,A,r),r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r,i[f+8>>2]=i[18412],G(A);break A}i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=1956;break e}y0(),P()}r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r,i[f+8>>2]=i[18412]}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(l[n+35|0]<0&&G(i[n+24>>2]),r=i[n+36>>2],r){if(f=r,e=i[n+40>>2],(f|0)!=(e|0)){for(;;){f=i[e-4>>2];r:{if(!f||(A=i[f+4>>2],i[f+4>>2]=A-1,A))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(r|0)==(e|0))break}f=i[n+36>>2]}i[n+40>>2]=r,G(f)}if(!t||(f=i[t+4>>2],i[t+4>>2]=f-1,f))break i;V[i[i[t>>2]+8>>2]](t),g(t)}B=n+48|0}function Dw(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;for(Z=B-16|0,B=Z,u=r;;){i:{if((A|0)==(u|0)){u=A;break i}if(!i[u>>2])break i;u=u+4|0;continue}break}i[o>>2]=n,i[k>>2]=r;i:{for(;;){r:{e:{if(!((r|0)==(A|0)|(n|0)==(t|0))){h=i[e+4>>2],i[Z+8>>2]=i[e>>2],i[Z+12>>2]=h,y=1,p=B-16|0,B=p,i[p+12>>2]=i[f+8>>2],E=S4(p+8|0,p+12|0),h=n,w=t-h|0,W=0,C=B-16|0,B=C,_=i[k>>2],I=u-r>>2;A:{if(!_|!I)break A;for(w=h?w:0;;){if(v=ie(w>>>0<4?C+12|0:h,i[_>>2]),(v|0)==-1){W=-1;break A}if(h){if(w>>>0<=3){if(w>>>0<v>>>0)break A;l0(h,C+12|0,v)}w=w-v|0,h=h+v|0}else h=0;if(!i[_>>2]){_=0;break A}if(W=W+v|0,_=_+4|0,I=I-1|0,!I)break}}h&&(i[k>>2]=_),B=C+16|0,h=i[E>>2],h&&(i[23985]=(h|0)==-1?95820:h),B=p+16|0;A:{f:{k:switch(W+1|0){case 0:for(i[o>>2]=n;;){if(i[k>>2]==(r|0)||(e=y3(n,i[r>>2],i[f+8>>2]),(e|0)==-1))break f;n=e+i[o>>2]|0,i[o>>2]=n,r=r+4|0}case 1:break i;default:break k}if(n=i[o>>2]+W|0,i[o>>2]=n,(n|0)==(t|0))break A;if((A|0)==(u|0)){r=i[k>>2],u=A;continue}if(r=Z+4|0,u=y3(r,0,i[f+8>>2]),(u|0)==-1)break r;if(t-i[o>>2]>>>0<u>>>0)break i;for(;;){if(u){n=s[r|0],h=i[o>>2],i[o>>2]=h+1,l[h|0]=n,u=u-1|0,r=r+1|0;continue}break}for(r=i[k>>2]+4|0,i[k>>2]=r,u=r;;){if((A|0)==(u|0)){u=A;break e}if(!i[u>>2])break e;u=u+4|0}}i[k>>2]=r;break r}r=i[k>>2]}y=(r|0)!=(A|0);break i}n=i[o>>2];continue}break}y=2}return B=Z+16|0,y|0}function yA(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){t=i[19567],i[k>>2]=i[19566],i[k+4>>2]=t,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}i:{r:{e:{if(i[A>>2]!=i[19564]){e=i[A+4>>2],i[f>>2]=i[A>>2],i[f+4>>2]=e,i[f+16>>2]=i[A+16>>2],e=i[A+12>>2],i[f+8>>2]=i[A+8>>2],i[f+12>>2]=e,i[A+16>>2]=0,i[A+8>>2]=0,i[A+12>>2]=0;break e}Z=e,p=D0(r),i[Z+56>>2]=p,w=D0(r);A:{if(!w|!i[r+16>>2])break A;for(;;){u=D0(r),t=i[e+64>>2],n=i[e+68>>2];f:{if(t>>>0<n>>>0){i[t>>2]=u,u=t+4|0;break f}if(h=i[e+60>>2],o=t-h>>2,k=o+1|0,k>>>0>=1073741824)break r;if(v=o<<2,n=n-h|0,o=n>>1,o=n>>>0>=2147483644?1073741823:k>>>0<o>>>0?o:k,o){if(o>>>0>=1073741824)break i;k=U(o<<2)}else k=0;if(n=v+k|0,i[n>>2]=u,u=n+4|0,(t|0)!=(h|0))for(;n=n-4|0,t=t-4|0,i[n>>2]=i[t>>2],(t|0)!=(h|0););if(i[e+68>>2]=k+(o<<2),i[e+64>>2]=u,i[e+60>>2]=n,!h)break f;G(h)}if(i[e+64>>2]=u,_=_+1|0,_>>>0>=w>>>0)break A;if(!i[r+16>>2])break}}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break e}_0(f,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]),B=A+32|0;return}y0(),P()}_2(),P()}function rn(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;if(k=B-160|0,B=k,i[k+68>>2]=54820,n=i[13708],i[k+12>>2]=n,t=k+12|0,i[t+i[n-12>>2]>>2]=i[13709],n=t+i[i[k+12>>2]-12>>2]|0,u=k+16|0,b0(n,u),i[n+72>>2]=0,i[n+76>>2]=-1,i[k+68>>2]=54820,i[k+12>>2]=54800,w=$0(u),i[w>>2]=53552,i[k+56>>2]=0,i[k+60>>2]=0,i[k+48>>2]=0,i[k+52>>2]=0,i[k+64>>2]=16,u=1,n=i[r>>2]+1|0,i[r>>2]=n,o=i[e+36>>2],e=i[e+40>>2],(o|0)!=(e|0)){if(A&&(n=k+148|0,W0(n,r),h=n,n=l[k+159|0],u=(n|0)<0,x(t,u?i[k+148>>2]:h,u?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),x(H0(x(k+12|0,19522,7),1),31338,1),u=2),n=k+148|0,t=i[o>>2],V[i[i[t>>2]+8>>2]](n,t,r),h=n,n=l[k+159|0],t=(n|0)<0,x(k+12|0,t?i[k+148>>2]:h,t?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),n=o+8|0,(e|0)!=(n|0))for(;t=k+148|0,W0(t,r),h=t,t=l[k+159|0],o=(t|0)<0,x(k+12|0,o?i[k+148>>2]:h,o?i[k+152>>2]:t),l[k+159|0]<0&&G(i[k+148>>2]),t=k+12|0,x(t,31338,1),A&&(o=k+148|0,W0(o,r),_=t,h=o,t=l[k+159|0],o=(t|0)<0,x(_,o?i[k+148>>2]:h,o?i[k+152>>2]:t),l[k+159|0]<0&&G(i[k+148>>2]),x(H0(x(k+12|0,19522,7),u),31338,1),u=u+1|0),t=k+148|0,o=i[n>>2],V[i[i[o>>2]+8>>2]](t,o,r),h=t,t=l[k+159|0],o=(t|0)<0,x(k+12|0,o?i[k+148>>2]:h,o?i[k+152>>2]:t),l[k+159|0]<0&&G(i[k+148>>2]),n=n+8|0,(e|0)!=(n|0););n=i[r>>2]}i[r>>2]=(n|0)>0?n-1|0:0,i2(f,w),f=i[13707],i[k+12>>2]=f,i[i[f-12>>2]+(k+12|0)>>2]=i[13710],i[w>>2]=53552,l[k+59|0]<0&&G(i[k+48>>2]),K0(w),T0(k+68|0),B=k+160|0}function en(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0;f=B-16|0,B=f,i[f+12>>2]=r,i[f+8>>2]=n,i[f+12>>2]=r,i[f+8>>2]=n;i:{r:{e:{for(;;){A:{if(n=i[f+12>>2],n>>>0>=A>>>0||(w=i[f+8>>2],w>>>0>=t>>>0))break A;e=2,u=s[n|0];f:{if(u<<24>>24>=0){X[w>>1]=u,e=n+1|0;break f}if(u>>>0<194)break r;if(u>>>0<=223){if(r=1,(A-n|0)<2)break i;if(r=s[n+1|0],(r&192)!=128)break e;X[w>>1]=r&63|u<<6&1984,e=n+2|0;break f}if(u>>>0<=239){if(e=1,h=A-n|0,(h|0)<2)break e;r=s[n+1|0];k:{n:{if((u|0)!=237){if((u|0)!=224)break n;if((r&224)!=160)break r;break k}if((r&224)!=128)break r;break k}if((r&192)!=128)break r}if((h|0)==2)break e;if(e=s[n+2|0],(e&192)!=128)break r;X[w>>1]=e&63|((r&63)<<6|u<<12),e=n+3|0;break f}if(u>>>0>244)break r;if(e=1,h=A-n|0,(h|0)<2)break e;r=s[n+1|0];k:{n:switch(u-240|0){case 0:if((r+112&255)>>>0>=48)break r;break k;case 4:if((r&240)!=128)break r;break k;default:break n}if((r&192)!=128)break r}if((h|0)==2)break e;if(_=s[n+2|0],(_&192)!=128)break r;if((h|0)==3)break e;if(n=s[n+3|0],(n&192)!=128)break r;if((t-w|0)<3||(e=2,n=n&63,h=_<<6,u=u&7,(n|(h&4032|(r<<12&258048|u<<18)))>>>0>1114111))break e;e=r<<2,X[w>>1]=(_>>>4&3|(e&192|u<<8|e&60))+16320|55296,i[f+8>>2]=w+2,X[w+2>>1]=n|h&960|56320,e=i[f+12>>2]+4|0}i[f+12>>2]=e,i[f+8>>2]=i[f+8>>2]+2;continue}break}e=A>>>0>n>>>0}r=e;break i}r=2}return i[k>>2]=i[f+12>>2],i[o>>2]=i[f+8>>2],B=f+16|0,r|0}function An(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0;e=i[f+4>>2],k=i[e+124>>2],i[f+24>>2]=k,u=i[e+132>>2],i[f+28>>2]=u;i:{if(!i[f+12>>2]){A=1,h=1;break i}A=i[k+16856>>2],h=i[k+16852>>2]}i[f+300>>2]=A,i[f+296>>2]=h,p=m(i[f+20>>2],A),W=i[k+16892>>2],n=i[k+16876>>2],r=i[f+16>>2],C=m(r,h),C||(l[f+307|0]=0,l[f+304|0]=0),p||(l[f+307|0]=0,l[f+305|0]=0,l[f+306|0]=0),I=i[f+8>>2],w=m(r+I|0,h),(w|0)>=i[k+484>>2]&&(l[f+306|0]=0),t=i[e+140>>2],o=i[e+152>>2],_=p>>n,J=t+m(m(o,_),24)|0,R=-1,r=C-1>>n,y=-1,v=s[f+304|0],y=(v|0)==1?Q[m(r,24)+J>>1]:y,E=C>>n,e=p-1>>n,Z=s[f+305|0],(Z|0)==1&&(R=Q[(t+m(m(e,o),24)|0)+m(E,24)>>1]),w=w>>n,D=-1,z=-1,H=s[f+306|0],(H|0)==1&&(z=Q[(t+m(m(e,o),24)|0)+m(w,24)>>1]),a=s[f+307|0],(a|0)==1&&(D=Q[(t+m(m(e,o),24)|0)+m(r,24)>>1]),o=m(W,_)<<2,n=i[u+8484>>2],t=-1,u=-1,u=v?i[o+(n+(r<<2)|0)>>2]:u,_=n+(E<<2)|0,t=Z?i[_+(m(e,W)<<2)>>2]:t,v=-1,Z=-1,a&&(Z=i[(n+(r<<2)|0)+(m(e,W)<<2)>>2]),r=Q[m(E,24)+J>>1],H&&(v=i[(n+(w<<2)|0)+(m(e,W)<<2)>>2]),e=i[o+_>>2],(r|0)==(y|0)&(e|0)==(u|0)||(l[f+304|0]=0),(r|0)==(R|0)&(e|0)==(t|0)||(l[f+305|0]=0),(r|0)==(D|0)&(e|0)==(Z|0)||(l[f+307|0]=0),(r|0)==(z|0)&(e|0)==(v|0)||(l[f+306|0]=0),A=(i[k+488>>2]+((p^-1)+A|0)|0)/(A|0)|0,e=I<<1,i[f+308>>2]=(e|0)>(A|0)?A:e,k=i[k+484>>2],i[f+316>>2]=0,A=f+160|0,i[f+292>>2]=A,r=f,f=(k+((C^-1)+h|0)|0)/(h|0)|0,i[r+312>>2]=(f|0)<(e|0)?f:e,B0(A-e|0,0,I<<2|1)}function Uw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;if(A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,t=i[k-12>>2],k=A+12|0,i[t+k>>2]=i[13709],o=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(o,n),i[o+72>>2]=0,i[o+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,o=$0(n),i[o>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,mn(n,e,r),u=k,t=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),x(L0(x(L0(x(A+12|0,20773,11),Q[e+72>>1]),2490,1),Q[e+74>>1]),31338,1),k=i[e+76>>2],w=i[e+80>>2],(k|0)!=(w|0))for(e=0;n=A+148|0,W0(n,r),u=n,n=l[A+159|0],t=(n|0)<0,x(A+12|0,t?i[A+148>>2]:u,t?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(A+12|0,18847,6),e),30585,2),t=A+148|0,W0(t,r),u=t,t=l[A+159|0],h=(t|0)<0,x(n,h?i[A+148>>2]:u,h?i[A+152>>2]:t),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(n,20549,11),Q[k>>1]),31338,1),t=A+148|0,W0(t,r),u=t,t=l[A+159|0],h=(t|0)<0,x(n,h?i[A+148>>2]:u,h?i[A+152>>2]:t),l[A+159|0]<0&&G(i[A+148>>2]),x(H0(x(H0(x(n,20009,9),Q[k+2>>1]+1|0),2490,1),Q[k+4>>1]+1|0),31338,1),e=e+1|0,k=k+6|0,(w|0)!=(k|0););i2(f,o),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[o>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(o),T0(A+68|0),B=A+160|0}function Mw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;t=B-16|0,B=t,A=i[f+8>>2],i[t+12>>2]=0,i[t+4>>2]=0,i[t+8>>2]=0;i:{r:{e:{n=i[A+12>>2],u=i[A+16>>2];A:{if((n|0)==(u|0)){A=0;break A}if(A=u-n|0,(A|0)<0)break e;for(k=U(A),i[t+4>>2]=k,i[t+12>>2]=A+k,A=k;i[A>>2]=i[n>>2],o=i[n+4>>2],i[A+4>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),A=A+8|0,n=n+8|0,(u|0)!=(n|0););i[t+8>>2]=A}if(A=A-k>>3,o=(r|0)>(A|0)?A:r,(o|0)<=0)break i;for(n=0;;){r=U(24),i[r>>2]=0,i[r+4>>2]=0,i[r+16>>2]=0,i[r+20>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,k=i[f>>2],A=i[f+4>>2];A:{if(!A){i[r+4>>2]=A,i[r>>2]=k;break A}if(i[A+4>>2]=i[A+4>>2]+1,i[r>>2]=k,k=i[r+4>>2],i[r+4>>2]=A,!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break A;V[i[i[k>>2]+8>>2]](k),g(k)}k=i[f+8>>2],A=i[f+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+8>>2]=k,k=i[r+12>>2],i[r+12>>2]=A;A:{if(!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break A;V[i[i[k>>2]+8>>2]](k),g(k)}k=i[t+4>>2]+(n<<3)|0,u=i[k>>2],A=i[k+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+16>>2]=u,k=i[r+20>>2],i[r+20>>2]=A;A:{if(!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break A;V[i[i[k>>2]+8>>2]](k),g(k)}if(i[(n<<2)+e>>2]=r,n=n+1|0,(o|0)==(n|0))break}break r}y0(),P()}k=i[t+4>>2]}if(k){if(A=i[t+8>>2],(k|0)!=(A|0)){for(;;){f=i[A-4>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(A=A-8|0,(k|0)==(A|0))break}k=i[t+4>>2]}G(k)}return B=t+16|0,o|0}function d1(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;p=i[f+18592>>2],_=f+18548|0,w=f2(_,i[f+18572>>2]+147|0),v=w<<4&16|s[f+26|0]&-17,l[f+26|0]=v,W=f+16|0;i:{r:{if(w){w=0;e:{if(i[i[f+18592>>2]+812>>2]<2||!f2(_,i[f+18572>>2]+148|0)||(w=32,i[i[f+18592>>2]+812>>2]<3))break e;for(w=1;x1(_)&&(w=w+1|0,(w|0)<(i[i[f+18592>>2]+812>>2]-1|0)););w=w<<5}o=s[f+26|0]&31|w;break r}w=1;e:{A:{f:{if(!i[p+28>>2]){if(w=i[f+18572>>2],(n+t|0)==12||!f2(_,(o+w|0)+156|0))break f;v=s[f+26|0],w=3}l[f+26|0]=v&252|w;break A}if(w=f2(_,w+160|0)+1|0,l[f+26|0]=w&3|s[f+26|0]&252,v=2,(w|0)==2)break e}v=w,w=0,o=i[p+336>>2];A:{if((o|0)<2||!f2(_,i[f+18572>>2]+154|0))break A;if(Z=o-2|0,!Z){w=1;break A}if(w=1,!f2(_,i[f+18572>>2]+155|0))break A;for(o=o-1|0;;){if((w|0)==(Z|0)){w=o;break A}if(w=w+1|0,!x1(_))break}}if(l[f+16|0]=w,o9(f,0),C=f,I=f2(_,i[f+18572>>2]+152|0)<<2&4|s[f+26|0]&251,l[C+26|0]=I,(v|0)==1)break i}w=0,o=i[p+340>>2];e:{if((o|0)<2||!f2(_,i[f+18572>>2]+154|0))break e;if(Z=o-2|0,!Z){w=1;break e}if(w=1,!f2(_,i[f+18572>>2]+155|0))break e;for(o=o-1|0;;){if((w|0)==(Z|0)){w=o;break e}if(w=w+1|0,!x1(_))break}}l[f+17|0]=w;e:{if(!(!s[p+378|0]|(v|0)!=3)){X[f+22>>1]=0,X[f+24>>1]=0;break e}o9(f,1)}o=f2(_,i[f+18572>>2]+152|0)<<3&8|s[f+26|0]&-9}l[f+26|0]=o}nk(i[f+18584>>2],i[f+18592>>2],i[f+18588>>2],W,e,r,A,k,u,n,t,h)}function fn(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;p=B-16|0,B=p,v=i[f+12>>2],h=i[f+8>>2],w=v-h>>2;i:{if((h|0)!=(v|0))for(_=w>>>0<=1?1:w;;){if(o=i[h+(u<<2)>>2],!(s[o+104|0]|i[o+100>>2])){aA(o),v=i[f+12>>2],w=v-i[f+8>>2]>>2;break i}if(u=u+1|0,(_|0)==(u|0))break}u=-9}i:{if((w-1|0)==(u|0)|k0[f+4>>2]>=w>>>0||(h=i[v-4>>2],s[h+104|0]|i[h+100>>2]))break i;G(zA(h)),v=i[f+12>>2]-4|0,i[f+12>>2]=v}i:{r:{e:{if((u|0)==-9){W=i[f+8>>2],w=N7(U(416)),u=i[f+12>>2],o=i[f+16>>2];A:{if(u>>>0<o>>>0){i[u>>2]=w,w=u+4|0;break A}if(_=i[f+8>>2],Z=u-_>>2,h=Z+1|0,h>>>0>=1073741824)break e;if(C=Z<<2,o=o-_|0,Z=o>>1,Z=o>>>0>=2147483644?1073741823:h>>>0<Z>>>0?Z:h,Z){if(Z>>>0>=1073741824)break r;h=U(Z<<2)}else h=0;if(o=C+h|0,i[o>>2]=w,w=o+4|0,(u|0)!=(_|0)){for(;o=o-4|0,u=u-4|0,i[o>>2]=i[u>>2],(u|0)!=(_|0););_=i[f+8>>2]}if(i[f+16>>2]=h+(Z<<2),i[f+12>>2]=w,i[f+8>>2]=o,!_)break A;G(_)}i[f+12>>2]=w,u=v-W>>2}A:{if((u|0)<0){o=i[e+4>>2];break A}if(h=i[e>>2],w=i[h+476>>2],w>>>0>=4)break i;if(f=i[i[f+8>>2]+(u<<2)>>2],_=i[h+488>>2],v=i[h+484>>2],i[p+8>>2]=h,o=i[e+4>>2],i[p+12>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),e=i[p+12>>2],i[p>>2]=i[p+8>>2],i[p+4>>2]=e,e=Fk(f,v,_,w,p,1,r,A,k,n,t),e){u=0-e|0;break A}l[f+312|0]=0}A:{if(!o||(f=i[o+4>>2],i[o+4>>2]=f-1,f))break A;V[i[i[o>>2]+8>>2]](o),g(o)}return B=p+16|0,u}y0(),P()}_2(),P()}C0(17356,14064,263,10577),P()}function kn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;k=B-16|0,B=k;i:{r=i[f+4>>2];r:{if(r>>>0<e>>>0){t=e-r|0,n=i[f+8>>2],A=n<<5;e:{if(!(t>>>0>A>>>0|r>>>0>A-t>>>0)){i[f+4>>2]=e,A=r&31,e=i[f>>2]+(r>>>3&536870908)|0;break e}if(i[k+12>>2]=0,i[k+4>>2]=0,i[k+8>>2]=0,(e|0)<0)break i;A:{if(A>>>0<=1073741822?(r=n<<6,e=e+31&-32,e=e>>>0<r>>>0?r:e):e=2147483647,e>>>0<=i[k+12>>2]<<5>>>0)break A;if((e|0)>=0){if(w=(e-1>>>5|0)+1|0,n=U(w<<2),A=i[k+4>>2],e=i[k+8>>2],i[n+((e>>>0>=33?e-1>>>5|0:0)<<2)>>2]=0,e)for(_=e&31,v=A+(e>>>3&536870908)|0,e=n,r=A;o=1<<u,i[r>>2]>>>h&1?o=o|i[e>>2]:o=i[e>>2]&(o^-1),i[e>>2]=o,o=(u|0)==31,u=o?0:u+1|0,e=(o<<2)+e|0,o=(h|0)==31,r=(o<<2)+r|0,h=o?0:h+1|0,!!((_|0)!=(h|0)|(r|0)!=(v|0)););if(i[k+12>>2]=w,i[k+4>>2]=n,!A)break A;G(A);break A}y0(),P()}A=i[f+4>>2],i[k+8>>2]=A+t,r=i[f>>2],e=i[k+4>>2];A:{if((A|0)<=0){A=0;break A}n=A>>>5|0,A>>>0>=32&&F2(e,r,n<<2),n=n<<2,e=n+e|0,A=A&31,A&&(u=-1>>>32-A|0,i[e>>2]=i[e>>2]&(u^-1)|u&i[r+n>>2]),r=i[f>>2]}if(i[f>>2]=i[k+4>>2],i[k+4>>2]=r,n=i[f+4>>2],i[f+4>>2]=i[k+8>>2],i[k+8>>2]=n,n=i[f+8>>2],i[f+8>>2]=i[k+12>>2],i[k+12>>2]=n,!r)break e;G(r)}if(!t||(A&&(f=32-A|0,r=f>>>0<t>>>0?f:t,i[e>>2]=i[e>>2]&(-1<<A&-1>>>f-r^-1),t=t-r|0,e=e+4|0),f=t>>>5|0,t>>>0>=32&&B0(e,0,f<<2),r=t&31,!r))break r;f=(f<<2)+e|0,i[f>>2]=i[f>>2]&(-1>>>32-r^-1);break r}i[f+4>>2]=e}B=k+16|0;return}y0(),P()}function s6(f,e){var r=0,A=0,k=0,n=0;k=B-16|0,B=k,r=U(136),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=72792,B0(r+20|0,0,104),i[r+56>>2]=0,i[r+60>>2]=0,i[r+44>>2]=99,i[r+48>>2]=99,i[r+32>>2]=34648,A=r- -64|0,i[A>>2]=0,i[A+4>>2]=0,i[r+132>>2]=0,i[r+124>>2]=0,i[r+128>>2]=0,i[r+84>>2]=1,i[r+88>>2]=1,i[r+72>>2]=r+76,i[r+92>>2]=0,i[r+96>>2]=0,i[r+100>>2]=0,i[r+104>>2]=0,i[r+108>>2]=0,i[r+112>>2]=0,l[r+113|0]=0,l[r+114|0]=0,l[r+115|0]=0,l[r+116|0]=0,l[r+117|0]=0,l[r+118|0]=0,l[r+119|0]=0,l[r+120|0]=0,i[f+4>>2]=r,A=r+12|0,i[f>>2]=A,i[r+12>>2]=A,i[r+8>>2]=i[r+8>>2]+1,i[r+16>>2]=r,i[r+4>>2]==-1&&(V[i[i[r>>2]+8>>2]](r),g(r)),r=i[e>>2],A=i[r+24>>2],n=i[r+28>>2],r=i[f>>2],i[r+36>>2]=0,i[r+32>>2]=2,i[r+28>>2]=n,i[r+24>>2]=A,i[k+8>>2]=i[e>>2],e=i[e+4>>2],i[k+12>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),U8(r,k+8|0,6,0),e=i[k+12>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=U(24),l[e+22|0]=1,X[e+20>>1]=2,i[e+16>>2]=131074,i[e+12>>2]=72992,i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72832,r=e+12|0,l[r+10|0]=1,X[r+8>>1]=6,i[r+4>>2]=851969,l[r+10|0]=1,X[r+8>>1]=2,i[r+4>>2]=131074,l[e+22|0]=1,A=i[f>>2],i[e+4>>2]=i[e+4>>2]+2,i[A+44>>2]=r,f=i[A+48>>2],i[A+48>>2]=e;i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[e+4>>2],i[e+4>>2]=f-1,f||(V[i[i[e>>2]+8>>2]](e),g(e)),f=i[e+4>>2],i[e+4>>2]=f-1,f||(V[i[i[e>>2]+8>>2]](e),g(e)),B=k+16|0}function xw(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0;A=B-16|0,B=A,e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),k=i[e+4>>2],t=k+1|0,i[e+4>>2]=t,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,n=e- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,n=e+12|0,i[e+12>>2]=n,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=k,i[e+16>>2]=e,t||(V[i[i[e>>2]+8>>2]](e),g(e));i:{r:{if(k=i[r>>2],o=i[k+36>>2]-12|0,o>>>0>3||(t=i[k+24>>2],h=i[k+28>>2],k=h,i[n+36>>2]=i[(o<<2)+41172>>2],i[n+32>>2]=1,i[n+28>>2]=k,i[n+24>>2]=t,!J0(n,10,t,k,U0(i[r>>2],10))))break r;k=0,i[A+12>>2]=0,i[A+8>>2]=0,t=v0(i[r>>2],10,A+12|0),o=v0(n,10,A+8|0);e:{if((h|0)<=0||(r=i[A+8>>2],u=i[A+12>>2],u=(r|0)<(u|0)?r:u,(u|0)<=0))break e;for(;;){for(r=0;l[(o+m(i[A+8>>2],k)|0)+r|0]=s[((t+m(i[A+12>>2],k)|0)+r|0)+1|0],l[((o+m(i[A+8>>2],k)|0)+r|0)+1|0]=s[(t+m(i[A+12>>2],k)|0)+r|0],r=r+2|0,(u|0)>(r|0););if(k=k+1|0,(h|0)==(k|0))break}}i[f+4>>2]=e,i[f>>2]=n;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A+16|0}function zw(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;for(f=B-272|0,B=f,i[f+264>>2]=r,i[f+268>>2]=e,u3(f+208|0,A,f+224|0,f+223|0,f+222|0),r=B-16|0,B=r,e=f+196|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+192>>2]=r,i[f+28>>2]=f+32,i[f+24>>2]=0,l[f+23|0]=1,l[f+22|0]=69;;){i:{if(J2(f+268|0,f+264|0))break i;t=i[f+192>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+192>>2]=A+r),t=f+268|0,A=i[t>>2],o=i[A+12>>2];r:{if((o|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[o|0]}if(EA(A<<24>>24,f+23|0,f+22|0,r,f+192|0,l[f+223|0],l[f+222|0],f+208|0,f+32|0,f+28|0,f+24|0,f+224|0))break i;E1(t);continue}break}s[f+219|0]>>>7|0?A=i[f+212>>2]:A=s[f+219|0]&127;i:{if(!A|s[f+23|0]!=1||(A=i[f+28>>2],(A-(f+32|0)|0)>159))break i;i[f+28>>2]=A+4,i[A>>2]=i[f+24>>2]}return Tn(f,r,i[f+192>>2],k),r=i[f>>2],A=i[f+4>>2],t=i[f+12>>2],i[n+8>>2]=i[f+8>>2],i[n+12>>2]=t,i[n>>2]=r,i[n+4>>2]=A,K1(f+208|0,f+32|0,i[f+28>>2],k),J2(f+268|0,f+264|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+268>>2],z0(e),z0(f+208|0),B=f+272|0,r|0}function Hw(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;for(f=B-384|0,B=f,i[f+376>>2]=r,i[f+380>>2]=e,l3(f+220|0,A,f+240|0,f+236|0,f+232|0),r=B-16|0,B=r,e=f+208|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+204>>2]=r,i[f+28>>2]=f+32,i[f+24>>2]=0,l[f+23|0]=1,l[f+22|0]=69;;){i:{if(g2(f+380|0,f+376|0))break i;t=i[f+204>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+204>>2]=A+r),t=f+380|0,A=i[t>>2],o=i[A+12>>2];r:{if((o|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[o>>2]}if(FA(A,f+23|0,f+22|0,r,f+204|0,i[f+236>>2],i[f+232>>2],f+220|0,f+32|0,f+28|0,f+24|0,f+240|0))break i;Y1(t);continue}break}s[f+231|0]>>>7|0?A=i[f+224>>2]:A=s[f+231|0]&127;i:{if(!A|s[f+23|0]!=1||(A=i[f+28>>2],(A-(f+32|0)|0)>159))break i;i[f+28>>2]=A+4,i[A>>2]=i[f+24>>2]}return Tn(f,r,i[f+204>>2],k),r=i[f>>2],A=i[f+4>>2],t=i[f+12>>2],i[n+8>>2]=i[f+8>>2],i[n+12>>2]=t,i[n>>2]=r,i[n+4>>2]=A,K1(f+220|0,f+32|0,i[f+28>>2],k),g2(f+380|0,f+376|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+380>>2],z0(e),z0(f+220|0),B=f+384|0,r|0}function Tw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;n=B+-64|0,B=n;i:{if(Q1(e,67512,0)){i[r>>2]=0,A=1;break i}r:{if(s[f+8|0]&24)k=1;else{if(!e||(t=N0(e,67148,67244),!t))break r;k=(s[t+8|0]&24)!=0}k=Q1(f,e,k)}if(k){if(A=1,f=i[r>>2],!f)break i;i[r>>2]=i[f>>2];break i}r:{if(!e)break r;if(t=N0(e,67148,67292),!t||(e=i[r>>2],e&&(i[r>>2]=i[e>>2]),k=i[t+8>>2],e=i[f+8>>2],k&(e^-1)&7|e&(k^-1)&96)||(A=1,Q1(i[f+12>>2],i[t+12>>2],0)))break i;if(Q1(i[f+12>>2],67500,0)){if(f=i[t+12>>2],!f)break i;A=!N0(f,67148,67344);break i}if(k=i[f+12>>2],!k)break r;if(A=0,e=N0(k,67148,67292),e){if(!(l[f+8|0]&1))break i;f=i[t+12>>2],r=0;e:{A:{for(;;){if(A=0,!f)break e;if(f=N0(f,67148,67292),!f|i[f+8>>2]&(i[e+8>>2]^-1))break A;if(A=1,Q1(i[e+12>>2],i[f+12>>2],0))break e;if(!(l[e+8|0]&1)||(A=i[e+12>>2],!A))break A;if(e=N0(A,67148,67292),e){f=i[f+12>>2];continue}break}if(e=N0(A,67148,67404),!e)break A;r=S9(e,i[f+12>>2])}A=r}break i}if(e=N0(k,67148,67404),e){if(!(l[f+8|0]&1))break i;A=S9(e,i[t+12>>2]);break i}if(k=N0(k,67148,67196),!k||(f=i[t+12>>2],!f)||(f=N0(f,67148,67196),!f))break i;e=i[r>>2],B0(n+8|0,0,56),l[n+59|0]=(e|0)!=0,i[n+16>>2]=-1,i[n+12>>2]=k,i[n+4>>2]=f,i[n+52>>2]=1,V[i[i[f>>2]+28>>2]](f,n+4|0,e,1),f=i[n+28>>2],(f|0)==1&&(i[r>>2]=e?i[n+20>>2]:0),A=(f|0)==1;break i}A=0}return B=n- -64|0,A|0}function aw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;if(A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),o=x(A+12|0,21043,10),k=l[e+67|0],n=(k|0)<0,k=x(x(o,n?i[e+56>>2]:e+56|0,n?i[e+60>>2]:k),31338,1),n=A+148|0,W0(n,r),o=n,r=l[A+159|0],n=(r|0)<0,x(k,n?i[A+148>>2]:o,n?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(k,19994,14),r=i[e+68>>2],h=i[e+72>>2],(r|0)!=(h|0))for(u=A+24|0;o=s[r|0],e=i[A+12>>2]-12|0,k=t+i[e>>2]|0,i[k>>2]=i[k>>2]&-75|8,i[i[e>>2]+u>>2]=2,k=i[e>>2]+(A+12|0)|0,i[k+76>>2]==-1&&(n=A+148|0,e=i[k+28>>2],i[n>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(n,100192),V[i[i[e>>2]+28>>2]](e,32)|0,O0(n)),i[k+76>>2]=48,x(H0(A+12|0,o),21741,1),r=r+1|0,(h|0)!=(r|0););e=A+12|0,x(e,31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[e+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function Nr(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;v=B-128|0,B=v,i[v+124>>2]=e,i[v+16>>2]=1094,h=v+16|0,Z=o1(v+8|0,0,h);i:{r:{e:{if(_=(A-r|0)/12|0,_>>>0>=101){if(h=Z2(_),!h)break e;e=i[Z>>2],i[Z>>2]=h,e&&V[i[Z+4>>2]](e)}for(o=h,e=r;;)if((e|0)==(A|0))A:for(;;){if(e=v+124|0,y=J2(f,e),E=1,J=_,J?y:E)for(J2(f,e)&&(i[n>>2]=i[n>>2]|2);;){if((r|0)==(A|0))break r;if(s[h|0]==2)break i;h=h+1|0,r=r+12|0}e=i[f>>2],o=i[e+12>>2];f:{if((o|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break f}e=s[o|0]}for(W=e<<24>>24,t||(W=V[i[i[k>>2]+12>>2]](k,W)|0),u=C+1|0,I=0,o=h,e=r;;)if((e|0)==(A|0)){if(C=u,!I||(E1(f),o=h,e=r,_+p>>>0<2))continue A;for(;;){if((e|0)==(A|0))continue A;s[e+11|0]>>>7|0?u=i[e+4>>2]:u=s[e+11|0]&127,(u|0)==(C|0)|s[o|0]!=2||(l[o|0]=0,p=p-1|0),o=o+1|0,e=e+12|0}}else{f:{if(s[o|0]!=1)break f;s[e+11|0]>>>7|0?w=i[e>>2]:w=e,w=l[w+C|0],t||(w=V[i[i[k>>2]+12>>2]](k,w)|0);k:{if((W|0)==(w|0)){if(I=1,s[e+11|0]>>>7|0?w=i[e+4>>2]:w=s[e+11|0]&127,(w|0)!=(u|0))break f;l[o|0]=2,p=p+1|0;break k}l[o|0]=0}_=_-1|0}o=o+1|0,e=e+12|0;continue}}else{s[e+11|0]>>>7|0?u=i[e+4>>2]:u=s[e+11|0]&127,u=!u,l[o|0]=u?2:1,o=o+1|0,e=e+12|0,p=p+u|0,_=_-u|0;continue}}u1(),P()}i[n>>2]=i[n>>2]|4}return f=i[Z>>2],i[Z>>2]=0,f&&V[i[Z+4>>2]](f),B=v+128|0,r}function Sw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;u=B-32|0,B=u,o=i[e+56>>2],n=i[e+60>>2];i:{if((o|0)==(n|0))break i;for(;;){r:{if(s[o+4|0]!=1||(A=i[o+16>>2],t=i[o+20>>2],(A|0)==(t|0)))break r;for(;k=(i[A+28>>2]+k|0)-i[A+24>>2]|0,A=A+40|0,(t|0)!=(A|0););}if(o=o+32|0,(n|0)==(o|0))break}if(!k||(l2(r,k+8|0),l2(r,1768186228),k=i[e+56>>2],n=i[e+60>>2],(k|0)==(n|0)))break i;for(;;){r:{if(s[k+4|0]!=1||(A=i[k+16>>2],t=i[k+20>>2],(A|0)==(t|0)))break r;for(;D4(r,A+24|0),A=A+40|0,(t|0)!=(A|0););}if(k=k+32|0,(n|0)==(k|0))break}}if(h=V[i[i[e>>2]+32>>2]](e,r,0)|0,i[e+68>>2]=i[r+12>>2],n=s[e+48|0],t=n>>>0<2,k=t?4:6,A=i[e+56>>2],w=i[e+60>>2],(A|0)!=(w|0))for(_=s[e+75|0],v=(((n|0)!=0)<<1)+(t?6:8)|0,o=(n?s[e+76|0]:0)&255,n=s[e+73|0],t=s[e+74|0],Z=((_+(v+o|0)|0)+n|0)+t|0,o=t+(n+o|0)|0;n=i[A+16>>2],t=i[A+20>>2],(n|0)==(t|0)?k=(k+v|0)+_|0:k=(k+Z|0)+m(o,((t-n|0)-40>>>0)/40|0)|0,A=A+32|0,(w|0)!=(A|0););we(r,k),i[r+12>>2]=h,V[i[i[e>>2]+36>>2]](u+12|0,e,r,i[r+4>>2]-(h+i[r>>2]|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[u+31|0]<0&&G(i[u+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,e=f+8|0;i:{if(l[78275]>=0){f=i[19567],i[e>>2]=i[19566],i[e+4>>2]=f,i[e+8>>2]=i[19568];break i}_0(e,i[19566],i[19567])}B=u+32|0}function Rr(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;v=B-128|0,B=v,i[v+124>>2]=e,i[v+16>>2]=1094,h=v+16|0,Z=o1(v+8|0,0,h);i:{r:{e:{if(_=(A-r|0)/12|0,_>>>0>=101){if(h=Z2(_),!h)break e;e=i[Z>>2],i[Z>>2]=h,e&&V[i[Z+4>>2]](e)}for(o=h,e=r;;)if((e|0)==(A|0))A:for(;;){if(e=v+124|0,y=g2(f,e),E=1,J=_,J?y:E)for(g2(f,e)&&(i[n>>2]=i[n>>2]|2);;){if((r|0)==(A|0))break r;if(s[h|0]==2)break i;h=h+1|0,r=r+12|0}e=i[f>>2],o=i[e+12>>2];f:{if((o|0)==i[e+16>>2]){u=V[i[i[e>>2]+36>>2]](e)|0;break f}u=i[o>>2]}for(t||(u=V[i[i[k>>2]+28>>2]](k,u)|0),C=W+1|0,I=0,o=h,e=r;;)if((e|0)==(A|0)){if(W=C,!I||(Y1(f),o=h,e=r,_+p>>>0<2))continue A;for(;;){if((e|0)==(A|0))continue A;s[e+11|0]>>>7|0?u=i[e+4>>2]:u=s[e+11|0]&127,(u|0)==(W|0)|s[o|0]!=2||(l[o|0]=0,p=p-1|0),o=o+1|0,e=e+12|0}}else{f:{if(s[o|0]!=1)break f;s[e+11|0]>>>7|0?w=i[e>>2]:w=e,w=i[w+(W<<2)>>2],t||(w=V[i[i[k>>2]+28>>2]](k,w)|0);k:{if((u|0)==(w|0)){if(I=1,s[e+11|0]>>>7|0?w=i[e+4>>2]:w=s[e+11|0]&127,(w|0)!=(C|0))break f;l[o|0]=2,p=p+1|0;break k}l[o|0]=0}_=_-1|0}o=o+1|0,e=e+12|0;continue}}else{s[e+11|0]>>>7|0?u=i[e+4>>2]:u=s[e+11|0]&127,u=!u,l[o|0]=u?2:1,o=o+1|0,e=e+12|0,p=u+p|0,_=_-u|0;continue}}u1(),P()}i[n>>2]=i[n>>2]|4}return f=i[Z>>2],i[Z>>2]=0,f&&V[i[Z+4>>2]](f),B=v+128|0,r}function Ow(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;n=B-48|0,B=n;i:{if(!(k&&e)){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=7049;break i}t=i[e>>2],o=i[t+48>>2],t=i[t+52>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[n+44>>2]=0,i[n+36>>2]=0,i[n+40>>2]=0,u=n+16|0,I1(u,o,r,n+36|0);r:{if(i[n+16>>2]){P0(f,u,i[e>>2]);break r}e:{if(A&&(r=A-1|0,e=i[n+36>>2],r>>>0<i[n+40>>2]-e>>3>>>0))break e;i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=10388;break r}e=e+(r<<3)|0,r=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);e:{A:{f:{if(!r||(r=N0(r,68572,68704),!r))break f;if(e&&(i[e+4>>2]=i[e+4>>2]+1),A=0,i[n+12>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,o=i[r+52>>2],r=i[r+48>>2],(o|0)!=(r|0)&&(A=o-r|0,(A|0)<0))break A;if(i[k>>2]=A,i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r,!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break e;V[i[i[e>>2]+8>>2]](e),g(e);break e}i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=1956;break e}y0(),P()}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(l[n+35|0]<0&&G(i[n+24>>2]),r=i[n+36>>2],r){if(f=r,e=i[n+40>>2],(f|0)!=(e|0)){for(;;){f=i[e-4>>2];r:{if(!f||(A=i[f+4>>2],i[f+4>>2]=A-1,A))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(r|0)==(e|0))break}f=i[n+36>>2]}i[n+40>>2]=r,G(f)}if(!t||(f=i[t+4>>2],i[t+4>>2]=f-1,f))break i;V[i[i[t>>2]+8>>2]](t),g(t)}B=n+48|0}function jw(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;o=B-16|0,B=o;i:{if(!f)break i;h=o+4|0,A=i[i[f>>2]+48>>2],f=B-160|0,B=f,i[f+24>>2]=54496,i[f+80>>2]=54516,r=i[13633],i[f+16>>2]=r,n=f+16|0,i[n+i[r-12>>2]>>2]=i[13634],i[f+20>>2]=0,r=n+i[i[f+16>>2]-12>>2]|0,k=f+28|0,b0(r,k),i[r+72>>2]=0,i[r+76>>2]=-1,r=i[13635],i[f+24>>2]=r,t=i[r-12>>2],r=f+24|0,i[t+r>>2]=i[13636],u=i[13632],i[f+16>>2]=u,i[n+i[u-12>>2]>>2]=i[13637],i[f+80>>2]=54516,i[f+16>>2]=54476,i[f+24>>2]=54496,n=$0(k),i[n>>2]=53552,i[f+68>>2]=0,i[f+72>>2]=0,i[f+60>>2]=0,i[f+64>>2]=0,i[f+76>>2]=24,k=i[A+8>>2],u=i[A+12>>2];r:{if((k|0)==(u|0)||(A=i[k>>2],t=i[i[A>>2]+8>>2],i[f+12>>2]=0,V[t|0](f,A,f+12|0),A=l[f+11|0],t=(A|0)<0,x(r,t?i[f>>2]:f,t?i[f+4>>2]:A),l[f+11|0]<0&&G(i[f>>2]),A=k+8|0,(u|0)==(A|0)))break r;for(;x(r,31338,1),i[f+12>>2]=0,k=i[A>>2],V[i[i[k>>2]+8>>2]](f,k,f+12|0),k=l[f+11|0],t=(k|0)<0,x(r,t?i[f>>2]:f,t?i[f+4>>2]:k),l[f+11|0]<0&&G(i[f>>2]),A=A+8|0,(u|0)!=(A|0););}if(i2(h,n),r=i[13631],i[f+16>>2]=r,i[i[r-12>>2]+(f+16|0)>>2]=i[13639],i[f+24>>2]=i[13640],i[n>>2]=53552,l[f+71|0]<0&&G(i[f+60>>2]),K0(n),T0(f+80|0),B=f+160|0,r=l[o+15|0],n=(r|0)<0,A=n?i[o+4>>2]:h,f=B-16|0,B=f,i[f+12>>2]=n?i[o+8>>2]:r,i[f+8>>2]=A,e=uA(e|0,f+8|0,1,f+4|0)|0,e&&(i[23944]=e),B=f+16|0,l[o+15|0]>=0)break i;G(i[o+4>>2])}B=o+16|0}function Pw(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;u=B-16|0,B=u,n=U(32),i[n+16>>2]=1,i[n+4>>2]=0,i[n+8>>2]=0,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+12>>2]=73276,i[n>>2]=73528,h=n+12|0;i:{if(!A||(SA(n+20|0,A),(A|0)<=0))break i;if(o=i[n+20>>2],(A|0)!=1)for(p=A&2147483646;t=_<<3,w=t+o|0,v=r+t|0,i[w>>2]=i[v>>2],i[w+4>>2]=i[v+4>>2],t=t|8,w=t+o|0,t=r+t|0,i[w>>2]=i[t>>2],i[w+4>>2]=i[t+4>>2],_=_+2|0,Z=Z+2|0,(p|0)!=(Z|0););if(!(A&1))break i;A=_<<3,o=A+o|0,r=r+A|0,i[o>>2]=i[r>>2],i[o+4>>2]=i[r+4>>2]}l[n+16|0]=1,r=i[e+8>>2],i[u+12>>2]=n,i[u+8>>2]=h,i[n+4>>2]=i[n+4>>2]+1,A=i[r+16>>2];i:{r:{if(A>>>0<k0[r+20>>2]){i[A+4>>2]=n,i[A>>2]=h,i[n+4>>2]=i[n+4>>2]+1,i[r+16>>2]=A+8,A=n;break r}if(o=Q2(r+12|0,u+8|0),A=i[u+12>>2],i[r+16>>2]=o,!A)break i}if(r=i[A+4>>2],i[A+4>>2]=r-1,r)break i;V[i[i[A>>2]+8>>2]](A),g(A)}i:{if(!k||(i[n+4>>2]=i[n+4>>2]+1,r=U(24),i[n+4>>2]=i[n+4>>2]+1,i[r+20>>2]=n,i[r+16>>2]=h,h=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=h,A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,i[k>>2]=r,e=i[n+4>>2],i[n+4>>2]=e-1,e))break i;V[i[i[n>>2]+8>>2]](n),g(n)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[n+4>>2],i[n+4>>2]=f-1,f||(V[i[i[n>>2]+8>>2]](n),g(n)),B=u+16|0}function Lw(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;u=B-16|0,B=u,n=U(32),i[n+16>>2]=1,i[n+4>>2]=0,i[n+8>>2]=0,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+12>>2]=73276,i[n>>2]=73528,h=n+12|0;i:{if(!A||(SA(n+20|0,A),(A|0)<=0))break i;if(o=i[n+20>>2],(A|0)!=1)for(p=A&2147483646;t=_<<3,w=t+o|0,v=r+t|0,i[w>>2]=i[v>>2],i[w+4>>2]=i[v+4>>2],t=t|8,w=t+o|0,t=r+t|0,i[w>>2]=i[t>>2],i[w+4>>2]=i[t+4>>2],_=_+2|0,Z=Z+2|0,(p|0)!=(Z|0););if(!(A&1))break i;A=_<<3,o=A+o|0,r=r+A|0,i[o>>2]=i[r>>2],i[o+4>>2]=i[r+4>>2]}l[n+16|0]=0,r=i[e+8>>2],i[u+12>>2]=n,i[u+8>>2]=h,i[n+4>>2]=i[n+4>>2]+1,A=i[r+16>>2];i:{r:{if(A>>>0<k0[r+20>>2]){i[A+4>>2]=n,i[A>>2]=h,i[n+4>>2]=i[n+4>>2]+1,i[r+16>>2]=A+8,A=n;break r}if(o=Q2(r+12|0,u+8|0),A=i[u+12>>2],i[r+16>>2]=o,!A)break i}if(r=i[A+4>>2],i[A+4>>2]=r-1,r)break i;V[i[i[A>>2]+8>>2]](A),g(A)}i:{if(!k||(i[n+4>>2]=i[n+4>>2]+1,r=U(24),i[n+4>>2]=i[n+4>>2]+1,i[r+20>>2]=n,i[r+16>>2]=h,h=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=h,A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,i[k>>2]=r,e=i[n+4>>2],i[n+4>>2]=e-1,e))break i;V[i[i[n>>2]+8>>2]](n),g(n)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[n+4>>2],i[n+4>>2]=f-1,f||(V[i[i[n>>2]+8>>2]](n),g(n)),B=u+16|0}function Kw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;k=B-16|0,B=k,n=i[e+12>>2],o=n;i:{r:{e:{if(A=i[e+8>>2],n|A){if(n=i[e+32>>2],u=n>>>0>A>>>0,u&!o)break e;if(t=A-n|0,n=o-u|0,A=t,!n&A>>>0>=2147483648|n){if(e=U(24),i[k+4>>2]=e,i[k+8>>2]=18,i[k+12>>2]=-2147483624,r=s[10373]|s[10374]<<8|(s[10375]<<16|s[10376]<<24),A=s[10369]|s[10370]<<8|(s[10371]<<16|s[10372]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+18|0]=0,r=s[10385]|s[10386]<<8,l[e+16|0]=r,l[e+17|0]=r>>>8,r=s[10381]|s[10382]<<8|(s[10383]<<16|s[10384]<<24),A=s[10377]|s[10378]<<8|(s[10379]<<16|s[10380]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,1e3,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}n=i[e+48>>2],t=i[e+52>>2]-n|0;A:{if(A>>>0>t>>>0){L2(e+48|0,A-t|0),n=i[e+48>>2];break A}if(A>>>0>=t>>>0)break A;i[e+52>>2]=A+n}D6(r,n,A)}if(s[r+20|0]!=1)break r;if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,101,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function qw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,t=i[k-12>>2],k=A+12|0,i[t+k>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,o=A+16|0,b0(n,o),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,o=$0(o),i[o>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,t=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]);i:{if(i[e+48>>2]){if(k=A+148|0,W0(k,r),t=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),u=x(A+12|0,20949,13),k=i[e+48>>2],n=V[i[i[k>>2]+8>>2]](k)|0,k=A+148|0,l[k+4|0]=0,l[k+11|0]=4,l[k+3|0]=n,l[k+2|0]=n>>>8,l[k+1|0]=n>>>16,l[k|0]=n>>>24,t=k,k=l[A+159|0],n=(k|0)<0,x(x(u,n?i[A+148>>2]:t,n?i[A+152>>2]:k),31338,1),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,e=i[e+48>>2],V[i[i[e>>2]+12>>2]](k,e,r),e=l[A+159|0],r=(e|0)<0,x(A+12|0,r?i[A+148>>2]:k,r?i[A+152>>2]:e),l[A+159|0]>=0)break i;G(i[A+148>>2]);break i}e=A+148|0,W0(e,r),k=e,e=l[A+159|0],r=(e|0)<0,x(A+12|0,r?i[A+148>>2]:k,r?i[A+152>>2]:e),l[A+159|0]<0&&G(i[A+148>>2]),e=A+12|0,x(e,31085,17),x(e,22231,17)}i2(f,o),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[o>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(o),T0(A+68|0),B=A+160|0}function Dr(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;t=B-48|0,B=t,k=i[f>>2],f=i[e+4>>2],e=i[e>>2],l[t+12|0]=0,l[t+23|0]=0,r=r0(t+24|0,e,f,t+12|0),f=i[k+116>>2];i:{if(f>>>0<k0[k+120>>2]){e=i[r+4>>2],i[f>>2]=i[r>>2],i[f+4>>2]=e,i[f+16>>2]=i[r+16>>2],e=i[r+12>>2],i[f+8>>2]=i[r+8>>2],i[f+12>>2]=e,i[r+16>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[k+116>>2]=f+20;break i}r:{e:{if(e=i[k+112>>2],n=(i[k+116>>2]-e|0)/20|0,f=n+1|0,f>>>0<214748365){if(e=(i[k+120>>2]-e|0)/20|0,u=e<<1,f=e>>>0>=107374182?214748364:f>>>0<u>>>0?u:f,f){if(f>>>0>=214748365)break e;A=U(m(f,20))}e=m(n,20)+A|0,n=i[r+4>>2],i[e>>2]=i[r>>2],i[e+4>>2]=n,i[e+16>>2]=i[r+16>>2],n=i[r+12>>2],i[e+8>>2]=i[r+8>>2],i[e+12>>2]=n,i[r+16>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,w=m(f,20)+A|0,n=e+20|0,A=i[k+116>>2],o=i[k+112>>2];A:{if((A|0)==(o|0)){f=e;break A}for(;u=A-20|0,h=i[u+4>>2],f=e-20|0,i[f>>2]=i[u>>2],i[f+4>>2]=h,h=e-12|0,e=A-12|0,i[h+8>>2]=i[e+8>>2],A=i[e+4>>2],i[h>>2]=i[e>>2],i[h+4>>2]=A,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,e=f,A=u,(o|0)!=(A|0););A=i[k+116>>2],o=i[k+112>>2]}if(i[k+120>>2]=w,i[k+116>>2]=n,i[k+112>>2]=f,(A|0)!=(o|0))for(;l[A-1|0]<0&&G(i[A-12>>2]),A=A-20|0,(o|0)!=(A|0););o&&G(o);break r}y0(),P()}_2(),P()}if(f=l[r+19|0],i[k+116>>2]=n,(f|0)>=0)break i;G(i[r+8>>2])}l[t+23|0]<0&&G(i[t+12>>2]),B=t+48|0}function B8(f,e,r,A,k,n,t,o){var u=0,h=0,w=0,_=0,v=0;u=B-16|0,B=u,i[u+8>>2]=r,i[u+12>>2]=e,r=u+4|0,e=i[A+28>>2],i[r>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),h=x0(r,100192),O0(r),i[k>>2]=0,e=0;i:{for(;;){if(e|(t|0)==(o|0))break i;r:{if(J2(u+12|0,u+8|0))break r;e:{if((V[i[i[h>>2]+36>>2]](h,l[t|0],0)|0)==37){if((t+1|0)==(o|0))break r;r=0;A:{f:{if(e=V[i[i[h>>2]+36>>2]](h,l[t+1|0],0)|0,(e|0)==69||(w=1,(e&255)==48))break f;break A}if((t+2|0)==(o|0))break r;w=2,r=e,e=V[i[i[h>>2]+36>>2]](h,l[t+2|0],0)|0}_=u,v=V[i[i[f>>2]+36>>2]](f,i[u+12>>2],i[u+8>>2],A,k,n,e,r)|0,i[_+12>>2]=v,t=(t+w|0)+1|0;break e}if(e=l[t|0],(e|0)>=0?e=i[i[h+8>>2]+(e<<2)>>2]&1:e=0,e){for(;t=t+1|0,!!((o|0)!=(t|0)&&(e=l[t|0],(e|0)>=0?e=i[i[h+8>>2]+(e<<2)>>2]&1:e=0,e)););for(;;){if(r=u+12|0,J2(r,u+8|0))break e;e=i[r>>2],w=i[e+12>>2];A:{if((w|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break A}e=s[w|0]}if(e=e<<24>>24,(e|0)>=0?e=i[i[h+8>>2]+(e<<2)>>2]&1:e=0,!e)break e;E1(r)}}w=u+12|0,e=i[w>>2],r=i[e+12>>2];A:{if((r|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break A}e=s[r|0]}if((V[i[i[h>>2]+12>>2]](h,e<<24>>24)|0)==(V[i[i[h>>2]+12>>2]](h,l[t|0])|0)){t=t+1|0,E1(w);break e}i[k>>2]=4}e=i[k>>2];continue}break}i[k>>2]=4}return J2(u+12|0,u+8|0)&&(i[k>>2]=i[k>>2]|2),B=u+16|0,i[u+12>>2]}function nn(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0;f=B-16|0,B=f,i[f+12>>2]=r,i[f+8>>2]=n,i[f+12>>2]=r,i[f+8>>2]=n;i:{r:{for(;;){e:{if(e=i[f+12>>2],A>>>0<=e>>>0||(w=i[f+8>>2],w>>>0>=t>>>0))break e;n=l[e|0],r=n&255;A:{if((n|0)>=0){if(r>>>0>1114111)break r;n=1;break A}if(n>>>0<4294967234)break r;if(n>>>0<=4294967263){if(n=1,(A-e|0)<2||(n=2,u=s[e+1|0],(u&192)!=128))break i;r=u&63|r<<6&1984,n=2;break A}if(n>>>0<=4294967279){if(n=1,h=A-e|0,(h|0)<2)break i;u=s[e+1|0];f:{k:{if((r|0)!=237){if((r|0)!=224)break k;if((u&224)==160)break f;break r}if((u&224)==128)break f;break r}if((u&192)!=128)break r}if((h|0)==2)break i;if(n=s[e+2|0],(n&192)!=128)break r;r=n&63|(r<<12&61440|(u&63)<<6),n=3;break A}if(n>>>0>4294967284)break r;if(n=1,h=A-e|0,(h|0)<2)break i;u=s[e+1|0];f:{k:switch(r-240|0){case 0:if((u+112&255)>>>0>=48)break r;break f;case 4:if((u&240)!=128)break r;break f;default:break k}if((u&192)!=128)break r}if((h|0)==2)break i;if(_=s[e+2|0],(_&192)!=128)break r;if((h|0)==3)break i;if(h=s[e+3|0],(h&192)!=128)break r;if(n=2,r=h&63|(_<<6&4032|(r<<18&1835008|(u&63)<<12)),r>>>0>1114111)break i;n=4}i[w>>2]=r,i[f+12>>2]=e+n,i[f+8>>2]=i[f+8>>2]+4;continue}break}n=e>>>0<A>>>0;break i}n=2}return i[k>>2]=i[f+12>>2],i[o>>2]=i[f+8>>2],B=f+16|0,n|0}function $w(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;n=B-32|0,B=n,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,s[e+136|0]==1&&l2(r,i[e+56>>2]),s[e+137|0]==1&&l2(r,i[e+60>>2]),s[e+138|0]==1&&l2(r,i[e+64>>2]);i:{if(s[e+139|0]!=1)break i;if(s[e+68|0]==1){if(A=i0[e+72>>3],s[e+69|0]==1){A=A*1073741824;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}l2(r,k),A=i0[e+80>>3]*1073741824;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}if(l2(r,k),A=i0[e+88>>3]*1073741824,d0(A)<2147483648){l2(r,~~A);break i}l2(r,-2147483648);break i}A=A*16384;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}w2(r,k),A=i0[e+80>>3]*16384;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}if(w2(r,k),A=i0[e+88>>3]*16384,d0(A)<2147483648){w2(r,~~A);break i}w2(r,-2147483648);break i}A=i0[e+104>>3]*65536;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}l2(r,k),A=i0[e+112>>3]*65536;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}l2(r,k),A=i0[e+120>>3]*65536;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}l2(r,k)}s[e+140|0]==1&&l2(r,i[e+128>>2]),i[r+12>>2]=t,V[i[i[e>>2]+36>>2]](n+12|0,e,r,i[r+4>>2]-(i[r>>2]+t|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[n+31|0]<0&&G(i[n+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+32|0}function tn(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0;f=B-16|0,B=f,i[f+12>>2]=r,i[f+8>>2]=n,i[f+12>>2]=r,i[f+8>>2]=n,r=i[f+12>>2];i:{r:{for(;;){if(r>>>0>=A>>>0){n=0;break i}n=2;e:{e=Q[r>>1];A:{if(e>>>0<=127){if(n=1,r=i[f+8>>2],(t-r|0)<=0)break i;i[f+8>>2]=r+1,l[r|0]=e;break A}if(e>>>0<=2047){if(r=i[f+8>>2],(t-r|0)<2)break r;i[f+8>>2]=r+1,l[r|0]=e>>>6|192,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e&63|128;break A}if(e>>>0<=55295){if(r=i[f+8>>2],(t-r|0)<3)break r;i[f+8>>2]=r+1,l[r|0]=e>>>12|224,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e>>>6&63|128,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e&63|128;break A}if(e>>>0<=56319){if(n=1,(A-r|0)<3)break i;if(u=Q[r+2>>1],(u&64512)!=56320)break e;if((t-i[f+8>>2]|0)<4)break i;if(n=e&960,(u&1023|(e<<10&64512|n<<10))>>>0>1048575)break e;i[f+12>>2]=r+2,r=i[f+8>>2],i[f+8>>2]=r+1,h=r,r=(n>>>6|0)+1|0,l[h|0]=r>>>2|240,n=i[f+8>>2],i[f+8>>2]=n+1,l[n|0]=r<<4&48|e>>>2&15|128,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=u>>>6&15|e<<4&48|128,e=i[f+8>>2],i[f+8>>2]=e+1,l[e|0]=u&63|128;break A}if(e>>>0<57344)break i;if(r=i[f+8>>2],(t-r|0)<3)break r;i[f+8>>2]=r+1,l[r|0]=e>>>12|224,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e>>>6&191,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e&63|128}r=i[f+12>>2]+2|0,i[f+12>>2]=r;continue}break}n=2;break i}n=1}return i[k>>2]=i[f+12>>2],i[o>>2]=i[f+8>>2],B=f+16|0,n|0}function bw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-176|0,B=A,i[A+84>>2]=54820,k=i[13708],i[A+28>>2]=k,t=i[k-12>>2],k=A+28|0,i[t+k>>2]=i[13709],o=k+i[i[A+28>>2]-12>>2]|0,n=A+32|0,b0(o,n),i[o+72>>2]=0,i[o+76>>2]=-1,i[A+84>>2]=54820,i[A+28>>2]=54800,o=$0(n),i[o>>2]=53552,i[A+72>>2]=0,i[A+76>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+80>>2]=16,n=A+164|0,Hr(n,e,r),u=k,t=n,k=l[A+175|0],n=(k|0)<0,x(u,n?i[A+164>>2]:t,n?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),t=i[e+12>>2],n=i[e+32>>2],k=i[e+8>>2];i:{if(!t&n>>>0<=k>>>0|t){if(e=i[e+48>>2],X[A+20>>1]=s[21439]|s[21440]<<8,l[A+27|0]=6,i[A+16>>2]=s[21435]|s[21436]<<8|(s[21437]<<16|s[21438]<<24),l[A+22|0]=0,X[A+8>>1]=s[21740]|s[21741]<<8,l[A+15|0]=6,i[A+4>>2]=s[21736]|s[21737]<<8|(s[21738]<<16|s[21739]<<24),l[A+10|0]=0,r=A+164|0,ck(r,e,k-n|0,A+16|0,A+4|0),k=r,e=l[A+175|0],r=(e|0)<0,x(A+28|0,r?i[A+164>>2]:k,r?i[A+168>>2]:e),l[A+175|0]<0&&G(i[A+164>>2]),l[A+15|0]<0&&G(i[A+4>>2]),l[A+27|0]>=0)break i;G(i[A+16>>2]);break i}k=A+164|0,W0(k,r),t=k,r=l[A+175|0],k=(r|0)<0,x(A+28|0,k?i[A+164>>2]:t,k?i[A+168>>2]:r),l[A+175|0]<0&&G(i[A+164>>2]),x(n4(x(A+28|0,19092,17),i[e+8>>2],i[e+12>>2]),31151,23)}i2(f,o),f=i[13707],i[A+28>>2]=f,i[i[f-12>>2]+(A+28|0)>>2]=i[13710],i[o>>2]=53552,l[A+75|0]<0&&G(i[A+64>>2]),K0(o),T0(A+84|0),B=A+176|0}function dw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;A=B+-64|0,B=A,i[A+60>>2]=0,i[A+56>>2]=0,$k(A+44|0,e,r,A+60|0,A+56|0);i:{if(i[A+44>>2]){e=i[A+48>>2],i[f>>2]=i[A+44>>2],i[f+4>>2]=e,i[f+8>>2]=i[A+52>>2];break i}r:{if((r|0)<12||(r=s[e+8|0],!r)||(n=s[e+9|0],!n)||(o=s[e+10|0],!o)||(e=s[e+11|0],!e))break r;k=e|(n<<16|r<<24|o<<8)}e=i[9233],i[A+24>>2]=i[9232],i[A+28>>2]=e,e=i[9231],i[A+16>>2]=i[9230],i[A+20>>2]=e,e=i[9229],i[A+8>>2]=i[9228],i[A+12>>2]=e,i[A+36>>2]=0,i[A+40>>2]=0,n=A+36|0,i[A+32>>2]=n,e=i[9227],i[A>>2]=i[9226],i[A+4>>2]=e,e=A+32|0,jr(e,A,e),o=i[A+36>>2];r:{e:{if(o){for(r=n,e=o;u=r,h=e,t=k0[e+16>>2]<k>>>0,r=t?r:e,e=i[(t<<2)+e>>2],!!e;);if(!((r|0)!=(n|0)&k0[(t?u:h)+16>>2]<=k>>>0)){if(k=i[A+60>>2],_=i[A+56>>2],!o|(_|0)<=0)break e;for(t=0;;){for(v=i[(t<<2)+k>>2],r=n,e=o;u=r,h=e,w=k0[e+16>>2]<v>>>0,r=w?r:e,e=i[(w<<2)+e>>2],!!e;);if(!((r|0)==(n|0)|k0[(w?u:h)+16>>2]>v>>>0)){k&&G(k),e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e,i[f+8>>2]=i[18554];break r}if(t=t+1|0,(_|0)==(t|0))break}break e}e=i[A+60>>2],e&&G(e),e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e,i[f+8>>2]=i[18554];break r}k=i[A+60>>2]}k&&G(k),i[f>>2]=2,i[f+4>>2]=3001,i[f+8>>2]=17987}P8(A+32|0,i[A+36>>2])}B=A- -64|0}function cw(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0,u=0;A=B-16|0,B=A;i:{r:{if(!i[f+64>>2])break r;if(!(s[f+92|0]&16)){i[f+16>>2]=0,i[f+12>>2]=0,i[f+8>>2]=0,r=i[f+52>>2];e:{if(r>>>0>=9){if(s[f+98|0]==1){n=r,r=i[f+32>>2],i[f+28>>2]=(n+r|0)-1,i[f+20>>2]=r,i[f+24>>2]=r;break e}r=i[f+56>>2],i[f+28>>2]=(r+i[f+60>>2]|0)-1,i[f+20>>2]=r,i[f+24>>2]=r;break e}i[f+28>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0}i[f+92>>2]=16}if(t=i[f+20>>2],o=i[f+28>>2],(e|0)!=-1&&(i[f+24>>2]||(i[f+28>>2]=A+16,r=A+15|0,i[f+20>>2]=r,i[f+24>>2]=r),l[i[f+24>>2]]=e<<24>>24,i[f+24>>2]=i[f+24>>2]+1),k=i[f+24>>2],r=i[f+20>>2],(k|0)!=(r|0)){e:{if(s[f+98|0]==1){if(n=r,r=k-r|0,(F1(n,1,r,i[f+64>>2])|0)!=(r|0))break r;break e}for(i[A+8>>2]=i[f+32>>2],u=f+72|0;;){if(r=i[f+68>>2],r){if(k=i[f+32>>2],r=V[i[i[r>>2]+12>>2]](r,u,i[f+20>>2],i[f+24>>2],A+4|0,k,k+i[f+52>>2]|0,A+8|0)|0,i[f+20>>2]==i[A+4>>2])break r;if((r|0)==3){if(r=i[f+24>>2]-i[f+20>>2]|0,(F1(i[f+20>>2],1,r,i[f+64>>2])|0)!=(r|0))break r;break e}if(r>>>0>1||(n=i[f+32>>2],k=i[A+8>>2]-n|0,(F1(n,1,k,i[f+64>>2])|0)!=(k|0)))break r;if((r|0)!=1)break e;r=i[A+4>>2],i[f+28>>2]=i[f+24>>2],i[f+20>>2]=r,i[f+24>>2]=r,i[f+24>>2]=i[f+24>>2]+(i[f+28>>2]-i[f+20>>2]|0);continue}break}u1(),P()}i[f+28>>2]=o,i[f+20>>2]=t,i[f+24>>2]=t}f=(e|0)!=-1?e:0;break i}f=-1}return B=A+16|0,f|0}function Ur(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;v=B-2048|0,B=v;i:{if((e|0)<2){h=-1,E=6,o=-2,J=32,u=5;break i}for(k=e;h=n,n=n+1|0,u=k>>>0>3,k=k>>>1|0,!!u;);for(n=0,k=e;t=n,n=n+1|0,u=k>>>0>3,k=k>>>1|0,!!u;);for(o=h-1|0,n=0,k=e;u=n,n=n+1|0,Z=k>>>0>3,k=k>>>1|0,!!Z;);J=64<<t,E=t+7|0,u=4-u|0}i:{if((e|0)<=0)break i;for(p=1<<o,C=e&2147483646,Z=e&1,R=e-1|0;;){for(I=(W<<1)+r|0,o=0;;){if(w=o<<u,k=0,n=0,_=0,R)for(;t=k|1,D=X[I+(m(t,A)<<1)>>1],y=t,t=(w<<5)+43984|0,n=m(D,l[y+t|0])+(m(X[I+(m(A,k)<<1)>>1],l[k+t|0])+n|0)|0,k=k+2|0,_=_+2|0,(C|0)!=(_|0););if(t=(m(e,o)+W<<1)+v|0,Z&&(n=m(X[I+(m(A,k)<<1)>>1],l[((w<<5)+k|0)+43984|0])+n|0),X[t>>1]=n+p>>h,o=o+1|0,(o|0)==(e|0))break}if(W=W+1|0,(W|0)==(e|0))break}if((e|0)<=0)break i;for(C=e&2147483646,Z=e&1,h=0;;){for(w=m(e,h),t=(w<<1)+f|0,r=0;;){if(p=r<<u,k=0,n=0,_=0,R)for(;A=k|1,o=X[(A+w<<1)+v>>1],y=A,A=(p<<5)+43984|0,n=m(o,l[y+A|0])+(m(X[(k+w<<1)+v>>1],l[A+k|0])+n|0)|0,k=k+2|0,_=_+2|0,(C|0)!=(_|0););if(A=t+(r<<1)|0,Z&&(n=m(X[(k+w<<1)+v>>1],l[((p<<5)+k|0)+43984|0])+n|0),X[A>>1]=n+J>>E,r=r+1|0,(r|0)==(e|0))break}if(h=h+1|0,(h|0)==(e|0))break}}B=v+2048|0}function i_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=Y(0);for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,u3(f+192|0,A,f+208|0,f+207|0,f+206|0),r=B-16|0,B=r,e=f+180|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+176>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0,l[f+7|0]=1,l[f+6|0]=69;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+176>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+176>>2]=A+r),t=f+252|0,A=i[t>>2],o=i[A+12>>2];r:{if((o|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[o|0]}if(EA(A<<24>>24,f+7|0,f+6|0,r,f+176|0,l[f+207|0],l[f+206|0],f+192|0,f+16|0,f+12|0,f+8|0,f+208|0))break i;E1(t);continue}break}s[f+203|0]>>>7|0?A=i[f+196>>2]:A=s[f+203|0]&127;i:{if(!A|s[f+7|0]!=1||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return u=n,h=r9(r,i[f+176>>2],k),Z0[u>>2]=h,K1(f+192|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+192|0),B=f+256|0,r|0}function P2(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;if(k=i[f+4>>2],r=i[f+8>>2],k>>>0<r>>>0){r=i[e+4>>2],i[k>>2]=i[e>>2],i[k+4>>2]=r,r=i[e+12>>2],i[k+8>>2]=i[e+8>>2],i[k+12>>2]=r,i[k+16>>2]=72992,i[k+20>>2]=i[e+20>>2],r=s[e+23|0]|s[e+24|0]<<8|(s[e+25|0]<<16|s[e+26|0]<<24),l[k+23|0]=r,l[k+24|0]=r>>>8,l[k+25|0]=r>>>16,l[k+26|0]=r>>>24,i[k+28>>2]=i[e+28>>2],i[f+4>>2]=k+32;return}i:{if(o=i[f>>2],t=k-o>>5,n=t+1|0,n>>>0<134217728){if(A=r-o|0,r=A>>4,u=A>>>0>=2147483616?134217727:r>>>0>n>>>0?r:n,u){if(u>>>0>=134217728)break i;n=U(u<<5)}else n=0;r=n+(t<<5)|0,A=i[e+4>>2],i[r>>2]=i[e>>2],i[r+4>>2]=A,t=i[e+12>>2],A=i[e+8>>2],i[r+16>>2]=72992,i[r+8>>2]=A,i[r+12>>2]=t,i[r+20>>2]=i[e+20>>2],A=s[e+23|0]|s[e+24|0]<<8|(s[e+25|0]<<16|s[e+26|0]<<24),l[r+23|0]=A,l[r+24|0]=A>>>8,l[r+25|0]=A>>>16,l[r+26|0]=A>>>24,i[r+28>>2]=i[e+28>>2],u=n+(u<<5)|0,h=r+32|0;r:{if((k|0)==(o|0)){e=r;break r}for(;n=k-32|0,A=i[n+4>>2],e=r-32|0,i[e>>2]=i[n>>2],i[e+4>>2]=A,A=i[n+12>>2],i[e+8>>2]=i[n+8>>2],i[e+12>>2]=A,i[r-16>>2]=72992,t=r-12|0,A=k-12|0,i[t>>2]=i[A>>2],A=s[A+3|0]|s[A+4|0]<<8|(s[A+5|0]<<16|s[A+6|0]<<24),l[t+3|0]=A,l[t+4|0]=A>>>8,l[t+5|0]=A>>>16,l[t+6|0]=A>>>24,i[r-4>>2]=i[k-4>>2],r=e,k=n,(k|0)!=(o|0););o=i[f>>2]}i[f+8>>2]=u,i[f+4>>2]=h,i[f>>2]=e,o&&G(o),i[f+4>>2]=h;return}y0(),P()}_2(),P()}function r_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,u3(f+192|0,A,f+208|0,f+207|0,f+206|0),r=B-16|0,B=r,e=f+180|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+176>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0,l[f+7|0]=1,l[f+6|0]=69;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+176>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+176>>2]=A+r),t=f+252|0,A=i[t>>2],o=i[A+12>>2];r:{if((o|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[o|0]}if(EA(A<<24>>24,f+7|0,f+6|0,r,f+176|0,l[f+207|0],l[f+206|0],f+192|0,f+16|0,f+12|0,f+8|0,f+208|0))break i;E1(t);continue}break}s[f+203|0]>>>7|0?A=i[f+196>>2]:A=s[f+203|0]&127;i:{if(!A|s[f+7|0]!=1||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return u=n,h=A9(r,i[f+176>>2],k),i0[u>>3]=h,K1(f+192|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+192|0),B=f+256|0,r|0}function e_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=Y(0);for(f=B-368|0,B=f,i[f+360>>2]=r,i[f+364>>2]=e,l3(f+204|0,A,f+224|0,f+220|0,f+216|0),r=B-16|0,B=r,e=f+192|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+188>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0,l[f+7|0]=1,l[f+6|0]=69;;){i:{if(g2(f+364|0,f+360|0))break i;t=i[f+188>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+188>>2]=A+r),t=f+364|0,A=i[t>>2],o=i[A+12>>2];r:{if((o|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[o>>2]}if(FA(A,f+7|0,f+6|0,r,f+188|0,i[f+220>>2],i[f+216>>2],f+204|0,f+16|0,f+12|0,f+8|0,f+224|0))break i;Y1(t);continue}break}s[f+215|0]>>>7|0?A=i[f+208>>2]:A=s[f+215|0]&127;i:{if(!A|s[f+7|0]!=1||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return u=n,h=r9(r,i[f+188>>2],k),Z0[u>>2]=h,K1(f+204|0,f+16|0,i[f+12>>2],k),g2(f+364|0,f+360|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+364>>2],z0(e),z0(f+204|0),B=f+368|0,r|0}function A_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0;for(f=B-368|0,B=f,i[f+360>>2]=r,i[f+364>>2]=e,l3(f+204|0,A,f+224|0,f+220|0,f+216|0),r=B-16|0,B=r,e=f+192|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+188>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0,l[f+7|0]=1,l[f+6|0]=69;;){i:{if(g2(f+364|0,f+360|0))break i;t=i[f+188>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+188>>2]=A+r),t=f+364|0,A=i[t>>2],o=i[A+12>>2];r:{if((o|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[o>>2]}if(FA(A,f+7|0,f+6|0,r,f+188|0,i[f+220>>2],i[f+216>>2],f+204|0,f+16|0,f+12|0,f+8|0,f+224|0))break i;Y1(t);continue}break}s[f+215|0]>>>7|0?A=i[f+208>>2]:A=s[f+215|0]&127;i:{if(!A|s[f+7|0]!=1||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return u=n,h=A9(r,i[f+188>>2],k),i0[u>>3]=h,K1(f+204|0,f+16|0,i[f+12>>2],k),g2(f+364|0,f+360|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+364>>2],z0(e),z0(f+204|0),B=f+368|0,r|0}function on(f,e,r){var A=0,k=0,n=0;i:{r:{if(!r){if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,r=i[e+156>>2],e=i[e+152>>2],(r|0)==(e|0))break r;if(k=r-e|0,(k|0)<0)break i;for(A=U(k),i[f+4>>2]=A,i[f>>2]=A,i[f+8>>2]=A+k;i[A>>2]=i[e>>2],k=i[e+4>>2],i[A+4>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1),A=A+8|0,e=e+8|0,(r|0)!=(e|0););i[f+4>>2]=A;return}if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,A=i[e+152>>2],k=i[e+156>>2],(A|0)==(k|0))break r;if(n=r&4,!(r&2)){if(e=0,!n)for(;;){e:{if(k0[f+8>>2]<=e>>>0){e=Q2(f,A);break e}i[e>>2]=i[A>>2],r=i[A+4>>2],i[e+4>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),e=e+8|0}if(i[f+4>>2]=e,A=A+8|0,(k|0)==(A|0))break r}for(;;){if(r=i[A>>2],!s[r+60|0]){e:{if(k0[f+8>>2]<=e>>>0){e=Q2(f,A);break e}i[e>>2]=r,r=i[A+4>>2],i[e+4>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),e=e+8|0}i[f+4>>2]=e}if(A=A+8|0,(k|0)==(A|0))break}break r}if(e=0,!n)for(;;){if(r=i[A>>2],!s[r+48|0]){e:{if(k0[f+8>>2]<=e>>>0){e=Q2(f,A);break e}i[e>>2]=r,r=i[A+4>>2],i[e+4>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),e=e+8|0}i[f+4>>2]=e}if(A=A+8|0,(k|0)==(A|0))break r}for(;;){if(r=i[A>>2],!(s[r+48|0]|s[r+60|0])){e:{if(k0[f+8>>2]>e>>>0){i[e>>2]=r,r=i[A+4>>2],i[e+4>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),e=e+8|0;break e}e=Q2(f,A)}i[f+4>>2]=e}if(A=A+8|0,(k|0)==(A|0))break}}return}y0(),P()}function f_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;k=B-32|0,B=k,yA(k+8|0,e,r);i:{if(i[k+8>>2]){e=i[k+12>>2],i[f>>2]=i[k+8>>2],i[f+4>>2]=e,i[f+16>>2]=i[k+24>>2],e=i[k+20>>2],i[f+8>>2]=i[k+16>>2],i[f+12>>2]=e,i[k+24>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0;break i}p=e,W=t2(r),X[p+72>>1]=W,p=e,W=t2(r),X[p+74>>1]=W;r:{if(i[e+64>>2]==i[e+60>>2])break r;e:{for(;;){A:{h=t2(r),w=t2(r),_=t2(r),n=i[e+80>>2],A=i[e+84>>2];f:{if(n>>>0<A>>>0){X[n+4>>1]=_,X[n+2>>1]=w,X[n>>1]=h,h=n+6|0;break f}if(o=i[e+76>>2],t=(n-o|0)/6|0,u=t+1|0,u>>>0>=715827883)break A;if(Z=m(t,6),A=(A-o|0)/6|0,t=A<<1,t=A>>>0>=357913941?715827882:t>>>0>u>>>0?t:u,t){if(t>>>0>=715827883)break e;u=U(m(t,6))}else u=0;if(A=Z+u|0,X[A+4>>1]=_,X[A+2>>1]=w,X[A>>1]=h,h=A+6|0,(n|0)!=(o|0)){for(;A=A-6|0,n=n-6|0,w=Q[n>>1]|Q[n+2>>1]<<16,X[A>>1]=w,X[A+2>>1]=w>>>16,X[A+4>>1]=Q[n+4>>1],(n|0)!=(o|0););o=i[e+76>>2]}if(i[e+84>>2]=u+m(t,6),i[e+80>>2]=h,i[e+76>>2]=A,!o)break f;G(o)}if(i[e+80>>2]=h,v=v+1|0,v>>>0<i[e+64>>2]-i[e+60>>2]>>2>>>0)continue;break r}break}y0(),P()}_2(),P()}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}l[k+27|0]<0&&G(i[k+16>>2]),B=k+32|0}function k_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,e=B-16|0,B=e,o=f+196|0,i[o>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,B=e+16|0,t=f+16|0,e=i[A+28>>2],i[t>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(t,100192),V[i[i[e>>2]+32>>2]](e,60064,60090,f+208|0)|0,O0(t),e=B-16|0,B=e,r=f+184|0,i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,B=e+16|0,h2(r,s[r+11|0]>>>7|0?(i[r+8>>2]&2147483647)-1|0:10),s[r+11|0]>>>7|0?e=i[r>>2]:e=r,i[f+180>>2]=e,i[f+12>>2]=t,i[f+8>>2]=0;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+180>>2],s[r+11|0]>>>7|0?A=i[r+4>>2]:A=s[r+11|0]&127,(t|0)==(A+e|0)&&(s[r+11|0]>>>7|0?e=i[r+4>>2]:e=s[r+11|0]&127,s[r+11|0]>>>7|0?A=i[r+4>>2]:A=s[r+11|0]&127,h2(r,A<<1),h2(r,s[r+11|0]>>>7|0?(i[r+8>>2]&2147483647)-1|0:10),A=e,s[r+11|0]>>>7|0?e=i[r>>2]:e=r,i[f+180>>2]=A+e),u=f+252|0,A=i[u>>2],t=i[A+12>>2];r:{if((t|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[t|0]}if(Gi(A<<24>>24,16,e,f+180|0,f+8|0,0,o,f+16|0,f+12|0,f+208|0))break i;E1(u);continue}break}return h2(r,i[f+180>>2]-e|0),s[r+11|0]>>>7|0?e=i[r>>2]:e=r,A=M2(),i[f>>2]=n,(P9(e,A,f)|0)!=1&&(i[k>>2]=4),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),e=i[f+252>>2],z0(r),z0(o),B=f+256|0,e|0}function n_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;h=B-16|0,B=h;i:{if((r|0)<0)break i;f=i[f>>2],n=i[f+48>>2],f=i[f+52>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),o=i[n+76>>2],u=i[n+80>>2],u&&(i[u+4>>2]=i[u+4>>2]+1);r:{if(!f||(n=i[f+4>>2],i[f+4>>2]=n-1,n))break r;V[i[i[f>>2]+8>>2]](f),g(f)}r:{if(!o){n=0;break r}oe(h+4|0,o,e),f=i[h+8>>2],o=i[h+4>>2];e:{if(((f-o|0)/56|0)>(r|0)){r=o+m(r,56)|0,A&&(i[A>>2]=i[r+16>>2]);A:{if(!k){e=i[r+44>>2],n=i[r+48>>2];break A}if(e=i[r+48>>2]-i[r+44>>2]|0,w=U((e|0)<0?-1:e),i[k>>2]=w,e=i[r+44>>2],n=i[r+48>>2],(e|0)==(n|0)){e=n;break A}if(A=n-e>>2,t=A>>>0<=1?1:A,v=t&3,k=0,r=0,A>>>0>=4)for(Z=t&-4,A=0;t=r<<2,i[t+w>>2]=i[e+t>>2],_=t|4,i[_+w>>2]=i[e+_>>2],_=t|8,i[_+w>>2]=i[e+_>>2],t=t|12,i[t+w>>2]=i[e+t>>2],r=r+4|0,A=A+4|0,(Z|0)!=(A|0););if(!v)break A;for(;A=r<<2,i[A+w>>2]=i[e+A>>2],r=r+1|0,k=k+1|0,(v|0)!=(k|0););}n=n-e>>2;break e}if(n=0,!o)break r}if(r=o,(r|0)!=(f|0)){for(;e=i[f-12>>2],e&&(i[f-8>>2]=e,G(e)),e=f-56|0,i[e>>2]=68500,r=i[f-36>>2],r&&(i[f-32>>2]=r,G(r)),f=e,(o|0)!=(f|0););r=i[h+4>>2]}i[h+8>>2]=o,G(r)}if(!u||(f=i[u+4>>2],i[u+4>>2]=f-1,f))break i;V[i[i[u>>2]+8>>2]](u),g(u)}return B=h+16|0,n|0}function t_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;for(f=B-320|0,B=f,i[f+312>>2]=r,i[f+316>>2]=e,e=B-16|0,B=e,o=f+196|0,i[o>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,B=e+16|0,t=f+16|0,e=i[A+28>>2],i[t>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(t,100184),V[i[i[e>>2]+48>>2]](e,60064,60090,f+208|0)|0,O0(t),e=B-16|0,B=e,r=f+184|0,i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,B=e+16|0,h2(r,s[r+11|0]>>>7|0?(i[r+8>>2]&2147483647)-1|0:10),s[r+11|0]>>>7|0?e=i[r>>2]:e=r,i[f+180>>2]=e,i[f+12>>2]=t,i[f+8>>2]=0;;){i:{if(g2(f+316|0,f+312|0))break i;t=i[f+180>>2],s[r+11|0]>>>7|0?A=i[r+4>>2]:A=s[r+11|0]&127,(t|0)==(A+e|0)&&(s[r+11|0]>>>7|0?e=i[r+4>>2]:e=s[r+11|0]&127,s[r+11|0]>>>7|0?A=i[r+4>>2]:A=s[r+11|0]&127,h2(r,A<<1),h2(r,s[r+11|0]>>>7|0?(i[r+8>>2]&2147483647)-1|0:10),A=e,s[r+11|0]>>>7|0?e=i[r>>2]:e=r,i[f+180>>2]=A+e),u=f+316|0,A=i[u>>2],t=i[A+12>>2];r:{if((t|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[t>>2]}if(Ci(A,16,e,f+180|0,f+8|0,0,o,f+16|0,f+12|0,f+208|0))break i;Y1(u);continue}break}return h2(r,i[f+180>>2]-e|0),s[r+11|0]>>>7|0?e=i[r>>2]:e=r,A=M2(),i[f>>2]=n,(P9(e,A,f)|0)!=1&&(i[k>>2]=4),g2(f+316|0,f+312|0)&&(i[k>>2]=i[k>>2]|2),e=i[f+316>>2],z0(r),z0(o),B=f+320|0,e|0}function o_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=x(L0(x(A+12|0,21348,13),i[e+56>>2]),31338,1),n=A+148|0,W0(n,r),o=n,n=l[A+159|0],u=(n|0)<0,x(k,u?i[A+148>>2]:o,u?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(k,20963,14),k=i[e+60>>2],l[A+11|0]=4,l[A+3|0]=k,l[A+2|0]=k>>>8,l[A+1|0]=k>>>16,l[A|0]=k>>>24,l[A+4|0]=0,k=x(x(n,A,4),31338,1),n=A+148|0,W0(n,r),o=n,r=l[A+159|0],n=(r|0)<0,x(k,n?i[A+148>>2]:o,n?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),n=x(k,21086,6),r=l[e+87|0],k=(r|0)<0,x(x(n,k?i[e+76>>2]:e+76|0,k?i[e+80>>2]:r),31338,1),l[A+11|0]<0&&G(i[A>>2]),i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function l_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;for(f=B-336|0,B=f,i[f+328>>2]=r,i[f+332>>2]=e,o=A8(A),h=x6(A,f+208|0),U6(f+196|0,A,f+324|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(g2(f+332|0,f+328|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+332|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[u>>2]}if(Ci(A,o,r,f+180|0,f+8|0,i[f+324>>2],f+196|0,f+16|0,f+12|0,h))break i;Y1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return w=n,_=d7(r,i[f+180>>2],k,o),i[w>>2]=_,i[n+4>>2]=w0,K1(f+196|0,f+16|0,i[f+12>>2],k),g2(f+332|0,f+328|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+332>>2],z0(e),z0(f+196|0),B=f+336|0,r|0}function u_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;for(f=B-336|0,B=f,i[f+328>>2]=r,i[f+332>>2]=e,o=A8(A),h=x6(A,f+208|0),U6(f+196|0,A,f+324|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(g2(f+332|0,f+328|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+332|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[u>>2]}if(Ci(A,o,r,f+180|0,f+8|0,i[f+324>>2],f+196|0,f+16|0,f+12|0,h))break i;Y1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return w=n,_=D7(r,i[f+180>>2],k,o),i[w>>2]=_,i[n+4>>2]=w0,K1(f+196|0,f+16|0,i[f+12>>2],k),g2(f+332|0,f+328|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+332>>2],z0(e),z0(f+196|0),B=f+336|0,r|0}function s_(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0;u=B-256|0,B=u,i[u+248>>2]=37,i[u+252>>2]=0,w=u+248|0,_=Ae(w|1,15076,i[r+4>>2]),h=u+208|0,i[u+204>>2]=h,f=M2();i:{if(_){Z=i[r+8>>2],v=u- -64|0,i[v>>2]=t,i[v+4>>2]=o,i[u+56>>2]=k,i[u+60>>2]=n,i[u+48>>2]=Z,f=b1(h,30,f,w,u+48|0);break i}i[u+80>>2]=k,i[u+84>>2]=n,i[u+88>>2]=t,i[u+92>>2]=o,f=b1(u+208|0,30,f,u+248|0,u+80|0)}i[u+128>>2]=1094,w=o1(u+196|0,0,u+128|0),h=u+208|0;i:{r:{if((f|0)>=30){f=M2();e:{if(_){h=i[r+8>>2],i[u+16>>2]=t,i[u+20>>2]=o,i[u+8>>2]=k,i[u+12>>2]=n,i[u>>2]=h,f=c4(u+204|0,f,u+248|0,u);break e}i[u+32>>2]=k,i[u+36>>2]=n,i[u+40>>2]=t,i[u+44>>2]=o,f=c4(u+204|0,f,u+248|0,u+32|0)}if((f|0)==-1)break r;k=i[w>>2],i[w>>2]=i[u+204>>2],k&&V[i[w+4>>2]](k),h=i[u+204>>2]}k=h,h=f+h|0,_=X4(k,h,r),i[u+128>>2]=1094,k=u+128|0,n=o1(u+120|0,0,k),t=i[u+204>>2];e:{if((t|0)==(u+208|0)){f=k;break e}if(f=Z2(f<<1),!f)break r;k=i[n>>2],i[n>>2]=f,k&&V[i[n+4>>2]](k),t=i[u+204>>2]}o=u+108|0,k=i[r+28>>2],i[o>>2]=k,(k|0)!=100008&&(i[k+4>>2]=i[k+4>>2]+1),dk(t,_,h,f,u+116|0,u+112|0,o),O0(o),f=G8(e,f,i[u+116>>2],i[u+112>>2],r,A),e=i[n>>2],i[n>>2]=0,e&&V[i[n+4>>2]](e),e=i[w>>2],i[w>>2]=0,e&&V[i[w+4>>2]](e),B=u+256|0;break i}u1(),P()}return f|0}function h_(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0;u=B-416|0,B=u,i[u+408>>2]=37,i[u+412>>2]=0,w=u+408|0,_=Ae(w|1,15076,i[r+4>>2]),h=u+368|0,i[u+364>>2]=h,f=M2();i:{if(_){Z=i[r+8>>2],v=u- -64|0,i[v>>2]=t,i[v+4>>2]=o,i[u+56>>2]=k,i[u+60>>2]=n,i[u+48>>2]=Z,f=b1(h,30,f,w,u+48|0);break i}i[u+80>>2]=k,i[u+84>>2]=n,i[u+88>>2]=t,i[u+92>>2]=o,f=b1(u+368|0,30,f,u+408|0,u+80|0)}i[u+128>>2]=1094,w=o1(u+356|0,0,u+128|0),h=u+368|0;i:{r:{if((f|0)>=30){f=M2();e:{if(_){h=i[r+8>>2],i[u+16>>2]=t,i[u+20>>2]=o,i[u+8>>2]=k,i[u+12>>2]=n,i[u>>2]=h,f=c4(u+364|0,f,u+408|0,u);break e}i[u+32>>2]=k,i[u+36>>2]=n,i[u+40>>2]=t,i[u+44>>2]=o,f=c4(u+364|0,f,u+408|0,u+32|0)}if((f|0)==-1)break r;k=i[w>>2],i[w>>2]=i[u+364>>2],k&&V[i[w+4>>2]](k),h=i[u+364>>2]}k=h,h=f+h|0,_=X4(k,h,r),i[u+128>>2]=1094,k=u+128|0,n=o1(u+120|0,0,k),t=i[u+364>>2];e:{if((t|0)==(u+368|0)){f=k;break e}if(f=Z2(f<<3),!f)break r;k=i[n>>2],i[n>>2]=f,k&&V[i[n+4>>2]](k),t=i[u+364>>2]}o=u+108|0,k=i[r+28>>2],i[o>>2]=k,(k|0)!=100008&&(i[k+4>>2]=i[k+4>>2]+1),bk(t,_,h,f,u+116|0,u+112|0,o),O0(o),f=X8(e,f,i[u+116>>2],i[u+112>>2],r,A),e=i[n>>2],i[n>>2]=0,e&&V[i[n+4>>2]](e),e=i[w>>2],i[w>>2]=0,e&&V[i[w+4>>2]](e),B=u+416|0;break i}u1(),P()}return f|0}function Z8(f,e,r,A,k,n,t,o){var u=0,h=0,w=0,_=0,v=0;u=B-16|0,B=u,i[u+8>>2]=r,i[u+12>>2]=e,r=u+4|0,e=i[A+28>>2],i[r>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),h=x0(r,100184),O0(r),i[k>>2]=0,e=0;i:{for(;;){if(e|(t|0)==(o|0))break i;r:{if(g2(u+12|0,u+8|0))break r;e:{if((V[i[i[h>>2]+52>>2]](h,i[t>>2],0)|0)==37){if((t+4|0)==(o|0))break r;r=0;A:{f:{if(e=V[i[i[h>>2]+52>>2]](h,i[t+4>>2],0)|0,(e|0)==69||(w=4,(e&255)==48))break f;break A}if((t+8|0)==(o|0))break r;w=8,r=e,e=V[i[i[h>>2]+52>>2]](h,i[t+8>>2],0)|0}_=u,v=V[i[i[f>>2]+36>>2]](f,i[u+12>>2],i[u+8>>2],A,k,n,e,r)|0,i[_+12>>2]=v,t=(t+w|0)+4|0;break e}if(V[i[i[h>>2]+12>>2]](h,1,i[t>>2])|0){for(;t=t+4|0,!!((o|0)!=(t|0)&&V[i[i[h>>2]+12>>2]](h,1,i[t>>2])|0););for(;;){if(r=u+12|0,g2(r,u+8|0))break e;e=i[r>>2],w=i[e+12>>2];A:{if((w|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break A}e=i[w>>2]}if(!(V[i[i[h>>2]+12>>2]](h,1,e)|0))break e;Y1(r)}}w=u+12|0,e=i[w>>2],r=i[e+12>>2];A:{if((r|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break A}e=i[r>>2]}if((V[i[i[h>>2]+28>>2]](h,e)|0)==(V[i[i[h>>2]+28>>2]](h,i[t>>2])|0)){t=t+4|0,Y1(w);break e}i[k>>2]=4}e=i[k>>2];continue}break}i[k>>2]=4}return g2(u+12|0,u+8|0)&&(i[k>>2]=i[k>>2]|2),B=u+16|0,i[u+12>>2]}function ln(f,e){var r=0,A=0,k=0,n=0,t=0;i:{r:{e:{A:{f:{r=i[f+4>>2];k:{if((r|0)!=i[f+104>>2]){i[f+4>>2]=r+1,r=s[r|0];break k}r=I2(f)}switch(r-43|0){case 0:case 2:break f;default:break A}}t=(r|0)==45,e=!e,r=i[f+4>>2];f:{if((r|0)!=i[f+104>>2]){i[f+4>>2]=r+1,r=s[r|0];break f}r=I2(f)}if(A=r-58|0,e|A>>>0>4294967285)break e;if(i[f+116>>2]<0)break r;i[f+4>>2]=i[f+4>>2]-1;break r}A=r-58|0}if(A>>>0<4294967286)break r;e:{if(r-48>>>0>=10)break e;for(;;){k=(m(k,10)+r|0)-48|0,n=(k|0)<214748364,r=i[f+4>>2];A:{if((r|0)!=i[f+104>>2]){i[f+4>>2]=r+1,r=s[r|0];break A}r=I2(f)}if(e=r-48|0,!(n&e>>>0<=9))break}if(n=k>>31,e>>>0>=10)break e;for(;;){e=r,r=q0(k,n,10,0),A=e+r|0,e=w0,k=A-48|0,A=(r>>>0>A>>>0?e+1|0:e)-(A>>>0<48)|0,n=A,A=k>>>0<2061584302&(A|0)<=21474836|(A|0)<21474836,r=i[f+4>>2];A:{if((r|0)!=i[f+104>>2]){i[f+4>>2]=r+1,r=s[r|0];break A}r=I2(f)}if(e=r-48|0,!(A&e>>>0<=9))break}if(e>>>0>=10)break e;for(;;){e=i[f+4>>2];A:{if((e|0)!=i[f+104>>2]){i[f+4>>2]=e+1,e=s[e|0];break A}e=I2(f)}if(!(e-48>>>0<10))break}}e=i[f+116>>2],(e|0)>0?e=1:e=(e|0)>=0,e&&(i[f+4>>2]=i[f+4>>2]-1),f=k,k=t?0-f|0:f,n=t?0-(((f|0)!=0)+n|0)|0:n;break i}if(n=-2147483648,i[f+116>>2]<0)break i;return i[f+4>>2]=i[f+4>>2]-1,w0=-2147483648,0}return w0=n,k}function w_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,o=A8(A),M6(f+196|0,A,f+247|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+252|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[u|0]}if(Gi(A<<24>>24,o,r,f+180|0,f+8|0,l[f+247|0],f+196|0,f+16|0,f+12|0,60064))break i;E1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return h=n,w=d7(r,i[f+180>>2],k,o),i[h>>2]=w,i[n+4>>2]=w0,K1(f+196|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+196|0),B=f+256|0,r|0}function __(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,o=A8(A),M6(f+196|0,A,f+247|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+252|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[u|0]}if(Gi(A<<24>>24,o,r,f+180|0,f+8|0,l[f+247|0],f+196|0,f+16|0,f+12|0,60064))break i;E1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return h=n,w=D7(r,i[f+180>>2],k,o),i[h>>2]=w,i[n+4>>2]=w0,K1(f+196|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+196|0),B=f+256|0,r|0}function v_(f){f=f|0;var e=0,r=0,A=0,k=0;e=i[f+212>>2],e&&(i[f+216>>2]=e,G(e)),e=i[f+204>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+196>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=i[f+180>>2],r){if(e=r,A=i[f+184>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+180>>2]}i[f+184>>2]=r,G(e)}if(r=i[f+168>>2],r){if(e=r,A=i[f+172>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+168>>2]}i[f+172>>2]=r,G(e)}l[f+167|0]<0&&G(i[f+156>>2]),e=i[f+84>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+72>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=i[f+52>>2],r){if(e=r,A=i[f+56>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+52>>2]}i[f+56>>2]=r,G(e)}l[f+27|0]<0&&G(i[f+16>>2])}function un(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;for(f=B-336|0,B=f,i[f+328>>2]=r,i[f+332>>2]=e,o=A8(A),h=x6(A,f+208|0),U6(f+196|0,A,f+324|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(g2(f+332|0,f+328|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+332|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[u>>2]}if(Ci(A,o,r,f+180|0,f+8|0,i[f+324>>2],f+196|0,f+16|0,f+12|0,h))break i;Y1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return w=n,_=T7(r,i[f+180>>2],k,o),i[w>>2]=_,K1(f+196|0,f+16|0,i[f+12>>2],k),g2(f+332|0,f+328|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+332>>2],z0(e),z0(f+196|0),B=f+336|0,r|0}function m_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;for(f=B-336|0,B=f,i[f+328>>2]=r,i[f+332>>2]=e,o=A8(A),h=x6(A,f+208|0),U6(f+196|0,A,f+324|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(g2(f+332|0,f+328|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+332|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[u>>2]}if(Ci(A,o,r,f+180|0,f+8|0,i[f+324>>2],f+196|0,f+16|0,f+12|0,h))break i;Y1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return w=n,_=U7(r,i[f+180>>2],k,o),i[w>>2]=_,K1(f+196|0,f+16|0,i[f+12>>2],k),g2(f+332|0,f+328|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+332>>2],z0(e),z0(f+196|0),B=f+336|0,r|0}function B_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;for(f=B-336|0,B=f,i[f+328>>2]=r,i[f+332>>2]=e,o=A8(A),h=x6(A,f+208|0),U6(f+196|0,A,f+324|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(g2(f+332|0,f+328|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+332|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[u>>2]}if(Ci(A,o,r,f+180|0,f+8|0,i[f+324>>2],f+196|0,f+16|0,f+12|0,h))break i;Y1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return w=n,_=M7(r,i[f+180>>2],k,o),X[w>>1]=_,K1(f+196|0,f+16|0,i[f+12>>2],k),g2(f+332|0,f+328|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+332>>2],z0(e),z0(f+196|0),B=f+336|0,r|0}function Z_(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0;f=B-624|0,B=f,i[f+616>>2]=r,i[f+620>>2]=e,i[f+16>>2]=1095,e=f+16|0,u=o1(f+200|0,f+208|0,e),h=f+192|0,o=i[k+28>>2],i[h>>2]=o,(o|0)!=100008&&(i[o+4>>2]=i[o+4>>2]+1),o=x0(h,100184),l[f+191|0]=0;i:{if(!Xk(f+620|0,r,A,h,i[k+4>>2],n,f+191|0,o,u,f+196|0,f+608|0))break i;r=s[16413]|s[16414]<<8|(s[16415]<<16|s[16416]<<24),l[f+183|0]=r,l[f+184|0]=r>>>8,l[f+185|0]=r>>>16,l[f+186|0]=r>>>24,r=s[16410]|s[16411]<<8|(s[16412]<<16|s[16413]<<24),i[f+176>>2]=s[16406]|s[16407]<<8|(s[16408]<<16|s[16409]<<24),i[f+180>>2]=r,V[i[i[o>>2]+48>>2]](o,f+176|0,f+186|0,f+128|0)|0,i[f+16>>2]=1094,A=o1(f+8|0,0,e),k=e;r:{if(e=i[f+196>>2]-i[u>>2]|0,(e|0)>=393&&(r=Z2((e>>2)+2|0),e=i[A>>2],i[A>>2]=r,e&&V[i[A+4>>2]](e),k=i[A>>2],!k))break r;for(s[f+191|0]==1&&(l[k|0]=45,k=k+1|0),r=i[u>>2];;){if(k0[f+196>>2]<=r>>>0)e:{if(l[k|0]=0,i[f>>2]=t,(Lt(f+16|0,f)|0)!=1)break e;e=i[A>>2],i[A>>2]=0,e&&V[i[A+4>>2]](e);break i}else{e=f+128|0,w=k,_=s[(f+176|0)+(H3(e,e+40|0,r)-e>>2)|0],l[w|0]=_,k=k+1|0,r=r+4|0;continue}break}u1(),P()}u1(),P()}return g2(f+620|0,f+616|0)&&(i[n>>2]=i[n>>2]|2),r=i[f+620>>2],O0(f+192|0),e=i[u>>2],i[u>>2]=0,e&&V[i[u+4>>2]](e),B=f+624|0,r|0}function p_(f){f=f|0;var e=0,r=0,A=0,k=0,n=0;k=B-16|0,B=k;i:{if(!i[f+64>>2])break i;r:{if(A=i[f+68>>2],A){if(r=i[f+92>>2],r&16){if(i[f+24>>2]!=i[f+20>>2]&&(e=-1,(V[i[i[f>>2]+52>>2]](f,-1)|0)==-1))break i;for(A=f+72|0;;){if(e=i[f+68>>2],r=i[f+32>>2],r=V[i[i[e>>2]+20>>2]](e,A,r,r+i[f+52>>2]|0,k+12|0)|0,n=i[f+32>>2],e=i[k+12>>2]-n|0,(F1(n,1,e,i[f+64>>2])|0)!=(e|0))break r;e:switch(r-1|0){case 1:break r;case 0:continue;default:break e}break}if(e=0,!x8(i[f+64>>2]))break i;break r}if(!(r&8))break i;e=i[f+84>>2],i[k>>2]=i[f+80>>2],i[k+4>>2]=e;e:{A:{f:{if(s[f+98|0]==1){e=i[f+16>>2]-i[f+12>>2]|0,A=e>>31;break f}if(r=V[i[i[A>>2]+24>>2]](A)|0,e=i[f+40>>2]-i[f+36>>2]|0,A=e>>31,(r|0)>0){r=m(r,i[f+16>>2]-i[f+12>>2]|0),A=A+(r>>31)|0,n=e,e=e+r|0,A=n>>>0>e>>>0?A+1|0:A;break f}if(i[f+12>>2]!=i[f+16>>2])break A}r=0;break e}r=i[f+68>>2],r=V[i[i[r>>2]+32>>2]](r,k,i[f+32>>2],i[f+36>>2],i[f+12>>2]-i[f+8>>2]|0)|0,r=i[f+36>>2]-(r+i[f+32>>2]|0)|0,A=A+(r>>31)|0,n=e,e=e+r|0,A=n>>>0>e>>>0?A+1|0:A,r=1}if(Ce(i[f+64>>2],0-e|0,0-(A+((e|0)!=0)|0)|0,1))break r;r&&(e=i[k+4>>2],i[f+72>>2]=i[k>>2],i[f+76>>2]=e),e=i[f+32>>2],i[f+40>>2]=e,i[f+36>>2]=e,e=0,i[f+16>>2]=0,i[f+12>>2]=0,i[f+8>>2]=0,i[f+92>>2]=0;break i}u1(),P()}e=-1}return B=k+16|0,e|0}function sn(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,o=A8(A),M6(f+196|0,A,f+247|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+252|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[u|0]}if(Gi(A<<24>>24,o,r,f+180|0,f+8|0,l[f+247|0],f+196|0,f+16|0,f+12|0,60064))break i;E1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return h=n,w=T7(r,i[f+180>>2],k,o),i[h>>2]=w,K1(f+196|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+196|0),B=f+256|0,r|0}function W_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,o=A8(A),M6(f+196|0,A,f+247|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+252|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[u|0]}if(Gi(A<<24>>24,o,r,f+180|0,f+8|0,l[f+247|0],f+196|0,f+16|0,f+12|0,60064))break i;E1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return h=n,w=U7(r,i[f+180>>2],k,o),i[h>>2]=w,K1(f+196|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+196|0),B=f+256|0,r|0}function X_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,o=A8(A),M6(f+196|0,A,f+247|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+252|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[u|0]}if(Gi(A<<24>>24,o,r,f+180|0,f+8|0,l[f+247|0],f+196|0,f+16|0,f+12|0,60064))break i;E1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return h=n,w=M7(r,i[f+180>>2],k,o),X[h>>1]=w,K1(f+196|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+196|0),B=f+256|0,r|0}function G_(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0;f=B-272|0,B=f,i[f+264>>2]=r,i[f+268>>2]=e,i[f+16>>2]=1095,e=f+16|0,u=o1(f+152|0,f+160|0,e),h=f+144|0,o=i[k+28>>2],i[h>>2]=o,(o|0)!=100008&&(i[o+4>>2]=i[o+4>>2]+1),o=x0(h,100192),l[f+143|0]=0;i:{if(!pk(f+268|0,r,A,h,i[k+4>>2],n,f+143|0,o,u,f+148|0,f+260|0))break i;r=s[16413]|s[16414]<<8|(s[16415]<<16|s[16416]<<24),l[f+135|0]=r,l[f+136|0]=r>>>8,l[f+137|0]=r>>>16,l[f+138|0]=r>>>24,r=s[16410]|s[16411]<<8|(s[16412]<<16|s[16413]<<24),i[f+128>>2]=s[16406]|s[16407]<<8|(s[16408]<<16|s[16409]<<24),i[f+132>>2]=r,V[i[i[o>>2]+32>>2]](o,f+128|0,f+138|0,f+118|0)|0,i[f+16>>2]=1094,A=o1(f+8|0,0,e),k=e;r:{if(e=i[f+148>>2]-i[u>>2]|0,(e|0)>=99&&(r=Z2(e+2|0),e=i[A>>2],i[A>>2]=r,e&&V[i[A+4>>2]](e),k=i[A>>2],!k))break r;for(s[f+143|0]==1&&(l[k|0]=45,k=k+1|0),r=i[u>>2];;){if(k0[f+148>>2]<=r>>>0)e:{if(l[k|0]=0,i[f>>2]=t,(Lt(f+16|0,f)|0)!=1)break e;e=i[A>>2],i[A>>2]=0,e&&V[i[A+4>>2]](e);break i}else{e=f+118|0,w=k,_=s[((T3(e,e+10|0,r)-f|0)+f|0)+10|0],l[w|0]=_,k=k+1|0,r=r+1|0;continue}break}u1(),P()}u1(),P()}return J2(f+268|0,f+264|0)&&(i[n>>2]=i[n>>2]|2),r=i[f+268>>2],O0(f+144|0),e=i[u>>2],i[u>>2]=0,e&&V[i[u+4>>2]](e),B=f+272|0,r|0}function C_(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0;h=B-16|0,B=h,u=U(36),i[u+32>>2]=t,i[u+28>>2]=n,i[u+24>>2]=k,i[u+20>>2]=A,i[u+16>>2]=r,i[u+12>>2]=73320,i[u+4>>2]=0,i[u+8>>2]=0,i[u>>2]=73568,r=i[e+8>>2],i[h+12>>2]=u,n=u+12|0,i[h+8>>2]=n,i[u+4>>2]=i[u+4>>2]+1,A=i[r+16>>2];i:{r:{if(A>>>0<k0[r+20>>2]){i[A+4>>2]=u,i[A>>2]=n,i[u+4>>2]=i[u+4>>2]+1,i[r+16>>2]=A+8,k=u;break r}if(A=Q2(r+12|0,h+8|0),k=i[h+12>>2],i[r+16>>2]=A,!k)break i}if(r=i[k+4>>2],i[k+4>>2]=r-1,r)break i;V[i[i[k>>2]+8>>2]](k),g(k)}i:{if(!o||(i[u+4>>2]=i[u+4>>2]+1,r=U(24),i[u+4>>2]=i[u+4>>2]+1,i[r+20>>2]=u,i[r+16>>2]=n,k=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=k,k=i[e>>2],A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+4>>2]=A,i[r>>2]=k,i[o>>2]=r,r=i[u+4>>2],i[u+4>>2]=r-1,r))break i;V[i[i[u>>2]+8>>2]](u),g(u)}A=i[e>>2],r=i[e+4>>2];i:{if(r){if(i[r+4>>2]=i[r+4>>2]+1,z9(A,i[i[e+8>>2]>>2],t),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,f=i[r+4>>2],i[r+4>>2]=f-1,f)break i;V[i[i[r>>2]+8>>2]](r),g(r);break i}z9(A,i[i[e+8>>2]>>2],t),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}f=i[u+4>>2],i[u+4>>2]=f-1,f||(V[i[i[u>>2]+8>>2]](u),g(u)),B=h+16|0}function V_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+4>>2];i:{if(!(!s[k+12|0]|((A|0)==3|i[k+8>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(!(i[r>>2]|(A|0)!=1)&i[r+12>>2]>8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],!(A>>>0>14|!(1<<A&18689))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=1,A=s[r+8|0],l[e+44|0]=A,i[e+40>>2]=A?15:14,i[e+48>>2]=i[r+12>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,A=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,A=i[e+40>>2],i[e>>2]=i[e+36>>2],i[e+4>>2]=A,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e),i[e+36>>2]=1,A=s[r+8|0],l[e+44|0]=A,i[e+40>>2]=A?13:12,i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[e+40>>2],i[e>>2]=i[e+36>>2],i[e+4>>2]=r,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function I_(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;i[f+4>>2]=1,A=i[f+8>>2],i[A+324>>2]=i[A+324>>2]-1,i[A+328>>2]=i[A+328>>2]+1,A=i[f+12>>2],n=A+1|0,r=i[f+8>>2],e=i[r+124>>2],u=i[e+16884>>2]/4|0,h=i[r+276>>2],o=i[e+16892>>2],k=o-1|0,t=i[r+272>>2],w=s[f+16|0];i:{if(w){e=i[e+16900>>2]-1|0,i8(r,f,k,(e|0)<(n|0)?e:n,1);break i}if((A|0)<=0?e=A:(i8(r,f,k,A-1|0,2),r=i[f+8>>2],e=i[f+12>>2]),i8(r,f,k,e,2),r=i[f+12>>2]+1|0,e=i[f+8>>2],(r|0)>=i[i[e+124>>2]+16900>>2])break i;i8(e,f,k,r,2)}e=i[f+12>>2],r=i[f+8>>2];i:{r:{if(s[f+16|0]==1){if(e=Jk(r,e),r=i[f+8>>2],l[(i[r+140>>2]+m(m(i[r+152>>2],i[f+12>>2]),24)|0)+21|0]=e,!e)break i;k=s[f+16|0];break r}if(k=0,s[(i[r+140>>2]+m(m(e,i[r+152>>2]),24)|0)+21|0]!=1)break i}A=m(A,u),e=m(n,u),e=(e|0)<(h|0)?e:h,GA(r,k&1,A,e,t),r=s[f+16|0],k=i[f+8>>2];r:{if(i[i[k+124>>2]+16832>>2]>=9){ZA(k,r&1,A,e,t);break r}pA(k,r&1,A,e,t)}if(r=i[f+8>>2],n=i[r+124>>2],!i[n+16848>>2])break i;if(k=s[f+16|0],i[n+16840>>2]>=9){WA(r,k&1,A,e,t);break i}XA(r,k&1,A,e,t)}if(r=0,(o|0)>0)for(A=w?2:3;e=i[f+8>>2],e=(i[e+320>>2]+m(r,76)|0)+m(m(i[f+12>>2],i[i[e+124>>2]+16892>>2]),76)|0,(A|0)>i[e>>2]&&(i[e>>2]=A),r=r+1|0,(o|0)!=(r|0););i[f+4>>2]=3,Ze(i[f+8>>2])}function g1(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;n=i[f+16>>2],o=i[f+20>>2],A=i[f>>2],r=i[f+24>>2],h=i[f+8>>2],t=h;i:{for(;;){if(!((r|0)>0)){r=64-r|0;r:{if(!t){t=0,k=r;break r}Z=0;e:{for(;;){if(_=A+1|0,i[f>>2]=_,A=s[A|0],t=t-1|0,i[f+8>>2]=t,k=r-8|0,v=k&31,h=f,(k&63)>>>0>=32?(u=A<<v,A=0):(u=(1<<v)-1&A>>>32-v,A=A<<v),n=A|n,i[f+16>>2]=n,o=o|u,i[h+20>>2]=o,(r|0)<=15)break e;if(Z=Z-(r>>>0<8)|0,r=r-8|0,A=_,!t)break}h=t,t=0,k=r;break r}h=t,A=_}r=64-k|0}if(_=o,k=r,r=r-1|0,i[f+24>>2]=r,u=_<<1|n>>>31,n=n<<1,i[f+16>>2]=n,o=u,i[f+20>>2]=o,(_|0)>0|(_|0)>=0){if(w=w+1|0,(w|0)!=21)continue;break i}break}if(p=e,w){if(!((k|0)>(w|0)|(k|0)>57)){for(r=65-k|0,Z=0;;){r:{if(v=r,!h){k=r;break r}if(t=A+1|0,i[f>>2]=t,e=s[A|0],h=h-1|0,i[f+8>>2]=h,k=v-8|0,A=k&31,(k&63)>>>0>=32?(u=e<<A,e=0):(u=(1<<A)-1&e>>>32-A,e=e<<A),n=e|n,e=o|u,o=e,i[f+16>>2]=n,i[f+20>>2]=e,e=r,r=r-8|0,Z=Z-(e>>>0<8)|0,A=t,(v|0)>15)continue}break}r=64-k|0}i[f+24>>2]=r-w,e=n,r=w&31,(w&63)>>>0>=32?(u=e<<r,e=0):(u=(1<<r)-1&e>>>32-r|o<<r,e=e<<r),i[f+16>>2]=e,i[f+20>>2]=u,f=n,e=64-w|0,r=e&31,(e&63)>>>0>=32?f=o>>>r|0:f=((1<<r)-1&o)<<32-r|f>>>r,f=f+(-1<<w^-1)|0}else f=0;i[p>>2]=f}return _>>>31|0}function M0(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;k=i[f+8>>2],r=i[f+12>>2],n=i[f+16>>2];i:{for(;;){r:{if((n|0)>0){e=r,A=n;break r}for(A=64-n|0,w=0,n=i[f+4>>2],e=r;;){e:{if(u=A,!n){t=A;break e}if(r=i[f>>2],i[f>>2]=r+1,r=s[r|0],n=n-1|0,i[f+4>>2]=n,_=f,v=k,t=u-8|0,k=t&31,(t&63)>>>0>=32?(h=r<<k,r=0):(h=(1<<k)-1&r>>>32-k,r=r<<k),k=v|r,r=e|h,e=r,i[_+8>>2]=k,i[_+12>>2]=e,r=A,A=r-8|0,w=w-(r>>>0<8)|0,(u|0)>15)continue}break}A=64-t|0}if(n=A-1|0,i[f+16>>2]=n,h=e<<1|k>>>31,k=k<<1,i[f+8>>2]=k,r=h,i[f+12>>2]=r,(e|0)<0)break i;if(o=o+1|0,(o|0)==21)break}return-99999}if(!o)return 0;if(!((A|0)>(o|0)|(A|0)>57)){for(A=65-A|0,w=0,n=i[f+4>>2];;){i:{if(_=A,!n){t=A;break i}if(e=i[f>>2],i[f>>2]=e+1,e=s[e|0],n=n-1|0,i[f+4>>2]=n,h=f,v=k,t=_-8|0,k=t&31,(t&63)>>>0>=32?(u=e<<k,e=0):(u=(1<<k)-1&e>>>32-k,e=e<<k),k=v|e,i[h+8>>2]=k,r=r|u,i[f+12>>2]=r,e=A,A=e-8|0,w=w-(e>>>0<8)|0,(_|0)>15)continue}break}n=64-t|0}if(i[f+16>>2]=n-o,A=k,e=o&31,(o&63)>>>0>=32?(u=k<<e,A=0):(u=(1<<e)-1&A>>>32-e|r<<e,A=A<<e),i[f+8>>2]=A,i[f+12>>2]=u,f=k,A=64-o|0,e=A&31,(A&63)>>>0>=32?f=r>>>e|0:f=((1<<e)-1&r)<<32-e|f>>>e,f=f+(1<<o)|0,(f|0)>1)return f-1|0;C0(17126,13987,146,13779),P()}function Q_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,4563);break i}if(B4(A+20|0,r),l[e+67|0]<0&&G(i[e+56>>2]),k=i[A+24>>2],i[e+56>>2]=i[A+20>>2],i[e+60>>2]=k,i[e+64>>2]=i[A+28>>2],B4(A+20|0,r),l[e+79|0]<0&&G(i[e+68>>2]),k=i[A+24>>2],i[e+68>>2]=i[A+20>>2],i[e+72>>2]=k,i[e+76>>2]=i[A+28>>2],B4(A+20|0,r),l[e+91|0]<0&&G(i[e+80>>2]),k=i[A+24>>2],i[e+80>>2]=i[A+20>>2],i[e+84>>2]=k,i[e+88>>2]=i[A+28>>2],B4(A+20|0,r),l[e+103|0]<0&&G(i[e+92>>2]),k=i[A+24>>2],i[e+92>>2]=i[A+20>>2],i[e+96>>2]=k,i[e+100>>2]=i[A+28>>2],s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function hn(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;i:{r:{e:{A:{f:{k:{n:{t:{o:{u:{if(k=e,k){if(!r)break u;if(!A)break o;if(k=$2(A)-$2(k)|0,k>>>0<=31)break t;break r}if((A|0)==1|A>>>0>1)break r;return e=(f>>>0)/(r>>>0)|0,d8=f-m(e,r)|0,c8=0,w0=0,e}if(!f)break n;if(!A||(n=A-1|0,n&A))break k;return d8=f,c8=k&n,f=k>>>P6(A)|0,w0=0,f}if(n=r-1|0,!(n&r))break f;w=($2(r)+33|0)-$2(k)|0,t=0-w|0;break e}w=k+1|0,t=63-k|0;break e}return d8=0,f=(k>>>0)/(A>>>0)|0,c8=k-m(f,A)|0,w0=0,f}if(k=$2(A)-$2(k)|0,k>>>0<31)break A;break r}if(d8=f&n,c8=0,(r|0)==1)break i;return r=P6(r),A=r&31,(r&63)>>>0>=32?(k=0,f=e>>>A|0):(k=e>>>A|0,f=((1<<A)-1&e)<<32-A|f>>>A),w0=k,f}w=k+1|0,t=63-k|0}if(n=f,k=w&63,o=k&31,(k&63)>>>0>=32?(k=0,n=e>>>o|0):(k=e>>>o|0,n=((1<<o)-1&e)<<32-o|n>>>o),o=t&63,t=f,u=o&31,(o&63)>>>0>=32?(h=f<<u,f=0):(h=(1<<u)-1&t>>>32-u|e<<u,f=t<<u),e=h,w)for(t=A-1|0,_=r-1|0,t=(_|0)!=-1?t+1|0:t,o=_;k=k<<1|n>>>31,n=n<<1|e>>>31,_=k,u=t-(k+(n>>>0>o>>>0)|0)|0,v=u>>31,h=v,k=n,u=r&h,n=k-u|0,k=_-((A&h)+(k>>>0<u>>>0)|0)|0,h=e<<1|f>>>31,f=Z|f<<1,e=h|p,_=v&1,Z=_,w=w-1|0,!!w;);return d8=n,c8=k,h=e<<1|f>>>31,f=_|f<<1,w0=h|p,f}d8=f,c8=e,f=0,e=0}return w0=e,f}function wn(f,e,r){var A=0,k=0,n=0,t=0,o=Y(0),u=Y(0),h=Y(0),w=Y(0),_=Y(0),v=Y(0),Z=Y(0),p=Y(0);A=B-16|0,B=A,i[r>>2]=0,k=Z2(52);i:{if(!k){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,6,0,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(l[k+16|0]=1,i[k+12>>2]=6,i[k+4>>2]=1,i[k+8>>2]=13,l[k|0]=1,n=A+4|0,cA(n,k,Q[e+4>>1]),t=i[A+4>>2],t){if(e=i[A+8>>2],G(k),l[A+4|0]=0,l[A+15|0]=0,r0(f,t,e,n),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(n=A+4|0,i3(n,k,Q[e+6>>1]),t=i[A+4>>2],t){if(e=i[A+8>>2],G(k),l[A+4|0]=0,l[A+15|0]=0,r0(f,t,e,n),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(n=A+4|0,dA(n,k,Q[e+8>>1]),t=i[A+4>>2],t){if(e=i[A+8>>2],G(k),l[A+4|0]=0,l[A+15|0]=0,r0(f,t,e,n),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(l[k+16|0]=s[e+10|0],e=Q[k+4>>1]-1|0,(e&65535)>>>0<=21&&(e=e<<2&262140,o=Z0[e+36156>>2],u=Z0[e+35892>>2],h=Z0[e+35804>>2],w=Z0[e+35716>>2],_=Z0[e+35628>>2],v=Z0[e+35540>>2],Z=Z0[e+36068>>2],p=Z0[e+35980>>2]),Z0[k+48>>2]=o,Z0[k+44>>2]=Z,Z0[k+40>>2]=h,Z0[k+36>>2]=w,Z0[k+32>>2]=_,Z0[k+28>>2]=v,Z0[k+24>>2]=p,Z0[k+20>>2]=u,i[r>>2]=k,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function y_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0;n=B-32|0,B=n;i:{if(!(k&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;break i}t=i[e>>2],o=i[t+48>>2],t=i[t+52>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,o,r,n+20|0);r:{if(i[n>>2]){P0(f,n,i[e>>2]);break r}if(r=A-1|0,e=i[n+20>>2],r>>>0>=i[n+24>>2]-e>>3>>>0){i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=10388;break r}e:{if(e=e+(r<<3)|0,r=i[e>>2],!r||(r=N0(r,68572,70012),!r))break e;if(e=i[e+4>>2],e){if(i[e+4>>2]=i[e+4>>2]+1,A=U(80),i[k>>2]=A,F2(A,r+56|0,76),i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r,f=i[e+4>>2],i[e+4>>2]=f-1,f)break r;V[i[i[e>>2]+8>>2]](e),g(e);break r}e=U(80),i[k>>2]=e,F2(e,r+56|0,76),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;break r}i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=9699}if(l[n+19|0]<0&&G(i[n+8>>2]),r=i[n+20>>2],r){if(f=r,e=i[n+24>>2],(f|0)!=(e|0)){for(;;){f=i[e-4>>2];r:{if(!f||(A=i[f+4>>2],i[f+4>>2]=A-1,A))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(r|0)==(e|0))break}f=i[n+20>>2]}i[n+24>>2]=r,G(f)}if(!t||(f=i[t+4>>2],i[t+4>>2]=f-1,f))break i;V[i[i[t>>2]+8>>2]](t),g(t)}B=n+32|0}function F_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0;if(Q1(f,i[e+8>>2],k)){i[e+28>>2]==1|i[e+4>>2]!=(r|0)||(i[e+28>>2]=A);return}i:{r:{if(Q1(f,i[e>>2],k)){if(!(i[e+16>>2]!=(r|0)&i[e+20>>2]!=(r|0))){if((A|0)!=1)break i;i[e+32>>2]=1;return}if(i[e+32>>2]=A,i[e+44>>2]==4)break r;for(n=f+16|0,t=n+(i[f+12>>2]<<3)|0,A=0;;){e:{A:{f:{k:{if(n>>>0>=t>>>0||(X[e+52>>1]=0,Y3(n,e,r,r,1,k),s[e+54|0]))break k;if(s[e+53|0]!=1)break e;if(s[e+52|0]==1){if(i[e+24>>2]==1||(A=1,o=1,!(s[f+8|0]&2)))break A;break e}if(A=1,l[f+8|0]&1)break e;f=3;break f}f=A?3:4}if(i[e+44>>2]=f,o)break i;break r}i[e+44>>2]=3;break i}n=n+8|0}}if(n=i[f+12>>2],t=f+16|0,Be(t,e,r,A,k),(n|0)<2)break i;if(t=t+(n<<3)|0,n=f+24|0,f=i[f+8>>2],!(!(f&2)&i[e+36>>2]!=1)){for(;;){if(s[e+54|0])break i;if(Be(n,e,r,A,k),n=n+8|0,!(t>>>0>n>>>0))break}break i}if(!(f&1))for(;;){if(s[e+54|0]|i[e+36>>2]==1)break i;if(Be(n,e,r,A,k),n=n+8|0,!(t>>>0>n>>>0))break i}for(;;){if(s[e+54|0]|i[e+36>>2]==1&i[e+24>>2]==1)break i;if(Be(n,e,r,A,k),n=n+8|0,!(t>>>0>n>>>0))break}break i}if(i[e+20>>2]=r,i[e+40>>2]=i[e+40>>2]+1,i[e+36>>2]!=1|i[e+24>>2]!=2)break i;l[e+54|0]=1}}function E_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(!(i[r>>2]==1&(i[r+4>>2]&-4)==12)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,l[e+62|0]=1,i[e+56>>2]=131074,l[e+44|0]=0,i[e+36>>2]=99,i[e+40>>2]=99,i[e+48>>2]=8,i[e+52>>2]=72992,X[e+60>>1]=2,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969;r:{e:switch(A=i[r+4>>2],A-12|0){case 0:case 2:break e;default:break r}l[e+44|0]=0,i[e+36>>2]=1,i[e+40>>2]=(A|0)==14?12:14,i[e+48>>2]=i[r+12>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,A=i[e+40>>2],i[e>>2]=i[e+36>>2],i[e+4>>2]=A,i[e+16>>2]=72992,A=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,A=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=A,P2(f,e),A=i[r+4>>2]}r:switch(A-13|0){case 0:case 2:break r;default:break i}l[e+44|0]=1,i[e+36>>2]=1,i[e+40>>2]=(A|0)==15?13:15,i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=i[e+40>>2],i[e>>2]=i[e+36>>2],i[e+4>>2]=r,i[e+16>>2]=72992,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function Xi(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;_=B-16|0,B=_;i:{r:{e:{if((r|0)<=36){if(t=s[f|0],t)break e;n=f;break r}i[23944]=28,A=0,k=0;break i}n=f;e:{for(;;){if(o=t<<24>>24,!((o|0)==32|o-9>>>0<5))break e;if(t=s[n+1|0],n=n+1|0,!t)break}break r}e:switch(o=t&255,o-43|0){case 0:case 2:break e;default:break r}h=(o|0)==45?-1:0,n=n+1|0}r:{if(!((r|16)!=16|s[n|0]!=48)){if(Z=1,(s[n+1|0]&223)==88){n=n+2|0,v=16;break r}n=n+1|0,v=r||8;break r}v=r||10}for(r=0;;){r:{o=s[n|0],t=o-48|0;e:{if((t&255)>>>0<10)break e;if((o-97&255)>>>0<=25){t=o-87|0;break e}if((o-65&255)>>>0>25)break r;t=o-55|0}if(t=t&255,(t|0)>=(v|0))break r;U1(_,v,0,0,0,w,u,0,0),o=1;e:{if(i[_+8>>2]|i[_+12>>2]||(p=q0(w,u,v,0),W=w0,(W|0)==-1&(t^-1)>>>0<p>>>0))break e;u=W,w=t+p|0,u=w>>>0<t>>>0?u+1|0:u,Z=1,o=r}n=n+1|0,r=o;continue}break}e&&(i[e>>2]=Z?n:f);r:{e:{if(r){i[23944]=68,f=A&1,h=f?0:h,w=A,u=k;break e}if((k|0)==(u|0)&A>>>0>w>>>0|k>>>0>u>>>0)break r;f=A&1}if(!(f|h)){i[23944]=68,f=A,A=f-1|0,k=k-!f|0;break i}if((k|0)==(u|0)&A>>>0>=w>>>0|k>>>0>u>>>0)break r;i[23944]=68;break i}f=h^w,A=f-h|0,e=h>>31,k=(e^u)-((f>>>0<h>>>0)+e|0)|0}return B=_+16|0,w0=k,A}function _n(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;i[f>>2]=i[e>>2],X[f+4>>1]=Q[e+4>>1],i[f+16>>2]=0,i[f+8>>2]=0,i[f+12>>2]=0;i:{r:{e:{if(A=i[e+12>>2],r=i[e+8>>2],(A|0)!=(r|0)){if(n=A-r|0,(n|0)<0)break e;k=U(n),i[f+12>>2]=k,i[f+8>>2]=k,A=k+n|0,i[f+16>>2]=A,l0(k,r,n),i[f+12>>2]=A}i[f+28>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0;A:{if(A=i[e+24>>2],!A)break A;if((A|0)>=0){if(r=(A-1>>>5|0)+1|0,A=U(r<<2),i[f+28>>2]=r,i[f+24>>2]=0,i[f+20>>2]=A,t=i[e+20>>2],r=i[e+24>>2],i[f+24>>2]=r,i[((r>>>0>=33?r-1>>>5|0:0)<<2)+A>>2]=0,!r)break A;for(n=r&31,k=(r>>>3&536870908)+t|0;r=1<<u,i[t>>2]>>>o&1?r=r|i[A>>2]:r=i[A>>2]&(r^-1),i[A>>2]=r,r=(u|0)==31,u=r?0:u+1|0,A=(r<<2)+A|0,r=(o|0)==31,t=(r<<2)+t|0,o=r?0:o+1|0,!!((n|0)!=(o|0)|(k|0)!=(t|0)););break A}y0(),P()}if(i[f+40>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,A=i[e+36>>2],r=i[e+32>>2],(A|0)!=(r|0)){if(n=A-r|0,(n|0)<0)break r;k=U(n),i[f+36>>2]=k,i[f+32>>2]=k,A=k+n|0,i[f+40>>2]=A,l0(k,r,n),i[f+36>>2]=A}if(i[f+52>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,A=i[e+48>>2],r=i[e+44>>2],(A|0)!=(r|0)){if(k=A-r|0,(k|0)<0)break i;A=U(k),i[f+48>>2]=A,i[f+44>>2]=A,e=A+k|0,i[f+52>>2]=e,l0(A,r,k),i[f+48>>2]=e}return}y0(),P()}y0(),P()}y0(),P()}function Y_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,8165);break i}if(k=B2(r),n=i[r>>2],t=V[i[i[n>>2]+8>>2]](n)|0,o=i[r>>2],n=w0,t=k+t|0,n=k>>>0>t>>>0?n+1|0:n,V[i[i[o>>2]+12>>2]](o,t,n)|0){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}n=e+56|0,o=i[e+56>>2],t=i[e+60>>2]-o|0;r:{if(t>>>0<k>>>0){L2(n,k-t|0);break r}if(k>>>0>=t>>>0)break r;i[e+60>>2]=k+o}if(k)for(e=0;t=B2(r),l[i[n>>2]+e|0]=t,e=e+1|0,(k|0)!=(e|0););if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function ri(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0;i:{r:{o=i[f+248>>2],u=e>>o;e:{if((u|0)<0||(h=i[f+252>>2],(h|0)<=(u|0)))break e;if(o=r>>o,(o|0)<0|(o|0)>=i[f+256>>2])break r;if(!(s[(u+i[f+240>>2]|0)+m(o,h)|0]>>>k&1)){u=A,A=e;break i}if(u=A-1|0,o=k+1|0,ri(f,e,r,u,o,n,t),k=1<<A>>1,A=k+e|0,ri(f,A,r,u,o,16,t),r=r+k|0,ri(f,e,r,u,o,n,32),e=i[f+248>>2],k=A>>e,(k|0)<0)break e;for(e=r>>e;;){if(n=i[f+252>>2],(n|0)<=(k|0))break e;if((e|0)<0|i[f+256>>2]<=(e|0))break r;if(!(s[(i[f+240>>2]+k|0)+m(e,n)|0]>>>o&1)){n=16,t=32;break i}if(k=u-1|0,o=o+1|0,ri(f,A,r,k,o,16,32),e=1<<u>>1,n=e+A|0,ri(f,n,r,k,o,16,32),r=e+r|0,ri(f,A,r,k,o,16,32),t=i[f+248>>2],e=r>>t,u=k,A=n,k=n>>t,!((k|0)>=0))break}}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}i:{if((u|0)==31)break i;for(e=1<<u,k=(A|0)/4|0,o=0;w=i[f+272>>2],h=(r+o|0)/4|0,(k|0)>=(w|0)|(h|0)>=i[f+276>>2]||(h=(k+i[f+260>>2]|0)+m(h,w)|0,l[h|0]=s[h|0]|n),o=o+4|0,(e|0)>(o|0););if((u|0)==31)break i;for(k=(r|0)/4|0,r=0;n=(r+A|0)/4|0,u=i[f+272>>2],(n|0)>=(u|0)|(k|0)>=i[f+276>>2]||(n=(n+i[f+260>>2]|0)+m(k,u)|0,l[n|0]=s[n|0]|t),r=r+4|0,(e|0)>(r|0););}}function h6(f){var e=0;e=31;i:{if(f==0)break i;if(f=d0(f),!(f<1073741824))return 0;if(f=f+f,!(f<1073741824))return 1;if(f=f+f,!(f<1073741824))return 2;if(f=f+f,!(f<1073741824))return 3;if(f=f+f,!(f<1073741824))return 4;if(f=f+f,!(f<1073741824))return 5;if(f=f+f,!(f<1073741824))return 6;if(f=f+f,!(f<1073741824))return 7;if(f=f+f,!(f<1073741824))return 8;if(f=f+f,!(f<1073741824))return 9;if(f=f+f,!(f<1073741824))return 10;if(f=f+f,!(f<1073741824))return 11;if(f=f+f,!(f<1073741824))return 12;if(f=f+f,!(f<1073741824))return 13;if(f=f+f,!(f<1073741824))return 14;if(f=f+f,!(f<1073741824))return 15;if(f=f+f,!(f<1073741824))return 16;if(f=f+f,!(f<1073741824))return 17;if(f=f+f,!(f<1073741824))return 18;if(f=f+f,!(f<1073741824))return 19;if(f=f+f,!(f<1073741824))return 20;if(f=f+f,!(f<1073741824))return 21;if(f=f+f,!(f<1073741824))return 22;if(f=f+f,!(f<1073741824))return 23;if(f=f+f,!(f<1073741824))return 24;if(f=f+f,!(f<1073741824))return 25;if(f=f+f,!(f<1073741824))return 26;if(f=f+f,!(f<1073741824))return 27;if(f=f+f,!(f<1073741824))return 28;if(f=f+f,!(f<1073741824))return 29;if(f+f<1073741824)break i;e=30}return e}function vn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;i:{if(r=i[f>>2],k=i[f+4>>2]-r>>5,t=k+1|0,t>>>0<134217728){if(A=i[f+8>>2]-r|0,r=A>>4,t=A>>>0>=2147483616?134217727:r>>>0>t>>>0?r:t,t){if(t>>>0>=134217728)break i;n=U(t<<5)}A=i[e+4>>2],r=(k<<5)+n|0,i[r>>2]=i[e>>2],i[r+4>>2]=A,k=i[e+8>>2],A=i[e+12>>2],i[r+24>>2]=0,i[r+16>>2]=0,i[r+20>>2]=0,i[r+8>>2]=k,i[r+12>>2]=A,A=i[e+16>>2],e=i[e+20>>2],br(r+16|0,A,e,(e-A|0)/40|0),t=(t<<5)+n|0,h=r+32|0,A=i[f+4>>2],o=i[f>>2];r:{if((A|0)==(o|0)){n=r;break r}for(;e=A-32|0,k=i[e+4>>2],n=r-32|0,i[n>>2]=i[e>>2],i[n+4>>2]=k,k=i[e+12>>2],i[n+8>>2]=i[e+8>>2],i[n+12>>2]=k,k=r-8|0,i[k>>2]=0,u=r-16|0,i[u>>2]=0,i[u+4>>2]=0,w=u,u=A-16|0,i[w>>2]=i[u>>2],i[r-12>>2]=i[A-12>>2],r=A-8|0,i[k>>2]=i[r>>2],i[r>>2]=0,i[u>>2]=0,i[u+4>>2]=0,r=n,A=e,(e|0)!=(o|0););A=i[f+4>>2],o=i[f>>2]}if(i[f+8>>2]=t,i[f+4>>2]=h,i[f>>2]=n,(A|0)!=(o|0))for(;;){if(k=A-16|0,f=i[k>>2],f){if(e=f,n=A-12|0,r=i[n>>2],(e|0)!=(r|0)){for(;e=i[r-16>>2],e&&(i[r-12>>2]=e,G(e)),r=r-40|0,(f|0)!=(r|0););e=i[k>>2]}i[n>>2]=f,G(e)}if(A=A-32|0,(o|0)==(A|0))break}return o&&G(o),h}y0(),P()}_2(),P()}function mn(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,n=A+12|0,i[n+i[t-12>>2]>>2]=i[13709],t=n+i[i[A+12>>2]-12>>2]|0,k=A+16|0,b0(t,k),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(k),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,k=A+148|0,R2(k,e,r),o=n,u=k,n=l[A+159|0],k=(n|0)<0,x(o,k?i[A+148>>2]:u,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=A+148|0,W0(n,r),o=n,n=l[A+159|0],k=(n|0)<0,x(A+12|0,k?i[A+148>>2]:o,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(A+12|0,21287,10),i[e+56>>2]),31338,1),k=A+148|0,W0(k,r),o=k,r=l[A+159|0],k=(r|0)<0,x(n,k?i[A+148>>2]:o,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(n,20132,12),r=i[e+60>>2],n=i[e+64>>2];i:{if((r|0)==(n|0)||(L0(A+12|0,i[r>>2]),e=r+4|0,(n|0)==(e|0)))break i;for(;r=i[e>>2],l[A+148|0]=32,k=A+12|0,x(k,A+148|0,1),L0(k,r),e=e+4|0,(n|0)!=(e|0););}e=A+12|0,x(e,31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[e+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function J_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;n=B-32|0,B=n;i:{r:{e:{if(!(i[e+52>>2]-i[e+48>>2]&255)){if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]<0)break e;e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}if(h=V[i[i[e>>2]+32>>2]](e,r,0)|0,w2(r,(i[e+64>>2]-i[e+60>>2]|0)/12&255),A2(r,i[e+52>>2]-i[e+48>>2]&255),A=i[e+48>>2],k=i[e+52>>2],(A|0)!=(k|0))for(;A2(r,s[A|0]),A=A+1|0,(k|0)!=(A|0););if(k=i[e+60>>2],u=i[e+64>>2],(k|0)==(u|0))break r;for(;;){if(i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,A=i[k+4>>2],t=i[k>>2],o=(A|0)==(t|0),!o){A:{if(A=A-t|0,(A|0)>=0){if(t=l0(U(A),t,A),o)break A;for(A=A>>>1|0,w=A>>>0<=1?1:A,A=0;;){o=Q[t+(A<<1)>>1];f:{if(s[i[e+48>>2]+A|0]<=8){A2(r,o&255);break f}w2(r,o)}if(A=A+1|0,(w|0)==(A|0))break}break A}y0(),P()}G(t)}if(k=k+12|0,(u|0)==(k|0))break}break r}_0(f,i[19566],i[19567]);break i}if(Y4(n,e,r,h),l[n+19|0]<0&&G(i[n+8>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+32|0}function g_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e,n=i[r+12>>2];i:{if((n|0)>=9){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if((n|0)!=8){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(i[r>>2]==1&i[r+4>>2]==3)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(n=Q[A+24>>1],!(n>>>0>14|!(1<<n&18688))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,l[e+44|0]=0,i[e+36>>2]=99,i[e+40>>2]=99,i[e+48>>2]=8,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,n=i[A+4>>2];r:{if(!((n|0)==3|(s[k+12|0]?i[k+4>>2]!=1:0))){i[e+40>>2]=n,i[e+36>>2]=0;break r}i[e+36>>2]=0,i[e+40>>2]=3}l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+59|0]=r,l[e+60|0]=r>>>8,l[e+61|0]=r>>>16,l[e+62|0]=r>>>24,i[e+56>>2]=i[A+20>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=i[e+40>>2],i[e>>2]=i[e+36>>2],i[e+4>>2]=r,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[A+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function N_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,n=A+12|0,i[n+i[t-12>>2]>>2]=i[13709],t=n+i[i[A+12>>2]-12>>2]|0,k=A+16|0,b0(t,k),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(k),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,k=A+148|0,W0(k,r),o=n,u=k,n=l[A+159|0],k=(n|0)<0,x(o,k?i[A+148>>2]:u,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(A+12|0,20019,18),Q[e+4>>1]),31338,1),k=A+148|0,W0(k,r),u=k,k=l[A+159|0],o=(k|0)<0,x(n,o?i[A+148>>2]:u,o?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(n,20105,26),Q[e+6>>1]),31338,1),k=A+148|0,W0(k,r),u=k,k=l[A+159|0],o=(k|0)<0,x(n,o?i[A+148>>2]:u,o?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(n,19703,21),Q[e+8>>1]),31338,1),k=A+148|0,W0(k,r),u=k,r=l[A+159|0],k=(r|0)<0,x(n,k?i[A+148>>2]:u,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(re(x(n,20629,17),s[e+10|0]),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function FA(f,e,r,A,k,n,t,o,u,h,w,_){var v=0;v=B-16|0,B=v,i[v+12>>2]=f;i:{r:{if((f|0)==(n|0)){if(s[e|0]!=1)break r;if(f=0,l[e|0]=0,e=i[k>>2],i[k>>2]=e+1,l[e|0]=46,s[o+11|0]>>>7|0?e=i[o+4>>2]:e=s[o+11|0]&127,!e||(e=i[h>>2],(e-u|0)>159))break i;r=i[w>>2],i[h>>2]=e+4,i[e>>2]=r;break i}e:{if(s[o+11|0]>>>7|0?n=i[o+4>>2]:n=s[o+11|0]&127,!(!n|(f|0)!=(t|0))){if(s[e|0]!=1)break r;if(f=i[h>>2],(f-u|0)>159)break e;e=i[w>>2],i[h>>2]=f+4,i[f>>2]=e,f=0,i[w>>2]=0;break i}if(f=H3(_,_+128|0,v+12|0)-_|0,t=f>>2,(t|0)>31)break r;n=l[t+60064|0];A:{f:{if(f=f&-5,(f|0)!=88){if((f|0)!=96)break f;if(e=i[k>>2],(e|0)!=(A|0)&&(f=-1,A=l[e-1|0],r=l[r|0],((A-97>>>0<26?A&95:A)|0)!=((r-97>>>0<26?r&95:r)|0)))break i;i[k>>2]=e+1,l[e|0]=n;break e}l[r|0]=80;break A}if(f=n-97>>>0<26?n&95:n,(f|0)!=l[r|0]||(l[r|0]=f-65>>>0<26?f|32:f,s[e|0]!=1)||(l[e|0]=0,s[o+11|0]>>>7|0?f=i[o+4>>2]:f=s[o+11|0]&127,!f)||(f=i[h>>2],(f-u|0)>159))break A;e=i[w>>2],i[h>>2]=f+4,i[f>>2]=e}if(f=i[k>>2],i[k>>2]=f+1,l[f|0]=n,f=0,(t|0)>21)break i;i[w>>2]=i[w>>2]+1;break i}f=0;break i}f=-1}return B=v+16|0,f}function EA(f,e,r,A,k,n,t,o,u,h,w,_){var v=0;v=B-16|0,B=v,l[v+15|0]=f;i:{r:{if((f|0)==(n|0)){if(s[e|0]!=1)break r;if(f=0,l[e|0]=0,e=i[k>>2],i[k>>2]=e+1,l[e|0]=46,s[o+11|0]>>>7|0?e=i[o+4>>2]:e=s[o+11|0]&127,!e||(e=i[h>>2],(e-u|0)>159))break i;r=i[w>>2],i[h>>2]=e+4,i[e>>2]=r;break i}e:{if(s[o+11|0]>>>7|0?n=i[o+4>>2]:n=s[o+11|0]&127,!(!n|(f|0)!=(t|0))){if(s[e|0]!=1)break r;if(f=i[h>>2],(f-u|0)>159)break e;e=i[w>>2],i[h>>2]=f+4,i[f>>2]=e,f=0,i[w>>2]=0;break i}if(t=T3(_,_+32|0,v+15|0)-_|0,(t|0)>31)break r;n=l[t+60064|0];A:{f:switch((t&-2)-22|0){case 2:if(e=i[k>>2],(e|0)!=(A|0)&&(f=-1,A=l[e-1|0],r=l[r|0],((A-97>>>0<26?A&95:A)|0)!=((r-97>>>0<26?r&95:r)|0)))break i;i[k>>2]=e+1,l[e|0]=n;break e;case 0:l[r|0]=80;break A;default:break f}if(f=n-97>>>0<26?n&95:n,(f|0)!=l[r|0]||(l[r|0]=f-65>>>0<26?f|32:f,s[e|0]!=1)||(l[e|0]=0,s[o+11|0]>>>7|0?f=i[o+4>>2]:f=s[o+11|0]&127,!f)||(f=i[h>>2],(f-u|0)>159))break A;e=i[w>>2],i[h>>2]=f+4,i[f>>2]=e}if(f=i[k>>2],i[k>>2]=f+1,l[f|0]=n,f=0,(t|0)>21)break i;i[w>>2]=i[w>>2]+1;break i}f=0;break i}f=-1}return B=v+16|0,f}function Bn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;A=B-32|0,B=A;i:{if(s[f+52|0]==1){if(r=i[f+48>>2],!e)break i;l[f+52|0]=0,i[f+48>>2]=-1;break i}r:{if(s[f+53|0]==1){r=i[f+32>>2];e:{if(i[r+76>>2]<0){r=f7(r);break e}r=f7(r)}if((r|0)!=-1&&(i[A+24>>2]=r),(r|0)==-1)break r;r=i[A+24>>2];e:{if(!e){if(!O7(r,i[f+32>>2]))break r;break e}i[f+48>>2]=r}r=i[A+24>>2];break i}for(i[A+24>>2]=1,k=B-16|0,B=k,B=k+16|0,k=f+44|0,n=A+24|0,k=i[(i[n>>2]<i[k>>2]?k:n)>>2],n=(k|0)>0?k:0;;){if((r|0)!=(n|0)){if(t=y6(i[f+32>>2]),(t|0)==-1)break r;l[(A+24|0)+r|0]=t,r=r+1|0;continue}break}h=A+24|0;e:{for(;;){A:{n=i[f+40>>2],r=i[n>>2],w=i[n+4>>2],o=A+24|0,t=o+k|0;f:switch(u=i[f+36>>2],(V[i[i[u>>2]+16>>2]](u,n,o,t,A+16|0,A+20|0,h,A+12|0)|0)-1|0){case 2:break A;case 0:break f;case 1:break r;default:break e}if(n=i[f+40>>2],i[n>>2]=r,i[n+4>>2]=w,(k|0)==8||(r=y6(i[f+32>>2]),(r|0)==-1))break r;l[t|0]=r,k=k+1|0;continue}break}i[A+20>>2]=l[A+24|0]}e:{if(!e)for(;;){if((k|0)<=0)break e;if(k=k-1|0,(gi(l[k+(A+24|0)|0],i[f+32>>2])|0)==-1)break r}i[f+48>>2]=i[A+20>>2]}r=i[A+20>>2];break i}r=-1}return B=A+32|0,r}function Mr(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;Z=B-16|0,B=Z,w=x0(t,100184),u=Z+4|0,t=x0(t,100256),V[i[i[t>>2]+20>>2]](u,t),s[u+11|0]>>>7|0?o=i[u+4>>2]:o=s[u+11|0]&127;i:{if(!o){V[i[i[w>>2]+48>>2]](w,f,r,A)|0,t=(r-f<<2)+A|0,i[n>>2]=t;break i}i[n>>2]=A;r:{e:switch(u=f,o=s[u|0],o-43|0){case 0:case 2:break e;default:break r}u=V[i[i[w>>2]+44>>2]](w,o<<24>>24)|0,o=i[n>>2],i[n>>2]=o+4,i[o>>2]=u,u=f+1|0}for(s[u|0]!=48|(r-u|0)<2|(s[u+1|0]|32)!=120||(o=V[i[i[w>>2]+44>>2]](w,48)|0,h=i[n>>2],i[n>>2]=h+4,i[h>>2]=o,o=V[i[i[w>>2]+44>>2]](w,l[u+1|0])|0,h=i[n>>2],i[n>>2]=h+4,i[h>>2]=o,u=u+2|0),li(u,r),p=V[i[i[t>>2]+16>>2]](t)|0,h=0,t=u;;){if(r>>>0<=t>>>0)te((u-f<<2)+A|0,i[n>>2]),t=i[n>>2];else{o=Z+4|0;r:{if(s[o+11|0]>>>7|0){_=i[o>>2];break r}_=o}W=!s[_+h|0],s[o+11|0]>>>7|0?_=i[o>>2]:_=o,W|l[_+h|0]!=(v|0)||(v=i[n>>2],i[n>>2]=v+4,i[v>>2]=p,s[o+11|0]>>>7|0?o=i[o+4>>2]:o=s[o+11|0]&127,h=(o-1>>>0>h>>>0)+h|0,v=0),o=V[i[i[w>>2]+44>>2]](w,l[t|0])|0,_=i[n>>2],i[n>>2]=_+4,i[_>>2]=o,t=t+1|0,v=v+1|0;continue}break}}i[k>>2]=(e|0)==(r|0)?t:(e-f<<2)+A|0,z0(Z+4|0),B=Z+16|0}function l0(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;if(r>>>0>=512)return Vs(f|0,e|0,r|0),f|0;A=f+r|0;i:{if(!((f^e)&3)){r:{if(!(f&3)){r=f;break r}if(!r){r=f;break r}for(r=f;;){if(l[r|0]=s[e|0],e=e+1|0,r=r+1|0,!(r&3))break r;if(!(r>>>0<A>>>0))break}}k=A&-4;r:{if(A>>>0<64||(n=k+-64|0,n>>>0<r>>>0))break r;for(;i[r>>2]=i[e>>2],i[r+4>>2]=i[e+4>>2],i[r+8>>2]=i[e+8>>2],i[r+12>>2]=i[e+12>>2],i[r+16>>2]=i[e+16>>2],i[r+20>>2]=i[e+20>>2],i[r+24>>2]=i[e+24>>2],i[r+28>>2]=i[e+28>>2],i[r+32>>2]=i[e+32>>2],i[r+36>>2]=i[e+36>>2],i[r+40>>2]=i[e+40>>2],i[r+44>>2]=i[e+44>>2],i[r+48>>2]=i[e+48>>2],i[r+52>>2]=i[e+52>>2],i[r+56>>2]=i[e+56>>2],i[r+60>>2]=i[e+60>>2],e=e- -64|0,r=r- -64|0,n>>>0>=r>>>0;);}if(r>>>0>=k>>>0)break i;for(;i[r>>2]=i[e>>2],e=e+4|0,r=r+4|0,k>>>0>r>>>0;);break i}if(A>>>0<4){r=f;break i}if(k=A-4|0,k>>>0<f>>>0){r=f;break i}for(r=f;l[r|0]=s[e|0],l[r+1|0]=s[e+1|0],l[r+2|0]=s[e+2|0],l[r+3|0]=s[e+3|0],e=e+4|0,r=r+4|0,k>>>0>=r>>>0;);}if(r>>>0<A>>>0)for(;l[r|0]=s[e|0],e=e+1|0,r=r+1|0,(A|0)!=(r|0););return f|0}function R_(f){f=f|0;var e=0,r=0,A=0,k=0;if(r=f+16|0,e=i[r+16>>2],k=r+20|0,(e|0)!=(k|0))for(;;){A=i[e+20>>2],f=i[e+24>>2];i:{if(!f){i7(A);break i}if(i[f+4>>2]=i[f+4>>2]+1,i7(A),A=i[f+4>>2],i[f+4>>2]=A-1,A)break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[e+4>>2];i:{if(f){for(;;)if(e=f,f=i[f>>2],!f)break i}for(;f=e,e=i[e+8>>2],(f|0)!=i[e>>2];);}if((e|0)==(k|0))break}if(A=i[r+72>>2],A){if(f=A,e=i[r+76>>2],(f|0)!=(e|0)){for(;;){f=i[e-4>>2];i:{if(!f||(k=i[f+4>>2],i[f+4>>2]=k-1,k))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(A|0)==(e|0))break}f=i[r+72>>2]}i[r+76>>2]=A,G(f)}f=i[r+52>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+44>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(A=i[r+28>>2],A){if(f=A,e=i[r+32>>2],(f|0)!=(e|0)){for(;;){f=i[e-4>>2];i:{if(!f||(k=i[f+4>>2],i[f+4>>2]=k-1,k))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(A|0)==(e|0))break}f=i[r+28>>2]}i[r+32>>2]=A,G(f)}H6(r+16|0,i[r+20>>2]),l[r+11|0]<0&&G(i[r>>2])}function D_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;t=B-16|0,B=t;i:{if(_=t2(r),!_)break i;r:{for(;;){if(s[r+20|0]|!i[r+16>>2])break i;h=t2(r),w=t2(r),v=t2(r);e:{k=i[e+52>>2],A=i[e+56>>2];A:{if(k>>>0<A>>>0){X[k+4>>1]=v,X[k+2>>1]=w,X[k>>1]=h,h=k+6|0;break A}if(o=i[e+48>>2],n=(k-o|0)/6|0,u=n+1|0,u>>>0>=715827883)break e;if(p=m(n,6),A=(A-o|0)/6|0,n=A<<1,n=A>>>0>=357913941?715827882:n>>>0>u>>>0?n:u,n){if(n>>>0>=715827883)break r;u=U(m(n,6))}else u=0;if(A=p+u|0,X[A+4>>1]=v,X[A+2>>1]=w,X[A>>1]=h,h=A+6|0,(k|0)!=(o|0)){for(;A=A-6|0,k=k-6|0,w=Q[k>>1]|Q[k+2>>1]<<16,X[A>>1]=w,X[A+2>>1]=w>>>16,X[A+4>>1]=Q[k+4>>1],(k|0)!=(o|0););o=i[e+48>>2]}if(i[e+56>>2]=u+m(n,6),i[e+52>>2]=h,i[e+48>>2]=A,!o)break A;G(o)}if(i[e+52>>2]=h,Z=Z+1|0,(Z|0)!=(_|0))continue;break i}break}y0(),P()}_2(),P()}i:{if(s[r+20|0]==1){if(l[t+4|0]=0,l[t+15|0]=0,r0(f,2,100,t+4|0),l[t+15|0]>=0)break i;G(i[t+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=t+16|0}function xr(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;Z=B-16|0,B=Z,w=x0(t,100192),u=Z+4|0,t=x0(t,100248),V[i[i[t>>2]+20>>2]](u,t),s[u+11|0]>>>7|0?o=i[u+4>>2]:o=s[u+11|0]&127;i:{if(!o){V[i[i[w>>2]+32>>2]](w,f,r,A)|0,t=(r-f|0)+A|0,i[n>>2]=t;break i}i[n>>2]=A;r:{e:switch(u=f,o=s[u|0],o-43|0){case 0:case 2:break e;default:break r}u=V[i[i[w>>2]+28>>2]](w,o<<24>>24)|0,o=i[n>>2],i[n>>2]=o+1,l[o|0]=u,u=f+1|0}for(s[u|0]!=48|(r-u|0)<2|(s[u+1|0]|32)!=120||(o=V[i[i[w>>2]+28>>2]](w,48)|0,h=i[n>>2],i[n>>2]=h+1,l[h|0]=o,o=V[i[i[w>>2]+28>>2]](w,l[u+1|0])|0,h=i[n>>2],i[n>>2]=h+1,l[h|0]=o,u=u+2|0),li(u,r),p=V[i[i[t>>2]+16>>2]](t)|0,h=0,t=u;;){if(r>>>0<=t>>>0)li((u-f|0)+A|0,i[n>>2]),t=i[n>>2];else{o=Z+4|0;r:{if(s[o+11|0]>>>7|0){_=i[o>>2];break r}_=o}W=!s[_+h|0],s[o+11|0]>>>7|0?_=i[o>>2]:_=o,W|l[_+h|0]!=(v|0)||(v=i[n>>2],i[n>>2]=v+1,l[v|0]=p,s[o+11|0]>>>7|0?o=i[o+4>>2]:o=s[o+11|0]&127,h=(o-1>>>0>h>>>0)+h|0,v=0),o=V[i[i[w>>2]+28>>2]](w,l[t|0])|0,_=i[n>>2],i[n>>2]=_+1,l[_|0]=o,t=t+1|0,v=v+1|0;continue}break}}i[k>>2]=(e|0)==(r|0)?t:(e-f|0)+A|0,z0(Z+4|0),B=Z+16|0}function U_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;t=B-16|0,B=t;i:{if(_=t2(r),!_)break i;r:{for(;;){if(s[r+20|0]|!i[r+16>>2])break i;h=t2(r),w=B2(r),v=t2(r);e:{k=i[e+60>>2],A=i[e+64>>2];A:{if(k>>>0<A>>>0){X[k+4>>1]=v,l[k+2|0]=w,X[k>>1]=h,h=k+6|0;break A}if(o=i[e+56>>2],n=(k-o|0)/6|0,u=n+1|0,u>>>0>=715827883)break e;if(p=m(n,6),A=(A-o|0)/6|0,n=A<<1,n=A>>>0>=357913941?715827882:n>>>0>u>>>0?n:u,n){if(n>>>0>=715827883)break r;u=U(m(n,6))}else u=0;if(A=p+u|0,X[A+4>>1]=v,l[A+2|0]=w,X[A>>1]=h,h=A+6|0,(k|0)!=(o|0)){for(;A=A-6|0,k=k-6|0,w=Q[k>>1]|Q[k+2>>1]<<16,X[A>>1]=w,X[A+2>>1]=w>>>16,X[A+4>>1]=Q[k+4>>1],(k|0)!=(o|0););o=i[e+56>>2]}if(i[e+64>>2]=u+m(n,6),i[e+60>>2]=h,i[e+56>>2]=A,!o)break A;G(o)}if(i[e+60>>2]=h,Z=Z+1|0,(Z|0)!=(_|0))continue;break i}break}y0(),P()}_2(),P()}i:{if(s[r+20|0]==1){if(l[t+4|0]=0,l[t+15|0]=0,r0(f,2,100,t+4|0),l[t+15|0]>=0)break i;G(i[t+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=t+16|0}function M_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,n=A+12|0,i[n+i[t-12>>2]>>2]=i[13709],t=n+i[i[A+12>>2]-12>>2]|0,k=A+16|0,b0(t,k),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(k),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,k=A+148|0,R2(k,e,r),o=n,u=k,n=l[A+159|0],k=(n|0)<0,x(o,k?i[A+148>>2]:u,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=A+148|0,W0(n,r),o=n,n=l[A+159|0],k=(n|0)<0,x(A+12|0,k?i[A+148>>2]:o,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(A+12|0,21287,10),i[e+56>>2]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],u=(k|0)<0,x(n,u?i[A+148>>2]:o,u?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(n,21594,15),i[i[e+60>>2]>>2]),31338,1),k=A+148|0,W0(k,r),o=k,r=l[A+159|0],k=(r|0)<0,x(n,k?i[A+148>>2]:o,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(L0(x(n,21577,16),i[i[e+60>>2]+4>>2]),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function k1(f,e,r,A){var k=0,n=0,t=0;i:{r:switch(e-1|0){case 0:A2(f,r&255);return;case 1:e=i[f+12>>2],n=e+2|0,k=i[f>>2],t=i[f+4>>2]-k|0,n>>>0>t>>>0&&(L2(f,n-t|0),k=i[f>>2],e=i[f+12>>2]),i[f+12>>2]=e+1,l[e+k|0]=(A&255)<<24|r>>>8;break i;case 3:e=i[f+12>>2],n=e+4|0,k=i[f>>2],t=i[f+4>>2]-k|0,n>>>0>t>>>0&&(L2(f,n-t|0),k=i[f>>2],e=i[f+12>>2]),i[f+12>>2]=e+1,l[e+k|0]=(A&16777215)<<8|r>>>24,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=(A&65535)<<16|r>>>16,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=(A&255)<<24|r>>>8;break i;case 7:e=i[f+12>>2],n=e+8|0,k=i[f>>2],t=i[f+4>>2]-k|0,n>>>0>t>>>0&&(L2(f,n-t|0),k=i[f>>2],e=i[f+12>>2]),i[f+12>>2]=e+1,l[e+k|0]=A>>>24,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=A>>>16,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=A>>>8,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=A,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=(A&16777215)<<8|r>>>24,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=(A&65535)<<16|r>>>16,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=(A&255)<<24|r>>>8,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=r;break;default:break r}return}e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=r}function x_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;o=B-16|0,B=o,t=B-16|0,B=t,u=i[e+8>>2],D8(t,i[u+48>>2],7077),n=i[t>>2],l[n+124|0]=1,i[n+52>>2]=i[n+52>>2]&-2|1,h=i[i[t>>2]+56>>2],n=U(36),i[n+32>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+20>>2]=A,i[n+16>>2]=r,i[n+12>>2]=h,i[n>>2]=72616,i[n+4>>2]=0,i[n+8>>2]=0,i[o+12>>2]=n,A=n+12|0,i[o+8>>2]=A,i[n+4>>2]=i[n+4>>2]+1,i[t+12>>2]=n,i[t+8>>2]=A,r=i[u+76>>2];i:{if(r>>>0<k0[u+80>>2]){i[r+4>>2]=n,i[r>>2]=A,i[u+76>>2]=r+8;break i}if(A=z2(u+72|0,t+8|0),r=i[t+12>>2],i[u+76>>2]=A,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[t+4>>2];i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}B=t+16|0,y7(i[e>>2],i[i[o+8>>2]>>2]),k&&(r=U(16),A=i[e+8>>2],e=i[e+12>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,A=i[o+8>>2],e=i[o+12>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+12>>2]=e,i[r+8>>2]=A,i[k>>2]=r),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[o+12>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=o+16|0}function z_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(H0(x(H0(x(H0(x(H0(x(k,20901,16),i[e+48>>2]),17358,1),i[e+52>>2]),18734,3),i[e+56>>2]),17358,1),i[e+60>>2]),31338,1),n=A+148|0,W0(n,r),o=k,r=l[A+159|0],k=(r|0)<0,x(o,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(H0(x(H0(x(H0(x(H0(x(r,19634,8),i[e+64>>2]),17358,1),i[e+68>>2]),19321,3),i[e+72>>2]),17358,1),i[e+76>>2]),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function H_(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0;_=B-16|0,B=_,h=U(44),i[h+40>>2]=0,i[h+32>>2]=0,i[h+36>>2]=0,i[h+12>>2]=73364,i[h+4>>2]=0,i[h+8>>2]=0,i[h+28>>2]=n,i[h+24>>2]=k,i[h+20>>2]=A,i[h+16>>2]=r,i[h>>2]=73608,A=h+12|0,o?(L2(h+32|0,o),w=i[h+36>>2],r=i[h+32>>2]):r=0,l0(r,t,w-r|0),k=i[e+8>>2],i[_+12>>2]=h,i[_+8>>2]=A,i[h+4>>2]=i[h+4>>2]+1,r=i[k+16>>2];i:{r:{if(r>>>0<k0[k+20>>2]){i[r+4>>2]=h,i[r>>2]=A,i[h+4>>2]=i[h+4>>2]+1,i[k+16>>2]=r+8,w=h;break r}if(r=Q2(k+12|0,_+8|0),w=i[_+12>>2],i[k+16>>2]=r,!w)break i}if(r=i[w+4>>2],i[w+4>>2]=r-1,r)break i;V[i[i[w>>2]+8>>2]](w),g(w)}i:{if(!u||(i[h+4>>2]=i[h+4>>2]+1,k=U(24),i[h+4>>2]=i[h+4>>2]+1,i[k+20>>2]=h,i[k+16>>2]=A,r=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[k+12>>2]=A,i[k+8>>2]=r,r=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[k+4>>2]=e,i[k>>2]=r,i[u>>2]=k,e=i[h+4>>2],i[h+4>>2]=e-1,e))break i;V[i[i[h>>2]+8>>2]](h),g(h)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[h+4>>2],i[h+4>>2]=f-1,f||(V[i[i[h>>2]+8>>2]](h),g(h)),B=_+16|0}function Zn(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0;w=B-16|0,B=w;i:{if(f){f=x0(r,99944);r:{if(e){e=w+4|0,V[i[i[f>>2]+44>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+32>>2]](e,f);break r}e=w+4|0,V[i[i[f>>2]+40>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+28>>2]](e,f)}r8(u,e),l1(e),_=k,v=V[i[i[f>>2]+12>>2]](f)|0,i[_>>2]=v,_=n,v=V[i[i[f>>2]+16>>2]](f)|0,i[_>>2]=v,e=w+4|0,V[i[i[f>>2]+20>>2]](e,f),q1(t,e),z0(e),V[i[i[f>>2]+24>>2]](e,f),r8(o,e),l1(e),f=V[i[i[f>>2]+36>>2]](f)|0;break i}f=x0(r,99936);r:{if(e){e=w+4|0,V[i[i[f>>2]+44>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+32>>2]](e,f);break r}e=w+4|0,V[i[i[f>>2]+40>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+28>>2]](e,f)}r8(u,e),l1(e),_=k,v=V[i[i[f>>2]+12>>2]](f)|0,i[_>>2]=v,_=n,v=V[i[i[f>>2]+16>>2]](f)|0,i[_>>2]=v,e=w+4|0,V[i[i[f>>2]+20>>2]](e,f),q1(t,e),z0(e),V[i[i[f>>2]+24>>2]](e,f),r8(o,e),l1(e),f=V[i[i[f>>2]+36>>2]](f)|0}i[h>>2]=f,B=w+16|0}function c1(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;u=B-16|0,B=u,A=i[f+60>>2],k=i[f+56>>2],o=A-k>>4;i:{if((A|0)==(k|0))break i;for(t=o>>>0<=1?1:o;;){if(i[k+(n<<4)>>2]==(e|0))break i;if(n=n+1|0,(t|0)==(n|0))break}n=t}if((n|0)==(o|0)){k=f+56|0,i[u+12>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,i[u>>2]=e;i:{if(A>>>0<k0[f+64>>2]){i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=e,i[f+60>>2]=A+16;break i}if(t=Nn(k,u),e=i[u+4>>2],i[f+60>>2]=t,!e)break i;i[u+8>>2]=e,G(e)}k=i[k>>2]}i:{r:{t=(n<<4)+k|0,n=i[t+8>>2],k=i[t+12>>2];e:{if(n>>>0<k>>>0){f=Q[r>>1]|Q[r+2>>1]<<16,X[n>>1]=f,X[n+2>>1]=f>>>16,f=n+4|0;break e}if(e=i[t+4>>2],A=n-e>>2,f=A+1|0,f>>>0>=1073741824)break r;if(k=k-e|0,o=k>>1,o=k>>>0>=2147483644?1073741823:f>>>0<o>>>0?o:f,o){if(o>>>0>=1073741824)break i;k=U(o<<2)}else k=0;if(A=k+(A<<2)|0,f=Q[r>>1]|Q[r+2>>1]<<16,X[A>>1]=f,X[A+2>>1]=f>>>16,f=A+4|0,(e|0)!=(n|0)){for(;A=A-4|0,n=n-4|0,r=Q[n>>1]|Q[n+2>>1]<<16,X[A>>1]=r,X[A+2>>1]=r>>>16,(e|0)!=(n|0););e=i[t+4>>2]}if(i[t+12>>2]=k+(o<<2),i[t+8>>2]=f,i[t+4>>2]=A,!e)break e;G(e)}i[t+8>>2]=f,B=u+16|0;return}y0(),P()}_2(),P()}function pn(f,e){var r=0,A=0;s[f|0]&&(r=f,A=u0(e,2),l[r+1|0]=A,r=f,A=u0(e,1),l[r+2|0]=A,r=f,A=u0(e,5),i[r+4>>2]=A,r=f,A=u0(e,1),l[r+8|0]=A,r=f,A=u0(e,1),l[r+9|0]=A,r=f,A=u0(e,1),l[r+10|0]=A,r=f,A=u0(e,1),l[r+11|0]=A,r=f,A=u0(e,1),l[r+12|0]=A,r=f,A=u0(e,1),l[r+13|0]=A,r=f,A=u0(e,1),l[r+14|0]=A,r=f,A=u0(e,1),l[r+15|0]=A,r=f,A=u0(e,1),l[r+16|0]=A,r=f,A=u0(e,1),l[r+17|0]=A,r=f,A=u0(e,1),l[r+18|0]=A,r=f,A=u0(e,1),l[r+19|0]=A,r=f,A=u0(e,1),l[r+20|0]=A,r=f,A=u0(e,1),l[r+21|0]=A,r=f,A=u0(e,1),l[r+22|0]=A,r=f,A=u0(e,1),l[r+23|0]=A,r=f,A=u0(e,1),l[r+24|0]=A,r=f,A=u0(e,1),l[r+25|0]=A,r=f,A=u0(e,1),l[r+26|0]=A,r=f,A=u0(e,1),l[r+27|0]=A,r=f,A=u0(e,1),l[r+28|0]=A,r=f,A=u0(e,1),l[r+29|0]=A,r=f,A=u0(e,1),l[r+30|0]=A,r=f,A=u0(e,1),l[r+31|0]=A,r=f,A=u0(e,1),l[r+32|0]=A,r=f,A=u0(e,1),l[r+33|0]=A,r=f,A=u0(e,1),l[r+34|0]=A,r=f,A=u0(e,1),l[r+35|0]=A,r=f,A=u0(e,1),l[r+36|0]=A,r=f,A=u0(e,1),l[r+37|0]=A,r=f,A=u0(e,1),l[r+38|0]=A,r=f,A=u0(e,1),l[r+39|0]=A,r=f,A=u0(e,1),l[r+40|0]=A,r=f,A=u0(e,1),l[r+41|0]=A,r=f,A=u0(e,1),l[r+42|0]=A,r=f,A=u0(e,1),l[r+43|0]=A,ni(e,44)),s[f+44|0]&&(r=f,A=u0(e,8),i[r+48>>2]=A)}function Wn(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0;w=B-16|0,B=w;i:{if(f){f=x0(r,99928);r:{if(e){e=w+4|0,V[i[i[f>>2]+44>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+32>>2]](e,f);break r}e=w+4|0,V[i[i[f>>2]+40>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+28>>2]](e,f)}q1(u,e),z0(e),_=k,v=V[i[i[f>>2]+12>>2]](f)|0,l[_|0]=v,_=n,v=V[i[i[f>>2]+16>>2]](f)|0,l[_|0]=v,e=w+4|0,V[i[i[f>>2]+20>>2]](e,f),q1(t,e),z0(e),V[i[i[f>>2]+24>>2]](e,f),q1(o,e),z0(e),f=V[i[i[f>>2]+36>>2]](f)|0;break i}f=x0(r,99920);r:{if(e){e=w+4|0,V[i[i[f>>2]+44>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+32>>2]](e,f);break r}e=w+4|0,V[i[i[f>>2]+40>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+28>>2]](e,f)}q1(u,e),z0(e),_=k,v=V[i[i[f>>2]+12>>2]](f)|0,l[_|0]=v,_=n,v=V[i[i[f>>2]+16>>2]](f)|0,l[_|0]=v,e=w+4|0,V[i[i[f>>2]+20>>2]](e,f),q1(t,e),z0(e),V[i[i[f>>2]+24>>2]](e,f),q1(o,e),z0(e),f=V[i[i[f>>2]+36>>2]](f)|0}i[h>>2]=f,B=w+16|0}function T_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;n=B-32|0,B=n,f=i[f>>2],o=i[f+48>>2],u=i[f+52>>2],u&&(i[u+4>>2]=i[u+4>>2]+1),i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,o,e,n+20|0);i:{if(i[n>>2]||(f=i[n+20>>2],h=i[n+24>>2],(f|0)==(h|0)))break i;e=!A;r:{if(!r){if(e)break r;for(o=1;r=e,(k|0)>(t|0)&&(i[(t<<2)+A>>2]=o,r=1),o=o+1|0,t=r+t|0,f=f+8|0,(h|0)!=(f|0););break i}if(!A){for(;;)if(t=(e&i[i[f>>2]+16>>2]==(r|0))+t|0,f=f+8|0,(h|0)==(f|0))break i}for(o=1;;){e:{if(i[i[f>>2]+16>>2]!=(r|0))break e;if((k|0)>(t|0)){i[(t<<2)+A>>2]=o,t=t+1|0;break e}t=e+t|0}if(o=o+1|0,f=f+8|0,(h|0)==(f|0))break}break i}t=((h-f|0)-8>>>3|0)+1|0}if(l[n+19|0]<0&&G(i[n+8>>2]),r=i[n+20>>2],r){if(f=i[n+24>>2],e=r,(f|0)!=(e|0)){for(;;){e=i[f-4>>2];i:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(r|0)==(f|0))break}e=i[n+20>>2]}i[n+24>>2]=r,G(e)}i:{if(!u||(f=i[u+4>>2],i[u+4>>2]=f-1,f))break i;V[i[i[u>>2]+8>>2]](u),g(u)}return B=n+32|0,t|0}function a_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,7012);break i}n=i[e+52>>2]>>>8|0,i[e+104>>2]=n&31,k=1,t=+(1<<n>>>0),o=e,u=+(D0(r)|0)/t,i0[o+56>>3]=u,o=e,u=+(D0(r)|0)/t,i0[o+64>>3]=u,o=e,u=+(D0(r)|0)/t,i0[o+72>>3]=u,n=i[e+52>>2];r:{if(n&1){n=n>>>16|0,i[e+108>>2]=n&31,o=e,u=+(D0(r)|0)/t,i0[o+88>>3]=u,t=+(D0(r)|0)/+(1<<n>>>0);break r}i[e+88>>2]=0,i[e+92>>2]=0,k=0,t=0}if(i0[e+96>>3]=t,l[e+80|0]=k,s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function S_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;u=B-16|0,B=u;i:{r:{e:{if(!i[r+16>>2])break e;for(;;){if(s[r+20|0])break e;o=t2(r),w=B2(r),_=B2(r),k=i[e+52>>2],A=i[e+56>>2];A:{if(k>>>0<A>>>0){n=o|(_<<24|w<<16),X[k>>1]=n,X[k+2>>1]=n>>>16,o=k+4|0;break A}if(h=i[e+48>>2],t=k-h>>2,n=t+1|0,n>>>0>=1073741824)break r;if(v=t<<2,A=A-h|0,t=A>>1,t=A>>>0>=2147483644?1073741823:t>>>0>n>>>0?t:n,t){if(t>>>0>=1073741824)break i;n=U(t<<2)}else n=0;if(A=v+n|0,o=o|(_<<24|w<<16),X[A>>1]=o,X[A+2>>1]=o>>>16,o=A+4|0,(k|0)!=(h|0)){for(;A=A-4|0,k=k-4|0,w=Q[k>>1]|Q[k+2>>1]<<16,X[A>>1]=w,X[A+2>>1]=w>>>16,(k|0)!=(h|0););h=i[e+48>>2]}if(i[e+56>>2]=n+(t<<2),i[e+52>>2]=o,i[e+48>>2]=A,!h)break A;G(h)}if(i[e+52>>2]=o,!i[r+16>>2])break}}e:{if(s[r+20|0]==1){if(l[u+4|0]=0,l[u+15|0]=0,r0(f,2,100,u+4|0),l[u+15|0]>=0)break e;G(i[u+4>>2]);break e}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break e}_0(f,i[19566],i[19567])}B=u+16|0;return}y0(),P()}_2(),P()}function Xn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;A=B-32|0,B=A;i:{if(s[f+52|0]==1){if(r=i[f+48>>2],!e)break i;l[f+52|0]=0,i[f+48>>2]=-1;break i}r:{if(s[f+53|0]==1){if(r=y6(i[f+32>>2]),(r|0)!=-1&&(l[A+24|0]=r),(r|0)==-1)break r;r=s[A+24|0];e:{if(!e){if(!yo(r,i[f+32>>2]))break r;break e}i[f+48>>2]=r}r=s[A+24|0];break i}for(i[A+24>>2]=1,k=B-16|0,B=k,B=k+16|0,k=f+44|0,n=A+24|0,k=i[(i[n>>2]<i[k>>2]?k:n)>>2],n=(k|0)>0?k:0;;){if((r|0)!=(n|0)){if(t=y6(i[f+32>>2]),(t|0)==-1)break r;l[(A+24|0)+r|0]=t,r=r+1|0;continue}break}h=A+24|0;e:{for(;;){A:{n=i[f+40>>2],r=i[n>>2],w=i[n+4>>2],o=A+24|0,t=o+k|0;f:switch(u=i[f+36>>2],(V[i[i[u>>2]+16>>2]](u,n,o,t,A+16|0,A+23|0,h,A+12|0)|0)-1|0){case 2:break A;case 0:break f;case 1:break r;default:break e}if(n=i[f+40>>2],i[n>>2]=r,i[n+4>>2]=w,(k|0)==8||(r=y6(i[f+32>>2]),(r|0)==-1))break r;l[t|0]=r,k=k+1|0;continue}break}l[A+23|0]=s[A+24|0]}e:{if(!e)for(;;){if((k|0)<=0)break e;if(k=k-1|0,(gi(s[k+(A+24|0)|0],i[f+32>>2])|0)==-1)break r}i[f+48>>2]=s[A+23|0]}r=s[A+23|0];break i}r=-1}return B=A+32|0,r}function YA(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0;t=B-32|0,B=t,k=A&65535,n=A>>>16&32767,u=n;i:{if(n-15361>>>0<=2045){k=k<<4|r>>>28,r=r<<4,n=k,k=e>>>28|r,r=n,n=u-15360|0,e=e&268435455;r:{if((e|0)==134217728&(f|0)!=0|e>>>0>134217728){k=k+1|0,r=k?r:r+1|0;break r}if(f|(e|0)!=134217728)break r;f=k,k=k+(k&1)|0,r=f>>>0>k>>>0?r+1|0:r}o=r>>>0>1048575,f=o?0:k,e=o?0:r,k=0,r=n+o|0,n=r>>>0<n>>>0?1:k;break i}if(!(!(f|r|(e|k))|((n|0)!=32767|(o|0)!=0))){f=r,r=k<<4|r>>>28,f=f<<4|e>>>28,e=r|524288,r=2047,n=0;break i}if(u>>>0>17406){f=0,e=0,r=2047,n=0;break i}if(o=!(n|o),h=o?15360:15361,n=h-u|0,(n|0)>112){f=0,e=0,r=0,n=0;break i}k=o?k:k|65536,L1(t+16|0,f,e,r,k,128-n|0),ti(t,f,e,r,k,n),f=i[t+8>>2],o=f<<4,e=i[t+12>>2]<<4|f>>>28,f=i[t+4>>2],n=f,f=f>>>28|o,n=n&268435455,r=i[t>>2]|(u|0)!=(h|0)&(i[t+16>>2]|i[t+24>>2]|(i[t+20>>2]|i[t+28>>2]))!=0;r:{if((n|0)==134217728&(r|0)!=0|n>>>0>134217728){f=f+1|0,e=f?e:e+1|0;break r}if(r|(n|0)!=134217728)break r;k=e,e=f,f=f+(f&1)|0,e=e>>>0>f>>>0?k+1|0:k}r=e>>>0>1048575,e=r?e^1048576:e,n=0}return B=t+32|0,N2(0,f|0),N2(1,e|(A&-2147483648|r<<20)),+m1()}function O_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=+k;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;n=B-208|0,B=n,i[n+200>>2]=37,i[n+204>>2]=0,t=n+200|0,o=Ae(t|1,31341,i[r+4>>2]),u=n+160|0,i[n+156>>2]=u,f=M2();i:{if(o){h=i[r+8>>2],i0[n+40>>3]=k,i[n+32>>2]=h,f=b1(u,30,f,t,n+32|0);break i}i0[n+48>>3]=k,f=b1(n+160|0,30,f,n+200|0,n+48|0)}i[n+80>>2]=1094,u=o1(n+148|0,0,n+80|0),t=n+160|0;i:{r:{if((f|0)>=30){f=M2();e:{if(o){t=i[r+8>>2],i0[n+8>>3]=k,i[n>>2]=t,f=c4(n+156|0,f,n+200|0,n);break e}i0[n+16>>3]=k,f=c4(n+156|0,f,n+200|0,n+16|0)}if((f|0)==-1)break r;t=i[u>>2],i[u>>2]=i[n+156>>2],t&&V[i[u+4>>2]](t),t=i[n+156>>2]}_=f+t|0,v=X4(t,_,r),i[n+80>>2]=1094,t=n+80|0,o=o1(n+72|0,0,t),h=i[n+156>>2];e:{if((h|0)==(n+160|0)){f=t;break e}if(f=Z2(f<<1),!f)break r;t=i[o>>2],i[o>>2]=f,t&&V[i[o+4>>2]](t),h=i[n+156>>2]}w=n+60|0,t=i[r+28>>2],i[w>>2]=t,(t|0)!=100008&&(i[t+4>>2]=i[t+4>>2]+1),dk(h,v,_,f,n+68|0,n- -64|0,w),O0(w),f=G8(e,f,i[n+68>>2],i[n+64>>2],r,A),e=i[o>>2],i[o>>2]=0,e&&V[i[o+4>>2]](e),e=i[u>>2],i[u>>2]=0,e&&V[i[u+4>>2]](e),B=n+208|0;break i}u1(),P()}return f|0}function j_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=+k;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;n=B-368|0,B=n,i[n+360>>2]=37,i[n+364>>2]=0,t=n+360|0,o=Ae(t|1,31341,i[r+4>>2]),u=n+320|0,i[n+316>>2]=u,f=M2();i:{if(o){h=i[r+8>>2],i0[n+40>>3]=k,i[n+32>>2]=h,f=b1(u,30,f,t,n+32|0);break i}i0[n+48>>3]=k,f=b1(n+320|0,30,f,n+360|0,n+48|0)}i[n+80>>2]=1094,u=o1(n+308|0,0,n+80|0),t=n+320|0;i:{r:{if((f|0)>=30){f=M2();e:{if(o){t=i[r+8>>2],i0[n+8>>3]=k,i[n>>2]=t,f=c4(n+316|0,f,n+360|0,n);break e}i0[n+16>>3]=k,f=c4(n+316|0,f,n+360|0,n+16|0)}if((f|0)==-1)break r;t=i[u>>2],i[u>>2]=i[n+316>>2],t&&V[i[u+4>>2]](t),t=i[n+316>>2]}_=f+t|0,v=X4(t,_,r),i[n+80>>2]=1094,t=n+80|0,o=o1(n+72|0,0,t),h=i[n+316>>2];e:{if((h|0)==(n+320|0)){f=t;break e}if(f=Z2(f<<3),!f)break r;t=i[o>>2],i[o>>2]=f,t&&V[i[o+4>>2]](t),h=i[n+316>>2]}w=n+60|0,t=i[r+28>>2],i[w>>2]=t,(t|0)!=100008&&(i[t+4>>2]=i[t+4>>2]+1),bk(h,v,_,f,n+68|0,n- -64|0,w),O0(w),f=X8(e,f,i[n+68>>2],i[n+64>>2],r,A),e=i[o>>2],i[o>>2]=0,e&&V[i[o+4>>2]](e),e=i[u>>2],i[u>>2]=0,e&&V[i[u+4>>2]](e),B=n+368|0;break i}u1(),P()}return f|0}function P_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e;i:{if(i[r+12>>2]<=8){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(i[r>>2]==1&i[r+4>>2]==3)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(n=Q[A+24>>1],!(n>>>0>14|!(1<<n&18688))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,l[e+44|0]=0,i[e+36>>2]=99,i[e+40>>2]=99,i[e+48>>2]=8,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,n=i[A+4>>2];r:{if(!((n|0)==3|(s[k+12|0]?i[k+4>>2]!=1:0))){i[e+40>>2]=n,i[e+36>>2]=0;break r}i[e+36>>2]=0,i[e+40>>2]=3}l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+59|0]=r,l[e+60|0]=r>>>8,l[e+61|0]=r>>>16,l[e+62|0]=r>>>24,i[e+56>>2]=i[A+20>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=i[e+40>>2],i[e>>2]=i[e+36>>2],i[e+4>>2]=r,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[A+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function L_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;n=B-32|0,B=n,o=V[i[i[e>>2]+32>>2]](e,r,0)|0,A=s[e+48|0];i:{if(A>>>0<=1&&(w2(r,Q[e+56>>1]),w2(r,Q[e+60>>1]),R4(r,e+76|0),R4(r,e+88|0),R4(r,e+100|0),A=s[e+48|0],A>>>0<2))break i;r:{e:switch(A-2|0){case 0:w2(r,Q[e+56>>1]);break r;case 1:break e;default:break r}l2(r,i[e+56>>2])}if(w2(r,Q[e+60>>1]),A=e- -64|0,t=l[e+75|0],k=(t|0)<0,(k?i[e+68>>2]:t)?(k=k?i[A>>2]:A,k=l[k+1|0]<<16|s[k|0]<<24|l[k+2|0]<<8|l[k+3|0]):k=0,l2(r,k),R4(r,e+76|0),t=l[e+75|0],k=(t|0)<0,((k?i[e+68>>2]:t)|0)!=4)break i;A=k?i[A>>2]:A;r:{if((s[A|0]|s[A+1|0]<<8|(s[A+2|0]<<16|s[A+3|0]<<24))==1701669229){R4(r,e+88|0),A=100;break r}if((s[A|0]|s[A+1|0]<<8|(s[A+2|0]<<16|s[A+3|0]<<24))!=543781493)break i;A=112}R4(r,A+e|0)}i[r+12>>2]=o,V[i[i[e>>2]+36>>2]](n+12|0,e,r,i[r+4>>2]-(i[r>>2]+o|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[n+31|0]<0&&G(i[n+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+32|0}function Gn(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;o=B-16|0,B=o;i:{r:{if(!r|(!f|!e))break r;if(f=i[f>>2],i[o+12>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,A=i[f+28>>2],n=i[f+32>>2],(A|0)!=(n|0)){if(f=n-A|0,(f|0)<0)break i;for(t=U(f),i[o+4>>2]=t,i[o+12>>2]=f+t,f=t;i[f>>2]=i[A>>2],k=i[A+4>>2],i[f+4>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1),f=f+8|0,A=A+8|0,(n|0)!=(A|0););i[o+8>>2]=f,A=f-t>>3,k=(r|0)>(A|0)?A:r;e:{if((k|0)<=0)break e;if(r=0,A=0,k>>>0>=4)for(h=k&2147483644,n=0;i[(A<<2)+e>>2]=i[i[(A<<3)+t>>2]+20>>2],u=A|1,i[(u<<2)+e>>2]=i[i[(u<<3)+t>>2]+20>>2],u=A|2,i[(u<<2)+e>>2]=i[i[(u<<3)+t>>2]+20>>2],u=A|3,i[(u<<2)+e>>2]=i[i[(u<<3)+t>>2]+20>>2],A=A+4|0,n=n+4|0,(h|0)!=(n|0););if(n=k&3,!n)break e;for(;i[(A<<2)+e>>2]=i[i[(A<<3)+t>>2]+20>>2],A=A+1|0,r=r+1|0,(n|0)!=(r|0););}for(;;){e=f-8|0,f=i[f-4>>2];e:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=e,(t|0)==(f|0))break}G(i[o+4>>2]);break r}k=r>>31&r}return B=o+16|0,k|0}y0(),P()}function K_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;t=B-16|0,B=t;i:{r:{if(!e){r=0;break r}if(f=i[f>>2],i[t+12>>2]=0,i[t+4>>2]=0,i[t+8>>2]=0,A=i[f+36>>2],k=i[f+40>>2],(A|0)!=(k|0)){if(f=k-A|0,(f|0)<0)break i;for(n=U(f),i[t+4>>2]=n,i[t+12>>2]=f+n,f=n;i[f>>2]=i[A>>2],o=i[A+4>>2],i[f+4>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),f=f+8|0,A=A+8|0,(k|0)!=(A|0););i[t+8>>2]=f,A=f-n>>3,r=(r|0)>(A|0)?A:r;e:{if((r|0)<=0)break e;if(o=0,A=0,r>>>0>=4)for(h=r&2147483644,k=0;i[(A<<2)+e>>2]=i[i[(A<<3)+n>>2]+20>>2],u=A|1,i[(u<<2)+e>>2]=i[i[(u<<3)+n>>2]+20>>2],u=A|2,i[(u<<2)+e>>2]=i[i[(u<<3)+n>>2]+20>>2],u=A|3,i[(u<<2)+e>>2]=i[i[(u<<3)+n>>2]+20>>2],A=A+4|0,k=k+4|0,(h|0)!=(k|0););if(k=r&3,!k)break e;for(;i[(A<<2)+e>>2]=i[i[(A<<3)+n>>2]+20>>2],A=A+1|0,o=o+1|0,(k|0)!=(o|0););}for(;;){e=f-8|0,f=i[f-4>>2];e:{if(!f||(A=i[f+4>>2],i[f+4>>2]=A-1,A))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=e,(n|0)==(f|0))break}G(i[t+4>>2]);break r}r=r>>31&r}return B=t+16|0,r|0}y0(),P()}function q_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-80|0,B=A,n=-1;i:{if(!f|(e|0)<=0|(!r|!s[r|0])||!s[r+3|0]|(!s[r+1|0]|!s[r+2|0]))break i;k=U(48),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=72912,f=W3(k+16|0,f,e,0),i[A+52>>2]=k,i[A+48>>2]=f,i[k+4>>2]=i[k+4>>2]+1,f=i[A+52>>2],i[A+8>>2]=i[A+48>>2],i[A+12>>2]=f,t=_e(A+56|0,A+8|0,e,0),i[A+40>>2]=0,i[A+44>>2]=0,_r(A+20|0,t,A+40|0);r:{if(i[A+20>>2]){n=i[A+24>>2]==100?-1:-2;break r}if(n=-2,f=i[A+40>>2],!f||(e=N0(f,68572,68764),!e)||(f=i[A+44>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),n=e,e=s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24),n=_i(n,e<<24|(e&65280)<<8|(e>>>8&65280|e>>>24)),!f)||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}l[A+39|0]<0&&G(i[A+28>>2]),f=i[A+44>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[t+4>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[k+4>>2],i[k+4>>2]=f-1,f)break i;V[i[i[k>>2]+8>>2]](k),g(k)}return B=A+80|0,n|0}function x(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;o=B-16|0,B=o,_=V1(o+4|0,f);i:{if(s[_|0]!=1)break i;u=e+r|0,t=i[i[f>>2]-12>>2]+f|0,h=(i[t+4>>2]&176)==32?u:e,k=i[t+24>>2],r=i[t+76>>2],(r|0)==-1&&(A=o+12|0,r=i[t+28>>2],i[A>>2]=r,(r|0)!=100008&&(i[r+4>>2]=i[r+4>>2]+1),r=x0(A,100192),r=V[i[i[r>>2]+28>>2]](r,32)|0,O0(A),i[t+76>>2]=r),v=r<<24>>24,r=0,A=B-16|0,B=A;r:{e:{A:{if(!k||(n=i[t+12>>2],w=h-e|0,(w|0)>0&&(V[i[i[k>>2]+48>>2]](k,e,w)|0)!=(w|0)))break A;if(e=u-e|0,e=(e|0)<(n|0)?n-e|0:0,(e|0)>0){if(e>>>0>=2147483640)break e;f:{if(e>>>0>=11){r=(e|7)+1|0,n=U(r),i[A+12>>2]=r|-2147483648,i[A+4>>2]=n,i[A+8>>2]=e;break f}l[A+15|0]=e,n=A+4|0}if(r=0,Z=B0(n,v,e)+e|0,p=0,l[Z|0]=p,n=V[i[i[k>>2]+48>>2]](k,l[A+15|0]<0?i[A+4>>2]:A+4|0,e)|0,l[A+15|0]<0&&G(i[A+4>>2]),(e|0)!=(n|0))break A}f:{if(e=u-h|0,(e|0)<=0||(V[i[i[k>>2]+48>>2]](k,h,e)|0)==(e|0))break f;break A}i[t+12>>2]=0,r=k}B=A+16|0;break r}c2(),P()}if(r)break i;e=i[i[f>>2]-12>>2]+f|0,z1(e,i[e+16>>2]|5)}return Z1(_),B=o+16|0,f}function Cn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;i[f>>2]=0,i[f+4>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+24>>2]=0,i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+8>>2]=0,i[f+12>>2]=0;i:{if(s[e+12|0]==1){r=i0[e+24>>3],A=i0[e+32>>3],o=r*A,k=i0[e+16>>3],t=i0[e+40>>3],h=k*t,n=o-h,i0[f+40>>3]=n+n,n=k*r,w=A*t,u=n+w,i0[f+24>>3]=u+u,u=k*A,t=r*t,_=u+t,i0[f+16>>3]=_+_,n=n-w,i0[f+8>>3]=n+n,k=k*k,A=A*A,n=k+A,i0[f+32>>3]=1-(n+n),n=r*r,r=n+A,i0[f>>3]=1-(r+r),A=k+n,A=1-(A+A),k=o+h,k=k+k,r=u-t,r=r+r;break i}r=i0[e+56>>3]*.017453292519943295,k=A3(r),t=e3(r),A=i0[e+48>>3]*.017453292519943295,r=A3(A),A=e3(A),o=i0[e+64>>3],n=t*0,p=n+(0-k),h=p*0,w=k*0+(t+0),i0[f+24>>3]=h+(r*w+A*0),i0[f>>3]=h+(A*w+r*-0),o=o*.017453292519943295,h=e3(o),v=k*-0,o=A3(o),u=o*-0,W=t*h+(v+u),C=W*0,u=k*h+(n+u),_=h*0,Z=_+(0-o),i0[f+40>>3]=C+(r*u+A*Z),v=t*o+(v+_),I=v*0,k=k*o+(n+_),t=o*0+(h+0),i0[f+32>>3]=I+(r*k+A*t),i0[f+16>>3]=C+(A*u-Z*r),i0[f+8>>3]=I+(A*k-t*r),A=W+(u*0+Z*0),k=v+(k*0+t*0),r=p+(w*0+0)}i0[f+64>>3]=A,i0[f+56>>3]=k,i0[f+48>>3]=r}function Vn(f,e){var r=0,A=0,k=0,n=0,t=0;r=B-144|0,B=r;i:{r:{if(A=i[e+16>>2],(A|0)==1970628964){for(i[r+60>>2]=54820,A=i[13708],i[r+4>>2]=A,k=i[A-12>>2],A=r+4|0,i[k+A>>2]=i[13709],n=A+i[i[r+4>>2]-12>>2]|0,k=r+8|0,b0(n,k),i[n+72>>2]=0,i[n+76>>2]=-1,i[r+60>>2]=54820,i[r+4>>2]=54800,n=$0(k),i[n>>2]=53552,i[r+48>>2]=0,i[r+52>>2]=0,i[r+40>>2]=0,i[r+44>>2]=0,i[r+56>>2]=16,k=i[r+4>>2]-12|0,t=A+i[k>>2]|0,i[t+4>>2]=i[t+4>>2]&-75|8,k=A+i[k>>2]|0,i[k+76>>2]==-1&&(t=r+140|0,A=i[k+28>>2],i[t>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(t,100192),V[i[i[A>>2]+28>>2]](A,32)|0,O0(t)),t=r+60|0,i[k+76>>2]=48,k=r+16|0,A=0;;){e:switch((A&13)-4|0){case 0:case 4:l[r+140|0]=45,x(r+4|0,r+140|0,1);break;default:break e}if(i[k+i[i[r+4>>2]-12>>2]>>2]=2,H0(r+4|0,s[i[e+20>>2]+A|0]),A=A+1|0,(A|0)==16)break}break r}l[f+4|0]=0,l[f+11|0]=4,l[f+3|0]=A,l[f+2|0]=A>>>8,l[f+1|0]=A>>>16,l[f|0]=A>>>24;break i}i2(f,n),f=i[13707],i[r+4>>2]=f,i[i[f-12>>2]+(r+4|0)>>2]=i[13710],i[n>>2]=53552,l[r+51|0]<0&&G(i[r+40>>2]),K0(n),T0(t)}B=r+144|0}function $_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=i[e+12>>2];i:{if(!k&k0[e+8>>2]>=k0[e+32>>2]|k){k=A+148|0,W0(k,r),n=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=x(A+12|0,19971,22),k=i[e+8>>2],n=i[e+32>>2],x(n4(r,k-n|0,i[e+12>>2]-(k>>>0<n>>>0)|0),31338,1);break i}e=A+148|0,W0(e,r),k=e,e=l[A+159|0],r=(e|0)<0,x(A+12|0,r?i[A+148>>2]:k,r?i[A+152>>2]:e),l[A+159|0]<0&&G(i[A+148>>2]),x(A+12|0,22249,32)}i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function b_(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0;o=B-160|0,B=o;i:{r:{if(u=i[e+16>>2],!u||(w=N0(u,72776,73212),!w))break r;if(u=i[e+20>>2],u&&(i[u+4>>2]=i[u+4>>2]+1),h=i[e>>2],i[o+104>>2]=i[h+48>>2],h=i[h+52>>2],i[o+108>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),e=i[e+8>>2],h=i[e+8>>2],_=i[e+4>>2],e=i[o+108>>2],i[o+32>>2]=i[o+104>>2],i[o+36>>2]=e,e=o+112|0,pr(e,o+32|0,r,_,h),i0[o+72>>3]=i[w+4>>2],i0[o+80>>3]=i[w+8>>2],r=i[o+84>>2],i[o+24>>2]=i[o+80>>2],i[o+28>>2]=r,r=i[o+76>>2],i[o+16>>2]=i[o+72>>2],i[o+20>>2]=r,me(o+88|0,e,o+16|0),i0[o+40>>3]=k0[w+12>>2],i0[o+48>>3]=k0[w+16>>2],r=i[o+52>>2],i[o+8>>2]=i[o+48>>2],i[o+12>>2]=r,r=i[o+44>>2],i[o>>2]=i[o+40>>2],i[o+4>>2]=r,It(o+56|0,e,o),i0[A>>3]=i0[o+88>>3],i0[k>>3]=i0[o+96>>3],i0[n>>3]=i0[o+56>>3],i0[t>>3]=i0[o+64>>3],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,!u||(f=i[u+4>>2],i[u+4>>2]=f-1,f))break i;V[i[i[u>>2]+8>>2]](u),g(u);break i}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}B=o+160|0}function d_(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0;o=B-160|0,B=o;i:{r:{if(u=i[e+16>>2],!u||(w=N0(u,72776,73256),!w))break r;if(u=i[e+20>>2],u&&(i[u+4>>2]=i[u+4>>2]+1),h=i[e>>2],i[o+104>>2]=i[h+48>>2],h=i[h+52>>2],i[o+108>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),e=i[e+8>>2],h=i[e+8>>2],_=i[e+4>>2],e=i[o+108>>2],i[o+32>>2]=i[o+104>>2],i[o+36>>2]=e,e=o+112|0,pr(e,o+32|0,r,_,h),i0[o+72>>3]=i[w+4>>2],i0[o+80>>3]=i[w+8>>2],r=i[o+84>>2],i[o+24>>2]=i[o+80>>2],i[o+28>>2]=r,r=i[o+76>>2],i[o+16>>2]=i[o+72>>2],i[o+20>>2]=r,me(o+88|0,e,o+16|0),i0[o+40>>3]=k0[w+12>>2],i0[o+48>>3]=k0[w+16>>2],r=i[o+52>>2],i[o+8>>2]=i[o+48>>2],i[o+12>>2]=r,r=i[o+44>>2],i[o>>2]=i[o+40>>2],i[o+4>>2]=r,It(o+56|0,e,o),i0[A>>3]=i0[o+88>>3],i0[k>>3]=i0[o+96>>3],i0[n>>3]=i0[o+56>>3],i0[t>>3]=i0[o+64>>3],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,!u||(f=i[u+4>>2],i[u+4>>2]=f-1,f))break i;V[i[i[u>>2]+8>>2]](u),g(u);break i}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}B=o+160|0}function D1(f,e){var r=0,A=0,k=0,n=0;k=(f|0)==(e|0),l[e+12|0]=k;i:{if(k)break i;for(;;){if(k=i[e+8>>2],s[k+12|0])break i;r:{if(r=i[k+8>>2],A=i[r>>2],(k|0)==(A|0)){if(n=i[r+4>>2],!(!n|s[n+12|0]==1)){A=n+12|0;break r}e:{if(i[k>>2]==(e|0)){e=k;break e}e=i[k+4>>2],A=i[e>>2],i[k+4>>2]=A,f=k,A&&(i[A+8>>2]=k,r=i[k+8>>2],f=i[r>>2]),i[e+8>>2]=r,i[(((f|0)!=(k|0))<<2)+r>>2]=e,i[e>>2]=k,i[k+8>>2]=e,r=i[e+8>>2],A=i[r>>2]}l[e+12|0]=1,l[r+12|0]=0,f=i[A+4>>2],i[r>>2]=f,f&&(i[f+8>>2]=r),f=i[r+8>>2],i[A+8>>2]=f,i[f+((i[f>>2]!=(r|0))<<2)>>2]=A,i[A+4>>2]=r,i[r+8>>2]=A;return}if(!(!A|s[A+12|0]==1)){A=A+12|0;break r}A=i[k>>2];e:{if((A|0)!=(e|0)){A=k;break e}f=i[A+4>>2],i[k>>2]=f,f&&(i[f+8>>2]=k,r=i[k+8>>2]),i[A+8>>2]=r,i[(((k|0)!=i[r>>2])<<2)+r>>2]=A,i[A+4>>2]=k,i[k+8>>2]=A,r=i[A+8>>2]}l[A+12|0]=1,l[r+12|0]=0,e=i[r+4>>2],f=i[e>>2],i[r+4>>2]=f,f&&(i[f+8>>2]=r),f=i[r+8>>2],i[e+8>>2]=f,i[f+((i[f>>2]!=(r|0))<<2)>>2]=e,i[e>>2]=r,i[r+8>>2]=e;break i}if(l[k+12|0]=1,l[r+12|0]=(f|0)==(r|0),l[A|0]=1,e=r,(f|0)==(r|0))break}}}function c_(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0;k=B-32|0,B=k,f=i[f>>2],o=i[f+48>>2],n=i[f+52>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[k+28>>2]=0,i[k+20>>2]=0,i[k+24>>2]=0,I1(k,o,e,k+20|0);i:{if(i[k>>2]||(f=i[k+20>>2],o=i[k+24>>2],(f|0)==(o|0)))break i;if(e=!r,h=e,e){for(;;)if(e=i[i[f>>2]+16>>2],!((e|0)==1668047216|(e|0)==1769107316)&(e|0)!=1768778098||(t=t+h|0),f=f+8|0,(o|0)==(f|0))break i}for(e=1;;){u=i[i[f>>2]+16>>2];r:{if(!((u|0)==1668047216|(u|0)==1769107316)&(u|0)!=1768778098)break r;if((A|0)>(t|0)){i[(t<<2)+r>>2]=e,t=t+1|0;break r}t=t+h|0}if(e=e+1|0,f=f+8|0,(o|0)==(f|0))break}}if(l[k+19|0]<0&&G(i[k+8>>2]),r=i[k+20>>2],r){if(f=i[k+24>>2],e=r,(f|0)!=(e|0)){for(;;){e=i[f-4>>2];i:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(r|0)==(f|0))break}e=i[k+20>>2]}i[k+24>>2]=r,G(e)}i:{if(!n||(f=i[n+4>>2],i[n+4>>2]=f-1,f))break i;V[i[i[n>>2]+8>>2]](n),g(n)}return B=k+32|0,t|0}function iv(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0,v=0;h=B-32|0,B=h,w=i[f>>2],f=i[w+48>>2],w=i[w+52>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),i[h+28>>2]=0,i[h+20>>2]=0,i[h+24>>2]=0,I1(h,f,e,h+20|0);i:{if(i[h>>2]||(f=r-1|0,e=i[h+20>>2],f>>>0>=i[h+24>>2]-e>>3>>>0)||(e=e+(f<<3)|0,f=i[e>>2],!f)||(f=N0(f,68572,69592),!f)||(e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),n&&(_=n,v=Ir(f,A),i[_>>2]=v),o&&(_=o,v=(Ln(f,A)^-1)+A|0,i[_>>2]=v),t&&(_=t,v=Vr(f,k),i[_>>2]=v),u&&(_=u,v=(Kn(f,k)^-1)+k|0,i[_>>2]=v),!e)||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(l[h+19|0]<0&&G(i[h+8>>2]),r=i[h+20>>2],r){if(f=i[h+24>>2],e=r,(f|0)!=(e|0)){for(;;){A=i[f-4>>2];i:{if(!A||(e=i[A+4>>2],i[A+4>>2]=e-1,e))break i;V[i[i[A>>2]+8>>2]](A),g(A)}if(f=f-8|0,(r|0)==(f|0))break}e=i[h+20>>2]}i[h+24>>2]=r,G(e)}i:{if(!w||(f=i[w+4>>2],i[w+4>>2]=f-1,f))break i;V[i[i[w>>2]+8>>2]](w),g(w)}B=h+32|0}function In(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0;k=B-112|0,B=k;i:{if(!A){e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];break i}r:{if(n=i[e+16>>2],!n||(o=N0(n,72776,73300),!o))break r;if(n=i[e+20>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),t=i[e>>2],i[k+56>>2]=i[t+48>>2],t=i[t+52>>2],i[k+60>>2]=t,t&&(i[t+4>>2]=i[t+4>>2]+1),e=i[e+8>>2],t=i[e+8>>2],e=i[e+4>>2],u=i[k+60>>2],i[k+16>>2]=i[k+56>>2],i[k+20>>2]=u,pr(k- -64|0,k+16|0,r,e,t),r=i[o+8>>2],(i[o+12>>2]-r|0)>0)for(e=0;r=(e<<3)+r|0,i0[k+24>>3]=i[r>>2],i0[k+32>>3]=i[r+4>>2],r=i[k+36>>2],i[k+8>>2]=i[k+32>>2],i[k+12>>2]=r,r=i[k+28>>2],i[k>>2]=i[k+24>>2],i[k+4>>2]=r,me(k+40|0,k- -64|0,k),r=(e<<4)+A|0,i0[r>>3]=i0[k+40>>3],i0[r+8>>3]=i0[k+48>>3],e=e+1|0,r=i[o+8>>2],(e|0)<i[o+12>>2]-r>>3;);if(e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],!n||(f=i[n+4>>2],i[n+4>>2]=f-1,f))break i;V[i[i[n>>2]+8>>2]](n),g(n);break i}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}B=k+112|0}function Qn(f,e,r){var A=Y(0),k=Y(0),n=Y(0),t=Y(0),o=Y(0),u=Y(0),h=Y(0),w=Y(0),_=Y(0),v=Y(0),Z=Y(0),p=Y(0),W=Y(0),C=Y(0),I=Y(0);i[f>>2]=0,i[f+4>>2]=0;i:{r:{if((e&65534)==12){if(e=r-1&65535,e>>>0<=21&&(e=e<<2,o=Z0[e+36156>>2],_=Z0[e+36068>>2],k=Z0[e+35980>>2],u=Z0[e+35892>>2],n=Z0[e+35804>>2],h=Z0[e+35716>>2],t=Z0[e+35628>>2],A=Z0[e+35540>>2]),w=Y(Y(1)-Y(A+t)),v=Y(Y(1)-Y(u+k)),W=Y(Y(k*w)-Y(v*t)),Z=Y(Y(1)-Y(h+n)),C=Y(Y(t*Z)-Y(w*n)),p=Y(o*Y(Y(h*W)+Y(Y(u*C)+Y(A*Y(Y(n*v)-Y(Z*k)))))),p==Y(0))break i;I=Y(Y(1)-Y(_+o)),Z0[f>>2]=Y(k*Y(Y(I*Y(Y(A*n)-Y(t*h)))+Y(Y(_*C)+Y(o*Y(Y(h*w)-Y(Z*A))))))/p,A=Y(Y(n*Y(Y(I*Y(Y(u*t)-Y(k*A)))+Y(Y(_*W)+Y(o*Y(Y(A*v)-Y(w*u))))))/p);break r}e:switch(e-1|0){case 0:i[f>>2]=1046066128,A=Y(.0722000002861023);break r;case 3:i[f>>2]=1050253722,A=Y(.10999999940395355);break r;case 4:case 5:i[f>>2]=1050220167,A=Y(.11400000005960464);break r;case 6:i[f>>2]=1046025863,A=Y(.08699999749660492);break r;case 8:case 9:break e;default:break i}i[f>>2]=1049002141,A=Y(.059300001710653305)}Z0[f+4>>2]=A}}function yn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;i:{if(A=i[f>>2],k=i[f+4>>2]-A>>4,r=k+1|0,r>>>0<268435456){if(A=i[f+8>>2]-A|0,o=A>>3,A=A>>>0>=2147483632?268435455:r>>>0<o>>>0?o:r,A){if(A>>>0>=268435456)break i;n=U(A<<4)}o=Q[e>>1],r=(k<<4)+n|0,i[r+12>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,X[r>>1]=o,k=i[e+4>>2],e=i[e+8>>2],qA(r+4|0,k,e,(e-k|0)/12|0),u=(A<<4)+n|0,o=r+16|0,A=i[f+4>>2],k=i[f>>2];r:{if((A|0)==(k|0)){n=r;break r}for(;e=A-16|0,h=Q[e>>1],w=r-4|0,i[w>>2]=0,t=r-12|0,i[t>>2]=0,i[t+4>>2]=0,n=r-16|0,X[n>>1]=h,h=t,t=A-12|0,i[h>>2]=i[t>>2],i[r-8>>2]=i[A-8>>2],r=A-4|0,i[w>>2]=i[r>>2],i[r>>2]=0,i[t>>2]=0,i[t+4>>2]=0,r=n,A=e,(k|0)!=(A|0););A=i[f+4>>2],k=i[f>>2]}if(i[f+8>>2]=u,i[f+4>>2]=o,i[f>>2]=n,(A|0)!=(k|0))for(;;){if(t=A-12|0,f=i[t>>2],f){if(u=A-8|0,e=i[u>>2],r=f,(e|0)!=(r|0)){for(;r=e-12|0,n=i[r>>2],n&&(i[e-8>>2]=n,G(n)),e=r,(r|0)!=(f|0););r=i[t>>2]}i[u>>2]=f,G(r)}if(A=A-16|0,(k|0)==(A|0))break}return k&&G(k),o}y0(),P()}_2(),P()}function rv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(!(!(i[r>>2]!=1|i[r+4>>2]!=3)&i[r+12>>2]==8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,l[e+44|0]=0,i[e+36>>2]=99,i[e+40>>2]=99,i[e+48>>2]=8,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,s[r+8|0]||(l[e+44|0]=0,i[e+36>>2]=1,i[e+40>>2]=12,i[e+48>>2]=i[r+12>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,i[e>>2]=1,i[e+4>>2]=12,i[e+16>>2]=72992,A=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,A=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=A,P2(f,e)),l[e+44|0]=1,i[e+36>>2]=1,i[e+40>>2]=13,i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,i[e>>2]=1,i[e+4>>2]=13,i[e+16>>2]=72992,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function w6(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;i[f+24>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+8>>2]=r,i[f+4>>2]=r,i[f>>2]=e,u=-64;i:{if(!r||(i[f>>2]=e+1,A=s[e|0],k=r-1|0,i[f+8>>2]=k,A=A<<24,n=A,i[f+16>>2]=0,i[f+20>>2]=A,!k)||(i[f>>2]=e+2,A=s[e+1|0],k=r-2|0,i[f+8>>2]=k,A=n|A<<16,t=A,i[f+16>>2]=o,i[f+20>>2]=A,!k)||(i[f>>2]=e+3,A=s[e+2|0],k=r-3|0,i[f+8>>2]=k,A=t|A<<8,t=A,i[f+16>>2]=o,i[f+20>>2]=A,!k)||(i[f>>2]=e+4,A=s[e+3|0],k=r-4|0,i[f+8>>2]=k,n=o,A=A|t,o=A,i[f+16>>2]=n,i[f+20>>2]=A,!k)||(i[f>>2]=e+5,A=s[e+4|0],k=r-5|0,i[f+8>>2]=k,t=n,n=A>>>8|0,A=t|A<<24,n=n|o,o=n,i[f+16>>2]=A,i[f+20>>2]=n,!k)||(i[f>>2]=e+6,n=s[e+5|0],k=r-6|0,i[f+8>>2]=k,t=A,A=n>>>16|0,n=t|n<<16,A=A|o,o=A,i[f+16>>2]=n,i[f+20>>2]=A,!k)||(i[f>>2]=e+7,A=s[e+6|0],k=r-7|0,i[f+8>>2]=k,t=n,n=A>>>24|0,A=t|A<<8,i[f+16>>2]=A,n=n|o,i[f+20>>2]=n,!k))break i;i[f>>2]=e+8,e=s[e+7|0],i[f+8>>2]=r-8,i[f+16>>2]=e|A,i[f+20>>2]=n,u=-56}return i[f+24>>2]=(((r>>>0>=7?7:r)<<3)+u|0)- -64,f}function ev(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(!(!(i[r>>2]!=1|i[r+4>>2]!=3)&i[r+12>>2]>8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,l[e+44|0]=0,i[e+36>>2]=99,i[e+40>>2]=99,i[e+48>>2]=8,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,s[r+8|0]||(l[e+44|0]=0,i[e+36>>2]=1,i[e+40>>2]=12,i[e+48>>2]=i[r+12>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,i[e>>2]=1,i[e+4>>2]=12,i[e+16>>2]=72992,A=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,A=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=A,P2(f,e)),l[e+44|0]=1,i[e+36>>2]=1,i[e+40>>2]=13,i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,i[e>>2]=1,i[e+4>>2]=13,i[e+16>>2]=72992,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function Av(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(r,20449,18),k=i[e+56>>2];i:{if((k|0)==i[e+60>>2]||(H0(r,s[k|0]),r=1,i[e+60>>2]-i[e+56>>2]>>>0<=1))break i;for(;k=A+12|0,x(k,18140,1),H0(k,s[i[e+56>>2]+r|0]),r=r+1|0,r>>>0<i[e+60>>2]-i[e+56>>2]>>>0;);}e=A+12|0,x(e,31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[e+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function fv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0;A=m(r,6)+e|0,v=Q[A+6>>1],u=Q[e+6>>1],h=Q[e+2>>1],k=u+h|0,Z=Q[e+4>>1],w=Q[e>>1],t=Z+w|0,o=k+t|0,n=(r<<2)+e|0,p=Q[n+6>>1],W=Q[n+2>>1],C=p+W|0,y=Q[n>>1],n=Q[n+4>>1],I=y+n|0,_=C+I|0,E=o-_|0,e=(r<<1)+e|0,r=Q[e+6>>1],J=Q[e+2>>1],R=r+J|0,D=Q[e+4>>1],e=Q[e>>1],z=D+e|0,H=R+z|0,a=Q[A+2>>1],S=v+a|0,q=Q[A+4>>1],A=Q[A>>1],d=q+A|0,A0=S+d|0,f0=H-A0|0,X[f+24>>1]=E-f0,X[f+16>>1]=E+f0,o=o+_|0,_=H+A0|0,X[f+8>>1]=o-_,X[f>>1]=o+_,k=t-k|0,t=I-C|0,o=k-t|0,C=z-R|0,I=d-S|0,_=C-I|0,X[f+26>>1]=o-_,X[f+18>>1]=o+_,k=k+t|0,t=C+I|0,X[f+10>>1]=k-t,X[f+2>>1]=k+t,u=h-u|0,h=w-Z|0,k=u+h|0,Z=W-p|0,n=y-n|0,w=Z+n|0,t=k-w|0,r=J-r|0,e=e-D|0,o=r+e|0,v=a-v|0,A=A-q|0,p=v+A|0,W=o-p|0,X[f+28>>1]=t-W,X[f+20>>1]=t+W,k=k+w|0,w=o+p|0,X[f+12>>1]=k-w,X[f+4>>1]=k+w,u=h-u|0,n=n-Z|0,h=u-n|0,e=e-r|0,r=A-v|0,A=e-r|0,X[f+30>>1]=h-A,X[f+22>>1]=A+h,A=n+u|0,e=e+r|0,X[f+14>>1]=A-e,X[f+6>>1]=e+A}function kv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,5473);break i}if(t=e,o=D0(r),i[t+56>>2]=o,t=e,o=D0(r),i[t+60>>2]=o,t=e,o=D0(r),i[t+64>>2]=o,t=e,o=D0(r),i[t+68>>2]=o,t=e,o=D0(r),i[t+72>>2]=o,B4(A+20|0,r),l[e+87|0]<0&&G(i[e+76>>2]),k=i[A+24>>2],i[e+76>>2]=i[A+20>>2],i[e+80>>2]=k,i[e+84>>2]=i[A+28>>2],s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function nv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=1){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+8>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]>=9){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,!A)break i;i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=0,i[e+40>>2]=3,l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+59|0]=A,l[e+60|0]=A>>>8,l[e+61|0]=A>>>16,l[e+62|0]=A>>>24,i[e+56>>2]=i[r+20>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,i[e>>2]=0,i[e+4>>2]=3,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function tv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=1){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+8>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]<=8){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,!A)break i;i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=0,i[e+40>>2]=3,l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+59|0]=A,l[e+60|0]=A>>>8,l[e+61|0]=A>>>16,l[e+62|0]=A>>>24,i[e+56>>2]=i[r+20>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,i[e>>2]=0,i[e+4>>2]=3,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function ov(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+8>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]>=9){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,!A)break i;i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=0,i[e+40>>2]=3,l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+59|0]=A,l[e+60|0]=A>>>8,l[e+61|0]=A>>>16,l[e+62|0]=A>>>24,i[e+56>>2]=i[r+20>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,i[e>>2]=0,i[e+4>>2]=3,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function lv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+8>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]<=8){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,!A)break i;i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=0,i[e+40>>2]=3,l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+59|0]=A,l[e+60|0]=A>>>8,l[e+61|0]=A>>>16,l[e+62|0]=A>>>24,i[e+56>>2]=i[r+20>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,i[e>>2]=0,i[e+4>>2]=3,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function uv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;if(A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,L0(x(r,21524,4),(i[e+64>>2]-i[e+60>>2]|0)/12|0),H0(x(r,21610,7),i[e+52>>2]-i[e+48>>2]&255),x(r,21618,5),r=i[e+48>>2],e=i[e+52>>2],(r|0)!=(e|0))for(;x(H0(A+12|0,s[r|0]),21692,2),r=r+1|0,(e|0)!=(r|0););e=A+12|0,x(e,31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[e+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function Fn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{if(A=i[f>>2],n=i[f+4>>2]-A>>4,r=n+1|0,r>>>0<268435456){if(A=i[f+8>>2]-A|0,o=A>>3,A=A>>>0>=2147483632?268435455:r>>>0<o>>>0?o:r,A){if(A>>>0>=268435456)break i;k=U(A<<4)}r=(n<<4)+k|0,X[r>>1]=Q[e>>1],i[r+4>>2]=i[e+4>>2],i[r+8>>2]=i[e+8>>2],i[r+12>>2]=i[e+12>>2],i[e+12>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,u=(A<<4)+k|0,o=r+16|0,A=i[f+4>>2],n=i[f>>2];r:{if((A|0)==(n|0)){k=r;break r}for(;e=A-16|0,t=Q[e>>1],h=r-4|0,i[h>>2]=0,k=r-16|0,X[k>>1]=t,t=A-12|0,i[r-12>>2]=i[t>>2],i[r-8>>2]=i[A-8>>2],r=A-4|0,i[h>>2]=i[r>>2],i[r>>2]=0,i[t>>2]=0,i[t+4>>2]=0,r=k,A=e,(n|0)!=(A|0););A=i[f+4>>2],n=i[f>>2]}if(i[f+8>>2]=u,i[f+4>>2]=o,i[f>>2]=k,(A|0)!=(n|0))for(;;){if(t=A-12|0,f=i[t>>2],f){if(u=A-8|0,e=i[u>>2],r=f,(e|0)!=(r|0)){for(;r=e-12|0,k=i[r>>2],k&&(i[e-8>>2]=k,G(k)),e=r,(r|0)!=(f|0););r=i[t>>2]}i[u>>2]=f,G(r)}if(A=A-16|0,(n|0)==(A|0))break}return n&&G(n),o}y0(),P()}_2(),P()}function zr(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0;if(o=B-16|0,B=o,u=f+2140|0,B9(u,1)){k=(l[i[f+1384>>2]+13|0]<<3)+f|0,t=i[k+728>>2],n=i[k+732>>2];i:{if(!n){i[o+12>>2]=0;break i}i[n+4>>2]=i[n+4>>2]+1,i[o+12>>2]=n,i[n+4>>2]=i[n+4>>2]+1}if(i[o+8>>2]=t,k=i[o+12>>2],i[o>>2]=i[o+8>>2],i[o+4>>2]=k,k=0,u=fn(u,o,f,0,0,0,0),(u|0)>=0){if(t=i[f+2152>>2],f=i[f+2148>>2],u>>>0<t-f>>2>>>0&&(k=i[f+(u<<2)>>2]),f=1<<i[e+16840>>2]-1,t=1<<i[e+16832>>2]-1,(t|0)>=0&&B0(i[k+4>>2],t,m(i[k+28>>2],i[k+40>>2])),(f|0)>=0&&B0(i[k+8>>2],f,m(i[k+36>>2],i[k+44>>2])),(f|0)>=0&&B0(i[k+12>>2],f,m(i[k+36>>2],i[k+44>>2])),i[k+164>>2]>0)for(f=0;t=i[k+160>>2]+m(f,3)|0,h=(s[t|0]|s[t+1|0]<<8)&64767,l[t|0]=h,l[t+1|0]=h>>>8,f=f+1|0,(f|0)<i[k+164>>2];);i[k+96>>2]=r,f=i[e+16868>>2],l[k+104|0]=0,l[k+312|0]=1,i[k+100>>2]=A?2:1,i[k+92>>2]=f-1&r}i:{if(!n||(f=i[n+4>>2],i[n+4>>2]=f-1,f))break i;V[i[i[n>>2]+8>>2]](n),g(n)}return B=o+16|0,u}C0(18302,13894,1425,9437),P()}function sv(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0;u=B-16|0,B=u,o=U(32),i[o+28>>2]=n,i[o+24>>2]=k,i[o+20>>2]=A,i[o+16>>2]=r,i[o+12>>2]=73188,i[o+4>>2]=0,i[o+8>>2]=0,i[o>>2]=73448,r=i[e+8>>2],i[u+12>>2]=o,n=o+12|0,i[u+8>>2]=n,i[o+4>>2]=i[o+4>>2]+1,A=i[r+16>>2];i:{r:{if(A>>>0<k0[r+20>>2]){i[A+4>>2]=o,i[A>>2]=n,i[o+4>>2]=i[o+4>>2]+1,i[r+16>>2]=A+8,k=o;break r}if(A=Q2(r+12|0,u+8|0),k=i[u+12>>2],i[r+16>>2]=A,!k)break i}if(r=i[k+4>>2],i[k+4>>2]=r-1,r)break i;V[i[i[k>>2]+8>>2]](k),g(k)}i:{if(!t||(i[o+4>>2]=i[o+4>>2]+1,r=U(24),i[o+4>>2]=i[o+4>>2]+1,i[r+20>>2]=o,i[r+16>>2]=n,k=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=k,A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,i[t>>2]=r,e=i[o+4>>2],i[o+4>>2]=e-1,e))break i;V[i[i[o>>2]+8>>2]](o),g(o)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[o+4>>2],i[o+4>>2]=f-1,f||(V[i[i[o>>2]+8>>2]](o),g(o)),B=u+16|0}function hv(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0;u=B-16|0,B=u,o=U(32),i[o+28>>2]=n,i[o+24>>2]=k,i[o+20>>2]=A,i[o+16>>2]=r,i[o+12>>2]=73232,i[o+4>>2]=0,i[o+8>>2]=0,i[o>>2]=73488,r=i[e+8>>2],i[u+12>>2]=o,n=o+12|0,i[u+8>>2]=n,i[o+4>>2]=i[o+4>>2]+1,A=i[r+16>>2];i:{r:{if(A>>>0<k0[r+20>>2]){i[A+4>>2]=o,i[A>>2]=n,i[o+4>>2]=i[o+4>>2]+1,i[r+16>>2]=A+8,k=o;break r}if(A=Q2(r+12|0,u+8|0),k=i[u+12>>2],i[r+16>>2]=A,!k)break i}if(r=i[k+4>>2],i[k+4>>2]=r-1,r)break i;V[i[i[k>>2]+8>>2]](k),g(k)}i:{if(!t||(i[o+4>>2]=i[o+4>>2]+1,r=U(24),i[o+4>>2]=i[o+4>>2]+1,i[r+20>>2]=o,i[r+16>>2]=n,k=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=k,A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,i[t>>2]=r,e=i[o+4>>2],i[o+4>>2]=e-1,e))break i;V[i[i[o>>2]+8>>2]](o),g(o)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[o+4>>2],i[o+4>>2]=f-1,f||(V[i[i[o>>2]+8>>2]](o),g(o)),B=u+16|0}function K4(f,e,r,A,k,n,t,o,u,h,w){var _=0;i:{r:{e:{A:{f:{if(!((e+A|0)<=(h|0)|(e|0)>(h|0)|(r|0)>(w|0))&&(r+A|0)>(w|0))break f;if(A=0,(h|w)<0||(e=i[f+124>>2],i[e+484>>2]<=(h|0)|i[e+488>>2]<=(w|0))||(t=i[f+132>>2],o=i[t+8496>>2],r=i[e+16936>>2],u=i[e+16924>>2],i[(o+(h>>>r<<2)|0)+(m(u,w>>>r|0)<<2)>>2]>i[(o+(k>>r<<2)|0)+(m(u,n>>r)<<2)>>2])||(u=i[f+140>>2],o=i[f+152>>2],r=i[e+16876>>2],n=n>>r,k=k>>r,_=w>>>r|0,r=h>>>r|0,Q[(u+m(m(o,n),24)|0)+m(k,24)>>1]!=Q[(u+m(m(o,_),24)|0)+m(r,24)>>1]))break e;if(o=k<<2,k=i[t+8484>>2],e=i[e+16892>>2],i[(o+k|0)+(m(e,n)<<2)>>2]==i[(k+(r<<2)|0)+(m(e,_)<<2)>>2])break A;break e}if(t<<1!=(A|0)|o<<1!=(A|0)|((u|0)!=1|(r+o|0)>(w|0)))break A;if(A=0,(e+t|0)>(h|0))break e}if(r=i[f+168>>2],e=h>>r,(e|0)<0||(A=i[f+172>>2],(A|0)<=(e|0)))break r;if(r=w>>r,(r|0)<0|(r|0)>=i[f+176>>2])break i;A=(s[((i[f+160>>2]+m(e,3)|0)+m(m(r,A),3)|0)+1|0]&3)!=0}return A}C0(3758,8473,118,3372),P()}C0(3720,8473,119,3372),P()}function Hr(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,W0(n,r),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=x(A+12|0,19401,5),n=A+148|0,Vn(n,e),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),31077,7),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),n=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(n4(x(r,20793,6),i[e+8>>2],i[e+12>>2]),20737,17),i[e+32>>2]),31337,2),i2(f,t),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function En(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,f=B-16|0,B=f,i[f+12>>2]=r,i[f+8>>2]=n,i[f+12>>2]=r,i[f+8>>2]=n,e=i[f+12>>2];i:{r:{for(;;){e:{if(e>>>0>=A>>>0){r=0;break e}if(r=2,e=i[e>>2],e>>>0>1114111|(e&-2048)==55296)break e;A:{if(e>>>0<=127){if(r=1,n=i[f+8>>2],(t-n|0)<=0)break e;i[f+8>>2]=n+1,l[n|0]=e;break A}if(e>>>0<=2047){if(r=i[f+8>>2],(t-r|0)<2)break r;i[f+8>>2]=r+1,l[r|0]=e>>>6|192,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e&63|128;break A}if(r=i[f+8>>2],n=t-r|0,e>>>0<=65535){if((n|0)<3)break r;i[f+8>>2]=r+1,l[r|0]=e>>>12|224,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e>>>6&63|128,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e&63|128;break A}if((n|0)<4)break r;i[f+8>>2]=r+1,l[r|0]=e>>>18|240,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e>>>12&63|128,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e>>>6&63|128,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e&63|128}e=i[f+12>>2]+4|0,i[f+12>>2]=e;continue}break}break i}r=1}return i[k>>2]=i[f+12>>2],i[o>>2]=i[f+8>>2],B=f+16|0,r|0}function JA(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0;i:{r=i[f+18592>>2];r:{e:{if(s[r+20|0]){if(e=i[f+18588>>2],n=i[e+52>>2],k=i[e+132>>2],r=i[r+24>>2],A=Q[(i[e+140>>2]+m(i[(i[k+8460>>2]+(i[i[k+8448>>2]+(r<<2)>>2]<<2)|0)-4>>2],24)|0)+2>>1],A>>>0>=i[e+56>>2]-n>>2>>>0)break r;if(n=i[n+(A<<2)>>2],A=i[i[e+124>>2]+16892>>2],e=(r|0)/(A|0)|0,e9(k,r-m(e,A)|0,e)){if(e=i[f+18592>>2],r=i[e+804>>2],r>>>0>=3)break i;k6(f+18572|0,r,i[e+800>>2]),l[f+18580|0]=0,l[f+18581|0]=0,l[f+18582|0]=0,l[f+18583|0]=0;break e}if(e=i[f+18596>>2],r=i[e+424>>2],k=i[e+428>>2]-r>>2,k>>>0<2)break r;for(A=i[f+18600>>2],e=1;;){if(t=r+(e<<2)|0,(A|0)!=i[t>>2]){if(e=e+1|0,(k|0)!=(e|0))continue;break r}break}if(e=i[t-4>>2],!e||(bt(e+44|0,i[e+120>>2]),s[n+1348|0]!=1))break r;e=f+18572|0,f=n+1340|0,Ii(e,f),F9(f);break e}if(e=i[r+804>>2],e>>>0>=3)break i;k6(f+18572|0,e,i[r+800>>2]),l[f+18580|0]=0,l[f+18581|0]=0,l[f+18582|0]=0,l[f+18583|0]=0}o=1}return o}C0(16898,14036,1520,4043),P()}function Tr(f,e,r,A){var k=0,n=0,t=0,o=0;k=i[r+4>>2],o=i[e+4>>2];i:{if((o|0)<=i[f+4>>2]){if((k|0)<=(o|0)||(n=i[e>>2],k=i[e+4>>2],t=i[r+4>>2],i[e>>2]=i[r>>2],i[e+4>>2]=t,i[r>>2]=n,i[r+4>>2]=k,i[e+4>>2]<=i[f+4>>2]))break i;n=i[f>>2],k=i[f+4>>2],t=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=t,i[e>>2]=n,i[e+4>>2]=k,k=i[r+4>>2];break i}if(t=i[f>>2],n=i[f+4>>2],(k|0)>(o|0)){k=i[r+4>>2],i[f>>2]=i[r>>2],i[f+4>>2]=k,i[r>>2]=t,i[r+4>>2]=n,k=n;break i}if(k=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=k,i[e>>2]=t,i[e+4>>2]=n,k=i[r+4>>2],(n|0)>=(k|0))break i;k=i[r+4>>2],i[e>>2]=i[r>>2],i[e+4>>2]=k,i[r>>2]=t,i[r+4>>2]=n,k=n}i:{if(i[A+4>>2]<=(k|0)||(n=i[r>>2],k=i[r+4>>2],t=i[A+4>>2],i[r>>2]=i[A>>2],i[r+4>>2]=t,i[A>>2]=n,i[A+4>>2]=k,i[r+4>>2]<=i[e+4>>2])||(A=i[e>>2],n=i[e+4>>2],k=i[r+4>>2],i[e>>2]=i[r>>2],i[e+4>>2]=k,i[r>>2]=A,i[r+4>>2]=n,i[e+4>>2]<=i[f+4>>2]))break i;r=i[f>>2],A=i[f+4>>2],n=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=n,i[e>>2]=r,i[e+4>>2]=A}}function wv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e,A=i[r+12>>2],k=i[r+4>>2],n=i[r>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,k|(n|0)!=2|(A|0)!=8||(l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,l[e+44|0]=0,i[e+36>>2]=99,i[e+40>>2]=99,i[e+48>>2]=8,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,s[r+8|0]||(i[e+48>>2]=8,l[e+44|0]=0,i[e+36>>2]=1,i[e+40>>2]=10,r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,i[e>>2]=1,i[e+4>>2]=10,i[e+16>>2]=72992,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)),i[e+48>>2]=8,l[e+44|0]=1,i[e+36>>2]=1,i[e+40>>2]=11,r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,i[e>>2]=1,i[e+4>>2]=11,i[e+16>>2]=72992,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)),B=e- -64|0}function _v(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e,n=i[A+4>>2];i:{if(!(!s[k+12|0]|((n|0)==3|i[k+4>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(!(i[r>>2]!=1|(i[r+4>>2]&-4)!=12)&i[r+12>>2]>8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(k=Q[A+24>>1],!(k>>>0>14|!(1<<k&18689))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!s[A+26|0]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(n|0)!=1)break i;k=V8(e+36|0),i[k>>2]=0,i[k+4>>2]=1,l[k+8|0]=s[r+8|0],i[k+12>>2]=i[r+12>>2],i[k+20>>2]=i[A+20>>2],r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[k+23|0]=r,l[k+24|0]=r>>>8,l[k+25|0]=r>>>16,l[k+26|0]=r>>>24,r=i[k+12>>2],i[e+8>>2]=i[k+8>>2],i[e+12>>2]=r,r=i[k+4>>2],i[e>>2]=i[k>>2],i[e+4>>2]=r,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e+20>>2]=i[A+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function vv(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0;r=i[f+16>>2],k=i[r+18588>>2],t=i[k+124>>2],o=i[t+16892>>2],i[f+4>>2]=1,i[k+324>>2]=i[k+324>>2]-1,i[k+328>>2]=i[k+328>>2]+1,A=i[r+18588>>2],n=i[A+124>>2],e=i[n+16908>>2],u=i[r+4>>2],(e|0)>(u|0)&&(e=i[i[i[A+132>>2]+8460>>2]+(u<<2)>>2]),A=i[n+16892>>2],i[r>>2]=e,n=(e|0)/(A|0)|0,i[r+12>>2]=n,i[r+8>>2]=e-m(A,n),A=(e|0)/(o|0)|0;i:{r:{if(s[f+8|0]!=1||JA(r))break r;if((o|0)<=0)break i;for(e=0,A=m(m(A,o),76);t=(A+i[k+320>>2]|0)+m(e,76)|0,i[t>>2]<=0&&(i[t>>2]=1),e=e+1|0,(o|0)!=(e|0););break i}if(Y6(r+18548|0),mr(r,1,!(s[f+8|0]!=1||s[i[r+18592>>2]+20|0])),(A|0)!=i[r+12>>2]||(e=i[r+8>>2],n=i[t+16892>>2],(e|0)>=(n|0)))break i;for(o=m(m(A,o),76);i[t+16892>>2]<=(e|0)|(A|0)>=i[t+16900>>2]||(u=(o+i[k+320>>2]|0)+m(e,76)|0,i[u>>2]<=0&&(i[u>>2]=1)),e=e+1|0,(n|0)!=(e|0););}i[f+4>>2]=3,f=i[r+18600>>2],i[f+44>>2]=i[f+44>>2]+1,Ze(k)}function mv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(L0(x(k,20591,10),i[e+48>>2]),31338,1),n=A+148|0,W0(n,r),o=k,r=l[A+159|0],k=(r|0)<0,x(o,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,20580,10),i[e+52>>2]),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function Bv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(L0(x(k,20393,25),Q[e+48>>1]),31338,1),n=A+148|0,W0(n,r),o=k,r=l[A+159|0],k=(r|0)<0,x(o,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,20419,29),Q[e+50>>1]),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function Zv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;t=B-16|0,B=t,n=U(24),i[n+20>>2]=A,i[n+16>>2]=r,i[n+12>>2]=73144,i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=73408,A=i[e+8>>2],i[t+12>>2]=n,o=n+12|0,i[t+8>>2]=o,i[n+4>>2]=i[n+4>>2]+1,r=i[A+16>>2];i:{r:{if(r>>>0<k0[A+20>>2]){i[r+4>>2]=n,i[r>>2]=o,i[n+4>>2]=i[n+4>>2]+1,i[A+16>>2]=r+8,r=n;break r}if(u=Q2(A+12|0,t+8|0),r=i[t+12>>2],i[A+16>>2]=u,!r)break i}if(A=i[r+4>>2],i[r+4>>2]=A-1,A)break i;V[i[i[r>>2]+8>>2]](r),g(r)}i:{if(!k||(i[n+4>>2]=i[n+4>>2]+1,r=U(24),i[n+4>>2]=i[n+4>>2]+1,i[r+20>>2]=n,i[r+16>>2]=o,o=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=o,A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,i[k>>2]=r,e=i[n+4>>2],i[n+4>>2]=e-1,e))break i;V[i[i[n>>2]+8>>2]](n),g(n)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[n+4>>2],i[n+4>>2]=f-1,f||(V[i[i[n>>2]+8>>2]](n),g(n)),B=t+16|0}function pv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,n=A+12|0,i[n+i[t-12>>2]>>2]=i[13709],t=n+i[i[A+12>>2]-12>>2]|0,k=A+16|0,b0(t,k),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(k),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,k=A+148|0,R2(k,e,r),o=n,u=k,n=l[A+159|0],k=(n|0)<0,x(o,k?i[A+148>>2]:u,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=A+148|0,W0(n,r),o=n,n=l[A+159|0],k=(n|0)<0,x(A+12|0,k?i[A+148>>2]:o,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(A+12|0,20525,13),i[e+56>>2]),31338,1),k=A+148|0,W0(k,r),o=k,r=l[A+159|0],k=(r|0)<0,x(n,k?i[A+148>>2]:o,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(L0(x(n,19612,14),i[e+60>>2]),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function Wv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+12>>2],k=i[r+4>>2],r=i[r>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(r|0)!=1|(k|0)!=3|(A|0)!=8||(l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+48>>2]=8,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,l[e+44|0]=1,i[e+48>>2]=8,i[e+36>>2]=1,i[e+40>>2]=11,r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e>>2]=1,i[e+4>>2]=11,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e),l[e+44|0]=0,i[e+36>>2]=1,i[e+40>>2]=10,i[e+48>>2]=8,r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e>>2]=1,i[e+4>>2]=10,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e)),B=e- -64|0}function _6(f,e,r){var A=0,k=0,n=0,t=0,o=0;k=B-16|0,B=k,A=U(96),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71024,n=A+16|0,i[n+8>>2]=0,i[n+12>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+32>>2]=0,i[n>>2]=68500,i[A+52>>2]=0,i[A+56>>2]=0,i[A+68>>2]=0,l[A+57|0]=0,l[A+58|0]=0,l[A+59|0]=0,l[A+60|0]=0,l[A+61|0]=0,l[A+62|0]=0,l[A+63|0]=0,l[A+64|0]=0,i[n>>2]=69372,i[A+88>>2]=0,i[A+92>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A+32>>2]=1635088451,t=A+72|0;i:{if((t|0)==(r|0))break i;if(l[r+11|0]>=0){o=i[r+4>>2],i[t>>2]=i[r>>2],i[t+4>>2]=o,i[t+8>>2]=i[r+8>>2];break i}i4(t,i[r>>2],i[r+4>>2])}r=i[f+44>>2],i[k+12>>2]=A,i[k+8>>2]=n,i[A+4>>2]=i[A+4>>2]+1,n=N4(r,k+8|0),r=i[k+12>>2];i:{if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break i;V[i[i[r>>2]+8>>2]](r),g(r)}f=i[f+52>>2],l[k+4|0]=1,X[k+6>>1]=n+1,i[k>>2]=Q[k+4>>1]|Q[k+6>>1]<<16,c1(f,e,k),f=i[A+4>>2],i[A+4>>2]=f-1,f||(V[i[i[A>>2]+8>>2]](A),g(A)),B=k+16|0}function Xv(){var f=0,e=0,r=0,A=0;i:{r:{e:switch(f=i[19575],f|0){case 0:break i;case 1:break e;default:break r}if(f=i[19569],(f|0)!=78280)for(;;){e=i[i[f+16>>2]+12>>2],e&&V[e|0](),e=i[f+4>>2];e:{if(e){for(;;)if(f=e,e=i[f>>2],!e)break e}for(;e=f,f=i[f+8>>2],(e|0)!=i[f>>2];);}if((f|0)==78280)break}if(Ie(78276,i[19570]),i[19569]=78280,i[19570]=0,i[19571]=0,f=i[19572],(f|0)!=78292)for(;;){e=i[i[i[f+16>>2]>>2]+32>>2],e&&V[e|0](),e=i[f+4>>2];e:{if(e){for(;;)if(f=e,e=i[f>>2],!e)break e}for(;e=f,f=i[f+8>>2],(e|0)!=i[f>>2];);}if((f|0)==78292)break}if(Xe(78288,i[19573]),i[19572]=78292,i[19573]=0,i[19574]=0,l[78304]=1,e=i[19591],A=i[19590],(e|0)!=(A|0))for(;;){r=i[e-4>>2];e:{if(!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e-8|0,(A|0)==(e|0))break}i[19591]=A,f=i[19575]}i[19575]=f-1}}function N0(f,e,r){var A=0,k=0,n=0,t=0,o=0;t=B-16|0,B=t,k=i[f>>2],n=i[k-8>>2],i[t+12>>2]=n,i[t+4>>2]=f+n,i[t+8>>2]=i[k-4>>2],n=i[t+8>>2],k=Q1(n,r,0),o=i[t+4>>2];i:{if(k){f=B+-64|0,B=f,B=f- -64|0,A=i[t+12>>2]?0:o;break i}if(k=B+-64|0,B=k,(f|0)>=(o|0)&&(i[k+28>>2]=0,i[k+32>>2]=0,i[k+36>>2]=0,i[k+40>>2]=0,i[k+44>>2]=0,i[k+48>>2]=0,i[k+20>>2]=0,i[k+24>>2]=0,i[k+16>>2]=0,i[k+12>>2]=r,i[k+4>>2]=n,i[k+60>>2]=0,i[k+52>>2]=1,i[k+56>>2]=16777216,i[k+8>>2]=f,V[i[i[n>>2]+20>>2]](n,k+4|0,o,o,1,0),A=i[k+28>>2]?f:0),B=k- -64|0,A)break i;A=B+-64|0,B=A,i[A+16>>2]=0,i[A+12>>2]=e,i[A+8>>2]=f,i[A+4>>2]=r,f=0,B0(A+20|0,0,39),i[A+60>>2]=0,l[A+59|0]=1,V[i[i[n>>2]+24>>2]](n,A+4|0,o,1,0);r:{e:switch(i[A+40>>2]){case 0:f=i[A+44>>2]==1&&i[A+32>>2]==1&&i[A+36>>2]==1?i[A+24>>2]:0;break r;case 1:break e;default:break r}if(i[A+28>>2]!=1&&i[A+44>>2]|i[A+32>>2]!=1|i[A+36>>2]!=1)break r;f=i[A+20>>2]}B=A- -64|0,A=f}return B=t+16|0,A}function Gv(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,e=i[r>>2],A=i[e+28>>2],k=i[e+24>>2],e=U(136),i[e>>2]=72792,i[e+4>>2]=0,i[e+8>>2]=0,B0(e+20|0,0,104),i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,n=e- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,i[f+4>>2]=e,n=e+12|0,i[f>>2]=n,i[e+12>>2]=n,i[e+8>>2]=i[e+8>>2]+1,i[e+16>>2]=e,i[e+4>>2]==-1&&(V[i[i[e>>2]+8>>2]](e),g(e)),e=i[r>>2],n=i[e+32>>2],f=i[f>>2],i[f+36>>2]=i[e+36>>2],i[f+32>>2]=n,i[f+28>>2]=A,i[f+24>>2]=k,H2(i[r>>2],0)&&U8(f,r,0,0),H2(i[r>>2],1)&&U8(f,r,1,1),H2(i[r>>2],2)&&U8(f,r,2,2),H2(i[r>>2],3)&&U8(f,r,3,3),H2(i[r>>2],4)&&U8(f,r,4,4),H2(i[r>>2],5)&&U8(f,r,5,5)}function ar(f,e,r,A,k,n){var t=0,o=0,u=0;u=B-16|0,B=u,t=U(96),i[t+4>>2]=0,i[t+8>>2]=0,i[t>>2]=71144,o=t+16|0,i[o+8>>2]=0,i[o+12>>2]=0,i[o+16>>2]=0,i[o+20>>2]=0,i[o+24>>2]=0,i[o+28>>2]=0,i[o+32>>2]=0,i[o>>2]=68500,i[t+60>>2]=0,i[t+52>>2]=0,i[t+56>>2]=0,i[o>>2]=69552,i[t+88>>2]=0,i[t+92>>2]=1,i[t+80>>2]=0,i[t+84>>2]=1,i[t+72>>2]=0,i[t+76>>2]=1,i[t+64>>2]=0,i[t+68>>2]=1,i[t+32>>2]=1668047216,i[o+56>>2]=A,i[o+60>>2]=1,i[o+48>>2]=r,i[o+52>>2]=1,A=A-n|0,n=A-65537>>>0<4294836223,i[o+72>>2]=n&0|(n?(A|0)/2|0:A),i[o+76>>2]=n?1:2,r=r-k|0,A=r-65537>>>0<4294836223,i[o+64>>2]=A&0|(A?(r|0)/2|0:r),i[o+68>>2]=A?1:2,r=i[f+44>>2],i[u+12>>2]=t,i[u+8>>2]=o,i[t+4>>2]=i[t+4>>2]+1,A=N4(r,u+8|0),r=i[u+12>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}f=i[f+52>>2],l[u+4|0]=1,X[u+6>>1]=A+1,i[u>>2]=Q[u+4>>1]|Q[u+6>>1]<<16,c1(f,e,u),f=i[t+4>>2],i[t+4>>2]=f-1,f||(V[i[i[t>>2]+8>>2]](t),g(t)),B=u+16|0}function Cv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;if(A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=i[e+48>>2],e=i[e+52>>2],(k|0)!=(e|0))for(;n=A+148|0,W0(n,r),u=n,n=l[A+159|0],o=(n|0)<0,x(A+12|0,o?i[A+148>>2]:u,o?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),x(L0(x(L0(x(L0(x(A+12|0,19449,15),Q[k>>1]),21009,16),Q[k+2>>1]),20243,23),Q[k+4>>1]),31338,1),k=k+6|0,(e|0)!=(k|0););i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function Vv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;if(A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=i[e+56>>2],e=i[e+60>>2],(k|0)!=(e|0))for(;n=A+148|0,W0(n,r),u=n,n=l[A+159|0],o=(n|0)<0,x(A+12|0,o?i[A+148>>2]:u,o?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),x(L0(x(H0(x(L0(x(A+12|0,21276,10),Q[k>>1]),19823,18),s[k+2|0]),19805,17),Q[k+4>>1]),31338,1),k=k+6|0,(e|0)!=(k|0););i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function Iv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;k=B-16|0,B=k,A=i[e+12>>2],o=A,n=i[e+8>>2];i:{r:{if(!(A|n)){for(e=r;i[e+16>>2]=0,e=i[e+8>>2],!!e;);break r}if(t=i[e+32>>2],A=n-t|0,n=o-(n>>>0<t>>>0)|0,!n&A>>>0>=2147483648|n){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,101,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(!T4(r,A)||(n=i[r>>2],A=i[r+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),o=i[e+8>>2],t=i[e+32>>2],u=o-t|0,e=i[e+12>>2]-(o>>>0<t>>>0)|0,t=V[i[i[n>>2]+8>>2]](n)|0,o=t+u|0,e=w0+e|0,V[i[i[n>>2]+20>>2]](n,o,o>>>0<t>>>0?e+1|0:e)|0,!A)||(e=i[A+4>>2],i[A+4>>2]=e-1,e))break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function Qv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;if(A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=i[e+48>>2],e=i[e+52>>2],(k|0)!=(e|0))for(;n=A+148|0,W0(n,r),u=n,n=l[A+159|0],o=(n|0)<0,x(A+12|0,o?i[A+148>>2]:u,o?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),x(H0(x(H0(x(L0(x(A+12|0,19407,17),Q[k>>1]),21026,16),s[k+2|0]),20155,18),s[k+3|0]),31338,1),k=k+4|0,(e|0)!=(k|0););i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function yv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e,n=i[A+4>>2];i:{if(!(!s[k+12|0]|((n|0)==3|i[k+4>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(i[r>>2]==1&(i[r+4>>2]&-2)==10)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(n-1>>>0>=3){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(r=Q[A+24>>1],!(r>>>0>14|!(1<<r&18689))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,r=V8(e+36|0),i[r>>2]=0,i[r+4>>2]=i[A+4>>2],k=s[A+8|0],i[r+12>>2]=8,l[r+8|0]=k,i[r+20>>2]=i[A+20>>2],k=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[r+23|0]=k,l[r+24|0]=k>>>8,l[r+25|0]=k>>>16,l[r+26|0]=k>>>24,k=i[r+12>>2],i[e+8>>2]=i[r+8>>2],i[e+12>>2]=k,k=i[r+4>>2],i[e>>2]=i[r>>2],i[e+4>>2]=k,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e+20>>2]=i[A+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Fv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=3){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+4>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]>=9){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!Q[r+24>>1]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=i[A+4>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)!=1)break i;A=V8(e+36|0),i[A>>2]=0,i[A+4>>2]=1,l[A+8|0]=s[r+8|0],i[A+12>>2]=i[r+12>>2],i[A+20>>2]=i[r+20>>2],k=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[A+23|0]=k,l[A+24|0]=k>>>8,l[A+25|0]=k>>>16,l[A+26|0]=k>>>24,k=i[A+12>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=k,k=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=k,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,i[e+20>>2]=i[r+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Ev(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=3){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+4>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]<=8){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!Q[r+24>>1]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=i[A+4>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)!=1)break i;A=V8(e+36|0),i[A>>2]=0,i[A+4>>2]=1,l[A+8|0]=s[r+8|0],i[A+12>>2]=i[r+12>>2],i[A+20>>2]=i[r+20>>2],k=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[A+23|0]=k,l[A+24|0]=k>>>8,l[A+25|0]=k>>>16,l[A+26|0]=k>>>24,k=i[A+12>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=k,k=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=k,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,i[e+20>>2]=i[r+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Yv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=3){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+4>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]>=9){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!Q[r+24>>1]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=i[A+4>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)!=2)break i;A=V8(e+36|0),i[A>>2]=0,i[A+4>>2]=2,l[A+8|0]=s[r+8|0],i[A+12>>2]=i[r+12>>2],i[A+20>>2]=i[r+20>>2],k=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[A+23|0]=k,l[A+24|0]=k>>>8,l[A+25|0]=k>>>16,l[A+26|0]=k>>>24,k=i[A+12>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=k,k=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=k,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,i[e+20>>2]=i[r+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Jv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=3){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+4>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]<=8){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!Q[r+24>>1]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=i[A+4>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)!=2)break i;A=V8(e+36|0),i[A>>2]=0,i[A+4>>2]=2,l[A+8|0]=s[r+8|0],i[A+12>>2]=i[r+12>>2],i[A+20>>2]=i[r+20>>2],k=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[A+23|0]=k,l[A+24|0]=k>>>8,l[A+25|0]=k>>>16,l[A+26|0]=k>>>24,k=i[A+12>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=k,k=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=k,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,i[e+20>>2]=i[r+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function gv(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;Z=n+7|0,p=n+4|0;i:{if((p|0)>=-2){if((k|0)<=0)break i;for(C=t+6|0,I=k&2147483644,W=k&3,v=-3,y=k>>>0<4;;){if(h=(v<<1)+C|0,u=(m(A,v)<<1)+r|0,w=0,!y)for(;X[h>>1]=Q[u>>1],_=h,h=Z<<1,_=_+h|0,X[_>>1]=Q[u+2>>1],_=h+_|0,X[_>>1]=Q[u+4>>1],_=h+_|0,X[_>>1]=Q[u+6>>1],h=h+_|0,u=u+8|0,w=w+4|0,(I|0)!=(w|0););if(w=0,W)for(;X[h>>1]=Q[u>>1],u=u+2|0,h=(Z<<1)+h|0,w=w+1|0,(W|0)!=(w|0););if(v=v+1|0,(p|0)==(v|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(A=o-8|0,r=0,e=e<<1;;){for(h=(r<<1)+f|0,u=(m(r,Z)<<1)+t|0,w=0;X[h>>1]=(((((X[u+2>>1]<<2)-X[u>>1]|0)+m(X[u+8>>1]+X[u+6>>1]|0,40)|0)+(X[u+12>>1]<<2)|0)-X[u+14>>1]|0)+m(X[u+10>>1]+X[u+4>>1]|0,-11)>>A,u=u+2|0,h=e+h|0,w=w+1|0,(w|0)!=(n|0););if(r=r+1|0,(k|0)==(r|0))break}}}function Nv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0;t=B-32|0,B=t,k=U(24),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=74112,n=k+12|0,i[n+8>>2]=A,i[k+16>>2]=r,i[k+12>>2]=68424,u=i[e>>2],i[t+8>>2]=k,i[t+4>>2]=n,i[k+4>>2]=i[k+4>>2]+1,A=t+12|0,h=t+4|0,r=B-32|0,B=r,o=U(132),i[o+4>>2]=0,i[o+8>>2]=0,i[o>>2]=72576,w=u,_=Ge(o+12|0),i[w+48>>2]=_,n=i[u+52>>2],i[u+52>>2]=o;i:{if(!n||(o=i[n+4>>2],i[n+4>>2]=o-1,o))break i;V[i[i[n>>2]+8>>2]](n),g(n)}_A(r+8|0,i[u+48>>2],h);i:{if(i[r+8>>2]){n=i[r+12>>2],i[A>>2]=i[r+8>>2],i[A+4>>2]=n,n=i[r+20>>2],i[A+8>>2]=i[r+16>>2],i[A+12>>2]=n,i[A+16>>2]=i[r+24>>2];break i}if(hA(A,u),l[r+27|0]>=0)break i;G(i[r+16>>2])}B=r+32|0,r=i[t+8>>2];i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}P0(f,t+12|0,i[e>>2]),l[t+31|0]<0&&G(i[t+20>>2]),f=i[k+4>>2],i[k+4>>2]=f-1,f||(V[i[i[k>>2]+8>>2]](k),g(k)),B=t+32|0}function Rv(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;Z=n+6|0,p=n+3|0;i:{if((p|0)>=-2){if((k|0)<=0)break i;for(C=t+6|0,I=k&2147483644,W=k&3,v=-3,y=k>>>0<4;;){if(h=(v<<1)+C|0,u=(m(A,v)<<1)+r|0,w=0,!y)for(;X[h>>1]=Q[u>>1],_=h,h=Z<<1,_=_+h|0,X[_>>1]=Q[u+2>>1],_=h+_|0,X[_>>1]=Q[u+4>>1],_=h+_|0,X[_>>1]=Q[u+6>>1],h=h+_|0,u=u+8|0,w=w+4|0,(I|0)!=(w|0););if(w=0,W)for(;X[h>>1]=Q[u>>1],u=u+2|0,h=(Z<<1)+h|0,w=w+1|0,(W|0)!=(w|0););if(v=v+1|0,(p|0)==(v|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(A=o-8|0,r=0,e=e<<1;;){for(h=(r<<1)+f|0,u=(m(r,Z)<<1)+t|0,w=0;X[h>>1]=X[u+12>>1]+((((((X[u+2>>1]<<2)-X[u>>1]|0)+m(X[u+4>>1],-10)|0)+m(X[u+6>>1],58)|0)+m(X[u+8>>1],17)|0)+m(X[u+10>>1],-5)|0)>>A,u=u+2|0,h=e+h|0,w=w+1|0,(w|0)!=(n|0););if(r=r+1|0,(k|0)==(r|0))break}}}function Dv(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;Z=n+6|0,p=n+4|0;i:{if((p|0)>=-1){if((k|0)<=0)break i;for(C=t+4|0,I=k&2147483644,W=k&3,v=-2,y=k>>>0<4;;){if(h=(v<<1)+C|0,u=(m(A,v)<<1)+r|0,w=0,!y)for(;X[h>>1]=Q[u>>1],_=h,h=Z<<1,_=_+h|0,X[_>>1]=Q[u+2>>1],_=h+_|0,X[_>>1]=Q[u+4>>1],_=h+_|0,X[_>>1]=Q[u+6>>1],h=h+_|0,u=u+8|0,w=w+4|0,(I|0)!=(w|0););if(w=0,W)for(;X[h>>1]=Q[u>>1],u=u+2|0,h=(Z<<1)+h|0,w=w+1|0,(W|0)!=(w|0););if(v=v+1|0,(p|0)==(v|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(A=o-8|0,r=0,e=e<<1;;){for(h=(r<<1)+f|0,u=(m(r,Z)<<1)+t|0,w=0;X[h>>1]=(((((X[u>>1]+m(X[u+2>>1],-5)|0)+m(X[u+4>>1],17)|0)+m(X[u+6>>1],58)|0)+m(X[u+8>>1],-10)|0)+(X[u+10>>1]<<2)|0)-X[u+12>>1]>>A,u=u+2|0,h=e+h|0,w=w+1|0,(w|0)!=(n|0););if(r=r+1|0,(k|0)==(r|0))break}}}function Yn(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;f=r;i:if((A-f|0)<3)break i;for(;;){i:{if(k>>>0<=o>>>0|f>>>0>=A>>>0)break i;e=l[f|0],t=e&255,n=1;r:{if((e|0)>=0)break r;if(e>>>0<4294967234)break i;if(e>>>0<=4294967263){if((s[f+1|0]&192)!=128|(A-f|0)<2)break i;n=2;break r}if(e>>>0<=4294967279){if((A-f|0)<3)break i;n=s[f+2|0],e=s[f+1|0];e:{A:{if((t|0)!=237){if((t|0)!=224)break A;if((e&224)==160)break e;break i}if((e&224)!=128)break i;break e}if((e&192)!=128)break i}if((n&192)!=128)break i;n=3;break r}if((A-f|0)<4|e>>>0>4294967284)break i;n=s[f+3|0],u=s[f+2|0],e=s[f+1|0];e:{A:switch(t-240|0){case 0:if((e+112&255)>>>0>=48)break i;break e;case 4:if((e&240)!=128)break i;break e;default:break A}if((e&192)!=128)break i}if((u&192)!=128|(n&192)!=128|(n&63|(u<<6&4032|(t<<18&1835008|(e&63)<<12)))>>>0>1114111)break i;n=4}o=o+1|0,f=f+n|0;continue}break}return f-r|0}function Jn(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;f=r;i:if((A-f|0)<3)break i;for(;;){i:{if(k>>>0<=t>>>0|f>>>0>=A>>>0)break i;e=s[f|0],n=f+1|0;r:{if(e<<24>>24>=0)break r;if(e>>>0<194)break i;if(e>>>0<=223){if((s[f+1|0]&192)!=128|(A-f|0)<2)break i;n=f+2|0;break r}if(e>>>0<=239){if((A-f|0)<3)break i;o=s[f+2|0],n=s[f+1|0];e:{A:{if((e|0)!=237){if((e|0)!=224)break A;if((n&224)==160)break e;break i}if((n&224)!=128)break i;break e}if((n&192)!=128)break i}if((o&192)!=128)break i;n=f+3|0;break r}if((A-f|0)<4|e>>>0>244|k-t>>>0<2)break i;o=s[f+3|0],u=s[f+2|0],n=s[f+1|0];e:{A:switch(e-240|0){case 0:if((n+112&255)>>>0>=48)break i;break e;case 4:if((n&240)!=128)break i;break e;default:break A}if((n&192)!=128)break i}if((u&192)!=128|(o&192)!=128|(o&63|(u<<6&4032|(e<<18&1835008|(n&63)<<12)))>>>0>1114111)break i;t=t+1|0,n=f+4|0}f=n,t=t+1|0;continue}break}return f-r|0}function gn(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0;t=B-32|0,B=t,n=A&65535,o=A>>>16&32767;i:{if(o-16257>>>0<=253){k=(n&33554431)<<7|r>>>25,n=0,r=r&33554431;r:{if(!(!n&(r|0)==16777216?!(f|e):!n&r>>>0<16777216)){k=k+1|0;break r}if(r^16777216|f|(e|n))break r;k=(k&1)+k|0}f=k>>>0>8388607,k=f?0:k,f=o+(f?-16255:-16256)|0;break i}if(!(!(f|r|(e|n))|((o|0)!=32767|(k|0)!=0))){k=(n&33554431)<<7|r>>>25|4194304,f=255;break i}if(o>>>0>16510){f=255;break i}if(k=!(k|o),h=k?16256:16257,u=h-o|0,(u|0)>112){k=0,f=0;break i}n=k?n:n|65536,L1(t+16|0,f,e,r,n,128-u|0),ti(t,f,e,r,n,u),f=i[t+8>>2],k=(i[t+12>>2]&33554431)<<7|f>>>25,r=i[t>>2]|(o|0)!=(h|0)&(i[t+16>>2]|i[t+24>>2]|(i[t+20>>2]|i[t+28>>2]))!=0,n=i[t+4>>2],e=0,f=f&33554431;r:{if(!(!e&(f|0)==16777216?!(r|n):!e&f>>>0<16777216)){k=k+1|0;break r}if(f^16777216|r|(e|n))break r;k=(k&1)+k|0}f=k>>>0>8388607,k=f?k^8388608:k}return B=t+32|0,N2(2,A&-2147483648|f<<23|k),l8()}function Nn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{r:{if(A=i[f+4>>2],o=i[f>>2],n=A-o>>4,t=n+1|0,t>>>0<268435456){if(k=i[f+8>>2]-o|0,r=k>>3,u=k>>>0>=2147483632?268435455:r>>>0>t>>>0?r:t,u){if(u>>>0>=268435456)break r;h=U(u<<4)}if(k=i[e>>2],r=(n<<4)+h|0,i[r+12>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=k,k=i[e+8>>2],n=i[e+4>>2],(k|0)!=(n|0)){if(t=k-n|0,(t|0)<0)break i;k=U(t),i[r+4>>2]=k,e=k+t|0,i[r+12>>2]=e,l0(k,n,t),i[r+8>>2]=e}t=(u<<4)+h|0,u=r+16|0;e:{if((A|0)==(o|0)){h=r;break e}for(;e=A-16|0,n=i[e>>2],k=r-4|0,i[k>>2]=0,h=r-16|0,i[h>>2]=n,n=A-12|0,i[r-12>>2]=i[n>>2],i[r-8>>2]=i[A-8>>2],r=A-4|0,i[k>>2]=i[r>>2],i[r>>2]=0,i[n>>2]=0,i[n+4>>2]=0,r=h,A=e,(o|0)!=(A|0););A=i[f+4>>2],o=i[f>>2]}if(i[f+8>>2]=t,i[f+4>>2]=u,i[f>>2]=h,(A|0)!=(o|0))for(;f=i[A-12>>2],f&&(i[A-8>>2]=f,G(f)),A=A-16|0,(o|0)!=(A|0););return o&&G(o),u}y0(),P()}_2(),P()}y0(),P()}function Uv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(A+12|0,20213,18);i:{r:switch(i[e+48>>2]+1|0){case 1:x(A+12|0,22079,9);break i;case 2:x(A+12|0,22067,11);break i;case 0:break r;default:break i}x(A+12|0,22273,8)}i2(f,n),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function J0(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0;n=1;i:{r:{e:{A:switch(t=i[f+36>>2],t|0){case 0:case 1:case 2:case 3:case 99:break i;case 11:case 13:case 15:break e;case 10:case 12:case 14:break A;default:break r}n=3;break i}n=4;break i}n=0}o=A+1|0,h=o>>>0<64?64:o&-2,o=r+1|0,w=o>>>0<64?64:o&-2,k=(k|0)==24&&(t|0)==10?8:k,_=(t|0)==11&&(k|0)==32?8:k,u=m(m(n,w),(_&255)+7>>>3|0)+15&-16,o=U(m(h,u)|15),n=i[f+64>>2];i:{r:{if(!n){t=f- -64|0,k=t;break r}for(;;){if(k=n,t=i[n+16>>2],(t|0)>(e|0)){if(t=n,n=i[n>>2],n)continue;break r}if((e|0)<=(t|0))break i;if(n=i[k+4>>2],!n)break}t=k+4|0}n=U(52),i[n+48>>2]=u,i[n+44>>2]=o,u=o,o=o&15,i[n+40>>2]=u+(o?16-o|0:0),i[n+36>>2]=h,i[n+32>>2]=w,i[n+28>>2]=A,i[n+24>>2]=r,l[n+20|0]=_,i[n+16>>2]=e,i[n+8>>2]=k,i[n>>2]=0,i[n+4>>2]=0,i[t>>2]=n,e=i[i[f+60>>2]>>2],e&&(i[f+60>>2]=e,n=i[t>>2]),D1(i[f+64>>2],n),i[f+68>>2]=i[f+68>>2]+1}return 1}function Sr(f,e,r){var A=0,k=0,n=0,t=0,o=0;i:{r:{if((e|0)==8){e=Z2(r);break r}if(A=28,e&3|e>>>0<4||(n=e>>>2|0,n-1&n))break i;if(-64-e>>>0<r>>>0)return 48;n=16,e=e>>>0<=16?16:e,A=e>>>0<=16?16:e;e:{if(!(A-1&A)){e=A;break e}for(;e=n,n=e<<1,e>>>0<A>>>0;);}e:{if(-64-e>>>0<=r>>>0){i[23944]=48,r=0;break e}if(n=r>>>0<11?16:r+11&-8,k=Z2((n+e|0)+12|0),r=0,!k)break e;r=k-8|0;A:{if(!(k&e-1)){e=r;break A}if(t=k-4|0,o=i[t>>2],A=e,e=((e+k|0)-1&0-e)-8|0,e=(e-r>>>0<=15?A:0)+e|0,A=e-r|0,k=(o&-8)-A|0,!(o&3)){r=i[r>>2],i[e+4>>2]=k,i[e>>2]=r+A;break A}i[e+4>>2]=k|i[e+4>>2]&1|2,k=e+k|0,i[k+4>>2]=i[k+4>>2]|1,i[t>>2]=A|i[t>>2]&1|2,k=r+A|0,i[k+4>>2]=i[k+4>>2]|1,Xr(r,A)}r=i[e+4>>2];A:{if(!(r&3)||(A=r&-8,A>>>0<=n+16>>>0))break A;i[e+4>>2]=n|r&1|2,r=e+n|0,n=A-n|0,i[r+4>>2]=n|3,A=e+A|0,i[A+4>>2]=i[A+4>>2]|1,Xr(r,n)}r=e+8|0}e=r}if(!e)return 48;i[f>>2]=e,A=0}return A}function Mv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(!(i[r>>2]==1&(i[r+4>>2]&-2)==10)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(Q[A+24>>1]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(r=s[A+26|0],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(r|0)!=1)break i;l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+48>>2]=8,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=0,i[e+40>>2]=3,l[e+44|0]=s[A+8|0],i[e+48>>2]=8,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+59|0]=r,l[e+60|0]=r>>>8,l[e+61|0]=r>>>16,l[e+62|0]=r>>>24,i[e+56>>2]=i[A+20>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,i[e>>2]=0,i[e+4>>2]=3,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[A+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function xv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;n=B-112|0,B=n;i:{if(!(k&&A)){e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];break i}r:{if(t=i[e+16>>2],!t||(h=N0(t,72776,73168),!h))break r;if(t=i[e+20>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),o=i[e>>2],i[n+56>>2]=i[o+48>>2],o=i[o+52>>2],i[n+60>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),e=i[e+8>>2],o=i[e+8>>2],e=i[e+4>>2],u=i[n+60>>2],i[n+16>>2]=i[n+56>>2],i[n+20>>2]=u,u=n- -64|0,pr(u,n+16|0,r,e,o),i0[n+24>>3]=i[h+4>>2],i0[n+32>>3]=i[h+8>>2],e=i[n+36>>2],i[n+8>>2]=i[n+32>>2],i[n+12>>2]=e,e=i[n+28>>2],i[n>>2]=i[n+24>>2],i[n+4>>2]=e,me(n+40|0,u,n),i0[A>>3]=i0[n+40>>3],i0[k>>3]=i0[n+48>>3],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,!t||(f=i[t+4>>2],i[t+4>>2]=f-1,f))break i;V[i[i[t>>2]+8>>2]](t),g(t);break i}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}B=n+112|0}function zv(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;v=n+7|0,Z=n+4|0;i:{if((Z|0)>=-2){if((k|0)<=0)break i;for(W=t+6|0,C=k&2147483644,p=k&3,_=-3,I=k>>>0<4;;){if(u=(_<<1)+W|0,o=m(A,_)+r|0,h=0,!I)for(;X[u>>1]=s[o|0],w=u,u=v<<1,w=w+u|0,X[w>>1]=s[o+1|0],w=u+w|0,X[w>>1]=s[o+2|0],w=u+w|0,X[w>>1]=s[o+3|0],u=u+w|0,o=o+4|0,h=h+4|0,(C|0)!=(h|0););if(h=0,p)for(;X[u>>1]=s[o|0],o=o+1|0,u=(v<<1)+u|0,h=h+1|0,(p|0)!=(h|0););if(_=_+1|0,(Z|0)==(_|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(r=0,e=e<<1;;){for(u=(r<<1)+f|0,o=(m(r,v)<<1)+t|0,h=0;X[u>>1]=(((((Q[o+2>>1]<<2)-Q[o>>1]|0)+m(Q[o+8>>1]+Q[o+6>>1]|0,40)|0)+(Q[o+12>>1]<<2)|0)-Q[o+14>>1]|0)+m(Q[o+10>>1]+Q[o+4>>1]|0,-11),o=o+2|0,u=e+u|0,h=h+1|0,(h|0)!=(n|0););if(r=r+1|0,(k|0)==(r|0))break}}}function Hv(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;v=n+6|0,Z=n+3|0;i:{if((Z|0)>=-2){if((k|0)<=0)break i;for(W=t+6|0,C=k&2147483644,p=k&3,_=-3,I=k>>>0<4;;){if(u=(_<<1)+W|0,o=m(A,_)+r|0,h=0,!I)for(;X[u>>1]=s[o|0],w=u,u=v<<1,w=w+u|0,X[w>>1]=s[o+1|0],w=u+w|0,X[w>>1]=s[o+2|0],w=u+w|0,X[w>>1]=s[o+3|0],u=u+w|0,o=o+4|0,h=h+4|0,(C|0)!=(h|0););if(h=0,p)for(;X[u>>1]=s[o|0],o=o+1|0,u=(v<<1)+u|0,h=h+1|0,(p|0)!=(h|0););if(_=_+1|0,(Z|0)==(_|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(r=0,e=e<<1;;){for(u=(r<<1)+f|0,o=(m(r,v)<<1)+t|0,h=0;X[u>>1]=Q[o+12>>1]+((((((Q[o+2>>1]<<2)-Q[o>>1]|0)+m(Q[o+4>>1],-10)|0)+m(Q[o+6>>1],58)|0)+m(Q[o+8>>1],17)|0)+m(Q[o+10>>1],-5)|0),o=o+2|0,u=e+u|0,h=h+1|0,(h|0)!=(n|0););if(r=r+1|0,(k|0)==(r|0))break}}}function Tv(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;v=n+6|0,Z=n+4|0;i:{if((Z|0)>=-1){if((k|0)<=0)break i;for(W=t+4|0,C=k&2147483644,p=k&3,_=-2,I=k>>>0<4;;){if(u=(_<<1)+W|0,o=m(A,_)+r|0,h=0,!I)for(;X[u>>1]=s[o|0],w=u,u=v<<1,w=w+u|0,X[w>>1]=s[o+1|0],w=u+w|0,X[w>>1]=s[o+2|0],w=u+w|0,X[w>>1]=s[o+3|0],u=u+w|0,o=o+4|0,h=h+4|0,(C|0)!=(h|0););if(h=0,p)for(;X[u>>1]=s[o|0],o=o+1|0,u=(v<<1)+u|0,h=h+1|0,(p|0)!=(h|0););if(_=_+1|0,(Z|0)==(_|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(r=0,e=e<<1;;){for(u=(r<<1)+f|0,o=(m(r,v)<<1)+t|0,h=0;X[u>>1]=(((((Q[o>>1]+m(Q[o+2>>1],-5)|0)+m(Q[o+4>>1],17)|0)+m(Q[o+6>>1],58)|0)+m(Q[o+8>>1],-10)|0)+(Q[o+10>>1]<<2)|0)-Q[o+12>>1],o=o+2|0,u=e+u|0,h=h+1|0,(h|0)!=(n|0););if(r=r+1|0,(k|0)==(r|0))break}}}function Rn(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0;if(n=B-48|0,B=n,t=f+4|0,i[t>>2]=0,i[t+4>>2]=0,i[t+16>>2]=0,i[t+8>>2]=0,i[t+12>>2]=0,D8(n+40|0,e,18983),o=i[n+40>>2],t=o,l[t+124|0]=1,i[t+52>>2]=i[t+52>>2]&-2|1,t=G2(r),t>>>0<2147483640){i:{r:{if(t>>>0>=11){h=(t|7)+1|0,u=U(h),i[n+36>>2]=h|-2147483648,i[n+28>>2]=u,i[n+32>>2]=t;break r}if(l[n+39|0]=t,u=n+28|0,!t)break i}l0(u,r,t)}l[t+u|0]=0,r=o+112|0;i:{if((r|0)==(n+28|0))break i;if(t=l[n+39|0],l[o+123|0]>=0){if((t|0)>=0){t=i[n+32>>2],i[r>>2]=i[n+28>>2],i[r+4>>2]=t,i[r+8>>2]=i[n+36>>2];break i}i4(r,i[n+28>>2],i[n+32>>2]);break i}o=r,r=(t|0)<0,_4(o,r?i[n+28>>2]:n+28|0,r?i[n+32>>2]:t)}l[n+39|0]<0&&G(i[n+28>>2]),i[f>>2]=i[i[n+40>>2]+56>>2],MA(n+8|0,e,n+40|0,A,k,0),l[n+27|0]<0&&G(i[n+16>>2]),f=i[n+44>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=n+48|0;return}c2(),P()}function Dn(f,e,r,A,k,n){var t=0,o=0,u=0,h=0,w=0;if(t=B-48|0,B=t,o=f+4|0,i[o>>2]=0,i[o+4>>2]=0,i[o+16>>2]=0,i[o+8>>2]=0,i[o+12>>2]=0,D8(t+40|0,e,9980),u=i[t+40>>2],o=u,l[o+124|0]=1,i[o+52>>2]=i[o+52>>2]&-2|1,o=G2(r),o>>>0<2147483640){i:{r:{if(o>>>0>=11){w=(o|7)+1|0,h=U(w),i[t+36>>2]=w|-2147483648,i[t+28>>2]=h,i[t+32>>2]=o;break r}if(l[t+39|0]=o,h=t+28|0,!o)break i}l0(h,r,o)}l[o+h|0]=0,r=u+88|0;i:{if((r|0)==(t+28|0))break i;if(o=l[t+39|0],l[u+99|0]>=0){if((o|0)>=0){o=i[t+32>>2],i[r>>2]=i[t+28>>2],i[r+4>>2]=o,i[r+8>>2]=i[t+36>>2];break i}i4(r,i[t+28>>2],i[t+32>>2]);break i}u=r,r=(o|0)<0,_4(u,r?i[t+28>>2]:t+28|0,r?i[t+32>>2]:o)}l[t+39|0]<0&&G(i[t+28>>2]),i[f>>2]=i[i[t+40>>2]+56>>2],MA(t+8|0,e,t+40|0,k,n,A),l[t+27|0]<0&&G(i[t+16>>2]),f=i[t+44>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=t+48|0;return}c2(),P()}function Un(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(A=i[f+8>>2],r=i[f+4>>2],A-r>>3>>>0>=e>>>0){if(e)for(e=(e<<3)+r|0;i[r>>2]=0,i[r+4>>2]=0,r=r+8|0,(e|0)!=(r|0););i[f+4>>2]=r;return}i:{if(k=i[f>>2],n=r-k>>3,t=n+e|0,t>>>0<536870912){if(A=A-k|0,k=A>>2,t=A>>>0>=2147483640?536870911:t>>>0<k>>>0?k:t,t){if(t>>>0>=536870912)break i;k=U(t<<3)}else k=0;for(A=k+(n<<3)|0,n=A+(e<<3)|0,e=A;i[e>>2]=0,i[e+4>>2]=0,e=e+8|0,(n|0)!=(e|0););if(r=i[f+4>>2],o=i[f>>2],(r|0)!=(o|0)){for(;A=A-8|0,r=r-8|0,u=B-16|0,B=u,s[79117]==1&&(i[u+4>>2]=r,i[u>>2]=A,f8(22036,u)),n=i[r+4>>2],n&&(i[n>>2]=i[n>>2]+1),i[A+4>>2]=n,i[A>>2]=i[r>>2],B=u+16|0,(r|0)!=(o|0););r=i[f+4>>2],o=i[f>>2]}if(i[f+4>>2]=e,i[f>>2]=A,i[f+8>>2]=(t<<3)+k,(r|0)!=(o|0))for(;r=C8(r-8|0),(o|0)!=(r|0););o&&G(o);return}y0(),P()}_2(),P()}function av(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;if(!(!e|!r)){A=Q[e>>1],Z0[r>>2]=(A+28535&65535)>>>0<28540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+6>>1],Z0[r+12>>2]=(A+23535&65535)>>>0<23540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+2>>1],Z0[r+4>>2]=(A+28535&65535)>>>0<28540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+8>>1],Z0[r+16>>2]=(A+23535&65535)>>>0<23540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+4>>1],Z0[r+8>>2]=(A+28535&65535)>>>0<28540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+10>>1],Z0[r+20>>2]=(A+23535&65535)>>>0<23540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+12>>1],Z0[r+24>>2]=(A+28535&65535)>>>0<28540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+14>>1],Z0[r+28>>2]=(A+23535&65535)>>>0<23540?Y(0):Y(+(A>>>0)*2e-5),A=i[e+16>>2],i0[r+32>>3]=A-100000001>>>0<4195017295?0:+(A>>>0)*1e-4,e=i[e+20>>2],i0[r+40>>3]=e-50001>>>0<4294917296?0:+(e>>>0)*1e-4,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;return}e=i[18414],i[f>>2]=i[18413],i[f+4>>2]=e,i[f+8>>2]=i[18415]}function Sv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+4>>2];i:{if(!(!s[k+12|0]|((A|0)==3|i[k+8>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(!(i[r>>2]|(A|0)!=1)&i[r+12>>2]==8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],!(A>>>0>14|!(1<<A&18689))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(r=s[r+26|0],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(r|0)!=1)break i;l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+48>>2]=8,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,l[e+44|0]=1,i[e+48>>2]=8,i[e+36>>2]=1,i[e+40>>2]=11,r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e>>2]=1,i[e+4>>2]=11,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Ov(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e;i:{if(!(!(!s[r+8|0]|k0[r+4>>2]>3)&s[A+8|0]!=1)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,i[e+44>>2]=8,l[e+40|0]=0,l[e+58|0]=1,X[e+56>>1]=2,i[e+52>>2]=131074,i[e+32>>2]=99,i[e+36>>2]=99,i[e+48>>2]=72992,l[e+58|0]=1,X[e+56>>1]=6,i[e+52>>2]=851969,A=i[r+12>>2],i[e+40>>2]=i[r+8>>2],i[e+44>>2]=A,n=i[r+4>>2],A=i[r>>2],i[e+32>>2]=A,i[e+36>>2]=n,k=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+55|0]=k,l[e+56|0]=k>>>8,l[e+57|0]=k>>>16,l[e+58|0]=k>>>24,k=i[r+20>>2],l[e+40|0]=0,i[e+52>>2]=k,k=i[e+44>>2],i[e+8>>2]=i[e+40>>2],i[e+12>>2]=k,i[e>>2]=A,i[e+4>>2]=n,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=1,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function v6(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{r:{if(n=i[f+4>>2],t=i[f>>2],o=(n-t|0)/12|0,r=o+1|0,r>>>0<357913942){if(A=(i[f+8>>2]-t|0)/12|0,k=A<<1,A=A>>>0>=178956970?357913941:r>>>0<k>>>0?k:r,A){if(A>>>0>=357913942)break r;u=U(m(A,12))}if(r=m(o,12)+u|0,i[r+8>>2]=0,i[r>>2]=0,i[r+4>>2]=0,k=i[e+4>>2],o=i[e>>2],(k|0)!=(o|0)){if(e=k-o|0,(e|0)<0)break i;k=U(e),i[r>>2]=k,h=e+k|0,i[r+8>>2]=h,l0(k,o,e),i[r+4>>2]=h}o=m(A,12)+u|0,u=r+12|0;e:{if((n|0)==(t|0)){e=r;break e}for(;k=r-4|0,i[k>>2]=0,e=r-12|0,A=n-12|0,i[e>>2]=i[A>>2],i[r-8>>2]=i[n-8>>2],r=n-4|0,i[k>>2]=i[r>>2],i[r>>2]=0,i[A>>2]=0,i[A+4>>2]=0,r=e,n=A,(t|0)!=(A|0););n=i[f+4>>2],t=i[f>>2]}if(i[f+8>>2]=o,i[f+4>>2]=u,i[f>>2]=e,(n|0)!=(t|0))for(;f=n-12|0,e=i[f>>2],e&&(i[n-8>>2]=e,G(e)),n=f,(t|0)!=(f|0););return t&&G(t),u}y0(),P()}_2(),P()}y0(),P()}function jv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e;i:{if(!(i[r+12>>2]!=8&k0[r+4>>2]<=3)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=i[A+12>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)!=8)break i;l[e+40|0]=0,l[e+58|0]=1,X[e+56>>1]=2,i[e+52>>2]=131074,i[e+44>>2]=8,i[e+32>>2]=99,i[e+36>>2]=99,i[e+48>>2]=72992,l[e+58|0]=1,X[e+56>>1]=6,i[e+52>>2]=851969,i[e+40>>2]=i[r+8>>2],n=i[r+4>>2],A=i[r>>2],i[e+32>>2]=A,i[e+36>>2]=n,k=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+55|0]=k,l[e+56|0]=k>>>8,l[e+57|0]=k>>>16,l[e+58|0]=k>>>24,i[e+52>>2]=i[r+20>>2],i[e+44>>2]=8,k=i[e+44>>2],i[e+8>>2]=i[e+40>>2],i[e+12>>2]=k,i[e>>2]=A,i[e+4>>2]=n,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function Pv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A,f=i[f>>2],n=i[f+48>>2],k=i[f+52>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[A+28>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,I1(A,n,e,A+20|0),n=-1;i:{if(i[A>>2]||(e=r-1|0,f=i[A+20>>2],e>>>0>=i[A+24>>2]-f>>3>>>0)||(f=f+(e<<3)|0,e=i[f>>2],!e)||(e=N0(e,68572,69532),!e))break i;if(f=i[f+4>>2],!f){n=i[e+48>>2];break i}if(r=i[f+4>>2],t=r+1|0,i[f+4>>2]=t,n=i[e+48>>2],i[f+4>>2]=r,t)break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[A+19|0]<0&&G(i[A+8>>2]),r=i[A+20>>2],r){if(f=i[A+24>>2],e=r,(f|0)!=(e|0)){for(;;){e=i[f-4>>2];i:{if(!e||(t=i[e+4>>2],i[e+4>>2]=t-1,t))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(r|0)==(f|0))break}e=i[A+20>>2]}i[A+24>>2]=r,G(e)}i:{if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}return B=A+32|0,n|0}function Lv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A,f=i[f>>2],n=i[f+48>>2],k=i[f+52>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[A+28>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,I1(A,n,e,A+20|0),n=-1;i:{if(i[A>>2]||(e=r-1|0,f=i[A+20>>2],e>>>0>=i[A+24>>2]-f>>3>>>0)||(f=f+(e<<3)|0,e=i[f>>2],!e)||(e=N0(e,68572,69472),!e))break i;if(f=i[f+4>>2],!f){n=i[e+48>>2];break i}if(r=i[f+4>>2],t=r+1|0,i[f+4>>2]=t,n=i[e+48>>2],i[f+4>>2]=r,t)break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[A+19|0]<0&&G(i[A+8>>2]),r=i[A+20>>2],r){if(f=i[A+24>>2],e=r,(f|0)!=(e|0)){for(;;){e=i[f-4>>2];i:{if(!e||(t=i[e+4>>2],i[e+4>>2]=t-1,t))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(r|0)==(f|0))break}e=i[A+20>>2]}i[A+24>>2]=r,G(e)}i:{if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}return B=A+32|0,n|0}function Kv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,7491);break i}if(B4(A+20|0,r),l[e+67|0]<0&&G(i[e+56>>2]),k=i[A+24>>2],i[e+56>>2]=i[A+20>>2],i[e+60>>2]=k,i[e+64>>2]=i[A+28>>2],s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function qv(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0;i:{if((n|0)<=0|(k|0)<=0)break i;for(_=o-8|0,v=r-6|0;;){for(r=(w<<1)+t|0,o=v+(m(A,w)<<1)|0,u=0;X[r>>1]=(((((Q[o+2>>1]<<2)-Q[o>>1]|0)+m(Q[o+8>>1]+Q[o+6>>1]|0,40)|0)+(Q[o+12>>1]<<2)|0)-Q[o+14>>1]|0)+m(Q[o+10>>1]+Q[o+4>>1]|0,-11)>>_,o=o+2|0,r=(n<<1)+r|0,u=u+1|0,(u|0)!=(k|0););if(w=w+1|0,(w|0)==(n|0))break}if((n|0)<=0)break i;for(_=n&2147483644,w=n&3,A=0,v=n>>>0<4;;){if(r=(A<<1)+f|0,o=(m(A,n)<<1)+t|0,u=0,!v)for(;X[r>>1]=Q[o>>1],h=r,r=e<<1,h=h+r|0,X[h>>1]=Q[o+2>>1],h=r+h|0,X[h>>1]=Q[o+4>>1],h=r+h|0,X[h>>1]=Q[o+6>>1],r=r+h|0,o=o+8|0,u=u+4|0,(_|0)!=(u|0););if(u=0,w)for(;X[r>>1]=Q[o>>1],o=o+2|0,r=(e<<1)+r|0,u=u+1|0,(w|0)!=(u|0););if(A=A+1|0,(k|0)==(A|0))break}}}function Or(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;i:{r:{if(o=i[19572],(o|0)!=78292)for(;;){w=i[o+16>>2],A=i[w>>2];e:{if(i[A+4>>2]!=(e|0)&&e||r&&v4(r,i[A+8>>2]))break e;t=i[f+8>>2];A:{if(t>>>0>n>>>0){i[n>>2]=w,n=n+4|0;break A}if(k=i[f>>2],h=n-k>>2,A=h+1|0,A>>>0>=1073741824)break r;if(_=h<<2,t=t-k|0,u=t>>1,u=t>>>0>=2147483644?1073741823:A>>>0<u>>>0?u:A,u){if(u>>>0>=1073741824)break i;h=U(u<<2)}else h=0;if(t=_+h|0,i[t>>2]=w,A=t,(k|0)!=(n|0)){for(;A=A-4|0,n=n-4|0,i[A>>2]=i[n>>2],(k|0)!=(n|0););k=i[f>>2]}if(n=t+4|0,i[f+8>>2]=h+(u<<2),i[f>>2]=A,!k)break A;G(k)}i[f+4>>2]=n}k=i[o+4>>2];e:{if(k){for(;;)if(A=k,k=i[A>>2],!k)break e}for(;A=i[o+8>>2],k=i[A>>2]!=(o|0),o=A,!!k;);}if(o=A,(A|0)==78292)break}return}y0(),P()}_2(),P()}function gA(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0;if(!A){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=31341;return}i:{r:{n=i[e>>2],t=i[n+20>>2];e:{if(!t)break e;for(o=n+20|0,n=o;k=k0[t+16>>2]<r>>>0,n=k?n:t,t=i[(k<<2)+t>>2],!!t;);if(k=0,(n|0)==(o|0)|k0[n+16>>2]>r>>>0)break e;if(t=i[n+20>>2],k=i[n+24>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),t)break r}i[A>>2]=0,i[f+8>>2]=31341,i[f>>2]=5,i[f+4>>2]=2e3;break i}r=U(16),i[r+8>>2]=0,i[r+12>>2]=0,i[A>>2]=r,k&&(i[k+4>>2]=i[k+4>>2]+1),i[r+4>>2]=k,i[r>>2]=t,n=i[e>>2],r=i[A>>2],A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+8>>2]=n,e=i[r+12>>2],i[r+12>>2]=A;r:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break r;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}i:{if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}}function $v(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0;i:{if((n|0)<=0|(k|0)<=0)break i;for(_=o-8|0,v=r-6|0;;){for(r=(w<<1)+t|0,o=v+(m(A,w)<<1)|0,u=0;X[r>>1]=Q[o+12>>1]+((((((Q[o+2>>1]<<2)-Q[o>>1]|0)+m(Q[o+4>>1],-10)|0)+m(Q[o+6>>1],58)|0)+m(Q[o+8>>1],17)|0)+m(Q[o+10>>1],-5)|0)>>_,o=o+2|0,r=(n<<1)+r|0,u=u+1|0,(u|0)!=(k|0););if(w=w+1|0,(w|0)==(n|0))break}if((n|0)<=0)break i;for(_=n&2147483644,w=n&3,A=0,v=n>>>0<4;;){if(r=(A<<1)+f|0,o=(m(A,n)<<1)+t|0,u=0,!v)for(;X[r>>1]=Q[o>>1],h=r,r=e<<1,h=h+r|0,X[h>>1]=Q[o+2>>1],h=r+h|0,X[h>>1]=Q[o+4>>1],h=r+h|0,X[h>>1]=Q[o+6>>1],r=r+h|0,o=o+8|0,u=u+4|0,(_|0)!=(u|0););if(u=0,w)for(;X[r>>1]=Q[o>>1],o=o+2|0,r=(e<<1)+r|0,u=u+1|0,(w|0)!=(u|0););if(A=A+1|0,(k|0)==(A|0))break}}}function bv(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0;i:{if((n|0)<=0|(k|0)<=0)break i;for(_=o-8|0,v=r-4|0;;){for(r=(w<<1)+t|0,o=v+(m(A,w)<<1)|0,u=0;X[r>>1]=(((((Q[o>>1]+m(Q[o+2>>1],-5)|0)+m(Q[o+4>>1],17)|0)+m(Q[o+6>>1],58)|0)+m(Q[o+8>>1],-10)|0)+(Q[o+10>>1]<<2)|0)-Q[o+12>>1]>>_,o=o+2|0,r=(n<<1)+r|0,u=u+1|0,(u|0)!=(k|0););if(w=w+1|0,(w|0)==(n|0))break}if((n|0)<=0)break i;for(_=n&2147483644,w=n&3,A=0,v=n>>>0<4;;){if(r=(A<<1)+f|0,o=(m(A,n)<<1)+t|0,u=0,!v)for(;X[r>>1]=Q[o>>1],h=r,r=e<<1,h=h+r|0,X[h>>1]=Q[o+2>>1],h=r+h|0,X[h>>1]=Q[o+4>>1],h=r+h|0,X[h>>1]=Q[o+6>>1],r=r+h|0,o=o+8|0,u=u+4|0,(_|0)!=(u|0););if(u=0,w)for(;X[r>>1]=Q[o>>1],o=o+2|0,r=(e<<1)+r|0,u=u+1|0,(w|0)!=(u|0););if(A=A+1|0,(k|0)==(A|0))break}}}function dv(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0;u=i[e+24>>2],u>>>0>k0[e+44>>2]&&(i[e+44>>2]=u),u=-1,v=-1,h=n&24;i:{if(!h|(k|0)==1&(h|0)==24)break i;h=i[e+44>>2],h&&(t=e+32|0,s[t+11|0]>>>7|0&&(t=i[t>>2]),t=h-t|0,w=t>>31);r:{e:switch(k|0){case 1:if(n&8){o=i[e+12>>2]-i[e+8>>2]|0,_=o>>31;break r}o=i[e+24>>2]-i[e+20>>2]|0,_=o>>31;break r;case 0:break r;case 2:break e;default:break i}o=t,_=w}if(A=A+_|0,r=r+o|0,A=o>>>0>r>>>0?A+1|0:A,(A|0)<0|(r>>>0>t>>>0&(A|0)>=(w|0)|(A|0)>(w|0)))break i;k=n&8;r:{if(!(r|A))break r;if(!i[e+12>>2]&&k)break i;if(!(n&16))break r;if(!i[e+24>>2])break i}k&&(k=i[e+8>>2],i[e+16>>2]=i[e+44>>2],i[e+12>>2]=r+k,i[e+8>>2]=k),n&16&&(k=i[e+20>>2],i[e+28>>2]=i[e+28>>2],i[e+20>>2]=k,i[e+24>>2]=k,i[e+24>>2]=r+i[e+24>>2]),u=r,v=A}i[f+8>>2]=u,i[f+12>>2]=v,i[f>>2]=0,i[f+4>>2]=0}function p8(f,e,r){var A=0,k=0,n=0,t=0;n=B-16|0,B=n,A=U(72),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71664,t=A+16|0,i[t+8>>2]=0,i[t+12>>2]=0,i[t+16>>2]=0,i[t+20>>2]=0,i[t+24>>2]=0,i[t+28>>2]=0,i[t+32>>2]=0,i[t>>2]=68500,i[A+60>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[t>>2]=73032,i[A+32>>2]=1668246642,i[A+64>>2]=0,i[A+68>>2]=0,k=i[r>>2],r=i[r+4>>2];i:{if(!r){i[A+68>>2]=r,i[A+64>>2]=k;break i}if(i[r+4>>2]=i[r+4>>2]+1,i[A+64>>2]=k,k=i[A+68>>2],i[A+68>>2]=r,!k||(r=i[k+4>>2],i[k+4>>2]=r-1,r))break i;V[i[i[k>>2]+8>>2]](k),g(k)}r=i[f+44>>2],i[n+12>>2]=A,i[n+8>>2]=t,i[A+4>>2]=i[A+4>>2]+1,t=N4(r,n+8|0),k=i[n+12>>2];i:{if(!k||(r=i[k+4>>2],i[k+4>>2]=r-1,r))break i;V[i[i[k>>2]+8>>2]](k),g(k)}f=i[f+52>>2],X[n+6>>1]=t+1,l[n+4|0]=0,i[n>>2]=Q[n+4>>1]|Q[n+6>>1]<<16,c1(f,e,n),f=i[A+4>>2],i[A+4>>2]=f-1,f||(V[i[i[A>>2]+8>>2]](A),g(A)),B=n+16|0}function cv(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;k=B-16|0,B=k,A=i[e+12>>2],f=i[e+4>>2],w=(A+f|0)-1|0,n=(w|0)%(A|0)|0,t=(A+((f|0)/s[r+50|0]|0)|0)-1|0,o=(t|0)%(A|0)|0,u=i[e+8>>2],h=(u|0)/s[r+51|0]|0;i:{r:{e:{if(f=s[r+48|0],(f-8&255)>>>0<9){if(A=s[r+49|0],(A-8&255)>>>0>=9)break e;if(e=0,i[k+4>>2]=0,_=u,u=w-n|0,f=Sr(k+4|0,16,m(m(_,u),(f+7&248)>>>3|0)),n=f?0:i[k+4>>2],!i[r+20>>2]){if(h=0,o=0,!n)break i;break r}if(i[k+8>>2]=0,o=t-o|0,f=m(m(h,o),(A+7&248)>>>3|0),A=Sr(k+8|0,16,f),e=i[k+8>>2],i[k+12>>2]=0,f=Sr(k+12|0,16,f),h=i[k+12>>2],t=f?0:h,f=A?0:e,!(!n||!f|!t))break r;if(n&&G(n),f&&G(f),e=0,!t)break i;G(t);break i}C0(16497,14027,117,5695),P()}C0(16543,14027,118,5695),P()}i[r+292>>2]=0,i[r+4>>2]=n,i[r+40>>2]=u,i[r+8>>2]=e,i[r+296>>2]=0,i[r+300>>2]=0,i[r+12>>2]=h,i[r+44>>2]=o,e=1}return B=k+16|0,e|0}function im(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;if(n=B-32|0,B=n,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,l2(r,i[e+60>>2]-i[e+56>>2]>>4),A=i[e+56>>2],o=i[e+60>>2],(A|0)!=(o|0))for(;;){k=i[A>>2];i:{if(!s[e+48|0]){w2(r,k&65535);break i}l2(r,k)}if(A2(r,i[A+8>>2]-i[A+4>>2]>>>2&255),k=i[A+4>>2],u=i[A+8>>2],(k|0)!=(u|0))for(;;){h=Q[k+2>>1],w=s[k|0];i:{if(l[e+52|0]&1){w2(r,(h&32767|(w&1?-32768:0))&65535);break i}A2(r,(h&127|(w&1?-128:0))&255)}if(k=k+4|0,(u|0)==(k|0))break}if(A=A+16|0,(o|0)==(A|0))break}i[r+12>>2]=t,V[i[i[e>>2]+36>>2]](n+12|0,e,r,i[r+4>>2]-(i[r>>2]+t|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[n+31|0]<0&&G(i[n+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+32|0}function rm(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0;r=B-96|0,B=r;i:{r:{e:{if(i[f+16>>2]!=i[e+16>>2])break e;i[r+88>>2]=0,i[r+92>>2]=0,i[r+80>>2]=0,i[r+84>>2]=0,i[r+72>>2]=0,i[r+76>>2]=0,i[r+64>>2]=0,i[r+68>>2]=0,V[i[i[f>>2]+16>>2]](r+44|0,f,r+80|0),l[r+63|0]<0&&G(i[r+52>>2]),V[i[i[e>>2]+16>>2]](r+24|0,e,r- -64|0),l[r+43|0]<0&&G(i[r+32>>2]),i[r+20>>2]=0,i[r+12>>2]=0,i[r+16>>2]=0,f=i[r+84>>2],A=i[r+80>>2];A:{if((f|0)==(A|0)){e=0,A=0;break A}if(f=f-A|0,(f|0)<0)break r;e=U(f),A=l0(e,A,f)+f|0}i[r+8>>2]=0,i[r>>2]=0,i[r+4>>2]=0,f=i[r+68>>2],k=i[r+64>>2];A:{if((f|0)==(k|0)){f=0;break A}if(n=f-k|0,(n|0)<0)break i;f=U(n),n=l0(f,k,n)+n|0}if(k=0,A=A-e|0,(A|0)==(n-f|0)&&(k=!K2(e,f,A)),f&&G(f),e&&G(e),f=i[r+64>>2],f&&(i[r+68>>2]=f,G(f)),f=i[r+80>>2],!f)break e;i[r+84>>2]=f,G(f)}return B=r+96|0,k|0}y0(),P()}y0(),P()}function em(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;t=B-32|0,B=t,o=V[i[i[e>>2]+32>>2]](e,r,0)|0,k=+(1<<i[e+104>>2]>>>0),n=i0[e+56>>3]*k;i:{if(d0(n)<2147483648){A=~~n;break i}A=-2147483648}l2(r,A),n=i0[e+64>>3]*k;i:{if(d0(n)<2147483648){A=~~n;break i}A=-2147483648}l2(r,A),n=i0[e+72>>3]*k;i:{if(d0(n)<2147483648){A=~~n;break i}A=-2147483648}if(l2(r,A),l[e+52|0]&1){k=i0[e+88>>3]*k;i:{if(d0(k)<2147483648){A=~~k;break i}A=-2147483648}l2(r,A),k=i0[e+96>>3]*+(1<<i[e+108>>2]>>>0);i:{if(d0(k)<2147483648){A=~~k;break i}A=-2147483648}l2(r,A)}i[r+12>>2]=o,V[i[i[e>>2]+36>>2]](t+12|0,e,r,i[r+4>>2]-(i[r>>2]+o|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[t+31|0]<0&&G(i[t+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=t+32|0}function Mn(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(i[f>>2]=74936,A=i[f+128>>2],A){if(e=A,n=i[f+132>>2],(e|0)!=(n|0)){for(;;){if(o=n-12|0,k=i[o>>2],k){if(e=k,u=n-8|0,r=i[u>>2],(e|0)!=(r|0)){for(;e=r-12|0,t=i[e>>2],t&&(i[r-8>>2]=t,G(t)),r=e,(e|0)!=(k|0););e=i[o>>2]}i[u>>2]=k,G(e)}if(n=n-16|0,(A|0)==(n|0))break}e=i[f+128>>2]}i[f+132>>2]=A,G(e)}if(e=i[f+108>>2],e&&(i[f+112>>2]=e,G(e)),e=i[f+96>>2],e&&(i[f+100>>2]=e,G(e)),e=i[f+84>>2],e&&G(e),e=i[f+72>>2],e&&(i[f+76>>2]=e,G(e)),i[f>>2]=68616,A=i[f+36>>2],A){if(e=i[f+40>>2],r=A,(e|0)!=(r|0)){for(;;){r=i[e-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e-8|0,(A|0)==(e|0))break}r=i[f+36>>2]}i[f+40>>2]=A,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function Am(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0;i:{if(n=V[i[i[e>>2]+68>>2]](i[e+4>>2])|0,k=i[n>>2],!k)break i;for(;;){if(v4(i[k+4>>2],r)){if(k=i[n+4>>2],n=n+4|0,k)continue;break i}break}r:switch(i[k+8>>2]-1|0){case 0:for(k=f,n=e,t=r;f=A,A=A+1|0,e=l[f|0],!!((e|0)==32|e-9>>>0<5););r=1;e:switch((e&255)-43|0){case 2:r=0;case 0:e=l[A|0],f=A;break;default:break e}if(A=0,e=e-48|0,e>>>0<=9)for(;A=m(A,10)-e|0,e=l[f+1|0],f=f+1|0,e=e-48|0,e>>>0<10;);k7(k,n,t,r?0-A|0:A);return;case 1:k=1;e:{if(!v4(A,9104)||(k=0,!v4(A,9349)|s[A|0]!=49))break e;k=!s[A+1|0]}V[i[i[e>>2]+80>>2]](f,i[e+4>>2],r,k);return;case 2:V[i[i[e>>2]+88>>2]](f,i[e+4>>2],r,A);return;default:break r}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];return}V[i[i[e>>2]+88>>2]](f,i[e+4>>2],r,A)}function fm(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0;for(o=B-416|0,B=o,A=o+416|0,i[o+12>>2]=A,r=B-144|0,B=r,i[r+28>>2]=r+132,u=r+32|0,N9(f+8|0,u,r+28|0,k,n,t),i[r+16>>2]=0,i[r+20>>2]=0,i[r+12>>2]=u,k=o+16|0,t=i[o+12>>2]-k>>2,n=B-16|0,B=n,i[n+12>>2]=i[f+8>>2],f=S4(n+8|0,n+12|0),t=Ok(k,r+12|0,t,r+16|0),f=i[f>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=n+16|0,(t|0)==-1&&(u1(),P()),i[o+12>>2]=k+(t<<2),B=r+144|0,t=B-16|0,B=t,f=B-32|0,B=f,pe(f+24|0,k,i[o+12>>2]),o=f+16|0,u=i[f+28>>2],r=B-16|0,B=r,n=i[f+24>>2],i[r+8>>2]=n,i[r+12>>2]=e;;){if((n|0)!=(u|0)){T9(r+12|0,i[n>>2]),n=n+4|0,i[r+8>>2]=n;continue}break}return i[o>>2]=i[r+8>>2],i[o+4>>2]=i[r+12>>2],B=r+16|0,i[f+12>>2]=k+(i[f+16>>2]-k|0),i[f+8>>2]=i[f+20>>2],i[t+8>>2]=i[f+12>>2],i[t+12>>2]=i[f+8>>2],B=f+32|0,B=t+16|0,B=A,i[t+12>>2]}function km(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(L0(x(L0(x(r,14785,14),i[e+48>>2]),18140,1),i[e+52>>2]),18140,1),i[e+56>>2]),30511,2),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function xn(f){var e=0,r=0,A=0,k=0,n=0;if(r=i[f+8>>2],!!r){if(e=i[f+4>>2],(e|0)==6){e=i[r+24>>2];i:{if((e|0)<i[r+28>>2]){A=i[r+20>>2];break i}if(n=e+1|0,A=Z2(n),!A)return;k=i[r+20>>2],k&&(l0(A,k,e),G(k),e=i[r+24>>2]),i[r+28>>2]=n,i[r+20>>2]=A}l[e+A|0]=0,i[r+24>>2]=i[r+24>>2]+1,e=i[f+4>>2]}if((e|0)==7){A=i[r+24>>2],k=A+2|0;i:{if((k|0)<=i[r+28>>2]){e=i[r+20>>2];break i}if(e=Z2(k),!e)return;n=i[r+20>>2],n&&(l0(e,n,A),G(n),A=i[r+24>>2]),i[r+28>>2]=k,i[r+20>>2]=e}e=e+A|0,l[e|0]=0,l[e+1|0]=0,i[r+24>>2]=i[r+24>>2]+2,e=i[f+4>>2]}(e|0)>=5&&(k=i[f+32>>2],A=k+i[f+28>>2]|0,n=i[f+20>>2],e=i[f+16>>2],(A|0)==(((e|0)!=(n|0)?(n-e<<8)-1|0:0)|0)&&(Gr(f+12|0),k=i[f+32>>2],A=k+i[f+28>>2]|0,e=i[f+16>>2]),i[i[e+(A>>>8&16777212)>>2]+((A&1023)<<2)>>2]=r,i[f+32>>2]=k+1,e=i[r+24>>2],i[f+8>>2]=0,i[f+36>>2]=e+i[f+36>>2]),i[f+4>>2]=0}}function nm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),n=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,o=x(r,20267,10),k=l[e+67|0],n=(k|0)<0,x(x(o,n?i[e+56>>2]:e+56|0,n?i[e+60>>2]:k),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function tm(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0;i:{if((n|0)<=0|(k|0)<=0)break i;for(w=r-3|0;;){for(u=(h<<1)+t|0,r=w+m(A,h)|0,o=0;X[u>>1]=(((((s[r+1|0]<<2)-s[r|0]|0)+m(s[r+4|0]+s[r+3|0]|0,40)|0)+(s[r+6|0]<<2)|0)-s[r+7|0]|0)+m(s[r+5|0]+s[r+2|0]|0,-11),r=r+1|0,u=(n<<1)+u|0,o=o+1|0,(o|0)!=(k|0););if(h=h+1|0,(h|0)==(n|0))break}if((n|0)<=0)break i;for(_=n&2147483644,w=n&3,A=0,v=n>>>0<4;;){if(u=(A<<1)+f|0,r=(m(A,n)<<1)+t|0,h=0,!v)for(;X[u>>1]=Q[r>>1],o=u,u=e<<1,o=o+u|0,X[o>>1]=Q[r+2>>1],o=u+o|0,X[o>>1]=Q[r+4>>1],o=u+o|0,X[o>>1]=Q[r+6>>1],u=u+o|0,r=r+8|0,h=h+4|0,(_|0)!=(h|0););if(o=0,w)for(;X[u>>1]=Q[r>>1],r=r+2|0,u=(e<<1)+u|0,o=o+1|0,(w|0)!=(o|0););if(A=A+1|0,(k|0)==(A|0))break}}}function om(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0;i:{if((n|0)<=0|(k|0)<=0)break i;for(w=r-2|0;;){for(u=(h<<1)+t|0,r=w+m(A,h)|0,o=0;X[u>>1]=(((((s[r|0]+m(s[r+1|0],-5)|0)+m(s[r+2|0],17)|0)+m(s[r+3|0],58)|0)+m(s[r+4|0],-10)|0)+(s[r+5|0]<<2)|0)-s[r+6|0],r=r+1|0,u=(n<<1)+u|0,o=o+1|0,(o|0)!=(k|0););if(h=h+1|0,(h|0)==(n|0))break}if((n|0)<=0)break i;for(_=n&2147483644,w=n&3,A=0,v=n>>>0<4;;){if(u=(A<<1)+f|0,r=(m(A,n)<<1)+t|0,h=0,!v)for(;X[u>>1]=Q[r>>1],o=u,u=e<<1,o=o+u|0,X[o>>1]=Q[r+2>>1],o=u+o|0,X[o>>1]=Q[r+4>>1],o=u+o|0,X[o>>1]=Q[r+6>>1],u=u+o|0,r=r+8|0,h=h+4|0,(_|0)!=(h|0););if(o=0,w)for(;X[u>>1]=Q[r>>1],r=r+2|0,u=(e<<1)+u|0,o=o+1|0,(w|0)!=(o|0););if(A=A+1|0,(k|0)==(A|0))break}}}function lm(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0;i:{if((n|0)<=0|(k|0)<=0)break i;for(w=r-3|0;;){for(u=(h<<1)+t|0,r=w+m(A,h)|0,o=0;X[u>>1]=s[r+6|0]+((((((s[r+1|0]<<2)-s[r|0]|0)+m(s[r+2|0],-10)|0)+m(s[r+3|0],58)|0)+m(s[r+4|0],17)|0)+m(s[r+5|0],-5)|0),r=r+1|0,u=(n<<1)+u|0,o=o+1|0,(o|0)!=(k|0););if(h=h+1|0,(h|0)==(n|0))break}if((n|0)<=0)break i;for(_=n&2147483644,w=n&3,A=0,v=n>>>0<4;;){if(u=(A<<1)+f|0,r=(m(A,n)<<1)+t|0,h=0,!v)for(;X[u>>1]=Q[r>>1],o=u,u=e<<1,o=o+u|0,X[o>>1]=Q[r+2>>1],o=u+o|0,X[o>>1]=Q[r+4>>1],o=u+o|0,X[o>>1]=Q[r+6>>1],u=u+o|0,r=r+8|0,h=h+4|0,(_|0)!=(h|0););if(o=0,w)for(;X[u>>1]=Q[r>>1],r=r+2|0,u=(e<<1)+u|0,o=o+1|0,(w|0)!=(o|0););if(A=A+1|0,(k|0)==(A|0))break}}}function zn(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;if(!r){e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];return}i:{if(A=i[e+16>>2],!A||(n=N0(A,72776,73300),!n))break i;A=i[e+20>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),e=i[n+12>>2],n=i[n+8>>2],u=e-n|0,t=u>>3;r:{if((t|0)<=0)break r;if(e=0,(u|0)!=8)for(w=t&2147483646,t=0;k=e<<3,o=k+r|0,h=n+k|0,i[o>>2]=i[h>>2],i[o+4>>2]=i[h+4>>2],k=k|8,o=k+r|0,k=n+k|0,i[o>>2]=i[k>>2],i[o+4>>2]=i[k+4>>2],e=e+2|0,t=t+2|0,(w|0)!=(t|0););if(!(u&8))break r;e=e<<3,r=e+r|0,e=e+n|0,i[r>>2]=i[e>>2],i[r+4>>2]=i[e+4>>2]}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];r:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break r;V[i[i[A>>2]+8>>2]](A),g(A)}return}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}function um(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0;t=B-16|0,B=t;i:{if(!r)break i;on(t+4|0,i[f>>2],e),f=i[t+8>>2],e=i[t+4>>2],k=f-e>>3,k=(A|0)>(k|0)?k:A;r:{if((k|0)>0){if(A=0,k>>>0>=4)for(o=k&2147483644;i[(A<<2)+r>>2]=i[i[e+(A<<3)>>2]+20>>2],n=A|1,i[(n<<2)+r>>2]=i[i[e+(n<<3)>>2]+20>>2],n=A|2,i[(n<<2)+r>>2]=i[i[e+(n<<3)>>2]+20>>2],n=A|3,i[(n<<2)+r>>2]=i[i[e+(n<<3)>>2]+20>>2],A=A+4|0,u=u+4|0,(o|0)!=(u|0););if(o=k&3,!o)break r;for(;i[(A<<2)+r>>2]=i[i[e+(A<<3)>>2]+20>>2],A=A+1|0,h=h+1|0,(o|0)!=(h|0););break r}if(!e)break i}if(A=e,(A|0)!=(f|0)){for(;;){r=i[f-4>>2];r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(f=f-8|0,(e|0)==(f|0))break}A=i[t+4>>2]}i[t+8>>2]=e,G(A)}return B=t+16|0,k|0}function Hn(f){var e=0,r=0,A=0,k=0,n=0;if(e=i[f+428>>2],r=i[f+424>>2],(e|0)!=(r|0))for(;;){if(k=i[(A<<2)+r>>2],k){if(w4(i[k+140>>2]+548|0,i[k>>2]),e=i[k+132>>2],e){if(n=e-4|0,r=i[n>>2],r)for(r=e+m(r,18608)|0;C8(r-36|0),r=r-18608|0,(e|0)!=(r|0););G(n)}G(k),r=i[f+424>>2],e=i[f+428>>2]}if(A=A+1|0,!(A>>>0<e-r>>2>>>0))break}if(e=i[f+456>>2],A=i[f+460>>2],(e|0)!=(A|0))for(r=0;k=i[(r<<2)+e>>2],k&&(V[i[i[k>>2]+4>>2]](k),A=i[f+460>>2],e=i[f+456>>2]),r=r+1|0,r>>>0<A-e>>2>>>0;);if(A=i[f+468>>2],A){if(e=A,r=i[f+472>>2],(e|0)!=(r|0)){for(;r=C8(r-8|0),(A|0)!=(r|0););e=i[f+468>>2]}i[f+472>>2]=A,G(e),e=i[f+456>>2]}return e&&(i[f+460>>2]=e,G(e)),e=i[f+436>>2],e&&(i[f+440>>2]=e,G(e)),e=i[f+424>>2],e&&(i[f+428>>2]=e,G(e)),zA(f+8|0),f}function sm(){var f=0,e=0,r=0;return f=s[5779]|s[5780]<<8|(s[5781]<<16|s[5782]<<24),i[19596]=s[5775]|s[5776]<<8|(s[5777]<<16|s[5778]<<24),i[19597]=f,f=s[5793]|s[5794]<<8|(s[5795]<<16|s[5796]<<24),e=s[5789]|s[5790]<<8|(s[5791]<<16|s[5792]<<24),X[39199]=e,X[39200]=e>>>16,X[39201]=f,X[39202]=f>>>16,f=s[5787]|s[5788]<<8|(s[5789]<<16|s[5790]<<24),i[19598]=s[5783]|s[5784]<<8|(s[5785]<<16|s[5786]<<24),i[19599]=f,G2(16615)+10>>>0<=79&&(f=G2(78384)+78384|0,e=s[18964]|s[18965]<<8|(s[18966]<<16|s[18967]<<24),r=s[18960]|s[18961]<<8|(s[18962]<<16|s[18963]<<24),l[f|0]=r,l[f+1|0]=r>>>8,l[f+2|0]=r>>>16,l[f+3|0]=r>>>24,l[f+4|0]=e,l[f+5|0]=e>>>8,l[f+6|0]=e>>>16,l[f+7|0]=e>>>24,e=s[18967]|s[18968]<<8|(s[18969]<<16|s[18970]<<24),l[f+7|0]=e,l[f+8|0]=e>>>8,l[f+9|0]=e>>>16,l[f+10|0]=e>>>24,Fi(G2(78384)+78384|0,16615)),78384}function hm(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0;e=B+-64|0,B=e,k=i[r+12>>2],n=i[r+4>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(k|0)!=8|n>>>0>3||(i[e+44>>2]=8,l[e+40|0]=0,l[e+58|0]=1,X[e+56>>1]=2,i[e+52>>2]=131074,i[e+32>>2]=99,i[e+36>>2]=99,i[e+48>>2]=72992,l[e+58|0]=1,X[e+56>>1]=6,i[e+52>>2]=851969,i[e+40>>2]=i[r+8>>2],t=i[r+4>>2],k=i[r>>2],i[e+32>>2]=k,i[e+36>>2]=t,n=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+55|0]=n,l[e+56|0]=n>>>8,l[e+57|0]=n>>>16,l[e+58|0]=n>>>24,i[e+52>>2]=i[r+20>>2],i[e+44>>2]=i[A+12>>2],A=i[e+44>>2],i[e+8>>2]=i[e+40>>2],i[e+12>>2]=A,i[e>>2]=k,i[e+4>>2]=t,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)),B=e- -64|0}function Tn(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;u=B-32|0,B=u;i:{r:{e:{if((e|0)!=(r|0)){if(w=i[23944],i[23944]=0,t=B-16|0,B=t,M2(),n=B-16|0,B=n,k=B-16|0,B=k,h3(k,e,u+28|0,2),o=i[k>>2],h=i[k+4>>2],e=n,n=i[k+12>>2],i[e+8>>2]=i[k+8>>2],i[e+12>>2]=n,i[e>>2]=o,i[e+4>>2]=h,B=k+16|0,n=i[e>>2],o=i[e+4>>2],k=t,t=i[e+12>>2],i[k+8>>2]=i[e+8>>2],i[k+12>>2]=t,i[k>>2]=n,i[k+4>>2]=o,B=e+16|0,t=i[k>>2],n=i[k+4>>2],o=i[k+12>>2],e=u,i[e+16>>2]=i[k+8>>2],i[e+20>>2]=o,i[e+8>>2]=t,i[e+12>>2]=n,B=k+16|0,k=i[e+16>>2],n=i[e+20>>2],t=i[e+8>>2],o=i[e+12>>2],h=i[23944],!h)break e;if(i[e+28>>2]!=(r|0))break r;if(_=t,v=o,Z=k,p=n,(h|0)!=68)break i;break r}i[A>>2]=4;break i}if(i[23944]=w,i[u+28>>2]==(r|0))break i}i[A>>2]=4,t=_,o=v,k=Z,n=p}i[f>>2]=t,i[f+4>>2]=o,i[f+8>>2]=k,i[f+12>>2]=n,B=u+32|0}function wm(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+4>>2];i:{if(!(!s[k+12|0]|((A|0)==3|i[k+8>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(!i[r>>2]&A-1>>>0<=2)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}r:switch(Q[r+24>>1]-11|0){case 0:case 3:i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i;default:break r}if(A=i[r+12>>2],(A|0)>=9){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)!=8)break i;A=V8(e+36|0),i[A>>2]=1,i[A+4>>2]=3,l[A+8|0]=s[r+8|0],i[A+12>>2]=i[r+12>>2],r=i[A+12>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=r,r=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=r,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e+20>>2]=i[A+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function an(){ys(67500,11841),Qs(67524,7515,1,0),u8(67536,5993,1,-128,127),u8(67560,5986,1,-128,127),u8(67548,5984,1,0,255),u8(67572,3039,2,-32768,32767),u8(67584,3030,2,0,65535),u8(67596,3054,4,-2147483648,2147483647),u8(67608,3045,4,0,-1),u8(67620,8520,4,-2147483648,2147483647),u8(67632,8511,4,0,-1),mo(67644,3548,-2147483648,2147483647),mo(67656,3547,0,-1),ek(67668,3380,4),ek(67680,10287,8),rk(73728,8551),rk(46300,16143),sA(46372,4,8525),sA(46448,2,8563),sA(46524,4,8578),Is(73828),R1(46564,0,16074),R1(46604,0,16176),R1(73936,1,16104),R1(46644,2,15639),R1(46684,3,15670),R1(46724,4,15710),R1(46764,5,15739),R1(46804,4,16213),R1(46844,5,16243),R1(46604,0,15841),R1(73936,1,15808),R1(46644,2,15907),R1(46684,3,15873),R1(46724,4,16041),R1(46764,5,16007),R1(46884,8,15974),R1(46924,9,15940),R1(46964,6,15777),R1(47004,7,16282)}function _m(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A,f=i[f>>2],n=i[f+48>>2],k=i[f+52>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[A+28>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,I1(A,n,e,A+20|0);i:{if(i[A>>2]||(e=r-1|0,f=i[A+20>>2],e>>>0>=i[A+24>>2]-f>>3>>>0))break i;if(f=f+(e<<3)|0,e=i[f>>2],f=i[f+4>>2],!f){t=i[e+16>>2];break i}if(r=i[f+4>>2],n=r+1|0,i[f+4>>2]=n,t=i[e+16>>2],i[f+4>>2]=r,n)break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[A+19|0]<0&&G(i[A+8>>2]),r=i[A+20>>2],r){if(f=i[A+24>>2],e=r,(f|0)!=(e|0)){for(;;){e=i[f-4>>2];i:{if(!e||(n=i[e+4>>2],i[e+4>>2]=n-1,n))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(r|0)==(f|0))break}e=i[A+20>>2]}i[A+24>>2]=r,G(e)}i:{if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}return B=A+32|0,t|0}function vm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,9769);break i}if(t=e,o=D0(r),i[t+56>>2]=o,t=e,o=D0(r),i[t+60>>2]=o,s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function mm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]),k=s[e+48|0];i:{if(k>>>0>=2){h4(f,e,7091);break i}r:{if(!k){k=t2(r);break r}k=D0(r)}if(i[e+56>>2]=k,s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function ei(f,e,r){var A=0,k=0,n=0;A=B-32|0,B=A,i[A+28>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,I1(A,e,r,A+20|0);i:{if(i[A>>2]){i[f>>2]=0,i[f+4>>2]=0;break i}r:{if(r=i[A+20>>2],k=i[A+24>>2],(r|0)!=(k|0)){if(e=i[r>>2],e&&(n=i[f+4>>2],e=N0(e,68572,68596),e))break r;if(r=r+8|0,(k|0)!=(r|0))for(;;){if(e=i[r>>2],e&&(n=0,e=N0(e,68572,68596),e))break r;if(r=r+8|0,(k|0)==(r|0))break}i[f>>2]=0,i[f+4>>2]=0}i[f>>2]=0,i[f+4>>2]=0;break i}if(i[f+4>>2]=n,i[f>>2]=e,e=f,f=i[r+4>>2],i[e+4>>2]=f,!f)break i;i[f+4>>2]=i[f+4>>2]+1}if(l[A+19|0]<0&&G(i[A+8>>2]),f=i[A+20>>2],f){if(e=f,r=i[A+24>>2],(f|0)!=(r|0)){for(;;){e=i[r-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r-8|0,(f|0)==(r|0))break}e=i[A+20>>2]}i[A+24>>2]=f,G(e)}B=A+32|0}function Sn(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;k=B-32|0,B=k;i:{if(!r){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,2001,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}if(A=i[e>>2],t=i[A+40>>2],A=i[A+44>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),!t){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,2,124,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,i[e>>2]),l[r+19|0]<0&&G(i[r+8>>2]),!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A);break i}n=U(16),i[n+8>>2]=0,i[n+12>>2]=0,i[r>>2]=n,i[n+4>>2]=A,i[n>>2]=t,r=i[e>>2],A=i[e+4>>2];r:{if(!A){i[n+12>>2]=A,i[n+8>>2]=r;break r}if(i[A+4>>2]=i[A+4>>2]+1,i[n+8>>2]=r,r=i[n+12>>2],i[n+12>>2]=A,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}P0(f,78256,i[e>>2])}B=k+32|0}function NA(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;i:{if(r=i[f>>2],k=(i[f+4>>2]-r|0)/12|0,t=k+1|0,t>>>0<357913942){if(A=(i[f+8>>2]-r|0)/12|0,r=A<<1,r=A>>>0>=178956970?357913941:r>>>0>t>>>0?r:t,r){if(r>>>0>=357913942)break i;o=U(m(r,12))}A=m(k,12)+o|0,i[A>>2]=i[e>>2],i[A+4>>2]=i[e+4>>2],i[A+8>>2]=i[e+8>>2],i[e+8>>2]=0,i[e>>2]=0,i[e+4>>2]=0,t=m(r,12)+o|0,u=A+12|0,e=i[f+4>>2],n=i[f>>2];r:{if((e|0)==(n|0)){r=A;break r}for(;o=A-4|0,i[o>>2]=0,r=A-12|0,k=e-12|0,i[r>>2]=i[k>>2],i[A-8>>2]=i[e-8>>2],e=e-4|0,i[o>>2]=i[e>>2],i[e>>2]=0,i[k>>2]=0,i[k+4>>2]=0,A=r,e=k,(n|0)!=(e|0););e=i[f+4>>2],n=i[f>>2]}if(i[f+8>>2]=t,i[f+4>>2]=u,i[f>>2]=r,(e|0)!=(n|0))for(;f=e-12|0,r=i[f>>2],r&&(i[e-8>>2]=r,G(r)),e=f,(n|0)!=(e|0););return n&&G(n),u}y0(),P()}_2(),P()}function Bm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,19959,11),i[e+52>>2]-i[e+48>>2]|0),31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function On(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;i:{r:{if(n=i[f+20>>2],e=i[f+24>>2],(n|0)!=(e|0)){if(A=e-n|0,r=A>>2,r>>>0<2)break i;if(e=1,k=r-1|0,_=k&1,r=i[i[n>>2]+96>>2],(A|0)==8){k=0;break r}for(u=k&-2,k=0,A=0;t=i[i[(e<<2)+n>>2]+96>>2],o=(t|0)<(r|0),h=e+1|0,w=i[i[(h<<2)+n>>2]+96>>2],r=o?t:r,t=(w|0)<(r|0),r=t?w:r,k=t?h:o?e:k,e=e+2|0,A=A+2|0,(u|0)!=(A|0););break r}C0(18471,14064,147,5718),P()}if(!_)break i;k=i[i[(e<<2)+n>>2]+96>>2]<(r|0)?e:k}A=i[f+52>>2],r=A+i[f+48>>2]|0,o=i[f+40>>2],e=i[f+36>>2],(r|0)==(((e|0)!=(o|0)?(o-e<<8)-1|0:0)|0)?(Gr(f+32|0),A=i[f+52>>2],r=A+i[f+48>>2]|0,u=i[f+36>>2]):u=e,e=k<<2,i[i[u+(r>>>8&16777212)>>2]+((r&1023)<<2)>>2]=i[e+n>>2],i[f+52>>2]=A+1,i[e+i[f+20>>2]>>2]=i[i[f+24>>2]-4>>2],i[f+24>>2]=i[f+24>>2]-4}function Zm(f,e){f=f|0,e=e|0;var r=0;i:{if((e|0)<12)break i;if(r=jn(f+8|0),(r&27)-1>>>0<2)return 13793;if(r=r-3|0,r>>>0>=16|!(50163>>>r&1))break i;return i[(r<<2)+74144>>2]}r=2;i:{if((e|0)<12)break i;r:{e:{if(s[f|0]!=255|s[f+1|0]!=216)break e;A:{if(s[f+2|0]!=255|s[f+3|0]!=224|(s[f+4|0]|s[f+5|0]!=16)||s[f+6|0]!=74|s[f+7|0]!=70|(s[f+8|0]!=73|s[f+9|0]!=70)||s[f+10|0])break A;if(r=1,s[f+11|0]==1)break r}if(s[f+2|0]!=255|s[f+3|0]!=225|(s[f+6|0]!=69|s[f+7|0]!=120)||s[f+8|0]!=105|s[f+9|0]!=102|(s[f+10|0]|s[f+11|0]))break e;r=1;break i}r=0}}if((r|0)==1)return 8704;i:{if(s[f|0]!=137|(e|0)<8|(s[f+1|0]!=80|s[f+2|0]!=78)||s[f+3|0]!=71|s[f+4|0]!=13|(s[f+5|0]!=10|s[f+6|0]!=26)||s[f+7|0]!=10)break i;return 8501}return 31341}function pm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;n=B-32|0,B=n,A=i[f+28>>2],i[n+16>>2]=A,t=i[f+20>>2],i[n+28>>2]=r,i[n+24>>2]=e,e=t-A|0,i[n+20>>2]=e,t=e+r|0,u=2;i:{r:{e=n+16|0,A=uA(i[f+60>>2],e|0,2,n+12|0)|0,A?(i[23944]=A,A=-1):A=0;e:{A:{if(A){A=e;break A}for(;;){if(k=i[n+12>>2],(k|0)==(t|0))break e;if((k|0)<0){A=e;break r}if(o=i[e+4>>2],h=o>>>0<k>>>0,A=(h<<3)+e|0,o=k-(h?o:0)|0,i[A>>2]=o+i[A>>2],e=(h?12:4)+e|0,i[e>>2]=i[e>>2]-o,t=t-k|0,e=A,u=u-h|0,k=uA(i[f+60>>2],e|0,u|0,n+12|0)|0,k?(i[23944]=k,k=-1):k=0,!!k)break}}if((t|0)!=-1)break r}e=i[f+44>>2],i[f+28>>2]=e,i[f+20>>2]=e,i[f+16>>2]=e+i[f+48>>2],f=r;break i}if(i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f>>2]=i[f>>2]|32,f=0,(u|0)==2)break i;f=r-i[A+4>>2]|0}return B=n+32|0,f|0}function I2(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;e=i[f+112>>2],A=i[f+116>>2],u=(e|A)!=0,o=e,k=i[f+4>>2],n=i[f+44>>2],e=k-n|0,t=e,r=e+i[f+120>>2]|0,e=i[f+124>>2]+(e>>31)|0;i:{if(e=r>>>0<t>>>0?e+1|0:e,!(((e|0)>=(A|0)&r>>>0>=o>>>0|(e|0)>(A|0))&u)){if(u=ve(f),(u|0)>=0)break i;k=i[f+4>>2],n=i[f+44>>2]}return i[f+112>>2]=-1,i[f+116>>2]=-1,i[f+104>>2]=k,t=r,r=n-k|0,A=t+r|0,e=(r>>31)+e|0,i[f+120>>2]=A,i[f+124>>2]=r>>>0>A>>>0?e+1|0:e,-1}A=r+1|0,e=A?e:e+1|0,o=i[f+4>>2],n=i[f+8>>2],r=i[f+116>>2],t=r,k=i[f+112>>2];i:{if(!(r|k)||(r=k-A|0,k=t-(e+(A>>>0>k>>>0)|0)|0,h=n-o|0,t=h>>31,(k|0)>=(t|0)&r>>>0>=h>>>0|(k|0)>(t|0)))break i;n=r+o|0}return i[f+104>>2]=n,r=i[f+44>>2],n=r-o|0,A=n+A|0,e=(n>>31)+e|0,i[f+120>>2]=A,i[f+124>>2]=A>>>0<n>>>0?e+1|0:e,r>>>0>=o>>>0&&(l[o-1|0]=u),u}function Wm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(H0(x(r,20232,10),i[e+48>>2]),31324,15),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function Xm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,21276,10),Q[e+48>>1]),31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function Gm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(H0(x(r,19502,10),s[e+48|0]),31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function jn(f){var e=0,r=0,A=0,k=0,n=0;e=B-16|0,B=e;i:{if(!f||(A=s[f|0],!A)||(k=s[f+1|0],!k)||(n=s[f+2|0],!n)||(f=s[f+3|0],!f))break i;if(l[e+15|0]=0,l[e+14|0]=f,l[e+13|0]=n,l[e+12|0]=k,l[e+11|0]=A,!K2(e+11|0,13799,5)){r=1;break i}if(!K2(e+11|0,2453,5)){r=2;break i}if(!K2(e+11|0,13659,5)){r=3;break i}if(!K2(e+11|0,1504,5)){r=4;break i}if(r=5,f=e+11|0,!K2(f,7112,5))break i;if(!K2(f,4072,5)){r=6;break i}if(!K2(e+11|0,7086,5)){r=7;break i}if(!K2(e+11|0,3556,5)){r=8;break i}if(!K2(e+11|0,16939,5)){r=9;break i}if(!K2(e+11|0,16934,5)){r=10;break i}if(!K2(e+11|0,8791,5)){r=11;break i}if(!K2(e+11|0,4067,5)){r=12;break i}if(!K2(e+11|0,13788,5)){r=13;break i}if(!K2(e+11|0,8179,5)){r=17;break i}r=K2(e+11|0,4083,5)?0:18}return B=e+16|0,r}function Cm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,21529,9),i[e+56>>2]),31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function Vm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(H0(x(r,20376,16),s[e+56|0]),31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function Im(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;if(n=B-32|0,B=n,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,A=i[e+56>>2],o=i[e+60>>2],(A|0)!=(o|0))for(k=s[e+48|0],u=k?4:2,w=k?2:1;;){if(l2(r,((i[A+48>>2]-i[A+44>>2]>>2)+1<<w)+10|0),l2(r,i[A+16>>2]),k1(r,u,i[A+40>>2],0),w2(r,i[A+48>>2]-i[A+44>>2]>>>2&65535),k=i[A+44>>2],h=i[A+48>>2],(k|0)!=(h|0))for(;k1(r,u,i[k>>2],0),k=k+4|0,(h|0)!=(k|0););if(A=A+56|0,(o|0)==(A|0))break}i[r+12>>2]=t,V[i[i[e>>2]+36>>2]](n+12|0,e,r,i[r+4>>2]-(i[r>>2]+t|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[n+31|0]<0&&G(i[n+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+32|0}function Gi(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0;w=B-16|0,B=w,l[w+15|0]=f;i:{r:{e:{if(_=i[A>>2],(_|0)!=(r|0))break e;if(v=f&255,(v|0)==s[h+24|0])f=43;else{if(s[h+25|0]!=(v|0))break e;f=45}i[A>>2]=_+1,l[_|0]=f;break r}if(s[t+11|0]>>>7|0?t=i[t+4>>2]:t=s[t+11|0]&127,!(!t|(f|0)!=(n|0))){if(f=0,e=i[u>>2],(e-o|0)>159)break i;f=i[k>>2],i[u>>2]=e+4,i[e>>2]=f;break r}if(f=-1,n=T3(h,h+26|0,w+15|0)-h|0,(n|0)>23)break i;e:{A:switch(e-8|0){case 0:case 2:if((e|0)>(n|0))break e;break i;case 1:break e;default:break A}if((e|0)!=16|(n|0)<22)break e;if(e=i[A>>2],(e|0)==(r|0)|(e-r|0)>2|s[e-1|0]!=48)break i;f=0,i[k>>2]=0,i[A>>2]=e+1,l[e|0]=s[n+60064|0];break i}f=i[A>>2],i[A>>2]=f+1,l[f|0]=s[n+60064|0],i[k>>2]=i[k>>2]+1,f=0;break i}f=0,i[k>>2]=0}return B=w+16|0,f}function RA(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;i:{r:{if(n=i[e+108>>2],o=e+112|0,(n|0)!=(o|0))for(;;){u=i[i[n+20>>2]+56>>2];e:{if(A>>>0<k>>>0){i[A>>2]=u,r=A+4|0;break e}if(r=A-t>>2,e=r+1|0,e>>>0>=1073741824)break r;if(h=r<<2,r=k-t|0,k=r>>1,r=r>>>0>=2147483644?1073741823:e>>>0<k>>>0?k:e,r){if(r>>>0>=1073741824)break i;k=U(r<<2)}else k=0;if(e=h+k|0,i[e>>2]=u,k=k+(r<<2)|0,r=e+4|0,(A|0)!=(t|0))for(;e=e-4|0,A=A-4|0,i[e>>2]=i[A>>2],(A|0)!=(t|0););i[f+8>>2]=k,i[f+4>>2]=r,i[f>>2]=e,t&&G(t),t=e}A=r,i[f+4>>2]=A,r=i[n+4>>2];e:{if(r){for(;;)if(e=r,r=i[e>>2],!r)break e}for(;e=i[n+8>>2],r=i[e>>2]!=(n|0),n=e,!!r;);}if(n=e,(e|0)==(o|0))break}return}y0(),P()}_2(),P()}function Pn(f,e){var r=0,A=0,k=0,n=0,t=0;k=B-16|0,B=k,t=i[23985],i[e+72>>2]<=0&&z3(e),i[23985]=i[e+136>>2];i:{r:{e:{if(f>>>0<=127){A:{if(i[e+80>>2]==(f|0)||(r=i[e+20>>2],(r|0)==i[e+16>>2]))break A;i[e+20>>2]=r+1,l[r|0]=f;break i}A=B-16|0,B=A,l[A+15|0]=f,r=i[e+16>>2];A:{if(!r){if(G3(e)){r=-1;break A}r=i[e+16>>2]}f:{if(n=i[e+20>>2],(r|0)==(n|0)||(r=f&255,(r|0)==i[e+80>>2]))break f;i[e+20>>2]=n+1,l[n|0]=f;break A}if((V[i[e+36>>2]](e,A+15|0,1)|0)!=1){r=-1;break A}r=s[A+15|0]}B=A+16|0,f=r;break e}if(r=i[e+20>>2],k0[e+16>>2]>r+4>>>0){if(r=ye(r,f),(r|0)<0)break r;i[e+20>>2]=r+i[e+20>>2];break e}if(A=k+12|0,r=ye(A,f),(r|0)<0||ee(A,r,e)>>>0<r>>>0)break r}if((f|0)!=-1)break i}i[e>>2]=i[e>>2]|32,f=-1}return i[23985]=t,B=k+16|0,f}function Q2(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;i:{if(A=i[f+4>>2],n=i[f>>2],o=A-n>>3,k=o+1|0,k>>>0<536870912){if(r=i[f+8>>2]-n|0,t=r>>2,r=r>>>0>=2147483640?536870911:k>>>0<t>>>0?t:k,r){if(r>>>0>=536870912)break i;t=U(r<<3)}else t=0;k=t+(o<<3)|0,i[k>>2]=i[e>>2],e=i[e+4>>2],i[k+4>>2]=e,o=t+(r<<3)|0,t=k+8|0,e&&(i[e+4>>2]=i[e+4>>2]+1,n=i[f>>2],A=i[f+4>>2]);r:{if((A|0)==(n|0)){e=k;break r}for(;e=k-8|0,r=A-8|0,i[e>>2]=i[r>>2],i[k-4>>2]=i[A-4>>2],i[r>>2]=0,i[r+4>>2]=0,k=e,A=r,(r|0)!=(n|0););A=i[f+4>>2],n=i[f>>2]}if(i[f+8>>2]=o,i[f+4>>2]=t,i[f>>2]=e,(A|0)!=(n|0))for(;;){f=i[A-4>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(A=A-8|0,(n|0)==(A|0))break}return n&&G(n),t}y0(),P()}_2(),P()}function Ci(f,e,r,A,k,n,t,o,u,h){var w=0,_=0;w=B-16|0,B=w,i[w+12>>2]=f;i:{r:{e:{if(_=i[A>>2],(_|0)!=(r|0))break e;if(i[h+96>>2]==(f|0))f=43;else{if(i[h+100>>2]!=(f|0))break e;f=45}i[A>>2]=_+1,l[_|0]=f;break r}if(s[t+11|0]>>>7|0?t=i[t+4>>2]:t=s[t+11|0]&127,!(!t|(f|0)!=(n|0))){if(f=0,e=i[u>>2],(e-o|0)>159)break i;f=i[k>>2],i[u>>2]=e+4,i[e>>2]=f;break r}if(f=-1,n=H3(h,h+104|0,w+12|0)-h>>2,(n|0)>23)break i;e:{A:switch(e-8|0){case 0:case 2:if((e|0)>(n|0))break e;break i;case 1:break e;default:break A}if((e|0)!=16|(n|0)<22)break e;if(e=i[A>>2],(e|0)==(r|0)|(e-r|0)>2|s[e-1|0]!=48)break i;f=0,i[k>>2]=0,i[A>>2]=e+1,l[e|0]=s[n+60064|0];break i}f=i[A>>2],i[A>>2]=f+1,l[f|0]=s[n+60064|0],i[k>>2]=i[k>>2]+1,f=0;break i}f=0,i[k>>2]=0}return B=w+16|0,f}function A2(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{if(r=i[f+12>>2],o=i[f+4>>2],n=i[f>>2],u=o-n|0,(r|0)==(u|0)){k=i[f+8>>2];r:{if(k>>>0>o>>>0){l[o|0]=e,h=o+1|0;break r}if(t=r+1|0,(t|0)<0)break i;A=k-n|0,k=A<<1,t=A>>>0>=1073741823?2147483647:k>>>0>t>>>0?k:t,t?k=U(t):k=0,A=r+k|0,l[A|0]=e,t=k+t|0,h=A+1|0;e:{if((n|0)==(o|0)){k=A;break e}u=u&3;A:{if(!u){r=o;break A}for(e=0,r=o;A=A-1|0,r=r-1|0,l[A|0]=s[r|0],e=e+1|0,(u|0)!=(e|0););}if(n-o>>>0<=4294967292)for(;l[A-1|0]=s[r-1|0],l[A-2|0]=s[r-2|0],l[A-3|0]=s[r-3|0],A=A-4|0,r=r-4|0,l[A|0]=s[r|0],(r|0)!=(n|0););n=i[f>>2]}if(i[f+8>>2]=t,i[f+4>>2]=h,i[f>>2]=k,!n)break r;G(n)}i[f+4>>2]=h,i[f+12>>2]=i[f+12>>2]+1;return}i[f+12>>2]=r+1,l[r+n|0]=e;return}y0(),P()}function Qm(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+4>>2];i:{if(!(!s[k+12|0]|((A|0)==3|i[k+8>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}r:{if(!(i[r>>2]|(A|0)!=1|i[r+12>>2]!=8)&&s[r+8|0]!=1)break r;i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],!(A>>>0>14|!(1<<A&18689))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(r=s[r+26|0],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(r|0)!=1)break i;r=V8(e+36|0),i[r+12>>2]=8,i[r>>2]=1,i[r+4>>2]=10,l[r+8|0]=0,A=i[r+12>>2],i[e+8>>2]=i[r+8>>2],i[e+12>>2]=A,A=i[r+4>>2],i[e>>2]=i[r>>2],i[e+4>>2]=A,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,i[e+20>>2]=i[r+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Ln(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(r=i[f+48>>2],n=i[f+52>>2],A=n,t=r-A|0,k=A>>31,r=(r>>31)-(k+(r>>>0<A>>>0)|0)|0,u=r,(r-(t>>>0<2147483648)|0)!=-1){for(;n=k>>31,r=A+(n|1)|0,k=n+k|0,A=o2(r,r>>>0<A>>>0?k+1|0:k,2,0),k=w0,n=u>>31,r=t+(n|1)|0,n=n+u|0,t=o2(r,r>>>0<t>>>0?n+1|0:n,2,0),r=w0,u=r,(r-(t>>>0<2147483648)|0)!=-1;);n=A,k=A>>31}if(r=A,o=k,f=Ir(f,e),f=q0(r,k,f,f>>31),k=u+w0|0,A=f+t|0,k=A>>>0<t>>>0?k+1|0:k,(k-(A>>>0<2147483648)|0)!=-1){for(;f=o>>31,e=r+(f|1)|0,f=f+o|0,r=o2(e,e>>>0<r>>>0?f+1|0:f,2,0),o=w0,f=k>>31,n=f,f=A+(f|1)|0,n=n+k|0,A=o2(f,f>>>0<A>>>0?n+1|0:n,2,0),f=w0,k=f,(f-(A>>>0<2147483648)|0)!=-1;);n=r,o=r>>31}return e=A,f=(n|0)/2|0,A=f,e=e+f|0,f=(f>>31)+k|0,o2(e,e>>>0<A>>>0?f+1|0:f,r,o)}function Kn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(r=i[f+56>>2],n=i[f+60>>2],A=n,t=r-A|0,k=A>>31,r=(r>>31)-(k+(r>>>0<A>>>0)|0)|0,u=r,(r-(t>>>0<2147483648)|0)!=-1){for(;n=k>>31,r=A+(n|1)|0,k=n+k|0,A=o2(r,r>>>0<A>>>0?k+1|0:k,2,0),k=w0,n=u>>31,r=t+(n|1)|0,n=n+u|0,t=o2(r,r>>>0<t>>>0?n+1|0:n,2,0),r=w0,u=r,(r-(t>>>0<2147483648)|0)!=-1;);n=A,k=A>>31}if(r=A,o=k,f=Vr(f,e),f=q0(r,k,f,f>>31),k=u+w0|0,A=f+t|0,k=A>>>0<t>>>0?k+1|0:k,(k-(A>>>0<2147483648)|0)!=-1){for(;f=o>>31,e=r+(f|1)|0,f=f+o|0,r=o2(e,e>>>0<r>>>0?f+1|0:f,2,0),o=w0,f=k>>31,n=f,f=A+(f|1)|0,n=n+k|0,A=o2(f,f>>>0<A>>>0?n+1|0:n,2,0),f=w0,k=f,(f-(A>>>0<2147483648)|0)!=-1;);n=r,o=r>>31}return e=A,f=(n|0)/2|0,A=f,e=e+f|0,f=(f>>31)+k|0,o2(e,e>>>0<A>>>0?f+1|0:f,r,o)}function ym(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(k=B-32|0,B=k,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+48|0]),A2(r,s[e+49|0]),A2(r,s[e+50|0]),A2(r,s[e+51|0]),A2(r,(s[e+52|0]-1|252)&255),A2(r,((i[e+60>>2]-i[e+56>>2]|0)/12|224)&255),A=i[e+56>>2],n=i[e+60>>2],(A|0)!=(n|0))for(;w2(r,i[A+4>>2]-i[A>>2]&65535),D4(r,A),A=A+12|0,(n|0)!=(A|0););if(A2(r,(i[e+72>>2]-i[e+68>>2]|0)/12&255),A=i[e+68>>2],n=i[e+72>>2],(A|0)!=(n|0))for(;w2(r,i[A+4>>2]-i[A>>2]&65535),D4(r,A),A=A+12|0,(n|0)!=(A|0););Y4(k+12|0,e,r,t),l[k+31|0]<0&&G(i[k+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+32|0}function DA(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;o=e+31|0,n=i[f+12>>2]<<7,A=Q[f+20>>1],r=i[f+16>>2];i:{for(;;){A=A+1|0,X[f+20>>1]=A,r=r<<1,i[f+16>>2]=r,A=A<<16>>16;r:{if((A|0)<0||(A=65528,X[f+20>>1]=65528,k=i[f+4>>2],k>>>0>=k0[f+8>>2]))break r;i[f+4>>2]=k+1,r=s[k|0]|r,i[f+16>>2]=r}if(r>>>0<n>>>0)break i;if(r=r-n|0,i[f+16>>2]=r,t=(1<<e)+t|0,k=(e|0)==(o|0),e=e+1|0,!!k)break}return 0}if((e|0)<=8){if(!e)return t;A=e+A|0,X[f+20>>1]=A,r=r<<e,i[f+16>>2]=r,A=A<<16>>16;i:{if((A|0)<0||(k=i[f+4>>2],k>>>0>=k0[f+8>>2]))break i;i[f+4>>2]=k+1,k=s[k|0],X[f+20>>1]=A-8,r=k<<A|r}return A=(r>>>0)/(n>>>0)|0,e=1<<e,(A|0)>=(e|0)&&(A=e-1|0),i[f+16>>2]=r-m(A,n),A+t|0}for(r=e-8|0,e=_9(f);e=x1(f)|e<<1,r=r-1|0,!!r;);return e+t|0}function Fm(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;k=B-16|0,B=k;i:{if((e|0)!=-1){if(o=i[f+12>>2],u=i[f+8>>2],n=i[f+24>>2],(n|0)==i[f+28>>2]){if(r=-1,!(s[f+48|0]&16))break i;t=i[f+20>>2],h=i[f+44>>2],A=f+32|0,C6(A,0),h2(A,s[A+11|0]>>>7|0?(i[A+8>>2]&2147483647)-1|0:10),s[A+11|0]>>>7|0?r=i[A>>2]:r=A,s[A+11|0]>>>7|0?A=i[A+4>>2]:A=s[A+11|0]&127,i[f+28>>2]=A+r,i[f+20>>2]=r,i[f+24>>2]=r,i[f+24>>2]=i[f+24>>2]+(n-t|0),i[f+44>>2]=i[f+20>>2]+(h-t|0)}i[k+12>>2]=i[f+24>>2]+1,r=B-16|0,B=r,B=r+16|0,A=f+44|0,r=k+12|0,i[f+44>>2]=i[(k0[r>>2]<k0[A>>2]?A:r)>>2],s[f+48|0]&8&&(r=f+32|0,s[r+11|0]>>>7|0&&(r=i[r>>2]),i[f+16>>2]=i[f+44>>2],i[f+12>>2]=r+(o-u|0),i[f+8>>2]=r),r=lt(f,e<<24>>24);break i}r=(e|0)!=-1?e:0}return B=k+16|0,r|0}function Em(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;k=B-16|0,B=k,i[k+12>>2]=r,i[f+16>>2]=0,i[f+12>>2]=0,i[f+8>>2]=0,i[f+28>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0;i:{if(s[f+96|0]!=1||(A=i[f+32>>2],!A))break i;G(A)}i:{if(s[f+97|0]!=1||(A=i[f+56>>2],!A))break i;G(A)}i[f+52>>2]=r;i:{r:{e:{A:{if(r>>>0>=9){if(A=s[f+98|0],!e||(n=A&1,!n))break A;if(l[f+96|0]=0,i[f+32>>2]=e,!n)break r;break e}if(l[f+96|0]=0,i[f+52>>2]=8,i[f+32>>2]=f+44,l[f+98|0]&1)break e;break r}if(r=U(r),l[f+96|0]=1,i[f+32>>2]=r,!(A&1))break r}e=0,i[f+60>>2]=0,r=0;break i}if(i[k+8>>2]=8,r=B-16|0,B=r,B=r+16|0,r=k+8|0,A=k+12|0,A=i[(i[A>>2]<i[r>>2]?r:A)>>2],i[f+60>>2]=A,e&&(r=0,A>>>0>8))break i;e=U(A),r=1}return l[f+97|0]=r,i[f+56>>2]=e,B=k+16|0,f|0}function Ym(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+4>>2];i:{if(!(!s[k+12|0]|((A|0)==3|i[k+8>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(!i[r>>2]&A-1>>>0<=2)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}r:switch(Q[r+24>>1]-11|0){case 0:case 3:i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i;default:break r}if(A=i[r+12>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)<9)break i;A=V8(e+36|0),i[A>>2]=1,i[A+4>>2]=3,l[A+8|0]=s[r+8|0],i[A+12>>2]=i[r+12>>2],r=i[A+12>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=r,r=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=r,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e+20>>2]=i[A+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function h4(f,e,r){var A=0,k=0,n=0,t=0,o=0;A=B-160|0,B=A,i[A+24>>2]=54496,i[A+80>>2]=54516,k=i[13633],i[A+16>>2]=k,n=A+16|0,i[n+i[k-12>>2]>>2]=i[13634],i[A+20>>2]=0,k=i[i[A+16>>2]-12>>2]+n|0,t=A+28|0,b0(k,t),i[k+72>>2]=0,i[k+76>>2]=-1,k=i[13635],i[A+24>>2]=k,o=A+24|0,i[o+i[k-12>>2]>>2]=i[13636],k=i[13632],i[A+16>>2]=k,i[i[k-12>>2]+n>>2]=i[13637],i[A+80>>2]=54516,i[A+16>>2]=54476,i[A+24>>2]=54496,n=$0(t),i[n>>2]=53552,i[A+68>>2]=0,i[A+72>>2]=0,i[A+60>>2]=0,i[A+64>>2]=0,i[A+76>>2]=24,x(H0(x(x(o,r,G2(r)),18913,18),s[e+48|0]),3320,23),e=A+4|0,i2(e,n),r0(f,4,3002,e),l[A+15|0]<0&&G(i[A+4>>2]),f=i[13631],i[A+16>>2]=f,i[i[f-12>>2]+(A+16|0)>>2]=i[13639],i[A+24>>2]=i[13640],i[n>>2]=53552,l[A+71|0]<0&&G(i[A+60>>2]),K0(n),T0(A+80|0),B=A+160|0}function UA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0;o=B-32|0,B=o,t=U(132),i[t+4>>2]=0,i[t+8>>2]=0,i[t>>2]=72576,h=e,w=Ge(t+12|0),i[h+48>>2]=w,n=i[e+52>>2],i[e+52>>2]=t;i:{if(!n||(t=i[n+4>>2],i[n+4>>2]=t-1,t))break i;V[i[i[n>>2]+8>>2]](n),g(n)}u=i[e+48>>2],t=B-16|0,B=t,n=U(48),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=72912,r=W3(n+16|0,r,A,k),i[t+12>>2]=n,i[t+8>>2]=r,i[n+4>>2]=i[n+4>>2]+1,_A(o+8|0,u,t+8|0),r=i[n+4>>2],i[n+4>>2]=r-1,r||(V[i[i[n>>2]+8>>2]](n),g(n)),r=i[n+4>>2],i[n+4>>2]=r-1,r||(V[i[i[n>>2]+8>>2]](n),g(n)),B=t+16|0;i:{if(i[o+8>>2]){e=i[o+12>>2],i[f>>2]=i[o+8>>2],i[f+4>>2]=e,e=i[o+20>>2],i[f+8>>2]=i[o+16>>2],i[f+12>>2]=e,i[f+16>>2]=i[o+24>>2];break i}if(hA(f,e),l[o+27|0]>=0)break i;G(i[o+16>>2])}B=o+32|0}function z2(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;i:{if(n=i[f+4>>2],t=i[f>>2],o=n-t>>3,r=o+1|0,r>>>0<536870912){if(A=i[f+8>>2]-t|0,k=A>>2,A=A>>>0>=2147483640?536870911:r>>>0<k>>>0?k:r,A){if(A>>>0>=536870912)break i;k=U(A<<3)}else k=0;r=k+(o<<3)|0,i[r>>2]=i[e>>2],i[r+4>>2]=i[e+4>>2],i[e>>2]=0,i[e+4>>2]=0,o=k+(A<<3)|0,k=r+8|0;r:{if((n|0)==(t|0)){e=r;break r}for(;e=r-8|0,A=n-8|0,i[e>>2]=i[A>>2],i[r-4>>2]=i[n-4>>2],i[A>>2]=0,i[A+4>>2]=0,r=e,n=A,(A|0)!=(t|0););}if(i[f+8>>2]=o,r=i[f>>2],i[f>>2]=e,e=i[f+4>>2],i[f+4>>2]=k,(e|0)!=(r|0))for(;;){f=i[e-4>>2];r:{if(!f||(n=i[f+4>>2],i[f+4>>2]=n-1,n))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(r|0)==(e|0))break}return r&&G(r),k}y0(),P()}_2(),P()}function Jm(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0;if(!A){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=3104;return}i:{if(n=i[e>>2],k=i[n+72>>2],t=i[n+76>>2],(k|0)!=(t|0))for(;;){if(n=i[k>>2],i[n>>2]==(r|0)){if(r=i[k+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),k=U(16),i[k+8>>2]=0,i[k+12>>2]=0,t=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[k+4>>2]=e,i[k>>2]=t,r)break i;i[k+12>>2]=r,i[k+8>>2]=n,i[A>>2]=k,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;return}if(k=k+8|0,(t|0)==(k|0))break}i[f>>2]=5,i[f+4>>2]=2e3,i[f+8>>2]=2878;return}i[r+4>>2]=i[r+4>>2]+1,i[k+12>>2]=r,i[k+8>>2]=n,i[A>>2]=k,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,f=i[r+4>>2],i[r+4>>2]=f-1,f||(V[i[i[r>>2]+8>>2]](r),g(r))}function Vi(f,e,r,A){var k=0,n=0,t=0;t=B-16|0,B=t,k=U(80),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=70984,n=k+16|0,i[n+8>>2]=0,i[n+12>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+32>>2]=0,i[n>>2]=68500,i[k+52>>2]=0,i[k+56>>2]=0,i[k+68>>2]=0,l[k+57|0]=0,l[k+58|0]=0,l[k+59|0]=0,l[k+60|0]=0,l[k+61|0]=0,l[k+62|0]=0,l[k+63|0]=0,l[k+64|0]=0,i[n>>2]=69264,i[k+76>>2]=A,i[k+72>>2]=r,i[k+32>>2]=1769173093,r=i[f+44>>2],i[t+12>>2]=k,i[t+8>>2]=n,i[k+4>>2]=i[k+4>>2]+1,A=N4(r,t+8|0),r=i[t+12>>2];i:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break i;V[i[i[r>>2]+8>>2]](r),g(r)}f=i[f+52>>2],X[t+6>>1]=A+1,l[t+4|0]=0,i[t>>2]=Q[t+4>>1]|Q[t+6>>1]<<16,c1(f,e,t),f=i[k+4>>2],i[k+4>>2]=f-1,f||(V[i[i[k>>2]+8>>2]](k),g(k)),B=t+16|0}function qn(f,e,r,A){i:switch(e-9|0){case 0:e=i[r>>2],i[r>>2]=e+4,i[f>>2]=i[e>>2];return;case 6:e=i[r>>2],i[r>>2]=e+4,e=X[e>>1],i[f>>2]=e,i[f+4>>2]=e>>31;return;case 7:e=i[r>>2],i[r>>2]=e+4,i[f>>2]=Q[e>>1],i[f+4>>2]=0;return;case 8:e=i[r>>2],i[r>>2]=e+4,e=l[e|0],i[f>>2]=e,i[f+4>>2]=e>>31;return;case 9:e=i[r>>2],i[r>>2]=e+4,i[f>>2]=s[e|0],i[f+4>>2]=0;return;case 16:e=i[r>>2]+7&-8,i[r>>2]=e+8,i0[f>>3]=i0[e>>3];return;case 17:V[A|0](f,r);default:return;case 1:case 4:case 14:e=i[r>>2],i[r>>2]=e+4,e=i[e>>2],i[f>>2]=e,i[f+4>>2]=e>>31;return;case 2:case 5:case 11:case 15:e=i[r>>2],i[r>>2]=e+4,i[f>>2]=i[e>>2],i[f+4>>2]=0;return;case 3:case 10:case 12:case 13:break i}e=i[r>>2]+7&-8,i[r>>2]=e+8,r=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=r}function gm(f){f=f|0;var e=0,r=0,A=0;if(r=f+12|0,f=i[r+60>>2],A=r- -64|0,(f|0)!=(A|0))for(;;){e=i[f+44>>2],e&&G(e),e=i[f+4>>2];i:{if(e){for(;;)if(f=e,e=i[f>>2],!e)break i}for(;e=f,f=i[f+8>>2],(e|0)!=i[f>>2];);}if((f|0)==(A|0))break}if(e=i[r+112>>2],e){if(A=e,f=i[r+116>>2],(e|0)!=(f|0)){for(;l[f-1|0]<0&&G(i[f-12>>2]),f=f-20|0,(e|0)!=(f|0););A=i[r+112>>2]}i[r+116>>2]=e,G(A)}q3(r+60|0,i[r+64>>2]),f=i[r+56>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+48>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}l[r+19|0]<0&&G(i[r+8>>2]),f=i[r+4>>2],f&&g(f)}function $n(f,e,r,A,k,n){var t=0;t=B-80|0,B=t;i:{if((n|0)>=16384){if(d2(t+32|0,e,r,A,k,0,0,0,2147352576),A=i[t+40>>2],k=i[t+44>>2],e=i[t+32>>2],r=i[t+36>>2],n>>>0<32767){n=n-16383|0;break i}d2(t+16|0,e,r,A,k,0,0,0,2147352576),n=(n>>>0>=49149?49149:n)-32766|0,A=i[t+24>>2],k=i[t+28>>2],e=i[t+16>>2],r=i[t+20>>2];break i}if((n|0)>-16383)break i;if(d2(t- -64|0,e,r,A,k,0,0,0,7471104),A=i[t+72>>2],k=i[t+76>>2],e=i[t+64>>2],r=i[t+68>>2],n>>>0>4294934644){n=n+16269|0;break i}d2(t+48|0,e,r,A,k,0,0,0,7471104),n=(n>>>0<=4294918376?-48920:n)+32538|0,A=i[t+56>>2],k=i[t+60>>2],e=i[t+48>>2],r=i[t+52>>2]}d2(t,e,r,A,k,0,0,0,n+16383<<16),e=i[t+12>>2],i[f+8>>2]=i[t+8>>2],i[f+12>>2]=e,e=i[t+4>>2],i[f>>2]=i[t>>2],i[f+4>>2]=e,B=t+80|0}function f2(f,e){var r=0,A=0,k=0,n=0;A=i[f+12>>2],r=s[((s[e|0]<<1&508)+(A>>>6|0)|0)+43084|0],A=A-r|0,i[f+12>>2]=A,k=i[f+16>>2],A=A<<7;i:{if(k>>>0<A>>>0){if(k=e,r=s[e|0],e=r&1,l[k|0]=e|s[(r>>>1|0)+43344|0]<<1,A>>>0>32767||(i[f+12>>2]=A>>>6,A=i[f+16>>2]<<1,i[f+16>>2]=A,r=Q[f+20>>1]+1|0,X[f+20>>1]=r,(r|0)==(r&65535))||(X[f+20>>1]=65528,r=i[f+4>>2],r>>>0>=k0[f+8>>2]))break i;return i[f+4>>2]=r+1,i[f+16>>2]=A|s[r|0],e}if(n=s[(r>>>3|0)+43408|0],i[f+12>>2]=r<<n,i[f+16>>2]=k-A<<n,r=e,A=s[r|0],k=A&1,e=!k,l[r|0]=s[(A>>>1|0)+43440|0]<<1|(A>>>0<2?e:k),r=n+Q[f+20>>1]|0,X[f+20>>1]=r,r=r<<16>>16,(r|0)<0)break i;A=i[f+4>>2],A>>>0<k0[f+8>>2]&&(i[f+4>>2]=A+1,i[f+16>>2]=i[f+16>>2]|s[A|0]<<r),X[f+20>>1]=r-8}return e}function Nm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+80>>2]=54820,k=i[13708],i[A+24>>2]=k,n=A+24|0,i[n+i[k-12>>2]>>2]=i[13709],k=n+i[i[A+24>>2]-12>>2]|0,t=A+28|0,b0(k,t),i[k+72>>2]=0,i[k+76>>2]=-1,i[A+80>>2]=54820,i[A+24>>2]=54800,k=$0(t),i[k>>2]=53552,i[A+68>>2]=0,i[A+72>>2]=0,i[A+60>>2]=0,i[A+64>>2]=0,i[A+76>>2]=16,t=A+12|0,R2(t,e,r),o=n,u=t,n=l[A+23|0],t=(n|0)<0,x(o,t?i[A+12>>2]:u,t?i[A+16>>2]:n),l[A+23|0]<0&&G(i[A+12>>2]),n=A+12|0,rn(n,e,r,1),e=l[A+23|0],r=(e|0)<0,x(A+24|0,r?i[A+12>>2]:n,r?i[A+16>>2]:e),l[A+23|0]<0&&G(i[A+12>>2]),i2(f,k),f=i[13707],i[A+24>>2]=f,i[i[f-12>>2]+(A+24|0)>>2]=i[13710],i[k>>2]=53552,l[A+71|0]<0&&G(i[A+60>>2]),K0(k),T0(A+80|0),B=A+160|0}function Ai(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+80>>2]=54820,k=i[13708],i[A+24>>2]=k,n=A+24|0,i[n+i[k-12>>2]>>2]=i[13709],k=n+i[i[A+24>>2]-12>>2]|0,t=A+28|0,b0(k,t),i[k+72>>2]=0,i[k+76>>2]=-1,i[A+80>>2]=54820,i[A+24>>2]=54800,k=$0(t),i[k>>2]=53552,i[A+68>>2]=0,i[A+72>>2]=0,i[A+60>>2]=0,i[A+64>>2]=0,i[A+76>>2]=16,t=A+12|0,R2(t,e,r),o=n,u=t,n=l[A+23|0],t=(n|0)<0,x(o,t?i[A+12>>2]:u,t?i[A+16>>2]:n),l[A+23|0]<0&&G(i[A+12>>2]),n=A+12|0,rn(n,e,r,0),e=l[A+23|0],r=(e|0)<0,x(A+24|0,r?i[A+12>>2]:n,r?i[A+16>>2]:e),l[A+23|0]<0&&G(i[A+12>>2]),i2(f,k),f=i[13707],i[A+24>>2]=f,i[i[f-12>>2]+(A+24|0)>>2]=i[13710],i[k>>2]=53552,l[A+71|0]<0&&G(i[A+60>>2]),K0(k),T0(A+80|0),B=A+160|0}function F2(f,e,r){var A=0,k=0;i:{if((f|0)==(e|0))break i;if(k=f+r|0,e-k>>>0<=0-(r<<1)>>>0){l0(f,e,r);return}A=(f^e)&3;r:{e:{if(f>>>0<e>>>0){if(A)break r;if(!(f&3))break e;for(;;){if(!r)break i;if(l[f|0]=s[e|0],e=e+1|0,r=r-1|0,f=f+1|0,!(f&3))break}break e}A:{if(A)break A;if(k&3)for(;;){if(!r)break i;if(r=r-1|0,A=r+f|0,l[A|0]=s[e+r|0],!(A&3))break}if(r>>>0<=3)break A;for(;r=r-4|0,i[r+f>>2]=i[e+r>>2],r>>>0>3;);}if(!r)break i;for(;r=r-1|0,l[r+f|0]=s[e+r|0],!!r;);break i}if(r>>>0<=3)break r;for(;i[f>>2]=i[e>>2],e=e+4|0,f=f+4|0,r=r-4|0,r>>>0>3;);}if(!r)break i;for(;l[f|0]=s[e|0],f=f+1|0,e=e+1|0,r=r-1|0,!!r;);}}function M2(){var f=0,e=0,r=0,A=0,k=0,n=0;if(s[100004])return i[25e3];r=B-32|0,B=r;i:{r:{for(;;){if(e=r+8|0,A=cn(f,1<<f&2147483647?15510:31341),i[e+(f<<2)>>2]=A,(A|0)==-1)break r;if(f=f+1|0,(f|0)==6)break}if(f=55448,!K2(e,55448,24)||(f=55472,!K2(e,55472,24)))break i;if(f=0,!s[99656]){for(;k=(f<<2)+99608|0,n=cn(f,31341),i[k>>2]=n,f=f+1|0,(f|0)!=6;);l[99656]=1,i[24908]=i[24902]}if(f=99608,e=r+8|0,!K2(e,99608,24)||(f=99632,!K2(e,99632,24)))break i;if(f=Z2(24),!f)break r;e=i[r+12>>2],i[f>>2]=i[r+8>>2],i[f+4>>2]=e,e=i[r+28>>2],i[f+16>>2]=i[r+24>>2],i[f+20>>2]=e,e=i[r+20>>2],i[f+8>>2]=i[r+16>>2],i[f+12>>2]=e;break i}f=0}return B=r+32|0,l[100004]=1,i[25e3]=f,f}function Rm(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0;n=B-32|0,B=n;i:{r:{if(o=V[i[i[e>>2]+68>>2]](i[e+4>>2])|0,t=i[o>>2],!t)break r;for(;;){if(v4(i[t+4>>2],r)){if(t=i[o+4>>2],o=o+4|0,t)continue;break r}break}e:{A:switch(i[t+8>>2]-1|0){case 0:if(V[i[i[e>>2]+76>>2]](f,i[e+4>>2],r,n+28|0),i[f>>2])break i;i[n>>2]=i[n+28>>2],I8(A,k,13656,n);break e;case 1:if(V[i[i[e>>2]+84>>2]](f,i[e+4>>2],r,n+28|0),i[f>>2])break i;i[n+16>>2]=i[n+28>>2],I8(A,k,13656,n+16|0);break e;case 2:break A;default:break e}if(V[i[i[e>>2]+92>>2]](f,i[e+4>>2],r,A,k),i[f>>2])break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];break i}e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430]}B=n+32|0}function Dm(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;if(n=B-16|0,B=n,t=i[e+68>>2],t){t=V[i[i[t>>2]+24>>2]](t)|0;i:{r:{if(!(!i[e+64>>2]|(r|A)!=0&(t|0)<=0)&&!(V[i[i[e>>2]+24>>2]](e)|0))break r;i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0;break i}if(k>>>0>=3){i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0;break i}if(o=i[e+64>>2],A=q0(t,0,r,A),r=(t|0)>0,Ce(o,r?A:0,r?w0:0,k)){i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0;break i}r=i[e+64>>2];r:{if(i[r+76>>2]<0){r=C9(r),A=w0;break r}r=C9(r),A=w0}i[f+8>>2]=r,i[f+12>>2]=A,i[f>>2]=0,i[f+4>>2]=0,r=i[e+72>>2],e=i[e+76>>2],i[n>>2]=r,i[n+4>>2]=e,i[n+8>>2]=r,i[n+12>>2]=e,e=i[n+4>>2],i[f>>2]=i[n>>2],i[f+4>>2]=e}B=n+16|0;return}u1(),P()}function jr(f,e,r){var A=0,k=0,n=0,t=0,o=0;if((e|0)!=(r|0))for(o=f+4|0;;){t=i[f+4>>2];i:{r:{e:{if(A=o,(A|0)==i[f>>2])break e;n=A,k=t;A:{if(k){for(;;)if(A=k,k=i[A+4>>2],!k)break A}for(;A=i[n+8>>2],k=i[A>>2]==(n|0),n=A,!!k;);}if(k=i[e>>2],k>>>0>k0[A+16>>2])break e;if(n=o,A=n,!t)break r;for(;;){if(A=t,n=i[A+16>>2],n>>>0>k>>>0){if(n=A,t=i[A>>2],t)continue;break r}if(k>>>0<=n>>>0)break i;if(t=i[A+4>>2],!t)break}n=A+4|0;break r}if(n=t?A+4|0:o,i[n>>2])break i;A=t?A:o}k=U(20),t=i[e>>2],i[k+8>>2]=A,i[k>>2]=0,i[k+4>>2]=0,i[k+16>>2]=t,i[n>>2]=k,A=i[i[f>>2]>>2],A&&(i[f>>2]=A,k=i[n>>2]),D1(i[f+4>>2],k),i[f+8>>2]=i[f+8>>2]+1}if(e=e+4|0,(r|0)==(e|0))break}}function bn(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=75028,A=i[f+68>>2],A){if(e=i[f+72>>2],r=A,(e|0)!=(A|0)){for(;r=e-12|0,k=i[r>>2],k&&(i[e-8>>2]=k,G(k)),e=r,(A|0)!=(e|0););r=i[f+68>>2]}i[f+72>>2]=A,G(r)}if(A=i[f+56>>2],A){if(e=i[f+60>>2],r=A,(e|0)!=(A|0)){for(;r=e-12|0,k=i[r>>2],k&&(i[e-8>>2]=k,G(k)),e=r,(A|0)!=(e|0););r=i[f+56>>2]}i[f+60>>2]=A,G(r)}if(i[f>>2]=68616,A=i[f+36>>2],A){if(e=A,r=i[f+40>>2],(e|0)!=(r|0)){for(;;){e=i[r-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r-8|0,(A|0)==(r|0))break}e=i[f+36>>2]}i[f+40>>2]=A,G(e)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function B0(f,e,r){var A=0,k=0,n=0,t=0;i:{if(!r||(l[f|0]=e,A=f+r|0,l[A-1|0]=e,r>>>0<3)||(l[f+2|0]=e,l[f+1|0]=e,l[A-3|0]=e,l[A-2|0]=e,r>>>0<7)||(l[f+3|0]=e,l[A-4|0]=e,r>>>0<9)||(A=0-f&3,k=A+f|0,e=m(e&255,16843009),i[k>>2]=e,A=r-A&-4,r=A+k|0,i[r-4>>2]=e,A>>>0<9)||(i[k+8>>2]=e,i[k+4>>2]=e,i[r-8>>2]=e,i[r-12>>2]=e,A>>>0<25)||(i[k+24>>2]=e,i[k+20>>2]=e,i[k+16>>2]=e,i[k+12>>2]=e,i[r-16>>2]=e,i[r-20>>2]=e,i[r-24>>2]=e,i[r-28>>2]=e,t=k&4|24,r=A-t|0,r>>>0<32))break i;for(A=q0(e,0,1,1),n=w0,e=k+t|0;i[e+24>>2]=A,i[e+28>>2]=n,i[e+16>>2]=A,i[e+20>>2]=n,i[e+8>>2]=A,i[e+12>>2]=n,i[e>>2]=A,i[e+4>>2]=n,e=e+32|0,r=r-32|0,r>>>0>31;);}return f}function Um(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0;n=B-32|0,B=n,k=i[e>>2],t=i[k+64>>2],k=i[k+68>>2],k&&(i[k+4>>2]=i[k+4>>2]+1);i:{if(i[t+20>>2]!=(r|0)){if(i[A>>2]=0,l[n|0]=0,l[n+11|0]=0,r=r0(n+12|0,5,2e3,n),l[n+11|0]<0&&G(i[n>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}r=U(16),i[r+8>>2]=0,i[r+12>>2]=0,i[A>>2]=r,k&&(i[k+4>>2]=i[k+4>>2]+1),i[r+4>>2]=k,i[r>>2]=t,r=i[e+8>>2],A=i[A>>2],t=i[e+12>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[A+8>>2]=r,r=i[A+12>>2],i[A+12>>2]=t;r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}P0(f,78256,i[e>>2])}i:{if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}B=n+32|0}function dn(f,e,r){i:{r:switch(e-1|0){case 0:e=i[f+20>>2],i[e+48>>2]=1751476579,i[e+52>>2]=0,Z4(e,1835623985),Z4(i[f+20>>2],1751476579);break i;case 3:e=i[f+20>>2],i[e+48>>2]=1635150182,i[e+52>>2]=0,Z4(e,1635150182),Z4(i[f+20>>2],1835623985);break i;case 4:e=i[f+20>>2],i[e+48>>2]=1987471715,i[e+52>>2]=0,Z4(e,1835623985),Z4(i[f+20>>2],1987471715);break i;case 2:e=i[f+20>>2],i[e+48>>2]=1785750887,i[e+52>>2]=0,Z4(e,1785750887),Z4(i[f+20>>2],1835623985);break i;case 7:e=i[f+20>>2],i[e+48>>2]=1835623986,i[e+52>>2]=0,Z4(e,1835623985);break i;case 6:case 9:break r;default:break i}e=i[f+20>>2],i[e+48>>2]=1781689193,i[e+52>>2]=0,Z4(e,1835623985),Z4(i[f+20>>2],1781689193)}r&&Z4(i[f+20>>2],1835622758)}function cn(f,e){var r=0,A=0,k=0;i:{if(s[e|0]||(e=OA(15058),s[e|0]&&e)||(e=OA(m(f,12)+56480|0),s[e|0]&&e)||(e=OA(15133),s[e|0]&&e))break i;e=16417}i:{for(;;){if(A=s[e+r|0],!(!A|(A|0)==47)){if(A=23,r=r+1|0,(r|0)!=23)continue;break i}break}A=r}k=16417;i:{r:{r=s[e|0];e:{A:{if(!(s[e+A|0]|(r|0)==46)&&(k=e,(r|0)!=67))break A;if(!s[k+1|0])break e}if(!v4(k,16417))break e;if(v4(k,14836))break r}if(!f&&(r=55412,s[k+1|0]==46))break i;return 0}if(r=i[24901],r)for(;;){if(!v4(k,r+8|0))break i;if(r=i[r+32>>2],!r)break}r=Z2(36),r&&(e=i[13854],i[r>>2]=i[13853],i[r+4>>2]=e,e=r+8|0,l0(e,k,A),l[e+A|0]=0,i[r+32>>2]=i[24901],i[24901]=r),r=f|r?r:55412}return r}function i7(f){var e=0,r=0,A=0,k=0;if(e=i[f+40>>2],A=i[f+36>>2],(e|0)!=(A|0))for(;;){r=i[e-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e-8|0,(A|0)==(e|0))break}i[f+40>>2]=A,e=i[f+56>>2],i[f+52>>2]=0,i[f+56>>2]=0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+68>>2],i[f+64>>2]=0,i[f+68>>2]=0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(e=i[f+156>>2],A=i[f+152>>2],(e|0)!=(A|0))for(;;){r=i[e-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e-8|0,(A|0)==(e|0))break}i[f+156>>2]=A}function r7(f,e,r,A,k,n,t,o){var u=0,h=0,w=0,_=0;if(h=B-16|0,B=h,(e^-1)+1073741815>>>0>=r>>>0){s[f+11|0]>>>7|0?u=i[f>>2]:u=f,w=u,u=h+4|0,_=u,e>>>0<536870899?(i[h+12>>2]=e<<1,i[h+4>>2]=e+r,r=B-16|0,B=r,B=r+16|0,r=h+12|0,r=i[(k0[u>>2]<k0[r>>2]?r:u)>>2],r>>>0>=2?(u=r+2&-2,r=u-1|0,r=(r|0)==2?u:r):r=1,r=r+1|0):r=1073741815,xi(_,r),r=i[h+4>>2],k&&ui(w,k,r),t&&ui(o,t,r+(k<<2)|0),u=k+n|0,o=A-u|0,(A|0)!=(u|0)&&(A=k<<2,ui((A+w|0)+(n<<2)|0,o,(r+A|0)+(t<<2)|0)),(e|0)!=1&&Q8(w,4),i[f>>2]=r,i[f+8>>2]=i[f+8>>2]&-2147483648|i[h+8>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,e=f,f=o+(k+t|0)|0,i[e+4>>2]=f,i[h+12>>2]=0,i[r+(f<<2)>>2]=i[h+12>>2],B=h+16|0;return}o4(),P()}function e7(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(i[f>>2]=74252,A=i[f+84>>2],A){if(e=A,n=i[f+88>>2],(e|0)!=(n|0)){for(;;){if(o=n-12|0,k=i[o>>2],k){if(e=k,u=n-8|0,r=i[u>>2],(e|0)!=(r|0)){for(;e=r-12|0,t=i[e>>2],t&&(i[r-8>>2]=t,G(t)),r=e,(e|0)!=(k|0););e=i[o>>2]}i[u>>2]=k,G(e)}if(n=n-16|0,(A|0)==(n|0))break}e=i[f+84>>2]}i[f+88>>2]=A,G(e)}if(i[f>>2]=68616,A=i[f+36>>2],A){if(e=i[f+40>>2],r=A,(e|0)!=(r|0)){for(;;){r=i[e-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e-8|0,(A|0)==(e|0))break}r=i[f+36>>2]}i[f+40>>2]=A,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function W0(f,e){var r=0,A=0,k=0,n=0,t=0;if(r=B-144|0,B=r,i[r+8>>2]=54496,i[r+64>>2]=54516,A=i[13633],i[r>>2]=A,i[i[A-12>>2]+r>>2]=i[13634],i[r+4>>2]=0,A=i[i[r>>2]-12>>2]+r|0,k=r+12|0,b0(A,k),i[A+72>>2]=0,i[A+76>>2]=-1,A=i[13635],i[r+8>>2]=A,n=r+8|0,i[n+i[A-12>>2]>>2]=i[13636],A=i[13632],i[r>>2]=A,i[i[A-12>>2]+r>>2]=i[13637],i[r+64>>2]=54516,i[r>>2]=54476,i[r+8>>2]=54496,A=$0(k),i[A>>2]=53552,i[r+52>>2]=0,i[r+56>>2]=0,i[r+44>>2]=0,i[r+48>>2]=0,i[r+60>>2]=24,i[e>>2]>0)for(;x(n,18713,2),t=t+1|0,(t|0)<i[e>>2];);i2(f,A),f=i[13631],i[r>>2]=f,i[i[f-12>>2]+r>>2]=i[13639],i[r+8>>2]=i[13640],i[A>>2]=53552,l[r+55|0]<0&&G(i[r+44>>2]),K0(A),T0(r- -64|0),B=r+144|0}function A7(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0;if(i[f>>2]=68964,A=i[f+56>>2],A){if(r=A,n=i[f+60>>2],(r|0)!=(n|0)){for(;;){if(t=n-16|0,k=i[t>>2],k){if(e=k,o=n-12|0,r=i[o>>2],(e|0)!=(r|0)){for(;e=i[r-16>>2],e&&(i[r-12>>2]=e,G(e)),r=r-40|0,(k|0)!=(r|0););e=i[t>>2]}i[o>>2]=k,G(e)}if(n=n-32|0,(A|0)==(n|0))break}r=i[f+56>>2]}i[f+60>>2]=A,G(r)}if(i[f>>2]=68616,k=i[f+36>>2],k){if(e=k,r=i[f+40>>2],(e|0)!=(r|0)){for(;;){A=i[r-4>>2];i:{if(!A||(e=i[A+4>>2],i[A+4>>2]=e-1,e))break i;V[i[i[A>>2]+8>>2]](A),g(A)}if(r=r-8|0,(k|0)==(r|0))break}e=i[f+36>>2]}i[f+40>>2]=k,G(e)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function Mm(f,e,r,A,k,n,t,o,u,h,w,_,v){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0,w=w|0,_=_|0,v=v|0;var Z=0,p=0,W=0,C=0,I=0,y=0,E=0;if((_|0)>0){if(!((t|0)<=0|(n|0)<=0))for(W=(u+w|0)+1<<_,C=_+1|0,u=-1<<v^-1,y=n&2147483646,E=n&1;;){if(_=(m(e,p)<<1)+f|0,w=m(k,p)<<1,v=w+A|0,w=r+w|0,I=0,(n|0)!=1)for(;Z=(m(X[w>>1],o)+W|0)+m(X[v>>1],h)>>C,X[_>>1]=(Z|0)>=0?(u|0)>(Z|0)?Z:u:0,Z=(m(X[w+2>>1],o)+W|0)+m(X[v+2>>1],h)>>C,X[_+2>>1]=(Z|0)>=0?(u|0)>(Z|0)?Z:u:0,v=v+4|0,w=w+4|0,_=_+4|0,I=I+2|0,(y|0)!=(I|0););if(E&&(w=(m(X[w>>1],o)+W|0)+m(X[v>>1],h)>>C,X[_>>1]=(w|0)>=0?(u|0)>(w|0)?w:u:0),p=p+1|0,(p|0)==(t|0))break}return}C0(17004,13955,213,8045),P()}function q4(f,e,r,A,k){var n=0,t=0,o=0,u=0;u=B-16|0,B=u,i[u+12>>2]=e,e=0,o=6;i:{r:{if(J2(f,u+12|0))break r;n=i[f>>2],t=i[n+12>>2];e:{if((t|0)==i[n+16>>2]){n=V[i[i[n>>2]+36>>2]](n)|0;break e}n=s[t|0]}if(t=n<<24>>24,(t|0)>=0?n=(i[i[A+8>>2]+(t<<2)>>2]&64)!=0:n=0,o=4,!n)break r;for(e=V[i[i[A>>2]+36>>2]](A,t,0)|0;;){e:{if(E1(f),e=e-48|0,J2(f,u+12|0)|(k|0)<2)break e;n=i[f>>2],t=i[n+12>>2];A:{if((t|0)==i[n+16>>2]){n=V[i[i[n>>2]+36>>2]](n)|0;break A}n=s[t|0]}if(n=n<<24>>24,(n|0)>=0?o=(i[i[A+8>>2]+(n<<2)>>2]&64)!=0:o=0,!o)break i;k=k-1|0,e=(V[i[i[A>>2]+36>>2]](A,n,0)|0)+m(e,10)|0;continue}break}if(!J2(f,u+12|0))break i;o=2}i[r>>2]=o|i[r>>2]}return B=u+16|0,e}function xm(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;A=B-32|0,B=A;i:{if((e|0)==-1){if(s[f+52|0])break i;e=i[f+48>>2],l[f+52|0]=(e|0)!=-1;break i}r=s[f+52|0];r:{e:{A:{if(!s[f+53|0]){if(r&1)break A;break r}if(r=r&1,r){if(yo(i[f+48>>2],i[f+32>>2]))break r;break e}if(!r)break r}l[A+19|0]=i[f+48>>2]<<24>>24;A:{f:switch(r=i[f+36>>2],k=A+20|0,(V[i[i[r>>2]+12>>2]](r,i[f+40>>2],A+19|0,k,A+12|0,A+24|0,A+32|0,k)|0)-1|0){case 0:case 1:break e;case 2:break f;default:break A}r=i[f+48>>2],i[A+20>>2]=A+25,l[A+24|0]=r}for(;;){if(r=i[A+20>>2],r>>>0<=A+24>>>0)break r;if(r=r-1|0,i[A+20>>2]=r,(gi(l[r|0],i[f+32>>2])|0)==-1)break}}e=-1;break i}l[f+52|0]=1,i[f+48>>2]=e}return B=A+32|0,e|0}function zm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;if(!r)return 0;i:{r:{if(e=i[f>>2],s[e+60|0]==1){if(f=i[f+4>>2],f)break r;f=0;break i}if(f=i[e+68>>2],e=i[e+64>>2],f)break r;f=0;break i}i[f+4>>2]=i[f+4>>2]+1}s[e+72|0]==1&&(A=U(56),k=i[e+132>>2],i[A+48>>2]=i[e+128>>2],i[A+52>>2]=k,k=i[e+124>>2],i[A+40>>2]=i[e+120>>2],i[A+44>>2]=k,k=i[e+116>>2],i[A+32>>2]=i[e+112>>2],i[A+36>>2]=k,k=i[e+108>>2],i[A+24>>2]=i[e+104>>2],i[A+28>>2]=k,k=i[e+100>>2],i[A+16>>2]=i[e+96>>2],i[A+20>>2]=k,k=i[e+92>>2],i[A+8>>2]=i[e+88>>2],i[A+12>>2]=k,k=i[e+84>>2],i[A>>2]=i[e+80>>2],i[A+4>>2]=k,k=1),i[r>>2]=A;i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return k|0}function B4(f,e){var r=0,A=0,k=0,n=0;r=B-32|0,B=r,i[r+24>>2]=0,i[r+16>>2]=0,i[r+20>>2]=0;i:{if(i[e+16>>2]){for(;;){if(!T4(e,1)){i[f>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0;break i}k=i[e>>2],A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1);r:{if(!(V[i[i[k>>2]+16>>2]](k,r+15|0,1)|0)){vi(e),i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,k=1;break r}if(n=l[r+15|0],k=2,!n)break r;C6(r+16|0,n),k=0}r:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(k)break}if((k|0)!=2)break i;e=i[r+20>>2],i[f>>2]=i[r+16>>2],i[f+4>>2]=e,i[f+8>>2]=i[r+24>>2],i[r+24>>2]=0,i[r+16>>2]=0,i[r+20>>2]=0;break i}i[f>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0}l[r+27|0]<0&&G(i[r+16>>2]),B=r+32|0}function Hm(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(!(!(i[r>>2]!=1|(i[r+4>>2]&-2)!=10)&i[r+12>>2]==8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=1,i[e+40>>2]=3,l[e+44|0]=s[A+8|0],i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e>>2]=1,i[e+4>>2]=3,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Tm(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(!(!(i[r>>2]!=1|(i[r+4>>2]&-2)!=12)&i[r+12>>2]>8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=1,i[e+40>>2]=3,l[e+44|0]=s[A+8|0],i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e>>2]=1,i[e+4>>2]=3,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function am(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;A=B-32|0,B=A;i:{if((e|0)==-1){if(s[f+52|0])break i;e=i[f+48>>2],l[f+52|0]=(e|0)!=-1;break i}r=s[f+52|0];r:{e:{A:{if(!s[f+53|0]){if(r&1)break A;break r}if(r=r&1,r){if(O7(i[f+48>>2],i[f+32>>2]))break r;break e}if(!r)break r}i[A+16>>2]=i[f+48>>2];A:{f:switch(r=i[f+36>>2],k=A+20|0,(V[i[i[r>>2]+12>>2]](r,i[f+40>>2],A+16|0,k,A+12|0,A+24|0,A+32|0,k)|0)-1|0){case 0:case 1:break e;case 2:break f;default:break A}r=i[f+48>>2],i[A+20>>2]=A+25,l[A+24|0]=r}for(;;){if(r=i[A+20>>2],r>>>0<=A+24>>>0)break r;if(r=r-1|0,i[A+20>>2]=r,(gi(l[r|0],i[f+32>>2])|0)==-1)break}}e=-1;break i}l[f+52|0]=1,i[f+48>>2]=e}return B=A+32|0,e|0}function M8(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if(k=i[f+24>>2],!((k|0)>=(e|0)|(k|0)>56)){for(A=64-k|0,n=i[f+16>>2],w=i[f+20>>2],k=i[f+8>>2],r=i[f>>2];;){i:{if(t=A,!k){u=A;break i}if(o=r+1|0,i[f>>2]=o,r=s[r|0],k=k-1|0,i[f+8>>2]=k,u=t-8|0,h=u&31,(u&63)>>>0>=32?(_=r<<h,r=0):(_=(1<<h)-1&r>>>32-h,r=r<<h),n=r|n,r=w|_,w=r,i[f+16>>2]=n,i[f+20>>2]=r,r=A,A=r-8|0,v=v-(r>>>0<8)|0,r=o,(t|0)>15)continue}break}k=64-u|0}return i[f+24>>2]=k-e,r=i[f+16>>2],A=f,A=f,f=i[f+20>>2],t=r,n=e&31,(e&63)>>>0>=32?(o=r<<n,t=0):(o=(1<<n)-1&t>>>32-n|f<<n,t=t<<n),i[A+16>>2]=t,i[A+20>>2]=o,A=64-e|0,e=r,r=A&31,(A&63)>>>0>=32?f=f>>>r|0:f=((1<<r)-1&f)<<32-r|e>>>r,f&255}function g0(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if(k=i[f+24>>2],!((k|0)>=(e|0)|(k|0)>56)){for(A=64-k|0,n=i[f+16>>2],w=i[f+20>>2],k=i[f+8>>2],r=i[f>>2];;){i:{if(t=A,!k){u=A;break i}if(o=r+1|0,i[f>>2]=o,r=s[r|0],k=k-1|0,i[f+8>>2]=k,u=t-8|0,h=u&31,(u&63)>>>0>=32?(_=r<<h,r=0):(_=(1<<h)-1&r>>>32-h,r=r<<h),n=r|n,r=w|_,w=r,i[f+16>>2]=n,i[f+20>>2]=r,r=A,A=r-8|0,v=v-(r>>>0<8)|0,r=o,(t|0)>15)continue}break}k=64-u|0}return i[f+24>>2]=k-e,r=i[f+16>>2],A=f,A=f,f=i[f+20>>2],t=r,n=e&31,(e&63)>>>0>=32?(o=r<<n,t=0):(o=(1<<n)-1&t>>>32-n|f<<n,t=t<<n),i[A+16>>2]=t,i[A+20>>2]=o,A=64-e|0,e=r,r=A&31,(A&63)>>>0>=32?f=f>>>r|0:f=((1<<r)-1&f)<<32-r|e>>>r,f}function Sm(f,e,r,A,k,n,t,o,u,h,w,_){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0,w=w|0,_=_|0;var v=0,Z=0,p=0,W=0,C=0,I=0,y=0;if((_|0)>0){if(!((t|0)<=0|(n|0)<=0))for(p=(u+w|0)+1<<_,W=_+1|0,I=n&2147483646,y=n&1;;){if(_=m(e,Z)+f|0,u=m(k,Z)<<1,w=u+A|0,u=r+u|0,C=0,(n|0)!=1)for(;v=(m(X[u>>1],o)+p|0)+m(X[w>>1],h)>>W,v=(v|0)>=255?255:v,l[_|0]=(v|0)>0?v:0,v=(m(X[u+2>>1],o)+p|0)+m(X[w+2>>1],h)>>W,v=(v|0)>=255?255:v,l[_+1|0]=(v|0)>0?v:0,w=w+4|0,u=u+4|0,_=_+2|0,C=C+2|0,(I|0)!=(C|0););if(y&&(u=(m(X[u>>1],o)+p|0)+m(X[w>>1],h)>>W,u=(u|0)>=255?255:u,l[_|0]=(u|0)>0?u:0),Z=Z+1|0,(Z|0)==(t|0))break}return}C0(17004,13955,80,7893),P()}function Om(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(!s[e+48|0]){k=t2(r);break i}k=D0(r)}i:{if(!k){if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567]);break i}Yr(f,e,r,-1)}B=A+32|0}function Pr(f,e,r,A,k,n,t,o){var u=0,h=0,w=0,_=0;if(h=B-16|0,B=h,(e^-1)+2147483639>>>0>=r>>>0){s[f+11|0]>>>7|0?u=i[f>>2]:u=f,w=u,u=h+4|0,_=u,e>>>0<1073741811?(i[h+12>>2]=e<<1,i[h+4>>2]=e+r,r=B-16|0,B=r,B=r+16|0,r=h+12|0,r=i[(k0[u>>2]<k0[r>>2]?r:u)>>2],r>>>0>=11?(u=r+8&-8,r=u-1|0,r=(r|0)==11?u:r):r=10,r=r+1|0):r=2147483639,Mi(_,r),r=i[h+4>>2],k&&e8(w,k,r),t&&e8(o,t,r+k|0),u=k+n|0,o=A-u|0,(A|0)!=(u|0)&&e8((k+w|0)+n|0,o,(r+k|0)+t|0),(e|0)!=10&&Q8(w,1),i[f>>2]=r,i[f+8>>2]=i[f+8>>2]&-2147483648|i[h+8>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,e=f,f=o+(k+t|0)|0,i[e+4>>2]=f,l[h+12|0]=0,l[f+r|0]=s[h+12|0],B=h+16|0;return}o4(),P()}function f7(f){var e=0,r=0,A=0,k=0,n=0;n=i[23985],i[f+72>>2]<=0&&z3(f),i[23985]=i[f+136>>2],r=B-32|0,B=r;i:{r:{e:{if(e=i[f+4>>2],A=i[f+8>>2],(e|0)==(A|0)||(e=h7(r+28|0,e,A-e|0),(e|0)==-1))break e;i[f+4>>2]=i[f+4>>2]+(e>>>0<=1?1:e);break r}for(i[r+16>>2]=0,i[r+20>>2]=0,e=0;;){A=e;e:{if(e=i[f+4>>2],(e|0)!=i[f+8>>2]){i[f+4>>2]=e+1,l[r+15|0]=s[e|0];break e}if(e=ve(f),l[r+15|0]=e,(e|0)>=0)break e;if(e=-1,!(A&1))break i;i[f>>2]=i[f>>2]|32,i[23944]=25;break i}if(e=1,k=B6(r+28|0,r+15|0,1,r+16|0),(k|0)!=-2)break}if(e=-1,(k|0)!=-1)break r;if(!(A&1))break i;i[f>>2]=i[f>>2]|32,gi(s[r+15|0],f);break i}e=i[r+28>>2]}return B=r+32|0,i[23985]=n,e}function MA(f,e,r,A,k,n){var t=0;t=B-32|0,B=t,i[t+8>>2]=0,i[t>>2]=0,i[t+4>>2]=0;i:{r:{if(n>>>0<2)break r;e:switch(n-3|0){case 1:if(l[t+12|0]=0,l[t+23|0]=0,r0(f,4,3005,t+12|0),l[t+23|0]>=0)break i;G(i[t+12>>2]);break i;case 0:break e;default:break r}if(l[t+12|0]=0,l[t+23|0]=0,r0(f,4,3005,t+12|0),l[t+23|0]>=0)break i;G(i[t+12>>2]);break i}if(k?(L2(t,k),n=i[t>>2]):n=0,l0(n,A,k),Wr(t+12|0,i[e+60>>2],i[i[r>>2]+56>>2],t,0),l[t+31|0]<0&&G(i[t+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}f=i[t>>2],f&&(i[t+4>>2]=f,G(f)),B=t+32|0}function L2(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;if(n=i[f+8>>2],A=i[f+4>>2],n-A>>>0>=e>>>0){e&&(A=B0(A,0,e)+e|0),i[f+4>>2]=A;return}if(k=i[f>>2],t=A-k|0,r=t+e|0,(r|0)>=0){n=n-k|0,o=n<<1,r=n>>>0>=1073741823?2147483647:r>>>0<o>>>0?o:r,r&&(u=U(r)),n=r+u|0,o=e,r=t+u|0,e=B0(r,0,e),o=o+e|0;i:{if((A|0)==(k|0)){u=e;break i}h=t&3;r:{if(!h){e=A;break r}for(t=0,e=A;r=r-1|0,e=e-1|0,l[r|0]=s[e|0],t=t+1|0,(h|0)!=(t|0););}if(k-A>>>0<=4294967292)for(;l[r-1|0]=s[e-1|0],l[r-2|0]=s[e-2|0],l[r-3|0]=s[e-3|0],r=r-4|0,e=e-4|0,l[r|0]=s[e|0],(e|0)!=(k|0););k=i[f>>2]}i[f+8>>2]=n,i[f+4>>2]=o,i[f>>2]=u,k&&G(k);return}y0(),P()}function k7(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0;i:{if(n=V[i[i[e>>2]+68>>2]](i[e+4>>2])|0,k=i[n>>2],k)for(;;){o=n;r:{if(v4(i[k+4>>2],r))break r;e:{if(i[k+8>>2]==1){if(n=0,u=0,h=0,w=s[k+16|0],w&&(h=i[k+24>>2],u=i[k+20>>2]),t=i[k+32>>2],n=(t|0)>0?i[k+28>>2]:n,!(!w|!((A|0)<(u|0)|(A|0)>(h|0))))break i;if(k=0,(t|0)>0)break e;break r}i[f>>2]=5,e=i[18430],i[f+4>>2]=i[18429],i[f+8>>2]=e;return}for(;;){if(i[(k<<2)+n>>2]==(A|0))break r;if(k=k+1|0,(t|0)==(k|0))break}break i}if(n=o+4|0,k=i[o+4>>2],!k)break}V[i[i[e>>2]+72>>2]](f,i[e+4>>2],r,A);return}e=i[18426],i[f>>2]=i[18425],i[f+4>>2]=e,i[f+8>>2]=i[18427]}function n7(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(Ve(),r=i[19569],(r|0)==78280)return 0;i:{if(!e){for(;;){n=i[r+16>>2],e=V[i[n+16>>2]](f)|0,k=(e|0)>(t|0),A=i[r+4>>2];r:{if(A){for(;;)if(r=A,A=i[r>>2],!A)break r}for(;A=r,r=i[r+8>>2],(A|0)!=i[r>>2];);}if(t=k?e:t,u=k?n:u,(r|0)==78280)break}break i}for(;;){r:{if(o=i[r+16>>2],k=V[i[o+16>>2]](f)|0,(k|0)<=0|i[o>>2]<3||v4(e,i[o+40>>2]))break r;return o}n=(t|0)<(k|0),A=i[r+4>>2];r:{if(A){for(;;)if(r=A,A=i[r>>2],!A)break r}for(;A=r,r=i[r+8>>2],(A|0)!=i[r>>2];);}if(t=n?k:t,u=n?o:u,(r|0)==78280)break}}return u}function jm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=A+12|0,i[n+i[k-12>>2]>>2]=i[13709],k=n+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(k,t),i[k+72>>2]=0,i[k+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,k=$0(t),i[k>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,W0(t,r),o=n,r=l[A+159|0],n=(r|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,20785,14),i[e+12>>2]-i[e+8>>2]|0),31338,1),i2(f,k),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[k>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(k),T0(A+68|0),B=A+160|0}function t7(f,e,r,A,k){var n=0,t=0,o=0;if(n=U(24),i[n+20>>2]=e,l[n+8|0]=r,i[n>>2]=45868,i[n+4>>2]=0,i[n+16>>2]=k,i[n+12>>2]=A,i[e+18604>>2]=n,E6(f+1392|0,n),A=i[e+18596>>2],e=i[A+460>>2],r=i[A+464>>2],e>>>0<r>>>0){i[e>>2]=n,i[A+460>>2]=e+4;return}i:{if(k=i[A+456>>2],t=e-k>>2,f=t+1|0,f>>>0<1073741824){if(o=t<<2,r=r-k|0,t=r>>1,t=r>>>0>=2147483644?1073741823:f>>>0<t>>>0?t:f,t){if(t>>>0>=1073741824)break i;f=U(t<<2)}else f=0;if(r=o+f|0,i[r>>2]=n,n=r+4|0,(e|0)!=(k|0)){for(;r=r-4|0,e=e-4|0,i[r>>2]=i[e>>2],(e|0)!=(k|0););k=i[A+456>>2]}i[A+464>>2]=f+(t<<2),i[A+460>>2]=n,i[A+456>>2]=r,k&&G(k),i[A+460>>2]=n;return}y0(),P()}_2(),P()}function Pm(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;t=B-32|0,B=t,i[t+28>>2]=e;i:{if(!(i[A+4>>2]&1)){i[t>>2]=-1,e=V[i[i[f>>2]+16>>2]](f,e,r,A,k,t)|0;r:switch(i[t>>2]){case 0:l[n|0]=0;break i;case 1:l[n|0]=1;break i;default:break r}l[n|0]=1,i[k>>2]=4;break i}for(f=i[A+28>>2],i[t>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),e=x0(t,100192),O0(t),f=i[A+28>>2],i[t>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),f=x0(t,100248),O0(t),V[i[i[f>>2]+24>>2]](t,f),V[i[i[f>>2]+28>>2]](t|12,f),A=t+24|0,o=n,u=(Nr(t+28|0,r,t,A,e,k,1)|0)==(t|0),l[o|0]=u,e=i[t+28>>2];A=z0(A-12|0),(t|0)!=(A|0););}return B=t+32|0,e|0}function Lm(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;t=B-32|0,B=t,i[t+28>>2]=e;i:{if(!(i[A+4>>2]&1)){i[t>>2]=-1,e=V[i[i[f>>2]+16>>2]](f,e,r,A,k,t)|0;r:switch(i[t>>2]){case 0:l[n|0]=0;break i;case 1:l[n|0]=1;break i;default:break r}l[n|0]=1,i[k>>2]=4;break i}for(f=i[A+28>>2],i[t>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),e=x0(t,100184),O0(t),f=i[A+28>>2],i[t>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),f=x0(t,100256),O0(t),V[i[i[f>>2]+24>>2]](t,f),V[i[i[f>>2]+28>>2]](t|12,f),A=t+24|0,o=n,u=(Rr(t+28|0,r,t,A,e,k,1)|0)==(t|0),l[o|0]=u,e=i[t+28>>2];A=l1(A-12|0),(t|0)!=(A|0););}return B=t+32|0,e|0}function Km(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0;A=B-16|0,B=A,f=i[f>>2],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0;i:{if(r=i[f+28>>2],k=i[f+32>>2],(r|0)!=(k|0)){if(f=k-r|0,(f|0)<0)break i;for(n=U(f),i[A+4>>2]=n,i[A+12>>2]=f+n,f=n;i[f>>2]=i[r>>2],t=f,f=i[r+4>>2],i[t+4>>2]=f,f&&(i[f+4>>2]=i[f+4>>2]+1),f=t+8|0,r=r+8|0,(k|0)!=(r|0););for(i[A+8>>2]=f,r=n;o=i[i[r>>2]+20>>2]==(e|0),!!(!o&&(k=(r|0)!=(t|0),r=r+8|0,k)););for(;;){e=i[f-4>>2];r:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(n|0)==(f|0))break}G(i[A+4>>2])}return B=A+16|0,o|0}y0(),P()}function m6(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0;B0(f+38|0,0,2064),i[f+18524>>2]=-1,i[f+18528>>2]=-1;i:{r:{if(A=i[i[f+18592>>2]+24>>2],(A|0)>0){if(t=i[f+18588>>2],e=i[t+124>>2],k=i[e+484>>2]-1|0,n=i[t+132>>2],n=i[(i[n+8460>>2]+(i[i[n+8448>>2]+(A<<2)>>2]<<2)|0)-4>>2],r=i[e+16892>>2],A=(n|0)/(r|0)|0,r=(n-m(A,r)|0)+1|0,n=i[e+16876>>2],r=(r<<n)-1|0,k=(k|0)<(r|0)?k:r,r=i[t+168>>2],k=k>>r,(k|0)<0||(o=i[t+172>>2],(k|0)>=(o|0)))break r;if(e=i[e+488>>2]-1|0,A=(A+1<<n)-1|0,e=((e|0)<(A|0)?e:A)>>r,(e|0)<0|(e|0)>=i[t+176>>2])break i;i[f+18520>>2]=l[((i[t+160>>2]+m(k,3)|0)+m(m(e,o),3)|0)+2|0]}return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function qm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;k=B-32|0,B=k;i:{if(!(r&&e)){i[f+8>>2]=0,i[f>>2]=5,i[f+4>>2]=2001;break i}if(!s[i[e>>2]+256|0]){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,139,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}A=U(80),i[A+16>>2]=0,i[A+20>>2]=0,X[A+12>>1]=1,i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+40>>2]=0,i[A+44>>2]=1072693248,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[A+72>>2]=0,i[r>>2]=A,l0(A,i[e>>2]+264|0,76),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}B=k+32|0}function Lr(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;if(k=i[f+8>>2],n=i[f+4>>2],k-n>>>0>=e>>>0){e&&(n=B0(n,s[r|0],e)+e|0),i[f+4>>2]=n;return}if(t=i[f>>2],o=n-t|0,A=o+e|0,(A|0)>=0){if(k=k-t|0,u=k<<1,k=k>>>0>=1073741823?2147483647:A>>>0<u>>>0?u:A,k?A=U(k):A=0,k=A+k|0,A=A+o|0,u=B0(A,s[r|0],e)+e|0,(n|0)!=(t|0)){o=o&3;i:{if(!o){e=n;break i}for(r=0,e=n;A=A-1|0,e=e-1|0,l[A|0]=s[e|0],r=r+1|0,(o|0)!=(r|0););}if(t-n>>>0<=4294967292)for(;l[A-1|0]=s[e-1|0],l[A-2|0]=s[e-2|0],l[A-3|0]=s[e-3|0],A=A-4|0,e=e-4|0,l[A|0]=s[e|0],(e|0)!=(t|0););t=i[f>>2]}i[f+8>>2]=k,i[f+4>>2]=u,i[f>>2]=A,t&&G(t);return}y0(),P()}function o7(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;if(r=B-48|0,k=r,B=r,t=r-48|0,B=t,l[t+33|0]=0,B0(t,46,33),u=t+16|0,l[u|0]=124,r=s[f+96|0],r)for(h=f- -64|0;;){n=r,r=r-1|0,o=s[h+r|0],A=X[(r<<1)+f>>1];i:{if(!((A|0)>=-16&(A|0)<=16)){i[k+32>>2]=A,i[k+36>>2]=o?88:111,c(e,19300,k+32|0);break i}if(A=A+u|0,o){l[A|0]=88;break i}l[A|0]=111}if(!(n>>>0>1))break}if(r=s[f+97|0],r)for(o=f+80|0,h=f+32|0;;){f=r,r=r-1|0,A=s[o+r|0],n=X[h+(r<<1)>>1];i:{if(!((n|0)>=-16&(n|0)<=16)){i[k+16>>2]=n,i[k+20>>2]=A?88:111,c(e,19300,k+16|0);break i}if(n=n+u|0,A){l[n|0]=88;break i}l[n|0]=111}if(!(f>>>0>1))break}i[k>>2]=t,c(e,21799,k),B=k+48|0}function l7(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;if(i[f+4>>2]=0,i[f+8>>2]=0,t=f+4|0,i[f>>2]=t,A=i[e+60>>2],o=e- -64|0,(A|0)!=(o|0))for(;;){n=i[A+16>>2],k=t,e=k,r=i[e>>2];i:{r:{if(!r)break r;for(;;){if(e=r,r=i[r+16>>2],(r|0)>(n|0)){if(k=e,r=i[e>>2],r)continue;break r}if((r|0)>=(n|0))break i;if(r=i[e+4>>2],!r)break}k=e+4|0}r=U(20),i[r+8>>2]=e,i[r>>2]=0,i[r+4>>2]=0,i[r+16>>2]=n,i[k>>2]=r,e=i[i[f>>2]>>2],e&&(i[f>>2]=e,r=i[k>>2]),D1(i[f+4>>2],r),i[f+8>>2]=i[f+8>>2]+1}r=i[A+4>>2];i:{if(r){for(;;)if(e=r,r=i[r>>2],!r)break i}for(;e=i[A+8>>2],r=i[e>>2]!=(A|0),A=e,!!r;);}if(A=e,(e|0)==(o|0))break}}function u0(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;if(k=i[f+16>>2],!((k|0)>=(e|0)|(k|0)>56)){for(A=64-k|0,k=i[f+4>>2];;){i:{if(o=A,!k){n=A;break i}if(r=i[f>>2],i[f>>2]=r+1,r=s[r|0],k=k-1|0,i[f+4>>2]=k,t=i[f+12>>2],n=o-8|0,u=n&31,w=f,(n&63)>>>0>=32?(h=r<<u,r=0):(h=(1<<u)-1&r>>>32-u,r=r<<u),i[w+8>>2]=r|i[f+8>>2],i[f+12>>2]=t|h,r=A,A=r-8|0,_=_-(r>>>0<8)|0,(o|0)>15)continue}break}k=64-n|0}return i[f+16>>2]=k-e,r=i[f+8>>2],A=f,A=f,f=i[f+12>>2],n=r,t=e&31,(e&63)>>>0>=32?(o=r<<t,n=0):(o=(1<<t)-1&n>>>32-t|f<<t,n=n<<t),i[A+8>>2]=n,i[A+12>>2]=o,A=64-e|0,e=r,r=A&31,(A&63)>>>0>=32?f=f>>>r|0:f=((1<<r)-1&f)<<32-r|e>>>r,f}function u7(f,e,r,A){var k=0,n=0,t=0,o=0;if(k=U(20),i[k+16>>2]=e,l[k+8|0]=r,i[k>>2]=45932,i[k+4>>2]=0,i[k+12>>2]=A,i[e+18604>>2]=k,E6(f+1392|0,k),t=i[e+18596>>2],e=i[t+460>>2],r=i[t+464>>2],e>>>0<r>>>0){i[e>>2]=k,i[t+460>>2]=e+4;return}i:{if(A=i[t+456>>2],n=e-A>>2,f=n+1|0,f>>>0<1073741824){if(o=n<<2,r=r-A|0,n=r>>1,n=r>>>0>=2147483644?1073741823:f>>>0<n>>>0?n:f,n){if(n>>>0>=1073741824)break i;f=U(n<<2)}else f=0;if(r=o+f|0,i[r>>2]=k,k=r+4|0,(e|0)!=(A|0)){for(;r=r-4|0,e=e-4|0,i[r>>2]=i[e>>2],(e|0)!=(A|0););A=i[t+456>>2]}i[t+464>>2]=f+(n<<2),i[t+460>>2]=k,i[t+456>>2]=r,A&&G(A),i[t+460>>2]=k;return}y0(),P()}_2(),P()}function $m(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;k=B-16|0,B=k,n=i[r>>2],A=i[r+4>>2];i:{if(A){if(i[A+4>>2]=i[A+4>>2]+1,t=e,o=V[i[i[n>>2]+8>>2]](n)|0,i[t+56>>2]=o,i[e+60>>2]=w0,i[e+48>>2]=0,i[e+52>>2]=0,e=i[A+4>>2],i[A+4>>2]=e-1,e)break i;V[i[i[A>>2]+8>>2]](A),g(A);break i}t=e,o=V[i[i[n>>2]+8>>2]](n)|0,i[t+56>>2]=o,i[e+60>>2]=w0,i[e+48>>2]=0,i[e+52>>2]=0}i:{if(s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function bm(f,e){f=f|0,e=e|0;var r=0;if(V[i[i[f>>2]+24>>2]](f)|0,e=x0(e,100200),i[f+68>>2]=e,r=s[f+98|0],e=V[i[i[e>>2]+28>>2]](e)|0,l[f+98|0]=e,(e|0)!=(r|0)){if(i[f+16>>2]=0,i[f+12>>2]=0,i[f+8>>2]=0,i[f+28>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0,e=s[f+96|0],s[f+98|0]==1){i:{if(!(e&1)||(e=i[f+32>>2],!e))break i;G(e)}l[f+96|0]=s[f+97|0],i[f+52>>2]=i[f+60>>2],e=i[f+56>>2],i[f+56>>2]=0,i[f+60>>2]=0,i[f+32>>2]=e,l[f+97|0]=0;return}i:{if(e&1||(e=i[f+32>>2],(e|0)==(f+44|0)))break i;l[f+97|0]=0,i[f+56>>2]=e,e=i[f+52>>2],i[f+60>>2]=e,e=U(e),l[f+96|0]=1,i[f+32>>2]=e;return}e=i[f+52>>2],i[f+60>>2]=e,e=U(e),l[f+97|0]=1,i[f+56>>2]=e}}function dm(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0;i:{if(h=V[i[i[e>>2]+68>>2]](i[e+4>>2])|0,e=i[h>>2],!e)break i;for(;;){if(v4(i[e+4>>2],r)){if(e=i[h+4>>2],h=h+4|0,e)continue;break i}break}if(i[e+8>>2]!=1){e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430];return}r:{if(!s[e+16|0]||(n&&(i[n>>2]=i[e+20>>2]),!t))break r;i[t>>2]=i[e+24>>2]}A&&(i[A>>2]=s[e+16|0]),k&&(i[k>>2]=s[e+16|0]),!u|i[e+32>>2]<=0||(i[u>>2]=i[e+28>>2]),o&&(i[o>>2]=i[e+32>>2]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];return}e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430]}function cm(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0;r=B-32|0,B=r;i:{r:{e:{if((e|0)==-1)break e;if(A=e<<24>>24,l[r+23|0]=A,s[f+44|0]==1){if(k=i[f+32>>2],f=B-16|0,B=f,l[f+15|0]=A,A=F1(f+15|0,1,1,k),B=f+16|0,(A|0)!=1)break r;break e}for(n=r+24|0,i[r+16>>2]=n,o=r+32|0,A=r+23|0;;){if(k=i[f+36>>2],k=V[i[i[k>>2]+12>>2]](k,i[f+40>>2],A,n,r+12|0,r+24|0,o,r+16|0)|0,i[r+12>>2]==(A|0))break r;if((k|0)==3){if((F1(A,1,1,i[f+32>>2])|0)==1)break e;break r}if(k>>>0>1||(t=r+24|0,A=i[r+16>>2]-t|0,(F1(t,1,A,i[f+32>>2])|0)!=(A|0)))break r;if(A=i[r+12>>2],(k|0)!=1)break}}f=(e|0)!=-1?e:0;break i}f=-1}return B=r+32|0,f|0}function iB(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0;e=i[f+20>>2],k=i[e+18588>>2],i[f+4>>2]=1,i[k+324>>2]=i[k+324>>2]-1,i[k+328>>2]=i[k+328>>2]+1,r=i[e+18588>>2],n=i[r+124>>2],A=i[n+16908>>2],t=i[e+4>>2],(A|0)>(t|0)&&(A=i[i[i[r+132>>2]+8460>>2]+(t<<2)>>2]),r=i[n+16892>>2],i[e>>2]=A,n=(A|0)/(r|0)|0,i[e+12>>2]=n,i[e+8>>2]=A-m(r,n);i:{r:{e:{if(s[f+8|0]==1){if(JA(e))break e;break r}if(A=i[e+18592>>2],r=i[A+804>>2],r>>>0>=3)break i;k6(e+18572|0,r,i[A+800>>2]),l[e+18580|0]=0,l[e+18581|0]=0,l[e+18582|0]=0,l[e+18583|0]=0}Y6(e+18548|0),mr(e,0,s[f+8|0])}i[f+4>>2]=3,f=i[e+18600>>2],i[f+44>>2]=i[f+44>>2]+1,Ze(k);return}C0(16898,14036,1520,4043),P()}function rB(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;if(!((n|0)<=0|(k|0)<=0))for(t=k-1|0,v=t&4,Z=(t>>>2|0)+1&2147483646,p=k>>>0<5;;){if(k=m(A,w)+r|0,t=(m(e,w)<<1)+f|0,o=0,!p)for(;u=s[k|0],h=s[k+1|0],_=s[k+2|0],X[t+6>>1]=s[k+3|0]<<6,X[t+4>>1]=_<<6,X[t+2>>1]=h<<6,X[t>>1]=u<<6,u=s[k+4|0],h=s[k+5|0],_=s[k+6|0],X[t+14>>1]=s[k+7|0]<<6,X[t+12>>1]=_<<6,X[t+10>>1]=h<<6,X[t+8>>1]=u<<6,k=k+8|0,t=t+16|0,o=o+2|0,(Z|0)!=(o|0););if(v||(o=s[k|0],u=s[k+1|0],h=s[k+2|0],X[t+6>>1]=s[k+3|0]<<6,X[t+4>>1]=h<<6,X[t+2>>1]=u<<6,X[t>>1]=o<<6),w=w+1|0,(w|0)==(n|0))break}}function eB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A;i:{if(!r){if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,5,2001,A),l[A+11|0]<0&&G(i[A>>2]),n=f,f=i[e>>2],P0(n,r,f?f+8|0:0),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}k=i[e>>2],n=i[k+44>>2],k=i[k+48>>2],k&&(i[k+4>>2]=i[k+4>>2]+1);r:{if(!n){if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,10,0,A),l[A+11|0]<0&&G(i[A>>2]),n=f,f=i[e>>2],P0(n,r,f?f+8|0:0),l[r+19|0]>=0)break r;G(i[r+8>>2]);break r}if(t=A+12|0,wn(t,n,r),r=f,f=i[e>>2],P0(r,t,f?f+8|0:0),l[A+31|0]>=0)break r;G(i[A+20>>2])}if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}B=A+32|0}function xA(f,e){var r=0,A=0,k=0,n=0,t=0;i:{if(r=i[f>>2],A=(i[f+4>>2]-r|0)/56|0,k=A+1|0,k>>>0<76695845){if(A=m(A,56),r=(i[f+8>>2]-r|0)/56|0,n=r<<1,n=r>>>0>=38347922?76695844:k>>>0<n>>>0?n:k,n){if(n>>>0>=76695845)break i;k=U(m(n,56))}else k=0;if(A=A+k|0,Z6(A,e),t=A+56|0,e=i[f+4>>2],r=i[f>>2],(e|0)!=(r|0)){for(;A=A-56|0,e=e-56|0,Z6(A,e),(e|0)!=(r|0););r=i[f>>2],e=i[f+4>>2]}if(i[f+8>>2]=m(n,56)+k,i[f+4>>2]=t,i[f>>2]=A,(e|0)!=(r|0))for(;f=i[e-12>>2],f&&(i[e-8>>2]=f,G(f)),f=e-56|0,i[f>>2]=68500,k=i[e-36>>2],k&&(i[e-32>>2]=k,G(k)),e=f,(f|0)!=(r|0););return r&&G(r),t}y0(),P()}_2(),P()}function AB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;k=B-32|0,B=k,n=V[i[i[e>>2]+32>>2]](e,r,0)|0,k1(r,s[e+48|0]?4:2,i[e+40>>2]-i[e+36>>2]>>3,0),A=i[e+36>>2],t=i[e+40>>2];i:{if((A|0)!=(t|0))for(;;){if(o=i[A>>2],V[i[i[o>>2]+16>>2]](f,o,r),i[f>>2])break i;if(l[f+19|0]<0&&G(i[f+8>>2]),A=A+8|0,(t|0)==(A|0))break}if(A=i[19565],i[f>>2]=i[19564],i[f+4>>2]=A,f=f+8|0,l[78275]>=0){A=i[19567],i[f>>2]=i[19566],i[f+4>>2]=A,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}i[r+12>>2]=n,V[i[i[e>>2]+36>>2]](k+12|0,e,r,i[r+4>>2]-(i[r>>2]+n|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[k+31|0]<0&&G(i[k+20>>2]),B=k+32|0}function fB(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;n=B-192|0,B=n,i[n+112>>2]=55156,t=i[13792],i[n+8>>2]=t,o=i[t-12>>2],t=n+8|0,i[o+t>>2]=i[13793],o=t+i[i[n+8>>2]-12>>2]|0,u=n+12|0,b0(o,u),i[o+72>>2]=0,i[o+76>>2]=-1,i[n+112>>2]=55156,i[n+8>>2]=55136,o=z7(u),jk(o,k,20)||(k=t+i[i[n+8>>2]-12>>2]|0,z1(k,i[k+16>>2]|4)),t=B-16|0,B=t,k=n+8|0,V1(t+8|0,k);i:{if(!A|!s[t+8|0]||(u=i[(k+i[i[k>>2]-12>>2]|0)+24>>2],(V[i[i[u>>2]+48>>2]](u,r,A)|0)==(A|0)))break i;Oo(k+i[i[k>>2]-12>>2]|0,1)}Z1(t+8|0),B=t+16|0,P0(f,78256,i[e>>2]),f=i[13791],i[n+8>>2]=f,i[k+i[f-12>>2]>>2]=i[13794],I6(o),T0(n+112|0),B=n+192|0}function s7(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=U(24),l[A+22|0]=1,X[A+20>>1]=2,i[A+16>>2]=131074,i[A+12>>2]=72992,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=72832,k=A+12|0,l[k+10|0]=1,X[k+8>>1]=6,i[k+4>>2]=851969,X[A+16>>1]=i[r+4>>2],X[A+18>>1]=i[r+8>>2],X[A+20>>1]=i[r+12>>2],l[A+22|0]=s[r+16|0]!=0,r=i[e>>2],i[A+4>>2]=i[A+4>>2]+2,i[r+44>>2]=k,e=i[r+48>>2],i[r+48>>2]=A;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[A+4>>2],i[A+4>>2]=e-1,e||(V[i[i[A>>2]+8>>2]](A),g(A)),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[A+4>>2],i[A+4>>2]=f-1,f||(V[i[i[A>>2]+8>>2]](A),g(A))}function kB(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;t=B-32|0,B=t,i[t+24>>2]=0,i[t+28>>2]=0,u=t+4|0,o=i[e>>2],Mk(u,o,r,i[o+24>>2]+(A^-1)|0,k,i[o+28>>2]+(n^-1)|0,t+24|0);i:{if(i[t+4>>2]){r=f,f=i[e>>2],P0(r,u,f?f+8|0:0);break i}r=i[t+24>>2],A=i[t+28>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[e>>2]=r,r=i[e+4>>2],i[e+4>>2]=A;r:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break r;V[i[i[r>>2]+8>>2]](r),g(r)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[t+23|0]<0&&G(i[t+12>>2]),f=i[t+28>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=t+32|0}function nB(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0;r=B-32|0,B=r;i:{r:{e:{if((e|0)==-1)break e;if(i[r+20>>2]=e,s[f+44|0]==1){f=i[f+32>>2];A:{if(i[f+76>>2]<0){f=Pn(e,f);break A}f=Pn(e,f)}if((f|0)==-1)break r;break e}for(n=r+24|0,i[r+16>>2]=n,o=r+32|0,A=r+20|0;;){if(k=i[f+36>>2],k=V[i[i[k>>2]+12>>2]](k,i[f+40>>2],A,n,r+12|0,r+24|0,o,r+16|0)|0,i[r+12>>2]==(A|0))break r;if((k|0)==3){if((F1(A,1,1,i[f+32>>2])|0)==1)break e;break r}if(k>>>0>1||(t=r+24|0,A=i[r+16>>2]-t|0,(F1(t,1,A,i[f+32>>2])|0)!=(A|0)))break r;if(A=i[r+12>>2],(k|0)!=1)break}}f=(e|0)!=-1?e:0;break i}f=-1}return B=r+32|0,f|0}function tB(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+4>>2],k=i[r>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,A|(k|0)!=2||(i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=0,i[e+40>>2]=1,l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e>>2]=0,i[e+4>>2]=1,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=6,P2(f,e)),B=e- -64|0}function h7(f,e,r){var A=0,k=0;if(!e)return 0;i:{r:{if(!r)break r;if(A=s[e|0],k=A<<24>>24,(k|0)>=0)return f&&(i[f>>2]=A),(k|0)!=0;if(!i[i[23985]>>2]){if(e=1,!f)break i;return i[f>>2]=k&57343,1}if(A=A-194|0,A>>>0>50||(A=i[(A<<2)+55504>>2],r>>>0<=3&&A<<m(r,6)-6<0)||(r=s[e+1|0],k=r>>>3|0,(k-16|k+(A>>26))>>>0>7))break r;if(r=r-128|A<<6,(r|0)>=0){if(e=2,!f)break i;return i[f>>2]=r,2}if(A=s[e+2|0]-128|0,A>>>0>63)break r;if(k=A,A=r<<6,r=k|A,(A|0)>=0){if(e=3,!f)break i;return i[f>>2]=r,3}if(A=s[e+3|0]-128|0,A>>>0>63)break r;if(e=4,!f)break i;return i[f>>2]=A|r<<6,4}i[23944]=25,e=-1}return e}function $4(f,e,r,A,k){var n=0,t=0,o=0;o=B-16|0,B=o,i[o+12>>2]=e,e=0,n=6;i:{r:{if(g2(f,o+12|0))break r;n=i[f>>2],t=i[n+12>>2];e:{if((t|0)==i[n+16>>2]){t=V[i[i[n>>2]+36>>2]](n)|0;break e}t=i[t>>2]}if(n=4,!(V[i[i[A>>2]+12>>2]](A,64,t)|0))break r;for(e=V[i[i[A>>2]+52>>2]](A,t,0)|0;;){e:{if(Y1(f),e=e-48|0,g2(f,o+12|0)|(k|0)<2)break e;n=i[f>>2],t=i[n+12>>2];A:{if((t|0)==i[n+16>>2]){n=V[i[i[n>>2]+36>>2]](n)|0;break A}n=i[t>>2]}if(!(V[i[i[A>>2]+12>>2]](A,64,n)|0))break i;k=k-1|0,e=(V[i[i[A>>2]+52>>2]](A,n,0)|0)+m(e,10)|0;continue}break}if(!g2(f,o+12|0))break i;n=2}i[r>>2]=n|i[r>>2]}return B=o+16|0,e}function w7(f,e){var r=0,A=0,k=0;k=e+24|0,A=i[e>>2]&63,l[k+A|0]=128,r=A+1|0,A=A^63,A>>>0<=7&&(B0(r+k|0,0,A),A=64,Br(e,k,64),r=0),B0(r+k|0,0,A-8|0),i[e+84>>2]=i[e+4>>2],r=i[e>>2],l[e+83|0]=r>>>21,l[e+82|0]=r>>>13,l[e+81|0]=r>>>5,r=r<<3,l[e+80|0]=r,i[e>>2]=r,Br(e,k,64),l[f|0]=i[e+8>>2],l[f+1|0]=i[e+8>>2]>>>8,l[f+2|0]=Q[e+10>>1],l[f+3|0]=s[e+11|0],l[f+4|0]=i[e+12>>2],l[f+5|0]=i[e+12>>2]>>>8,l[f+6|0]=Q[e+14>>1],l[f+7|0]=s[e+15|0],l[f+8|0]=i[e+16>>2],l[f+9|0]=i[e+16>>2]>>>8,l[f+10|0]=Q[e+18>>1],l[f+11|0]=s[e+19|0],l[f+12|0]=i[e+20>>2],l[f+13|0]=i[e+20>>2]>>>8,l[f+14|0]=Q[e+22>>1],l[f+15|0]=s[e+23|0],B0(e,0,152)}function zA(f){var e=0,r=0,A=0;if(aA(f),e=i[f+320>>2],e){if(A=e-4|0,r=i[A>>2],r)for(r=e+m(r,76)|0;r=r-76|0,(e|0)!=(r|0););G(A)}G(i[f+260>>2]),G(i[f+240>>2]),G(i[f+220>>2]),G(i[f+200>>2]),G(i[f+180>>2]),G(i[f+160>>2]),G(i[f+140>>2]),e=i[f+136>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+128>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+120>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return e=i[f+52>>2],e&&(i[f+56>>2]=e,G(e)),f}function fi(f,e,r,A,k,n,t,o){var u=0,h=0,w=0,_=0;w=1,u=A&2147483647,h=u,_=(u|0)==2147418112;i:{if((_&!r?f|e:_&(r|0)!=0|u>>>0>2147418112)||(u=o&2147483647,!t&(u|0)==2147418112?k|n:(u|0)==2147418112&(t|0)!=0|u>>>0>2147418112))break i;if(!(f|k|(r|t)|(e|n|(u|h))))return 0;if(u=A&o,(u|0)>0?h=1:h=(u|0)>=0,h)return((r|0)==(t|0)&(A|0)==(o|0)?(e|0)==(n|0)&f>>>0<k>>>0|e>>>0<n>>>0:r>>>0<t>>>0&(A|0)<=(o|0)|(A|0)<(o|0))?-1:(f^k|r^t|(e^n|A^o))!=0;if((r|0)==(t|0)&(A|0)==(o|0)?(e|0)==(n|0)&f>>>0>k>>>0|e>>>0>n>>>0:r>>>0>t>>>0&(A|0)>=(o|0)|(A|0)>(o|0))return-1;w=(f^k|r^t|(e^n|A^o))!=0}return w}function B6(f,e,r,A){var k=0,n=0,t=0,o=0;t=A||98552,A=i[t>>2];i:{r:{e:{if(!e){if(A)break e;return 0}if(k=-2,!r)break r;A:{if(A){k=r;break A}if(A=s[e|0],n=A<<24>>24,(n|0)>=0)return f&&(i[f>>2]=A),(n|0)!=0;if(!i[i[23985]>>2]){if(k=1,!f)break r;return i[f>>2]=n&57343,1}if(A=A-194|0,A>>>0>50)break e;if(A=i[(A<<2)+55504>>2],k=r-1|0,!k)break i;e=e+1|0}if(n=s[e|0],o=n>>>3|0,(o-16|(A>>26)+o)>>>0>7)break e;for(;;){if(k=k-1|0,A=n-128|A<<6,(A|0)>=0)return i[t>>2]=0,f&&(i[f>>2]=A),r-k|0;if(!k)break i;if(e=e+1|0,n=s[e|0],(n&192)!=128)break}}i[t>>2]=0,i[23944]=25,k=-1}return k}return i[t>>2]=A,-2}function oB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-48|0,B=A,n=V[i[i[e>>2]+32>>2]](e,r,0)|0,k=i[e+48>>2],l2(r,V[i[i[k>>2]+8>>2]](k)|0),k=i[e+48>>2],V[i[i[k>>2]+16>>2]](A+24|0,k,r);i:{if(i[A+24>>2]){e=i[A+28>>2],i[f>>2]=i[A+24>>2],i[f+4>>2]=e,i[f+16>>2]=i[A+40>>2],e=i[A+36>>2],i[f+8>>2]=i[A+32>>2],i[f+12>>2]=e,i[A+40>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0;break i}if(Y4(A+4|0,e,r,n),l[A+23|0]<0&&G(i[A+12>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}l[A+43|0]<0&&G(i[A+32>>2]),B=A+48|0}function _7(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{k=i[f+4>>2],o=i[f>>2];r:{if((k|0)!=(o|0)){r=k;break r}if(A=i[f+8>>2],r=i[f+12>>2],A>>>0<r>>>0){n=((r-A>>2)+1|0)/2<<2,t=A-k|0,r=(n+A|0)-t|0,(A|0)!=(k|0)&&(F2(r,k,t),A=i[f+8>>2]),i[f+4>>2]=r,i[f+8>>2]=A+n;break r}if(r=(r|0)==(k|0)?1:r-k>>1,r>>>0>=1073741824)break i;if(n=r<<2,t=U(n),u=n+t|0,r=t+(r+3&-4)|0,n=r,(A|0)!=(k|0))for(h=(A-k|0)+r|0,A=k;i[n>>2]=i[A>>2],A=A+4|0,n=n+4|0,(h|0)!=(n|0););if(i[f+12>>2]=u,i[f+8>>2]=n,i[f+4>>2]=r,i[f>>2]=t,!k)break r;G(o),r=i[f+4>>2]}i[r-4>>2]=i[e>>2],i[f+4>>2]=i[f+4>>2]-4;return}_2(),P()}function Ii(f,e){var r=0,A=0,k=0;A=B-48|0,B=A,s[79117]==1&&(i[A+36>>2]=e,i[A+32>>2]=f,f8(22051,A+32|0)),r=i[e+4>>2];i:{if(!r){if(s[79117]==1&&(i[A+4>>2]=i[f+4>>2],i[A>>2]=f,f8(22011,A)),e=i[f+4>>2],!e)break i;r=i[e>>2]-1|0,i[e>>2]=r;r:{if(r||(r=i[f>>2],r&&(G(r),e=i[f+4>>2],!e)))break r;G(e)}i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r>>2]=i[r>>2]+1,s[79117]==1&&(i[A+20>>2]=i[f+4>>2],i[A+16>>2]=f,f8(22011,A+16|0)),r=i[f+4>>2],r){k=i[r>>2]-1|0,i[r>>2]=k;r:{if(k||(k=i[f>>2],k&&(G(k),r=i[f+4>>2],!r)))break r;G(r)}i[f>>2]=0,i[f+4>>2]=0}i[f>>2]=i[e>>2],i[f+4>>2]=i[e+4>>2]}B=A+48|0}function lB(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0;i:{if(!(!k|(!r|!A))&&n)break i;e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];return}i:{if(o=i[e+16>>2],!o||(o=N0(o,72776,73388),!o))break i;e=i[e+20>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r>>2]=i[o+4>>2],i[A>>2]=i[o+8>>2],i[k>>2]=i[o+12>>2],i[n>>2]=i[o+16>>2],r=i[o+20>>2],l0(t,r,i[o+24>>2]-r|0),i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r;r:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}return}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}function uB(f,e,r,A,k,n,t,o,u,h){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0;var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;if((u|0)>0){if(!((n|0)<=0|(k|0)<=0))for(p=1<<u-1,_=-1<<h^-1,C=k&2147483646,I=k&1;;){if(h=(m(e,Z)<<1)+f|0,v=(m(A,Z)<<1)+r|0,W=0,(k|0)!=1)for(;w=(m(X[v>>1],t)+p>>u)+o|0,X[h>>1]=(w|0)>=0?(_|0)>(w|0)?w:_:0,w=(m(X[v+2>>1],t)+p>>u)+o|0,X[h+2>>1]=(w|0)>=0?(_|0)>(w|0)?w:_:0,v=v+4|0,h=h+4|0,W=W+2|0,(C|0)!=(W|0););if(I&&(w=h,h=(m(X[v>>1],t)+p>>u)+o|0,X[w>>1]=(h|0)>=0?(h|0)<(_|0)?h:_:0),Z=Z+1|0,(Z|0)==(n|0))break}return}C0(17004,13955,193,8109),P()}function Kr(f,e,r){var A=Y(0),k=Y(0),n=0,t=Y(0),o=Y(0),u=Y(0),h=Y(0),w=Y(0);n=B-16|0,B=n,Qn(n+8|0,e,r),A=Z0[n+12>>2],t=Z0[n+8>>2];i:{if(!(A!=Y(0)|t!=Y(0))){w=Y(-.41868799924850464),o=Y(-.3312639892101288),A=Y(.11400000005960464),h=Y(.5870000123977661),t=Y(.29899999499320984),k=Y(-.08131200075149536),u=Y(-.16873499751091003);break i}k=Y(Y(1)-t),h=Y(k-A),o=Y(-h),w=Y(Y(o/k)*Y(.5)),u=Y(Y(1)-A),o=Y(Y(o/u)*Y(.5)),k=Y(Y(Y(-A)/k)*Y(.5)),u=Y(Y(Y(-t)/u)*Y(.5))}Z0[f+36>>2]=k,Z0[f+32>>2]=w,i[f+24>>2]=1056964608,i[f+28>>2]=1056964608,Z0[f+20>>2]=o,Z0[f+16>>2]=u,Z0[f+12>>2]=A,Z0[f+8>>2]=h,Z0[f+4>>2]=t,l[f|0]=1,B=n+16|0}function sB(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0;k=B-32|0,B=k;i:{r:{if(t=i[e>>2],n=i[t+164>>2],u=i[t+168>>2],(n|0)==(u|0))break r;for(;;){if(o=i[n>>2],i[o>>2]!=(r|0)){if(n=n+8|0,(u|0)!=(n|0))continue;break r}break}if(r=i[o+40>>2],n=i[o+44>>2],(r|0)!=(n|0)){if(!A){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,2001,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}l0(A,r,n-r|0),t=i[e>>2]}P0(f,78256,t);break i}if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,2e3,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2])}B=k+32|0}function hB(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;n=B-32|0,B=n,i[n+24>>2]=0,i[n+28>>2]=0,t=n+4|0,vA(t,i[e>>2],n+24|0,A,k);i:{if(i[n+4>>2])break i;t=U(8),i[t>>2]=0,i[t+4>>2]=0,i[r>>2]=t,r=i[n+24>>2],A=i[n+28>>2];r:{if(!A){i[t+4>>2]=0,i[t>>2]=r;break r}if(i[A+4>>2]=i[A+4>>2]+1,i[t>>2]=r,k=i[t+4>>2],i[t+4>>2]=A,t=78256,!k||(r=i[k+4>>2],i[k+4>>2]=r-1,r))break i;V[i[i[k>>2]+8>>2]](k),g(k)}t=78256}r=f,f=i[e>>2],P0(r,t,f?f+8|0:0),l[n+23|0]<0&&G(i[n+12>>2]),e=i[n+28>>2];i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=n+32|0}function qr(f,e,r,A,k){var n=0,t=0,o=0,u=0;n=B-208|0,B=n,i[n+204>>2]=r,r=n+160|0,B0(r,0,40),i[n+200>>2]=i[n+204>>2];i:{if((Vk(0,e,n+200|0,n+80|0,r,A,k)|0)<0){k=-1;break i}u=i[f+76>>2]<0,t=i[f>>2],i[f>>2]=t&-33;r:{e:{A:{if(!i[f+48>>2]){i[f+48>>2]=80,i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,o=i[f+44>>2],i[f+44>>2]=n;break A}if(i[f+16>>2])break e}if(r=-1,G3(f))break r}r=Vk(f,e,n+200|0,n+80|0,n+160|0,A,k)}if(o&&(V[i[f+36>>2]](f,0,0)|0,i[f+48>>2]=0,i[f+44>>2]=o,i[f+28>>2]=0,e=i[f+20>>2],i[f+16>>2]=0,i[f+20>>2]=0,r=e?r:-1),e=f,f=i[f>>2],i[e>>2]=f|t&32,k=f&32?-1:r,u)break i}return B=n+208|0,k}function Z4(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;r=i[f+56>>2],k=i[f+60>>2],r=U3(r,e,k-r>>2),o=r||k;i:{r:{if(k=i[f+60>>2],(o|0)==(k|0)){A=i[f+64>>2];e:{if(A>>>0>o>>>0){i[k>>2]=e,e=k+4|0;break e}if(t=i[f+56>>2],n=o-t>>2,r=n+1|0,r>>>0>=1073741824)break r;if(u=n<<2,A=A-t|0,n=A>>1,n=A>>>0>=2147483644?1073741823:r>>>0<n>>>0?n:r,n){if(n>>>0>=1073741824)break i;r=U(n<<2)}else r=0;if(A=u+r|0,i[A>>2]=e,e=A+4|0,(t|0)!=(o|0))for(;A=A-4|0,k=k-4|0,i[A>>2]=i[k>>2],(k|0)!=(t|0););if(i[f+64>>2]=r+(n<<2),i[f+60>>2]=e,i[f+56>>2]=A,!t)break e;G(t)}i[f+60>>2]=e}return}y0(),P()}_2(),P()}function wB(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0;i:{if(!(!r|!A|(!k|!n))&&t)break i;e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];return}i:{if(o=i[e+16>>2],!o||(o=N0(o,72776,73344),!o))break i;e=i[e+20>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r>>2]=i[o+4>>2],i[A>>2]=i[o+8>>2],i[k>>2]=i[o+12>>2],i[n>>2]=i[o+16>>2],i[t>>2]=i[o+20>>2],i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r;r:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}return}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}function _B(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A;i:{if(!r){if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,5,2001,A),l[A+11|0]<0&&G(i[A>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}k=i[e>>2],n=i[k+176>>2],k=i[k+180>>2],k&&(i[k+4>>2]=i[k+4>>2]+1);r:{if(!n){if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,10,0,A),l[A+11|0]<0&&G(i[A>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break r;G(i[r+8>>2]);break r}if(t=A+12|0,wn(t,n,r),P0(f,t,i[e>>2]),l[A+31|0]>=0)break r;G(i[A+20>>2])}if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}B=A+32|0}function v7(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69612,k=i[f+56>>2],k){if(e=k,r=i[f+60>>2],(e|0)!=(r|0)){for(;e=i[r-12>>2],e&&(i[r-8>>2]=e,G(e)),e=r-56|0,i[e>>2]=68500,A=i[r-36>>2],A&&(i[r-32>>2]=A,G(A)),r=e,(e|0)!=(k|0););e=i[f+56>>2]}i[f+60>>2]=k,G(e)}if(i[f>>2]=68616,k=i[f+36>>2],k){if(e=k,r=i[f+40>>2],(e|0)!=(r|0)){for(;;){A=i[r-4>>2];i:{if(!A||(e=i[A+4>>2],i[A+4>>2]=e-1,e))break i;V[i[i[A>>2]+8>>2]](A),g(A)}if(r=r-8|0,(k|0)==(r|0))break}e=i[f+36>>2]}i[f+40>>2]=k,G(e)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function vB(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;if((u|0)>0){if(!((n|0)<=0|(k|0)<=0))for(p=1<<u-1,W=k&2147483646,C=k&1;;){if(h=m(e,Z)+f|0,_=(m(A,Z)<<1)+r|0,v=0,(k|0)!=1)for(;w=(m(X[_>>1],t)+p>>u)+o|0,w=(w|0)>=255?255:w,l[h|0]=(w|0)>0?w:0,w=(m(X[_+2>>1],t)+p>>u)+o|0,w=(w|0)>=255?255:w,l[h+1|0]=(w|0)>0?w:0,_=_+4|0,h=h+2|0,v=v+2|0,(W|0)!=(v|0););if(C&&(v=h,h=(m(X[_>>1],t)+p>>u)+o|0,h=(h|0)>=255?255:h,l[v|0]=(h|0)>0?h:0),Z=Z+1|0,(Z|0)==(n|0))break}return}C0(17004,13955,60,7955),P()}function mB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=t2(r),X[k+48>>1]=n,k=e,n=t2(r),X[k+54>>1]=n,k=e,n=t2(r),X[k+50>>1]=n,k=e,n=t2(r),X[k+56>>1]=n,k=e,n=t2(r),X[k+52>>1]=n,k=e,n=t2(r),X[k+58>>1]=n,k=e,n=t2(r),X[k+60>>1]=n,k=e,n=t2(r),X[k+62>>1]=n,k=e,n=D0(r),i[k+64>>2]=n,k=e,n=D0(r),i[k+68>>2]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function BB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;k=B-32|0,B=k,n=V[i[i[e>>2]+32>>2]](e,r,0)|0,A=i[e+36>>2],t=i[e+40>>2];i:{if((A|0)!=(t|0))for(;;){if(o=i[A>>2],V[i[i[o>>2]+16>>2]](f,o,r),i[f>>2])break i;if(l[f+19|0]<0&&G(i[f+8>>2]),A=A+8|0,(t|0)==(A|0))break}if(A=i[19565],i[f>>2]=i[19564],i[f+4>>2]=A,f=f+8|0,l[78275]>=0){A=i[19567],i[f>>2]=i[19566],i[f+4>>2]=A,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}i[r+12>>2]=n,V[i[i[e>>2]+36>>2]](k+12|0,e,r,i[r+4>>2]-(i[r>>2]+n|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[k+31|0]<0&&G(i[k+20>>2]),B=k+32|0}function R2(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-160|0,B=A,i[A+80>>2]=54820,k=i[13708],i[A+24>>2]=k,t=A+24|0,i[t+i[k-12>>2]>>2]=i[13709],k=i[i[A+24>>2]-12>>2]+t|0,n=A+28|0,b0(k,n),i[k+72>>2]=0,i[k+76>>2]=-1,i[A+80>>2]=54820,i[A+24>>2]=54800,k=$0(n),i[k>>2]=53552,i[A+68>>2]=0,i[A+72>>2]=0,i[A+60>>2]=0,i[A+64>>2]=0,i[A+76>>2]=16,n=A+12|0,Hr(n,e,r),e=l[A+23|0],r=(e|0)<0,x(t,r?i[A+12>>2]:n,r?i[A+16>>2]:e),l[A+23|0]<0&&G(i[A+12>>2]),i2(f,k),f=i[13707],i[A+24>>2]=f,i[i[f-12>>2]+(A+24|0)>>2]=i[13710],i[k>>2]=53552,l[A+71|0]<0&&G(i[A+60>>2]),K0(k),T0(A+80|0),B=A+160|0}function $r(f,e,r){var A=0,k=0;A=U(24),l[A+22|0]=1,X[A+20>>1]=2,i[A+16>>2]=131074,i[A+12>>2]=72992,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=72832,k=A+12|0,l[k+10|0]=1,X[k+8>>1]=6,i[k+4>>2]=851969,i[f+4>>2]=A,i[f>>2]=k;i:{if(r){Jt(k,r);break i}e=i[e>>2],r=i[e+44>>2],e=i[e+48>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);r:{if(r){i[A+16>>2]=i[r+4>>2],r=s[r+7|0]|s[r+8|0]<<8|(s[r+9|0]<<16|s[r+10|0]<<24),l[A+19|0]=r,l[A+20|0]=r>>>8,l[A+21|0]=r>>>16,l[A+22|0]=r>>>24;break r}l[k+10|0]=1,X[k+8>>1]=2,i[k+4>>2]=131074}if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}Dt(i[f>>2])}function m7(f){var e=0;e=U(160),i[e+68>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,i[e+24>>2]=0,i[e+28>>2]=0,i[e+88>>2]=0,i[e+92>>2]=0,X[e+84>>1]=1,i[e+80>>2]=0,i[e+72>>2]=0,i[e+76>>2]=0,i[e+112>>2]=0,i[e+116>>2]=1072693248,i[e+120>>2]=0,i[e+124>>2]=0,i[e>>2]=72024,i[e+32>>2]=0,i[e+36>>2]=0,i[e+40>>2]=0,i[e+44>>2]=0,i[e+48>>2]=0,i[e+52>>2]=0,i[e+56>>2]=0,i[e+60>>2]=0,l[e- -64|0]=0,i[e+16>>2]=69972,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+144>>2]=0,i[e+136>>2]=0,i[e+140>>2]=0,i[e+128>>2]=0,i[e+132>>2]=0,l[e+156|0]=0,i[e+152>>2]=0,i[e+32>>2]=1668113784,i[f+4>>2]=e,i[f>>2]=e+16}function ZB(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;if(Q1(f,i[e+8>>2],n)){n3(e,r,A,k);return}o=s[e+53|0],t=i[f+12>>2],l[e+53|0]=0,u=s[e+52|0],l[e+52|0]=0,h=f+16|0,Y3(h,e,r,A,k,n),w=s[e+52|0],u=u|w,_=s[e+53|0],o=o|_;i:{if((t|0)<2)break i;for(h=h+(t<<3)|0,t=f+24|0;;){if(s[e+54|0])break i;r:{if(w&1){if(i[e+24>>2]==1)break i;if(s[f+8|0]&2)break r;break i}if(!(_&1))break r;if(!(l[f+8|0]&1))break i}if(X[e+52>>1]=0,Y3(t,e,r,A,k,n),_=s[e+53|0],o=(_|o)&1,w=s[e+52|0],u=(w|u)&1,t=t+8|0,!(h>>>0>t>>>0))break}}l[e+53|0]=o&1,l[e+52|0]=u&1}function p2(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if(k=i[f+24>>2],(k|0)>=(e|0)|(k|0)>56)r=k;else{for(r=64-k|0,t=i[f+16>>2],u=i[f+20>>2],k=i[f+8>>2],A=i[f>>2];;){i:{if(h=r,!k){n=r;break i}if(w=A+1|0,i[f>>2]=w,A=s[A|0],k=k-1|0,i[f+8>>2]=k,n=h-8|0,o=n&31,(n&63)>>>0>=32?(_=A<<o,A=0):(_=(1<<o)-1&A>>>32-o,A=A<<o),t=A|t,A=u|_,u=A,i[f+16>>2]=t,i[f+20>>2]=A,A=r,r=A-8|0,v=v-(A>>>0<8)|0,A=w,(h|0)>15)continue}break}r=64-n|0}i[f+24>>2]=r-e,t=i[f+20>>2],n=i[f+16>>2],r=e&31,(e&63)>>>0>=32?(e=n<<r,r=0):(e=(1<<r)-1&n>>>32-r|t<<r,r=n<<r),i[f+16>>2]=r,i[f+20>>2]=e}function pB(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;A=B-16|0,B=A;i:{if(!(s[n+11|0]>>>7|0)){i[f+8>>2]=i[n+8>>2],e=i[n+4>>2],i[f>>2]=i[n>>2],i[f+4>>2]=e;break i}r=i[n>>2],k=B-16|0,B=k;r:{e:{n=i[n+4>>2];A:{if(n>>>0<2){e=f,l[f+11|0]=s[f+11|0]&128|n&127,l[f+11|0]=s[f+11|0]&127;break A}if(n>>>0>1073741815)break e;o=k+8|0,n>>>0>=2?(t=n+2&-2,e=t-1|0,e=(e|0)==2?t:e):e=1,xi(o,e+1|0),e=i[k+8>>2],i[f>>2]=e,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=n}De(e,r,n+1|0),B=k+16|0;break r}o4(),P()}}B=A+16|0}function WB(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;r=B-16|0,B=r,n=d5()|0;i:{r:{if(!e||(A=TA(e),(A|0)<=0))break r;if(t=Z2(A<<2),t){o=Gn(e,t,A);e:{if(!o||(e=0,(o|0)<=0))break e;for(;i[r+8>>2]=e,k=r+8|0,A=j1(67596,k|0)|0,i[r+8>>2]=i[(e<<2)+t>>2],k=j1(67608,k|0)|0,g4(n|0,A|0,k|0),k>>>0>=9&&t1(k|0),A>>>0>=9&&t1(A|0),e=e+1|0,(o|0)!=(e|0););}G(t);break r}if(e=U(12),i[e>>2]=6,i[e+4>>2]=1e3,i[r+8>>2]=e,u=f,h=j1(73788,r+8|0)|0,i[u+4>>2]=h,i[f>>2]=95844,n>>>0<9)break i;t1(n|0);break i}i[f+4>>2]=n,i[f>>2]=95844}B=r+16|0}function ki(f,e,r,A){var k=0,n=0,t=0;if(k=i[f+8>>2],n=i[f>>2],k-n>>2>>>0>=A>>>0){if(t=A,k=i[f+4>>2],A=k-n|0,t>>>0>A>>2>>>0){(k|0)!=(n|0)&&(F2(n,e,A),k=i[f+4>>2]),e=e+A|0,A=r-e|0,(e|0)!=(r|0)&&F2(k,e,A),i[f+4>>2]=A+k;return}A=r-e|0,(e|0)!=(r|0)&&F2(n,e,A),i[f+4>>2]=A+n;return}n&&(i[f+4>>2]=n,G(n),i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,k=0);i:{if(A>>>0>=1073741824||(n=k>>1,A=k>>>0>=2147483644?1073741823:A>>>0<n>>>0?n:A,A>>>0>=1073741824))break i;k=A<<2,A=U(k),i[f+4>>2]=A,i[f>>2]=A,i[f+8>>2]=A+k,k=r-e|0,(e|0)!=(r|0)&&l0(A,e,k),i[f+4>>2]=A+k;return}y0(),P()}function Z6(f,e){var r=0,A=0,k=0,n=0;i[f>>2]=68500,r=i[e+12>>2],A=i[e+8>>2],i[f+8>>2]=A,i[f+12>>2]=r,i[f+16>>2]=i[e+16>>2],i[f+28>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0;i:{r:{if(r=i[e+24>>2],k=i[e+20>>2],(r|0)!=(k|0)){if(r=r-k|0,(r|0)<0)break r;A=U(r),i[f+24>>2]=A,i[f+20>>2]=A,n=r+A|0,i[f+28>>2]=n,l0(A,k,r),i[f+24>>2]=n}if(i[f+32>>2]=i[e+32>>2],r=i[e+40>>2],i[f+52>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+40>>2]=r,r=i[e+48>>2],A=i[e+44>>2],(r|0)!=(A|0)){if(e=r-A|0,(e|0)<0)break i;r=U(e),i[f+48>>2]=r,i[f+44>>2]=r,k=e+r|0,i[f+52>>2]=k,l0(r,A,e),i[f+48>>2]=k}return}y0(),P()}y0(),P()}function XB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A;i:{if(!r){if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,5,2001,A),l[A+11|0]<0&&G(i[A>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}k=i[e>>2],n=i[k+184>>2],k=i[k+188>>2],k&&(i[k+4>>2]=i[k+4>>2]+1);r:{if(n){t=r,r=i[n+8>>2],l0(t,r,i[n+12>>2]-r|0),P0(f,78256,i[e>>2]);break r}if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,10,0,A),l[A+11|0]<0&&G(i[A>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break r;G(i[r+8>>2])}if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}B=A+32|0}function B7(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74728,r=i[f+60>>2],r){if(A=r,e=i[f+64>>2],(r|0)!=(e|0)){for(;k=e-12|0,A=i[k>>2],A&&(i[e-8>>2]=A,G(A)),e=k,(r|0)!=(e|0););A=i[f+60>>2]}i[f+64>>2]=r,G(A)}if(e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,k=i[f+36>>2],k){if(e=k,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(k|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=k,G(e)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function Z7(f,e,r,A,k){var n=0,t=0,o=0,u=0;t=B-16|0,B=t;i:{if(1073741815-e>>>0>=r>>>0){s[f+11|0]>>>7|0?n=i[f>>2]:n=f,o=n,n=t+4|0,u=n,e>>>0<536870899?(i[t+12>>2]=e<<1,i[t+4>>2]=e+r,r=B-16|0,B=r,B=r+16|0,r=t+12|0,r=i[(k0[n>>2]<k0[r>>2]?r:n)>>2],r>>>0>=2?(n=r+2&-2,r=n-1|0,r=(r|0)==2?n:r):r=1,r=r+1|0):r=1073741815,xi(u,r),r=i[t+4>>2],k&&De(r,o,k),(A|0)!=(k|0)&&(n=k<<2,De(n+r|0,n+o|0,A-k|0)),(e|0)!=1&&Q8(o,4),i[f>>2]=r,i[f+8>>2]=i[f+8>>2]&-2147483648|i[t+8>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,B=t+16|0;break i}o4(),P()}i[f+4>>2]=A}function HA(f,e,r,A,k){var n=0,t=0,o=0,u=0;t=B-16|0,B=t;i:{if(2147483639-e>>>0>=r>>>0){s[f+11|0]>>>7|0?n=i[f>>2]:n=f,o=n,n=t+4|0,u=n,e>>>0<1073741811?(i[t+12>>2]=e<<1,i[t+4>>2]=e+r,r=B-16|0,B=r,B=r+16|0,r=t+12|0,r=i[(k0[n>>2]<k0[r>>2]?r:n)>>2],r>>>0>=11?(n=r+8&-8,r=n-1|0,r=(r|0)==11?n:r):r=10,r=r+1|0):r=2147483639,Mi(u,r),r=i[t+4>>2],k&&of(r,o,k),(A|0)!=(k|0)&&of(r+k|0,k+o|0,A-k|0),(e|0)!=10&&Q8(o,1),i[f>>2]=r,i[f+8>>2]=i[f+8>>2]&-2147483648|i[t+8>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,B=t+16|0;break i}o4(),P()}i[f+4>>2]=A}function br(f,e,r,A){var k=0,n=0,t=0,o=0;i:{r:{if(A){if(A>>>0>=107374183)break r;if(k=m(A,40),A=U(k),i[f+4>>2]=A,i[f>>2]=A,i[f+8>>2]=A+k,(e|0)!=(r|0))for(;;){if(k=i[e+4>>2],i[A>>2]=i[e>>2],i[A+4>>2]=k,k=i[e+20>>2],i[A+16>>2]=i[e+16>>2],i[A+20>>2]=k,k=i[e+12>>2],i[A+8>>2]=i[e+8>>2],i[A+12>>2]=k,i[A+32>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,t=i[e+24>>2],k=i[e+28>>2],(t|0)!=(k|0)){if(k=k-t|0,(k|0)<0)break i;n=U(k),i[A+28>>2]=n,i[A+24>>2]=n,o=k+n|0,i[A+32>>2]=o,l0(n,t,k),i[A+28>>2]=o}if(A=A+40|0,e=e+40|0,(r|0)==(e|0))break}i[f+4>>2]=A}return}y0(),P()}y0(),P()}function GB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,w2(r,Q[e+48>>1]),w2(r,Q[e+54>>1]),w2(r,Q[e+50>>1]),w2(r,Q[e+56>>1]),w2(r,Q[e+52>>1]),w2(r,Q[e+58>>1]),w2(r,Q[e+60>>1]),w2(r,Q[e+62>>1]),l2(r,i[e+64>>2]),l2(r,i[e+68>>2]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function p7(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0;i:{if((A|k)<0||(o=i[f+124>>2],i[o+484>>2]<=(A|0)|i[o+488>>2]<=(k|0))||(h=i[f+132>>2],t=i[h+8496>>2],n=i[o+16936>>2],u=i[o+16924>>2],i[(t+(A>>>n<<2)|0)+(m(u,k>>>n|0)<<2)>>2]>i[(t+(e>>n<<2)|0)+(m(r>>n,u)<<2)>>2])||(n=i[f+152>>2],t=r,r=i[o+16876>>2],t=t>>r,f=i[f+140>>2],e=e>>r,u=Q[(m(m(n,t),24)+f|0)+m(e,24)>>1],k=k>>>r|0,n=f+m(m(k,n),24)|0,f=A>>>r|0,(u|0)!=Q[n+m(f,24)>>1]))break i;A=e<<2,e=i[h+8484>>2],r=i[o+16892>>2],w=i[(A+e|0)+(m(r,t)<<2)>>2]==i[(e+(f<<2)|0)+(m(r,k)<<2)>>2]}return w}function W7(f,e,r){var A=0,k=0,n=0,t=0,o=0;o=B-16|0,B=o,k=B-16|0,B=k,A=f;i:{if(e>>>0<=1073741815){r:{if(e>>>0<2){l[A+11|0]=s[A+11|0]&128|e&127,l[A+11|0]=s[A+11|0]&127;break r}t=k+8|0,e>>>0>=2?(n=e+2&-2,f=n-1|0,f=(f|0)==2?n:f):f=1,xi(t,f+1|0),f=i[k+8>>2],i[A>>2]=f,i[A+8>>2]=i[A+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[A+8>>2]=i[A+8>>2]|-2147483648,i[A+4>>2]=e}for(n=B-16|0,B=n,i[n+12>>2]=r,r=f,t=e;;){if(t){i[r>>2]=i[n+12>>2],t=t-1|0,r=r+4|0;continue}break}B=n+16|0,i[k+4>>2]=0,i[(e<<2)+f>>2]=i[k+4>>2],B=k+16|0;break i}o4(),P()}return B=o+16|0,A}function dr(f,e,r,A,k,n,t,o,u,h,w){var _=0,v=0,Z=0,p=0;if(!s[r+332|0]){X[h>>1]=0,X[h+2>>1]=0,l[w|0]=0;return}if(v=i[i[e+124>>2]+16876>>2],i[r+28>>2]|s[r+380|0]?_=924:_=988,_=i[(_+r|0)+(i[r+384>>2]<<2)>>2],!(V[i[i[f>>2]+12>>2]](f,_)|0)){X[h>>1]=0,X[h+2>>1]=0,l[w|0]=0,v2(f+4|0,1012,0);return}i:{r:{e:{Z=k+t|0;A:{if(k>>v!=Z>>v||(p=A+n|0,v=i[e+124>>2],(p|0)>=i[v+484>>2]))break A;if(i[v+488>>2]>(Z|0))break e}X[h>>1]=0,X[h+2>>1]=0,l[w|0]=0;break r}if(ak(f,e,r,_,p&-16,Z&-16,o,u,h,w),s[w|0])break i}ak(f,e,r,_,(n>>1)+A&-16,(t>>1)+k&-16,o,u,h,w)}}function CB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if((r|0)>0)for(_=r&2147483644,h=r&3,v=r>>>0<4;;){if(w=m(r,u),o=0,A=0,t=0,!v)for(;n=A,A=o+w|0,k=n+X[(A<<1)+e>>1]|0,i[(A<<2)+f>>2]=k,n=A+1|0,k=k+X[(n<<1)+e>>1]|0,i[(n<<2)+f>>2]=k,n=A+2|0,k=k+X[(n<<1)+e>>1]|0,i[(n<<2)+f>>2]=k,n=A+3|0,A=k+X[(n<<1)+e>>1]|0,i[(n<<2)+f>>2]=A,o=o+4|0,t=t+4|0,(_|0)!=(t|0););if(t=0,h)for(;k=o+w|0,A=X[(k<<1)+e>>1]+A|0,i[(k<<2)+f>>2]=A,o=o+1|0,t=t+1|0,(h|0)!=(t|0););if(u=u+1|0,(u|0)==(r|0))break}}function TA(f){f=f|0;var e=0,r=0,A=0,k=0,n=0;A=B-16|0,B=A,f=i[f>>2],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0;i:{if(e=i[f+28>>2],n=i[f+32>>2],(e|0)!=(n|0)){if(f=n-e|0,(f|0)<0)break i;for(k=U(f),i[A+4>>2]=k,i[A+12>>2]=f+k,f=k;i[f>>2]=i[e>>2],r=i[e+4>>2],i[f+4>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),f=f+8|0,e=e+8|0,(n|0)!=(e|0););for(i[A+8>>2]=f,e=f;;){r=i[e-4>>2];r:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e-8|0,(k|0)==(e|0))break}G(i[A+4>>2]),k=f-k>>3}return B=A+16|0,k|0}y0(),P()}function VB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(A=B-32|0,B=A,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,i[e+60>>2]-i[e+56>>2]&255),k=i[e+56>>2],(k|0)!=i[e+60>>2])for(;A2(r,s[k+n|0]),n=n+1|0,k=i[e+56>>2],n>>>0<i[e+60>>2]-k>>>0;);i[r+12>>2]=t,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+t|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function IB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A;i:{if(!r){if(l[A|0]=0,l[A+11|0]=0,r=f,f=r0(A+12|0,5,2001,A),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2]);break i}k=i[e>>2],n=i[k+40>>2],k=i[k+44>>2],k&&(i[k+4>>2]=i[k+4>>2]+1);r:{if(!n){if(l[A|0]=0,l[A+11|0]=0,r=f,f=r0(A+12|0,2,124,A),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break r;G(i[A>>2]);break r}i[r>>2]=i[n+20>>2],P0(f,78256,i[e>>2])}if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}B=A+32|0}function X7(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0;k=B-16|0,B=k,l2(r,A),l2(r,i[e+16>>2]);i:{r:{if(i[e+16>>2]!=1970628964)break r;if(i[k+12>>2]=0,i[k+4>>2]=0,i[k+8>>2]=0,n=i[e+24>>2],A=i[e+20>>2],(n|0)!=(A|0)){if(e=n-A|0,(e|0)<0)break i;n=U(e),i[k+4>>2]=n,t=e+n|0,i[k+12>>2]=t,l0(n,A,e),i[k+8>>2]=t}if(D4(r,k+4|0),e=i[k+4>>2],!e)break r;i[k+8>>2]=e,G(e)}e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;r:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567])}B=k+16|0;return}y0(),P()}function QB(f,e,r,A,k){if(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,Q1(f,i[e+8>>2],k)){i[e+28>>2]==1|i[e+4>>2]!=(r|0)||(i[e+28>>2]=A);return}i:{if(Q1(f,i[e>>2],k)){if(!(i[e+16>>2]!=(r|0)&i[e+20>>2]!=(r|0))){if((A|0)!=1)break i;i[e+32>>2]=1;return}i[e+32>>2]=A;r:{if(i[e+44>>2]==4)break r;if(X[e+52>>1]=0,f=i[f+8>>2],V[i[i[f>>2]+20>>2]](f,e,r,r,1,k),s[e+53|0]==1){if(i[e+44>>2]=3,!s[e+52|0])break r;break i}i[e+44>>2]=4}if(i[e+20>>2]=r,i[e+40>>2]=i[e+40>>2]+1,i[e+36>>2]!=1|i[e+24>>2]!=2)break i;l[e+54|0]=1;return}f=i[f+8>>2],V[i[i[f>>2]+24>>2]](f,e,r,A,k)}}function G7(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if(e)for(A=i[f+16>>2],k=i[f+20>>2],n=i[f+8>>2],r=i[f+24>>2],t=i[f>>2];;){if((r|0)<=7){for(o=64-r|0,_=0,r=t;;){i:{if(v=o,!n){n=0,t=r,u=o;break i}if(t=r+1|0,i[f>>2]=t,r=s[r|0],n=n-1|0,i[f+8>>2]=n,u=v-8|0,h=u&31,(u&63)>>>0>=32?(w=r<<h,r=0):(w=(1<<h)-1&r>>>32-h,r=r<<h),A=r|A,r=k|w,k=r,i[f+16>>2]=A,i[f+20>>2]=r,r=o,o=r-8|0,_=_-(r>>>0<8)|0,r=t,(v|0)>15)continue}break}r=64-u|0}if(r=r-8|0,i[f+24>>2]=r,w=k<<8|A>>>24,A=A<<8,i[f+16>>2]=A,k=w,i[f+20>>2]=k,e=e-1|0,!e)break}}function p4(f,e,r,A,k){var n=0,t=0,o=0;i:{r:{if(n=i[A>>2],A=i[n+56>>2],n=i[n+60>>2],(A|0)!=(n|0))for(;;){if(i[A>>2]==(r|0))break r;if(A=A+16|0,(n|0)==(A|0))break}break i}r:{e:{if(r=i[A+4>>2],A=i[A+8>>2],(r|0)==(A|0))break e;for(n=i[e+36>>2],o=i[e+40>>2]-n>>3;;){if(e=Q[r+2>>1],!(e>>>0<=o>>>0&&e))break i;if(e=n+(e<<3)|0,t=i[e-8>>2],i[t+16>>2]!=(k|0)){if(r=r+4|0,(A|0)==(r|0))break e;continue}break}if(i[f>>2]=t,r=f,f=i[e-4>>2],i[r+4>>2]=f,!f)break r;i[f+4>>2]=i[f+4>>2]+1;return}i[f>>2]=0,i[f+4>>2]=0}return}i[f>>2]=0,i[f+4>>2]=0}function aA(f){var e=0,r=0,A=0,k=0;if(i[f+4>>2]&&(e=i[f+308>>2],r=i[f+112>>2],r&&(A=i[r+544>>2]),V[e|0](r,f,A),i[f+12>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0,i[f+72>>2]=0,i[f+64>>2]=0,i[f+68>>2]=0),e=i[f+52>>2],k=i[f+56>>2],(e|0)!=(k|0))for(A=0;;){if(r=i[(A<<2)+e>>2],r){e=i[r+1352>>2],e&&(i[r+1356>>2]=e,G(e)),C8(r+1340|0),e=i[r+784>>2],e&&(i[r+788>>2]=e,G(e)),e=i[r+8>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}G(r),k=i[f+56>>2],e=i[f+52>>2]}if(A=A+1|0,!(A>>>0<k-e>>2>>>0))break}i[f+56>>2]=e}function w4(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;i:{if(e){if(A=i[f+44>>2],t=i[f+40>>2],k=A-t|0,r=k>>2,r>>>0<=15){if(n=i[f+48>>2],n>>>0>A>>>0){i[A>>2]=e,i[f+44>>2]=A+4;return}if(n=n-t|0,o=n>>1,r=r+1|0,r=n>>>0>=2147483644?1073741823:r>>>0<o>>>0?o:r,r>>>0>=1073741824)break i;if(r=r<<2,n=U(r),k=n+k|0,i[k>>2]=e,e=k+4|0,(A|0)!=(t|0))for(;k=k-4|0,A=A-4|0,i[k>>2]=i[A>>2],(A|0)!=(t|0););i[f+48>>2]=r+n,i[f+44>>2]=e,i[f+40>>2]=k,t&&G(t),i[f+44>>2]=e;return}G(i[e+20>>2]),f=i[e+32>>2],f&&(i[e+36>>2]=f,G(f)),G(e)}return}_2(),P()}function yB(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0;i:{n=i[f>>2],f=i[n+164>>2],u=i[n+168>>2];r:{if((f|0)==(u|0))break r;if(e)for(;;){n=G2(e),o=i[f>>2],t=l[o+15|0],h=(t|0)<0;e:{if(((h?i[o+8>>2]:t)|0)!=(n|0))break e;if((n|0)==-1)break i;if(t=o+4|0,K2(h?i[t>>2]:t,e,n))break e;if((A|0)<=(k|0))break r;i[(k<<2)+r>>2]=i[o>>2],k=k+1|0}if(f=f+8|0,(u|0)==(f|0))break r}for(e=(A|0)>0?A:0;;){if((e|0)==(k|0))return e|0;if(i[(k<<2)+r>>2]=i[i[f>>2]>>2],k=k+1|0,f=f+8|0,(u|0)==(f|0))break}}return k|0}O3(),P()}function C7(f,e,r,A){var k=0,n=0;i:{if(!r){e=Q[e>>1]|Q[e+2>>1]<<16,X[f>>1]=e,X[f+2>>1]=e>>>16;break i}k=(r|0)>=127?127:r,k=(k|0)<=-128?-128:k,n=k>>31,A=(A|0)>=127?127:A,A=m(((k^n)-n>>>1|16384)/(k|0)<<16>>16,(A|0)<=-128?-128:A)+32>>6,A=(A|0)>=4095?4095:A,n=(A|0)<=-4096?-4096:A,A=m(n,X[e>>1]),k=A>>31,A=m(((A^k)-k|0)+127>>>8|0,(A|0)<0?-1:(A|0)!=0),A=(A|0)>=32767?32767:A,X[f>>1]=(A|0)<=-32768?-32768:A,e=m(n,X[e+2>>1]),A=e>>31,k=f,f=m(((e^A)-A|0)+127>>>8|0,(e|0)<0?-1:(e|0)!=0),f=(f|0)>=32767?32767:f,X[k+2>>1]=(f|0)<=-32768?-32768:f}return(r|0)!=0}function FB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(A=B-32|0,B=A,n=V[i[i[e>>2]+32>>2]](e,r,0)|0,l2(r,i[e+48>>2]),l2(r,i[e+52>>2]),k=i[e+56>>2],t=i[e+60>>2],(k|0)!=(t|0))for(;l2(r,i[k>>2]),k=k+4|0,(t|0)!=(k|0););i[r+12>>2]=n,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+n|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function EB(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0;for(r=B-128|0,B=r,i[r+12>>2]=r+116,A=r+16|0,N9(f+8|0,A,r+12|0,k,n,t),t=B-16|0,B=t,f=B-32|0,B=f,pe(f+24|0,A,i[r+12>>2]),o=f+16|0,u=i[f+28>>2],k=B-16|0,B=k,n=i[f+24>>2],i[k+8>>2]=n,i[k+12>>2]=e;;){if((n|0)!=(u|0)){S3(k+12|0,l[n|0]),n=n+1|0,i[k+8>>2]=n;continue}break}return i[o>>2]=i[k+8>>2],i[o+4>>2]=i[k+12>>2],B=k+16|0,i[f+12>>2]=(i[f+16>>2]-A|0)+A,i[f+8>>2]=i[f+20>>2],i[t+8>>2]=i[f+12>>2],i[t+12>>2]=i[f+8>>2],B=f+32|0,B=t+16|0,B=r+128|0,i[t+12>>2]}function ni(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;if(k=i[f+16>>2],!((k|0)>=(e|0)|(k|0)>56)){for(n=64-k|0,k=i[f+4>>2];;){i:{if(A=n,!k){t=A;break i}if(r=i[f>>2],i[f>>2]=r+1,r=s[r|0],k=k-1|0,i[f+4>>2]=k,h=i[f+12>>2],t=A-8|0,o=t&31,w=f,(t&63)>>>0>=32?(u=r<<o,r=0):(u=(1<<o)-1&r>>>32-o,r=r<<o),i[w+8>>2]=r|i[f+8>>2],i[f+12>>2]=u|h,r=n,n=r-8|0,_=_-(r>>>0<8)|0,(A|0)>15)continue}break}k=64-t|0}i[f+16>>2]=k-e,n=i[f+12>>2],r=i[f+8>>2],A=e&31,(e&63)>>>0>=32?(e=r<<A,A=0):(e=(1<<A)-1&r>>>32-A|n<<A,A=r<<A),i[f+8>>2]=A,i[f+12>>2]=e}function YB(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;if((A|0)>0)for(v=A&2147483646,Z=A&1,t=-1<<k^-1;;){if(o=(m(A,h)<<2)+r|0,w=(m(e,h)<<1)+f|0,k=0,_=0,(A|0)!=1)for(;u=w+(k<<1)|0,n=i[(k<<2)+o>>2]+Q[u>>1]|0,X[u>>1]=(n|0)>=0?(n|0)<(t|0)?n:t:0,n=k|1,u=w+(n<<1)|0,n=i[(n<<2)+o>>2]+Q[u>>1]|0,X[u>>1]=(n|0)>=0?(n|0)<(t|0)?n:t:0,k=k+2|0,_=_+2|0,(v|0)!=(_|0););if(Z&&(n=i[(k<<2)+o>>2],o=w+(k<<1)|0,k=n+Q[o>>1]|0,X[o>>1]=(k|0)>=0?(k|0)<(t|0)?k:t:0),h=h+1|0,(h|0)==(A|0))break}}function JB(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0;n=B-32|0,B=n,i[n+28>>2]=e;i:{if(!(i[r+4>>2]&1)){r=V[i[i[f>>2]+24>>2]](f,e,r,A,k)|0;break i}e=n+16|0,f=i[r+28>>2],i[e>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),f=x0(e,100256),O0(e);r:{if(k){V[i[i[f>>2]+24>>2]](e,f);break r}V[i[i[f>>2]+28>>2]](n+16|0,f)}for(t=n,o=C4(n+16|0),i[t+12>>2]=o;;){if(f=n+16|0,t=n,o=a8(f),i[t+8>>2]=o,e=i[n+12>>2],(e|0)!=i[n+8>>2]){T9(n+28|0,i[e>>2]),i[n+12>>2]=i[n+12>>2]+4;continue}else r=i[n+28>>2],l1(f);break}}return B=n+32|0,r|0}function gB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,n=i[e+12>>2];i:{if(!n&k0[e+8>>2]>=k0[e+32>>2]|n){if(D4(r,e+48|0),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567]);break i}if(l[A|0]=0,l[A+11|0]=0,r0(f,2,101,A),l[A+11|0]>=0)break i;G(i[A>>2])}B=A+32|0}function NB(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0;n=B-32|0,B=n,i[n+28>>2]=e;i:{if(!(i[r+4>>2]&1)){r=V[i[i[f>>2]+24>>2]](f,e,r,A,k)|0;break i}e=n+16|0,f=i[r+28>>2],i[e>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),f=x0(e,100248),O0(e);r:{if(k){V[i[i[f>>2]+24>>2]](e,f);break r}V[i[i[f>>2]+28>>2]](n+16|0,f)}for(t=n,o=C4(n+16|0),i[t+12>>2]=o;;){if(f=n+16|0,t=n,o=S8(f),i[t+8>>2]=o,e=i[n+12>>2],(e|0)!=i[n+8>>2]){S3(n+28|0,l[e|0]),i[n+12>>2]=i[n+12>>2]+1;continue}else r=i[n+28>>2],z0(f);break}}return B=n+32|0,r|0}function SA(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(A=i[f+8>>2],r=i[f+4>>2],A-r>>3>>>0>=e>>>0){e&&(e=e<<3,r=B0(r,0,e)+e|0),i[f+4>>2]=r;return}i:{if(n=i[f>>2],t=r-n>>3,k=t+e|0,k>>>0<536870912){if(A=A-n|0,o=A>>2,A=A>>>0>=2147483640?536870911:k>>>0<o>>>0?o:k,A){if(A>>>0>=536870912)break i;u=U(A<<3)}if(k=(t<<3)+u|0,e=e<<3,e=B0(k,0,e)+e|0,(r|0)!=(n|0)){for(;r=r-8|0,t=i[r+4>>2],k=k-8|0,i[k>>2]=i[r>>2],i[k+4>>2]=t,(r|0)!=(n|0););n=i[f>>2]}i[f+8>>2]=(A<<3)+u,i[f+4>>2]=e,i[f>>2]=k,n&&G(n);return}y0(),P()}_2(),P()}function V7(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69312,A=i[f+56>>2],A){if(e=A,r=i[f+60>>2],(e|0)!=(r|0)){for(;e=i[r-12>>2],e&&(i[r-8>>2]=e,G(e)),r=r-16|0,(A|0)!=(r|0););e=i[f+56>>2]}i[f+60>>2]=A,G(e)}if(i[f>>2]=68616,A=i[f+36>>2],A){if(e=A,r=i[f+40>>2],(e|0)!=(r|0)){for(;;){e=i[r-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r-8|0,(A|0)==(r|0))break}e=i[f+36>>2]}i[f+40>>2]=A,G(e)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function RB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,l2(r,i[e+48>>2]),l2(r,i[e+52>>2]),l2(r,i[e+56>>2]),l2(r,i[e+60>>2]),l2(r,i[e+64>>2]),l2(r,i[e+68>>2]),l2(r,i[e+72>>2]),l2(r,i[e+76>>2]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function DB(f){return f=f|0,s[100292]?i[25072]:(s[101360]||(l[101360]=1),E2(101072,66328),E2(101084,66360),E2(101096,66396),E2(101108,66420),E2(101120,66444),E2(101132,66460),E2(101144,66480),E2(101156,66500),E2(101168,66528),E2(101180,66568),E2(101192,66600),E2(101204,66636),E2(101216,66672),E2(101228,66688),E2(101240,66704),E2(101252,66720),E2(101264,66444),E2(101276,66736),E2(101288,66752),E2(101300,66768),E2(101312,66784),E2(101324,66800),E2(101336,66816),E2(101348,66832),l[100292]=1,i[25072]=101072,101072)}function UB(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;i:{if(t=V[i[i[e>>2]+68>>2]](i[e+4>>2])|0,e=i[t>>2],!e)break i;for(;;){if(v4(i[e+4>>2],r)){if(e=i[t+4>>2],t=t+4|0,e)continue;break i}break}if(i[e+8>>2]!=1){e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430];return}r:{if(!s[e+16|0]||(k&&(i[k>>2]=i[e+20>>2]),!n))break r;i[n>>2]=i[e+24>>2]}A&&(i[A>>2]=s[e+16|0]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];return}e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430]}function MB(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;t=B-16|0,B=t,i[t+12>>2]=0,i[t+4>>2]=0,i[t+8>>2]=0;i:{if(n){if((n|0)<0)break i;n=n<<2,o=U(n),i[t+4>>2]=o,u=n+o|0,i[t+12>>2]=u,l0(o,k,n),i[t+8>>2]=u}e=i[e>>2],k=i[e+48>>2],e=i[e+52>>2];r:{if(!e){P1(k,A,r,t+4|0);break r}if(i[e+4>>2]=i[e+4>>2]+1,P1(k,A,r,t+4|0),r=i[e+4>>2],i[e+4>>2]=r-1,r)break r;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[t+4>>2],f&&(i[t+8>>2]=f,G(f)),B=t+16|0;return}y0(),P()}function xB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(A=B-32|0,B=A,n=V[i[i[e>>2]+32>>2]](e,r,0)|0,R4(r,e+56|0),k=i[e+68>>2],t=i[e+72>>2],(k|0)!=(t|0))for(;A2(r,s[k|0]),k=k+1|0,(t|0)!=(k|0););i[r+12>>2]=n,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+n|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function zB(f,e,r,A,k,n,t,o,u,h){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0;var w=0,_=0,v=0;if(!((n|0)<=0|(k|0)<=0))for(t=14-h|0,_=k&2147483644,w=k&3,u=0,v=k>>>0<4;;){if(k=(m(A,u)<<1)+r|0,h=(m(e,u)<<1)+f|0,o=0,!v)for(;X[h>>1]=Q[k>>1]<<t,X[h+2>>1]=Q[k+2>>1]<<t,X[h+4>>1]=Q[k+4>>1]<<t,X[h+6>>1]=Q[k+6>>1]<<t,k=k+8|0,h=h+8|0,o=o+4|0,(_|0)!=(o|0););if(o=0,w)for(;X[h>>1]=Q[k>>1]<<t,k=k+2|0,h=h+2|0,o=o+1|0,(w|0)!=(o|0););if(u=u+1|0,(u|0)==(n|0))break}}function I7(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69024,l[f+123|0]<0&&G(i[f+112>>2]),l[f+111|0]<0&&G(i[f+100>>2]),l[f+99|0]<0&&G(i[f+88>>2]),l[f+87|0]<0&&G(i[f+76>>2]),l[f+75|0]<0&&G(i[f+64>>2]),i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}return i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),f|0}function HB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,n=V[i[i[e>>2]+32>>2]](e,r,0)|0;i:{r:{if(!(k0[e+48>>2]>65535|k0[e+52>>2]>65535)){if(k=k0[e+56>>2]>65535,A2(r,k),k)break r;w2(r,Q[e+48>>1]),w2(r,Q[e+52>>1]),w2(r,Q[e+56>>1]);break i}A2(r,1)}l2(r,i[e+48>>2]),l2(r,i[e+52>>2]),l2(r,i[e+56>>2])}Y4(A+12|0,e,r,n),l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function Q7(f,e,r,A,k,n){var t=0,o=0;i:{r:{e:{if(A=A-i[f+208>>2]|0,(A|0)!=31)for(o=r,r=i[f+124>>2],t=i[r+16944>>2],r=m(o>>t,i[r+16948>>2])+(e>>t)|0,n=n?k|-128:k,e=1<<A,A=0;;){for(k=0;;){if(t=i[f+124>>2],i[t+16948>>2]<=(k|0))break e;if(i[t+16952>>2]<=(A|0))break r;if(t=(r+k|0)+m(i[f+232>>2],A)|0,(t|0)>=i[f+224>>2])break i;if(l[t+i[f+220>>2]|0]=n,k=k+1|0,(e|0)==(k|0))break}if(A=A+1|0,(e|0)==(A|0))break}return}C0(4828,8453,690,15399),P()}C0(4803,8453,691,15399),P()}C0(8891,8453,694,15399),P()}function y7(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;if(k=i[f+200>>2],r=i[f+204>>2],k>>>0<r>>>0){i[k>>2]=e,i[f+200>>2]=k+4;return}i:{if(t=i[f+196>>2],A=k-t>>2,n=A+1|0,n>>>0<1073741824){if(o=A<<2,r=r-t|0,A=r>>1,A=r>>>0>=2147483644?1073741823:A>>>0>n>>>0?A:n,A){if(A>>>0>=1073741824)break i;n=U(A<<2)}else n=0;if(r=o+n|0,i[r>>2]=e,e=r+4|0,(k|0)!=(t|0))for(;r=r-4|0,k=k-4|0,i[r>>2]=i[k>>2],(k|0)!=(t|0););i[f+204>>2]=n+(A<<2),i[f+200>>2]=e,i[f+196>>2]=r,t&&G(t),i[f+200>>2]=e;return}y0(),P()}_2(),P()}function p6(f,e,r,A){var k=0;k=1;i:{if(f){f=r;break i}if(!A){f=r;break i}r:{if(e){f=r;break r}if(f=U(24),l[f+22|0]=1,X[f+20>>1]=2,i[f+16>>2]=131074,i[f+12>>2]=72992,i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=72832,e=f+12|0,l[e+10|0]=1,X[e+8>>1]=6,i[e+4>>2]=851969,!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=0,s[e+10|0]==(!s[A+16|0]|0)|i[A+12>>2]!=Q[e+8>>1])break i;k=i[A+4>>2]==Q[e+4>>1]}i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return k}function W6(f,e,r){var A=0,k=0,n=0;i:{r:{k=i[e+112>>2];e:{if(!k)break e;for(n=e+112|0,e=n;A=k0[k+16>>2]<r>>>0,e=A?e:k,k=i[(A<<2)+k>>2],!!k;);if(A=0,(e|0)==(n|0)|k0[e+16>>2]>r>>>0)break e;if(r=i[e+20>>2],A=i[e+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),r)break r}l[f|0]=0,l[f+11|0]=0;break i}if(l[r+75|0]>=0){e=r- -64|0,r=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=r,i[f+8>>2]=i[e+8>>2];break i}_0(f,i[r+64>>2],i[r+68>>2])}i:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}}function TB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;for(n=B-16|0,B=n;;){i:{if((r|0)<=(t|0))break i;A=i[f+12>>2],k=i[f+16>>2];r:{if(A>>>0<k>>>0){i[n+12>>2]=2147483647,i[n+8>>2]=k-A>>2,i[n+4>>2]=r-t,A=B-16|0,B=A,B=A+16|0,A=B-16|0,B=A,B=A+16|0,A=n+4|0,k=n+8|0,A=i[A>>2]<i[k>>2]?A:k,k=n+12|0,A=i[(i[A>>2]<i[k>>2]?A:k)>>2],ui(i[f+12>>2],A,e),k=A<<2,i[f+12>>2]=k+i[f+12>>2],e=e+k|0;break r}if(A=V[i[i[f>>2]+40>>2]](f)|0,(A|0)==-1)break i;i[e>>2]=A,A=1,e=e+4|0}t=A+t|0;continue}break}return B=n+16|0,t|0}function aB(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;if(!(n&1)){if(!((t|0)<=0|(n|0)<=0))for(p=15-o|0,W=1<<14-o,w=-1<<o^-1;;){for(o=(m(e,_)<<1)+f|0,u=m(k,_)<<1,v=u+A|0,u=r+u|0,Z=0;h=X[v>>1]+(X[u>>1]+W|0)>>p,X[o>>1]=(h|0)>=0?(h|0)<(w|0)?h:w:0,h=X[v+2>>1]+(X[u+2>>1]+W|0)>>p,X[o+2>>1]=(h|0)>=0?(h|0)<(w|0)?h:w:0,v=v+4|0,u=u+4|0,o=o+4|0,Z=Z+2|0,(Z|0)<(n|0););if(_=_+1|0,(_|0)==(t|0))break}return}C0(17190,13955,238,8011),P()}function cr(f,e,r){var A=0,k=0,n=0;i:{r:{k=i[e+112>>2];e:{if(!k)break e;for(n=e+112|0,e=n;A=k0[k+16>>2]<r>>>0,e=A?e:k,k=i[(A<<2)+k>>2],!!k;);if(A=0,(e|0)==(n|0)|k0[e+16>>2]>r>>>0)break e;if(r=i[e+20>>2],A=i[e+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),r)break r}l[f|0]=0,l[f+11|0]=0;break i}if(l[r+99|0]>=0){e=r+88|0,r=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=r,i[f+8>>2]=i[e+8>>2];break i}_0(f,i[r+88>>2],i[r+92>>2])}i:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}}function W8(f,e,r,A){var k=0,n=0,t=0;if(k=i[f+8>>2],n=i[f>>2],k-n>>>0>=A>>>0){if(t=A,k=i[f+4>>2],A=k-n|0,t>>>0>A>>>0){(k|0)!=(n|0)&&(F2(n,e,A),k=i[f+4>>2]),e=e+A|0,A=r-e|0,(e|0)!=(r|0)&&F2(k,e,A),i[f+4>>2]=A+k;return}A=r-e|0,(e|0)!=(r|0)&&F2(n,e,A),i[f+4>>2]=A+n;return}if(n&&(i[f+4>>2]=n,G(n),i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,k=0),(A|0)>=0){n=k<<1,k=k>>>0>=1073741823?2147483647:A>>>0<n>>>0?n:A,A=U(k),i[f+4>>2]=A,i[f>>2]=A,i[f+8>>2]=A+k,k=r-e|0,(e|0)!=(r|0)&&l0(A,e,k),i[f+4>>2]=A+k;return}y0(),P()}function SB(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;if((A|0)>0)for(v=A&2147483646,Z=A&1,t=-1<<k^-1;;){if(o=m(e,h)+f|0,w=(m(A,h)<<2)+r|0,k=0,_=0,(A|0)!=1)for(;u=k+o|0,n=i[(k<<2)+w>>2]+s[u|0]|0,l[u|0]=(n|0)>=0?(n|0)<(t|0)?n:t:0,n=k|1,u=n+o|0,n=i[(n<<2)+w>>2]+s[u|0]|0,l[u|0]=(n|0)>=0?(n|0)<(t|0)?n:t:0,k=k+2|0,_=_+2|0,(v|0)!=(_|0););if(Z&&(o=k+o|0,k=i[(k<<2)+w>>2]+s[o|0]|0,l[o|0]=(k|0)>=0?(k|0)<(t|0)?k:t:0),h=h+1|0,(h|0)==(A|0))break}}function OB(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0;if(!((n|0)<=0|(k|0)<=0))for(t=14-o|0,_=k&2147483644,w=k&3,v=k>>>0<4;;){if(k=(m(e,h)<<1)+f|0,o=(m(A,h)<<1)+r|0,u=0,!v)for(;X[k>>1]=Q[o>>1]<<t,X[k+2>>1]=Q[o+2>>1]<<t,X[k+4>>1]=Q[o+4>>1]<<t,X[k+6>>1]=Q[o+6>>1]<<t,k=k+8|0,o=o+8|0,u=u+4|0,(_|0)!=(u|0););if(u=0,w)for(;X[k>>1]=Q[o>>1]<<t,k=k+2|0,o=o+2|0,u=u+1|0,(w|0)!=(u|0););if(h=h+1|0,(h|0)==(n|0))break}}function jB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;if((r|0)>0)for(w=r&2147483644,u=r&3,_=r>>>0<4;;){if(h=m(r,o),k=0,n=0,!_)for(;A=k+h|0,i[(A<<2)+f>>2]=X[(A<<1)+e>>1],t=A+1|0,i[(t<<2)+f>>2]=X[(t<<1)+e>>1],t=A+2|0,i[(t<<2)+f>>2]=X[(t<<1)+e>>1],A=A+3|0,i[(A<<2)+f>>2]=X[(A<<1)+e>>1],k=k+4|0,n=n+4|0,(w|0)!=(n|0););if(A=0,u)for(;n=k+h|0,i[(n<<2)+f>>2]=X[(n<<1)+e>>1],k=k+1|0,A=A+1|0,(u|0)!=(A|0););if(o=o+1|0,(o|0)==(r|0))break}}function Qi(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(r=i[f+8>>2],A=i[f+4>>2],r-A>>2>>>0>=e>>>0){e&&(e=e<<2,A=B0(A,0,e)+e|0),i[f+4>>2]=A;return}i:{if(n=i[f>>2],t=A-n>>2,k=t+e|0,k>>>0<1073741824){if(r=r-n|0,o=r>>1,k=r>>>0>=2147483644?1073741823:k>>>0<o>>>0?o:k,k){if(k>>>0>=1073741824)break i;u=U(k<<2)}if(r=(t<<2)+u|0,e=e<<2,e=B0(r,0,e)+e|0,(A|0)!=(n|0))for(;r=r-4|0,A=A-4|0,i[r>>2]=i[A>>2],(A|0)!=(n|0););i[f+8>>2]=(k<<2)+u,i[f+4>>2]=e,i[f>>2]=r,n&&G(n);return}y0(),P()}_2(),P()}function PB(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0;i:{if(!(A&&r)||(k=i[e+16>>2],!k)||(k=N0(k,72776,73168),!k))break i;if(e=i[e+20>>2],!e){i[r>>2]=i[k+4>>2],i[A>>2]=i[k+8>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;return}i[e+4>>2]=i[e+4>>2]+1,i[r>>2]=i[k+4>>2],i[A>>2]=i[k+8>>2],i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r,f=i[e+4>>2],i[e+4>>2]=f-1,f||(V[i[i[e>>2]+8>>2]](e),g(e));return}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}function LB(f){return f=f|0,s[100284]?i[25070]:(s[101056]||(l[101056]=1),Y2(100768,1421),Y2(100780,1412),Y2(100792,8436),Y2(100804,7543),Y2(100816,1491),Y2(100828,9774),Y2(100840,1429),Y2(100852,2799),Y2(100864,5930),Y2(100876,5823),Y2(100888,5921),Y2(100900,5940),Y2(100912,7082),Y2(100924,14100),Y2(100936,6046),Y2(100948,4913),Y2(100960,1491),Y2(100972,6176),Y2(100984,7487),Y2(100996,8497),Y2(101008,6118),Y2(101020,3376),Y2(101032,2549),Y2(101044,13890),l[100284]=1,i[25070]=100768,100768)}function KB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;for(k=B-16|0,B=k;;){i:{if((r|0)<=(t|0))break i;A=i[f+12>>2],n=i[f+16>>2];r:{if(A>>>0<n>>>0){i[k+12>>2]=2147483647,i[k+8>>2]=n-A,i[k+4>>2]=r-t,A=B-16|0,B=A,B=A+16|0,A=B-16|0,B=A,B=A+16|0,A=k+4|0,n=k+8|0,A=i[A>>2]<i[n>>2]?A:n,n=k+12|0,A=i[(i[A>>2]<i[n>>2]?A:n)>>2],e8(i[f+12>>2],A,e),i[f+12>>2]=i[f+12>>2]+A;break r}if(A=V[i[i[f>>2]+40>>2]](f)|0,(A|0)==-1)break i;l[e|0]=A<<24>>24,A=1}e=e+A|0,t=A+t|0;continue}break}return B=k+16|0,t|0}function qB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+48|0]|128),A2(r,s[e+50|0]&31|s[e+49|0]<<5&224),A2(r,s[e+57|0]&3|((s[e+52|0]!=0)<<6|(s[e+51|0]!=0)<<7|(s[e+53|0]!=0)<<5|(s[e+54|0]!=0)<<4|(s[e+55|0]!=0)<<3|(s[e+56|0]!=0)<<2)),A2(r,0),Y4(A+12|0,e,r,k),l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function ti(f,e,r,A,k,n){var t=0,o=0,u=0,h=0;i:{if(n&64){r=n+-64|0,e=r&31,(r&63)>>>0>=32?(r=0,e=k>>>e|0):(r=k>>>e|0,e=((1<<e)-1&k)<<32-e|A>>>e),A=0,k=0;break i}if(!n)break i;u=A,o=64-n|0,t=o&31,(o&63)>>>0>=32?(o=A<<t,h=0):(o=(1<<t)-1&u>>>32-t|k<<t,h=u<<t),u=e,e=n&31,(n&63)>>>0>=32?(t=0,e=r>>>e|0):(t=r>>>e|0,e=((1<<e)-1&r)<<32-e|u>>>e),e=h|e,r=t|o,t=A,A=n&31,(n&63)>>>0>=32?(o=0,A=k>>>A|0):(o=k>>>A|0,A=((1<<A)-1&k)<<32-A|t>>>A),k=o}i[f>>2]=e,i[f+4>>2]=r,i[f+8>>2]=A,i[f+12>>2]=k}function $B(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(k=B-32|0,B=k,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,w2(r,(i[e+52>>2]-i[e+48>>2]|0)/6&65535),A=i[e+48>>2],n=i[e+52>>2],(A|0)!=(n|0))for(;w2(r,Q[A>>1]),w2(r,Q[A+2>>1]),w2(r,Q[A+4>>1]),A=A+6|0,(n|0)!=(A|0););Y4(k+12|0,e,r,t),l[k+31|0]<0&&G(i[k+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+32|0}function F7(f,e,r){var A=0,k=0,n=0,t=0,o=0;i:{if(k=B-16|0,B=k,n=r-e>>2,n>>>0<=1073741815){r:{if(n>>>0<2){l[f+11|0]=s[f+11|0]&128|n&127,l[f+11|0]=s[f+11|0]&127,A=f;break r}o=k+8|0,n>>>0>=2?(t=n+2&-2,A=t-1|0,A=(A|0)==2?t:A):A=1,xi(o,A+1|0),A=i[k+8>>2],i[f>>2]=A,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=n}for(;;){if((e|0)!=(r|0)){i[A>>2]=i[e>>2],A=A+4|0,e=e+4|0;continue}break}i[k+4>>2]=0,i[A>>2]=i[k+4>>2],B=k+16|0;break i}o4(),P()}}function bB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(k=B-32|0,B=k,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,w2(r,(i[e+60>>2]-i[e+56>>2]|0)/6&65535),A=i[e+56>>2],n=i[e+60>>2],(A|0)!=(n|0))for(;w2(r,Q[A>>1]),A2(r,s[A+2|0]),w2(r,Q[A+4>>1]),A=A+6|0,(n|0)!=(A|0););Y4(k+12|0,e,r,t),l[k+31|0]<0&&G(i[k+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+32|0}function dB(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0;if(!((n|0)<=0|(k|0)<=0))for(w=k&2147483644,h=k&3,u=0,_=k>>>0<4;;){if(k=m(A,u)+r|0,t=(m(e,u)<<1)+f|0,o=0,!_)for(;X[t>>1]=s[k|0]<<6,X[t+2>>1]=s[k+1|0]<<6,X[t+4>>1]=s[k+2|0]<<6,X[t+6>>1]=s[k+3|0]<<6,k=k+4|0,t=t+8|0,o=o+4|0,(w|0)!=(o|0););if(o=0,h)for(;X[t>>1]=s[k|0]<<6,k=k+1|0,t=t+2|0,o=o+1|0,(h|0)!=(o|0););if(u=u+1|0,(u|0)==(n|0))break}}function cB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-16|0,B=A;i:{if(B2(r)&1){n=e,t=D0(r),i[n+48>>2]=t,n=e,t=D0(r),i[n+52>>2]=t,k=D0(r);break i}n=e,t=t2(r),i[n+48>>2]=t,n=e,t=t2(r),i[n+52>>2]=t,k=t2(r)}i[e+56>>2]=k;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function iZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,14139);break i}Yr(f,e,r,-1)}B=A+32|0}function rZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-32|0,B=A;i:{if(!(r&&e)){i[f+8>>2]=0,i[f>>2]=5,i[f+4>>2]=2001;break i}if(k=i[e>>2],!s[k+208|0]){if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,5,138,A),l[A+11|0]<0&&G(i[A>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}n=i0[k+216>>3],t=i0[k+224>>3],o=i0[k+232>>3],u=i0[k+240>>3],i0[r+32>>3]=i0[k+248>>3],i0[r+24>>3]=u,i0[r+16>>3]=o,i0[r+8>>3]=t,i0[r>>3]=n,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}B=A+32|0}function eZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,l2(r,i[e+56>>2]),l2(r,i[e+60>>2]),l2(r,i[e+64>>2]),l2(r,i[e+68>>2]),l2(r,i[e+72>>2]),R4(r,e+76|0),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function E7(f,e,r){var A=0,k=0,n=0,t=0,o=0;i:{if(k=B-16|0,B=k,n=r-e|0,n>>>0<=2147483639){r:{if(n>>>0<11){l[f+11|0]=s[f+11|0]&128|n&127,l[f+11|0]=s[f+11|0]&127,A=f;break r}o=k+8|0,n>>>0>=11?(t=n+8&-8,A=t-1|0,A=(A|0)==11?t:A):A=10,Mi(o,A+1|0),A=i[k+8>>2],i[f>>2]=A,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=n}for(;;){if((e|0)!=(r|0)){l[A|0]=s[e|0],A=A+1|0,e=e+1|0;continue}break}l[k+7|0]=0,l[A|0]=s[k+7|0],B=k+16|0;break i}o4(),P()}}function X6(f,e,r,A){var k=0,n=0,t=0,o=0;i:{r:{if(!A){k=i[f+12>>2],A=i[f+8>>2],f=k-A>>2;break r}if(k=i[f+12>>2],A=i[f+8>>2],f=k-A>>2,(A|0)==(k|0))break r;for(o=f>>>0<=1?1:f;;){if(t=i[(n<<2)+A>>2],!(i[t+96>>2]!=(e|0)|i[t+108>>2]<=(r|0))&i[t+100>>2]==2)break i;if(n=n+1|0,(o|0)==(n|0))break}}if(n=-1,(A|0)==(k|0))break i;for(t=f>>>0<=1?1:f,f=0;;){if(k=i[(f<<2)+A>>2],!(i[k+96>>2]!=(e|0)|i[k+108>>2]<=(r|0)|!i[k+100>>2]))return f;if(f=f+1|0,(t|0)==(f|0))break}}return n}function AZ(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0;k=B-32|0,B=k;i:{if(!A){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,2001,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,e?i[e>>2]:0),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}Or(k+12|0,r,0),n=i[k+12>>2];r:{if((n|0)!=i[k+16>>2]){e=U(8),r=i[i[n>>2]>>2],i[e+4>>2]=0,i[e>>2]=r,i[A>>2]=e,wt(f,e);break r}if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,3,0,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,e?i[e>>2]:0),l[r+19|0]<0&&G(i[r+8>>2]),!n)break i}G(n)}B=k+32|0}function Y7(f,e){var r=0,A=0,k=0;i:{r:{e:{if(A=e&255,A){if(f&3)for(;;){if(r=s[f|0],!r|(r|0)==(A|0))break i;if(f=f+1|0,!(f&3))break}if(r=i[f>>2],((r|16843008-r)&-2139062144)!=-2139062144)break e;for(k=m(A,16843009);;){if(A=r^k,((16843008-A|A)&-2139062144)!=-2139062144)break e;if(r=i[f+4>>2],A=f+4|0,f=A,((16843008-r|r)&-2139062144)!=-2139062144)break}break r}return G2(f)+f|0}A=f}for(;;){if(f=A,r=s[f|0],!r)break i;if(A=f+1|0,(r|0)==(e&255))break}}return f}function J7(f,e){var r=0,A=0,k=0,n=0,t=0;r=B-32|0,B=r,i[r+28>>2]=0,i[r+20>>2]=0,i[r+24>>2]=0,w8(r,f,e,r+20|0),f=-1;i:{if(i[r>>2]||(A=i[r+20>>2],k=i[r+24>>2]-A|0,f=-1,k>>>0<2))break i;for(e=1;;){t=n,n=e;r:{if(s[A+t|0]!=255||(f=s[e+A|0],(f&240)!=192|s[(f&15)+35200|0]!=1))break r;if(e=t+4|0,f=-1,e>>>0>=k>>>0)break i;f=s[e+A|0];break i}if(e=n+1|0,(k|0)==(e|0))break}f=-1}return l[r+19|0]<0&&G(i[r+8>>2]),e=i[r+20>>2],e&&(i[r+24>>2]=e,G(e)),B=r+32|0,f}function g7(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70032,l[f+103|0]<0&&G(i[f+92>>2]),l[f+91|0]<0&&G(i[f+80>>2]),l[f+79|0]<0&&G(i[f+68>>2]),l[f+67|0]<0&&G(i[f+56>>2]),i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}return i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),f|0}function fZ(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,k=B-32|0,B=k,X7(k+8|0,e,r,A,0);i:{if(i[k+8>>2]){e=i[k+12>>2],i[f>>2]=i[k+8>>2],i[f+4>>2]=e,i[f+16>>2]=i[k+24>>2],e=i[k+20>>2],i[f+8>>2]=i[k+16>>2],i[f+12>>2]=e,i[k+24>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0;break i}if(l2(r,i[e+52>>2]|s[e+48|0]<<24),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}l[k+27|0]<0&&G(i[k+16>>2]),B=k+32|0}function kZ(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if((e|0)>=2)for(w=(e|0)/2|0,_=e&2147483646,v=e&1;;){for(n=(m(e,k)<<1)+f|0,o=(m(e-k|0,e)<<1)+f|0,r=0,u=0;A=n+(r<<1)|0,h=Q[A>>1],t=((r^-1)<<1)+o|0,X[A>>1]=Q[t>>1],X[t>>1]=h,h=Q[A+2>>1],t=A,A=((r^2147483646)<<1)+o|0,X[t+2>>1]=Q[A>>1],X[A>>1]=h,r=r+2|0,u=u+2|0,(_|0)!=(u|0););if(v&&(A=n+(r<<1)|0,n=Q[A>>1],r=((r^-1)<<1)+o|0,X[A>>1]=Q[r>>1],X[r>>1]=n),k=k+1|0,(w|0)==(k|0))break}}function nZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;k=B-16|0,B=k;i:{if(!e)break i;f=i[f>>2],A=i[f+48>>2],f=i[f+52>>2];r:{if(!f){RA(k+4|0,A);break r}if(i[f+4>>2]=i[f+4>>2]+1,RA(k+4|0,A),A=i[f+4>>2],i[f+4>>2]=A-1,A)break r;V[i[i[f>>2]+8>>2]](f),g(f)}r:{e:{if(n=i[k+4>>2],A=i[k+8>>2]-n>>2,(A|0)<=0)break e;for(f=0;;){if((f|0)==(r|0)){A=r;break e}if(t=f<<2,i[t+e>>2]=i[n+t>>2],f=f+1|0,(A|0)==(f|0))break}break r}if(!n)break i}i[k+8>>2]=n,G(n)}return B=k+16|0,A|0}function OA(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(e=Y7(f,61),(e|0)==(f|0))return 0;k=e-f|0;i:{if(s[k+f|0]||(A=i[24899],!A)||(r=i[A>>2],!r))break i;for(;;){r:{n=f,t=k,e=0;e:{if(!k)break e;if(e=s[f|0],e)A:{for(;;){if(o=s[r|0],(o|0)!=(e|0)|!o||(t=t-1|0,!t))break A;if(r=r+1|0,e=s[n+1|0],n=n+1|0,!e)break}e=0}else e=0;e=e-s[r|0]|0}if(!e&&(e=i[A>>2]+k|0,s[e|0]==61))break r;if(r=i[A+4>>2],A=A+4|0,r)continue;break i}break}u=e+1|0}return u}function L1(f,e,r,A,k,n){var t=0,o=0,u=0;i:{if(n&64){k=n+-64|0,n=e,A=k&31,(k&63)>>>0>=32?(k=n<<A,A=0):(k=(1<<A)-1&n>>>32-A|r<<A,A=n<<A),e=0,r=0;break i}if(!n)break i;o=A,t=n&31,(n&63)>>>0>=32?(u=A<<t,o=0):(u=(1<<t)-1&o>>>32-t|k<<t,o=o<<t),t=e,k=64-n|0,A=k&31,(k&63)>>>0>=32?(k=0,A=r>>>A|0):(k=r>>>A|0,A=((1<<A)-1&r)<<32-A|t>>>A),A=o|A,k=k|u,o=e,t=n&31,(n&63)>>>0>=32?(u=e<<t,e=0):(u=(1<<t)-1&o>>>32-t|r<<t,e=o<<t),r=u}i[f>>2]=e,i[f+4>>2]=r,i[f+8>>2]=A,i[f+12>>2]=k}function N7(f){return l[f+316|0]=0,X[f+314>>1]=0,i[f+60>>2]=0,i[f+52>>2]=0,i[f+56>>2]=0,B0(f+116|0,0,164),i[f+108>>2]=0,i[f+112>>2]=0,i[f>>2]=-1,i[f+4>>2]=0,i[f+8>>2]=0,i[f+12>>2]=0,i[f+64>>2]=0,i[f+68>>2]=0,i[f+72>>2]=0,i[f+320>>2]=0,i[f+24>>2]=0,i[f+28>>2]=0,i[f+280>>2]=0,i[f+284>>2]=0,i[f+288>>2]=0,i[f+292>>2]=0,i[f+296>>2]=0,i[f+300>>2]=0,l[f+312|0]=2,l[f+104|0]=0,i[f+100>>2]=0,i[f+92>>2]=-1,i[f+96>>2]=-1,i[f+340>>2]=0,i[f+332>>2]=0,i[f+336>>2]=0,i[f+324>>2]=0,i[f+328>>2]=0,f}function b4(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;k=B-16|0,B=k,U2(+e),A=j0(1)|0,n=j0(0)|0,h=A,r=A&1048575,A=A>>>20&2047;i:{if(A|0){if((A|0)!=2047|t){o=(r&15)<<28|n>>>4,u=r>>>4|0,t=A+15360|0,A=n<<28,r=0;break i}o=(r&15)<<28|n>>>4,u=r>>>4|0,t=32767,A=n<<28,r=0;break i}if(!(r|n)){A=0,r=0;break i}A=r,r=r?$2(r):$2(n)+32|0,L1(k,n,A,0,0,r+49|0),t=15372-r|0,o=i[k+8>>2],u=i[k+12>>2]^65536,A=i[k+4>>2],r=i[k>>2]}i[f>>2]=r,i[f+4>>2]=A,i[f+8>>2]=o,i[f+12>>2]=u|(h&-2147483648|t<<16),B=k+16|0}function jA(f,e){var r=0,A=0,k=0;i:{if(r=i[e>>2],!r)break i;if(k=N0(r,72560,72972),k){A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[f+184>>2]=k,r=i[f+188>>2],i[f+188>>2]=A;r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[e>>2],!r)break i}if(A=N0(r,72560,73012),!A||(r=i[e+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[f+176>>2]=A,e=i[f+180>>2],i[f+180>>2]=r,!e)||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}}function x8(f){var e=0,r=0,A=0;if(!f){if(f=i[19518],f&&(e=x8(f)),f=i[19480],f&&(e=x8(f)|e),f=i[23946],f)for(;i[f+20>>2]!=i[f+28>>2]&&(e=x8(f)|e),f=i[f+56>>2],!!f;);return e}A=i[f+76>>2]<0;i:{r:{if(i[f+20>>2]==i[f+28>>2]||(V[i[f+36>>2]](f,0,0)|0,i[f+20>>2]))break r;e=-1;break i}if(e=i[f+8>>2],r=i[f+4>>2],(e|0)!=(r|0)&&(e=r-e|0,V[i[f+40>>2]](f,e,e>>31,1)|0),e=0,i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0,A)break i}return e}function tZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;k=B-32|0,B=k,i[k+16>>2]=e,A=i[f+48>>2],i[k+20>>2]=r-((A|0)!=0),t=i[f+44>>2],i[k+28>>2]=A,i[k+24>>2]=t;i:{r:{if(A=ps(i[f+60>>2],k+16|0,2,k+12|0)|0,A?(i[23944]=A,A=-1):A=0,A)e=32;else{if(A=i[k+12>>2],(A|0)>0)break r;e=A?32:16}i[f>>2]=e|i[f>>2];break i}if(n=A,t=i[k+20>>2],t>>>0>=A>>>0)break i;n=i[f+44>>2],i[f+4>>2]=n,i[f+8>>2]=n+(A-t|0),i[f+48>>2]&&(i[f+4>>2]=n+1,l[(e+r|0)-1|0]=s[n|0]),n=r}return B=k+32|0,n|0}function PA(f,e,r){var A=0,k=0;A=(r|0)!=0;i:{r:{e:{if(!(f&3)|!r)break e;for(k=e&255;;){if((k|0)==s[f|0])break r;if(r=r-1|0,A=(r|0)!=0,f=f+1|0,!(f&3))break e;if(!r)break}}if(!A)break i;if(A=e&255,!((A|0)==s[f|0]|r>>>0<4))for(A=m(A,16843009);;){if(k=A^i[f>>2],((16843008-k|k)&-2139062144)!=-2139062144)break r;if(f=f+4|0,r=r-4|0,!(r>>>0>3))break}if(!r)break i}for(e=e&255;;){if((e|0)==s[f|0])return f;if(f=f+1|0,r=r-1|0,!r)break}}return 0}function oZ(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0;if(!(n&1)){if(!((t|0)<=0|(n|0)<=0))for(;;){for(w=m(e,h)+f|0,u=m(k,h)<<1,_=u+A|0,u=r+u|0,v=0;o=(X[u>>1]+X[_>>1]|0)- -64>>7,o=(o|0)>=255?255:o,l[w|0]=(o|0)>0?o:0,o=(X[u+2>>1]+X[_+2>>1]|0)- -64>>7,o=(o|0)>=255?255:o,l[w+1|0]=(o|0)>0?o:0,_=_+4|0,u=u+4|0,w=w+2|0,v=v+2|0,(v|0)<(n|0););if(h=h+1|0,(h|0)==(t|0))break}return}C0(17190,13955,105,7860),P()}function R7(f){var e=0,r=0;e=U(128),r=e+32|0,i[r>>2]=0,i[r+4>>2]=0,i[e+68>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,i[e+24>>2]=0,i[e+28>>2]=0,i[e+72>>2]=0,i[e+76>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e>>2]=71984,i[e+40>>2]=0,i[e+44>>2]=0,i[e+48>>2]=0,i[e+52>>2]=0,i[e+56>>2]=0,i[e+60>>2]=0,l[e- -64|0]=0,i[e+16>>2]=69912,i[e+80>>2]=0,i[e+84>>2]=0,i[e+88>>2]=0,i[e+92>>2]=0,l[e+96|0]=0,i[e+112>>2]=0,i[e+116>>2]=0,i[e+120>>2]=0,i[e+124>>2]=0,i[e+32>>2]=1668114798,i[f+4>>2]=e,i[f>>2]=e+16}function lZ(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0;A=B-16|0,B=A;i:{r:{if(i[e+64>>2]&&!(V[i[i[e>>2]+24>>2]](e)|0))break r;i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0;break i}if(Ce(i[e+64>>2],i[r+8>>2],i[r+12>>2],0)){i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0;break i}k=i[r+4>>2],i[A+8>>2]=i[r>>2],i[A+12>>2]=k,k=i[A+12>>2],i[e+72>>2]=i[A+8>>2],i[e+76>>2]=k,e=i[r+12>>2],i[f+8>>2]=i[r+8>>2],i[f+12>>2]=e,e=i[r+4>>2],i[f>>2]=i[r>>2],i[f+4>>2]=e}B=A+16|0}function uZ(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0;i:{r:{e:{if(r=i[f>>2],f=i[r+164>>2],A=i[r+168>>2],(f|0)!=(A|0)){if(!e)return((A-f|0)-8>>>3|0)+1|0;if(n=G2(e),(n|0)!=-1)break e;for(;;){if(e=i[f>>2],l[e+15|0]<0&i[e+8>>2]==-1)break r;if(f=f+8|0,(A|0)==(f|0))break}}r=0;break i}for(r=0;k=i[f>>2],t=l[k+15|0],o=(t|0)<0,((o?i[k+8>>2]:t)|0)==(n|0)&&(r=!K2(o?i[k+4>>2]:k+4|0,e,n)+r|0),f=f+8|0,(A|0)!=(f|0););break i}O3(),P()}return r|0}function D7(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-16|0,B=k;i:{r:{e:{if((f|0)!=(e|0))A:{f:{if(n=s[f|0],(n|0)!=45||(f=f+1|0,(e|0)!=(f|0)))break f;break A}o=i[23944],i[23944]=0,M2(),f=Xi(f,k+12|0,A,-1,-1),A=w0,t=i[23944];f:{if(t){if(i[k+12>>2]!=(e|0))break f;if((t|0)==68)break e;break r}if(i[23944]=o,i[k+12>>2]==(e|0))break r}}i[r>>2]=4,f=0,e=0;break i}i[r>>2]=4,f=-1,e=-1;break i}e=f,r=(n|0)==45,f=r?0-e|0:e,e=r?0-(A+((e|0)!=0)|0)|0:A}return B=k+16|0,w0=e,f}function sZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;k=B-32|0,B=k;i:{if(!r){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,2001,k),l[k+11|0]<0&&G(i[k>>2]),n=f,f=i[e>>2],P0(n,r,f?f+8|0:0),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}if(A=i[e>>2],t=i[A+52>>2],A=i[A+56>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),t&&(n=r,r=i[t+8>>2],l0(n,r,i[t+12>>2]-r|0)),r=f,f=i[e>>2],P0(r,78256,f?f+8|0:0),!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}B=k+32|0}function hZ(f){f=f|0;var e=0,r=0,A=0;if(e=l[f+11|0],r=(e|0)<0,e=r?i[f+4>>2]:e,(e|0)<8)return 3;i:{f=r?i[f>>2]:f;r:{if(s[f+4|0]!=102|s[f+5|0]!=116|(s[f+6|0]!=121|s[f+7|0]!=112))break r;if(e>>>0<12)return 3;A=1,f=p3(f,e);e:{if((f|0)<=1781689192){if((f|0)==1635150182|(f|0)==1751476579)break r;if((f|0)!=1751476600)break e;break r}A:switch(f-1835623985|0){case 0:case 1:break i;default:break A}if((f|0)==1781689193|(f|0)==1785750887)break r}A=2}return A|0}return 3}function wZ(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0,Z=0;if(!(k&1)){if(!((n|0)<=0|(k|0)<=0))for(v=(t|0)<14?1<<13-t:0,Z=14-t|0,u=-1<<t^-1;;){for(t=(m(e,h)<<1)+f|0,w=(m(A,h)<<1)+r|0,_=0;o=X[w>>1]+v>>Z,X[t>>1]=(o|0)>=0?(o|0)<(u|0)?o:u:0,o=X[w+2>>1]+v>>Z,X[t+2>>1]=(o|0)>=0?(o|0)<(u|0)?o:u:0,w=w+4|0,t=t+4|0,_=_+2|0,(_|0)<(k|0););if(h=h+1|0,(h|0)==(n|0))break}return}C0(17190,13955,172,8077),P()}function U7(f,e,r,A){var k=0,n=0,t=0;k=B-16|0,B=k;i:{r:{e:{if((f|0)!=(e|0)){t=i[23944],i[23944]=0,M2(),A=Xi(f,k+12|0,A,0,-2147483648),f=w0,n=i[23944];A:{if(n){if(i[k+12>>2]!=(e|0))break A;if((n|0)==68)break r;break e}if(i[23944]=t,i[k+12>>2]==(e|0))break e}}i[r>>2]=4,e=0;break i}if((f|0)<0&A>>>0<2147483648|(f|0)<-1|(A>>>0>2147483647&(f|0)>=0|(f|0)>0))break r;e=A;break i}if(i[r>>2]=4,e=2147483647,!!A&(f|0)>=0|(f|0)>0)break i;e=-2147483648}return B=k+16|0,e}function yi(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;n=B-16|0,B=n,A=Ot(e),k=B-16|0,B=k;i:{if(A>>>0<=1073741815){r:{if(A>>>0<2){l[f+11|0]=s[f+11|0]&128|A&127,l[f+11|0]=s[f+11|0]&127,r=f;break r}o=k+8|0,A>>>0>=2?(t=A+2&-2,r=t-1|0,r=(r|0)==2?t:r):r=1,xi(o,r+1|0),r=i[k+8>>2],i[f>>2]=r,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=A}De(r,e,A),i[k+4>>2]=0,i[(A<<2)+r>>2]=i[k+4>>2],B=k+16|0;break i}o4(),P()}B=n+16|0}function _Z(f){f=f|0;var e=0,r=0,A=0,k=0;i[f>>2]=73032,e=i[f+52>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function vZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,n=i[e+56>>2];i:{if(!s[e+48|0]){w2(r,n&65535);break i}l2(r,n)}i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function M7(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-16|0,B=k;i:{r:{e:{A:{if((f|0)!=(e|0))f:{k:{if(n=s[f|0],(n|0)!=45||(f=f+1|0,(e|0)!=(f|0)))break k;break f}o=i[23944],i[23944]=0,M2(),f=Xi(f,k+12|0,A,-1,-1),A=w0,t=i[23944];k:{if(t){if(i[k+12>>2]!=(e|0))break k;if((t|0)==68)break e;break A}if(i[23944]=o,i[k+12>>2]==(e|0))break A}}i[r>>2]=4,f=0;break i}if(!A&f>>>0<=65535)break r}i[r>>2]=4,f=65535;break i}f=(n|0)==45?0-f|0:f}return B=k+16|0,f&65535}function G6(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;n=B-16|0,B=n,A=G2(e),k=B-16|0,B=k;i:{if(A>>>0<=2147483639){r:{if(A>>>0<11){l[f+11|0]=s[f+11|0]&128|A&127,l[f+11|0]=s[f+11|0]&127,r=f;break r}o=k+8|0,A>>>0>=11?(t=A+8&-8,r=t-1|0,r=(r|0)==11?t:r):r=10,Mi(o,r+1|0),r=i[k+8>>2],i[f>>2]=r,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=A}of(r,e,A),l[k+7|0]=0,l[A+r|0]=s[k+7|0],B=k+16|0;break i}o4(),P()}B=n+16|0}function mZ(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;i:{if(t=i[e+16>>2],!t||(t=N0(t,72776,73212),!t))break i;e=i[e+20>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r>>2]=i[t+4>>2],i[A>>2]=i[t+8>>2],i[k>>2]=i[t+12>>2],i[n>>2]=i[t+16>>2],i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r;r:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}return}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}function BZ(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;i:{if(t=i[e+16>>2],!t||(t=N0(t,72776,73256),!t))break i;e=i[e+20>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r>>2]=i[t+4>>2],i[A>>2]=i[t+8>>2],i[k>>2]=i[t+12>>2],i[n>>2]=i[t+16>>2],i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r;r:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}return}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}function x7(f,e,r){var A=0,k=0,n=0,t=0,o=0;n=B-16|0,B=n,k=B-16|0,B=k;i:{if(e>>>0<=2147483639){r:{if(e>>>0<11){l[f+11|0]=s[f+11|0]&128|e&127,l[f+11|0]=s[f+11|0]&127,A=f;break r}o=k+8|0,e>>>0>=11?(t=e+8&-8,A=t-1|0,A=(A|0)==11?t:A):A=10,Mi(o,A+1|0),A=i[k+8>>2],i[f>>2]=A,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=e}_t(A,e,r),l[k+7|0]=0,l[e+A|0]=s[k+7|0],B=k+16|0;break i}o4(),P()}return B=n+16|0,f}function LA(f){var e=0,r=0,A=0,k=0;if(i[f+20>>2]=0,r=i[f+8>>2],e=i[f+4>>2],A=r-e>>2,A>>>0>=3)for(;G(i[e>>2]),e=i[f+4>>2]+4|0,i[f+4>>2]=e,r=i[f+8>>2],A=r-e>>2,A>>>0>2;);k=512;i:switch(A-1|0){case 1:k=1024;case 0:i[f+16>>2]=k;break;default:break i}i:{if((e|0)==(r|0))break i;for(;G(i[e>>2]),e=e+4|0,(r|0)!=(e|0););if(e=i[f+8>>2],r=i[f+4>>2],(e|0)==(r|0))break i;i[f+8>>2]=e+((r-e|0)+3&-4)}f=i[f>>2],f&&G(f)}function ZZ(f){f=f|0;var e=0,r=0,A=0,k=0;i[f>>2]=73032,e=i[f+52>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function pZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(k=B-32|0,B=k,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,A=i[e+48>>2],n=i[e+52>>2],(A|0)!=(n|0))for(;w2(r,Q[A>>1]),A2(r,s[A+2|0]),A2(r,s[A+3|0]),A=A+4|0,(n|0)!=(A|0););Y4(k+12|0,e,r,t),l[k+31|0]<0&&G(i[k+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+32|0}function WZ(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if((r|0)>0)for(h=1<<k-1,_=r&2147483646,v=r&1;;){if(n=0,t=0,w=0,(r|0)!=1)for(;u=m(r,n)+o|0,t=((X[(u<<1)+e>>1]<<A)+h>>k)+t|0,i[(u<<2)+f>>2]=t,u=m(n|1,r)+o|0,t=t+((X[(u<<1)+e>>1]<<A)+h>>k)|0,i[(u<<2)+f>>2]=t,n=n+2|0,w=w+2|0,(_|0)!=(w|0););if(v&&(n=m(r,n)+o|0,i[(n<<2)+f>>2]=((X[(n<<1)+e>>1]<<A)+h>>k)+t),o=o+1|0,(o|0)==(r|0))break}}function z7(f){var e=0,r=0,A=0,k=0,n=0;return A=B-16|0,B=A,f=$0(f),i[f+40>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f>>2]=53616,B0(f+52|0,0,47),r=A+12|0,e=i[f+4>>2],i[r>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=St(i[r>>2],r1(100200)),O0(r),e&&(r=A+8|0,e=i[f+4>>2],i[r>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),k=f,n=x0(r,100200),i[k+68>>2]=n,O0(r),e=i[f+68>>2],k=f,n=V[i[i[e>>2]+28>>2]](e)|0,l[k+98|0]=n),V[i[i[f>>2]+12>>2]](f,0,4096)|0,B=A+16|0,f}function XZ(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0;u=B-32|0,B=u,o=i[e>>2],h=i[o+48>>2],o=i[o+52>>2];i:{if(!o){Dn(u+8|0,h,r,A,k,n);break i}if(i[o+4>>2]=i[o+4>>2]+1,Dn(u+8|0,h,r,A,k,n),r=i[o+4>>2],i[o+4>>2]=r-1,r)break i;V[i[i[o>>2]+8>>2]](o),g(o)}i:{if(!(i[u+12>>2]|!t)){i[t>>2]=i[u+8>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;break i}P0(f,u+12|0,i[e>>2])}l[u+31|0]<0&&G(i[u+20>>2]),B=u+32|0}function GZ(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70344,e=i[f+76>>2],e&&(i[f+80>>2]=e,G(e)),i[f>>2]=70224,e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function CZ(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;if((r|0)>0)for(u=1<<k-1,v=r&2147483646,Z=r&1;;){if(_=m(r,h),o=0,t=0,w=0,(r|0)!=1)for(;n=o+_|0,t=((X[(n<<1)+e>>1]<<A)+u>>k)+t|0,i[(n<<2)+f>>2]=t,n=n+1|0,t=t+((X[(n<<1)+e>>1]<<A)+u>>k)|0,i[(n<<2)+f>>2]=t,o=o+2|0,w=w+2|0,(v|0)!=(w|0););if(Z&&(n=o+_|0,i[(n<<2)+f>>2]=((X[(n<<1)+e>>1]<<A)+u>>k)+t),h=h+1|0,(h|0)==(r|0))break}}function H7(f,e,r,A,k){var n=0,t=0,o=0;o=-1,t=A&2147483647,n=(t|0)==2147418112;i:{if((n&!r?f|e:n&(r|0)!=0|t>>>0>2147418112)||(n=k&2147483647,((n|0)==2147418112&0|n>>>0>2147418112)&(n|0)!=2147418112))break i;if(!(f|r|(n|t|e)))return 0;if(n=A&k,(n|0)>0?n=1:n=(n|0)>=0,n){if(((r|0)!=0|(A|0)!=(k|0))&(A|0)<(k|0))break i;return(f|r|(A^k|e))!=0}if(!r&(A|0)==(k|0)?f|e:(r|0)!=0&(A|0)>=(k|0)|(A|0)>(k|0))break i;o=(f|r|(A^k|e))!=0}return o}function VZ(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70344,e=i[f+76>>2],e&&(i[f+80>>2]=e,G(e)),i[f>>2]=70224,e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function IZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,R4(r,e+56|0),R4(r,e+68|0),R4(r,e+80|0),R4(r,e+92|0),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function h2(f,e){var r=0,A=0,k=0,n=0;i:{if(s[f+11|0]>>>7|0?r=i[f+4>>2]:r=s[f+11|0]&127,r>>>0<e>>>0){k=B-16|0,B=k,r=e-r|0,r&&(A=s[f+11|0]>>>7|0?(i[f+8>>2]&2147483647)-1|0:10,s[f+11|0]>>>7|0?e=i[f+4>>2]:e=s[f+11|0]&127,A-e>>>0<r>>>0&&HA(f,A,e+(r-A|0)|0,e,e),s[f+11|0]>>>7|0?A=i[f>>2]:A=f,_t(A+e|0,r,0),n=f,f=e+r|0,wi(n,f),l[k+15|0]=0,l[f+A|0]=s[k+15|0]),B=k+16|0;break i}r=f,s[f+11|0]>>>7|0&&(f=i[f>>2]),Zt(r,f,e)}}function X8(f,e,r,A,k,n){var t=0,o=0,u=0;o=B-16|0,B=o;i:{r:{if(!f||(t=i[k+12>>2],u=r-e>>2,(u|0)>0&&(V[i[i[f>>2]+48>>2]](f,e,u)|0)!=(u|0)))break r;if(e=A-e>>2,t=(e|0)<(t|0)?t-e|0:0,(t|0)>0){e=W7(o+4|0,t,n);e:{if(s[e+11|0]>>>7|0){n=i[e>>2];break e}n=e}if(n=V[i[i[f>>2]+48>>2]](f,n,t)|0,l1(e),(n|0)!=(t|0))break r}if(e=A-r>>2,(e|0)>0&&(V[i[i[f>>2]+48>>2]](f,r,e)|0)!=(e|0))break r;i[k+12>>2]=0;break i}f=0}return B=o+16|0,f}function QZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;return n=V[i[i[f>>2]+8>>2]](f)|0,A=w0,n=r+n|0,A=n>>>0<r>>>0?A+1|0:A,o=i[f+12>>2],k=o,u=i[f+8>>2],(A|0)<=(k|0)&u>>>0>=n>>>0|(A|0)<(k|0)&&(k=B-16|0,B=k,f=i[f+4>>2],i[f+4>>2]=0,X3(k+15|0,f),t=4,s[k+15|0]&&(t=i[(f+i[i[f>>2]-12>>2]|0)+24>>2],e=V[i[i[t>>2]+32>>2]](t,e,r)|0,i[f+4>>2]=e,t=(e|0)!=(r|0)?6:0),Oo(f+i[i[f>>2]-12>>2]|0,t),B=k+16|0),(A|0)<=(o|0)&n>>>0<=u>>>0|(A|0)<(o|0)}function G8(f,e,r,A,k,n){var t=0,o=0,u=0;o=B-16|0,B=o;i:{r:{if(!f||(t=i[k+12>>2],u=r-e|0,(u|0)>0&&(V[i[i[f>>2]+48>>2]](f,e,u)|0)!=(u|0)))break r;if(e=A-e|0,t=(e|0)<(t|0)?t-e|0:0,(t|0)>0){e=x7(o+4|0,t,n);e:{if(s[e+11|0]>>>7|0){n=i[e>>2];break e}n=e}if(n=V[i[i[f>>2]+48>>2]](f,n,t)|0,z0(e),(n|0)!=(t|0))break r}if(e=A-r|0,(e|0)>0&&(V[i[i[f>>2]+48>>2]](f,r,e)|0)!=(e|0))break r;i[k+12>>2]=0;break i}f=0}return B=o+16|0,f}function yZ(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;o=B-32|0,B=o,t=i[e>>2],u=i[t+48>>2],t=i[t+52>>2];i:{if(!t){f9(o+8|0,u,r,A,k);break i}if(i[t+4>>2]=i[t+4>>2]+1,f9(o+8|0,u,r,A,k),r=i[t+4>>2],i[t+4>>2]=r-1,r)break i;V[i[i[t>>2]+8>>2]](t),g(t)}i:{if(!(i[o+12>>2]|!n)){i[n>>2]=i[o+8>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;break i}P0(f,o+12|0,i[e>>2])}l[o+31|0]<0&&G(i[o+20>>2]),B=o+32|0}function FZ(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;o=B-32|0,B=o,t=i[e>>2],u=i[t+48>>2],t=i[t+52>>2];i:{if(!t){Rn(o+8|0,u,r,A,k);break i}if(i[t+4>>2]=i[t+4>>2]+1,Rn(o+8|0,u,r,A,k),r=i[t+4>>2],i[t+4>>2]=r-1,r)break i;V[i[i[t>>2]+8>>2]](t),g(t)}i:{if(!(i[o+12>>2]|!n)){i[n>>2]=i[o+8>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;break i}P0(f,o+12|0,i[e>>2])}l[o+31|0]<0&&G(i[o+20>>2]),B=o+32|0}function KA(f,e){var r=0,A=0,k=0;A=B-16|0,B=A,i[A+12>>2]=e;i:{r:{r=s[f+11|0],k=r>>>7|0;e:{if(!k){r=r&127,e=1;break e}r=i[f+4>>2],e=(i[f+8>>2]&2147483647)-1|0}if((e|0)==(r|0)){Z7(f,e,1,e,e);e:if(s[f+11|0]>>>7|0)break e;break r}e:if(s[f+11|0]>>>7|0)break e;if(k)break r;e=f,l[f+11|0]=s[f+11|0]&128|r+1&127,l[f+11|0]=s[f+11|0]&127;break i}e=i[f>>2],i[f+4>>2]=r+1}f=(r<<2)+e|0,i[f>>2]=i[A+12>>2],i[A+8>>2]=0,i[f+4>>2]=i[A+8>>2],B=A+16|0}function T7(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-16|0,B=k;i:{r:{e:{A:{if((f|0)!=(e|0))f:{k:{if(n=s[f|0],(n|0)!=45||(f=f+1|0,(e|0)!=(f|0)))break k;break f}o=i[23944],i[23944]=0,M2(),f=Xi(f,k+12|0,A,-1,-1),A=w0,t=i[23944];k:{if(t){if(i[k+12>>2]!=(e|0))break k;if((t|0)==68)break e;break A}if(i[23944]=o,i[k+12>>2]==(e|0))break A}}i[r>>2]=4,f=0;break i}if(!A)break r}i[r>>2]=4,f=-1;break i}f=(n|0)==45?0-f|0:f}return B=k+16|0,f}function ie(f,e){i:{if(f){if(e>>>0<=127)break i;r:{if(!i[i[23985]>>2]){if((e&-128)==57216)break i;break r}if(e>>>0<=2047)return l[f+1|0]=e&63|128,l[f|0]=e>>>6|192,2;if(!((e&-8192)!=57344&e>>>0>=55296))return l[f+2|0]=e&63|128,l[f|0]=e>>>12|224,l[f+1|0]=e>>>6&63|128,3;if(e-65536>>>0<=1048575)return l[f+3|0]=e&63|128,l[f|0]=e>>>18|240,l[f+2|0]=e>>>6&63|128,l[f+1|0]=e>>>12&63|128,4}i[23944]=25,f=-1}else f=1;return f}return l[f|0]=e,1}function EZ(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0;if((e|0)>0)for(;;){if(k=i[(n<<2)+f>>2],k){r=i[k+20>>2];i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[k+12>>2];i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[k+4>>2];i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}G(k)}if(n=n+1|0,(n|0)==(e|0))break}}function Fi(f,e){var r=0,A=0;A=f;i:{r:{if((A^e)&3){r=s[e|0];break r}if(e&3)for(;;){if(r=s[e|0],l[A|0]=r,!r)break i;if(A=A+1|0,e=e+1|0,!(e&3))break}if(r=i[e>>2],((r|16843008-r)&-2139062144)!=-2139062144)break r;for(;i[A>>2]=r,A=A+4|0,r=i[e+4>>2],e=e+4|0,((16843008-r|r)&-2139062144)==-2139062144;);}if(l[A|0]=r,!(r&255))break i;for(;r=s[e+1|0],l[A+1|0]=r,A=A+1|0,e=e+1|0,!!r;);}return f}function a7(f,e,r){var A=0,k=0,n=0,t=0,o=0;A=i[f+12>>2],k=i[f+8>>2],f=A-k>>2;i:{if((A|0)!=(k|0))for(o=f>>>0<=1?1:f;;){if(t=i[(n<<2)+k>>2],!(i[t+92>>2]!=(e|0)|i[t+108>>2]<=(r|0))&i[t+100>>2]==2)break i;if(n=n+1|0,(o|0)==(n|0))break}if(n=-1,(A|0)==(k|0))break i;for(t=f>>>0<=1?1:f,f=0;;){if(A=i[(f<<2)+k>>2],!(i[A+92>>2]!=(e|0)|i[A+108>>2]<=(r|0)|!i[A+100>>2]))return f;if(f=f+1|0,(t|0)==(f|0))break}}return n}function YZ(f){f=f|0;var e=0,r=0,A=0;r=i[f>>2],e=i[r+184>>2],r=i[r+188>>2],r&&(i[r+4>>2]=i[r+4>>2]+1);i:{if(e){f=V[i[i[e>>2]+8>>2]](e)|0;break i}if(e=i[f>>2],f=i[e+176>>2],e=i[e+180>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),f?f=V[i[i[f>>2]+8>>2]](f)|0:f=0,!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break i;V[i[i[e>>2]+8>>2]](e),g(e)}i:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break i;V[i[i[r>>2]+8>>2]](r),g(r)}return f|0}function C6(f,e){var r=0,A=0,k=0;A=B-16|0,B=A,l[A+15|0]=e;i:{r:{r=s[f+11|0],k=r>>>7|0;e:{if(!k){r=r&127,e=10;break e}r=i[f+4>>2],e=(i[f+8>>2]&2147483647)-1|0}if((e|0)==(r|0)){HA(f,e,1,e,e);e:if(s[f+11|0]>>>7|0)break e;break r}e:if(s[f+11|0]>>>7|0)break e;if(k)break r;e=f,l[f+11|0]=s[f+11|0]&128|r+1&127,l[f+11|0]=s[f+11|0]&127;break i}e=i[f>>2],i[f+4>>2]=r+1}f=e+r|0,l[f|0]=s[A+15|0],l[A+14|0]=0,l[f+1|0]=s[A+14|0],B=A+16|0}function JZ(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69372,e=i[f+68>>2],e&&(i[f+72>>2]=e,G(e)),l[f+67|0]<0&&G(i[f+56>>2]),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function K1(f,e,r,A){var k=0,n=0;i:{if(s[f+11|0]>>>7|0?k=i[f+4>>2]:k=s[f+11|0]&127,!k|(r-e|0)<5)break i;te(e,r),n=r-4|0,s[f+11|0]>>>7|0?k=i[f+4>>2]:k=s[f+11|0]&127,s[f+11|0]>>>7|0&&(f=i[f>>2]),r=f,f=k+f|0;r:{for(;;){e:{if(k=l[r|0],e>>>0>=n>>>0)break e;if(!((k|0)<=0|(k|0)>=127)&(k|0)!=i[e>>2])break r;e=e+4|0,r=((f-r|0)>1)+r|0;continue}break}if((k|0)<=0|(k|0)>=127|l[r|0]>>>0>i[n>>2]-1>>>0)break i}i[A>>2]=4}}function gZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,w2(r,Q[e+48>>1]),w2(r,Q[e+50>>1]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function NZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,l2(r,i[e+56>>2]),l2(r,i[e+60>>2]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function RZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,l2(r,i[e+48>>2]),l2(r,i[e+52>>2]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function DZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;for(n=B-16|0,B=n;;){i:{if((r|0)<=(t|0))break i;if(A=i[f+24>>2],k=i[f+28>>2],A>>>0>=k>>>0){if((V[i[i[f>>2]+52>>2]](f,i[e>>2])|0)==-1)break i;t=t+1|0,e=e+4|0}else i[n+12>>2]=k-A>>2,i[n+8>>2]=r-t,A=B-16|0,B=A,B=A+16|0,A=n+8|0,k=n+12|0,A=i[(i[A>>2]<i[k>>2]?A:k)>>2],ui(e,A,i[f+24>>2]),k=A<<2,i[f+24>>2]=k+i[f+24>>2],t=A+t|0,e=e+k|0;continue}break}return B=n+16|0,t|0}function UZ(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69372,e=i[f+68>>2],e&&(i[f+72>>2]=e,G(e)),l[f+67|0]<0&&G(i[f+56>>2]),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function N4(f,e){var r=0,A=0,k=0,n=0,t=0;r=i[f+40>>2],k=i[f+36>>2];i:{if((r-k|0)>0)for(;;){n=i[(A<<3)+k>>2];r:{if(!n||(t=i[e>>2],!t))break r;if(V[i[i[n>>2]+24>>2]](n,t)|0)break i;k=i[f+36>>2],r=i[f+40>>2]}if(A=A+1|0,!((A|0)<r-k>>3))break}r:{if(k0[f+44>>2]>r>>>0){i[r>>2]=i[e>>2],e=i[e+4>>2],i[r+4>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),e=r+8|0;break r}e=Q2(f+36|0,e)}i[f+40>>2]=e,A=(e-i[f+36>>2]>>3)-1|0}return A}function U1(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0;u=q0(e,r,o,u),o=w0,k=q0(A,k,n,t),u=k+u|0,A=w0+o|0,o=k>>>0>u>>>0?A+1|0:A,h=t,k=0,w=r,A=0,r=q0(t,k,r,A),t=r+u|0,u=w0+o|0,_=t,r=r>>>0>t>>>0?u+1|0:u,t=q0(n,0,e,0),o=w0,u=0,A=q0(n,u,w,A),o=o+A|0,n=w0+u|0,n=A>>>0>o>>>0?n+1|0:n,u=n+_|0,A=r,n=n>>>0>u>>>0?A+1|0:A,e=q0(e,v,h,k)+o|0,k=w0,k=e>>>0<o>>>0?k+1|0:k,o=k+u|0,u=n,i[f+8>>2]=o,i[f+12>>2]=k>>>0>o>>>0?u+1|0:u,i[f>>2]=t,i[f+4>>2]=e}function S7(f,e){var r=0,A=0;if((f|0)==14)return i[e>>2]?16419:15105;if(r=f&65535,A=f>>16,!((r|0)!=65535|(A|0)>5))return f=i[(A<<2)+e>>2],f?f+8|0:15510;f=31341;i:{r:{e:switch(A-1|0){case 0:if(r>>>0>1)break i;f=56612;break r;case 1:if(r>>>0>49)break i;f=56624;break r;case 4:break e;default:break i}if(r>>>0>3)break i;f=56944}if(!r)return f;for(;e=s[f|0],f=f+1|0,!(!e&&(r=r-1|0,!r)););}return f}function MZ(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0;i:{if(k=V[i[i[e>>2]+68>>2]](i[e+4>>2])|0,e=i[k>>2],!e)break i;for(;;){if(v4(i[e+4>>2],r)){if(e=i[k+4>>2],k=k+4|0,e)continue;break i}break}if(i[e+8>>2]!=3){e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430];return}A&&(i[A>>2]=i[e+16>>2]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];return}e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430]}function xZ(f){f=f|0;var e=0,r=0,A=0;e=i[f>>2],r=i[e+52>>2],e=i[e+56>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);i:{r:{if(r){f=e;break r}f=i[f>>2],r=i[f+44>>2],f=i[f+48>>2],f&&(i[f+4>>2]=i[f+4>>2]+1);e:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(r)break r;e=0;break i}e=V[i[i[r>>2]+8>>2]](r)|0}i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return e|0}function qA(f,e,r,A){var k=0,n=0,t=0,o=0;i:{r:{if(A){if(A>>>0>=357913942)break r;if(k=m(A,12),A=U(k),i[f+4>>2]=A,i[f>>2]=A,i[f+8>>2]=A+k,(e|0)!=(r|0))for(;;){if(i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,t=i[e>>2],k=i[e+4>>2],(t|0)!=(k|0)){if(k=k-t|0,(k|0)<0)break i;n=U(k),i[A+4>>2]=n,i[A>>2]=n,o=k+n|0,i[A+8>>2]=o,l0(n,t,k),i[A+4>>2]=o}if(A=A+12|0,e=e+12|0,(r|0)==(e|0))break}i[f+4>>2]=A}return}y0(),P()}y0(),P()}function zZ(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;n=B-16|0,B=n,e=i[e>>2],u=i[e+48>>2],e=i[e+52>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),t=U(4),i[n+4>>2]=t,o=t+4|0,i[n+12>>2]=o,i[t>>2]=k,i[n+8>>2]=o,P1(u,A,r,n+4|0),r=i[n+4>>2],r&&(i[n+8>>2]=r,G(r));i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],B=n+16|0}function HZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,i[e+48>>2]/90&255),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function TZ(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0;i:{if(A)for(;;){if(A-k>>>0<=3||(n=k+4|0,k=r+k|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),k=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),A-n>>>0<k>>>0))break i;if(Tk(i[e>>2],r+n|0,k,0,0,0),k=k+n|0,!(k>>>0<A>>>0))break}e=i[19372],i[f>>2]=i[19371],i[f+4>>2]=e,i[f+8>>2]=i[19373];return}e=i[19369],i[f>>2]=i[19368],i[f+4>>2]=e,i[f+8>>2]=i[19370]}function n4(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0;A=B-16|0,B=A,V1(A+8|0,f);i:{if(!s[A+8|0]||(n=A+4|0,k=i[(i[i[f>>2]-12>>2]+f|0)+28>>2],i[n>>2]=k,(k|0)!=100008&&(i[k+4>>2]=i[k+4>>2]+1),k=x0(n,99872),O0(n),i[A>>2]=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],t=i[i[f>>2]-12>>2]+f|0,o=J6(t),u=A,h=V[i[i[k>>2]+28>>2]](k,i[A>>2],t,o,e,r)|0,i[u+4>>2]=h,i[n>>2]))break i;J4(i[i[f>>2]-12>>2]+f|0,5)}return Z1(A+8|0),B=A+16|0,f}function aZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;for(k=B-16|0,B=k;;){i:{if((r|0)<=(n|0))break i;if(A=i[f+24>>2],t=i[f+28>>2],A>>>0>=t>>>0){if((V[i[i[f>>2]+52>>2]](f,s[e|0])|0)==-1)break i;n=n+1|0,e=e+1|0}else i[k+12>>2]=t-A,i[k+8>>2]=r-n,A=B-16|0,B=A,B=A+16|0,A=k+8|0,t=k+12|0,A=i[(i[A>>2]<i[t>>2]?A:t)>>2],e8(e,A,i[f+24>>2]),i[f+24>>2]=A+i[f+24>>2],n=A+n|0,e=e+A|0;continue}break}return B=k+16|0,n|0}function SZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(A=B-32|0,B=A,k=i[r>>2],k>>>0<2147483640){i:{r:{if(k>>>0>=11){t=(k|7)+1|0,n=U(t),i[A+16>>2]=t|-2147483648,i[A+8>>2]=n,i[A+12>>2]=k;break r}if(l[A+19|0]=k,n=A+8|0,!k)break i}l0(n,r+4|0,k)}return l[k+n|0]=0,V[f|0](A+20|0,e,A+8|0),f=U(12),i[f+8>>2]=i[A+28>>2],e=i[A+24>>2],i[f>>2]=i[A+20>>2],i[f+4>>2]=e,l[A+19|0]<0&&G(i[A+8>>2]),B=A+32|0,f|0}c2(),P()}function $A(f){var e=0,r=0,A=0,k=0;r=53,k=i[f+24>>2],e=i[f+28>>2],A=k-e|0,e=(((e-((k+6>>>0)%7|0)|0)+7>>>0)/7|0)+((A+369>>>0)%7>>>0<3)|0;i:{if((e|0)!=53){if(r=e,e)break i;r=52;r:switch(((A+6>>>0)%7|0)-4|0){case 1:if(!Vt((i[f+20>>2]%400|0)-1|0))break i;break;case 0:break r;default:break i}return 53}r:switch(((A+371>>>0)%7|0)-3|0){case 0:if(Vt(i[f+20>>2]))break i;break;case 1:break i;default:break r}r=1}return r}function OZ(f,e,r,A,k,n,t,o){if(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,i[e+8>>2]!=1){e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430];return}i:{if(!s[e+16|0]||(k&&(i[k>>2]=i[e+20>>2]),!n))break i;i[n>>2]=i[e+24>>2]}r&&(i[r>>2]=s[e+16|0]),A&&(i[A>>2]=s[e+16|0]),!o|i[e+32>>2]<=0||(i[o>>2]=i[e+28>>2]),t&&(i[t>>2]=i[e+32>>2]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}function jZ(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if((r|0)>0)for(o=1<<k-1,_=r&2147483646,v=r&1;;){if(w=m(r,u),n=0,h=0,(r|0)!=1)for(;t=n+w|0,i[(t<<2)+f>>2]=(X[(t<<1)+e>>1]<<A)+o>>k,t=t+1|0,i[(t<<2)+f>>2]=(X[(t<<1)+e>>1]<<A)+o>>k,n=n+2|0,h=h+2|0,(_|0)!=(h|0););if(v&&(n=n+w|0,i[(n<<2)+f>>2]=(X[(n<<1)+e>>1]<<A)+o>>k),u=u+1|0,(u|0)==(r|0))break}}function PZ(f,e){f=f|0,e=e|0;var r=0;if((e|0)<8)return 3;i:{r:{if(s[f+4|0]!=102|s[f+5|0]!=116|(s[f+6|0]!=121|s[f+7|0]!=112))break r;if(e>>>0<12)return 3;r=1,f=p3(f,e);e:{if((f|0)<=1781689192){if((f|0)==1635150182|(f|0)==1751476579)break r;if((f|0)!=1751476600)break e;break r}A:switch(f-1835623985|0){case 0:case 1:break i;default:break A}if((f|0)==1781689193|(f|0)==1785750887)break r}r=2}return r|0}return 3}function L0(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;r=B-16|0,B=r,V1(r+8|0,f);i:{if(!s[r+8|0]||(k=r+4|0,A=i[(i[i[f>>2]-12>>2]+f|0)+28>>2],i[k>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(k,99872),O0(k),i[r>>2]=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],n=i[i[f>>2]-12>>2]+f|0,t=J6(n),o=r,u=V[i[i[A>>2]+24>>2]](A,i[r>>2],n,t,e)|0,i[o+4>>2]=u,i[k>>2]))break i;J4(i[i[f>>2]-12>>2]+f|0,5)}return Z1(r+8|0),B=r+16|0,f}function re(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;r=B-16|0,B=r,V1(r+8|0,f);i:{if(!s[r+8|0]||(k=r+4|0,A=i[(i[i[f>>2]-12>>2]+f|0)+28>>2],i[k>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(k,99872),O0(k),i[r>>2]=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],n=i[i[f>>2]-12>>2]+f|0,t=J6(n),o=r,u=V[i[i[A>>2]+12>>2]](A,i[r>>2],n,t,e)|0,i[o+4>>2]=u,i[k>>2]))break i;J4(i[i[f>>2]-12>>2]+f|0,5)}return Z1(r+8|0),B=r+16|0,f}function H0(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;r=B-16|0,B=r,V1(r+8|0,f);i:{if(!s[r+8|0]||(k=r+4|0,A=i[(i[i[f>>2]-12>>2]+f|0)+28>>2],i[k>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(k,99872),O0(k),i[r>>2]=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],n=i[i[f>>2]-12>>2]+f|0,t=J6(n),o=r,u=V[i[i[A>>2]+16>>2]](A,i[r>>2],n,t,e)|0,i[o+4>>2]=u,i[k>>2]))break i;J4(i[i[f>>2]-12>>2]+f|0,5)}return Z1(r+8|0),B=r+16|0,f}function Q4(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;r=B-16|0,B=r,V1(r+8|0,f);i:{if(!s[r+8|0]||(k=r+4|0,A=i[(i[i[f>>2]-12>>2]+f|0)+28>>2],i[k>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(k,99872),O0(k),i[r>>2]=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],n=i[i[f>>2]-12>>2]+f|0,t=J6(n),o=r,u=V[i[i[A>>2]+32>>2]](A,i[r>>2],n,t,e)|0,i[o+4>>2]=u,i[k>>2]))break i;J4(i[i[f>>2]-12>>2]+f|0,5)}return Z1(r+8|0),B=r+16|0,f}function d4(f,e){var r=0,A=0,k=0;if((e|0)<=8){if(!e)return 0;A=i[f+16>>2]<<e,i[f+16>>2]=A,r=Q[f+20>>1]+e|0,X[f+20>>1]=r,r=r<<16>>16;i:{if((r|0)<0||(k=i[f+4>>2],k>>>0>=k0[f+8>>2]))break i;i[f+4>>2]=k+1,k=s[k|0],X[f+20>>1]=r-8,A=k<<r|A}return k=i[f+12>>2]<<7,r=(A>>>0)/(k>>>0)|0,e=1<<e,(r|0)>=(e|0)&&(r=e-1|0),i[f+16>>2]=A-m(r,k),r}for(A=e-8|0,e=_9(f);e=x1(f)|e<<1,A=A-1|0,!!A;);return e}function O7(f,e){var r=0,A=0,k=0,n=0,t=0;k=B-16|0,B=k,t=i[23985],i[e+72>>2]<=0&&z3(e),i[23985]=i[e+136>>2],r=-1,i[e+4>>2]||(g6(e),A=!i[e+4>>2]);i:{if(A|(f|0)==-1||(A=ie(k+12|0,f),(A|0)<0)||(n=i[e+4>>2],n>>>0<(A+i[e+44>>2]|0)-8>>>0))break i;r:{if(f>>>0<=127){r=n-1|0,i[e+4>>2]=r,l[r|0]=f;break r}r=n-A|0,i[e+4>>2]=r,l0(r,k+12|0,A)}i[e>>2]=i[e>>2]&-17,r=f}return i[23985]=t,B=k+16|0,(r|0)!=-1}function LZ(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0;if(!(k&1)){if(!((n|0)<=0|(k|0)<=0))for(;;){for(u=m(e,o)+f|0,h=(m(A,o)<<1)+r|0,w=0;t=X[h>>1]+32>>6,t=(t|0)>=255?255:t,l[u|0]=(t|0)>0?t:0,t=X[h+2>>1]+32>>6,t=(t|0)>=255?255:t,l[u+1|0]=(t|0)>0?t:0,h=h+4|0,u=u+2|0,w=w+2|0,(w|0)<(k|0););if(o=o+1|0,(o|0)==(n|0))break}return}C0(17190,13955,40,7924),P()}function KZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,w2(r,Q[e+48>>1]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function qZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+48|0]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function $Z(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,D4(r,e- -64|0),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function V6(f,e,r){var A=Y(0),k=Y(0),n=Y(0),t=Y(0),o=0,u=Y(0);o=B-16|0,B=o,Qn(o+8|0,e,r),A=Z0[o+12>>2],k=Z0[o+8>>2];i:{if(!(A!=Y(0)|k!=Y(0))){k=Y(-.714136004447937),A=Y(-.34413599967956543),n=Y(1.7719999551773071),t=Y(1.4019999504089355);break i}t=Y(Y(1)-k),u=Y(Y(A+k)+Y(-1)),k=Y(Y(Y(k+k)*t)/u),n=Y(Y(1)-A),A=Y(Y(Y(A+A)*n)/u),n=Y(n+n),t=Y(t+t)}Z0[f+16>>2]=n,Z0[f+12>>2]=k,Z0[f+8>>2]=A,Z0[f+4>>2]=t,l[f|0]=1,B=o+16|0}function j7(f){var e=0,r=0,A=0,k=0;e=i[f+28>>2],e&&V[e|0](),e=U(4),i[e>>2]=f,r=U(20),i[r+16>>2]=e,A=i[19573];i:{if(!A){f=78292,e=78292;break i}for(k=i[f+12>>2];;){if(f=A,i[i[i[f+16>>2]>>2]+12>>2]<(k|0)){if(e=f,A=i[f>>2],A)continue;break i}if(A=i[f+4>>2],!A)break}e=f+4|0}i[r+8>>2]=f,i[r>>2]=0,i[r+4>>2]=0,i[e>>2]=r,f=i[i[19572]>>2],f&&(i[19572]=f,r=i[e>>2]),D1(i[19573],r),i[19574]=i[19574]+1}function bZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;k=i[f>>2],A=i[k+72>>2],k=i[k+76>>2];i:{if((A|0)!=(k|0))for(n=i[i[f+8>>2]>>2];;){if(f=i[A>>2],i[f>>2]==(n|0)){if(A=i[A+4>>2],!A){A=0;break i}i[A+4>>2]=i[A+4>>2]+1;break i}if(A=A+8|0,(k|0)==(A|0))break}A=0,f=0}e&&(i[e>>2]=i[f+4>>2]),r&&(i[r>>2]=i[f+8>>2]);i:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}}function bA(){var f=0,e=0,r=0;f=i[19359],f&&V[f|0](),f=i[19570];i:{r:{if(!f){e=78280,r=78280;break r}for(;;){if(r=f,e=i[f+16>>2],e>>>0>77428){if(e=f,f=i[f>>2],f)continue;break r}if(e>>>0>=77428)break i;if(f=i[r+4>>2],!f)break}e=r+4|0}f=U(20),i[f+8>>2]=r,i[f>>2]=0,i[f+4>>2]=0,i[f+16>>2]=77428,i[e>>2]=f,r=i[i[19569]>>2],r&&(i[19569]=r,f=i[e>>2]),D1(i[19570],f),i[19571]=i[19571]+1}j7(77496)}function I6(f){f=f|0;var e=0,r=0,A=0;i[f>>2]=53616,r=B-16|0,B=r,e=i[f+64>>2],e&&(i[r+4>>2]=980,e=o1(r+8|0,e,r+4|0),V[i[i[f>>2]+24>>2]](f)|0,A=i[e>>2],i[e>>2]=0,B3(A),i[f+64>>2]=0,V[i[i[f>>2]+12>>2]](f,0,0)|0,A=i[e>>2],i[e>>2]=0,A&&V[i[e+4>>2]](A)|0),B=r+16|0;i:{if(s[f+96|0]!=1||(e=i[f+32>>2],!e))break i;G(e)}i:{if(s[f+97|0]!=1||(e=i[f+56>>2],!e))break i;G(e)}return K0(f)|0}function oi(f,e,r){var A=0,k=0;i:{A=i[e+56>>2],e=i[e+60>>2];r:{if((A|0)!=(e|0))for(;;){if(!(i[A+40>>2]!=(r|0)|i[A+16>>2]!=1684630887)){if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,e=i[A+48>>2],r=i[A+44>>2],(e|0)==(r|0))break r;if(e=e-r|0,(e|0)<0)break i;A=U(e),i[f>>2]=A,k=e+A|0,i[f+8>>2]=k,l0(A,r,e),i[f+4>>2]=k;return}if(A=A+56|0,(e|0)==(A|0))break}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0}return}y0(),P()}function dA(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A;i:{r:{if(k=i[19586],!k)break r;for(n=78344;t=k0[k+16>>2]<r>>>0,n=t?n:k,k=i[(t<<2)+k>>2],!!k;);if((n|0)==78344|k0[n+16>>2]>r>>>0)break r;i[e+12>>2]=r,P0(f,78256,0);break i}if(i[e+12>>2]=2,l[A|0]=0,l[A+11|0]=0,e=f,f=r0(A+12|0,2,135,A),P0(e,f,0),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2])}B=A+32|0}function dZ(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0;n=B-16|0,B=n,o=i[f>>2],t=i[o+112>>2],k=(i[o+116>>2]-t|0)/20|0;i:{if(!A||(A=(e|0)>=(k|0),k=0,A))break i;for(;A=i[f>>2],P0(n+4|0,m(e+k|0,20)+t|0,A?A+8|0:0),A=m(k,12)+r|0,i[A+8>>2]=i[n+12>>2],t=i[n+8>>2],i[A>>2]=i[n+4>>2],i[A+4>>2]=t,k=k+1|0,t=i[o+112>>2],(k+e|0)<((i[o+116>>2]-t|0)/20|0););}return B=n+16|0,k|0}function cZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,c7(A,e,r),l[A+19|0]<0&&G(i[A+8>>2]),k=e,n=B2(r),l[k+56|0]=n;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function Q6(f,e){var r=0,A=0,k=0,n=0,t=0;i:{if((e|0)<=0)break i;for(t=i[f+12>>2]<<7,A=Q[f+20>>1],r=i[f+16>>2];;){A=A+1|0,X[f+20>>1]=A,r=r<<1,i[f+16>>2]=r,A=A<<16>>16;r:{if((A|0)<0||(A=65528,X[f+20>>1]=65528,n=i[f+4>>2],n>>>0>=k0[f+8>>2]))break r;i[f+4>>2]=n+1,r=s[n|0]|r,i[f+16>>2]=r}if(r>>>0<t>>>0)break i;if(r=r-t|0,i[f+16>>2]=r,k=k+1|0,(k|0)==(e|0))break}k=e}return(e|0)>(k|0)?k:e}function cA(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A;i:{r:{if(k=i[19580],!k)break r;for(n=78320;t=k0[k+16>>2]<r>>>0,n=t?n:k,k=i[(t<<2)+k>>2],!!k;);if((n|0)==78320|k0[n+16>>2]>r>>>0)break r;i[e+4>>2]=r,P0(f,78256,0);break i}if(i[e+4>>2]=2,l[A|0]=0,l[A+11|0]=0,e=f,f=r0(A+12|0,2,133,A),P0(e,f,0),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2])}B=A+32|0}function R4(f,e){var r=0,A=0,k=0,n=0,t=0;if(A=i[e+4>>2],r=l[e+11|0],t=(i[f+12>>2]+((r|0)<0?A:r)|0)+1|0,k=i[f+4>>2]-i[f>>2]|0,t>>>0>k>>>0&&(L2(f,t-k|0),A=i[e+4>>2],r=s[e+11|0]),k=r,r=r<<24>>24<0,r?A:k)for(;r=s[(r?i[e>>2]:e)+n|0],A=i[f+12>>2],i[f+12>>2]=A+1,l[A+i[f>>2]|0]=r,A=l[e+11|0],r=A>>>31|0,n=n+1|0,n>>>0<((A|0)<0?i[e+4>>2]:A)>>>0;);e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=0}function i3(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A;i:{r:{if(k=i[19583],!k)break r;for(n=78332;t=k0[k+16>>2]<r>>>0,n=t?n:k,k=i[(t<<2)+k>>2],!!k;);if((n|0)==78332|k0[n+16>>2]>r>>>0)break r;i[e+8>>2]=r,P0(f,78256,0);break i}if(i[e+8>>2]=2,l[A|0]=0,l[A+11|0]=0,e=f,f=r0(A+12|0,2,134,A),P0(e,f,0),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2])}B=A+32|0}function ip(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;return f=B-256|0,B=f,i[f+248>>2]=37,i[f+252>>2]=0,t=f+248|0,H8(t|1,7540,1,i[r+4>>2]),o=M2(),i[f>>2]=k,i[f+4>>2]=n,k=f+224|0,t=b1(k,24,o,t,f)+k|0,u=X4(k,t,r),o=f+20|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+32|0,Mr(n,u,t,k,f+28|0,f+24|0,o),O0(o),e=X8(e,k,i[f+28>>2],i[f+24>>2],r,A),B=f+256|0,e|0}function rp(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;return f=B-256|0,B=f,i[f+248>>2]=37,i[f+252>>2]=0,t=f+248|0,H8(t|1,7540,0,i[r+4>>2]),o=M2(),i[f>>2]=k,i[f+4>>2]=n,k=f+224|0,t=b1(k,24,o,t,f)+k|0,u=X4(k,t,r),o=f+20|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+32|0,Mr(n,u,t,k,f+28|0,f+24|0,o),O0(o),e=X8(e,k,i[f+28>>2],i[f+24>>2],r,A),B=f+256|0,e|0}function ep(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;return f=B-112|0,B=f,i[f+104>>2]=37,i[f+108>>2]=0,t=f+104|0,H8(t|1,7540,1,i[r+4>>2]),o=M2(),i[f>>2]=k,i[f+4>>2]=n,k=f+80|0,t=b1(k,24,o,t,f)+k|0,u=X4(k,t,r),o=f+20|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+32|0,xr(n,u,t,k,f+28|0,f+24|0,o),O0(o),e=G8(e,k,i[f+28>>2],i[f+24>>2],r,A),B=f+112|0,e|0}function Ap(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;return f=B-112|0,B=f,i[f+104>>2]=37,i[f+108>>2]=0,t=f+104|0,H8(t|1,7540,0,i[r+4>>2]),o=M2(),i[f>>2]=k,i[f+4>>2]=n,k=f+80|0,t=b1(k,24,o,t,f)+k|0,u=X4(k,t,r),o=f+20|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+32|0,xr(n,u,t,k,f+28|0,f+24|0,o),O0(o),e=G8(e,k,i[f+28>>2],i[f+24>>2],r,A),B=f+112|0,e|0}function _0(f,e,r){var A=0,k=0,n=0,t=0;k=B-16|0,B=k;i:{r:{if(r>>>0<11){A=f,l[f+11|0]=s[f+11|0]&128|r&127,l[f+11|0]=s[f+11|0]&127;break r}if(r>>>0>2147483639)break i;t=k+8|0,r>>>0>=11?(n=r+8&-8,A=n-1|0,A=(A|0)==11?n:A):A=10,Mi(t,A+1|0),A=i[k+8>>2],i[f>>2]=A,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=r}e8(e,r+1|0,A),B=k+16|0;return}o4(),P()}function P7(f,e,r,A){var k=0,n=0;i:{if(A>>>0>=3){i[23944]=28;break i}r:{if((A|0)!=1||(k=i[f+8>>2],!k))break r;n=e,k=k-i[f+4>>2]|0,e=e-k|0,r=r-((k>>31)+(k>>>0>n>>>0)|0)|0}if(i[f+20>>2]!=i[f+28>>2]&&(V[i[f+36>>2]](f,0,0)|0,!i[f+20>>2])||(i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,V[i[f+40>>2]](f,e,r,A)|0,(w0|0)<0))break i;return i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=i[f>>2]&-17,0}return-1}function L7(f,e){var r=0,A=0,k=0;i:{if((f|0)!=(e|0)){r=i[e+4>>2];r:{if(!r){r=0;break r}if(i[f+8>>2]<<5>>>0<r>>>0){if(A=i[f>>2],A&&(G(A),i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,r=i[e+4>>2]),(r|0)<0)break i;r=(r-1>>>5|0)+1|0,A=U(r<<2),i[f+8>>2]=r,i[f+4>>2]=0,i[f>>2]=A,r=i[e+4>>2]}if(A=i[e>>2],k=(A+(r-1>>>3&536870908)|0)+4|0,(k|0)==(A|0))break r;F2(i[f>>2],A,k-A|0),r=i[e+4>>2]}i[f+4>>2]=r}return}y0(),P()}function fp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69672,e=i[f+56>>2],e&&(i[f+60>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function kp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70104,e=i[f+64>>2],e&&(i[f+68>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function np(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70224,e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function tp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74368,e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function op(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74548,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function lp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74608,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function up(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74668,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function sp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74788,e=i[f+56>>2],e&&(i[f+60>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function hp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68664,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function wp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68724,e=i[f+56>>2],e&&(i[f+60>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function K7(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;l[f+44|0]=1,l[f|0]=1,pn(f,e);i:{if((r|0)<2)break i;for(k=r-1|0,t=f+52|0;n=m(A,52)+t|0,o=n,u=u0(e,1),l[o|0]=u,o=n,u=u0(e,1),l[o+44|0]=u,A=A+1|0,(k|0)!=(A|0););if(r-2>>>0<7)for(A=k;ni(e,2),A=A+1|0,(A|0)!=8;);if((r|0)<2)break i;for(f=f+52|0,A=0;pn(f+m(A,52)|0,e),A=A+1|0,(k|0)!=(A|0););}}function _p(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69672,e=i[f+56>>2],e&&(i[f+60>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function vp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70104,e=i[f+64>>2],e&&(i[f+68>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function mp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74368,e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function Bp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74548,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function q7(f){var e=0,r=0,A=0;e=i[f+8>>2],e&&V[e|0](),e=i[19570];i:{r:{if(!e){r=78280,A=78280;break r}for(;;){if(A=e,r=i[e+16>>2],r>>>0>f>>>0){if(r=e,e=i[e>>2],e)continue;break r}if(f>>>0<=r>>>0)break i;if(e=i[A+4>>2],!e)break}r=A+4|0}e=U(20),i[e+8>>2]=A,i[e>>2]=0,i[e+4>>2]=0,i[e+16>>2]=f,i[r>>2]=e,f=i[i[19569]>>2],f&&(i[19569]=f,e=i[r>>2]),D1(i[19570],e),i[19571]=i[19571]+1}}function Zp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74608,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function pp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74668,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function Wp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74788,e=i[f+56>>2],e&&(i[f+60>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function ee(f,e,r){var A=0,k=0,n=0;A=i[r+16>>2];i:{if(!A){if(G3(r))break i;A=i[r+16>>2]}if(k=i[r+20>>2],A-k>>>0<e>>>0)return V[i[r+36>>2]](r,f,e)|0;r:{e:{if(!e|i[r+80>>2]<0)break e;for(A=e;;){if(n=f+A|0,s[n-1|0]!=10){if(A=A-1|0,A)continue;break e}break}if(k=V[i[r+36>>2]](r,f,A)|0,k>>>0<A>>>0)break i;e=e-A|0,k=i[r+20>>2];break r}n=f,A=0}l0(k,n,e),i[r+20>>2]=i[r+20>>2]+e,k=e+A|0}return k}function $7(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70224,e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function Xp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68664,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function Gp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68724,e=i[f+56>>2],e&&(i[f+60>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function Cp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70524,l[f+67|0]<0&&G(i[f+56>>2]),i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}return i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),f|0}function Vp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68844,l[f+87|0]<0&&G(i[f+76>>2]),i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}return i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),f|0}function b7(f,e,r,A){var k=0,n=0,t=0;k=B-16|0,B=k,t=i[e+48>>2],A=i[i[A>>2]+20>>2],r=i[i[r>>2]+20>>2],e=U(4),i[k+4>>2]=e,n=e+4|0,i[k+12>>2]=n,i[e>>2]=r,i[k+8>>2]=n,P1(t,A,1953000802,k+4|0),e=i[k+4>>2],e&&(i[k+8>>2]=e,G(e)),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function Ip(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;for(var n=0,t=0,o=0,u=0,h=0,w=0;;){i:{if((r|0)==(A|0)|k>>>0<=u>>>0)break i;o=1,n=B-16|0,B=n,i[n+12>>2]=i[f+8>>2],t=S4(n+8|0,n+12|0),h=B6(0,r,A-r|0,e||99836),t=i[t>>2],t&&(i[23985]=(t|0)==-1?95820:t),B=n+16|0;r:switch(h+2|0){default:o=h;break;case 0:case 1:break i;case 2:break r}u=u+1|0,w=o+w|0,r=r+o|0;continue}break}return w|0}function Qp(f,e){f=f|0,e=e|0;var r=0,A=0;r=i[f+24>>2],r>>>0>k0[f+44>>2]&&(i[f+44>>2]=r);i:{if(r=i[f+8>>2],A=i[f+12>>2],r>>>0>=A>>>0)break i;if((e|0)==-1)return i[f+16>>2]=i[f+44>>2],i[f+12>>2]=A-1,i[f+8>>2]=r,((e|0)!=-1?e:0)|0;if(A=i[f+12>>2]-1|0,!(s[f+48|0]&16)&s[A|0]!=(e&255))break i;return r=i[f+8>>2],i[f+16>>2]=i[f+44>>2],i[f+12>>2]=A,i[f+8>>2]=r,l[i[f+12>>2]]=e<<24>>24,e|0}return-1}function yp(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;if((r|0)>0)for(u=r&2147483646,h=r&1;;){if(A=0,k=0,o=0,(r|0)!=1)for(;t=m(r,A)+n|0,k=X[(t<<1)+e>>1]+k|0,i[(t<<2)+f>>2]=k,t=m(A|1,r)+n|0,k=k+X[(t<<1)+e>>1]|0,i[(t<<2)+f>>2]=k,A=A+2|0,o=o+2|0,(u|0)!=(o|0););if(h&&(A=m(r,A)+n|0,i[(A<<2)+f>>2]=X[(A<<1)+e>>1]+k),n=n+1|0,(n|0)==(r|0))break}}function Fp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70524,l[f+67|0]<0&&G(i[f+56>>2]),i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),G(f)}function Ep(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=D0(r),i[k+48>>2]=n,k=e,n=D0(r),i[k+52>>2]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function Yp(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=t2(r),X[k+48>>1]=n,k=e,n=t2(r),X[k+50>>1]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function Jp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68844,l[f+87|0]<0&&G(i[f+76>>2]),i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),G(f)}function d7(f,e,r,A){var k=0,n=0,t=0;k=B-16|0,B=k;i:{r:{if((f|0)!=(e|0)){t=i[23944],i[23944]=0,M2(),f=Xi(f,k+12|0,A,0,-2147483648),A=w0,n=i[23944];e:{if(n){if(i[k+12>>2]!=(e|0))break e;if((n|0)==68)break r;break i}if(i[23944]=t,i[k+12>>2]==(e|0))break i}}i[r>>2]=4,f=0,A=0;break i}if(i[r>>2]=4,!!f&(A|0)>=0|(A|0)>0){f=-1,A=2147483647;break i}f=0,A=-2147483648}return B=k+16|0,w0=A,f}function c7(f,e,r){var A=0,k=0;A=B-16|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function i9(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;k=B-16|0,B=k,n=i[f+4>>2],A=i[r>>2]-i[f>>2]|0;i:{if(A>>>0<2147483647){A=A<<1;break i}A=-1}if(t=A>>>0<=1?1:A,o=i[e>>2],u=i[f>>2],A=Er((n|0)!=1095?i[f>>2]:0,t),A){(n|0)!=1095&&(i[f>>2]=0),i[k+4>>2]=1094,A=o1(k+8|0,A,k+4|0),yt(f,A),n=i[A>>2],i[A>>2]=0,n&&V[i[A+4>>2]](n),i[e>>2]=i[f>>2]+(o-u|0),i[r>>2]=t+i[f>>2],B=k+16|0;return}u1(),P()}function r3(f,e){var r=0,A=0,k=0,n=0;i:{if((e|0)==10){if(A=255,f=i[f+36>>2]-10|0,f>>>0>=6)break i;e=f<<3,f=e&31,(e&63)>>>0>=32?A=16432>>>f|0:A=((1<<f)-1&16432)<<32-f|1076895768>>>f;break i}if(r=i[f+64>>2],!r)break i;for(k=f- -64|0,f=k;n=i[r+16>>2]<(e|0),f=n?f:r,r=i[(n<<2)+r>>2],!!r;);if((f|0)==(k|0)|i[f+16>>2]>(e|0))break i;A=s[f+20|0]+7&-8}return A&255}function T4(f,e){var r=0,A=0,k=0;if(r=i[f+16>>2],r>>>0<e>>>0){if(r){if(e=i[f+8>>2],e){for(;i[e+16>>2]=i[e+16>>2]-r,e=i[e+8>>2],!!e;);r=i[f+16>>2]}A=i[f>>2],e=V[i[i[A>>2]+8>>2]](A)|0,k=w0,e=e+r|0,k=e>>>0<r>>>0?k+1|0:k,V[i[i[A>>2]+20>>2]](A,e,k)|0,i[f+16>>2]=0}return l[f+20|0]=1,0}A=i[f+8>>2];i:{if(A){if(r=0,!T4(A,e))break i;r=i[f+16>>2]}i[f+16>>2]=r-e,r=1}return r}function r9(f,e,r){var A=0,k=0,n=Y(0),t=0;k=B-16|0,B=k;i:{r:{e:{if((f|0)!=(e|0)){t=i[23944],i[23944]=0,M2(),A=B-16|0,B=A,h3(A,f,k+12|0,0),n=gn(i[A>>2],i[A+4>>2],i[A+8>>2],i[A+12>>2]),B=A+16|0;A:{if(f=i[23944],f){if(i[k+12>>2]==(e|0))break A;break e}if(i[23944]=t,i[k+12>>2]!=(e|0))break e;break i}if((f|0)!=68)break i;break r}i[r>>2]=4;break i}n=Y(0)}i[r>>2]=4}return B=k+16|0,n}function Ei(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;k=B-16|0,B=k,n=i[f+4>>2],A=i[r>>2]-i[f>>2]|0;i:{if(A>>>0<2147483647){A=A<<1;break i}A=-1}if(t=A||4,o=i[e>>2],u=i[f>>2],A=Er((n|0)!=1095?i[f>>2]:0,t),A){(n|0)!=1095&&(i[f>>2]=0),i[k+4>>2]=1094,A=o1(k+8|0,A,k+4|0),yt(f,A),n=i[A>>2],i[A>>2]=0,n&&V[i[A+4>>2]](n),i[e>>2]=i[f>>2]+(o-u|0),i[r>>2]=i[f>>2]+(t&-4),B=k+16|0;return}u1(),P()}function gp(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;return f=B-144|0,B=f,i[f+136>>2]=37,i[f+140>>2]=0,n=f+136|0,H8(n|1,7810,1,i[r+4>>2]),t=M2(),i[f>>2]=k,k=f+123|0,t=b1(k,13,t,n,f)+k|0,u=X4(k,t,r),o=f+4|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+16|0,Mr(n,u,t,k,f+12|0,f+8|0,o),O0(o),e=X8(e,k,i[f+12>>2],i[f+8>>2],r,A),B=f+144|0,e|0}function Np(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;return f=B-144|0,B=f,i[f+136>>2]=37,i[f+140>>2]=0,n=f+136|0,H8(n|1,7810,0,i[r+4>>2]),t=M2(),i[f>>2]=k,k=f+123|0,t=b1(k,13,t,n,f)+k|0,u=X4(k,t,r),o=f+4|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+16|0,Mr(n,u,t,k,f+12|0,f+8|0,o),O0(o),e=X8(e,k,i[f+12>>2],i[f+8>>2],r,A),B=f+144|0,e|0}function e9(f,e,r){var A=0,k=0,n=0;i:{if(s[f+46|0]){if(n=1,k=i[f+48>>2],(k|0)<=0)break i;if(i[f+8360>>2]!=(e|0)){for(n=f+8360|0;;){if(A=A+1|0,(k|0)==(A|0))break i;if(i[n+(A<<2)>>2]==(e|0))break}n=(A|0)<(k|0)}if(A=0,e=i[f+52>>2],(e|0)>0)for(k=f+8404|0;f=i[k+(A<<2)>>2]==(r|0),!f&&(A=A+1|0,(e|0)!=(A|0)););else f=0;return f&n}return!(e|r)}return 0}function Rp(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;return f=B+-64|0,B=f,i[f+56>>2]=37,i[f+60>>2]=0,n=f+56|0,H8(n|1,7810,1,i[r+4>>2]),t=M2(),i[f>>2]=k,k=f+43|0,t=b1(k,13,t,n,f)+k|0,u=X4(k,t,r),o=f+4|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+16|0,xr(n,u,t,k,f+12|0,f+8|0,o),O0(o),e=G8(e,k,i[f+12>>2],i[f+8>>2],r,A),B=f- -64|0,e|0}function Dp(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;return f=B+-64|0,B=f,i[f+56>>2]=37,i[f+60>>2]=0,n=f+56|0,H8(n|1,7810,0,i[r+4>>2]),t=M2(),i[f>>2]=k,k=f+43|0,t=b1(k,13,t,n,f)+k|0,u=X4(k,t,r),o=f+4|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+16|0,xr(n,u,t,k,f+12|0,f+8|0,o),O0(o),e=G8(e,k,i[f+12>>2],i[f+8>>2],r,A),B=f- -64|0,e|0}function D0(f){var e=0,r=0,A=0;r=B-16|0,B=r;i:{if(!T4(f,4))break i;A=i[f>>2],e=i[f+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);r:{if(!(V[i[i[A>>2]+16>>2]](A,r+12|0,4)|0)){vi(f),A=0;break r}f=s[r+12|0]|s[r+13|0]<<8|(s[r+14|0]<<16|s[r+15|0]<<24),A=f<<24|(f&65280)<<8|(f>>>8&65280|f>>>24)}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return B=r+16|0,A}function A9(f,e,r){var A=0,k=0,n=0,t=0;k=B-16|0,B=k;i:{r:{e:{if((f|0)!=(e|0)){t=i[23944],i[23944]=0,M2(),A=B-16|0,B=A,h3(A,f,k+12|0,1),n=YA(i[A>>2],i[A+4>>2],i[A+8>>2],i[A+12>>2]),B=A+16|0;A:{if(f=i[23944],f){if(i[k+12>>2]==(e|0))break A;break e}if(i[23944]=t,i[k+12>>2]!=(e|0))break e;break i}if((f|0)!=68)break i;break r}i[r>>2]=4;break i}n=0}i[r>>2]=4}return B=k+16|0,n}function Up(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;return f=B-208|0,B=f,n=M2(),i[f>>2]=k,t=f+176|0,u=b1(t,20,n,6131,f),o=t+u|0,h=X4(t,o,r),k=f+16|0,n=i[r+28>>2],i[k>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=x0(k,100184),O0(k),V[i[i[n>>2]+48>>2]](n,t,o,k)|0,n=e,e=k+(u<<2)|0,e=X8(n,k,(o|0)==(h|0)?e:((h-f<<2)+f|0)-688|0,e,r,A),B=f+208|0,e|0}function Mp(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0;n=B-16|0,B=n;i:{if(A&&(f=0,(k|0)<=0))break i;Or(n+4|0,e,r),t=i[n+8>>2],r=i[n+4>>2],e=t-r>>2;r:{e:{if(!A){f=e;break e}if(f=0,(r|0)==(t|0)|(k|0)<=0)break e;for(;;){if(t=f<<2,i[t+A>>2]=i[r+t>>2],f=f+1|0,(k|0)<=(f|0))break r;if(!(f>>>0<e>>>0))break}break r}if(!r)break i}G(r)}return B=n+16|0,f|0}function xp(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=hr()|0;i:{if(!e){i[f+4>>2]=k,i[f>>2]=95844;break i}gA(A+8|0,e,r,A+20|0);r:{if(i[A+8>>2]){e=U(12),i[e+8>>2]=i[A+16>>2],r=i[A+12>>2],i[e>>2]=i[A+8>>2],i[e+4>>2]=r,i[A+24>>2]=e,e=j1(73788,A+24|0)|0;break r}i[A+24>>2]=i[A+20>>2],e=j1(73856,A+24|0)|0}if(i[f+4>>2]=e,i[f>>2]=95844,k>>>0<9)break i;t1(k|0)}B=A+32|0}function e3(f){var e=0,r=0,A=0;A=B-16|0,B=A,U2(+f),r=j0(1)|0,j0(0)|0,r=r&2147483647;i:{if(r>>>0<=1072243195){if(e=1,r>>>0<1044816030)break i;e=R6(f,0);break i}if(e=f-f,r>>>0>=2146435072)break i;r=Ck(f,A),f=i0[A+8>>3],e=i0[A>>3];r:switch((r&3)-1|0){default:e=R6(e,f);break i;case 0:e=-F6(e,f,1);break i;case 1:e=-R6(e,f);break i;case 2:break r}e=F6(e,f,1)}return B=A+16|0,e}function zp(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=m(B2(r)&3,90),i[k+48>>2]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function A3(f){var e=0,r=0,A=0;r=B-16|0,B=r,U2(+f),e=j0(1)|0,j0(0)|0,e=e&2147483647;i:{if(e>>>0<=1072243195){if(e>>>0<1045430272)break i;f=F6(f,0,0);break i}if(e>>>0>=2146435072){f=f-f;break i}e=Ck(f,r),f=i0[r+8>>3],A=i0[r>>3];r:switch((e&3)-1|0){default:f=F6(A,f,1);break i;case 0:f=R6(A,f);break i;case 1:f=-F6(A,f,1);break i;case 2:break r}f=-R6(A,f)}return B=r+16|0,f}function f9(f,e,r,A,k){var n=0,t=0;n=B-32|0,B=n,t=f+4|0,i[t>>2]=0,i[t+4>>2]=0,i[t+16>>2]=0,i[t+8>>2]=0,i[t+12>>2]=0,t=n+24|0,D8(t,e,r),r=i[n+24>>2],l[r+124|0]=1,i[r+52>>2]=i[r+52>>2]&-2|1,i[f>>2]=i[r+56>>2],MA(n+4|0,e,t,A,k,0),l[n+23|0]<0&&G(i[n+12>>2]),f=i[n+28>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=n+32|0}function Hp(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;r=B-32|0,B=r,A=hr()|0;i:{if(!e){i[f+4>>2]=A,i[f>>2]=95844;break i}Sn(r+8|0,e,r+20|0);r:{if(i[r+8>>2]){e=U(12),i[e+8>>2]=i[r+16>>2],k=i[r+12>>2],i[e>>2]=i[r+8>>2],i[e+4>>2]=k,i[r+24>>2]=e,e=j1(73788,r+24|0)|0;break r}i[r+24>>2]=i[r+20>>2],e=j1(73856,r+24|0)|0}if(i[f+4>>2]=e,i[f>>2]=95844,A>>>0<9)break i;t1(A|0)}B=r+32|0}function k9(f,e,r){var A=0,k=0,n=0,t=0;return k=B-16|0,B=k,A=B-32|0,B=A,ft(A+24|0,f,e),At(A+16|0,i[A+24>>2],i[A+28>>2],r),t=i[A+16>>2],e=B-16|0,B=e,i[e+12>>2]=f,f=B-16|0,B=f,n=e+12|0,i[f+12>>2]=i[n>>2],B=f+16|0,f=J3(n,t-i[f+12>>2]>>2),B=e+16|0,i[A+12>>2]=f,i[A+8>>2]=(i[A+20>>2]-r|0)+r,i[k+8>>2]=i[A+12>>2],i[k+12>>2]=i[A+8>>2],B=A+32|0,B=k+16|0,i[k+12>>2]}function Tp(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;return f=B-96|0,B=f,n=M2(),i[f>>2]=k,t=f- -64|0,u=b1(t,20,n,6131,f),o=t+u|0,h=X4(t,o,r),k=f+16|0,n=i[r+28>>2],i[k>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=x0(k,100192),O0(k),V[i[i[n>>2]+32>>2]](n,t,o,k)|0,n=e,e=k+u|0,e=G8(n,k,(o|0)==(h|0)?e:((h-f|0)+f|0)-48|0,e,r,A),B=f+96|0,e|0}function ap(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=B2(r)&1,i[k+48>>2]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function n9(f,e,r){var A=0,k=0,n=0,t=0;return k=B-16|0,B=k,A=B-32|0,B=A,ft(A+24|0,f,e),kt(A+16|0,i[A+24>>2],i[A+28>>2],r),t=i[A+16>>2],e=B-16|0,B=e,i[e+12>>2]=f,f=B-16|0,B=f,n=e+12|0,i[f+12>>2]=i[n>>2],B=f+16|0,f=R3(n,t-i[f+12>>2]|0),B=e+16|0,i[A+12>>2]=f,i[A+8>>2]=(i[A+20>>2]-r|0)+r,i[k+8>>2]=i[A+12>>2],i[k+12>>2]=i[A+8>>2],B=A+32|0,B=k+16|0,i[k+12>>2]}function Ae(f,e,r){var A=0,k=0;for(r&2048&&(l[f|0]=43,f=f+1|0),r&1024&&(l[f|0]=35,f=f+1|0),A=r&260,(A|0)!=260&&(l[f|0]=46,l[f+1|0]=42,f=f+2|0),r=r&16384;;){if(k=s[e|0],k){l[f|0]=k,f=f+1|0,e=e+1|0;continue}break}i:{r:{if((A|0)!=256){if((A|0)!=4)break r;e=r?70:102;break i}e=r?69:101;break i}if(e=r?65:97,(A|0)==260)break i;e=r?71:103}return l[f|0]=e,(A|0)!=260}function Sp(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=t2(r),X[k+48>>1]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function Op(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=B2(r),l[k+48|0]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function jp(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0;n=B-16|0,B=n;i:{if((A|0)<=0&&r)break i;Or(n+4|0,f,e),t=i[n+8>>2],e=i[n+4>>2],f=t-e>>2;r:{e:{if(!r){k=f;break e}if((e|0)==(t|0)|(A|0)<=0)break e;for(;;){if(t=k<<2,i[t+r>>2]=i[e+t>>2],k=k+1|0,(k|0)>=(A|0))break r;if(!(f>>>0>k>>>0))break}break r}if(!e)break i}G(e)}return B=n+16|0,k|0}function Pp(f,e,r,A,k){if(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,Q1(f,i[e+8>>2],k)){i[e+28>>2]==1|i[e+4>>2]!=(r|0)||(i[e+28>>2]=A);return}i:{if(!Q1(f,i[e>>2],k))break i;if(!(i[e+16>>2]!=(r|0)&i[e+20>>2]!=(r|0))){if((A|0)!=1)break i;i[e+32>>2]=1;return}i[e+20>>2]=r,i[e+32>>2]=A,i[e+40>>2]=i[e+40>>2]+1,i[e+36>>2]!=1|i[e+24>>2]!=2||(l[e+54|0]=1),i[e+44>>2]=4}}function Lp(f){return f=f|0,s[100276]?i[25068]:(s[100760]||(l[100760]=1),E2(100592,65988),E2(100604,66016),E2(100616,66044),E2(100628,66076),E2(100640,66116),E2(100652,66152),E2(100664,66180),E2(100676,66216),E2(100688,66232),E2(100700,66248),E2(100712,66264),E2(100724,66280),E2(100736,66296),E2(100748,66312),l[100276]=1,i[25068]=100592,100592)}function t9(f){f=f|0;var e=0,r=0,A=0,k=0;for(i[f>>2]=60312,k=f+8|0;;){if(e=i[f+8>>2],i[f+12>>2]-e>>2>>>0>r>>>0){e=i[e+(r<<2)>>2],e&&(A=i[e+4>>2]-1|0,i[e+4>>2]=A,(A|0)==-1&&V[i[i[e>>2]+8>>2]](e)),r=r+1|0;continue}break}return z0(f+144|0),e=B-16|0,B=e,i[e+12>>2]=k,r=i[e+12>>2],i[r>>2]&&(ao(r),Mt(i[e+12>>2]+12|0,i[i[e+12>>2]>>2])),B=e+16|0,f|0}function Kp(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B+-64|0,B=A,k=1;i:{if(Q1(f,e,0)||(k=0,!e)||(e=N0(e,67148,67196),k=0,!e))break i;B0(A+8|0,0,56),l[A+59|0]=1,i[A+16>>2]=-1,i[A+12>>2]=f,i[A+4>>2]=e,i[A+52>>2]=1,V[i[i[e>>2]+28>>2]](e,A+4|0,i[r>>2],1),f=i[A+28>>2],(f|0)==1&&(i[r>>2]=i[A+20>>2]),k=(f|0)==1}return f=k,B=A- -64|0,f|0}function qp(f){f=f|0;var e=0,r=0;r=f+12|0,e=i[r+8496>>2],e&&(i[r+8500>>2]=e,G(e)),e=i[r+8484>>2],e&&(i[r+8488>>2]=e,G(e)),e=i[r+8472>>2],e&&(i[r+8476>>2]=e,G(e)),e=i[r+8460>>2],e&&(i[r+8464>>2]=e,G(e)),e=i[r+8448>>2],e&&(i[r+8452>>2]=e,G(e)),f=i[f+20>>2];i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}}function $p(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;return k=i[f+84>>2],n=i[k>>2],A=i[k+4>>2],o=i[f+28>>2],t=i[f+20>>2]-o|0,t=A>>>0<t>>>0?A:t,t&&(l0(n,o,t),n=t+i[k>>2]|0,i[k>>2]=n,A=i[k+4>>2]-t|0,i[k+4>>2]=A),A=r>>>0>A>>>0?A:r,A&&(l0(n,e,A),n=A+i[k>>2]|0,i[k>>2]=n,i[k+4>>2]=i[k+4>>2]-A),l[n|0]=0,e=i[f+44>>2],i[f+28>>2]=e,i[f+20>>2]=e,r|0}function bp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}return i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),f|0}function f3(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-48|0,B=k,n=i[i[f>>2]-12>>2]+f|0,t=i[n+16>>2]&-3,z1(n,t),X3(k+47|0,f),s[k+47|0]&&(n=k+24|0,o=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],V[i[i[o>>2]+16>>2]](n,o,e,r,A,8),e=k+8|0,i[e+8>>2]=-1,i[e+12>>2]=-1,i[e>>2]=0,i[e+4>>2]=0,J4(i[i[f>>2]-12>>2]+f|0,i[e+8>>2]==i[n+8>>2]&i[n+12>>2]==i[e+12>>2]?t|4:t)),B=k+48|0}function dp(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if((r|0)!=31)for(w=r+5|0,u=1<<r;;){for(_=m(A,t)+f|0,v=(t<<r<<1)+e|0,k=0,o=0;o=((X[(k<<1)+v>>1]<<w)+2048>>12)+o|0,h=k+_|0,n=o+s[h|0]|0,n=(n|0)>=255?255:n,l[h|0]=(n|0)>0?n:0,k=k+1|0,(u|0)!=(k|0););if(t=t+1|0,(u|0)==(t|0))break}}function E2(f,e){var r=0,A=0,k=0;i:{if(A=Ot(e),r=s[f+11|0]>>>7|0?(i[f+8>>2]&2147483647)-1|0:1,s[f+11|0]>>>7|0?k=i[f+4>>2]:k=s[f+11|0]&127,A>>>0<=r>>>0){s[f+11|0]>>>7|0?r=i[f>>2]:r=f,Qo(r,e,A),e=B-16|0,B=e;r:if(s[f+11|0]>>>7|0)break r;wi(f,A),i[e+12>>2]=0,i[r+(A<<2)>>2]=i[e+12>>2],B=e+16|0;break i}r7(f,r,A-r|0,k,0,k,A,e)}}function cp(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if((r|0)!=31)for(w=r+5|0,u=1<<r;;){for(_=f+t|0,v=(t<<1)+e|0,k=0,o=0;o=((X[(k<<r<<1)+v>>1]<<w)+2048>>12)+o|0,h=m(A,k)+_|0,n=o+s[h|0]|0,n=(n|0)>=255?255:n,l[h|0]=(n|0)>0?n:0,k=k+1|0,(u|0)!=(k|0););if(t=t+1|0,(u|0)==(t|0))break}}function k3(f){var e=0,r=0;if(e=B-16|0,B=e,i[(i[i[f>>2]-12>>2]+f|0)+24>>2]){i[e+12>>2]=f,l[e+8|0]=0,i[(i[i[f>>2]-12>>2]+f|0)+16>>2]||(r=i[(i[i[f>>2]-12>>2]+f|0)+72>>2],r&&k3(r),l[e+8|0]=1);i:{if(!s[e+8|0]||(r=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],(V[i[i[r>>2]+24>>2]](r)|0)!=-1))break i;J4(i[i[f>>2]-12>>2]+f|0,1)}Z1(e+8|0)}B=e+16|0}function G1(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),G(f)}function n3(f,e,r,A){l[f+53|0]=1;i:{if(i[f+4>>2]!=(r|0))break i;l[f+52|0]=1,r=i[f+16>>2];r:{if(!r){if(i[f+36>>2]=1,i[f+24>>2]=A,i[f+16>>2]=e,(A|0)!=1)break i;if(i[f+48>>2]==1)break r;break i}if((e|0)==(r|0)){if(r=i[f+24>>2],(r|0)==2&&(i[f+24>>2]=A,r=A),i[f+48>>2]!=1)break i;if((r|0)==1)break r;break i}i[f+36>>2]=i[f+36>>2]+1}l[f+54|0]=1}}function iW(f){f=f|0;var e=0,r=0;if(f){e=i[f+20>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+12>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+4>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}G(f)}}function rW(f){return f=f|0,s[100268]?i[25066]:(s[100584]||(l[100584]=1),Y2(100416,1470),Y2(100428,1477),Y2(100440,1443),Y2(100452,1451),Y2(100464,1434),Y2(100476,1484),Y2(100488,1461),Y2(100500,6172),Y2(100512,7008),Y2(100524,9257),Y2(100536,13565),Y2(100548,2553),Y2(100560,8170),Y2(100572,3543),l[100268]=1,i[25066]=100416,100416)}function M1(f,e){i:{if((e|0)>=1024){if(f=f*898846567431158e293,e>>>0<2047){e=e-1023|0;break i}f=f*898846567431158e293,e=(e>>>0>=3069?3069:e)-2046|0;break i}if((e|0)>-1023)break i;if(f=f*2004168360008973e-307,e>>>0>4294965304){e=e+969|0;break i}f=f*2004168360008973e-307,e=(e>>>0<=4294964336?-2960:e)+1938|0}return N2(0,0),N2(1,e+1023<<20),f*+m1()}function eW(f,e){f=f|0,e=e|0;var r=0,A=0;f=i[f>>2],r=i[f+48>>2],f=i[f+52>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),A=i[r+20>>2],r=i[r+24>>2];i:{if(!r){Z4(A,e);break i}if(i[r+4>>2]=i[r+4>>2]+1,Z4(A,e),e=i[r+4>>2],i[r+4>>2]=e-1,e)break i;V[i[i[r>>2]+8>>2]](r),g(r)}i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}}function AW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(A=B-16|0,B=A,k=i[r>>2],k>>>0<2147483640){t=i[f>>2];i:{r:{if(k>>>0>=11){n=(k|7)+1|0,f=U(n),i[A+12>>2]=n|-2147483648,i[A+4>>2]=f,i[A+8>>2]=k;break r}if(l[A+15|0]=k,f=A+4|0,!k)break i}l0(f,r+4|0,k)}l[f+k|0]=0,V[t|0](e,A+4|0),l[A+15|0]<0&&G(i[A+4>>2]),B=A+16|0;return}c2(),P()}function o9(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;A=f+18548|0,r=f2(A,i[f+18572>>2]+150|0),k=1,n=f2(A,i[f+18572>>2]+150|0),t=1,r&&(t=!f2(A,i[f+18572>>2]+151|0)),n&&(k=!f2(A,i[f+18572>>2]+151|0)),r&&(r=-1,t||(r=DA(A,1)),o=x1(A)?65534-r|0:r+2|0),e=(e<<2)+f|0,n?(r=-1,k||(r=DA(A,1)),f=x1(A)?65534-r|0:r+2|0):f=0,X[e+20>>1]=f,X[e+18>>1]=o}function fW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0;if(r=B-16|0,B=r,on(r+4|0,i[f>>2],e),k=i[r+8>>2],e=i[r+4>>2],e){if(f=e,(e|0)!=(k|0)){for(f=k;;){A=i[f-4>>2];i:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break i;V[i[i[A>>2]+8>>2]](A),g(A)}if(f=f-8|0,(e|0)==(f|0))break}f=i[r+4>>2]}i[r+8>>2]=e,G(f)}return B=r+16|0,k-e>>3}function kW(f){f=f|0;var e=0,r=0,A=0,k=0;if(l[f+73|0]=0,l[f+74|0]=0,l[f+75|0]=0,l[f+76|0]=0,e=s[f+72|0],k=e>>>0<=2?2:e,r=e,A=i[f+60>>2],e=i[f+56>>2],r=A-e>>>0>2097120?k:r,(e|0)!=(A|0))for(;r=k0[e>>2]>65535&&(r|0)<=2?2:r,r=s[e+4|0]&&(r|0)<=1?1:r,e=e+32|0,(A|0)!=(e|0););l[f+75|0]=4,l[f+73|0]=4,l[f+74|0]=4,l[f+48|0]=r}function t3(f){var e=0,r=0,A=0;e=i[f+12>>2]-2|0,i[f+12>>2]=e,A=1,r=i[f+16>>2],e=e<<7;i:{if(r>>>0>=e>>>0||(A=0,e>>>0>32767)||(r=r<<1,i[f+16>>2]=r,i[f+12>>2]=e>>>6,e=Q[f+20>>1]+1|0,X[f+20>>1]=e,(e|0)==(e&65535))||(X[f+20>>1]=65528,e=i[f+4>>2],e>>>0>=k0[f+8>>2]))break i;i[f+4>>2]=e+1,i[f+16>>2]=r+s[e|0]}return A}function l9(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0;e=B-16|0,B=e,k=e+16|0;i:{for(;;){if(A=i[f+36>>2],r=e+8|0,n=V[i[i[A>>2]+20>>2]](A,i[f+40>>2],r,k,e+4|0)|0,A=-1,t=r,r=i[e+4>>2]-r|0,(F1(t,1,r,i[f+32>>2])|0)!=(r|0))break i;r:switch(n-1|0){case 1:break i;case 0:continue;default:break r}break}A=x8(i[f+32>>2])?-1:0}return B=e+16|0,A|0}function nW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;if(A=B-128|0,B=A,r=i[e+16>>2],i[A>>2]=i[e+12>>2],i[A+4>>2]=r,e=A+16|0,ke(e,13597,A),r=G2(e),r>>>0<2147483640){i:{r:{if(r>>>0>=11){k=(r|7)+1|0,e=U(k),i[f+8>>2]=k|-2147483648,i[f>>2]=e,i[f+4>>2]=r,f=e;break r}if(l[f+11|0]=r,!r)break i}l0(f,A+16|0,r)}l[f+r|0]=0,B=A+128|0;return}c2(),P()}function c4(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-16|0,B=k,i[k+12>>2]=e,i[k+8>>2]=A,t=S4(k+4|0,k+12|0),e=B-16|0,B=e,A=i[k+8>>2],i[e+12>>2]=A,i[e+8>>2]=A,n=-1,A=le(0,0,r,A);i:{if((A|0)<0||(o=f,A=A+1|0,f=Z2(A),i[o>>2]=f,!f))break i;n=le(f,A,r,i[e+12>>2])}return B=e+16|0,f=i[t>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=k+16|0,n}function tW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0;if(r=B-16|0,B=r,A=i[e>>2],A>>>0<2147483640){i:{r:{if(A>>>0>=11){n=(A|7)+1|0,k=U(n),i[r+12>>2]=n|-2147483648,i[r+4>>2]=k,i[r+8>>2]=A;break r}if(l[r+15|0]=A,k=r+4|0,!A)break i}l0(k,e+4|0,A)}return l[A+k|0]=0,f=V[f|0](r+4|0)|0,l[r+15|0]<0&&G(i[r+4>>2]),B=r+16|0,f|0}c2(),P()}function o3(f){var e=0,r=0,A=0;r=B-16|0,B=r;i:{if(!T4(f,2))break i;A=i[f>>2],e=i[f+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);r:{if(!(V[i[i[A>>2]+16>>2]](A,r+14|0,2)|0)){vi(f),A=0;break r}f=s[r+14|0]|s[r+15|0]<<8,A=f<<8|f>>>8}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return B=r+16|0,A<<16>>16}function oW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A;i:{if(!e){if(l[A|0]=0,l[A+11|0]=0,e=f,f=r0(A+12|0,5,2001,A),P0(e,f,0),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2]);break i}if(k=i[i[e>>2]+60>>2],k){V[k|0](f,i[e+4>>2],r);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}B=A+32|0}function t2(f){var e=0,r=0,A=0;r=B-16|0,B=r;i:{if(!T4(f,2))break i;A=i[f>>2],e=i[f+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);r:{if(!(V[i[i[A>>2]+16>>2]](A,r+14|0,2)|0)){vi(f),A=0;break r}f=s[r+14|0]|s[r+15|0]<<8,A=f<<8|f>>>8}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return B=r+16|0,A&65535}function lW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+48|0]),Y4(A+12|0,e,r,k),l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function uW(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;t=B-16|0,B=t;i:{if(!e){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=2383;break i}o=i0[e>>3]*+(r|0),i0[t+8>>3]=o,i0[t>>3]=s[e+24|0]?i0[e+32>>3]*+(A|0):o,k&&(i0[k>>3]=i0[t+8>>3]),n&&(i0[n>>3]=i0[t>>3]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}B=t+16|0}function sW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+56|0]),Y4(A+12|0,e,r,k),l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function hW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;return A=i[f+20>>2],k=i[f+16>>2],t=r+k|0,A=t>>>0<r>>>0?A+1|0:A,n=i[f+12>>2],o=i[f+8>>2],(A|0)<=(n|0)&o>>>0>=t>>>0|(A|0)<(n|0)&&(l0(e,i[f+4>>2]+k|0,r),k=i[f+20>>2],e=r+i[f+16>>2]|0,k=e>>>0<r>>>0?k+1|0:k,i[f+16>>2]=e,i[f+20>>2]=k),(A|0)<=(n|0)&t>>>0<=o>>>0|(A|0)<(n|0)}function wW(f){f=f|0;var e=0,r=0,A=0,k=0,n=0;if(n=B-16|0,B=n,e=i[f+652>>2],e&&(i[f+656>>2]=e,G(e)),e=i[f+640>>2],e&&(i[f+644>>2]=e,G(e)),e=i[f+604>>2],e){if(r=e,A=i[f+608>>2],(e|0)!=(A|0)){for(;r=A-12|0,k=i[r>>2],k&&(i[A-8>>2]=k,G(k)),A=r,(e|0)!=(A|0););r=i[f+604>>2]}i[f+608>>2]=e,G(r)}B=n+16|0}function l3(f,e,r,A,k){var n=0,t=0,o=0,u=0;t=B-16|0,B=t,n=t+12|0,e=i[e+28>>2],i[n>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(n,100184),V[i[i[e>>2]+48>>2]](e,60064,60096,r)|0,e=x0(n,100256),o=A,u=V[i[i[e>>2]+12>>2]](e)|0,i[o>>2]=u,o=k,u=V[i[i[e>>2]+16>>2]](e)|0,i[o>>2]=u,V[i[i[e>>2]+20>>2]](f,e),O0(n),B=t+16|0}function _W(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,D4(r,e+48|0),Y4(A+12|0,e,r,k),l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function u3(f,e,r,A,k){var n=0,t=0,o=0,u=0;t=B-16|0,B=t,n=t+12|0,e=i[e+28>>2],i[n>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(n,100192),V[i[i[e>>2]+32>>2]](e,60064,60096,r)|0,e=x0(n,100248),o=A,u=V[i[i[e>>2]+12>>2]](e)|0,l[o|0]=u,o=k,u=V[i[i[e>>2]+16>>2]](e)|0,l[o|0]=u,V[i[i[e>>2]+20>>2]](f,e),O0(n),B=t+16|0}function vW(f){f=f|0;var e=0,r=0,A=0,k=0,n=0;if(e=i[f+56>>2],A=i[f+60>>2],(e|0)!=(A|0))for(;;){if(k0[e+40>>2]>65535){l[f+48|0]=1;return}r=i[e+44>>2],k=i[e+48>>2];i:{if((r|0)==(k|0))break i;for(;;){if(k0[r>>2]<65536){if(r=r+4|0,(k|0)!=(r|0))continue;break i}break}n=1}if(e=e+56|0,(A|0)==(e|0))break}l[f+48|0]=n}function u9(f,e,r){var A=0,k=0,n=0;if(A=i[r+72>>2],i[r+72>>2]=A-1|A,A=i[r+4>>2],k=i[r+8>>2],(A|0)==(k|0)?A=e:(n=A,A=k-A|0,A=e>>>0>A>>>0?A:e,l0(f,n,A),i[r+4>>2]=A+i[r+4>>2],f=f+A|0,A=e-A|0),A)for(;;){i:{if(!g6(r)&&(k=V[i[r+32>>2]](r,f,A)|0,k))break i;return e-A|0}if(f=f+k|0,A=A-k|0,!A)break}return e}function fe(f,e,r){var A=0,k=0,n=0;i:{A=i[e+112>>2];r:{if(!A)break r;for(k=e+112|0,e=k;n=k0[A+16>>2]<r>>>0,e=n?e:A,A=i[(n<<2)+A>>2],!!A;);if((e|0)==(k|0))break r;if(k0[e+16>>2]<=r>>>0)break i}i[f>>2]=0,i[f+4>>2]=0;return}i[f>>2]=i[e+20>>2],r=f,f=i[e+24>>2],i[r+4>>2]=f,f&&(i[f+4>>2]=i[f+4>>2]+1)}function s9(f,e){var r=0,A=0;r=B-32|0,B=r,i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0,X3(r+31|0,e),s[r+31|0]&&(A=i[(i[i[e>>2]-12>>2]+e|0)+24>>2],V[i[i[A>>2]+16>>2]](r+8|0,A,0,0,1,8),A=i[r+20>>2],i[f+8>>2]=i[r+16>>2],i[f+12>>2]=A,A=i[r+12>>2],i[f>>2]=i[r+8>>2],i[f+4>>2]=A,J4(i[i[e>>2]-12>>2]+e|0,0)),B=r+32|0}function v2(f,e,r){var A=0,k=0;i:{r:{if(!r)break r;if(A=i[f+164>>2],(A|0)>0){for(k=f+84|0,r=0;;){if(i[(r<<2)+k>>2]==(e|0))break i;if(r=r+1|0,(A|0)==(r|0))break}if((A|0)>19)break r}i[f+164>>2]=A+1,i[((A<<2)+f|0)+84>>2]=e}if(r=i[f+80>>2],(r|0)==20){i[f+76>>2]=1001;return}i[f+80>>2]=r+1,i[(r<<2)+f>>2]=e}}function h9(f,e,r){var A=0,k=0,n=0;if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,A=i[e+36>>2],n=i[e+40>>2],(A|0)!=(n|0))for(;;){if(e=i[A>>2],i[e+16>>2]==(r|0)){i:{if(k0[f+8>>2]>k>>>0){i[k>>2]=e,e=i[A+4>>2],i[k+4>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),k=k+8|0;break i}k=Q2(f,A)}i[f+4>>2]=k}if(A=A+8|0,(n|0)==(A|0))break}}function mW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;i:{r:{if(f=i[f+4>>2],A=i[f+168>>2],e=e>>A,(e|0)<0||(k=i[f+172>>2],(e|0)>=(k|0)))break r;if(r=r>>A,(r|0)<0|(r|0)>=i[f+176>>2])break i;return f=(i[f+160>>2]+m(e,3)|0)+m(m(r,k),3)|0,(s[f|0]|s[f+1|0]<<8)>>>3&7}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function z8(f){var e=Y(0),r=0,A=0;if(r=(s1(f),j0(2)),A=r>>>23&255,A>>>0<=149)if(A>>>0<=125)f=Y(f*Y(0));else{f=Y(d0(f)),e=Y(Y(Y(f+Y(8388608))+Y(-8388608))-f);i:{if(e>Y(.5)){f=Y(Y(f+e)+Y(-1));break i}if(f=Y(f+e),!(e<=Y(-.5)))break i;f=Y(f+Y(1))}f=(r|0)<0?Y(-f):f}return Y(d0(f))<Y(2147483648)?~~f:-2147483648}function BW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;n=B-16|0,B=n,k=i[f>>2],f=0,i[n+12>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0;i:{if(A=i[k+200>>2],k=i[k+196>>2],(A|0)==(k|0))A=0;else{if(A=A-k|0,(A|0)<0)break i;f=U(A),A=l0(f,k,A)+A|0}return k=e,e=A-f>>2,e=(e|0)<(r|0)?e:r,l0(k,f,e<<2),f&&G(f),B=n+16|0,e|0}y0(),P()}function ZW(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0;if(e=i[f+56>>2],k=i[f+60>>2],(e|0)!=(k|0)){for(;;){if(o=k0[e>>2]>65535,r=i[e+4>>2],n=i[e+8>>2],(r|0)!=(n|0))for(;t=Q[r+2>>1]>127|t,r=r+4|0,(n|0)!=(r|0););if(A=o?1:A,e=e+16|0,(k|0)==(e|0))break}r=A,A=t&1}i[f+52>>2]=A,l[f+48|0]=r}function pW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;if(A=B-128|0,B=A,i[A>>2]=i[e+12>>2],e=A+16|0,ke(e,13644,A),r=G2(e),r>>>0<2147483640){i:{r:{if(r>>>0>=11){k=(r|7)+1|0,e=U(k),i[f+8>>2]=k|-2147483648,i[f>>2]=e,i[f+4>>2]=r,f=e;break r}if(l[f+11|0]=r,!r)break i}l0(f,A+16|0,r)}l[f+r|0]=0,B=A+128|0;return}c2(),P()}function WW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;if(A=B-128|0,B=A,i[A>>2]=i[e+12>>2],e=A+16|0,ke(e,13617,A),r=G2(e),r>>>0<2147483640){i:{r:{if(r>>>0>=11){k=(r|7)+1|0,e=U(k),i[f+8>>2]=k|-2147483648,i[f>>2]=e,i[f+4>>2]=r,f=e;break r}if(l[f+11|0]=r,!r)break i}l0(f,A+16|0,r)}l[f+r|0]=0,B=A+128|0;return}c2(),P()}function XW(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;return t=B-32|0,B=t,o=i[15075],i[t+24>>2]=i[15074],i[t+28>>2]=o,o=i[15073],i[t+16>>2]=i[15072],i[t+20>>2]=o,o=i[15071],i[t+8>>2]=i[15070],i[t+12>>2]=o,o=i[15069],i[t>>2]=i[15068],i[t+4>>2]=o,o=f,f=t+32|0,e=Z8(o,e,r,A,k,n,t,f),B=f,e|0}function GW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;if(A=B-128|0,B=A,i[A>>2]=i[e+8>>2],e=A+16|0,ke(e,13628,A),r=G2(e),r>>>0<2147483640){i:{r:{if(r>>>0>=11){k=(r|7)+1|0,e=U(k),i[f+8>>2]=k|-2147483648,i[f>>2]=e,i[f+4>>2]=r,f=e;break r}if(l[f+11|0]=r,!r)break i}l0(f,A+16|0,r)}l[f+r|0]=0,B=A+128|0;return}c2(),P()}function w9(f,e){var r=0,A=0,k=0;if(e>>>0>8){for(e=e>>>0<=4?4:e,A=f>>>0<=1?1:f;;){i:{if(f=0,r=(e+A|0)-1&0-e,k=r>>>0>A>>>0?r:A,r=B-16|0,B=r,(k>>>0)%(e>>>0)|e&3||(f=Sr(r+12|0,e,k),f=f?0:i[r+12>>2]),B=r+16|0,f||(r=i[25435],!r))break i;V[r|0]();continue}break}return f||o4(),f}return U(f)}function CW(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;t=B-16|0,B=t;i:{if(!e){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=2383;break i}i0[t+8>>3]=i0[e+8>>3]*+(r|0),i0[t>>3]=i0[e+16>>3]*+(A|0),k&&(i0[k>>3]=i0[t+8>>3]),n&&(i0[n>>3]=i0[t>>3]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}B=t+16|0}function l2(f,e){var r=0,A=0,k=0,n=0;r=i[f+12>>2],k=r+4|0,A=i[f>>2],n=i[f+4>>2]-A|0,k>>>0>n>>>0&&(L2(f,k-n|0),A=i[f>>2],r=i[f+12>>2]),i[f+12>>2]=r+1,l[r+A|0]=e>>>24,r=i[f+12>>2],i[f+12>>2]=r+1,l[r+i[f>>2]|0]=e>>>16,r=i[f+12>>2],i[f+12>>2]=r+1,l[r+i[f>>2]|0]=e>>>8,r=i[f+12>>2],i[f+12>>2]=r+1,l[r+i[f>>2]|0]=e}function ke(f,e,r){var A=0,k=0,n=0,t=0;n=B-16|0,B=n,i[n+12>>2]=r,A=B-160|0,B=A,t=A+8|0,l0(t,52608,144),i[A+52>>2]=f,i[A+28>>2]=f,k=-2-f|0,k=k>>>0>2147483647?2147483647:k,i[A+56>>2]=k,k=f+k|0,i[A+36>>2]=k,i[A+24>>2]=k,No(t,e,r),(f|0)!=-2&&(f=i[A+28>>2],l[f-((f|0)==i[A+24>>2])|0]=0),B=A+160|0,B=n+16|0}function y6(f){var e=0,r=0;e=i[f+76>>2];i:{if(!((e|0)>=0&(!e|i[23967]!=(e&1073741823)))){if(e=i[f+4>>2],(e|0)!=i[f+8>>2]){i[f+4>>2]=e+1,f=s[e|0];break i}f=ve(f);break i}e=f+76|0,r=i[e>>2],i[e>>2]=r||1073741823,r=i[f+4>>2];r:{if((r|0)!=i[f+8>>2]){i[f+4>>2]=r+1,f=s[r|0];break r}f=ve(f)}i[e>>2]=0}return f}function H8(f,e,r,A){var k=0;i:{if(!(A&2048)||(k=A&74,!r|((k|0)==8|(k|0)==64)))break i;l[f|0]=43,f=f+1|0}for(A&512&&(l[f|0]=35,f=f+1|0);;){if(k=s[e|0],k){l[f|0]=k,f=f+1|0,e=e+1|0;continue}break}k=A&74,e=111;i:{if((k|0)==64||(e=A&16384?88:120,(k|0)==8))break i;e=r?100:117}l[f|0]=e}function VW(f,e,r,A,k){if(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,i[e+8>>2]!=1){e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430];return}i:{if(!s[e+16|0]||(A&&(i[A>>2]=i[e+20>>2]),!k))break i;i[k>>2]=i[e+24>>2]}r&&(i[r>>2]=s[e+16|0]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}function G2(f){var e=0,r=0,A=0;i:{r:{if(e=f,!(e&3))break r;if(!s[e|0])return 0;for(;;){if(e=e+1|0,!(e&3))break r;if(!s[e|0])break}break i}for(;r=e,e=e+4|0,A=i[r>>2],((A|16843008-A)&-2139062144)==-2139062144;);for(;e=r,r=e+1|0,!!s[e|0];);}return e-f|0}function IW(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0;t=B-16|0,B=t,i[k>>2]=r,n=t+12|0,f=y3(n,0,i[f+8>>2]),e=2;i:{if(f+1>>>0<2||(r=f-1|0,e=1,r>>>0>A-i[k>>2]>>>0))break i;for(;;){if(r){f=s[n|0],e=i[k>>2],i[k>>2]=e+1,l[e|0]=f,r=r-1|0,n=n+1|0;continue}break}e=0}return B=t+16|0,e|0}function QW(f){f=f|0;var e=0,r=0,A=0;i:{if(!f||(f=i[f>>2],!f))break i;r=B-16|0,B=r,ei(r+8|0,i[i[f+16>>2]+48>>2],i[f+20>>2]),f=i[r+8>>2],f?f=i[f+56>>2]:f=0,e=i[r+12>>2];r:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break r;V[i[i[e>>2]+8>>2]](e),g(e)}B=r+16|0,e=f}return e|0}function yW(f){f=f|0;var e=0,r=0,A=0;i:{if(!f||(f=i[f>>2],!f))break i;r=B-16|0,B=r,ei(r+8|0,i[i[f+16>>2]+48>>2],i[f+20>>2]),f=i[r+8>>2],f?f=i[f+60>>2]:f=0,e=i[r+12>>2];r:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break r;V[i[i[e>>2]+8>>2]](e),g(e)}B=r+16|0,e=f}return e|0}function _9(f){var e=0,r=0,A=0;A=i[f+16>>2]<<8,i[f+16>>2]=A,e=Q[f+20>>1]+8|0,X[f+20>>1]=e,e=e<<16>>16;i:{if((e|0)<0||(r=i[f+4>>2],r>>>0>=k0[f+8>>2]))break i;i[f+4>>2]=r+1,r=s[r|0],X[f+20>>1]=e-8,A=r<<e|A}return r=i[f+12>>2]<<7,e=(A>>>0)/(r>>>0)|0,(e|0)>=256&&(e=255),i[f+16>>2]=A-m(e,r),e}function FW(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;t=f,o=e,f=V[i[i[f+8>>2]+20>>2]](f+8|0)|0;i:{if(s[f+11|0]>>>7|0){e=i[f>>2];break i}e=f}return u=e,s[f+11|0]>>>7|0?e=i[f>>2]:e=f,s[f+11|0]>>>7|0?f=i[f+4>>2]:f=s[f+11|0]&127,Z8(t,o,r,A,k,n,u,e+(f<<2)|0)|0}function ne(f,e){var r=0,A=0,k=0;r=i[f+112>>2];i:{if(!r)break i;for(k=f+112|0,f=k;A=k0[r+16>>2]<e>>>0,f=A?f:r,r=i[(A<<2)+r>>2],!!r;);if(A=0,(f|0)==(k|0)|k0[f+16>>2]>e>>>0||(A=i[f+20>>2],f=i[f+24>>2],!f|i[f+4>>2]!=-1))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return(A|0)!=0}function B2(f){var e=0,r=0,A=0;A=B-16|0,B=A;i:{if(!T4(f,1))break i;r=i[f>>2],e=i[f+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);r:{if(!(V[i[i[r>>2]+16>>2]](r,A+15|0,1)|0)){vi(f),r=0;break r}r=s[A+15|0]}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return B=A+16|0,r}function K2(f,e,r){var A=0,k=0;i:{r:{if(r>>>0>=4){if((f|e)&3)break r;for(;;){if(i[f>>2]!=i[e>>2])break r;if(e=e+4|0,f=f+4|0,r=r-4|0,!(r>>>0>3))break}}if(!r)break i}for(;;){if(A=s[f|0],k=s[e|0],(A|0)==(k|0)){if(e=e+1|0,f=f+1|0,r=r-1|0,r)continue;break i}break}return A-k|0}return 0}function W4(f,e){var r=0,A=0,k=0,n=0;A=B-16|0,B=A;i:{if(!e){e=0;break i}r=e>>31,k=(r^e)-r|0,r=$2(k),L1(A,k,0,0,0,r+81|0),k=0+i[A+8>>2]|0,r=(i[A+12>>2]^65536)+(16414-r<<16)|0,r=k>>>0<n>>>0?r+1|0:r,n=e&-2147483648|r,r=i[A+4>>2],e=i[A>>2]}i[f>>2]=e,i[f+4>>2]=r,i[f+8>>2]=k,i[f+12>>2]=n,B=A+16|0}function s3(f,e){var r=0,A=0;r=i[f+40>>2],r&&(l[r+32|0]=0),r=i[e>>2],l[r+32|0]=1,A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[f+40>>2]=r,r=i[f+44>>2],i[f+44>>2]=A;i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}i[i[i[f+48>>2]+84>>2]+56>>2]=i[i[e>>2]+20>>2]}function EW(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;t=f,o=e,f=V[i[i[f+8>>2]+20>>2]](f+8|0)|0;i:{if(s[f+11|0]>>>7|0){e=i[f>>2];break i}e=f}return u=e,s[f+11|0]>>>7|0?e=i[f>>2]:e=f,s[f+11|0]>>>7|0?f=i[f+4>>2]:f=s[f+11|0]&127,B8(t,o,r,A,k,n,u,e+f|0)|0}function I1(f,e,r,A){var k=0,n=0;k=B-16|0,B=k,n=i[e+44>>2];i:{if(!n){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,108,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(!i[e+52>>2]){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,109,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}ii(f,n,r,e+52|0,A)}B=k+16|0}function YW(f){f=f|0;var e=0,r=0,A=0,k=0;if(e=i[f+16>>2],!e)return 0;e=N0(e,72776,73388);i:{if(!e)break i;if(f=i[f+20>>2],!f)return i[e+24>>2]-i[e+20>>2]|0;if(r=i[f+4>>2],A=r+1|0,i[f+4>>2]=A,k=i[e+20>>2],e=i[e+24>>2],i[f+4>>2]=r,r=e-k|0,A)break i;V[i[i[f>>2]+8>>2]](f),g(f)}return r|0}function v9(f){f=f|0;var e=0,r=0,A=0,k=0;if(e=i[f+16>>2],!e)return 0;e=N0(e,72776,73300);i:{if(!e)break i;if(f=i[f+20>>2],!f)return i[e+12>>2]-i[e+8>>2]>>3;if(r=i[f+4>>2],A=r+1|0,i[f+4>>2]=A,k=i[e+8>>2],e=i[e+12>>2],i[f+4>>2]=r,r=e-k>>3,A)break i;V[i[i[f>>2]+8>>2]](f),g(f)}return r|0}function m9(f,e,r,A){var k=0;k=B-32|0,B=k,i[k+8>>2]=0,i[k>>2]=0,i[k+4>>2]=0,L2(k,A+4|0),l[i[k>>2]]=A>>>24,l[i[k>>2]+1|0]=A>>>16,l[i[k>>2]+2|0]=A>>>8,l[i[k>>2]+3|0]=A,l0(i[k>>2]+4|0,r,A),Wr(k+12|0,i[f+60>>2],e,k,0),l[k+31|0]<0&&G(i[k+20>>2]),f=i[k>>2],f&&(i[k+4>>2]=f,G(f)),B=k+32|0}function h3(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-160|0,B=k,i[k+60>>2]=e,i[k+20>>2]=e,i[k+24>>2]=-1,n=k+16|0,a4(n,0,0),tk(k,n,A,1),A=i[k+8>>2],t=i[k+12>>2],n=i[k>>2],o=i[k+4>>2],r&&(i[r>>2]=i[k+136>>2]+((i[k+20>>2]-i[k+60>>2]|0)+e|0)),i[f+8>>2]=A,i[f+12>>2]=t,i[f>>2]=n,i[f+4>>2]=o,B=k+160|0}function JW(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0;k=B-32|0,B=k;i:{if(!(A&&r)){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,2001,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,e?i[e>>2]:0),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}e=U(8),r=i[r>>2],i[e+4>>2]=0,i[e>>2]=r,i[A>>2]=e,wt(f,e)}B=k+32|0}function gW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;i:{r:{if(f=i[f+4>>2],A=i[f+188>>2],e=e>>A,(e|0)<0||(k=i[f+192>>2],(e|0)>=(k|0)))break r;if(r=r>>A,(r|0)<0|(r|0)>=i[f+196>>2])break i;return(i[f+180>>2]+m(e,12)|0)+m(m(r,k),12)|0}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function B9(f,e){var r=0,A=0,k=0;A=1;i:{if(e||(r=i[f+12>>2],k=i[f+8>>2],e=r-k>>2,e>>>0<k0[f>>2]))break i;if((r|0)==(k|0))return 0;for(A=e>>>0<=1?1:e,f=0;;){if(r=i[(f<<2)+k>>2],!(s[r+104|0]|i[r+100>>2]))return 1;if(f=f+1|0,(A|0)==(f|0))break}A=f>>>0<e>>>0}return A}function NW(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0;o=B-32|0,B=o,u=o+12|0,u6(u,i[e>>2],r,A,k,n,t,0,0);i:{if(i[o+12>>2]!=i[19564]){P0(f,u,i[e>>2]);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[o+31|0]<0&&G(i[o+20>>2]),B=o+32|0}function RW(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0;n=B-32|0,B=n,o=n+12|0,u6(o,i[e>>2],r,A,k,18983,0,0,t);i:{if(i[n+12>>2]!=i[19564]){P0(f,o,i[e>>2]);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[n+31|0]<0&&G(i[n+20>>2]),B=n+32|0}function Z9(f,e){var r=0,A=0,k=0;if(i[e+16>>2]!=1970628964){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;return}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;i:{if(r=i[e+20>>2],e=i[e+24>>2],(r|0)!=(e|0)){if(e=e-r|0,(e|0)<0)break i;A=U(e),i[f>>2]=A,k=e+A|0,i[f+8>>2]=k,l0(A,r,e),i[f+4>>2]=k}return}y0(),P()}function DW(f){f=f|0;var e=0,r=0,A=0;e=i[f+24>>2],e>>>0>k0[f+44>>2]&&(i[f+44>>2]=e);i:{if(!(s[f+48|0]&8)||(e=i[f+44>>2],e>>>0>k0[f+16>>2]&&(r=i[f+8>>2],A=i[f+12>>2],i[f+16>>2]=e,i[f+12>>2]=A,i[f+8>>2]=r),e=i[f+16>>2],f=i[f+12>>2],e>>>0<=f>>>0))break i;return s[f|0]}return-1}function UW(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;t=B-32|0,B=t,o=t+12|0,u6(o,i[e>>2],r,A,k,9980,7520,n,0);i:{if(i[t+12>>2]!=i[19564]){P0(f,o,i[e>>2]);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[t+31|0]<0&&G(i[t+20>>2]),B=t+32|0}function C8(f){var e=0,r=0,A=0;r=B-32|0,B=r,s[79117]==1&&(i[r+16>>2]=f,f8(21996,r+16|0)),e=i[f+4>>2];i:{if(!e||(A=e,e=i[e>>2]-1|0,i[A>>2]=e,e)||(s[79117]==1&&(i[r>>2]=i[f>>2],f8(22026,r)),e=i[f>>2],e&&G(e),e=i[f+4>>2],!e))break i;G(e)}return B=r+32|0,f}function p9(f,e,r){var A=0;if(r-65537>>>0<4294836223)for(;e=(e|0)/2|0,r=(r|0)/2|0,r-65537>>>0<4294836223;);i:{if((r|0)<=1)break i;for(;;){if(e-65537>>>0>4294836222)break i;if(e=(e|0)/2|0,A=r>>>0>3,r=r>>>1|0,!A)break}}return i[f>>2]=e,i[f+4>>2]=r,f}function W9(f,e){var r=0,A=0;r=s[f|0];i:{if((r|0)!=s[e|0]||r&&Q[f+4>>1]!=Q[e+4>>1]|Q[f+6>>1]!=Q[e+6>>1]|s[f+2|0]!=s[e+2|0]||(r=s[f+1|0],(r|0)!=s[e+1|0])||r&&Q[f+8>>1]!=Q[e+8>>1]|Q[f+10>>1]!=Q[e+10>>1]|s[f+3|0]!=s[e+3|0])break i;A=1}return A}function X9(f){var e=0,r=0,A=0,k=0;if(e=B-16|0,B=e,s[79117]==1&&(i[e+4>>2]=i[f+4>>2],i[e>>2]=f,f8(31175,e)),r=i[f+4>>2],r){A=i[r>>2],(A|0)>=2&&(i[r>>2]=A-1,r=i[f>>2],A=U(172),i[f>>2]=A,k=f,f=U(4),i[k+4>>2]=f,i[f>>2]=1,l0(A,r,172)),B=e+16|0;return}C0(3118,14e3,95,9985),P()}function x1(f){var e=0,r=0;r=i[f+16>>2]<<1,i[f+16>>2]=r,e=Q[f+20>>1]+1|0,X[f+20>>1]=e;i:{if(e<<16>>16<0||(X[f+20>>1]=65528,e=i[f+4>>2],e>>>0>=k0[f+8>>2]))break i;i[f+4>>2]=e+1,r=s[e|0]|r,i[f+16>>2]=r}return e=i[f+12>>2]<<7,e>>>0<=r>>>0?(i[f+16>>2]=r-e,f=1):f=0,f}function MW(f,e){f=f|0,e=e|0;var r=0;i:{if(!i[f+64>>2]||(r=i[f+12>>2],r>>>0<=k0[f+8>>2]))break i;if((e|0)==-1)return i[f+12>>2]=r-1,((e|0)!=-1?e:0)|0;if(r=i[f+12>>2]-1|0,!(s[f+88|0]&16)&s[r|0]!=(e&255))break i;return i[f+12>>2]=r,l[i[f+12>>2]]=e<<24>>24,e|0}return-1}function Yi(f,e,r){var A=0,k=0,n=0,t=0;i:{if(!e){A=e;break i}for(;r=r-1|0,k=f,f=K6(f,e,10,0),A=w0,n=r,t=k-q0(f,A,10,0)|48,l[n|0]=t,k=e>>>0>9,e=A,!!k;);}if(f|A)for(;r=r-1|0,e=(f>>>0)/10|0,l[r|0]=f-m(e,10)|48,A=f>>>0>9,f=e,!!A;);return r}function xW(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0;n=B-32|0,B=n,t=n+12|0,u6(t,i[e>>2],r,A,k,9980,7520,0,0);i:{if(i[n+12>>2]!=i[19564]){P0(f,t,i[e>>2]);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[n+31|0]<0&&G(i[n+20>>2]),B=n+32|0}function zW(f){f=f|0;var e=0,r=0,A=0,k=0;if(A=i[f+24>>2],A){if(e=A,r=i[f+28>>2],(e|0)!=(r|0)){for(;;){e=i[r-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r-8|0,(r|0)==(A|0))break}e=i[f+24>>2]}i[f+28>>2]=A,G(e)}}function w3(f,e,r){var A=0,k=0,n=0;if(A=i[f>>2],k=A+r&536870911,i[f>>2]=k,i[f+4>>2]=i[f+4>>2]+(A>>>0>k>>>0)+(r>>>29),A=A&63,A){if(n=f+24|0,k=A+n|0,A=64-A|0,A>>>0>r>>>0){l0(k,e,r);return}l0(k,e,A),Br(f,n,64),r=r-A|0,e=e+A|0}r>>>0>=64&&(e=Br(f,e,r&-64),r=r&63),l0(f+24|0,e,r)}function HW(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=+A,k=+k,n=+n,t=+t,o=+o;var u=0,h=0;if(f){u=+(e|0),h=A/u;i:{if(!(A!=k|o!=0)){i0[f>>3]=h,l[f+24|0]=0,i0[f+8>>3]=n/u,o=t/+(r|0),e=16;break i}i0[f>>3]=h,l[f+24|0]=1,i0[f+32>>3]=k/u,i0[f+8>>3]=n/u,i0[f+16>>3]=t/+(r|0),e=40}i0[e+f>>3]=o}}function G9(f,e,r){var A=0,k=0,n=0,t=0,o=0;for(n=B-16|0,B=n,l[n+14|0]=0,A=B-16|0,B=A,e=e-f>>2;;){if(e){i[A+12>>2]=f,k=e>>>1|0,i[A+12>>2]=i[A+12>>2]+(k<<2),o=(k^-1)+e|0,e=k,k=i[A+12>>2],t=k0[k>>2]<k0[r>>2],e=t?o:e,f=t?k+4|0:f;continue}break}return B=A+16|0,B=n+16|0,f}function TW(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0;o=(k-A|0)+e|0;i:{for(;;){if((A|0)!=(k|0)){if(f=-1,(e|0)==(r|0)||(n=l[e|0],t=l[A|0],(n|0)<(t|0)))break i;if((n|0)>(t|0))return 1;A=A+1|0,e=e+1|0;continue}break}f=(r|0)!=(o|0)}return f|0}function C9(f){var e=0,r=0,A=0,k=0;e=i[f+40>>2],r=V[e|0](f,0,0,s[f|0]&128?i[f+20>>2]==i[f+28>>2]?1:2:1)|0,e=w0;i:{if((e|0)<0)break i;if(A=i[f+8>>2],A)k=4;else{if(A=i[f+28>>2],!A)break i;k=20}f=i[k+f>>2]-A|0,r=f+r|0,e=(f>>31)+e|0,e=f>>>0>r>>>0?e+1|0:e}return w0=e,r}function V9(f){var e=0,r=0,A=0,k=0;i:{r:{if(r=i[f+64>>2],!r)break r;for(A=f- -64|0,e=A;k=i[r+16>>2]<6,e=k?e:r,r=i[(k<<2)+r>>2],!!r;);if((e|0)==(A|0)|i[e+16>>2]>=7)break r;e=1;break i}if(f=i[f+36>>2],e=0,f>>>0>15)break i;e=43008>>>f|0}return e&1}function I9(f){f=f|0;var e=0,r=0;if(i[f+1884>>2]>0&&(e=f+1392|0,l[e|0]=1,i[e+156>>2]>0))for(;r=r+1|0,(r|0)<i[e+156>>2];);return V[i[i[f>>2]+4>>2]](f),s[79116]||(l[79116]=1),f=i[19772],(f|0)<=0?12:(f=f-1|0,i[19772]=f,f||Eo(),0)}function F6(f,e,r){var A=0,k=0,n=0;return A=f*f,n=A*(A*A)*(A*158969099521155e-24+-25050760253406863e-24)+(A*(A*27557313707070068e-22+-.0001984126982985795)+.00833333333332249),k=A*f,r?f-(A*(e*.5-n*k)-e+k*.16666666666666632):k*(A*n+-.16666666666666632)+f}function te(f,e){var r=0,A=0;r=B-16|0,B=r,i[r+12>>2]=f;i:{if((f|0)==(e|0))break i;for(;;){if(e=e-4|0,i[r+8>>2]=e,f>>>0>=e>>>0)break i;f=i[r+12>>2],e=i[f>>2],A=f,f=i[r+8>>2],i[A>>2]=i[f>>2],i[f>>2]=e,f=i[r+12>>2]+4|0,i[r+12>>2]=f,e=i[r+8>>2]}}B=r+16|0}function Ji(f,e){var r=0,A=0,k=0,n=0;r=B-16|0,B=r;i:{if(!e){e=0;break i}A=e,e=$2(e),L1(r,A,0,0,0,112-(e^31)|0),A=0+i[r+8>>2]|0,e=(i[r+12>>2]^65536)+(16414-e<<16)|0,n=k>>>0>A>>>0?e+1|0:e,k=i[r+4>>2],e=i[r>>2]}i[f>>2]=e,i[f+4>>2]=k,i[f+8>>2]=A,i[f+12>>2]=n,B=r+16|0}function i8(f,e,r,A,k){r=m(i[i[f+124>>2]+16892>>2],A)+r|0;i:{if(!e||(r=i[f+320>>2]+m(r,76)|0,i[r>>2]>=(k|0)))break i;i[f+328>>2]=i[f+328>>2]-1,i[f+332>>2]=i[f+332>>2]+1,i[e+4>>2]=2,bt(r,k),i[e+4>>2]=1,i[f+332>>2]=i[f+332>>2]-1,i[f+328>>2]=i[f+328>>2]+1}}function E6(f,e){var r=0,A=0,k=0,n=0;s[f|0]||(r=i[f+24>>2],A=r+i[f+20>>2]|0,n=i[f+12>>2],k=i[f+8>>2],(A|0)==(((k|0)!=(n|0)?(n-k<<8)-1|0:0)|0)&&(Gr(f+4|0),k=i[f+8>>2],r=i[f+24>>2],A=r+i[f+20>>2]|0),i[i[(A>>>8&16777212)+k>>2]+((A&1023)<<2)>>2]=e,i[f+24>>2]=r+1)}function T8(f,e,r){var A=0,k=0;i:{if(A=i[e+36>>2],e=i[e+40>>2],(A|0)!=(e|0))for(;;){if(k=i[A>>2],i[k+16>>2]==(r|0)){if(i[f>>2]=k,e=f,f=i[A+4>>2],i[e+4>>2]=f,!f)break i;i[f+4>>2]=i[f+4>>2]+1;return}if(A=A+8|0,(e|0)==(A|0))break}i[f>>2]=0,i[f+4>>2]=0}}function i2(f,e){var r=0,A=0;A=B-16|0,B=A,r=i[e+48>>2];i:{if(r&16){r=i[e+24>>2],r>>>0>k0[e+44>>2]&&(i[e+44>>2]=r),j3(f,i[e+20>>2],i[e+44>>2]);break i}if(r&8){j3(f,i[e+8>>2],i[e+16>>2]);break i}e=B-16|0,B=e,i[f>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0,B=e+16|0}B=A+16|0}function aW(f){f=f|0;var e=0,r=0,A=0;if(f=i[19590],f){if(e=f,r=i[19591],(e|0)!=(r|0)){for(;;){e=i[r-4>>2];i:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r-8|0,(r|0)==(f|0))break}e=i[19590]}i[19591]=f,G(e)}}function li(f,e){var r=0,A=0;r=B-16|0,B=r,i[r+12>>2]=f;i:{if((f|0)==(e|0))break i;for(;;){if(e=e-1|0,i[r+8>>2]=e,f>>>0>=e>>>0)break i;f=i[r+12>>2],e=s[f|0],A=f,f=i[r+8>>2],l[A|0]=s[f|0],l[f|0]=e,f=i[r+12>>2]+1|0,i[r+12>>2]=f,e=i[r+8>>2]}}B=r+16|0}function oe(f,e,r){var A=0,k=0,n=0;if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,A=i[e+56>>2],e=i[e+60>>2],(A|0)!=(e|0))for(n=f+8|0;;){if(i[A+40>>2]==(r|0)){i:{if(k0[n>>2]>k>>>0){Z6(k,A),k=k+56|0;break i}k=xA(f,A)}i[f+4>>2]=k}if(A=A+56|0,(e|0)==(A|0))break}}function gi(f,e){var r=0,A=0,k=0;A=-1;i:{if((f|0)==-1)break i;k=i[e+76>>2]<0;r:{r=i[e+4>>2];e:{if(!r&&(g6(e),r=i[e+4>>2],!r))break e;if(i[e+44>>2]-8>>>0<r>>>0)break r}if(k)break i;return-1}r=r-1|0,i[e+4>>2]=r,l[r|0]=f,i[e>>2]=i[e>>2]&-17,A=f&255}return A}function SW(f,e,r){if(f=f|0,e=e|0,r=r|0,w2(r,Q[e+4>>1]),w2(r,Q[e+6>>1]),w2(r,Q[e+8>>1]),A2(r,s[e+10|0]?128:0),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];return}_0(f,i[19566],i[19567])}function Q9(f,e,r){var A=0,k=0,n=0,t=0;A=B-16|0,B=A,f=$0(f),i[f+32>>2]=e,i[f>>2]=55816,k=A+12|0,e=i[f+4>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100200),O0(k),i[f+40>>2]=r,i[f+36>>2]=e,n=f,t=V[i[i[e>>2]+28>>2]](e)|0,l[n+44|0]=t,B=A+16|0}function y9(f,e,r){var A=0,k=0,n=0,t=0;A=B-16|0,B=A,f=vt(f),i[f+32>>2]=e,i[f>>2]=56020,k=A+12|0,e=i[f+4>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100208),O0(k),i[f+40>>2]=r,i[f+36>>2]=e,n=f,t=V[i[i[e>>2]+28>>2]](e)|0,l[n+44|0]=t,B=A+16|0}function _3(f){var e=0,r=0,A=0,k=0;if(A=i[f>>2],A){if(e=A,r=i[f+4>>2],(e|0)!=(r|0)){for(;;){e=i[r-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r-8|0,(r|0)==(A|0))break}e=i[f>>2]}i[f+4>>2]=A,G(e)}}function r8(f,e){var r=0,A=0;r=B-16|0,B=r,s[f+11|0]>>>7|0&&Q8(i[f>>2],4);i:if(s[e+11|0]>>>7|0)break i;i[f+8>>2]=i[e+8>>2],A=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=A,l[e+11|0]=s[e+11|0]&128,l[e+11|0]=s[e+11|0]&127,i[r+12>>2]=0,i[e>>2]=i[r+12>>2],B=r+16|0}function OW(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0;if(Q1(f,i[e+8>>2],0)){v3(e,r,A);return}k=i[f+12>>2],n=f+16|0,g9(n,e,r,A);i:{if((k|0)<2)break i;for(k=(k<<3)+n|0,f=f+24|0;;){if(g9(f,e,r,A),s[e+54|0])break i;if(f=f+8|0,!(k>>>0>f>>>0))break}}}function Y6(f){var e=0,r=0,A=0;X[f+20>>1]=8,i[f+12>>2]=510,i[f+16>>2]=0,e=i[f+4>>2],A=i[f+8>>2]-e|0;i:{if((A|0)<=0||(i[f+4>>2]=e+1,r=s[e|0],X[f+20>>1]=0,r=r<<8,i[f+16>>2]=r,(A|0)==1))break i;i[f+4>>2]=e+2,e=s[e+1|0],X[f+20>>1]=65528,i[f+16>>2]=e|r}}function r1(f){var e=0,r=0,A=0,k=0;if(r=B-16|0,B=r,i[r+12>>2]=f,A=B-16|0,B=A,i[f>>2]!=-1){for(e=A+12|0,i[e>>2]=r+12,k=A+8|0,i[k>>2]=e;e=i[f>>2],(e|0)==1;);e||(i[f>>2]=1,Pt(k),i[f>>2]=-1)}return B=A+16|0,B=r+16|0,i[f+4>>2]-1|0}function q1(f,e){var r=0,A=0;r=B-16|0,B=r,s[f+11|0]>>>7|0&&Q8(i[f>>2],1);i:if(s[e+11|0]>>>7|0)break i;i[f+8>>2]=i[e+8>>2],A=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=A,l[e+11|0]=s[e+11|0]&128,l[e+11|0]=s[e+11|0]&127,l[r+15|0]=0,l[e|0]=s[r+15|0],B=r+16|0}function J6(f){var e=0,r=0,A=0;e=i[f+76>>2];i:{if((e|0)!=-1){f=e;break i}e=f,r=B-16|0,B=r,A=r+12|0,f=i[f+28>>2],i[A>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),f=x0(A,100192),f=V[i[i[f>>2]+28>>2]](f,32)|0,O0(A),B=r+16|0,i[e+76>>2]=f}return f<<24>>24}function jW(f,e,r){if(f=f|0,e=e|0,r=r|0,!r){e=i[18414],i[f>>2]=i[18413],i[f+4>>2]=e,i[f+8>>2]=i[18415];return}if(i[r>>2]>=4){e=i[18423],i[f>>2]=i[18422],i[f+4>>2]=e,i[f+8>>2]=i[18424];return}q7(r),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function PW(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0;i:{for(;;){if((A|0)!=(k|0)){if(f=-1,(e|0)==(r|0)||(n=i[e>>2],t=i[A>>2],(n|0)<(t|0)))break i;if((n|0)>(t|0))return 1;A=A+4|0,e=e+4|0;continue}break}f=(e|0)!=(r|0)}return f|0}function g6(f){var e=0,r=0;return e=i[f+72>>2],i[f+72>>2]=e-1|e,i[f+20>>2]!=i[f+28>>2]&&V[i[f+36>>2]](f,0,0)|0,i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,e=i[f>>2],e&4?(i[f>>2]=e|32,-1):(r=i[f+44>>2]+i[f+48>>2]|0,i[f+8>>2]=r,i[f+4>>2]=r,e<<27>>31)}function Y2(f,e){var r=0,A=0,k=0;i:{if(A=G2(e),r=s[f+11|0]>>>7|0?(i[f+8>>2]&2147483647)-1|0:10,s[f+11|0]>>>7|0?k=i[f+4>>2]:k=s[f+11|0]&127,A>>>0<=r>>>0){s[f+11|0]>>>7|0?r=i[f>>2]:r=f,Jo(r,e,A),Zt(f,r,A);break i}Pr(f,r,A-r|0,k,0,k,A,e)}}function le(f,e,r,A){var k=0,n=0;return k=B-160|0,B=k,n=e?f:k+158|0,i[k+148>>2]=n,f=e-1|0,i[k+152>>2]=f>>>0<=e>>>0?f:0,f=B0(k,0,144),i[f+76>>2]=-1,i[f+36>>2]=978,i[f+80>>2]=-1,i[f+44>>2]=f+159,i[f+84>>2]=f+148,l[n|0]=0,e=qr(f,r,A,976,977),B=f+160|0,e}function D4(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;r=i[e>>2],A=i[e+4>>2]-r|0,k=i[f+12>>2],t=A+k|0,n=i[f>>2],o=i[f+4>>2]-n|0,t>>>0>o>>>0&&(L2(f,t-o|0),k=i[f+12>>2],n=i[f>>2],r=i[e>>2],A=i[e+4>>2]-r|0),l0(k+n|0,r,A),i[f+12>>2]=i[f+12>>2]+(i[e+4>>2]-i[e>>2]|0)}function v3(f,e,r){var A=0;if(A=i[f+36>>2],!A){i[f+24>>2]=r,i[f+16>>2]=e,i[f+36>>2]=1,i[f+20>>2]=i[f+56>>2];return}i:{if(!(i[f+20>>2]!=i[f+56>>2]|i[f+16>>2]!=(e|0))){if(i[f+24>>2]!=2)break i;i[f+24>>2]=r;return}l[f+54|0]=1,i[f+24>>2]=2,i[f+36>>2]=A+1}}function F9(f){var e=0,r=0,A=0;if(r=B-16|0,B=r,s[79117]==1&&(i[r+4>>2]=i[f+4>>2],i[r>>2]=f,f8(22011,r)),e=i[f+4>>2],e){A=i[e>>2]-1|0,i[e>>2]=A;i:{if(A||(A=i[f>>2],A&&(G(A),e=i[f+4>>2],!e)))break i;G(e)}i[f>>2]=0,i[f+4>>2]=0}B=r+16|0}function LW(f){f=f|0;var e=0;i:{if(e=i[f+12>>2],f=i[f+8>>2],e-f>>>0>524280)break i;if((f|0)==(e|0))return 0;for(;;){if(i[f>>2]-32768>>>0<4294901760|i[f+4>>2]-32768>>>0<=4294901759)break i;if(f=f+8|0,(e|0)==(f|0))break}return 0}return 1}function a4(f,e,r){var A=0,k=0,n=0,t=0;i[f+112>>2]=e,i[f+116>>2]=r,k=i[f+4>>2],A=i[f+44>>2]-k|0,i[f+120>>2]=A,i[f+124>>2]=A>>31,A=i[f+8>>2];i:{if(!(e|r)||(n=A-k|0,t=n>>31,(r|0)>=(t|0)&e>>>0>=n>>>0|(r|0)>(t|0)))break i;A=e+k|0}i[f+104>>2]=A}function KW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;if(A2(e,s[f+4|0]?3:6),k1(e,r,i[f+12>>2]-i[f+8>>2]>>3,0),A=i[f+8>>2],k=i[f+12>>2],(A|0)!=(k|0))for(;f=i[A>>2],k1(e,r,f,f>>31),f=i[A+4>>2],k1(e,r,f,f>>31),A=A+8|0,(k|0)!=(A|0););}function qW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;if(A=i[e+8>>2],r=G2(A),r>>>0<2147483640){i:{r:{if(r>>>0>=11){k=(r|7)+1|0,e=U(k),i[f+8>>2]=k|-2147483648,i[f>>2]=e,i[f+4>>2]=r,f=e;break r}if(l[f+11|0]=r,!r)break i}l0(f,A,r)}l[f+r|0]=0;return}c2(),P()}function $W(f,e){if(f=f|0,e=e|0,!e){e=i[18414],i[f>>2]=i[18413],i[f+4>>2]=e,i[f+8>>2]=i[18415];return}if(i[e>>2]>=4){e=i[18423],i[f>>2]=i[18422],i[f+4>>2]=e,i[f+8>>2]=i[18424];return}q7(e),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function bW(f,e){if(f=f|0,e=e|0,!e){e=i[18414],i[f>>2]=i[18413],i[f+4>>2]=e,i[f+8>>2]=i[18415];return}if(i[e>>2]>=4){e=i[18423],i[f>>2]=i[18422],i[f+4>>2]=e,i[f+8>>2]=i[18424];return}j7(e),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function v0(f,e,r){var A=0,k=0,n=0,t=0;A=i[f+64>>2];i:{if(!A)break i;for(k=f- -64|0,f=k;n=i[A+16>>2]<(e|0),f=n?f:A,A=i[(n<<2)+A>>2],!!A;);if((f|0)==(k|0)|i[f+16>>2]>(e|0))break i;r&&(i[r>>2]=i[f+48>>2]),t=i[f+40>>2]}return t}function dW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A=B-32|0,B=A;i:{if(!e){if(l[A|0]=0,l[A+11|0]=0,e=f,f=r0(A+12|0,5,2001,A),P0(e,f,0),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2]);break i}V[i[i[e>>2]+44>>2]](f,i[e+4>>2],r)}B=A+32|0}function cW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A=B-32|0,B=A;i:{if(!e){if(l[A|0]=0,l[A+11|0]=0,e=f,f=r0(A+12|0,5,2001,A),P0(e,f,0),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2]);break i}V[i[i[e>>2]+52>>2]](f,i[e+4>>2],r)}B=A+32|0}function E9(f){var e=0,r=0,A=0,k=0,n=0;if(A=i[f>>2],e=l[A|0]-48|0,e>>>0>9)return 0;for(;k=-1,r>>>0<=214748364&&(r=m(r,10),k=(r^2147483647)>>>0<e>>>0?-1:r+e|0),e=A+1|0,i[f>>2]=e,n=l[A+1|0],r=k,A=e,e=n-48|0,e>>>0<10;);return r}function iX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;return t=B-16|0,B=t,i[t+12>>2]=e,o=t+8|0,e=i[A+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100192),O0(o),mt(f,n+24|0,t+12|0,r,k,e),B=t+16|0,i[t+12>>2]}function rX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;f=i[f>>2],A=i[f+64>>2],f=i[f+68>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),!r|!A||(i[e>>2]=i[A+20>>2],k=1);i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return k|0}function eX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;return t=B-16|0,B=t,i[t+12>>2]=e,o=t+8|0,e=i[A+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100192),O0(o),st(f,n+16|0,t+12|0,r,k,e),B=t+16|0,i[t+12>>2]}function AX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;return t=B-16|0,B=t,i[t+12>>2]=e,o=t+8|0,e=i[A+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100184),O0(o),Bt(f,n+24|0,t+12|0,r,k,e),B=t+16|0,i[t+12>>2]}function fX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;return t=B-16|0,B=t,i[t+12>>2]=e,o=t+8|0,e=i[A+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100184),O0(o),ht(f,n+16|0,t+12|0,r,k,e),B=t+16|0,i[t+12>>2]}function Y9(f,e){var r=0,A=0,k=0;if(U2(+f),A=j0(1)|0,k=j0(0)|0,r=A>>>20&2047,(r|0)!=2047){if(!r)return f==0?r=0:(f=Y9(f*18446744073709552e3,e),r=i[e>>2]+-64|0),i[e>>2]=r,f;i[e>>2]=r-1022,N2(0,k|0),N2(1,A&-2146435073|1071644672),f=+m1()}return f}function U0(f,e){var r=0,A=0,k=0;A=i[f+64>>2],r=255;i:{if(!A)break i;for(k=f- -64|0,f=k;r=i[A+16>>2]<(e|0),f=r?f:A,A=i[(r<<2)+A>>2],!!A;);if(r=255,(f|0)==(k|0)||(r=255,i[f+16>>2]>(e|0)))break i;r=s[f+20|0]}return r}function N6(f){f=f|0;var e=0,r=0;if(f){e=i[f+12>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+4>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}G(f)}}function J9(f){var e=0,r=0;for(e=B-16|0,B=e,i[e+4>>2]=100016,r=i[25005],i[e+8>>2]=r,i[e+12>>2]=r+(f<<2),f=i[e+8>>2],r=i[e+12>>2];;){if((f|0)==(r|0))i[i[e+4>>2]+4>>2]=i[e+8>>2],B=e+16|0;else{i[f>>2]=0,f=f+4|0,i[e+8>>2]=f;continue}break}}function R6(f,e){var r=0,A=0,k=0,n=0;return r=f*f,A=r*.5,k=1-A,n=1-k-A,A=r*r,k+(n+(r*(r*(r*(r*2480158728947673e-20+-.001388888888887411)+.0416666666666666)+A*A*(r*(r*-11359647557788195e-27+2087572321298175e-24)+-27557314351390663e-23))-f*e))}function Z1(f){var e=0,r=0;i:{if(e=i[f+4>>2],r=i[i[e>>2]-12>>2],r=e+r|0,!i[r+24>>2]|(i[r+16>>2]|!(i[r+4>>2]&8192))||(e=i[(e+i[i[e>>2]-12>>2]|0)+24>>2],(V[i[i[e>>2]+24>>2]](e)|0)!=-1))break i;f=i[f+4>>2],J4(i[i[f>>2]-12>>2]+f|0,1)}}function g9(f,e,r,A){var k=0,n=0,t=0;n=i[f+4>>2],t=n&1;i:{if(s[e+55|0]==1){if(k=n>>8,!t)break i;k=i[i[r>>2]+k>>2];break i}if(k=n>>8,!t)break i;i[e+56>>2]=i[i[f>>2]+4>>2],n=i[f+4>>2],r=0,k=0}f=i[f>>2],V[i[i[f>>2]+28>>2]](f,e,r+k|0,n&2?A:2)}function ui(f,e,r){var A=0,k=0;k=B-16|0,B=k,A=B-32|0,B=A,pe(A+24|0,f,(e<<2)+f|0),At(A+16|0,i[A+24>>2],i[A+28>>2],r),i[A+12>>2]=(i[A+16>>2]-f|0)+f,i[A+8>>2]=(i[A+20>>2]-r|0)+r,i[k+8>>2]=i[A+12>>2],i[k+12>>2]=i[A+8>>2],B=A+32|0,B=k+16|0}function kX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;return f=B-16|0,B=f,i[f+12>>2]=e,t=f+8|0,e=i[A+28>>2],i[t>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(t,100192),O0(t),Et(n+20|0,f+12|0,r,k,e),B=f+16|0,i[f+12>>2]}function nX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;return f=B-16|0,B=f,i[f+12>>2]=e,t=f+8|0,e=i[A+28>>2],i[t>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(t,100184),O0(t),Yt(n+20|0,f+12|0,r,k,e),B=f+16|0,i[f+12>>2]}function tX(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;r=i[f>>2],f=i[r+164>>2],A=i[r+168>>2];i:{if((f|0)==(A|0))break i;for(;;){if(r=i[f>>2],i[r>>2]!=(e|0)){if(f=f+8|0,(A|0)!=(f|0))continue;break i}break}k=l[r+27|0]<0?i[r+16>>2]:r+16|0}return k|0}function oX(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;r=i[f>>2],f=i[r+164>>2],A=i[r+168>>2];i:{if((f|0)==(A|0))break i;for(;;){if(r=i[f>>2],i[r>>2]!=(e|0)){if(f=f+8|0,(A|0)!=(f|0))continue;break i}break}k=l[r+39|0]<0?i[r+28>>2]:r+28|0}return k|0}function Ni(f){var e=0,r=0;if(e=B-16|0,B=e,i[(i[i[f>>2]-12>>2]+f|0)+24>>2]){V1(e+8|0,f);i:{if(!s[e+8|0]||(r=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],(V[i[i[r>>2]+24>>2]](r)|0)!=-1))break i;J4(i[i[f>>2]-12>>2]+f|0,1)}Z1(e+8|0)}B=e+16|0}function lX(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;r=i[f>>2],f=i[r+164>>2],A=i[r+168>>2];i:{if((f|0)==(A|0))break i;for(;;){if(r=i[f>>2],i[r>>2]!=(e|0)){if(f=f+8|0,(A|0)!=(f|0))continue;break i}break}k=l[r+15|0]<0?i[r+4>>2]:r+4|0}return k|0}function e8(f,e,r){var A=0,k=0;k=B-16|0,B=k,A=B-32|0,B=A,pe(A+24|0,f,f+e|0),kt(A+16|0,i[A+24>>2],i[A+28>>2],r),i[A+12>>2]=(i[A+16>>2]-f|0)+f,i[A+8>>2]=(i[A+20>>2]-r|0)+r,i[k+8>>2]=i[A+12>>2],i[k+12>>2]=i[A+8>>2],B=A+32|0,B=k+16|0}function H2(f,e){var r=0,A=0,k=0;A=f- -64|0,f=i[f+64>>2];i:{r:{if(!f)break r;for(r=A;k=i[f+16>>2]<(e|0),r=k?r:f,f=i[(k<<2)+f>>2],!!f;);if((r|0)==(A|0))break r;if(i[r+16>>2]<=(e|0))break i}r=A}return(r|0)!=(A|0)}function T0(f){f=f|0;var e=0,r=0;for(i[f>>2]=55348,e=i[f+40>>2];;){if(e){e=e-1|0,r=e<<2,V[i[i[f+32>>2]+r>>2]](0,f,i[r+i[f+36>>2]>>2]);continue}break}return O0(f+28|0),G(i[f+32>>2]),G(i[f+36>>2]),G(i[f+48>>2]),G(i[f+60>>2]),f|0}function uX(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;r=i[f>>2],f=i[r+164>>2],A=i[r+168>>2];i:{if((f|0)==(A|0))break i;for(;;){if(r=i[f>>2],i[r>>2]!=(e|0)){if(f=f+8|0,(A|0)!=(f|0))continue;break i}break}k=i[r+44>>2]-i[r+40>>2]|0}return k|0}function D6(f,e,r){var A=0,k=0;i:{if(!T4(f,r)||(k=i[f>>2],A=i[f+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),V[i[i[k>>2]+16>>2]](k,e,r)|0||vi(f),!A)||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}}function X4(f,e,r){if(r=i[r+4>>2]&176,(r|0)==32)return e;i:{if((r|0)!=16)break i;r:{e:switch(r=s[f|0],r-43|0){case 0:case 2:break e;default:break r}return f+1|0}if((r|0)!=48|(e-f|0)<2|(s[f+1|0]|32)!=120)break i;f=f+2|0}return f}function sX(f,e){f=f|0,e=e|0;var r=0,A=0;r=V[i[i[f>>2]+68>>2]](i[f+4>>2])|0,f=i[r>>2];i:{if(!f)break i;for(;;){if(v4(i[f+4>>2],e)){if(f=i[r+4>>2],r=r+4|0,f)continue;break i}break}if(A=1,i[f>>2]<2)break i;A=i[f+36>>2]}return A|0}function hX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;i:{if(!s[f+44|0])for(r=(r|0)>0?r:0;;){if((r|0)==(A|0))break i;if((V[i[i[f>>2]+52>>2]](f,i[e>>2])|0)==-1)return A|0;e=e+4|0,A=A+1|0}r=F1(e,4,r,i[f+32>>2])}return r|0}function wX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;i:{if(!s[f+44|0])for(r=(r|0)>0?r:0;;){if((r|0)==(A|0))break i;if((V[i[i[f>>2]+52>>2]](f,s[e|0])|0)==-1)return A|0;e=e+1|0,A=A+1|0}r=F1(e,1,r,i[f+32>>2])}return r|0}function C1(f,e){var r=0,A=0,k=0;if(r=G2(e),r>>>0<2147483640){i:{r:{if(r>>>0>=11){k=(r|7)+1|0,A=U(k),i[f+8>>2]=k|-2147483648,i[f>>2]=A,i[f+4>>2]=r;break r}if(l[f+11|0]=r,A=f,!r)break i}F2(A,e,r)}return l[r+A|0]=0,f}c2(),P()}function _X(f){f=f|0;var e=0,r=0;e=i[f>>2],f=i[e+184>>2],e=i[e+188>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),f=f?i[f+12>>2]-i[f+8>>2]|0:0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return f|0}function y4(f,e){var r=0,A=0,k=0,n=0;A=-1,r=i[f+64>>2];i:{if(!r)break i;for(k=f- -64|0,f=k;n=i[r+16>>2]<(e|0),f=n?f:r,r=i[(n<<2)+r>>2],!!r;);if((f|0)==(k|0)|i[f+16>>2]>(e|0))break i;A=i[f+24>>2]}return A}function F4(f,e){var r=0,A=0,k=0,n=0;A=-1,r=i[f+64>>2];i:{if(!r)break i;for(k=f- -64|0,f=k;n=i[r+16>>2]<(e|0),f=n?f:r,r=i[(n<<2)+r>>2],!!r;);if((f|0)==(k|0)|i[f+16>>2]>(e|0))break i;A=i[f+28>>2]}return A}function U6(f,e,r){var A=0,k=0,n=0,t=0;A=B-16|0,B=A,k=A+12|0,e=i[e+28>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100256),n=r,t=V[i[i[e>>2]+16>>2]](e)|0,i[n>>2]=t,V[i[i[e>>2]+20>>2]](f,e),O0(k),B=A+16|0}function m3(f,e,r){f=f|0,e=e|0,r=r|0;i:switch(e|0){case 6:l[f+514|0]=(r|0)!=0;return;case 7:l[f+532|0]=(r|0)!=0;return;case 8:l[f+533|0]=(r|0)!=0;return;default:C0(9349,14071,535,7495),P();case 0:break i}l[f+512|0]=(r|0)!=0}function vX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-80|0,B=A;i:{if(!(r&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;break i}k=A+8|0,Cn(k,e),l0(r,k,72),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}B=A+80|0}function mX(f){f=f|0;var e=0,r=0;e=i[f>>2],f=i[e+52>>2],e=i[e+56>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),f=f?i[f+12>>2]-i[f+8>>2]|0:0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return f|0}function o2(f,e,r,A){var k=0,n=0,t=0,o=0;return n=e^A,t=n>>31,k=e>>31,f=f^k,o=f-k|0,k=(e^k)-((f>>>0<k>>>0)+k|0)|0,f=A>>31,e=r^f,n=n>>31,f=K6(o,k,e-f|0,(f^A)-((f>>>0>e>>>0)+f|0)|0)^n,e=f-n|0,w0=(t^w0)-((f>>>0<n>>>0)+t|0)|0,e}function M6(f,e,r){var A=0,k=0,n=0,t=0;A=B-16|0,B=A,k=A+12|0,e=i[e+28>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100248),n=r,t=V[i[i[e>>2]+16>>2]](e)|0,l[n|0]=t,V[i[i[e>>2]+20>>2]](f,e),O0(k),B=A+16|0}function BX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-80|0,B=A;i:{if(!(r&&e)){i[f+8>>2]=0,i[f>>2]=5,i[f+4>>2]=2001;break i}k=A+8|0,Cn(k,e),l0(r,k,72),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}B=A+80|0}function ZX(f){f=f|0;var e=0,r=0,A=0;return e=B-16|0,B=e,i[e+12>>2]=i[f+8>>2],r=S4(e+8|0,e+12|0),A=h7(0,0,4),r=i[r>>2],r&&(i[23985]=(r|0)==-1?95820:r),B=e+16|0,A?-1:(f=i[f+8>>2],f?($9(f)|0)==1|0:1)}function ue(f,e){var r=0,A=0,k=0;i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;i:{if(r=i[e+4>>2],r){if(r>>>0>=1073741824)break i;A=r<<2,r=U(A),i[f+4>>2]=r,i[f>>2]=r,k=r+A|0,i[f+8>>2]=k,F2(r,i[e>>2],A),i[f+4>>2]=k}return f}y0(),P()}function N9(f,e,r,A,k,n){var t=0,o=0,u=0;t=B-16|0,B=t,l[t+15|0]=0,l[t+14|0]=n,l[t+13|0]=k,l[t+12|0]=37,n&&(k=s[t+13|0],l[t+13|0]=s[t+14|0],l[t+14|0]=k),o=r,u=Wk(e,i[r>>2]-e|0,t+12|0,A,i[f>>2])+e|0,i[o>>2]=u,B=t+16|0}function _4(f,e,r){var A=0,k=0,n=0;k=B-16|0,B=k,A=i[f+4>>2],n=i[f+8>>2]&2147483647;i:{if(n>>>0>r>>>0){A=i[f>>2],i[f+4>>2]=r,e8(e,r,A),l[k+15|0]=0,l[r+A|0]=s[k+15|0];break i}Pr(f,n-1|0,(r-n|0)+1|0,A,0,A,r,e)}B=k+16|0}function i4(f,e,r){var A=0,k=0,n=0;A=B-16|0,B=A,k=s[f+11|0],n=k&127;i:{if(r>>>0<=10){l[f+11|0]=k&128|r&127,l[f+11|0]=s[f+11|0]&127,e8(e,r,f),l[A+15|0]=0,l[f+r|0]=s[A+15|0];break i}Pr(f,10,r-10|0,n,0,n,r,e)}B=A+16|0}function q0(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0;return k=r>>>16|0,n=f>>>16|0,h=m(k,n),t=r&65535,o=f&65535,u=m(t,o),n=(u>>>16|0)+m(n,t)|0,k=(n&65535)+m(k,o)|0,w0=(m(e,r)+h|0)+m(f,A)+(n>>>16)+(k>>>16)|0,u&65535|k<<16}function B3(f){f=f|0;var e=0,r=0,A=0,k=0;return A=x8(f),k=V[i[f+12>>2]](f)|0,l[f|0]&1||(e=i[f+56>>2],r=i[f+52>>2],r&&(i[r+56>>2]=e),e&&(i[e+52>>2]=r),i[23946]==(f|0)&&(i[23946]=e),G(i[f+96>>2]),G(f)),A|k}function pX(f,e,r){if(f=f|0,e=e|0,r=r|0,!(r&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;return}i[r>>2]=i[e>>2],i[r+4>>2]=i[e+4>>2],i[r+8>>2]=i[e+8>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function WX(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0;f=i[f>>2],r=i[f+92>>2],A=i[f+96>>2],k=i[f+84>>2],n=i[f+88>>2],t=i[f+104>>2],i[e+16>>2]=i[f+100>>2],i[e+20>>2]=t,i[e+8>>2]=r,i[e+12>>2]=A,i[e>>2]=k,i[e+4>>2]=n}function XX(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0;return r=B-16|0,B=r,k=r+4|0,V[i[f>>2]](k,e),e=l[r+15|0],f=(e|0)<0,e=f?i[r+8>>2]:e,A=Z2(e+4|0),i[A>>2]=e,n=i[r+4>>2],l0(A+4|0,f?n:k,e),f&&G(n),B=r+16|0,A|0}function Z3(f,e,r,A,k,n){if(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,!J0(i[e>>2],r,A,k,n)){e=i[18417],i[f>>2]=i[18416],i[f+4>>2]=e,i[f+8>>2]=i[18418];return}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}function w2(f,e){var r=0,A=0,k=0,n=0;r=i[f+12>>2],k=r+2|0,A=i[f>>2],n=i[f+4>>2]-A|0,k>>>0>n>>>0&&(L2(f,k-n|0),A=i[f>>2],r=i[f+12>>2]),i[f+12>>2]=r+1,l[r+A|0]=e>>>8,r=i[f+12>>2],i[f+12>>2]=r+1,l[r+i[f>>2]|0]=e}function p3(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;i:{if((e|0)<12||(e=s[f+8|0],!e)||(r=s[f+9|0],!r)||(A=s[f+10|0],!A)||(f=s[f+11|0],!f))break i;k=f|(r<<16|e<<24|A<<8)}return k|0}function GX(f){f=f|0;var e=0;l[f+11|0]=6,l[f+6|0]=0,e=s[16835]|s[16836]<<8|(s[16837]<<16|s[16838]<<24),l[f|0]=e,l[f+1|0]=e>>>8,l[f+2|0]=e>>>16,l[f+3|0]=e>>>24,e=s[16839]|s[16840]<<8,l[f+4|0]=e,l[f+5|0]=e>>>8}function CX(f,e){f=f|0,e=e|0;var r=0;e&&(r=i[e+4>>2],f=i[f>>2],i[f+84>>2]=i[e>>2],i[f+88>>2]=r,r=i[e+20>>2],i[f+100>>2]=i[e+16>>2],i[f+104>>2]=r,r=i[e+12>>2],i[f+92>>2]=i[e+8>>2],i[f+96>>2]=r,l[f+108|0]=1)}function VX(f){f=f|0;var e=0,r=0,A=0;return f=i[f>>2],e=i[f+48>>2],f=i[f+52>>2],f?(r=i[f+4>>2],A=r+1|0,i[f+4>>2]=A,e=i[e+116>>2],i[f+4>>2]=r,A||(V[i[i[f>>2]+8>>2]](f),g(f)),e|0):i[e+116>>2]}function R9(f,e){var r=0,A=0,k=0;i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;i:{if(r=i[e+4>>2],r){if((r|0)<0)break i;A=U(r),i[f+4>>2]=A,i[f>>2]=A,k=r+A|0,i[f+8>>2]=k,F2(A,i[e>>2],r),i[f+4>>2]=k}return f}y0(),P()}function D9(f,e){var r=0,A=0;r=B-16|0,B=r,V1(r+8|0,f);i:{if(!s[r+8|0]||(A=r+4|0,i[A>>2]=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],S3(A,e),i[A>>2]))break i;J4(i[i[f>>2]-12>>2]+f|0,1)}Z1(r+8|0),B=r+16|0}function IX(f,e,r){if(f=f|0,e=e|0,r=r|0,i[e+8>>2]!=3){e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430];return}r&&(i[r>>2]=i[e+16>>2]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}function QX(f){f=f|0;var e=0,r=0,A=0;e=B-16|0,B=e,Ve(),Or(e+4|0,f,0),r=i[e+8>>2],f=i[e+4>>2];i:{r:{if((r|0)!=(f|0)){A=i[i[f>>2]>>2];break r}if(!r)break i}i[e+8>>2]=f,G(f)}return B=e+16|0,(A|0)!=0|0}function yX(f,e,r){if(f=f|0,e=e|0,r=r|0,D4(r,e+8|0),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];return}_0(f,i[19566],i[19567])}function FX(f){f=f|0;var e=0,r=0,A=0,k=0,n=0;return e=B-16|0,B=e,k=e+4|0,V[f|0](k),r=l[e+15|0],f=(r|0)<0,r=f?i[e+8>>2]:r,A=Z2(r+4|0),i[A>>2]=r,n=i[e+4>>2],l0(A+4|0,f?n:k,r),f&&G(n),B=e+16|0,A|0}function EX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A,k=A+12|0,n=l[r+11|0],t=(n|0)<0,UA(k,i[e>>2],t?i[r>>2]:r,t?i[r+4>>2]:n,1),P0(f,k,i[e>>2]),l[A+31|0]<0&&G(i[A+20>>2]),B=A+32|0}function U9(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;if(e>>>0<3)return A=i[((e<<2)+f|0)- -64>>2],r&&(i[r>>2]=m(i[(e?44:40)+f>>2],(i[i[f+124>>2]+(e?16840:16832)>>2]+7|0)/8|0)),A|0;C0(16871,14071,671,9800),P()}function $1(f,e,r,A,k){var n=0;if(n=B-256|0,B=n,!(k&73728|(r|0)<=(A|0))){if(A=r-A|0,r=A>>>0<256,B0(n,e,r?A:256),!r)for(;H1(f,n,256),A=A-256|0,A>>>0>255;);H1(f,n,A)}B=n+256|0}function YX(f,e){f=f|0,e=e|0;var r=0,A=0;e=x0(e,100200),i[f+36>>2]=e,r=f,A=V[i[i[e>>2]+24>>2]](e)|0,i[r+44>>2]=A,e=i[f+36>>2],r=f,A=V[i[i[e>>2]+28>>2]](e)|0,l[r+53|0]=A,i[f+44>>2]>=9&&(u1(),P())}function M9(f,e){var r=0,A=0;if(r=i[f+8>>2],f=i[f+12>>2],(r|0)!=(f|0))for(f=f-r>>2,A=f>>>0<=1?1:f,f=0;;){if(i[i[(f<<2)+r>>2]>>2]==(e|0))return f;if(f=f+1|0,(A|0)==(f|0))break}return-1}function JX(f,e){f=f|0,e=e|0;var r=0,A=0;e=x0(e,100208),i[f+36>>2]=e,r=f,A=V[i[i[e>>2]+24>>2]](e)|0,i[r+44>>2]=A,e=i[f+36>>2],r=f,A=V[i[i[e>>2]+28>>2]](e)|0,l[r+53|0]=A,i[f+44>>2]>=9&&(u1(),P())}function x9(f,e,r,A,k,n){var t=0,o=0;if(r-1>>>0<=1){r=0,o=A>>>0>3,t=o?t:i[(A<<2)+36244>>2],r=o?r:i[(A<<2)+36260>>2],i[k>>2]=((f+t|0)-1|0)/(t|0),i[n>>2]=((e+r|0)-1|0)/(r|0);return}i[k>>2]=f,i[n>>2]=e}function Ri(f,e){var r=0,A=0;r=B-16|0,B=r,D8(r+8|0,f,e),e=i[i[r+8>>2]+56>>2],f=i[r+12>>2];i:{if(!f||(A=i[f+4>>2],i[f+4>>2]=A-1,A))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return B=r+16|0,e}function W3(f,e,r,A){var k=0,n=0;return i[f+24>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+8>>2]=r,i[f+12>>2]=0,i[f>>2]=68392,A?(A=U(r),i[f+24>>2]=A,k=f,n=l0(A,e,r),i[k+4>>2]=n,f):(i[f+4>>2]=e,f)}function gX(){var f=0;return f=U(36),X[f+2>>1]=0,X[f+4>>1]=0,X[f>>1]=263,l[f+32|0]=1,l[f+28|0]=0,i[f+20>>2]=2,i[f+24>>2]=2,l[f+16|0]=1,i[f+12>>2]=1,l[f+5|0]=0,l[f+6|0]=0,l[f+7|0]=0,l[f+8|0]=0,f|0}function z9(f,e,r){var A=0,k=0,n=0;A=B-16|0,B=A,n=i[f+48>>2],f=U(4),i[A+4>>2]=f,k=f+4|0,i[A+12>>2]=k,i[f>>2]=r,i[A+8>>2]=k,P1(n,e,1835103083,A+4|0),f=i[A+4>>2],f&&(i[A+8>>2]=f,G(f)),B=A+16|0}function x6(f,e){var r=0,A=0;return r=B-16|0,B=r,A=r+12|0,f=i[f+28>>2],i[A>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),f=x0(A,100184),V[i[i[f>>2]+48>>2]](f,60064,60090,e)|0,O0(A),B=r+16|0,e}function si(f,e){var r=0,A=0;r=i[e>>2],A=i[e+4>>2],i[e>>2]=0,i[e+4>>2]=0,e=i[f+4>>2],i[f>>2]=r,i[f+4>>2]=A;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}}function NX(f){f=f|0;var e=0,r=0,A=0,k=0;i:{if(!f||(e=s[f|0],!e)||(r=s[f+1|0],!r)||(A=s[f+2|0],!A)||(f=s[f+3|0],!f))break i;k=f|(r<<16|e<<24|A<<8)}return k|0}function H9(f){f=f|0;var e=0,r=0;i:{if(i[f+2192>>2]<=0||(e=i[f+2188>>2],e=i[i[i[f+2176>>2]+(e>>>8&16777212)>>2]+((e&1023)<<2)>>2],!e))break i;l[e+104|0]=0,K9(f+2140|0),r=e}return r|0}function RX(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0;return k=B-16|0,B=k,f=_s(i[f+60>>2],e|0,r|0,A&255,k+8|0)|0,f?(i[23944]=f,f=-1):f=0,B=k+16|0,w0=f?-1:i[k+12>>2],(f?-1:i[k+8>>2])|0}function X3(f,e){var r=0,A=0;A=B-16|0,B=A,l[f|0]=0,r=i[i[e>>2]-12>>2]+e|0;i:{if(!i[r+16>>2]){i[r+72>>2]&&Ni(i[r+72>>2]),l[f|0]=!i[(i[i[e>>2]-12>>2]+e|0)+16>>2];break i}J4(r,4)}B=A+16|0}function T9(f,e){var r=0,A=0;i:{if(r=i[f>>2],!r)break i;A=i[r+24>>2];r:{if((A|0)==i[r+28>>2]){e=V[i[i[r>>2]+52>>2]](r,e)|0;break r}i[r+24>>2]=A+4,i[A>>2]=e}if((e|0)!=-1)break i;i[f>>2]=0}}function a9(f,e,r,A){i:{if(!f)break i;r:switch(e+2|0){case 0:l[f|0]=r;return;case 1:X[f>>1]=r;return;case 2:case 3:i[f>>2]=r;return;case 5:break r;default:break i}i[f>>2]=r,i[f+4>>2]=A}}function G3(f){var e=0;return e=i[f+72>>2],i[f+72>>2]=e-1|e,e=i[f>>2],e&8?(i[f>>2]=e|32,-1):(i[f+4>>2]=0,i[f+8>>2]=0,e=i[f+44>>2],i[f+28>>2]=e,i[f+20>>2]=e,i[f+16>>2]=e+i[f+48>>2],0)}function C3(f,e,r,A,k,n,t,o,u){var h=0;h=B-16|0,B=h,s4(h,e,r,A,k,n,t,o,u^-2147483648),A=i[h>>2],r=i[h+4>>2],e=i[h+12>>2],i[f+8>>2]=i[h+8>>2],i[f+12>>2]=e,i[f>>2]=A,i[f+4>>2]=r,B=h+16|0}function DX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;return k=i[f+84>>2],A=r+256|0,n=PA(k,0,A),A=n?n-k|0:A,r=r>>>0>A>>>0?A:r,l0(e,k,r),e=k+A|0,i[f+84>>2]=e,i[f+8>>2]=e,i[f+4>>2]=r+k,r|0}function v4(f,e){var r=0,A=0;r=s[f|0],A=s[e|0];i:{if(!r|(r|0)!=(A|0))break i;for(;;){if(A=s[e+1|0],r=s[f+1|0],!r)break i;if(e=e+1|0,f=f+1|0,(r|0)!=(A|0))break}}return r-A|0}function UX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;return t=B-16|0,B=t,i[t+8>>2]=624576549,i[t+12>>2]=1394948685,o=f,f=t+16|0,e=B8(o,e,r,A,k,n,t+8|0,f),B=f,e|0}function S9(f,e){var r=0;i:{if(!e||(e=N0(e,67148,67404),!e|i[e+8>>2]&(i[f+8>>2]^-1))||!Q1(i[f+12>>2],i[e+12>>2],0))break i;r=Q1(i[f+16>>2],i[e+16>>2],0)}return r}function MX(f,e,r,A,k){return f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,f=B-16|0,B=f,i[f+12>>2]=k,i[f+8>>2]=A-r,e=B-16|0,B=e,B=e+16|0,B=f+16|0,e=f+8|0,f=f+12|0,i[(k0[e>>2]<k0[f>>2]?e:f)>>2]}function a8(f){var e=0,r=0;return s[f+11|0]>>>7|0?e=i[f>>2]:e=f,s[f+11|0]>>>7|0?r=i[f+4>>2]:r=s[f+11|0]&127,f=B-16|0,B=f,i[f+12>>2]=(r<<2)+e,B=f+16|0,i[f+12>>2]}function xX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;return A=i[f+12>>2],k=i[f+8>>2],(A|0)>=(r|0)&k>>>0>=e>>>0|(r|0)<(A|0)&&f3(i[f+4>>2],e,r,0),(r|0)<=(A|0)&e>>>0<=k>>>0|(r|0)<(A|0)}function z6(f){f=f|0;var e=0;return e=i[13631],i[f>>2]=e,i[i[e-12>>2]+f>>2]=i[13639],i[f+12>>2]=53552,i[f+8>>2]=i[13640],l[f+55|0]<0&&G(i[f+44>>2]),K0(f+12|0),T0(f- -64|0),f|0}function zX(){var f=0;return f=U(48),i[f>>2]=0,i[f+4>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,l[f+24|0]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+8>>2]=0,i[f+12>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,f|0}function HX(){var f=0;return f=U(44),i[f+24>>2]=0,X[f>>1]=5,i[f+4>>2]=0,i[f+8>>2]=0,l[f+40|0]=0,i[f+32>>2]=2,i[f+36>>2]=2,l[f+28|0]=1,i[f+12>>2]=0,i[f+16>>2]=0,X[f+20>>1]=0,f|0}function se(f,e,r,A){var k=0;return k=B-16|0,B=k,r=N4(i[f+44>>2],r),f=i[f+52>>2],r=r+1|0,X[k+14>>1]=r,l[k+12|0]=A,i[k+8>>2]=Q[k+12>>1]|Q[k+14>>1]<<16,c1(f,e,k+8|0),B=k+16|0,r}function TX(f,e,r,A){for(f=f|0,e=e|0,r=r|0,A=A|0;;){if((e|0)!=(r|0)){f=i[e>>2],f>>>0<=127?f=i[(f<<2)+60384>>2]:f=0,i[A>>2]=f,A=A+4|0,e=e+4|0;continue}break}return e|0}function Di(f){var e=0,r=0;e=i[19519],r=f+7&-8,f=e+r|0;i:{if(!(f>>>0<=e>>>0&&r)&&(f>>>0<=jo()<<16>>>0||Cs(f|0)|0))break i;return i[23944]=48,-1}return i[19519]=f,e}function aX(f,e){f=f|0,e=e|0;var r=0,A=0;r=U(8),i[r>>2]=0,i[r+4>>2]=0,A=i[19372],i[f>>2]=i[19371],i[f+4>>2]=A,i[f+8>>2]=i[19373],f=gk(),i[r>>2]=f,m3(f,7,1),m3(f,8,1),i[e>>2]=r}function S8(f){var e=0,r=0;return s[f+11|0]>>>7|0?e=i[f>>2]:e=f,s[f+11|0]>>>7|0?r=i[f+4>>2]:r=s[f+11|0]&127,f=B-16|0,B=f,i[f+12>>2]=e+r,B=f+16|0,i[f+12>>2]}function V3(f){var e=0;if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];return}_0(f,i[19566],i[19567])}function SX(f,e,r){if(f=f|0,e=e|0,r=r|0,!(r&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;return}i0[r>>3]=i0[e+40>>3],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function OX(f,e,r){if(f=f|0,e=e|0,r=r|0,!(r&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;return}i[r>>2]=i[e+72>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function V8(f){return l[f+26|0]=1,X[f+24>>1]=2,i[f+20>>2]=131074,i[f+12>>2]=8,l[f+8|0]=0,i[f>>2]=99,i[f+4>>2]=99,i[f+16>>2]=72992,l[f+26|0]=1,X[f+24>>1]=6,i[f+20>>2]=851969,f}function O9(f){var e=0,r=0;if(e=i[f>>2],e){r=i[e+12>>2];i:{if((r|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break i}e=i[r>>2]}if((e|0)!=-1)return!i[f>>2];i[f>>2]=0}return 1}function j9(f){var e=0,r=0;if(e=i[f>>2],e){r=i[e+12>>2];i:{if((r|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break i}e=s[r|0]}if((e|0)!=-1)return!i[f>>2];i[f>>2]=0}return 1}function b1(f,e,r,A,k){var n=0;return n=B-16|0,B=n,i[n+12>>2]=r,i[n+8>>2]=k,r=S4(n+4|0,n+12|0),e=le(f,e,A,i[n+8>>2]),f=i[r>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=n+16|0,e}function jX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A2(e,5),A=i[f+4>>2],k1(e,r,A,A>>31),A=i[f+8>>2],k1(e,r,A,A>>31),k1(e,r,i[f+12>>2],0),k1(e,r,i[f+16>>2],0),A2(e,0),D4(e,f+20|0)}function I3(f,e){var r=0,A=0;r=B-16|0,B=r;i:{if(!(s[e+11|0]>>>7|0)){i[f+8>>2]=i[e+8>>2],A=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=A;break i}_0(f,i[e>>2],i[e+4>>2])}B=r+16|0}function PX(f,e,r,A){for(f=f|0,e=e|0,r=r|0,A=A|0;;){i:{if((r|0)==(A|0)||(f=i[r>>2],i[(f<<2)+60384>>2]&e&&f>>>0<=127))break i;r=r+4|0;continue}break}return r|0}function LX(f,e,r,A){for(f=f|0,e=e|0,r=r|0,A=A|0;;){i:{if((r|0)==(A|0)||(f=i[r>>2],f>>>0>127|!(i[(f<<2)+60384>>2]&e)))break i;r=r+4|0;continue}break}return r|0}function P9(f,e,r){var A=0;return A=B-16|0,B=A,i[A+12>>2]=e,i[A+8>>2]=r,e=S4(A+4|0,A+12|0),r=sk(f,6131,i[A+8>>2]),f=i[e>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=A+16|0,r}function L9(){var f=0,e=0;return f=B-16|0,B=f,i[f+12>>2]=1073741823,i[f+8>>2]=2147483647,e=B-16|0,B=e,B=e+16|0,B=f+16|0,e=f+8|0,f=f+12|0,i[(k0[e>>2]<k0[f>>2]?e:f)>>2]}function r0(f,e,r,A){return i[f+4>>2]=r,i[f>>2]=e,e=f+8|0,l[A+11|0]>=0?(r=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=r,i[e+8>>2]=i[A+8>>2],f):(_0(e,i[A>>2],i[A+4>>2]),f)}function E4(f,e){var r=0,A=0,k=0;r=G2(e),A=l[f+11|0],k=(A|0)<0;i:{if(((k?i[f+4>>2]:A)|0)==(r|0)){if((r|0)==-1)break i;f=!K2(k?i[f>>2]:f,e,r)}else f=0;return f}O3(),P()}function H6(f,e){var r=0;if(e){H6(f,i[e>>2]),H6(f,i[e+4>>2]),f=i[e+24>>2];i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}G(e)}}function he(f,e){var r=0;if(e){he(f,i[e>>2]),he(f,i[e+4>>2]),f=i[e+24>>2];i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}G(e)}}function K9(f){var e=0;i[f+52>>2]=i[f+52>>2]-1,e=i[f+48>>2]+1|0,i[f+48>>2]=e,e>>>0>=2048&&(G(i[i[f+36>>2]>>2]),i[f+36>>2]=i[f+36>>2]+4,i[f+48>>2]=i[f+48>>2]-1024)}function KX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;return A=i[f+12>>2],A=((r|0)<=(A|0)&e>>>0<=k0[f+8>>2]|(r|0)<(A|0))&((r|0)>0|(r|0)>=0),A&&(i[f+16>>2]=e,i[f+20>>2]=r),A|0}function q9(f,e){var r=0,A=0,k=0,n=0;return i[f>>2]=68064,i[f>>2]=68176,r=G2(e),A=U(r+13|0),i[A+8>>2]=0,i[A+4>>2]=r,i[A>>2]=r,k=f,n=l0(A+12|0,e,r+1|0),i[k+4>>2]=n,f}function we(f,e){var r=0,A=0,k=0;k=i[f>>2],r=i[f+4>>2]-k|0,A=r+e|0;i:{if(A>>>0>r>>>0){L2(f,e);break i}if(A>>>0>=r>>>0)break i;i[f+4>>2]=A+k}i[f+12>>2]=i[f+12>>2]+e}function qX(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;k=B-32|0,B=k,n=k+12|0,UA(n,i[e>>2],r,A,1),P0(f,n,i[e>>2]),l[k+31|0]<0&&G(i[k+20>>2]),B=k+32|0}function $X(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;k=B-32|0,B=k,n=k+12|0,UA(n,i[e>>2],r,A,0),P0(f,n,i[e>>2]),l[k+31|0]<0&&G(i[k+20>>2]),B=k+32|0}function bX(f){f=f|0;var e=0;e=i[f+52>>2],e&&(i[f+56>>2]=e,G(e)),l[f+51|0]<0&&G(i[f+40>>2]),l[f+39|0]<0&&G(i[f+28>>2]),l[f+27|0]<0&&G(i[f+16>>2])}function dX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;for(f=0;;){if((e|0)!=(r|0)){f=i[e>>2]+(f<<4)|0,A=f&-268435456,f=(A|A>>>24)^f,e=e+4|0;continue}break}return f|0}function $9(f){var e=0,r=0;return e=B-16|0,B=e,i[e+12>>2]=f,f=S4(e+8|0,e+12|0),r=i[i[23985]>>2]?4:1,f=i[f>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=e+16|0,r}function cX(f,e){f=f|0,e=e|0;var r=0;r=-1;i:{if(!f|(e|0)<4||(r=0,s[f|0]!=255|s[f+1|0]!=216|s[f+2|0]!=255))break i;r=(s[f+3|0]&240)==224}return r|0}function iG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;for(f=0;;){if((e|0)!=(r|0)){f=l[e|0]+(f<<4)|0,A=f&-268435456,f=(A|A>>>24)^f,e=e+1|0;continue}break}return f|0}function rG(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0;k=B-32|0,B=k,n=k+12|0,b7(n,i[e>>2],A,r),P0(f,n,i[e>>2]),l[k+31|0]<0&&G(i[k+20>>2]),B=k+32|0}function b9(){var f=0,e=0;s[79116]||(l[79116]=1),f=i[19772],i[19772]=f+1;i:{if((f|0)>0||(_k(),Zk()))break i;i[19772]=i[19772]-1,e=11}return e|0}function eG(f,e,r){for(f=f|0,e=e|0,r=r|0;;){if((e|0)!=(r|0)){f=i[e>>2],f>>>0<=127&&(f=i[i[14241]+(f<<2)>>2]),i[e>>2]=f,e=e+4|0;continue}break}return e|0}function AG(f,e,r){for(f=f|0,e=e|0,r=r|0;;){if((e|0)!=(r|0)){f=i[e>>2],f>>>0<=127&&(f=i[i[14628]+(f<<2)>>2]),i[e>>2]=f,e=e+4|0;continue}break}return e|0}function d9(f,e,r,A,k){var n=0;return n=B-16|0,B=n,i[n+12>>2]=k,k=S4(n+8|0,n+12|0),e=B6(f,e,r,A),f=i[k>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=n+16|0,e}function c9(f,e,r){var A=0;return A=B-16|0,B=A,i[A+8>>2]=e,i[A+12>>2]=f,i[A+4>>2]=r,e=0,B=A+16|0,f=A+4|0,k0[f>>2]>=k0[A+12>>2]&&(e=k0[f>>2]<k0[A+8>>2]),e}function it(f){var e=0;l[f+27|0]<0&&G(i[f+16>>2]),f=i[f+4>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}}function fG(f){return f=f|0,s[100300]?i[25074]:(s[101400]||(l[101400]=1),Y2(101376,15001),Y2(101388,14995),l[100300]=1,i[25074]=101376,101376)}function kG(f){return f=f|0,s[100308]?i[25076]:(s[101432]||(l[101432]=1),E2(101408,66848),E2(101420,66860),l[100308]=1,i[25076]=101408,101408)}function rt(f){var e=0;if(V[i[i[f>>2]+20>>2]](f),e=i[f+36>>2],f=i[f+40>>2],(e|0)!=(f|0))for(;rt(i[e>>2]),e=e+8|0,(f|0)!=(e|0););}function nG(f,e,r,A,k){for(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;;){if((e|0)!=(r|0)){f=i[e>>2],l[k|0]=f>>>0<128?f:A,k=k+1|0,e=e+4|0;continue}break}return e|0}function tG(f,e,r){for(f=f|0,e=e|0,r=r|0;;){if((e|0)!=(r|0)){f=l[e|0],(f|0)>=0&&(f=i[i[14241]+(f<<2)>>2]),l[e|0]=f,e=e+1|0;continue}break}return e|0}function oG(f,e,r){for(f=f|0,e=e|0,r=r|0;;){if((e|0)!=(r|0)){f=l[e|0],(f|0)>=0&&(f=i[i[14628]+(f<<2)>>2]),l[e|0]=f,e=e+1|0;continue}break}return e|0}function Q3(f,e,r,A){e=se(i[f+48>>2],e,r,A),f=i[r+4>>2];i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return e}function lG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A2(e,1),A=i[f+4>>2],k1(e,r,A,A>>31),A=i[f+8>>2],k1(e,r,A,A>>31),k1(e,r,i[f+12>>2],0),k1(e,r,i[f+16>>2],0)}function uG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A2(e,2),A=i[f+4>>2],k1(e,r,A,A>>31),A=i[f+8>>2],k1(e,r,A,A>>31),k1(e,r,i[f+12>>2],0),k1(e,r,i[f+16>>2],0)}function sG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A2(e,4),A=i[f+4>>2],k1(e,r,A,A>>31),A=i[f+8>>2],k1(e,r,A,A>>31),k1(e,r,i[f+12>>2],0),k1(e,r,i[f+16>>2],0)}function _e(f,e,r,A){return i[f>>2]=i[e>>2],e=i[e+4>>2],l[f+20|0]=0,i[f+16>>2]=r,i[f+12>>2]=0,i[f+8>>2]=A,i[f+4>>2]=e,A&&(i[f+12>>2]=i[A+12>>2]+1),f}function hG(f,e,r,A,k){for(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;;){if((e|0)!=(r|0)){f=l[e|0],l[k|0]=(f|0)<0?A:f,k=k+1|0,e=e+1|0;continue}break}return e|0}function et(f){f=f|0;var e=0;return e=1,i[f+4>>2]-32768>>>0<4294901760|i[f+8>>2]-32768>>>0<4294901760|k0[f+12>>2]>65535||(e=k0[f+16>>2]>65535),e|0}function At(f,e,r,A){var k=0,n=0;k=B-16|0,B=k,i[k+12>>2]=r,n=e,e=r-e|0,Qo(A,n,e>>2),i[k+8>>2]=e+A,i[f>>2]=i[k+12>>2],i[f+4>>2]=i[k+8>>2],B=k+16|0}function wG(f,e,r,A,k,n,t,o,u,h){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0;var w=0;return w=e,e=0,V[f|0](w,r,A,k,n,e|t,o,e|u,h)|0}function _G(f,e,r,A,k,n){if(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,Q1(f,i[e+8>>2],n)){n3(e,r,A,k);return}f=i[f+8>>2],V[i[i[f>>2]+20>>2]](f,e,r,A,k,n)}function ft(f,e,r){var A=0,k=0,n=0;A=B-16|0,B=A,k=A,n=O8(e),i[k+12>>2]=n,k=A,n=O8(r),i[k+8>>2]=n,i[f>>2]=i[A+12>>2],i[f+4>>2]=i[A+8>>2],B=A+16|0}function c(f,e,r){var A=0,k=0,n=0;A=B-16|0,B=A,k=i[12469],n=s[e|0]==42,n||F1(21517,6,1,k),i[A+12>>2]=r,qr(f,e+n|0,r,976,977),x8(k),B=A+16|0}function U(f){var e=0,r=0;for(r=f>>>0<=1?1:f;;){i:{if(f=Z2(r),f||(e=i[25435],!e))break i;V[e|0]();continue}break}return f||o4(),f}function kt(f,e,r,A){var k=0,n=0;k=B-16|0,B=k,i[k+12>>2]=r,n=e,e=r-e|0,Jo(A,n,e),i[k+8>>2]=e+A,i[f>>2]=i[k+12>>2],i[f+4>>2]=i[k+8>>2],B=k+16|0}function y3(f,e,r){var A=0;return A=B-16|0,B=A,i[A+12>>2]=r,r=S4(A+8|0,A+12|0),e=ie(f,e),f=i[r>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=A+16|0,e}function ve(f){var e=0,r=0;e=B-16|0,B=e,r=-1;i:{if(g6(f)||(V[i[f+32>>2]](f,e+15|0,1)|0)!=1)break i;r=s[e+15|0]}return B=e+16|0,r}function nt(f,e){var r=0;return r=e>>31,f=f^r,hn(f-r|0,(e^r)-((f>>>0<r>>>0)+r|0)|0,100,0),w0=c8,f=r^d8,e=f-r|0,w0=(r^w0)-((f>>>0<r>>>0)+r|0)|0,e}function G4(f){f=f|0;var e=0,r=0;if(f){e=i[f+4>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}G(f)}}function F1(f,e,r,A){var k=0;k=m(e,r);i:{if(i[A+76>>2]<0){f=ee(f,k,A);break i}f=ee(f,k,A)}return(k|0)==(f|0)?e?r:0:(f>>>0)/(e>>>0)|0}function F3(f,e,r,A,k,n,t,o,u,h,w,_,v,Z){if((Z|0)<=8){V[i[f+12>>2]](e,r,A,k,n,t,o,u,h,w,_,v);return}V[i[f+28>>2]](e,r,A,k,n,t,o,u,h,w,_,v,Z)}function vG(f,e){f=f|0,e=e|0;i:{if(i[19575]||(mA(),!s[78304]))break i;bA()}i[19575]=i[19575]+1,i[f+8>>2]=34640,i[f>>2]=0,i[f+4>>2]=0}function tt(f){f=f|0;var e=0;i[f+2192>>2]&&(e=i[f+2188>>2],l[i[i[i[f+2176>>2]+(e>>>8&16777212)>>2]+((e&1023)<<2)>>2]+104|0]=0,K9(f+2140|0))}function mG(f){f=f|0;var e=0,r=0,A=0;r=f,e=k0[f+56>>2]>65535?3:s[f+124|0]?2:0,A=i[f+68>>2],f=l[f+75|0],l[r+48|0]=((f|0)<0?A:f)&&e>>>0<=2?2:e}function E3(f,e,r){var A=0;A=1;i:switch(r|0){case 2:return!(f&1);case 1:return!((f|e)&1);default:A=0;break;case 0:case 3:break i}return A}function BG(f){f=f|0;var e=0;f&&(e=i[f+4>>2],e&&G(e),e=i[f+8>>2],e&&G(e),e=i[f+12>>2],e&&G(e),e=i[f+16>>2],e&&G(e),G(f))}function ZG(f,e){f=f|0,e=e|0;var r=0,A=0;V[i[i[f>>2]+24>>2]](f)|0,e=x0(e,100200),i[f+36>>2]=e,r=f,A=V[i[i[e>>2]+28>>2]](e)|0,l[r+44|0]=A}function pG(f,e){f=f|0,e=e|0;var r=0,A=0;V[i[i[f>>2]+24>>2]](f)|0,e=x0(e,100208),i[f+36>>2]=e,r=f,A=V[i[i[e>>2]+28>>2]](e)|0,l[r+44|0]=A}function WG(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0;return h=e,e=0,V[f|0](h,r,A,k,e|n,t,e|o,u)|0}function ot(f){var e=0;e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),e=i[f+36>>2],e&&(i[f+40>>2]=e,G(e))}function me(f,e,r){var A=0;A=i0[r>>3],i0[f>>3]=i0[e+32>>3]+(A*i0[e>>3]+A*i0[e+8>>3]),i0[f+8>>3]=i0[e+40>>3]+(A*i0[e+16>>3]+i0[r+8>>3]*i0[e+24>>3])}function XG(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;r=e,e=i[e>>2]+7&-8,i[r>>2]=e+16,A=f,k=YA(i[e>>2],i[e+4>>2],i[e+8>>2],i[e+12>>2]),i0[A>>3]=k}function lt(f,e){var r=0;return r=i[f+24>>2],(r|0)==i[f+28>>2]?V[i[i[f>>2]+52>>2]](f,e&255)|0:(i[f+24>>2]=r+1,l[r|0]=e,e&255)}function GG(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=+A,k=+k,n=+n,f&&(l[f+24|0]=0,i0[f+16>>3]=n/+(r|0),n=k,k=+(e|0),i0[f+8>>3]=n/k,i0[f>>3]=A/k)}function Y3(f,e,r,A,k,n){var t=0,o=0;t=i[f+4>>2],o=t>>8,f=i[f>>2],t&1&&(o=i[i[A>>2]+o>>2]),V[i[i[f>>2]+20>>2]](f,e,r,A+o|0,t&2?k:2,n)}function CG(f){f=f|0;var e=0;return f=i[f>>2],e=i[f+64>>2],f=i[f+68>>2],!f|i[f+4>>2]!=-1||(V[i[i[f>>2]+8>>2]](f),g(f)),(e|0)!=0|0}function ut(f,e,r){var A=0;A=B-16|0,B=A;i:{if(!(l[e+120|0]&1|r>>>0>30)){l[e+120|0]=1;break i}e=eo(r)}B=A+16|0,i[f+4>>2]=r,i[f>>2]=e}function VG(f,e){f=f|0,e=e|0,e&&(f=f<<24|(f&65280)<<8|(f>>>8&65280|f>>>24),l[e|0]=f,l[e+1|0]=f>>>8,l[e+2|0]=f>>>16,l[e+3|0]=f>>>24)}function Be(f,e,r,A,k){var n=0,t=0;n=i[f+4>>2],t=n>>8,f=i[f>>2],n&1&&(t=i[i[r>>2]+t>>2]),V[i[i[f>>2]+24>>2]](f,e,r+t|0,n&2?A:2,k)}function st(f,e,r,A,k,n){f=V[i[i[f+8>>2]+4>>2]](f+8|0)|0,f=Nr(r,A,f,f+288|0,n,k,0)-f|0,(f|0)<=287&&(i[e>>2]=((f|0)/12|0)%12)}function ht(f,e,r,A,k,n){f=V[i[i[f+8>>2]+4>>2]](f+8|0)|0,f=Rr(r,A,f,f+288|0,n,k,0)-f|0,(f|0)<=287&&(i[e>>2]=((f|0)/12|0)%12)}function wt(f,e){if(!i[e+4>>2]){V[i[i[e>>2]+36>>2]](f,e+4|0);return}e=i[18138],i[f>>2]=i[18137],i[f+4>>2]=e,i[f+8>>2]=i[18139]}function IG(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,A&&(i[A>>2]=0),e=i[18282],i[f>>2]=i[18281],i[f+4>>2]=e,i[f+8>>2]=i[18283]}function QG(f,e,r,A){for(f=f|0,e=e|0,r=r|0,A=A|0;;){if((e|0)!=(r|0)){i[A>>2]=l[e|0],A=A+4|0,e=e+1|0;continue}break}return e|0}function yG(f,e,r,A){for(f=f|0,e=e|0,r=r|0,A=A|0;;){if((e|0)!=(r|0)){l[A|0]=s[e|0],A=A+1|0,e=e+1|0;continue}break}return e|0}function FG(f){f=f|0;var e=0,r=0;return e=U(8),r=i[f+8>>2],f=i[f+12>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),i[e+4>>2]=f,i[e>>2]=r,e|0}function _t(f,e,r){var A=0;for(A=B-16|0,B=A,l[A+15|0]=r;;){if(e){l[f|0]=s[A+15|0],e=e-1|0,f=f+1|0;continue}break}B=A+16|0}function EG(f,e,r,A){if(f=f|0,e=e|0,r=r|0,A=A|0,Q1(f,i[e+8>>2],0)){v3(e,r,A);return}f=i[f+8>>2],V[i[i[f>>2]+28>>2]](f,e,r,A)}function O8(f){var e=0;return e=B-16|0,B=e,i[e+12>>2]=f,f=B-16|0,B=f,i[f+12>>2]=i[e+12>>2],B=f+16|0,B=e+16|0,i[f+12>>2]}function YG(f,e){f=f|0,e=e|0;var r=0;return e=N0(e,68572,68596),!e|i[f+56>>2]!=i[e+56>>2]||(r=i[f+60>>2]==i[e+60>>2]),r|0}function g(f){var e=0,r=0;i:{if(e=f+8|0,i[e>>2]&&(r=e,e=i[e>>2]-1|0,i[r>>2]=e,(e|0)!=-1))break i;V[i[i[f>>2]+16>>2]](f)}}function Ze(f){var e=0;e=i[f+328>>2],i[f+328>>2]=e-1,i[f+336>>2]=i[f+336>>2]+1,!((e|0)>0)&&(C0(17278,14027,677,4391),P())}function vt(f){return i[f>>2]=53392,CA(f+4|0),i[f+24>>2]=0,i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+8>>2]=0,i[f+12>>2]=0,f}function mt(f,e,r,A,k,n){f=V[i[i[f+8>>2]>>2]](f+8|0)|0,f=Nr(r,A,f,f+168|0,n,k,0)-f|0,(f|0)<=167&&(i[e>>2]=((f|0)/12|0)%7)}function Bt(f,e,r,A,k,n){f=V[i[i[f+8>>2]>>2]](f+8|0)|0,f=Rr(r,A,f,f+168|0,n,k,0)-f|0,(f|0)<=167&&(i[e>>2]=((f|0)/12|0)%7)}function JG(f,e){f=f|0,e=e|0;var r=0;return r=i[f+2152>>2],f=i[f+2148>>2],r-f>>2>>>0>e>>>0?f=i[f+(e<<2)>>2]:f=0,f|0}function $0(f){return i[f>>2]=53144,CA(f+4|0),i[f+24>>2]=0,i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+8>>2]=0,i[f+12>>2]=0,f}function b0(f,e){i[f+20>>2]=0,i[f+24>>2]=e,i[f+12>>2]=0,i[f+4>>2]=4098,i[f+8>>2]=6,i[f+16>>2]=!e,B0(f+32|0,0,40),CA(f+28|0)}function v1(f){var e=0;i:{if(f=i[f+4>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}}function Zt(f,e,r){var A=0;A=B-16|0,B=A;i:if(s[f+11|0]>>>7|0)break i;wi(f,r),l[A+15|0]=0,l[e+r|0]=s[A+15|0],B=A+16|0}function gG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;return A=i[e+12>>2],f=i[f+16>>2]==1970628964?24:8,we(e,r?f+8|0:f),we(e,4),A|0}function pt(f){var e=0;return e=i[f+12>>2],(e|0)==i[f+16>>2]?V[i[i[f>>2]+40>>2]](f)|0:(i[f+12>>2]=e+4,i[e>>2])}function NG(f){f=f|0;var e=0;return(V[i[i[f>>2]+36>>2]](f)|0)==-1?-1:(e=f,f=i[f+12>>2],i[e+12>>2]=f+4,i[f>>2])}function Wt(){var f=0;return s[79116]||(l[79116]=1),f=i[19772],(f|0)<=0?12:(f=f-1|0,i[19772]=f,f||Eo(),0)}function Xt(f){f=f|0;var e=0,r=0;return i[f>>2]=68176,e=i[f+4>>2]-12|0,r=i[e+8>>2]-1|0,i[e+8>>2]=r,(r|0)<0&&G(e),f|0}function Gt(f){var e=0;i[f+8>>2]=0,i[f+12>>2]=0,e=i[f+16>>2],i[f+16>>2]=0,e=e>>3,i[f>>2]=i[f>>2]-e,i[f+4>>2]=e+i[f+4>>2]}function V1(f,e){return i[f+4>>2]=e,l[f|0]=0,e=i[i[e>>2]-12>>2]+e|0,i[e+16>>2]||(e=i[e+72>>2],e&&Ni(e),l[f|0]=1),f}function RG(f){f=f|0;var e=0;return(V[i[i[f>>2]+36>>2]](f)|0)==-1?-1:(e=f,f=i[f+12>>2],i[e+12>>2]=f+1,s[f|0])}function Ct(f){var e=0;return e=i[f+12>>2],(e|0)==i[f+16>>2]?V[i[i[f>>2]+40>>2]](f)|0:(i[f+12>>2]=e+1,s[e|0])}function Vt(f){return f=(f|0)>2147481747?f-2e3|0:f,f&3?0:(f=f+1900|0,(f|0)%100|0?1:!((f|0)%400|0))}function It(f,e,r){var A=0,k=0;A=i0[r>>3],k=i0[r+8>>3],i0[f>>3]=A*i0[e>>3]+k*i0[e+8>>3],i0[f+8>>3]=A*i0[e+16>>3]+k*i0[e+24>>3]}function Y4(f,e,r,A){i[r+12>>2]=A,V[i[i[e>>2]+36>>2]](f,e,r,i[r+4>>2]-(i[r>>2]+A|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2]}function O0(f){var e=0;f=i[f>>2],(f|0)!=100008&&(e=i[f+4>>2]-1|0,i[f+4>>2]=e,(e|0)==-1&&V[i[i[f>>2]+8>>2]](f))}function DG(f,e){f=f|0,e=e|0;var r=0,A=0;r=U(1),i[f+8>>2]=i[18554],A=i[18553],i[f>>2]=i[18552],i[f+4>>2]=A,i[e>>2]=r}function UG(f){f=f|0;var e=0,r=0;if(e=i[f>>2],e)for(;G(e),r=r+1|0,e=i[(r<<2)+f>>2],!!e;);G(f)}function MG(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0;return k=B-16|0,B=k,V[f|0](k+8|0,e,r,A),B=k+16|0,i[k+12>>2]}function Qt(f,e,r,A,k,n){i[f>>2]=e,i[f+4>>2]=r,i[f+8>>2]=A,i[f+12>>2]=k&65535|(n>>>16&32768|(k&2147418112)>>>16)<<16}function pe(f,e,r){var A=0;A=B-16|0,B=A,i[A+12>>2]=e,i[A+8>>2]=r,i[f>>2]=i[A+12>>2],i[f+4>>2]=i[A+8>>2],B=A+16|0}function J3(f,e){var r=0;return r=B-16|0,B=r,i[r+12>>2]=i[f>>2],i[r+12>>2]=i[r+12>>2]+(e<<2),B=r+16|0,i[r+12>>2]}function xG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;return A=i[e+12>>2],f=i[f+16>>2]==1970628964?24:8,we(e,r?f+8|0:f),A|0}function S4(f,e){var r=0;return r=i[23985],e=i[e>>2],e&&(i[23985]=(e|0)==-1?95820:e),i[f>>2]=(r|0)==95820?-1:r,f}function zG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A=B-16|0,B=A,i[A+8>>2]=1,i[A+12>>2]=485,Qk(f,e,A+8|0,r),B=A+16|0}function hi(f,e,r,A){var k=0;k=B-32|0,B=k,Wr(k+12|0,i[f+60>>2],e,r,A),l[k+31|0]<0&&G(i[k+20>>2]),B=k+32|0}function A8(f){i:{if(f=i[f+4>>2]&74,f){if((f|0)==64)return 8;if((f|0)!=8)break i;return 16}return 0}return 10}function HG(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=i[18556],i[f>>2]=i[18555],i[f+4>>2]=e,i[f+8>>2]=i[18557]}function TG(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e,i[f+8>>2]=i[18554]}function yt(f,e){var r=0,A=0;A=i[e>>2],i[e>>2]=0,r=i[f>>2],i[f>>2]=A,r&&V[i[f+4>>2]](r),i[f+4>>2]=i[e+4>>2]}function Q1(f,e,r){return r?(f|0)==(e|0)?1:!v4(i[f+4>>2],i[e+4>>2]):i[f+4>>2]==i[e+4>>2]}function g3(f){f=f|0;var e=0;return e=i[13752],i[f>>2]=e,i[i[e-12>>2]+f>>2]=i[13755],I6(f+8|0),T0(f+108|0),f|0}function N3(f){f=f|0;var e=0;return e=i[13791],i[f>>2]=e,i[i[e-12>>2]+f>>2]=i[13794],I6(f+4|0),T0(f+104|0),f|0}function o1(f,e,r){var A=0;return A=B-16|0,B=A,i[A+12>>2]=e,i[f>>2]=i[A+12>>2],i[f+4>>2]=i[r>>2],B=A+16|0,f}function aG(f,e,r){f=f|0,e=e|0,r=r|0,f=i[e+4>>2],f&&G(f),f=i[e+8>>2],f&&G(f),f=i[e+12>>2],f&&G(f)}function R3(f,e){var r=0;return r=B-16|0,B=r,i[r+12>>2]=i[f>>2],i[r+12>>2]=i[r+12>>2]+e,B=r+16|0,i[r+12>>2]}function SG(f,e,r){f=f|0,e=e|0,r=r|0,s3(i[e>>2],r),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function Ft(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0}function D3(f){f=f|0;var e=0;return e=i[13707],i[f>>2]=e,i[i[e-12>>2]+f>>2]=i[13710],K3(f+4|0),T0(f+56|0),f|0}function wi(f,e){if(s[f+11|0]>>>7|0){i[f+4>>2]=e;return}l[f+11|0]=s[f+11|0]&128|e&127,l[f+11|0]=s[f+11|0]&127}function OG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A2(e,0),A=i[f+4>>2],k1(e,r,A,A>>31),f=i[f+8>>2],k1(e,r,f,f>>31)}function C4(f){var e=0;return s[f+11|0]>>>7|0&&(f=i[f>>2]),e=B-16|0,B=e,i[e+12>>2]=f,B=e+16|0,i[e+12>>2]}function Et(f,e,r,A,k){e=q4(e,r,A,k,4),s[A|0]&4||(i[f>>2]=((e|0)<69?e+2e3|0:e>>>0<100?e+1900|0:e)-1900)}function Yt(f,e,r,A,k){e=$4(e,r,A,k,4),s[A|0]&4||(i[f>>2]=((e|0)<69?e+2e3|0:e>>>0<100?e+1900|0:e)-1900)}function T6(f,e,r){f=f|0,e=e|0,r=r|0;i:{if(f&&(f=i[f>>2],f))break i;return i[r>>2]=0,0}return v0(f,e,r)|0}function U3(f,e,r){if(r)for(;;){if(i[f>>2]==(e|0))return f;if(f=f+4|0,r=r-1|0,!r)break}return 0}function jG(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;f=i[f>>2],r=e>>31,A=f,k=q0(e,r,e,r),i[A+64>>2]=k,i[f+68>>2]=w0}function M3(f,e){var r=0;r=f+4|0,i[r>>2]=55348,i[r>>2]=53680,i[f>>2]=53260,i[r>>2]=53280,Qe(i[13312]+f|0,e)}function x3(f,e){var r=0;r=f+4|0,i[r>>2]=55348,i[r>>2]=54116,i[f>>2]=53508,i[r>>2]=53528,Qe(i[13374]+f|0,e)}function Jt(f,e){e&&(X[f+4>>1]=i[e+4>>2],X[f+6>>1]=i[e+8>>2],X[f+8>>1]=i[e+12>>2],l[f+10|0]=s[e+16|0]!=0)}function PG(f,e,r){f=f|0,e=e|0,r=r|0,i[r>>2]=100,i[f+8>>2]=i[18554],e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e}function LG(f){f=f|0;var e=0;return e=i[f+4>>2],i[f+4>>2]=0,i[f>>2]=68360,e&&V[i[i[e>>2]+4>>2]](e),f|0}function KG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;return A=B-16|0,B=A,V[f|0](A+8|0,e,r),B=A+16|0,i[A+12>>2]}function gt(){var f=0;return f=Z2(52),f&&(l[f+16|0]=1,i[f+12>>2]=6,i[f+4>>2]=1,i[f+8>>2]=13,l[f|0]=1),f|0}function Nt(f,e,r,A,k,n,t,o){return f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,i[k>>2]=r,i[o>>2]=n,3}function _i(f,e){var r=0,A=0;return r=i[f+56>>2],A=e,e=i[f+60>>2],r=U3(r,A,e-r>>2),((r||e)|0)!=i[f+60>>2]}function qG(f,e,r){f=f|0,e=e|0,r=r|0,i[r>>2]=1,i[f+8>>2]=i[18554],e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e}function $G(f,e,r){f=f|0,e=e|0,r=r|0,i[r>>2]=0,i[f+8>>2]=i[18554],e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e}function Rt(f,e,r){return f=f|0,e=e|0,r=r|0,e=e>>>0>k0[f+8>>2],f=i[f+12>>2],(e&(r|0)>=(f|0)|(f|0)<(r|0))<<1}function Dt(f){Q[f+8>>1]==2&&(X[f+8>>1]=6),Q[f+4>>1]==2&&(X[f+4>>1]=1),Q[f+6>>1]==2&&(X[f+6>>1]=13)}function bG(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e,i[f+8>>2]=i[18554]}function a6(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,e=i[18556],i[f>>2]=i[18555],i[f+4>>2]=e,i[f+8>>2]=i[18557]}function dG(f){f=f|0;var e=0,r=0;return f=i[f+4>>2],e=G2(f)+1|0,r=Z2(e),r?f=l0(r,f,e):f=0,f|0}function cG(f){f=f|0;var e=0;e=i[f+4>>2],i[f+4>>2]=0,i[f>>2]=68360,e&&V[i[i[e>>2]+4>>2]](e),G(f)}function iC(f,e,r){return f=f|0,e=e|0,r=r|0,f=V[i[i[f+4>>2]+16>>2]](e,r,i[f+8>>2])|0,(f>>>0>=2?2:f)|0}function Ut(f){if(i[f+20>>2]!=i[f+24>>2])for(;On(f),i[f+20>>2]!=i[f+24>>2];);}function z3(f){i[f+136>>2]||(i[f+136>>2]=i[i[23985]>>2]?55472:55448),i[f+72>>2]||(i[f+72>>2]=1)}function rC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,1,1,o)}function eC(f){f=f|0;var e=0;return e=B-16|0,B=e,s9(e,i[f+4>>2]),B=e+16|0,w0=i[e+12>>2],i[e+8>>2]}function AC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,1,2,o)}function fC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,1,3,o)}function kC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,2,1,o)}function nC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,2,2,o)}function tC(f,e){return f=f|0,e=e|0,e>>>0<=2?f=i[i[f+124>>2]+i[(e<<2)+41368>>2]>>2]:f=0,f|0}function oC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,2,3,o)}function lC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,3,1,o)}function uC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,3,3,o)}function sC(){i[19641]=1,i[19635]=5952,i[19634]=3,i[19633]=9093,i[19632]=2,i[19617]=0,i[19616]=78528}function hC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,3,2,o)}function wC(f,e,r){return f=f|0,e=e|0,r=r|0,r>>>0<=127?f=(i[(r<<2)+60384>>2]&e)!=0:f=0,f|0}function Mt(f,e){var r=0;r=B-16|0,B=r;i:{if((f|0)==(e|0)){l[f+120|0]=0;break i}Q8(e,4)}B=r+16|0}function H3(f,e,r){var A=0;return A=B-16|0,B=A,r=U3(f,i[r>>2],e-f>>2),B=A+16|0,((r||e)-f|0)+f|0}function _C(f,e,r,A,k,n,t){return f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,V[f|0](e,r,A,k,n,t)|0}function We(f){if(i[f+336>>2]!=i[f+340>>2])for(;i[f+336>>2]!=i[f+340>>2];);}function Xe(f,e){e&&(Xe(f,i[e>>2]),Xe(f,i[e+4>>2]),f=i[e+16>>2],i[e+16>>2]=0,f&&G(f),G(e))}function xt(f,e){var r=0;for(r=i[f+4>>2];;){if((e|0)!=(r|0)){r=r-4|0;continue}break}i[f+4>>2]=e}function vC(f,e){f=f|0,e=e|0;var r=0;return r=B-16|0,B=r,V[f|0](r+8|0,e),B=r+16|0,i[r+12>>2]}function T3(f,e,r){var A=0;return A=B-16|0,B=A,r=PA(f,l[r|0],e-f|0),B=A+16|0,((r||e)-f|0)+f|0}function mC(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,Q1(f,i[e+8>>2],n)&&n3(e,r,A,k)}function a3(f,e,r){f=f|0,e=e|0,r=r|0,e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e,i[f+8>>2]=i[18554]}function BC(f){f=f|0;var e=0;f&&(e=i[f+4>>2],e&&(V[i[i[f>>2]+40>>2]](e),i[f+4>>2]=0),G(f))}function ZC(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,V[i[i[e>>2]+16>>2]](f,e,i[r+8>>2],i[r+12>>2],0,A)}function zt(f){f=f|0;var e=0;i:{if(!f||(f=i[f>>2],!f))break i;e=i[f+24>>2]}return e|0}function Ht(f){f=f|0;var e=0;i:{if(!f||(f=i[f>>2],!f))break i;e=i[f+28>>2]}return e|0}function pC(f,e,r){f=f|0,e=e|0,r=r|0,e=i[18282],i[f>>2]=i[18281],i[f+4>>2]=e,i[f+8>>2]=i[18283]}function S6(f,e,r){(r|0)<0&&(C0(17266,14055,138,5756),P()),i[f+4>>2]=e,i[f>>2]=e,i[f+8>>2]=e+r}function Tt(f){f=f|0;var e=0;return i[f>>2]=60332,e=i[f+8>>2],!e|s[f+12|0]!=1||G(e),f|0}function WC(f){f=f|0;var e=0;return f=i[f>>2],i[f+32>>2]==1&&(e=i[f+36>>2]==3?4:10),y4(f,e)|0}function XC(f){f=f|0;var e=0;return f=i[f>>2],i[f+32>>2]==1&&(e=i[f+36>>2]==3?4:10),F4(f,e)|0}function at(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0}function St(f,e){var r=0;return r=f+8|0,f=i[r>>2],i[f+(e<<2)>>2]!=0&i[r+4>>2]-f>>2>>>0>e>>>0}function Ot(f){var e=0,r=0;for(r=f;e=r,r=e+4|0,!!i[e>>2];);return e-f>>2}function GC(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,V[i[i[e>>2]+92>>2]](f,i[e+4>>2],r,A,k)}function _2(){var f=0;f=Ne(4),i[f>>2]=68064,i[f>>2]=68024,i[f>>2]=68044,wr(f|0,68156,20),P()}function S3(f,e){var r=0;i:{if(r=i[f>>2],!r||(lt(r,e)|0)!=-1)break i;i[f>>2]=0}}function CC(f){f=f|0;var e=0;return i[f>>2]=73364,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function VC(f){f=f|0;var e=0;return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function IC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,1,1)}function QC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,1,2)}function yC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,1,3)}function FC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,2,1)}function EC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,2,2)}function YC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,2,3)}function JC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,3,1)}function gC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,3,2)}function NC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,3,3)}function RC(f){f=f|0;var e=0;return i[f>>2]=73276,e=i[f+8>>2],e&&(i[f+12>>2]=e,G(e)),f|0}function DC(f){f=f|0;var e=0;return i[f>>2]=72952,e=i[f+8>>2],e&&(i[f+12>>2]=e,G(e)),f|0}function UC(f){return f=f|0,i[f+4>>2]-32768>>>0<4294901760|i[f+8>>2]-32768>>>0<4294901760}function MC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,V[f|0](e,r,A,k,n,t)}function jt(f,e){f=f|0,e=e|0;i:{if(!e||(f=i[e>>2],!f))break i;G(f),i[e>>2]=0}}function I8(f,e,r,A){var k=0;return k=B-16|0,B=k,i[k+12>>2]=A,f=le(f,e,r,A),B=k+16|0,f}function Pt(f){f=f|0;var e=0;f=i[i[i[f>>2]>>2]>>2],e=i[25045]+1|0,i[25045]=e,i[f+4>>2]=e}function a0(f,e){var r=0,A=0;return r=e&31,A=(-1>>>r&f)<<r,r=f,f=0-e&31,A|(r&-1<<f)>>>f}function U4(f,e){f=f|0,e=e|0,e=B-16|0,B=e,i[f>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0,B=e+16|0}function xC(f,e,r){return f=f|0,e=e|0,r=r|0,!(V[i[i[f+4>>2]+12>>2]](e,r,i[f+8>>2])|0)|0}function zC(f,e){f=f|0,e=e|0,e=i[18282],i[f>>2]=i[18281],i[f+4>>2]=e,i[f+8>>2]=i[18283]}function x0(f,e){return f=i[f>>2],e=r1(e),St(f,e)||(u1(),P()),i[i[f+8>>2]+(e<<2)>>2]}function Lt(f,e){var r=0;return r=B-16|0,B=r,i[r+12>>2]=e,f=sk(f,8823,e),B=r+16|0,f}function Kt(f){(f|0)!=0&(f|0)!=55448&(f|0)!=55472&(f|0)!=99608&(f|0)!=99632&&G(f)}function HC(f){f=f|0;var e=0;i[f>>2]=73364,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function TC(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0}function aC(f,e,r){return f=f|0,e=e|0,r=r|0,!(V[i[i[f+4>>2]+8>>2]](e,r,i[f+8>>2])|0)|0}function SC(f){f=f|0;var e=0;i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function OC(f){f=f|0;var e=0;i[f>>2]=73276,e=i[f+8>>2],e&&(i[f+12>>2]=e,G(e)),G(f)}function jC(f){for(f=f|0,f=100584;f=z0(f-12|0),(f|0)!=100416;);}function PC(f){for(f=f|0,f=100760;f=l1(f-12|0),(f|0)!=100592;);}function LC(f){for(f=f|0,f=101056;f=z0(f-12|0),(f|0)!=100768;);}function KC(f){for(f=f|0,f=101360;f=l1(f-12|0),(f|0)!=101072;);}function qC(f){for(f=f|0,f=101400;f=z0(f-12|0),(f|0)!=101376;);}function $C(f){f=f|0;var e=0;i[f>>2]=72952,e=i[f+8>>2],e&&(i[f+12>>2]=e,G(e)),G(f)}function bC(f){for(f=f|0,f=101432;f=l1(f-12|0),(f|0)!=101408;);}function dC(f,e,r,A,k,n){return f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,Tk(f,e,r,A,k,n)|0}function cC(f,e,r){f=f|0,e=e|0,r=r|0,f=i[f>>2],i[e>>2]=i[f+72>>2],i[r>>2]=i[f+76>>2]}function qt(f){return f=f|0,i[f>>2]=61416,i[f+8>>2]!=(M2()|0)&&Kt(i[f+8>>2]),f|0}function Ge(f){return i[f+112>>2]=0,i[f+116>>2]=0,f=B0(f,0,108),i[f+108>>2]=f+112,f}function $t(f,e){for(;i[f+16>>2]=i[f+16>>2]-e,f=i[f+8>>2],!!f;);}function iV(f,e){return f=f|0,e=e|0,(e|0)>=0&&(e=i[i[14241]+(e<<2)>>2]),e<<24>>24}function rV(f,e){return f=f|0,e=e|0,(e|0)>=0&&(e=i[i[14628]+(e<<2)>>2]),e<<24>>24}function eV(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,i[f>>2]=0,i[f+4>>2]=0}function AV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,V[i[i[e>>2]+76>>2]](f,i[e+4>>2],r,A)}function fV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,V[i[i[e>>2]+80>>2]](f,i[e+4>>2],r,A)}function kV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,V[i[i[e>>2]+84>>2]](f,i[e+4>>2],r,A)}function nV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,V[i[i[e>>2]+88>>2]](f,i[e+4>>2],r,A)}function tV(f,e){f=f|0,e=e|0,e&&(f=i[i[f>>2]+80>>2],X[e>>1]=f,X[e+2>>1]=f>>>16)}function oV(f){return f=f|0,f=ik(i[f+60>>2])|0,f?(i[23944]=f,f=-1):f=0,f|0}function lV(f){f=f|0;var e=0;e=f+12|0,f=i[e+8816>>2],f&&(i[e+8820>>2]=f,G(f))}function _1(f){return f=M0(f),(f|0)==-99999|!f||(f=f&1?f+1>>1:0-(f>>1)|0),f}function uV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,e=B-16|0,B=e,E7(f,r,A),B=e+16|0}function sV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,e=B-16|0,B=e,F7(f,r,A),B=e+16|0}function hV(f,e){return f=f|0,e=e|0,i[f+2152>>2]-i[f+2148>>2]>>2>(e|0)&(e|0)>=0}function wV(f){return f=f|0,s[100404]||(yi(100392,61736),l[100404]=1),100392}function _V(f,e,r,A,k){return f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,V[f|0](e,r,A,k)|0}function bt(f,e){if(i[f>>2]<(e|0))for(;i[f>>2]<(e|0););}function vV(f){f=f|0;var e=0;return i[f>>2]=68392,e=i[f+24>>2],e&&G(e),f|0}function mV(f){return f=f|0,s[100324]||(yi(100312,61580),l[100324]=1),100312}function BV(f,e){return f=f|0,e=e|0,e>>>0<=127&&(e=i[i[14241]+(e<<2)>>2]),e|0}function ZV(f){return f=f|0,s[100340]||(yi(100328,61616),l[100340]=1),100328}function pV(f,e){return f=f|0,e=e|0,e>>>0<=127&&(e=i[i[14628]+(e<<2)>>2]),e|0}function WV(f){return f=f|0,s[100356]||(G6(100344,14815),l[100356]=1),100344}function XV(f){return f=f|0,s[100372]||(yi(100360,61652),l[100372]=1),100360}function GV(f){return f=f|0,s[100388]||(G6(100376,6122),l[100388]=1),100376}function Ui(f){for(var e=0;;){if(f){f=f-1&f,e=e+1|0;continue}break}return e}function CV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,Q1(f,i[e+8>>2],0)&&v3(e,r,A)}function f8(f,e){var r=0;r=B-16|0,B=r,i[r+12>>2]=e,No(77928,f,e),B=r+16|0}function VV(f,e){return f=f|0,e=e|0,(e>>>0<=2?i[i[(e<<2)+41344>>2]+f>>2]:0)|0}function IV(f,e){return f=f|0,e=e|0,(e>>>0<=2?i[i[(e<<2)+41356>>2]+f>>2]:0)|0}function Ce(f,e,r,A){return i[f+76>>2]<0,P7(f,e,r,A)}function QV(){var f=0;return f=U(12),i[f>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0,f|0}function yV(f,e){f=f|0,e=e|0,e&&(i[i[f>>2]+80>>2]=Q[e>>1]|Q[e+2>>1]<<16)}function FV(f,e){return f=f|0,e=e|0,(e|0)>=12?f=jn(f+8|0):f=0,f|0}function EV(f){f=f|0;var e=0;i[f>>2]=68392,e=i[f+24>>2],e&&G(e),G(f)}function dt(f,e){var r=0;r=Ct(i[e>>2]),i[f+4>>2]=i[e>>2],l[f|0]=r<<24>>24}function z1(f,e){e=!i[f+24>>2]|e,i[f+16>>2]=e,e&i[f+20>>2]&&(u1(),P())}function YV(f,e,r){f=f|0,e=e|0,r=r|0,f=i[f>>2],i[f+76>>2]=r,i[f+72>>2]=e}function ct(f){f=f|0;var e=0;return e=f+548|0,xn(e),xn(e),l[f+548|0]=1,0}function O3(){var f=0;f=q9(Ne(8),8538),i[f>>2]=68276,wr(f|0,68308,1),P()}function vi(f){var e=0;i[f+16>>2]=0,e=i[f+8>>2],e&&vi(e),l[f+20|0]=1}function O6(f,e,r,A,k){return f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,i[k>>2]=r,3}function Ve(){i[19575]||(mA(),s[78304]&&bA(),i[19575]=i[19575]+1)}function JV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,C0(17356,13904,68,7984),P()}function j3(f,e,r){var A=0;return A=B-16|0,B=A,E7(f,e,r),B=A+16|0,f}function j8(f,e){f=f|0,e=e|0,l[f|0]=2,l[f+1|0]=3,l[f+2|0]=0,l[f+3|0]=4}function gV(f){return f=f|0,f?(N0(f,67148,67292)|0)!=0|0:0}function P3(f){return f=f|0,i[f+8>>2]!=(M2()|0)&&Kt(i[f+8>>2]),f|0}function NV(f){return f=f|0,f=V[i[i[f+4>>2]+4>>2]](i[f+8>>2])|0,f|0}function RV(f,e,r,A){return f=f|0,e=e|0,r=r|0,A=A|0,V[f|0](e,r,A)|0}function DV(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,I3(f,n)}function io(f,e){f=f|0,e=e|0,e&&(f=i[e>>2],f&&G(f),i[e>>2]=0)}function UV(f,e,r){return f=f|0,e=e|0,r=r|0,(e>>>0<128?e:r)<<24>>24}function ro(f,e){var r=0;r=pt(i[e>>2]),i[f+4>>2]=i[e>>2],i[f>>2]=r}function MV(f){return f=f|0,f=i[f+16>>2],V[i[i[f>>2]+8>>2]](f)|0}function xV(f){return f=f|0,f=i[f>>2],(Q[f+80>>1]|Q[f+82>>1])!=0|0}function zV(f){return f=f|0,f=i[f>>2],i[f+200>>2]-i[f+196>>2]>>2}function HV(f){return f=f|0,f=i[f+8>>2],i[f+16>>2]-i[f+12>>2]>>3}function TV(f){return f=f|0,f=i[f+8>>2],f?$9(f)|0:1}function aV(f){f=f|0,l[f+48|0]=i[f+40>>2]-i[f+36>>2]>>>0>524280}function SV(f,e,r){f=f|0,e=e|0,r=r|0,C0(17356,13904,51,7834),P()}function OV(f){return f=f|0,f=i[f>>2],i[f+40>>2]-i[f+36>>2]>>3}function L3(f){f=q9(Ne(8),f),i[f>>2]=68224,wr(f|0,68256,1),P()}function eo(f){return f>>>0>1073741823&&(u1(),P()),w9(f<<2,4)}function jV(f){return f=f|0,V[i[i[f>>2]+68>>2]](i[f+4>>2])|0}function PV(f){f=f|0,Ni(98732),Ni(99068),k3(98816),k3(99152)}function LV(f){return f=f|0,f?s[i[f>>2]+208|0]:0}function K3(f){return f=f|0,i[f>>2]=53552,z0(f+32|0),K0(f)|0}function KV(f){return f=f|0,f?s[i[f>>2]+256|0]:0}function qV(f,e){f=f|0,e=e|0,i[f+8>>2]=l[e+11|0]<0?i[e>>2]:e}function $V(f,e){f=f|0,e=e|0,f&&(l[i[f>>2]+40|0]=(e|0)!=0)}function bV(f){return f=f|0,s[100309]||(l[100309]=1),78224}function dV(f){return f=f|0,s[100325]||(l[100325]=1),78236}function q3(f,e){e&&(q3(f,i[e>>2]),q3(f,i[e+4>>2]),G(e))}function cV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,yr(f,16,e,r,A)}function iI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,yr(f,32,e,r,A)}function rI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,Qr(f,r,16,e,A)}function eI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,Qr(f,r,32,e,A)}function j6(f,e){e&&(j6(f,i[e>>2]),j6(f,i[e+4>>2]),G(e))}function P8(f,e){e&&(P8(f,i[e>>2]),P8(f,i[e+4>>2]),G(e))}function Ie(f,e){e&&(Ie(f,i[e>>2]),Ie(f,i[e+4>>2]),G(e))}function AI(f){return f=f|0,f?s[i[f>>2]+40|0]:0}function fI(f){return f=f|0,f?i[i[f+8>>2]>>2]:-1}function kI(f,e,r){return f=f|0,e=e|0,r=r|0,((e|0)<0?r:e)|0}function nI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,yr(f,4,e,r,A)}function tI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,yr(f,8,e,r,A)}function oI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,Qr(f,r,4,e,A)}function lI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,Qr(f,r,8,e,A)}function uI(f,e,r,A){return f=f|0,e=e|0,r=r|0,A=A|0,w0=0,0}function z0(f){return s[f+11|0]>>>7|0&&Q8(i[f>>2],1),f}function l1(f){return s[f+11|0]>>>7|0&&Q8(i[f>>2],4),f}function Ao(f){return f=f|0,i[f>>2]=61464,z0(f+12|0),f|0}function fo(f){return f=f|0,i[f>>2]=61504,z0(f+16|0),f|0}function Mi(f,e){var r=0;r=w9(e,1),i[f+4>>2]=e,i[f>>2]=r}function K0(f){return f=f|0,i[f>>2]=53144,O0(f+4|0),f|0}function $3(f){return f=f|0,i[f>>2]=53392,O0(f+4|0),f|0}function ko(f,e,r){return f=f|0,e=e|0,r=r|0,Q1(f,e,0)|0}function xi(f,e){var r=0;r=eo(e),i[f+4>>2]=e,i[f>>2]=r}function no(f){return f=f|0,Ee(i[i[f>>2]-12>>2]+f|0)|0}function to(f,e,r){f=f|0,e=e|0,r=r|0,i[i[f>>2]+e>>2]=r}function sI(f){return f=f|0,Fe(i[i[f>>2]-12>>2]+f|0)|0}function oo(f){return f=f|0,Ye(i[i[f>>2]-12>>2]+f|0)|0}function hI(f){return f=f|0,z6(i[i[f>>2]-12>>2]+f|0)|0}function wI(f){return f=f|0,D3(i[i[f>>2]-12>>2]+f|0)|0}function _I(f){return f=f|0,g3(i[i[f>>2]-12>>2]+f|0)|0}function vI(f){return f=f|0,N3(i[i[f>>2]-12>>2]+f|0)|0}function mI(f){return f=f|0,(i[f>>2]>=3?i[f+40>>2]:0)|0}function zi(f,e){return f=Y7(f,e),s[f|0]==(e&255)?f:0}function lo(f){return f=f|0,V[i[i[f>>2]+24>>2]]()|0}function BI(f){return f=f|0,w0=i[f+20>>2],i[f+16>>2]}function Qe(f,e){b0(f,e),i[f+72>>2]=0,i[f+76>>2]=-1}function uo(f,e){return f=f|0,e=e|0,i[i[f>>2]+e>>2]}function P6(f){return f?31-$2(f-1^f)|0:32}function D2(f){f=f|0,V[i[i[f+12>>2]>>2]](f+12|0)|0}function ZI(f,e){return f=f|0,e=e|0,r3(i[f>>2],e)|0}function pI(f,e){return f=f|0,e=e|0,U0(i[f>>2],e)|0}function m2(f){f=f|0,V[i[i[f+16>>2]>>2]](f+16|0)|0}function so(f,e){return f=f|0,e=e|0,y4(i[f>>2],e)|0}function ho(f,e){return f=f|0,e=e|0,F4(i[f>>2],e)|0}function wo(f,e){return f=f|0,e=e|0,H2(i[f>>2],e)|0}function WI(){var f=0;return f=U(4),i[f>>2]=0,f|0}function L6(f,e,r){f=f|0,e=e|0,r=r|0,Yr(f,e,r,-1)}function XI(f){f=f|0,l[78275]<0&&G(i[19566])}function GI(f){return f=f|0,i[i[f>>2]+64>>2]!=0|0}function CI(f,e,r){f=f|0,e=e|0,r=r|0,Fr(f,r,16,e)}function VI(f,e,r){f=f|0,e=e|0,r=r|0,Fr(f,r,32,e)}function II(f){return f=f|0,s[i[f+124>>2]+9016|0]}function QI(f){return f=f|0,s[i[f+124>>2]+9019|0]}function yI(f){return f=f|0,s[i[f+124>>2]+9020|0]}function FI(f,e,r){f=f|0,e=e|0,r=r|0,Ur(f,16,e,r)}function EI(f,e,r){f=f|0,e=e|0,r=r|0,Ur(f,32,e,r)}function YI(f,e,r){f=f|0,e=e|0,r=r|0,Rk(f,16,e,r)}function JI(f,e,r){f=f|0,e=e|0,r=r|0,Rk(f,32,e,r)}function gI(f){return f=f|0,s[i[f+124>>2]+9018|0]}function b3(f,e){return f=f|0,e=e|0,V[f|0](e)|0}function NI(f,e,r){f=f|0,e=e|0,r=r|0,Fr(f,r,4,e)}function RI(f,e,r){f=f|0,e=e|0,r=r|0,Fr(f,r,8,e)}function DI(f,e,r){f=f|0,e=e|0,r=r|0,Ur(f,8,e,r)}function UI(f,e,r){f=f|0,e=e|0,r=r|0,Ur(f,4,e,r)}function _o(f,e,r){return f=f|0,e=e|0,r=r|0,f|0}function MI(f,e){f=f|0,e=e|0,i[i[f>>2]+56>>2]=e}function vo(f){var e=0,r=0;e=f,r=M2(),i[e>>2]=r}function mo(f,e,r,A){vs(f|0,e|0,8,0,r|0,-1,A|0)}function Q8(f,e){if(e>>>0>8){G(f);return}G(f)}function ye(f,e){return f?ie(f,e):0}function xI(f){f=f|0,l[f+48|0]=k0[f+56>>2]>65535}function zI(f,e){f=f|0,e=e|0,l[f+4|0]=(e|0)!=0}function H1(f,e,r){s[f|0]&32||ee(e,r,f)}function HI(f){return f=f|0,i[f>>2]=72424,f|0}function TI(f){return f=f|0,i[f>>2]=74312,f|0}function aI(f){return f=f|0,i[f>>2]=71384,f|0}function SI(f){return f=f|0,i[f>>2]=75196,f|0}function OI(f){return f=f|0,i[f>>2]=76520,f|0}function jI(f){return f=f|0,i[f>>2]=72464,f|0}function PI(f){return f=f|0,i[f>>2]=71424,f|0}function LI(f){return f=f|0,i[f>>2]=75236,f|0}function KI(f){return f=f|0,i[f>>2]=76596,f|0}function qI(f){return f=f|0,i[f>>2]=71464,f|0}function $I(f){return f=f|0,i[f>>2]=72576,f|0}function bI(f){return f=f|0,i[f>>2]=75312,f|0}function dI(f){return f=f|0,i[f>>2]=76672,f|0}function cI(f){return f=f|0,i[f>>2]=71504,f|0}function iQ(f){return f=f|0,i[f>>2]=75388,f|0}function rQ(f){return f=f|0,i[f>>2]=76748,f|0}function eQ(f){return f=f|0,i[f>>2]=72616,f|0}function AQ(f){return f=f|0,i[f>>2]=71544,f|0}function fQ(f){return f=f|0,i[f>>2]=75428,f|0}function kQ(f){return f=f|0,i[f>>2]=71584,f|0}function nQ(f){return f=f|0,i[f>>2]=72656,f|0}function tQ(f){return f=f|0,i[f>>2]=75468,f|0}function Bo(f){f=f|0,Af(i[i[f>>2]-12>>2]+f|0)}function oQ(f){return f=f|0,i[f>>2]=71624,f|0}function lQ(f){return f=f|0,i[f>>2]=75508,f|0}function uQ(f){return f=f|0,i[f>>2]=71664,f|0}function sQ(f){return f=f|0,i[f>>2]=72744,f|0}function hQ(f){return f=f|0,i[f>>2]=70584,f|0}function wQ(f){return f=f|0,i[f>>2]=75548,f|0}function _Q(f){return f=f|0,i[f>>2]=71704,f|0}function vQ(f){return f=f|0,i[f>>2]=70624,f|0}function mQ(f){return f=f|0,i[f>>2]=72792,f|0}function BQ(f){return f=f|0,i[f>>2]=75588,f|0}function ZQ(f){f=f|0,kf(i[i[f>>2]-12>>2]+f|0)}function pQ(f){return f=f|0,i[f>>2]=71744,f|0}function Zo(f){f=f|0,ff(i[i[f>>2]-12>>2]+f|0)}function WQ(f){return f=f|0,i[f>>2]=70664,f|0}function XQ(f,e){return f=f|0,e=e|0,Ak(f,e)|0}function GQ(f){return f=f|0,i[f>>2]=71784,f|0}function CQ(f){return f=f|0,i[f>>2]=72832,f|0}function VQ(f){return f=f|0,i[f>>2]=73408,f|0}function IQ(f){return f=f|0,i[f>>2]=75628,f|0}function QQ(f){return f=f|0,i[f>>2]=70704,f|0}function yQ(f){return f=f|0,i[f>>2]=71824,f|0}function FQ(f){return f=f|0,i[f>>2]=73448,f|0}function EQ(f){return f=f|0,i[f>>2]=75668,f|0}function YQ(f){return f=f|0,i[f>>2]=70744,f|0}function JQ(f){return f=f|0,i[f>>2]=71864,f|0}function gQ(f){return f=f|0,i[f>>2]=73488,f|0}function NQ(f){return f=f|0,V[i[f+4>>2]]()|0}function RQ(f){return f=f|0,i[f>>2]=75708,f|0}function DQ(f){return f=f|0,i[f>>2]=70784,f|0}function UQ(f){return f=f|0,i[f>>2]=70824,f|0}function MQ(f){return f=f|0,i[f>>2]=71904,f|0}function xQ(f){return f=f|0,i[f>>2]=73528,f|0}function zQ(f){return f=f|0,i[f>>2]=75748,f|0}function HQ(f){return f=f|0,i[f>>2]=72912,f|0}function TQ(f){return f=f|0,i[f>>2]=70864,f|0}function aQ(f){return f=f|0,i[f>>2]=71944,f|0}function SQ(f){return f=f|0,i[f>>2]=73568,f|0}function OQ(f){return f=f|0,i[f>>2]=75788,f|0}function jQ(f){return f=f|0,i[f>>2]=70904,f|0}function PQ(f){return f=f|0,i[f>>2]=71984,f|0}function LQ(f){return f=f|0,i[f>>2]=73608,f|0}function KQ(f){return f=f|0,i[f>>2]=75864,f|0}function qQ(f){return f=f|0,i[f>>2]=70944,f|0}function $Q(f){return f=f|0,i[f>>2]=75940,f|0}function bQ(f){return f=f|0,i[f>>2]=72024,f|0}function dQ(f){return f=f|0,i[f>>2]=74072,f|0}function cQ(f){return f=f|0,i[f>>2]=70984,f|0}function iy(f){return f=f|0,i[f>>2]=75980,f|0}function ry(f){return f=f|0,i[f>>2]=72064,f|0}function ey(f){return f=f|0,i[f>>2]=71024,f|0}function Ay(f){return f=f|0,i[f>>2]=74112,f|0}function fy(f){return f=f|0,i[f>>2]=76020,f|0}function ky(f){return f=f|0,i[f>>2]=72104,f|0}function ny(f){return f=f|0,i[f>>2]=43652,f|0}function ty(f){return f=f|0,i[f>>2]=71064,f|0}function oy(f){return f=f|0,i[f>>2]=76060,f|0}function ly(f){return f=f|0,i[f>>2]=72144,f|0}function uy(f){return f=f|0,i[f>>2]=71104,f|0}function sy(f){return f=f|0,i[f>>2]=76100,f|0}function hy(f){return f=f|0,i[f>>2]=43768,f|0}function wy(f){return f=f|0,i[f>>2]=72184,f|0}function _y(f){return f=f|0,i[f>>2]=71144,f|0}function vy(f){return f=f|0,i[f>>2]=76140,f|0}function my(f){return f=f|0,i[f>>2]=72224,f|0}function By(f){return f=f|0,i[f>>2]=43880,f|0}function Zy(f){return f=f|0,i[f>>2]=71184,f|0}function py(f){return f=f|0,i[f>>2]=76216,f|0}function Wy(f){f=f|0,nf(i[i[f>>2]-12>>2]+f|0)}function Xy(f){return f=f|0,i[f>>2]=72264,f|0}function Gy(f){return f=f|0,i[f>>2]=73092,f|0}function Cy(f){return f=f|0,i[f>>2]=71224,f|0}function Vy(f){return f=f|0,i[f>>2]=76292,f|0}function Iy(f){f=f|0,Do(i[i[f>>2]-12>>2]+f|0)}function Qy(f){return f=f|0,i[f>>2]=72304,f|0}function yy(f){return f=f|0,i[f>>2]=71264,f|0}function Fy(f){return f=f|0,i[f>>2]=76368,f|0}function Ey(f){f=f|0,Uo(i[i[f>>2]-12>>2]+f|0)}function Yy(f){return f=f|0,i[f>>2]=72344,f|0}function Jy(f){return f=f|0,i[f>>2]=71304,f|0}function gy(f){return f=f|0,i[f>>2]=72384,f|0}function Ny(f){f=f|0,Mo(i[i[f>>2]-12>>2]+f|0)}function Ry(f){return f=f|0,i[f>>2]=71344,f|0}function Dy(f){return f=f|0,i[f>>2]=75148,f|0}function Uy(f){return f=f|0,i[f>>2]=76444,f|0}function po(f,e,r){return f=f|0,e=e|0,r=r|0,-1}function My(f){return f=f|0,i[f>>2]=72872,f|0}function xy(f){return f=f|0,((f|0)==1?100:0)|0}function Wo(f){return f=f|0,i[i[f>>2]+16>>2]}function d3(f){return f=f|0,i[i[f>>2]+20>>2]}function zy(f){return f=f|0,i[i[f>>2]+32>>2]}function Hy(f){return f=f|0,i[i[f>>2]+36>>2]}function Ty(f){return f=f|0,s[i[f>>2]+108|0]}function K6(f,e,r,A){return f=hn(f,e,r,A),f}function ay(f){return f=f|0,s[i[f>>2]+49|0]}function Sy(f){return f=f|0,(s[f+4|0]?3:6)|0}function Oy(f){return f=f|0,i[i[f>>2]+8>>2]}function jy(f){return f=f|0,i[i[f>>2]+4>>2]}function Py(f){return f=f|0,(n7(f,0)|0)!=0|0}function Xo(f){return f=f|0,s[i[f>>2]+32|0]}function Ly(f){f=f|0,V[i[i[f>>2]+4>>2]](f)}function Fe(f){return f=f|0,T0(f+12|0),f|0}function Ee(f){return f=f|0,T0(f+8|0),f|0}function Ye(f){return f=f|0,T0(f+4|0),f|0}function Ky(f){return f=f|0,Ek(i[f>>2])|0}function qy(f,e){f=f|0,e=e|0,I3(f,e+12|0)}function $y(f,e){f=f|0,e=e|0,I3(f,e+16|0)}function by(f){f=f|0,i[f>>2]=71344,G(f)}function dy(f){f=f|0,i[f>>2]=75148,G(f)}function cy(f){f=f|0,i[f>>2]=76444,G(f)}function iF(f){f=f|0,i[f>>2]=72424,G(f)}function rF(f){f=f|0,i[f>>2]=74312,G(f)}function eF(f){f=f|0,i[f>>2]=71384,G(f)}function AF(f){f=f|0,i[f>>2]=75196,G(f)}function fF(f){f=f|0,i[f>>2]=76520,G(f)}function kF(f){f=f|0,i[f>>2]=72464,G(f)}function nF(f){f=f|0,i[f>>2]=71424,G(f)}function tF(f){f=f|0,i[f>>2]=75236,G(f)}function oF(f){f=f|0,i[f>>2]=76596,G(f)}function lF(f){f=f|0,i[f>>2]=71464,G(f)}function uF(f){f=f|0,i[f>>2]=72576,G(f)}function sF(f){f=f|0,i[f>>2]=75312,G(f)}function hF(f){f=f|0,i[f>>2]=76672,G(f)}function wF(f){f=f|0,i[f>>2]=71504,G(f)}function _F(f){f=f|0,i[f>>2]=75388,G(f)}function vF(f){f=f|0,i[f>>2]=76748,G(f)}function mF(f){f=f|0,i[f>>2]=72616,G(f)}function BF(f){f=f|0,i[f>>2]=71544,G(f)}function ZF(f){f=f|0,i[f>>2]=75428,G(f)}function pF(f){f=f|0,i[f>>2]=71584,G(f)}function WF(f){f=f|0,i[f>>2]=72656,G(f)}function XF(f){f=f|0,i[f>>2]=75468,G(f)}function GF(f){f=f|0,i[f>>2]=71624,G(f)}function CF(f){f=f|0,i[f>>2]=75508,G(f)}function VF(f){f=f|0,i[f>>2]=71664,G(f)}function IF(f){f=f|0,i[f>>2]=72744,G(f)}function QF(f){f=f|0,i[f>>2]=70584,G(f)}function yF(f){f=f|0,i[f>>2]=75548,G(f)}function FF(f){f=f|0,i[f>>2]=71704,G(f)}function EF(f){f=f|0,i[f>>2]=70624,G(f)}function YF(f){f=f|0,i[f>>2]=72792,G(f)}function JF(f){f=f|0,i[f>>2]=75588,G(f)}function gF(f){f=f|0,i[f>>2]=71744,G(f)}function NF(f){f=f|0,i[f>>2]=70664,G(f)}function RF(f){f=f|0,i[f>>2]=71784,G(f)}function DF(f){f=f|0,i[f>>2]=73408,G(f)}function UF(f){f=f|0,i[f>>2]=75628,G(f)}function MF(f){f=f|0,i[f>>2]=70704,G(f)}function xF(f){f=f|0,i[f>>2]=72832,G(f)}function zF(f){f=f|0,i[f>>2]=71824,G(f)}function HF(f){f=f|0,i[f>>2]=73448,G(f)}function TF(f){f=f|0,i[f>>2]=75668,G(f)}function aF(f){f=f|0,i[f>>2]=70744,G(f)}function SF(f){f=f|0,i[f>>2]=72872,G(f)}function OF(f){f=f|0,i[f>>2]=70824,G(f)}function jF(f){f=f|0,i[f>>2]=71904,G(f)}function PF(f){f=f|0,i[f>>2]=73528,G(f)}function LF(f){f=f|0,i[f>>2]=75748,G(f)}function KF(f,e){f=f|0,e=e|0,yi(f,61556)}function qF(f){f=f|0,i[f>>2]=72912,G(f)}function $F(f){f=f|0,i[f>>2]=70864,G(f)}function bF(f){f=f|0,i[f>>2]=71944,G(f)}function dF(f){f=f|0,i[f>>2]=73568,G(f)}function cF(f){f=f|0,i[f>>2]=75788,G(f)}function iE(f){f=f|0,i[f>>2]=70904,G(f)}function rE(f){f=f|0,i[f>>2]=71984,G(f)}function eE(f){f=f|0,i[f>>2]=73608,G(f)}function AE(f){f=f|0,i[f>>2]=75864,G(f)}function fE(f){f=f|0,i[f>>2]=70944,G(f)}function kE(f){f=f|0,i[f>>2]=75940,G(f)}function nE(f){f=f|0,i[f>>2]=72024,G(f)}function tE(f){f=f|0,i[f>>2]=74072,G(f)}function oE(f){f=f|0,i[f>>2]=70984,G(f)}function lE(f){f=f|0,i[f>>2]=75980,G(f)}function uE(f){f=f|0,i[f>>2]=72064,G(f)}function sE(f){f=f|0,i[f>>2]=71024,G(f)}function hE(f){f=f|0,i[f>>2]=74112,G(f)}function wE(f){f=f|0,i[f>>2]=76020,G(f)}function _E(f){f=f|0,i[f>>2]=72104,G(f)}function vE(f){f=f|0,i[f>>2]=43652,G(f)}function mE(f){f=f|0,i[f>>2]=71064,G(f)}function BE(f){f=f|0,i[f>>2]=76060,G(f)}function ZE(f){f=f|0,i[f>>2]=72144,G(f)}function pE(f){f=f|0,i[f>>2]=71104,G(f)}function WE(f){f=f|0,i[f>>2]=76100,G(f)}function XE(f){f=f|0,i[f>>2]=43768,G(f)}function GE(f){f=f|0,i[f>>2]=72184,G(f)}function CE(f){f=f|0,i[f>>2]=71144,G(f)}function VE(f){f=f|0,i[f>>2]=76140,G(f)}function IE(f){f=f|0,i[f>>2]=72224,G(f)}function QE(f){f=f|0,i[f>>2]=43880,G(f)}function yE(f){f=f|0,i[f>>2]=71184,G(f)}function FE(f){f=f|0,i[f>>2]=76216,G(f)}function EE(f){f=f|0,i[f>>2]=72264,G(f)}function YE(f){f=f|0,i[f>>2]=73092,G(f)}function JE(f){f=f|0,i[f>>2]=71224,G(f)}function gE(f){f=f|0,i[f>>2]=76292,G(f)}function NE(f){f=f|0,i[f>>2]=72304,G(f)}function RE(f){f=f|0,i[f>>2]=71264,G(f)}function DE(f){f=f|0,i[f>>2]=76368,G(f)}function UE(f){f=f|0,i[f>>2]=72344,G(f)}function ME(f){f=f|0,i[f>>2]=71304,G(f)}function xE(f){f=f|0,i[f>>2]=72384,G(f)}function zE(f){f=f|0,i[f>>2]=70784,G(f)}function HE(f){f=f|0,i[f>>2]=71864,G(f)}function TE(f){f=f|0,i[f>>2]=73488,G(f)}function aE(f){f=f|0,i[f>>2]=75708,G(f)}function SE(f,e){f=f|0,e=e|0,yi(f,61536)}function Go(f,e){return f=f|0,e=e|0,e|0}function OE(f){f=f|0,P8(78316,i[19580])}function jE(f){f=f|0,P8(78328,i[19583])}function PE(f){f=f|0,P8(78340,i[19586])}function Co(f){return f=f|0,V[f|0]()|0}function LE(f){return f=f|0,Fe(f-8|0)|0}function c3(f,e){f=f|0,e=e|0,V[f|0](e)}function KE(f,e){f=f|0,e=e|0,G6(f,9104)}function qE(f,e){f=f|0,e=e|0,G6(f,9349)}function $E(f){f=f|0,Ie(78276,i[19570])}function bE(f){f=f|0,Xe(78288,i[19573])}function Vo(f,e){f=f|0,e=e|0,x7(f,1,45)}function Io(f,e){f=f|0,e=e|0,W7(f,1,45)}function dE(f){return f=f|0,z6(f-8|0)|0}function Je(f){return f=f|0,2147483647}function cE(f){return f=f|0,i[f+20>>2]}function iY(f){return f=f|0,i[f+12>>2]}function rY(f){f=f|0,I9(i[f>>2]),G(f)}function Qo(f,e,r){r&&F2(f,e,r<<2)}function eY(f){return f=f|0,1852009592}function yo(f,e){return(gi(f,e)|0)!=-1}function ge(f,e){return f=f|0,e=e|0,-1}function Fo(f){return f=f|0,i[f+8>>2]}function AY(f){return f=f|0,Xn(f,0)|0}function fY(f){return f=f|0,Xn(f,1)|0}function rf(f){return f=f|0,i[f+4>>2]}function kY(f){return f=f|0,Bn(f,0)|0}function nY(f){return f=f|0,Bn(f,1)|0}function Ne(f){return Z2(f+80|0)+80|0}function J2(f,e){return j9(f)^j9(e)^1}function g2(f,e){return O9(f)^O9(e)^1}function Eo(){G(i[23872]),i[23872]=0}function tY(f,e){return f=f|0,e=e|0,0}function oY(f){return f=f|0,l[f+8|0]}function lY(f){return f=f|0,l[f+9|0]}function uY(f,e,r){f=f|0,e=e|0,r=r|0}function Yo(f){return f=f|0,T0(f)|0}function E1(f){return Ct(i[f>>2]),f}function Y1(f){return pt(i[f>>2]),f}function J4(f,e){z1(f,i[f+16>>2]|e)}function Jo(f,e,r){r&&F2(f,e,r)}function y8(f){f=f|0,f&&G(f)}function sY(f){return f=f|0,13683}function hY(f){return f=f|0,73848}function wY(f){return f=f|0,73904}function _Y(f){return f=f|0,78464}function vY(f){return f=f|0,73744}function go(f){f=f|0,T0(f),G(f)}function mY(f){return f=f|0,4900}function BY(f){f=f|0,K0(f),G(f)}function ZY(f){f=f|0,$3(f),G(f)}function pY(f){return f=f|0,6180}function WY(f){return f=f|0,8382}function XY(f){f=f|0,I6(f),G(f)}function ef(f){f=f|0,Xt(f),G(f)}function GY(f){f=f|0,l[f+48|0]=0}function No(f,e,r){qr(f,e,r,0,0)}function CY(f){f=f|0,l1(100360)}function VY(f){f=f|0,z0(100376)}function IY(f){f=f|0,l1(100392)}function Re(f){return f=f|0,127}function t4(f){return f=f|0,f|0}function QY(f){f=f|0,l1(100312)}function yY(f){f=f|0,l1(100328)}function FY(f){f=f|0,z0(100344)}function EY(f){f=f|0,G(T0(f))}function YY(f){f=f|0,G(V7(f))}function Af(f){f=f|0,G(Ee(f))}function JY(f){f=f|0,G(Tt(f))}function gY(f){f=f|0,G(v7(f))}function ff(f){f=f|0,G(Ye(f))}function kf(f){f=f|0,G(Fe(f))}function NY(f){f=f|0,G(g7(f))}function nf(f){f=f|0,G(z6(f))}function RY(f){f=f|0,G(qt(f))}function DY(f){f=f|0,kf(f-8|0)}function Ro(f){f=f|0,G(P3(f))}function UY(f){f=f|0,G(Ao(f))}function MY(f){f=f|0,G(fo(f))}function Do(f){f=f|0,G(D3(f))}function Uo(f){f=f|0,G(g3(f))}function Mo(f){f=f|0,G(N3(f))}function xY(f){f=f|0,G(Ik(f))}function zY(f){f=f|0,G(B7(f))}function HY(f){f=f|0,G(K3(f))}function TY(f){f=f|0,nf(f-8|0)}function aY(f){f=f|0,G(t9(f))}function SY(f){f=f|0,G(Mn(f))}function xo(f){f=f|0,G(K0(f))}function OY(f){f=f|0,z0(78224)}function zo(f){f=f|0,G($3(f))}function jY(f){f=f|0,G(bn(f))}function PY(f){f=f|0,z0(78236)}function LY(f){f=f|0,G(A7(f))}function KY(f){f=f|0,G(e7(f))}function qY(f){f=f|0,G(I7(f))}function J1(f){return f=f|0,0}function Ho(f){return f=f|0,-1}function tf(f){return f=f|0,2}function $Y(f){return f=f|0,5}function q6(f){return f=f|0,1}function To(){return 17957376}function $6(f){return f=f|0,4}function of(f,e,r){e8(e,r,f)}function ao(f){xt(f,i[f>>2])}function De(f,e,r){ui(e,r,f)}function b6(f,e){f=f|0,e=e|0}function y0(){L3(4917),P()}function m0(f){f=f|0,G(f)}function c2(){L3(8538),P()}function bY(){return 16835}function Ue(f){B0(f,0,100)}function dY(){return 16615}function So(f){f=f|0,P()}function cY(){return 7829}function Oo(f,e){J4(f,e)}function iJ(){return 18}function u1(){Gs(),P()}function rJ(){return 1}function eJ(){return 2}function o4(){u1(),P()}function L8(f){f=f|0}function AJ(){b9()}function fJ(){Wt()}function kJ(){}K=s,E0(n1);var V=$([null,Xt,LG,cG,eC,Rt,QZ,xX,vV,EV,BI,Rt,hW,KX,t4,m0,NV,iC,aC,xC,t4,VC,SC,Hr,J1,bp,G1,Jw,GB,L8,rm,mB,xG,X7,G1,R2,BB,Iv,hp,Xp,bw,gB,Kw,wp,Gp,mw,FB,Uh,G1,Ai,q6,GY,iZ,gG,fZ,Vp,Jp,o_,eZ,kv,G1,Cm,vZ,xI,mm,A7,LY,ih,Sw,kW,xs,I7,qY,Fh,L_,mG,fw,G1,Ai,AB,aV,Om,G1,Ai,L6,G1,Nm,L6,G1,pv,NZ,YG,vm,V7,YY,ds,im,ZW,ch,JZ,UZ,aw,xB,Gw,G1,Wm,HZ,zp,G1,Uv,qZ,ap,G1,z_,RB,Oh,v7,gY,iw,Im,vW,Ts,fp,_p,Av,VB,Y_,G1,mv,RZ,Ep,G1,Xm,KZ,Sp,G1,Bv,gZ,Yp,G1,Ew,em,a_,G1,Aw,$w,_h,g7,NY,gw,IZ,Q_,kp,vp,$_,$Z,$m,G1,Ai,L6,np,$7,mn,yA,$7,M_,bh,GZ,VZ,Uw,f_,G1,Ai,L6,G1,Ai,Qw,Cp,Fp,nm,Kv,hQ,QF,m2,tY,m0,vQ,EF,m2,m0,WQ,NF,m2,m0,QQ,MF,m2,m0,YQ,aF,m2,m0,DQ,zE,m2,m0,UQ,OF,m2,m0,TQ,$F,m2,m0,jQ,iE,m2,m0,qQ,fE,m2,m0,cQ,oE,m2,m0,ey,sE,m2,m0,ty,mE,m2,m0,uy,pE,m2,m0,_y,CE,m2,m0,Zy,yE,m2,m0,Cy,JE,m2,m0,yy,RE,m2,m0,Jy,ME,m2,m0,Ry,by,m2,m0,aI,eF,m2,m0,PI,nF,m2,m0,qI,lF,m2,m0,cI,wF,m2,m0,AQ,BF,m2,m0,kQ,pF,m2,m0,oQ,GF,m2,m0,uQ,VF,m2,m0,_Q,FF,m2,m0,pQ,gF,m2,m0,GQ,RF,m2,m0,yQ,zF,m2,m0,JQ,HE,m2,m0,MQ,jF,m2,m0,aQ,bF,m2,m0,PQ,rE,m2,m0,bQ,nE,m2,m0,ry,uE,m2,m0,ky,_E,m2,m0,ly,ZE,m2,m0,wy,GE,m2,m0,my,IE,m2,m0,Xy,EE,m2,m0,Qy,NE,m2,m0,Yy,UE,m2,m0,gy,xE,m2,m0,HI,iF,m2,m0,jI,kF,m2,m0,XI,$I,uF,Yw,m0,eQ,mF,zW,m0,nQ,WF,v_,m0,sQ,IF,bX,m0,mQ,YF,gm,m0,CQ,xF,D2,m0,My,SF,m2,m0,HQ,qF,m2,m0,t4,$E,bE,DC,$C,rf,jm,yX,t4,m0,eY,N_,SW,_Z,ZZ,qw,oB,Ks,Gy,YE,D2,m0,t4,m0,J1,kw,UC,OG,m0,q6,Mh,et,lG,m0,tf,xh,et,uG,RC,OC,Sy,oh,LW,KW,m0,$6,yh,J1,sG,CC,HC,$Y,zs,jX,VQ,DF,D2,m0,FQ,HF,D2,m0,gQ,TE,D2,m0,xQ,PF,D2,m0,SQ,dF,D2,m0,LQ,eE,D2,m0,fB,FX,GX,Co,To,Co,hk,c3,G4,SZ,EX,tW,hZ,b3,TA,vC,WB,KG,xp,Hp,MG,Sh,c3,N6,b3,zt,Ht,Xo,c3,G4,vY,G4,hY,N6,wY,G4,QV,y8,uo,to,uo,to,qW,qV,XX,AW,Nk,OE,jE,PE,dQ,tE,R_,m0,Ay,hE,D2,m0,e7,KY,Ns,Ww,hh,TI,rF,m2,m0,t4,m0,tp,mp,Vh,qB,hw,G1,Gm,lW,Op,G1,km,HB,cB,op,Bp,Bm,_W,Xh,lp,Zp,Cv,$B,D_,up,pp,Qv,pZ,S_,B7,zY,uv,J_,rh,sp,Wp,Vv,bB,U_,G1,Ai,L6,Mn,SY,Hs,kh,Us,bn,jY,Rs,ym,Cw,G1,Vm,sW,cZ,aW,Dy,dy,D2,m0,SI,AF,D2,m0,LI,tF,D2,m0,t4,m0,Ym,$s,bI,sF,D2,m0,m0,wm,bs,iQ,_F,D2,m0,fQ,ZF,D2,m0,tQ,XF,D2,m0,lQ,CF,D2,m0,wQ,yF,D2,m0,BQ,JF,D2,m0,IQ,UF,D2,m0,EQ,TF,D2,m0,RQ,aE,D2,m0,zQ,LF,D2,m0,OQ,cF,D2,m0,m0,g_,Ss,KQ,AE,D2,m0,m0,P_,as,$Q,kE,D2,m0,iy,lE,D2,m0,fy,wE,D2,m0,oy,BE,D2,m0,sy,WE,D2,m0,vy,VE,D2,m0,m0,nv,qs,py,FE,D2,m0,m0,tv,Ps,Vy,gE,D2,m0,m0,ov,Zh,Fy,DE,D2,m0,m0,lv,uh,Uy,cy,D2,m0,m0,Fv,vh,OI,fF,D2,m0,m0,Ev,sh,KI,oF,D2,m0,m0,Yv,Ih,dI,hF,D2,m0,m0,Jv,mh,rQ,vF,D2,m0,m0,_v,th,m0,yv,gs,m0,Mv,Lh,m0,TC,eV,m0,Qm,zh,m0,Sv,Dh,m0,V_,Bh,m0,Wv,Eh,m0,ev,Hh,m0,rv,gh,m0,Tm,Qh,m0,Hm,Th,m0,E_,xw,m0,tB,ph,m0,wv,Rh,m0,hm,pw,m0,jv,jh,m0,Ov,Gv,sm,AJ,fJ,xy,aX,rY,TZ,nw,zI,cY,sC,kJ,DG,y8,a3,PG,a3,qG,a3,$G,_Y,a6,a6,a6,a6,a6,HG,b6,bG,TG,uY,L8,t4,m0,I_,pW,t4,So,u1,Ik,xY,JG,hV,ny,vE,wW,m0,hy,XE,lV,m0,By,QE,qp,m0,dp,SV,uC,hC,lC,bv,oC,nC,kC,qv,fC,AC,rC,$v,Dv,gv,Rv,OB,eh,zB,NC,gC,JC,om,YC,EC,FC,tm,yC,QC,IC,lm,Tv,zv,Hv,rB,Ah,dB,Mm,uB,wZ,aB,Sm,vB,LZ,oZ,CB,cp,jB,yp,js,NI,RI,CI,VI,JV,wh,oI,lI,rI,eI,kZ,SB,YB,CZ,jZ,WZ,JI,YI,Ls,fv,EI,FI,DI,UI,Gh,iI,cV,tI,nI,Ch,cv,aG,m0,Yh,GW,mW,gW,m0,iB,nW,m0,vv,WW,an,oV,pm,RX,J1,uI,Os,XG,$p,tZ,B3,K0,BY,b6,_o,Ft,at,J1,J1,KB,Ho,RG,ge,aZ,ge,Ee,Af,no,Bo,Ye,ff,oo,Zo,Fe,kf,LE,DY,sI,ZQ,$3,ZY,b6,_o,Ft,at,J1,J1,TB,Ho,NG,ge,DZ,ge,Ee,Af,no,Bo,Ye,ff,oo,Zo,K3,HY,dv,ZC,DW,Qp,Fm,I6,XY,bm,Em,Dm,lZ,p_,Xw,MW,cw,Yo,go,Yo,go,z6,nf,dE,TY,hI,Wy,D3,Do,wI,Iy,g3,Uo,_I,Ey,N3,Mo,vI,Ny,T0,EY,PV,xo,YX,AY,fY,xm,xo,ZG,l9,wX,cm,zo,JX,kY,nY,am,zo,pG,l9,hX,nB,DX,G,L8,L8,L8,L8,Pt,jC,PC,LC,KC,qC,bC,OY,QY,PY,yY,FY,CY,VY,IY,t9,aY,Ly,Tt,JY,iV,tG,rV,oG,Go,yG,kI,hG,qt,RY,Dw,ww,IW,ZX,J1,Ip,TV,Ao,UY,oY,lY,qy,KE,qE,fo,MY,Fo,iY,$y,SE,KF,t4,m0,m0,wC,TX,PX,LX,BV,eG,pV,AG,Go,QG,UV,nG,m0,Nt,Nt,O6,q6,q6,MX,q6,m0,tn,en,O6,J1,J1,Jn,$6,m0,tn,en,O6,J1,J1,Jn,$6,m0,En,nn,O6,J1,J1,Yn,$6,m0,En,nn,O6,J1,J1,Yn,$6,t4,m0,TW,uV,iG,t4,m0,PW,sV,dX,m0,Pm,W_,w_,X_,sn,sn,__,i_,r_,zw,k_,m0,Lm,m_,l_,B_,un,un,u_,e_,A_,Hw,t_,m0,NB,Rp,ep,Dp,Ap,O_,s_,Tp,m0,JB,gp,ip,Np,rp,j_,h_,Up,t4,m0,tf,UX,EW,iX,eX,kX,lh,rW,LB,fG,WV,GV,bV,dV,t4,m0,tf,XW,FW,AX,fX,nX,nh,Lp,DB,kG,XV,wV,mV,ZV,P3,Ro,EB,P3,Ro,fm,m0,Re,Re,U4,U4,U4,Vo,J1,j8,j8,m0,Re,Re,U4,U4,U4,Vo,J1,j8,j8,m0,Je,Je,U4,U4,U4,Io,J1,j8,j8,m0,Je,Je,U4,U4,U4,Io,J1,j8,j8,m0,G_,lw,m0,Z_,tw,m0,sw,Iw,m0,uw,Vw,m0,po,DV,b6,m0,po,pB,b6,t4,So,m0,mY,t4,m0,L8,L8,ko,m0,ko,m0,Kp,mC,Pp,CV,m0,_G,QB,EG,m0,ZB,F_,OW,m0,Tw,m0,sY,m0,WY,m0,pY,ef,rf,ef,ef]);function jo(){return C2.byteLength/65536|0}function nJ(f){f=f|0;var e=jo()|0,r=e+f|0;if(e<r&&r<65536){var A=new ArrayBuffer(m(r,65536)),k=new Int8Array(A);k.set(l),l=new Int8Array(A),X=new Int16Array(A),i=new Int32Array(A),s=new Uint8Array(A),Q=new Uint16Array(A),k0=new Uint32Array(A),Z0=new Float32Array(A),i0=new Float64Array(A),C2=A,K=s}return e}return{P:Object.create(Object.prototype,{grow:{value:nJ},buffer:{get:function(){return C2}}}),Q:Jh,R:V,S:l0,T:G4,U:Z2,V:cA,W:G,X:i3,Y:dA,Z:vG,_:Xv,$:pC,aa:zC,ba:IG,ca:WI,da:UG,ea:bY,fa:To,ga:rJ,ha:iJ,ia:eJ,ja:PZ,ka:p3,la:dw,ma:$k,na:y8,oa:cX,pa:FV,qa:NX,ra:VG,sa:q_,ta:Zm,ua:hk,va:G4,wa:$h,xa:qX,ya:$X,za:Nv,Aa:jw,Ba:Sn,Ca:IB,Da:Km,Ea:TA,Fa:Gn,Ga:gA,Ha:Xo,Ia:d3,Ja:OV,Ka:K_,La:Fw,Ma:fW,Na:um,Oa:rw,Pa:jt,Qa:jt,Ra:yw,Sa:zt,Ta:Ht,Ua:QW,Va:yW,Wa:FG,Xa:Ms,Ya:ew,Za:ay,_a:Ky,$a:fh,ab:GI,bb:y8,cb:zm,db:CG,eb:rX,fb:Um,gb:HX,hb:y8,ib:IA,jb:QA,kb:dZ,lb:Dr,mb:xV,nb:tV,ob:yV,pb:Ty,qb:WX,rb:CX,sb:av,tb:cC,ub:YV,vb:N6,wb:zy,xb:Hy,yb:so,zb:ho,Ab:WC,Bb:XC,Cb:kB,Db:ZI,Eb:pI,Fb:wo,Gb:Z3,Hb:T6,Ib:T6,Jb:$V,Kb:AI,Lb:Bw,Mb:hB,Nb:Ph,Ob:s7,Pb:uZ,Qb:yB,Rb:lX,Sb:tX,Tb:oX,Ub:uX,Vb:sB,Wb:YZ,Xb:_X,Yb:_B,Zb:XB,_b:xZ,$b:mX,ac:sZ,bc:eB,cc:gt,dc:m0,ec:LV,fc:rZ,gc:KV,hc:qm,ic:y8,jc:BX,kc:jW,lc:$W,mc:bW,nc:zG,oc:Qk,pc:eW,qc:Mp,rc:jp,sc:lo,tc:Oy,uc:vw,vc:NQ,wc:mI,xc:jy,yc:Wo,zc:d3,Ac:Wo,Bc:d3,Cc:lo,Dc:JW,Ec:Py,Fc:QX,Gc:AZ,Hc:BC,Ic:dW,Jc:cW,Kc:oW,Lc:jV,Mc:rf,Nc:Fo,Oc:k7,Pc:OZ,Qc:AV,Rc:VW,Sc:IX,Tc:UB,Uc:fV,Vc:kV,Wc:nV,Xc:GC,Yc:MZ,Zc:dm,_c:Am,$c:Rm,ad:sX,bd:gX,cd:y8,dd:qh,ed:Ds,fd:rG,gd:cs,hd:SG,id:Nh,jd:xW,kd:UW,ld:NW,md:RW,nd:jG,od:MI,pd:zV,qd:BW,rd:Jm,sd:fI,td:N6,ud:bZ,vd:HV,wd:Mw,xd:x_,yd:Zv,zd:sv,Ad:hv,Bd:Pw,Cd:Lw,Dd:C_,Ed:H_,Fd:Nw,Gd:iW,Hd:EZ,Id:MV,Jd:PB,Kd:xv,Ld:mZ,Md:b_,Nd:BZ,Od:d_,Pd:v9,Qd:v9,Rd:zn,Sd:zn,Td:In,Ud:In,Vd:wB,Wd:YW,Xd:lB,Yd:Kh,Zd:T_,_d:c_,$d:_m,ae:dh,be:Wh,ce:Pv,de:Lv,ee:iv,fe:BG,ge:Zw,he:Ow,ie:Rw,je:VX,ke:nZ,le:io,me:n_,ne:io,oe:yZ,pe:XZ,qe:ah,re:FZ,se:zZ,te:MB,ue:ow,ve:y8,we:uW,xe:CW,ye:SX,ze:zX,Ae:GG,Be:HW,Ce:_w,De:y_,Ee:y8,Fe:vX,Ge:pX,He:OX,Ie:dY,Je:b9,Ke:Wt,Le:gk,Me:m3,Ne:I9,Oe:dC,Pe:ct,Qe:XQ,Re:H9,Se:cE,Te:VV,Ue:IV,Ve:tC,We:U9,Xe:gI,Ye:QI,Ze:yI,_e:II,$e:tt,af:dG,bf:gV,cf:b3,df:RV,ef:_V,ff:MC,gf:_C,hf:WG,jf:wG}}return u4(T)}(N)},instantiate:function(F,N){return{then:function(M){var T=new Pi.Module(F);M({instance:new Pi.Instance(T,N)})}}},RuntimeError:Error};d6=[];var c6,p5=!1,qo,S1,A4,k8,Li,a2,j2,W5,X5;function G5(){var F=c6.buffer;O.HEAP8=S1=new Int8Array(F),O.HEAP16=k8=new Int16Array(F),O.HEAPU8=A4=new Uint8Array(F),O.HEAPU16=Li=new Uint16Array(F),O.HEAP32=a2=new Int32Array(F),O.HEAPU32=j2=new Uint32Array(F),O.HEAPF32=W5=new Float32Array(F),O.HEAPF64=X5=new Float64Array(F)}var C5=[],V5=[],I5=[],$o=!1;function bo(){if(O.preRun)for(typeof O.preRun=="function"&&(O.preRun=[O.preRun]);O.preRun.length;)rl(O.preRun.shift());Oe(C5)}function co(){$o=!0,!O.noFSInit&&!b.init.initialized&&b.init(),b.ignorePermissions=!1,Y8.init(),Oe(V5)}function il(){if(O.postRun)for(typeof O.postRun=="function"&&(O.postRun=[O.postRun]);O.postRun.length;)Al(O.postRun.shift());Oe(I5)}function rl(F){C5.unshift(F)}function el(F){V5.unshift(F)}function Al(F){I5.unshift(F)}var $8=0,Te=null,Ki=null;function wJ(F){return F}function ae(F){var N;$8++,(N=O.monitorRunDependencies)==null||N.call(O,$8)}function ir(F){var M;if($8--,(M=O.monitorRunDependencies)==null||M.call(O,$8),$8==0&&(Te!==null&&(clearInterval(Te),Te=null),Ki)){var N=Ki;Ki=null,N()}}function rr(F){var M;(M=O.onAbort)==null||M.call(O,F),F="Aborted("+F+")",ji(F),p5=!0,qo=1,F+=". Build with -sASSERTIONS for more info.";var N=new Pi.RuntimeError(F);throw E8(N),N}var fl="data:application/octet-stream;base64,",kl=F=>F.startsWith(fl),Se=F=>F.startsWith("file://");function nl(){var F="libheif.wasm";return kl(F)?F:Ko(F)}var er;function tl(F){if(F==er&&d6)return new Uint8Array(d6);if(Oi)return Oi(F);throw\'sync fetching of the wasm failed: you can preload it to Module["wasmBinary"] manually, or emcc.py will do that for you when generating HTML (but not JS)\'}function ol(F,N){var M,T=tl(F);M=new Pi.Module(T);var $=new Pi.Instance(M,N);return[$,M]}function ll(){return{a:ks}}function ul(){var F=ll();function N(T,$){return e0=T.exports,c6=e0.P,G5(),x5=e0.R,el(e0.Q),ir("wasm-instantiate"),e0}if(ae("wasm-instantiate"),O.instantiateWasm)try{return O.instantiateWasm(F,N)}catch(T){ji(`Module.instantiateWasm callback failed with error: ${T}`),E8(T)}er||(er=nl());var M=ol(er,F);return N(M[0])}var S2,O1,Oe=F=>{for(;F.length>0;)F.shift()(O)},_J=O.noExitRuntime||!0,Q5=typeof TextDecoder!="undefined"?new TextDecoder:void 0,mi=(F,N,M)=>{for(var T=N+M,$=N;F[$]&&!($>=T);)++$;if($-N>16&&F.buffer&&Q5)return Q5.decode(F.subarray(N,$));for(var K="";N<$;){var o0=F[N++];if(!(o0&128)){K+=String.fromCharCode(o0);continue}var s0=F[N++]&63;if((o0&224)==192){K+=String.fromCharCode((o0&31)<<6|s0);continue}var t0=F[N++]&63;if((o0&240)==224?o0=(o0&15)<<12|s0<<6|t0:o0=(o0&7)<<18|s0<<12|t0<<6|F[N++]&63,o0<65536)K+=String.fromCharCode(o0);else{var E0=o0-65536;K+=String.fromCharCode(55296|E0>>10,56320|E0&1023)}}return K},qi=(F,N)=>F?mi(A4,F,N):"",sl=(F,N,M,T)=>{rr(`Assertion failed: ${qi(F)}, at: `+[N?qi(N):"unknown filename",M,T?qi(T):"unknown function"])};class hl{constructor(N){this.excPtr=N,this.ptr=N-24}set_type(N){j2[this.ptr+4>>2]=N}get_type(){return j2[this.ptr+4>>2]}set_destructor(N){j2[this.ptr+8>>2]=N}get_destructor(){return j2[this.ptr+8>>2]}set_caught(N){N=N?1:0,S1[this.ptr+12]=N}get_caught(){return S1[this.ptr+12]!=0}set_rethrown(N){N=N?1:0,S1[this.ptr+13]=N}get_rethrown(){return S1[this.ptr+13]!=0}init(N,M){this.set_adjusted_ptr(0),this.set_type(N),this.set_destructor(M)}set_adjusted_ptr(N){j2[this.ptr+16>>2]=N}get_adjusted_ptr(){return j2[this.ptr+16>>2]}get_exception_ptr(){var N=ts(this.get_type());if(N)return j2[this.excPtr>>2];var M=this.get_adjusted_ptr();return M!==0?M:this.excPtr}}var y5=0,wl=0,_l=(F,N,M)=>{var T=new hl(F);throw T.init(N,M),y5=F,wl++,y5};function Ar(){var F=a2[+m4.varargs>>2];return m4.varargs+=4,F}var Bi=Ar,w1={isAbs:F=>F.charAt(0)==="/",splitPath:F=>{var N=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return N.exec(F).slice(1)},normalizeArray:(F,N)=>{for(var M=0,T=F.length-1;T>=0;T--){var $=F[T];$==="."?F.splice(T,1):$===".."?(F.splice(T,1),M++):M&&(F.splice(T,1),M--)}if(N)for(;M;M--)F.unshift("..");return F},normalize:F=>{var N=w1.isAbs(F),M=F.substr(-1)==="/";return F=w1.normalizeArray(F.split("/").filter(T=>!!T),!N).join("/"),!F&&!N&&(F="."),F&&M&&(F+="/"),(N?"/":"")+F},dirname:F=>{var N=w1.splitPath(F),M=N[0],T=N[1];return!M&&!T?".":(T&&(T=T.substr(0,T.length-1)),M+T)},basename:F=>{if(F==="/")return"/";F=w1.normalize(F),F=F.replace(/\\/$/,"");var N=F.lastIndexOf("/");return N===-1?F:F.substr(N+1)},join:(...F)=>w1.normalize(F.join("/")),join2:(F,N)=>w1.normalize(F+"/"+N)},vl=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return T=>crypto.getRandomValues(T);if(q8)try{var F=h5("crypto"),N=F.randomFillSync;if(N)return T=>F.randomFillSync(T);var M=F.randomBytes;return T=>(T.set(M(T.byteLength)),T)}catch(T){}rr("initRandomDevice")},F5=F=>(F5=vl())(F),n8={resolve:(...F)=>{for(var N="",M=!1,T=F.length-1;T>=-1&&!M;T--){var $=T>=0?F[T]:b.cwd();if(typeof $!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!$)return"";N=$+"/"+N,M=w1.isAbs($)}return N=w1.normalizeArray(N.split("/").filter(K=>!!K),!M).join("/"),(M?"/":"")+N||"."},relative:(F,N)=>{F=n8.resolve(F).substr(1),N=n8.resolve(N).substr(1);function M(E0){for(var R0=0;R0<E0.length&&E0[R0]==="";R0++);for(var e2=E0.length-1;e2>=0&&E0[e2]==="";e2--);return R0>e2?[]:E0.slice(R0,e2-R0+1)}for(var T=M(F.split("/")),$=M(N.split("/")),K=Math.min(T.length,$.length),o0=K,s0=0;s0<K;s0++)if(T[s0]!==$[s0]){o0=s0;break}for(var t0=[],s0=o0;s0<T.length;s0++)t0.push("..");return t0=t0.concat($.slice(o0)),t0.join("/")}},je=[],Pe=F=>{for(var N=0,M=0;M<F.length;++M){var T=F.charCodeAt(M);T<=127?N++:T<=2047?N+=2:T>=55296&&T<=57343?(N+=4,++M):N+=3}return N},Le=(F,N,M,T)=>{if(!(T>0))return 0;for(var $=M,K=M+T-1,o0=0;o0<F.length;++o0){var s0=F.charCodeAt(o0);if(s0>=55296&&s0<=57343){var t0=F.charCodeAt(++o0);s0=65536+((s0&1023)<<10)|t0&1023}if(s0<=127){if(M>=K)break;N[M++]=s0}else if(s0<=2047){if(M+1>=K)break;N[M++]=192|s0>>6,N[M++]=128|s0&63}else if(s0<=65535){if(M+2>=K)break;N[M++]=224|s0>>12,N[M++]=128|s0>>6&63,N[M++]=128|s0&63}else{if(M+3>=K)break;N[M++]=240|s0>>18,N[M++]=128|s0>>12&63,N[M++]=128|s0>>6&63,N[M++]=128|s0&63}}return N[M]=0,M-$};function E5(F,N,M){var T=M>0?M:Pe(F)+1,$=new Array(T),K=Le(F,$,0,$.length);return N&&($.length=K),$}var ml=()=>{if(!je.length){var F=null;if(q8){var N=256,M=Buffer.alloc(N),T=0,$=process.stdin.fd;try{T=ze.readSync($,M,0,N)}catch(K){if(K.toString().includes("EOF"))T=0;else throw K}T>0&&(F=M.slice(0,T).toString("utf-8"))}else typeof window!="undefined"&&typeof window.prompt=="function"&&(F=window.prompt("Input: "),F!==null&&(F+=`\n`));if(!F)return null;je=E5(F,!0)}return je.shift()},Y8={ttys:[],init(){},shutdown(){},register(F,N){Y8.ttys[F]={input:[],output:[],ops:N},b.registerDevice(F,Y8.stream_ops)},stream_ops:{open(F){var N=Y8.ttys[F.node.rdev];if(!N)throw new b.ErrnoError(43);F.tty=N,F.seekable=!1},close(F){F.tty.ops.fsync(F.tty)},fsync(F){F.tty.ops.fsync(F.tty)},read(F,N,M,T,$){if(!F.tty||!F.tty.ops.get_char)throw new b.ErrnoError(60);for(var K=0,o0=0;o0<T;o0++){var s0;try{s0=F.tty.ops.get_char(F.tty)}catch(t0){throw new b.ErrnoError(29)}if(s0===void 0&&K===0)throw new b.ErrnoError(6);if(s0==null)break;K++,N[M+o0]=s0}return K&&(F.node.timestamp=Date.now()),K},write(F,N,M,T,$){if(!F.tty||!F.tty.ops.put_char)throw new b.ErrnoError(60);try{for(var K=0;K<T;K++)F.tty.ops.put_char(F.tty,N[M+K])}catch(o0){throw new b.ErrnoError(29)}return T&&(F.node.timestamp=Date.now()),K}},default_tty_ops:{get_char(F){return ml()},put_char(F,N){N===null||N===10?(He(mi(F.output,0)),F.output=[]):N!=0&&F.output.push(N)},fsync(F){F.output&&F.output.length>0&&(He(mi(F.output,0)),F.output=[])},ioctl_tcgets(F){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(F,N,M){return 0},ioctl_tiocgwinsz(F){return[24,80]}},default_tty1_ops:{put_char(F,N){N===null||N===10?(ji(mi(F.output,0)),F.output=[]):N!=0&&F.output.push(N)},fsync(F){F.output&&F.output.length>0&&(ji(mi(F.output,0)),F.output=[])}}},Y5=F=>{rr()},X2={ops_table:null,mount(F){return X2.createNode(null,"/",16895,0)},createNode(F,N,M,T){if(b.isBlkdev(M)||b.isFIFO(M))throw new b.ErrnoError(63);X2.ops_table||(X2.ops_table={dir:{node:{getattr:X2.node_ops.getattr,setattr:X2.node_ops.setattr,lookup:X2.node_ops.lookup,mknod:X2.node_ops.mknod,rename:X2.node_ops.rename,unlink:X2.node_ops.unlink,rmdir:X2.node_ops.rmdir,readdir:X2.node_ops.readdir,symlink:X2.node_ops.symlink},stream:{llseek:X2.stream_ops.llseek}},file:{node:{getattr:X2.node_ops.getattr,setattr:X2.node_ops.setattr},stream:{llseek:X2.stream_ops.llseek,read:X2.stream_ops.read,write:X2.stream_ops.write,allocate:X2.stream_ops.allocate,mmap:X2.stream_ops.mmap,msync:X2.stream_ops.msync}},link:{node:{getattr:X2.node_ops.getattr,setattr:X2.node_ops.setattr,readlink:X2.node_ops.readlink},stream:{}},chrdev:{node:{getattr:X2.node_ops.getattr,setattr:X2.node_ops.setattr},stream:b.chrdev_stream_ops}});var $=b.createNode(F,N,M,T);return b.isDir($.mode)?($.node_ops=X2.ops_table.dir.node,$.stream_ops=X2.ops_table.dir.stream,$.contents={}):b.isFile($.mode)?($.node_ops=X2.ops_table.file.node,$.stream_ops=X2.ops_table.file.stream,$.usedBytes=0,$.contents=null):b.isLink($.mode)?($.node_ops=X2.ops_table.link.node,$.stream_ops=X2.ops_table.link.stream):b.isChrdev($.mode)&&($.node_ops=X2.ops_table.chrdev.node,$.stream_ops=X2.ops_table.chrdev.stream),$.timestamp=Date.now(),F&&(F.contents[N]=$,F.timestamp=$.timestamp),$},getFileDataAsTypedArray(F){return F.contents?F.contents.subarray?F.contents.subarray(0,F.usedBytes):new Uint8Array(F.contents):new Uint8Array(0)},expandFileStorage(F,N){var M=F.contents?F.contents.length:0;if(!(M>=N)){var T=1024*1024;N=Math.max(N,M*(M<T?2:1.125)>>>0),M!=0&&(N=Math.max(N,256));var $=F.contents;F.contents=new Uint8Array(N),F.usedBytes>0&&F.contents.set($.subarray(0,F.usedBytes),0)}},resizeFileStorage(F,N){if(F.usedBytes!=N)if(N==0)F.contents=null,F.usedBytes=0;else{var M=F.contents;F.contents=new Uint8Array(N),M&&F.contents.set(M.subarray(0,Math.min(N,F.usedBytes))),F.usedBytes=N}},node_ops:{getattr(F){var N={};return N.dev=b.isChrdev(F.mode)?F.id:1,N.ino=F.id,N.mode=F.mode,N.nlink=1,N.uid=0,N.gid=0,N.rdev=F.rdev,b.isDir(F.mode)?N.size=4096:b.isFile(F.mode)?N.size=F.usedBytes:b.isLink(F.mode)?N.size=F.link.length:N.size=0,N.atime=new Date(F.timestamp),N.mtime=new Date(F.timestamp),N.ctime=new Date(F.timestamp),N.blksize=4096,N.blocks=Math.ceil(N.size/N.blksize),N},setattr(F,N){N.mode!==void 0&&(F.mode=N.mode),N.timestamp!==void 0&&(F.timestamp=N.timestamp),N.size!==void 0&&X2.resizeFileStorage(F,N.size)},lookup(F,N){throw b.genericErrors[44]},mknod(F,N,M,T){return X2.createNode(F,N,M,T)},rename(F,N,M){if(b.isDir(F.mode)){var T;try{T=b.lookupNode(N,M)}catch(K){}if(T)for(var $ in T.contents)throw new b.ErrnoError(55)}delete F.parent.contents[F.name],F.parent.timestamp=Date.now(),F.name=M,N.contents[M]=F,N.timestamp=F.parent.timestamp},unlink(F,N){delete F.contents[N],F.timestamp=Date.now()},rmdir(F,N){var M=b.lookupNode(F,N);for(var T in M.contents)throw new b.ErrnoError(55);delete F.contents[N],F.timestamp=Date.now()},readdir(F){var N=[".",".."];for(var M of Object.keys(F.contents))N.push(M);return N},symlink(F,N,M){var T=X2.createNode(F,N,41471,0);return T.link=M,T},readlink(F){if(!b.isLink(F.mode))throw new b.ErrnoError(28);return F.link}},stream_ops:{read(F,N,M,T,$){var K=F.node.contents;if($>=F.node.usedBytes)return 0;var o0=Math.min(F.node.usedBytes-$,T);if(o0>8&&K.subarray)N.set(K.subarray($,$+o0),M);else for(var s0=0;s0<o0;s0++)N[M+s0]=K[$+s0];return o0},write(F,N,M,T,$,K){if(N.buffer===S1.buffer&&(K=!1),!T)return 0;var o0=F.node;if(o0.timestamp=Date.now(),N.subarray&&(!o0.contents||o0.contents.subarray)){if(K)return o0.contents=N.subarray(M,M+T),o0.usedBytes=T,T;if(o0.usedBytes===0&&$===0)return o0.contents=N.slice(M,M+T),o0.usedBytes=T,T;if($+T<=o0.usedBytes)return o0.contents.set(N.subarray(M,M+T),$),T}if(X2.expandFileStorage(o0,$+T),o0.contents.subarray&&N.subarray)o0.contents.set(N.subarray(M,M+T),$);else for(var s0=0;s0<T;s0++)o0.contents[$+s0]=N[M+s0];return o0.usedBytes=Math.max(o0.usedBytes,$+T),T},llseek(F,N,M){var T=N;if(M===1?T+=F.position:M===2&&b.isFile(F.node.mode)&&(T+=F.node.usedBytes),T<0)throw new b.ErrnoError(28);return T},allocate(F,N,M){X2.expandFileStorage(F.node,N+M),F.node.usedBytes=Math.max(F.node.usedBytes,N+M)},mmap(F,N,M,T,$){if(!b.isFile(F.node.mode))throw new b.ErrnoError(43);var K,o0,s0=F.node.contents;if(!($&2)&&s0.buffer===S1.buffer)o0=!1,K=s0.byteOffset;else{if((M>0||M+N<s0.length)&&(s0.subarray?s0=s0.subarray(M,M+N):s0=Array.prototype.slice.call(s0,M,M+N)),o0=!0,K=Y5(N),!K)throw new b.ErrnoError(48);S1.set(s0,K)}return{ptr:K,allocated:o0}},msync(F,N,M,T,$){return X2.stream_ops.write(F,N,0,T,M,!1),0}}},Bl=(F,N,M,T)=>{var $=T?"":`al ${F}`;xe(F).then(K=>{N(new Uint8Array(K)),$&&ir($)},K=>{if(M)M();else throw`Loading data file "${F}" failed.`}),$&&ae($)},Zl=(F,N,M,T,$,K)=>{b.createDataFile(F,N,M,T,$,K)},pl=O.preloadPlugins||[],Wl=(F,N,M,T)=>{typeof Browser!="undefined"&&Browser.init();var $=!1;return pl.forEach(K=>{$||K.canHandle(N)&&(K.handle(F,N,M,T),$=!0)}),$},Xl=(F,N,M,T,$,K,o0,s0,t0,E0)=>{var R0=N?n8.resolve(w1.join2(F,N)):F,e2=`cp ${R0}`;function u2(k2){function j0(N2){E0==null||E0(),s0||Zl(F,N,N2,T,$,t0),K==null||K(),ir(e2)}Wl(k2,R0,j0,()=>{o0==null||o0(),ir(e2)})||j0(k2)}ae(e2),typeof M=="string"?Bl(M,u2,o0):u2(M)},Gl=F=>{var N={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},M=N[F];if(typeof M=="undefined")throw new Error(`Unknown file open mode: ${F}`);return M},Ke=(F,N)=>{var M=0;return F&&(M|=365),N&&(M|=146),M},b={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(F){this.name="ErrnoError",this.errno=F}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(F){this.node=F}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(F){this.shared.flags=F}get position(){return this.shared.position}set position(F){this.shared.position=F}},FSNode:class{constructor(F,N,M,T){F||(F=this),this.parent=F,this.mount=F.mount,this.mounted=null,this.id=b.nextInode++,this.name=N,this.mode=M,this.node_ops={},this.stream_ops={},this.rdev=T,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(F){F?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(F){F?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return b.isDir(this.mode)}get isDevice(){return b.isChrdev(this.mode)}},lookupPath(F,N={}){if(F=n8.resolve(F),!F)return{path:"",node:null};var M={follow_mount:!0,recurse_count:0};if(N=Object.assign(M,N),N.recurse_count>8)throw new b.ErrnoError(32);for(var T=F.split("/").filter(e2=>!!e2),$=b.root,K="/",o0=0;o0<T.length;o0++){var s0=o0===T.length-1;if(s0&&N.parent)break;if($=b.lookupNode($,T[o0]),K=w1.join2(K,T[o0]),b.isMountpoint($)&&(!s0||s0&&N.follow_mount)&&($=$.mounted.root),!s0||N.follow)for(var t0=0;b.isLink($.mode);){var E0=b.readlink(K);K=n8.resolve(w1.dirname(K),E0);var R0=b.lookupPath(K,{recurse_count:N.recurse_count+1});if($=R0.node,t0++>40)throw new b.ErrnoError(32)}}return{path:K,node:$}},getPath(F){for(var N;;){if(b.isRoot(F)){var M=F.mount.mountpoint;return N?M[M.length-1]!=="/"?`${M}/${N}`:M+N:M}N=N?`${F.name}/${N}`:F.name,F=F.parent}},hashName(F,N){for(var M=0,T=0;T<N.length;T++)M=(M<<5)-M+N.charCodeAt(T)|0;return(F+M>>>0)%b.nameTable.length},hashAddNode(F){var N=b.hashName(F.parent.id,F.name);F.name_next=b.nameTable[N],b.nameTable[N]=F},hashRemoveNode(F){var N=b.hashName(F.parent.id,F.name);if(b.nameTable[N]===F)b.nameTable[N]=F.name_next;else for(var M=b.nameTable[N];M;){if(M.name_next===F){M.name_next=F.name_next;break}M=M.name_next}},lookupNode(F,N){var M=b.mayLookup(F);if(M)throw new b.ErrnoError(M);for(var T=b.hashName(F.id,N),$=b.nameTable[T];$;$=$.name_next){var K=$.name;if($.parent.id===F.id&&K===N)return $}return b.lookup(F,N)},createNode(F,N,M,T){var $=new b.FSNode(F,N,M,T);return b.hashAddNode($),$},destroyNode(F){b.hashRemoveNode(F)},isRoot(F){return F===F.parent},isMountpoint(F){return!!F.mounted},isFile(F){return(F&61440)===32768},isDir(F){return(F&61440)===16384},isLink(F){return(F&61440)===40960},isChrdev(F){return(F&61440)===8192},isBlkdev(F){return(F&61440)===24576},isFIFO(F){return(F&61440)===4096},isSocket(F){return(F&49152)===49152},flagsToPermissionString(F){var N=["r","w","rw"][F&3];return F&512&&(N+="w"),N},nodePermissions(F,N){return b.ignorePermissions?0:N.includes("r")&&!(F.mode&292)||N.includes("w")&&!(F.mode&146)||N.includes("x")&&!(F.mode&73)?2:0},mayLookup(F){if(!b.isDir(F.mode))return 54;var N=b.nodePermissions(F,"x");return N||(F.node_ops.lookup?0:2)},mayCreate(F,N){try{var M=b.lookupNode(F,N);return 20}catch(T){}return b.nodePermissions(F,"wx")},mayDelete(F,N,M){var T;try{T=b.lookupNode(F,N)}catch(K){return K.errno}var $=b.nodePermissions(F,"wx");if($)return $;if(M){if(!b.isDir(T.mode))return 54;if(b.isRoot(T)||b.getPath(T)===b.cwd())return 10}else if(b.isDir(T.mode))return 31;return 0},mayOpen(F,N){return F?b.isLink(F.mode)?32:b.isDir(F.mode)&&(b.flagsToPermissionString(N)!=="r"||N&512)?31:b.nodePermissions(F,b.flagsToPermissionString(N)):44},MAX_OPEN_FDS:4096,nextfd(){for(var F=0;F<=b.MAX_OPEN_FDS;F++)if(!b.streams[F])return F;throw new b.ErrnoError(33)},getStreamChecked(F){var N=b.getStream(F);if(!N)throw new b.ErrnoError(8);return N},getStream:F=>b.streams[F],createStream(F,N=-1){return F=Object.assign(new b.FSStream,F),N==-1&&(N=b.nextfd()),F.fd=N,b.streams[N]=F,F},closeStream(F){b.streams[F]=null},dupStream(F,N=-1){var T,$;var M=b.createStream(F,N);return($=(T=M.stream_ops)==null?void 0:T.dup)==null||$.call(T,M),M},chrdev_stream_ops:{open(F){var M,T;var N=b.getDevice(F.node.rdev);F.stream_ops=N.stream_ops,(T=(M=F.stream_ops).open)==null||T.call(M,F)},llseek(){throw new b.ErrnoError(70)}},major:F=>F>>8,minor:F=>F&255,makedev:(F,N)=>F<<8|N,registerDevice(F,N){b.devices[F]={stream_ops:N}},getDevice:F=>b.devices[F],getMounts(F){for(var N=[],M=[F];M.length;){var T=M.pop();N.push(T),M.push(...T.mounts)}return N},syncfs(F,N){typeof F=="function"&&(N=F,F=!1),b.syncFSRequests++,b.syncFSRequests>1&&ji(`warning: ${b.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var M=b.getMounts(b.root.mount),T=0;function $(o0){return b.syncFSRequests--,N(o0)}function K(o0){if(o0)return K.errored?void 0:(K.errored=!0,$(o0));++T>=M.length&&$(null)}M.forEach(o0=>{if(!o0.type.syncfs)return K(null);o0.type.syncfs(o0,F,K)})},mount(F,N,M){var T=M==="/",$=!M,K;if(T&&b.root)throw new b.ErrnoError(10);if(!T&&!$){var o0=b.lookupPath(M,{follow_mount:!1});if(M=o0.path,K=o0.node,b.isMountpoint(K))throw new b.ErrnoError(10);if(!b.isDir(K.mode))throw new b.ErrnoError(54)}var s0={type:F,opts:N,mountpoint:M,mounts:[]},t0=F.mount(s0);return t0.mount=s0,s0.root=t0,T?b.root=t0:K&&(K.mounted=s0,K.mount&&K.mount.mounts.push(s0)),t0},unmount(F){var N=b.lookupPath(F,{follow_mount:!1});if(!b.isMountpoint(N.node))throw new b.ErrnoError(28);var M=N.node,T=M.mounted,$=b.getMounts(T);Object.keys(b.nameTable).forEach(o0=>{for(var s0=b.nameTable[o0];s0;){var t0=s0.name_next;$.includes(s0.mount)&&b.destroyNode(s0),s0=t0}}),M.mounted=null;var K=M.mount.mounts.indexOf(T);M.mount.mounts.splice(K,1)},lookup(F,N){return F.node_ops.lookup(F,N)},mknod(F,N,M){var T=b.lookupPath(F,{parent:!0}),$=T.node,K=w1.basename(F);if(!K||K==="."||K==="..")throw new b.ErrnoError(28);var o0=b.mayCreate($,K);if(o0)throw new b.ErrnoError(o0);if(!$.node_ops.mknod)throw new b.ErrnoError(63);return $.node_ops.mknod($,K,N,M)},create(F,N){return N=N!==void 0?N:438,N&=4095,N|=32768,b.mknod(F,N,0)},mkdir(F,N){return N=N!==void 0?N:511,N&=1023,N|=16384,b.mknod(F,N,0)},mkdirTree(F,N){for(var M=F.split("/"),T="",$=0;$<M.length;++$)if(M[$]){T+="/"+M[$];try{b.mkdir(T,N)}catch(K){if(K.errno!=20)throw K}}},mkdev(F,N,M){return typeof M=="undefined"&&(M=N,N=438),N|=8192,b.mknod(F,N,M)},symlink(F,N){if(!n8.resolve(F))throw new b.ErrnoError(44);var M=b.lookupPath(N,{parent:!0}),T=M.node;if(!T)throw new b.ErrnoError(44);var $=w1.basename(N),K=b.mayCreate(T,$);if(K)throw new b.ErrnoError(K);if(!T.node_ops.symlink)throw new b.ErrnoError(63);return T.node_ops.symlink(T,$,F)},rename(F,N){var M=w1.dirname(F),T=w1.dirname(N),$=w1.basename(F),K=w1.basename(N),o0,s0,t0;if(o0=b.lookupPath(F,{parent:!0}),s0=o0.node,o0=b.lookupPath(N,{parent:!0}),t0=o0.node,!s0||!t0)throw new b.ErrnoError(44);if(s0.mount!==t0.mount)throw new b.ErrnoError(75);var E0=b.lookupNode(s0,$),R0=n8.relative(F,T);if(R0.charAt(0)!==".")throw new b.ErrnoError(28);if(R0=n8.relative(N,M),R0.charAt(0)!==".")throw new b.ErrnoError(55);var e2;try{e2=b.lookupNode(t0,K)}catch(j0){}if(E0!==e2){var u2=b.isDir(E0.mode),k2=b.mayDelete(s0,$,u2);if(k2)throw new b.ErrnoError(k2);if(k2=e2?b.mayDelete(t0,K,u2):b.mayCreate(t0,K),k2)throw new b.ErrnoError(k2);if(!s0.node_ops.rename)throw new b.ErrnoError(63);if(b.isMountpoint(E0)||e2&&b.isMountpoint(e2))throw new b.ErrnoError(10);if(t0!==s0&&(k2=b.nodePermissions(s0,"w"),k2))throw new b.ErrnoError(k2);b.hashRemoveNode(E0);try{s0.node_ops.rename(E0,t0,K),E0.parent=t0}catch(j0){throw j0}finally{b.hashAddNode(E0)}}},rmdir(F){var N=b.lookupPath(F,{parent:!0}),M=N.node,T=w1.basename(F),$=b.lookupNode(M,T),K=b.mayDelete(M,T,!0);if(K)throw new b.ErrnoError(K);if(!M.node_ops.rmdir)throw new b.ErrnoError(63);if(b.isMountpoint($))throw new b.ErrnoError(10);M.node_ops.rmdir(M,T),b.destroyNode($)},readdir(F){var N=b.lookupPath(F,{follow:!0}),M=N.node;if(!M.node_ops.readdir)throw new b.ErrnoError(54);return M.node_ops.readdir(M)},unlink(F){var N=b.lookupPath(F,{parent:!0}),M=N.node;if(!M)throw new b.ErrnoError(44);var T=w1.basename(F),$=b.lookupNode(M,T),K=b.mayDelete(M,T,!1);if(K)throw new b.ErrnoError(K);if(!M.node_ops.unlink)throw new b.ErrnoError(63);if(b.isMountpoint($))throw new b.ErrnoError(10);M.node_ops.unlink(M,T),b.destroyNode($)},readlink(F){var N=b.lookupPath(F),M=N.node;if(!M)throw new b.ErrnoError(44);if(!M.node_ops.readlink)throw new b.ErrnoError(28);return n8.resolve(b.getPath(M.parent),M.node_ops.readlink(M))},stat(F,N){var M=b.lookupPath(F,{follow:!N}),T=M.node;if(!T)throw new b.ErrnoError(44);if(!T.node_ops.getattr)throw new b.ErrnoError(63);return T.node_ops.getattr(T)},lstat(F){return b.stat(F,!0)},chmod(F,N,M){var T;if(typeof F=="string"){var $=b.lookupPath(F,{follow:!M});T=$.node}else T=F;if(!T.node_ops.setattr)throw new b.ErrnoError(63);T.node_ops.setattr(T,{mode:N&4095|T.mode&-4096,timestamp:Date.now()})},lchmod(F,N){b.chmod(F,N,!0)},fchmod(F,N){var M=b.getStreamChecked(F);b.chmod(M.node,N)},chown(F,N,M,T){var $;if(typeof F=="string"){var K=b.lookupPath(F,{follow:!T});$=K.node}else $=F;if(!$.node_ops.setattr)throw new b.ErrnoError(63);$.node_ops.setattr($,{timestamp:Date.now()})},lchown(F,N,M){b.chown(F,N,M,!0)},fchown(F,N,M){var T=b.getStreamChecked(F);b.chown(T.node,N,M)},truncate(F,N){if(N<0)throw new b.ErrnoError(28);var M;if(typeof F=="string"){var T=b.lookupPath(F,{follow:!0});M=T.node}else M=F;if(!M.node_ops.setattr)throw new b.ErrnoError(63);if(b.isDir(M.mode))throw new b.ErrnoError(31);if(!b.isFile(M.mode))throw new b.ErrnoError(28);var $=b.nodePermissions(M,"w");if($)throw new b.ErrnoError($);M.node_ops.setattr(M,{size:N,timestamp:Date.now()})},ftruncate(F,N){var M=b.getStreamChecked(F);if(!(M.flags&2097155))throw new b.ErrnoError(28);b.truncate(M.node,N)},utime(F,N,M){var T=b.lookupPath(F,{follow:!0}),$=T.node;$.node_ops.setattr($,{timestamp:Math.max(N,M)})},open(F,N,M){if(F==="")throw new b.ErrnoError(44);N=typeof N=="string"?Gl(N):N,N&64?(M=typeof M=="undefined"?438:M,M=M&4095|32768):M=0;var T;if(typeof F=="object")T=F;else{F=w1.normalize(F);try{var $=b.lookupPath(F,{follow:!(N&131072)});T=$.node}catch(t0){}}var K=!1;if(N&64)if(T){if(N&128)throw new b.ErrnoError(20)}else T=b.mknod(F,M,0),K=!0;if(!T)throw new b.ErrnoError(44);if(b.isChrdev(T.mode)&&(N&=-513),N&65536&&!b.isDir(T.mode))throw new b.ErrnoError(54);if(!K){var o0=b.mayOpen(T,N);if(o0)throw new b.ErrnoError(o0)}N&512&&!K&&b.truncate(T,0),N&=-131713;var s0=b.createStream({node:T,path:b.getPath(T),flags:N,seekable:!0,position:0,stream_ops:T.stream_ops,ungotten:[],error:!1});return s0.stream_ops.open&&s0.stream_ops.open(s0),O.logReadFiles&&!(N&1)&&(b.readFiles||(b.readFiles={}),F in b.readFiles||(b.readFiles[F]=1)),s0},close(F){if(b.isClosed(F))throw new b.ErrnoError(8);F.getdents&&(F.getdents=null);try{F.stream_ops.close&&F.stream_ops.close(F)}catch(N){throw N}finally{b.closeStream(F.fd)}F.fd=null},isClosed(F){return F.fd===null},llseek(F,N,M){if(b.isClosed(F))throw new b.ErrnoError(8);if(!F.seekable||!F.stream_ops.llseek)throw new b.ErrnoError(70);if(M!=0&&M!=1&&M!=2)throw new b.ErrnoError(28);return F.position=F.stream_ops.llseek(F,N,M),F.ungotten=[],F.position},read(F,N,M,T,$){if(T<0||$<0)throw new b.ErrnoError(28);if(b.isClosed(F))throw new b.ErrnoError(8);if((F.flags&2097155)===1)throw new b.ErrnoError(8);if(b.isDir(F.node.mode))throw new b.ErrnoError(31);if(!F.stream_ops.read)throw new b.ErrnoError(28);var K=typeof $!="undefined";if(!K)$=F.position;else if(!F.seekable)throw new b.ErrnoError(70);var o0=F.stream_ops.read(F,N,M,T,$);return K||(F.position+=o0),o0},write(F,N,M,T,$,K){if(T<0||$<0)throw new b.ErrnoError(28);if(b.isClosed(F))throw new b.ErrnoError(8);if(!(F.flags&2097155))throw new b.ErrnoError(8);if(b.isDir(F.node.mode))throw new b.ErrnoError(31);if(!F.stream_ops.write)throw new b.ErrnoError(28);F.seekable&&F.flags&1024&&b.llseek(F,0,2);var o0=typeof $!="undefined";if(!o0)$=F.position;else if(!F.seekable)throw new b.ErrnoError(70);var s0=F.stream_ops.write(F,N,M,T,$,K);return o0||(F.position+=s0),s0},allocate(F,N,M){if(b.isClosed(F))throw new b.ErrnoError(8);if(N<0||M<=0)throw new b.ErrnoError(28);if(!(F.flags&2097155))throw new b.ErrnoError(8);if(!b.isFile(F.node.mode)&&!b.isDir(F.node.mode))throw new b.ErrnoError(43);if(!F.stream_ops.allocate)throw new b.ErrnoError(138);F.stream_ops.allocate(F,N,M)},mmap(F,N,M,T,$){if(T&2&&!($&2)&&(F.flags&2097155)!==2)throw new b.ErrnoError(2);if((F.flags&2097155)===1)throw new b.ErrnoError(2);if(!F.stream_ops.mmap)throw new b.ErrnoError(43);return F.stream_ops.mmap(F,N,M,T,$)},msync(F,N,M,T,$){return F.stream_ops.msync?F.stream_ops.msync(F,N,M,T,$):0},ioctl(F,N,M){if(!F.stream_ops.ioctl)throw new b.ErrnoError(59);return F.stream_ops.ioctl(F,N,M)},readFile(F,N={}){if(N.flags=N.flags||0,N.encoding=N.encoding||"binary",N.encoding!=="utf8"&&N.encoding!=="binary")throw new Error(`Invalid encoding type "${N.encoding}"`);var M,T=b.open(F,N.flags),$=b.stat(F),K=$.size,o0=new Uint8Array(K);return b.read(T,o0,0,K,0),N.encoding==="utf8"?M=mi(o0,0):N.encoding==="binary"&&(M=o0),b.close(T),M},writeFile(F,N,M={}){M.flags=M.flags||577;var T=b.open(F,M.flags,M.mode);if(typeof N=="string"){var $=new Uint8Array(Pe(N)+1),K=Le(N,$,0,$.length);b.write(T,$,0,K,void 0,M.canOwn)}else if(ArrayBuffer.isView(N))b.write(T,N,0,N.byteLength,void 0,M.canOwn);else throw new Error("Unsupported data type");b.close(T)},cwd:()=>b.currentPath,chdir(F){var N=b.lookupPath(F,{follow:!0});if(N.node===null)throw new b.ErrnoError(44);if(!b.isDir(N.node.mode))throw new b.ErrnoError(54);var M=b.nodePermissions(N.node,"x");if(M)throw new b.ErrnoError(M);b.currentPath=N.path},createDefaultDirectories(){b.mkdir("/tmp"),b.mkdir("/home"),b.mkdir("/home/web_user")},createDefaultDevices(){b.mkdir("/dev"),b.registerDevice(b.makedev(1,3),{read:()=>0,write:(T,$,K,o0,s0)=>o0}),b.mkdev("/dev/null",b.makedev(1,3)),Y8.register(b.makedev(5,0),Y8.default_tty_ops),Y8.register(b.makedev(6,0),Y8.default_tty1_ops),b.mkdev("/dev/tty",b.makedev(5,0)),b.mkdev("/dev/tty1",b.makedev(6,0));var F=new Uint8Array(1024),N=0,M=()=>(N===0&&(N=F5(F).byteLength),F[--N]);b.createDevice("/dev","random",M),b.createDevice("/dev","urandom",M),b.mkdir("/dev/shm"),b.mkdir("/dev/shm/tmp")},createSpecialDirectories(){b.mkdir("/proc");var F=b.mkdir("/proc/self");b.mkdir("/proc/self/fd"),b.mount({mount(){var N=b.createNode(F,"fd",16895,73);return N.node_ops={lookup(M,T){var $=+T,K=b.getStreamChecked($),o0={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>K.path}};return o0.parent=o0,o0}},N}},{},"/proc/self/fd")},createStandardStreams(){O.stdin?b.createDevice("/dev","stdin",O.stdin):b.symlink("/dev/tty","/dev/stdin"),O.stdout?b.createDevice("/dev","stdout",null,O.stdout):b.symlink("/dev/tty","/dev/stdout"),O.stderr?b.createDevice("/dev","stderr",null,O.stderr):b.symlink("/dev/tty1","/dev/stderr");var F=b.open("/dev/stdin",0),N=b.open("/dev/stdout",1),M=b.open("/dev/stderr",1)},staticInit(){[44].forEach(F=>{b.genericErrors[F]=new b.ErrnoError(F),b.genericErrors[F].stack="<generic error, no stack>"}),b.nameTable=new Array(4096),b.mount(X2,{},"/"),b.createDefaultDirectories(),b.createDefaultDevices(),b.createSpecialDirectories(),b.filesystems={MEMFS:X2}},init(F,N,M){b.init.initialized=!0,O.stdin=F||O.stdin,O.stdout=N||O.stdout,O.stderr=M||O.stderr,b.createStandardStreams()},quit(){b.init.initialized=!1;for(var F=0;F<b.streams.length;F++){var N=b.streams[F];N&&b.close(N)}},findObject(F,N){var M=b.analyzePath(F,N);return M.exists?M.object:null},analyzePath(F,N){try{var M=b.lookupPath(F,{follow:!N});F=M.path}catch($){}var T={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var M=b.lookupPath(F,{parent:!0});T.parentExists=!0,T.parentPath=M.path,T.parentObject=M.node,T.name=w1.basename(F),M=b.lookupPath(F,{follow:!N}),T.exists=!0,T.path=M.path,T.object=M.node,T.name=M.node.name,T.isRoot=M.path==="/"}catch($){T.error=$.errno}return T},createPath(F,N,M,T){F=typeof F=="string"?F:b.getPath(F);for(var $=N.split("/").reverse();$.length;){var K=$.pop();if(K){var o0=w1.join2(F,K);try{b.mkdir(o0)}catch(s0){}F=o0}}return o0},createFile(F,N,M,T,$){var K=w1.join2(typeof F=="string"?F:b.getPath(F),N),o0=Ke(T,$);return b.create(K,o0)},createDataFile(F,N,M,T,$,K){var o0=N;F&&(F=typeof F=="string"?F:b.getPath(F),o0=N?w1.join2(F,N):F);var s0=Ke(T,$),t0=b.create(o0,s0);if(M){if(typeof M=="string"){for(var E0=new Array(M.length),R0=0,e2=M.length;R0<e2;++R0)E0[R0]=M.charCodeAt(R0);M=E0}b.chmod(t0,s0|146);var u2=b.open(t0,577);b.write(u2,M,0,M.length,0,K),b.close(u2),b.chmod(t0,s0)}},createDevice(F,N,M,T){var $=w1.join2(typeof F=="string"?F:b.getPath(F),N),K=Ke(!!M,!!T);b.createDevice.major||(b.createDevice.major=64);var o0=b.makedev(b.createDevice.major++,0);return b.registerDevice(o0,{open(s0){s0.seekable=!1},close(s0){var t0;(t0=T==null?void 0:T.buffer)!=null&&t0.length&&T(10)},read(s0,t0,E0,R0,e2){for(var u2=0,k2=0;k2<R0;k2++){var j0;try{j0=M()}catch(N2){throw new b.ErrnoError(29)}if(j0===void 0&&u2===0)throw new b.ErrnoError(6);if(j0==null)break;u2++,t0[E0+k2]=j0}return u2&&(s0.node.timestamp=Date.now()),u2},write(s0,t0,E0,R0,e2){for(var u2=0;u2<R0;u2++)try{T(t0[E0+u2])}catch(k2){throw new b.ErrnoError(29)}return R0&&(s0.node.timestamp=Date.now()),u2}}),b.mkdev($,K,o0)},forceLoadFile(F){if(F.isDevice||F.isFolder||F.link||F.contents)return!0;if(typeof XMLHttpRequest!="undefined")throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");try{F.contents=Oi(F.url),F.usedBytes=F.contents.length}catch(N){throw new b.ErrnoError(29)}},createLazyFile(F,N,M,T,$){class K{constructor(){this.lengthKnown=!1,this.chunks=[]}get(k2){if(!(k2>this.length-1||k2<0)){var j0=k2%this.chunkSize,N2=k2/this.chunkSize|0;return this.getter(N2)[j0]}}setDataGetter(k2){this.getter=k2}cacheLength(){var k2=new XMLHttpRequest;if(k2.open("HEAD",M,!1),k2.send(null),!(k2.status>=200&&k2.status<300||k2.status===304))throw new Error("Couldn\'t load "+M+". Status: "+k2.status);var j0=Number(k2.getResponseHeader("Content-length")),N2,m1=(N2=k2.getResponseHeader("Accept-Ranges"))&&N2==="bytes",U2=(N2=k2.getResponseHeader("Content-Encoding"))&&N2==="gzip",P=1024*1024;m1||(P=j0);var s1=(u4,n1)=>{if(u4>n1)throw new Error("invalid range ("+u4+", "+n1+") or no bytes requested!");if(n1>j0-1)throw new Error("only "+j0+" bytes available! programmer error!");var C2=new XMLHttpRequest;if(C2.open("GET",M,!1),j0!==P&&C2.setRequestHeader("Range","bytes="+u4+"-"+n1),C2.responseType="arraybuffer",C2.overrideMimeType&&C2.overrideMimeType("text/plain; charset=x-user-defined"),C2.send(null),!(C2.status>=200&&C2.status<300||C2.status===304))throw new Error("Couldn\'t load "+M+". Status: "+C2.status);return C2.response!==void 0?new Uint8Array(C2.response||[]):E5(C2.responseText||"",!0)},l8=this;l8.setDataGetter(u4=>{var n1=u4*P,C2=(u4+1)*P-1;if(C2=Math.min(C2,j0-1),typeof l8.chunks[u4]=="undefined"&&(l8.chunks[u4]=s1(n1,C2)),typeof l8.chunks[u4]=="undefined")throw new Error("doXHR failed!");return l8.chunks[u4]}),(U2||!j0)&&(P=j0=1,j0=this.getter(0).length,P=j0,He("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=j0,this._chunkSize=P,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!O4)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o0=new K,s0={isDevice:!1,contents:o0}}else var s0={isDevice:!1,url:M};var t0=b.createFile(F,N,s0,T,$);s0.contents?t0.contents=s0.contents:s0.url&&(t0.contents=null,t0.url=s0.url),Object.defineProperties(t0,{usedBytes:{get:function(){return this.contents.length}}});var E0={},R0=Object.keys(t0.stream_ops);R0.forEach(u2=>{var k2=t0.stream_ops[u2];E0[u2]=(...j0)=>(b.forceLoadFile(t0),k2(...j0))});function e2(u2,k2,j0,N2,m1){var U2=u2.node.contents;if(m1>=U2.length)return 0;var P=Math.min(U2.length-m1,N2);if(U2.slice)for(var s1=0;s1<P;s1++)k2[j0+s1]=U2[m1+s1];else for(var s1=0;s1<P;s1++)k2[j0+s1]=U2.get(m1+s1);return P}return E0.read=(u2,k2,j0,N2,m1)=>(b.forceLoadFile(t0),e2(u2,k2,j0,N2,m1)),E0.mmap=(u2,k2,j0,N2,m1)=>{b.forceLoadFile(t0);var U2=Y5(k2);if(!U2)throw new b.ErrnoError(48);return e2(u2,S1,U2,k2,j0),{ptr:U2,allocated:!0}},t0.stream_ops=E0,t0}},m4={DEFAULT_POLLMASK:5,calculateAt(F,N,M){if(w1.isAbs(N))return N;var T;if(F===-100)T=b.cwd();else{var $=m4.getStreamFromFD(F);T=$.path}if(N.length==0){if(!M)throw new b.ErrnoError(44);return T}return w1.join2(T,N)},doStat(F,N,M){var T=F(N);a2[M>>2]=T.dev,a2[M+4>>2]=T.mode,j2[M+8>>2]=T.nlink,a2[M+12>>2]=T.uid,a2[M+16>>2]=T.gid,a2[M+20>>2]=T.rdev,O1=[T.size>>>0,(S2=T.size,+Math.abs(S2)>=1?S2>0?+Math.floor(S2/4294967296)>>>0:~~+Math.ceil((S2-+(~~S2>>>0))/4294967296)>>>0:0)],a2[M+24>>2]=O1[0],a2[M+28>>2]=O1[1],a2[M+32>>2]=4096,a2[M+36>>2]=T.blocks;var $=T.atime.getTime(),K=T.mtime.getTime(),o0=T.ctime.getTime();return O1=[Math.floor($/1e3)>>>0,(S2=Math.floor($/1e3),+Math.abs(S2)>=1?S2>0?+Math.floor(S2/4294967296)>>>0:~~+Math.ceil((S2-+(~~S2>>>0))/4294967296)>>>0:0)],a2[M+40>>2]=O1[0],a2[M+44>>2]=O1[1],j2[M+48>>2]=$%1e3*1e3,O1=[Math.floor(K/1e3)>>>0,(S2=Math.floor(K/1e3),+Math.abs(S2)>=1?S2>0?+Math.floor(S2/4294967296)>>>0:~~+Math.ceil((S2-+(~~S2>>>0))/4294967296)>>>0:0)],a2[M+56>>2]=O1[0],a2[M+60>>2]=O1[1],j2[M+64>>2]=K%1e3*1e3,O1=[Math.floor(o0/1e3)>>>0,(S2=Math.floor(o0/1e3),+Math.abs(S2)>=1?S2>0?+Math.floor(S2/4294967296)>>>0:~~+Math.ceil((S2-+(~~S2>>>0))/4294967296)>>>0:0)],a2[M+72>>2]=O1[0],a2[M+76>>2]=O1[1],j2[M+80>>2]=o0%1e3*1e3,O1=[T.ino>>>0,(S2=T.ino,+Math.abs(S2)>=1?S2>0?+Math.floor(S2/4294967296)>>>0:~~+Math.ceil((S2-+(~~S2>>>0))/4294967296)>>>0:0)],a2[M+88>>2]=O1[0],a2[M+92>>2]=O1[1],0},doMsync(F,N,M,T,$){if(!b.isFile(N.node.mode))throw new b.ErrnoError(43);if(T&2)return 0;var K=A4.slice(F,F+M);b.msync(N,K,$,M,T)},getStreamFromFD(F){var N=b.getStreamChecked(F);return N},varargs:void 0,getStr(F){var N=qi(F);return N}};function Cl(F,N,M){m4.varargs=M;try{var T=m4.getStreamFromFD(F);switch(N){case 0:{var $=Ar();if($<0)return-28;for(;b.streams[$];)$++;var K;return K=b.dupStream(T,$),K.fd}case 1:case 2:return 0;case 3:return T.flags;case 4:{var $=Ar();return T.flags|=$,0}case 12:{var $=Bi(),o0=0;return k8[$+o0>>1]=2,0}case 13:case 14:return 0}return-28}catch(s0){if(typeof b=="undefined"||s0.name!=="ErrnoError")throw s0;return-s0.errno}}function Vl(F,N,M){m4.varargs=M;try{var T=m4.getStreamFromFD(F);switch(N){case 21509:return T.tty?0:-59;case 21505:{if(!T.tty)return-59;if(T.tty.ops.ioctl_tcgets){var $=T.tty.ops.ioctl_tcgets(T),K=Bi();a2[K>>2]=$.c_iflag||0,a2[K+4>>2]=$.c_oflag||0,a2[K+8>>2]=$.c_cflag||0,a2[K+12>>2]=$.c_lflag||0;for(var o0=0;o0<32;o0++)S1[K+o0+17]=$.c_cc[o0]||0;return 0}return 0}case 21510:case 21511:case 21512:return T.tty?0:-59;case 21506:case 21507:case 21508:{if(!T.tty)return-59;if(T.tty.ops.ioctl_tcsets){for(var K=Bi(),s0=a2[K>>2],t0=a2[K+4>>2],E0=a2[K+8>>2],R0=a2[K+12>>2],e2=[],o0=0;o0<32;o0++)e2.push(S1[K+o0+17]);return T.tty.ops.ioctl_tcsets(T.tty,N,{c_iflag:s0,c_oflag:t0,c_cflag:E0,c_lflag:R0,c_cc:e2})}return 0}case 21519:{if(!T.tty)return-59;var K=Bi();return a2[K>>2]=0,0}case 21520:return T.tty?-28:-59;case 21531:{var K=Bi();return b.ioctl(T,N,K)}case 21523:{if(!T.tty)return-59;if(T.tty.ops.ioctl_tiocgwinsz){var u2=T.tty.ops.ioctl_tiocgwinsz(T.tty),K=Bi();k8[K>>1]=u2[0],k8[K+2>>1]=u2[1]}return 0}case 21524:return T.tty?0:-59;case 21515:return T.tty?0:-59;default:return-28}}catch(k2){if(typeof b=="undefined"||k2.name!=="ErrnoError")throw k2;return-k2.errno}}function Il(F,N,M,T){m4.varargs=T;try{N=m4.getStr(N),N=m4.calculateAt(F,N);var $=T?Ar():0;return b.open(N,M,$).fd}catch(K){if(typeof b=="undefined"||K.name!=="ErrnoError")throw K;return-K.errno}}var Ql=()=>{rr("")},fr={},qe=F=>{for(;F.length;){var N=F.pop(),M=F.pop();M(N)}};function $i(F){return this.fromWireType(j2[F>>2])}var Zi={},b8={},kr={},J5,nr=F=>{throw new J5(F)},$e=(F,N,M)=>{F.forEach(function(s0){kr[s0]=N});function T(s0){var t0=M(s0);t0.length!==F.length&&nr("Mismatched type converter count");for(var E0=0;E0<F.length;++E0)j4(F[E0],t0[E0])}var $=new Array(N.length),K=[],o0=0;N.forEach((s0,t0)=>{b8.hasOwnProperty(s0)?$[t0]=b8[s0]:(K.push(s0),Zi.hasOwnProperty(s0)||(Zi[s0]=[]),Zi[s0].push(()=>{$[t0]=b8[s0],++o0,o0===K.length&&T($)}))}),K.length===0&&T($)},yl=F=>{var N=fr[F];delete fr[F];var M=N.rawConstructor,T=N.rawDestructor,$=N.fields,K=$.map(o0=>o0.getterReturnType).concat($.map(o0=>o0.setterArgumentType));$e([F],K,o0=>{var s0={};return $.forEach((t0,E0)=>{var R0=t0.fieldName,e2=o0[E0],u2=t0.getter,k2=t0.getterContext,j0=o0[E0+$.length],N2=t0.setter,m1=t0.setterContext;s0[R0]={read:U2=>e2.fromWireType(u2(k2,U2)),write:(U2,P)=>{var s1=[];N2(m1,U2,j0.toWireType(s1,P)),qe(s1)}}}),[{name:N.name,fromWireType:t0=>{var E0={};for(var R0 in s0)E0[R0]=s0[R0].read(t0);return T(t0),E0},toWireType:(t0,E0)=>{for(var R0 in s0)if(!(R0 in E0))throw new TypeError(`Missing field: "${R0}"`);var e2=M();for(R0 in s0)s0[R0].write(e2,E0[R0]);return t0!==null&&t0.push(T,e2),e2},argPackAdvance:P4,readValueFromPointer:$i,destructorFunction:T}]})},Fl=(F,N,M,T,$)=>{},El=()=>{for(var F=new Array(256),N=0;N<256;++N)F[N]=String.fromCharCode(N);g5=F},g5,f4=F=>{for(var N="",M=F;A4[M];)N+=g5[A4[M++]];return N},bi,i1=F=>{throw new bi(F)};function Yl(F,N,M={}){var T=N.name;if(F||i1(`type "${T}" must have a positive integer typeid pointer`),b8.hasOwnProperty(F)){if(M.ignoreDuplicateRegistrations)return;i1(`Cannot register type \'${T}\' twice`)}if(b8[F]=N,delete kr[F],Zi.hasOwnProperty(F)){var $=Zi[F];delete Zi[F],$.forEach(K=>K())}}function j4(F,N,M={}){if(!("argPackAdvance"in N))throw new TypeError("registerType registeredInstance requires argPackAdvance");return Yl(F,N,M)}var P4=8,Jl=(F,N,M,T)=>{N=f4(N),j4(F,{name:N,fromWireType:function($){return!!$},toWireType:function($,K){return K?M:T},argPackAdvance:P4,readValueFromPointer:function($){return this.fromWireType(A4[$])},destructorFunction:null})},gl=F=>({count:F.count,deleteScheduled:F.deleteScheduled,preservePointerOnDelete:F.preservePointerOnDelete,ptr:F.ptr,ptrType:F.ptrType,smartPtr:F.smartPtr,smartPtrType:F.smartPtrType}),be=F=>{function N(M){return M.$$.ptrType.registeredClass.name}i1(N(F)+" instance already deleted")},de=!1,N5=F=>{},Nl=F=>{F.smartPtr?F.smartPtrType.rawDestructor(F.smartPtr):F.ptrType.registeredClass.rawDestructor(F.ptr)},R5=F=>{F.count.value-=1;var N=F.count.value===0;N&&Nl(F)},D5=(F,N,M)=>{if(N===M)return F;if(M.baseClass===void 0)return null;var T=D5(F,N,M.baseClass);return T===null?null:M.downcast(T)},U5={},Rl=()=>Object.keys(i6).length,Dl=()=>{var F=[];for(var N in i6)i6.hasOwnProperty(N)&&F.push(i6[N]);return F},di=[],ce=()=>{for(;di.length;){var F=di.pop();F.$$.deleteScheduled=!1,F.delete()}},ci,Ul=F=>{ci=F,di.length&&ci&&ci(ce)},Ml=()=>{O.getInheritedInstanceCount=Rl,O.getLiveInheritedInstances=Dl,O.flushPendingDeletes=ce,O.setDelayFunction=Ul},i6={},xl=(F,N)=>{for(N===void 0&&i1("ptr should not be undefined");F.baseClass;)N=F.upcast(N),F=F.baseClass;return N},zl=(F,N)=>(N=xl(F,N),i6[N]),tr=(F,N)=>{(!N.ptrType||!N.ptr)&&nr("makeClassHandle requires ptr and ptrType");var M=!!N.smartPtrType,T=!!N.smartPtr;return M!==T&&nr("Both smartPtrType and smartPtr must be specified"),N.count={value:1},r6(Object.create(F,{$$:{value:N,writable:!0}}))};function Hl(F){var N=this.getPointee(F);if(!N)return this.destructor(F),null;var M=zl(this.registeredClass,N);if(M!==void 0){if(M.$$.count.value===0)return M.$$.ptr=N,M.$$.smartPtr=F,M.clone();var T=M.clone();return this.destructor(F),T}function $(){return this.isSmartPointer?tr(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:N,smartPtrType:this,smartPtr:F}):tr(this.registeredClass.instancePrototype,{ptrType:this,ptr:F})}var K=this.registeredClass.getActualType(N),o0=U5[K];if(!o0)return $.call(this);var s0;this.isConst?s0=o0.constPointerType:s0=o0.pointerType;var t0=D5(N,this.registeredClass,s0.registeredClass);return t0===null?$.call(this):this.isSmartPointer?tr(s0.registeredClass.instancePrototype,{ptrType:s0,ptr:t0,smartPtrType:this,smartPtr:F}):tr(s0.registeredClass.instancePrototype,{ptrType:s0,ptr:t0})}var r6=F=>typeof FinalizationRegistry=="undefined"?(r6=N=>N,F):(de=new FinalizationRegistry(N=>{R5(N.$$)}),r6=N=>{var M=N.$$,T=!!M.smartPtr;if(T){var $={$$:M};de.register(N,$,N)}return N},N5=N=>de.unregister(N),r6(F)),Tl=()=>{Object.assign(or.prototype,{isAliasOf(F){if(!(this instanceof or)||!(F instanceof or))return!1;var N=this.$$.ptrType.registeredClass,M=this.$$.ptr;F.$$=F.$$;for(var T=F.$$.ptrType.registeredClass,$=F.$$.ptr;N.baseClass;)M=N.upcast(M),N=N.baseClass;for(;T.baseClass;)$=T.upcast($),T=T.baseClass;return N===T&&M===$},clone(){if(this.$$.ptr||be(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var F=r6(Object.create(Object.getPrototypeOf(this),{$$:{value:gl(this.$$)}}));return F.$$.count.value+=1,F.$$.deleteScheduled=!1,F},delete(){this.$$.ptr||be(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&i1("Object already scheduled for deletion"),N5(this),R5(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||be(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&i1("Object already scheduled for deletion"),di.push(this),di.length===1&&ci&&ci(ce),this.$$.deleteScheduled=!0,this}})};function or(){}var pi=(F,N)=>Object.defineProperty(N,"name",{value:F}),al=(F,N,M)=>{if(F[N].overloadTable===void 0){var T=F[N];F[N]=function(...$){return F[N].overloadTable.hasOwnProperty($.length)||i1(`Function \'${M}\' called with an invalid number of arguments (${$.length}) - expects one of (${F[N].overloadTable})!`),F[N].overloadTable[$.length].apply(this,$)},F[N].overloadTable=[],F[N].overloadTable[T.argCount]=T}},iA=(F,N,M)=>{O.hasOwnProperty(F)?((M===void 0||O[F].overloadTable!==void 0&&O[F].overloadTable[M]!==void 0)&&i1(`Cannot register public name \'${F}\' twice`),al(O,F,F),O.hasOwnProperty(M)&&i1(`Cannot register multiple overloads of a function with the same number of arguments (${M})!`),O[F].overloadTable[M]=N):(O[F]=N,M!==void 0&&(O[F].numArguments=M))},Sl=48,Ol=57,jl=F=>{if(F===void 0)return"_unknown";F=F.replace(/[^a-zA-Z0-9_]/g,"$");var N=F.charCodeAt(0);return N>=Sl&&N<=Ol?`_${F}`:F};function Pl(F,N,M,T,$,K,o0,s0){this.name=F,this.constructor=N,this.instancePrototype=M,this.rawDestructor=T,this.baseClass=$,this.getActualType=K,this.upcast=o0,this.downcast=s0,this.pureVirtualFunctions=[]}var rA=(F,N,M)=>{for(;N!==M;)N.upcast||i1(`Expected null or instance of ${M.name}, got an instance of ${N.name}`),F=N.upcast(F),N=N.baseClass;return F};function Ll(F,N){if(N===null)return this.isReference&&i1(`null is not a valid ${this.name}`),0;N.$$||i1(`Cannot pass "${kA(N)}" as a ${this.name}`),N.$$.ptr||i1(`Cannot pass deleted object as a pointer of type ${this.name}`);var M=N.$$.ptrType.registeredClass,T=rA(N.$$.ptr,M,this.registeredClass);return T}function Kl(F,N){var M;if(N===null)return this.isReference&&i1(`null is not a valid ${this.name}`),this.isSmartPointer?(M=this.rawConstructor(),F!==null&&F.push(this.rawDestructor,M),M):0;(!N||!N.$$)&&i1(`Cannot pass "${kA(N)}" as a ${this.name}`),N.$$.ptr||i1(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&N.$$.ptrType.isConst&&i1(`Cannot convert argument of type ${N.$$.smartPtrType?N.$$.smartPtrType.name:N.$$.ptrType.name} to parameter type ${this.name}`);var T=N.$$.ptrType.registeredClass;if(M=rA(N.$$.ptr,T,this.registeredClass),this.isSmartPointer)switch(N.$$.smartPtr===void 0&&i1("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:N.$$.smartPtrType===this?M=N.$$.smartPtr:i1(`Cannot convert argument of type ${N.$$.smartPtrType?N.$$.smartPtrType.name:N.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:M=N.$$.smartPtr;break;case 2:if(N.$$.smartPtrType===this)M=N.$$.smartPtr;else{var $=N.clone();M=this.rawShare(M,I4.toHandle(()=>$.delete())),F!==null&&F.push(this.rawDestructor,M)}break;default:i1("Unsupporting sharing policy")}return M}function ql(F,N){if(N===null)return this.isReference&&i1(`null is not a valid ${this.name}`),0;N.$$||i1(`Cannot pass "${kA(N)}" as a ${this.name}`),N.$$.ptr||i1(`Cannot pass deleted object as a pointer of type ${this.name}`),N.$$.ptrType.isConst&&i1(`Cannot convert argument of type ${N.$$.ptrType.name} to parameter type ${this.name}`);var M=N.$$.ptrType.registeredClass,T=rA(N.$$.ptr,M,this.registeredClass);return T}var $l=()=>{Object.assign(lr.prototype,{getPointee(F){return this.rawGetPointee&&(F=this.rawGetPointee(F)),F},destructor(F){var N;(N=this.rawDestructor)==null||N.call(this,F)},argPackAdvance:P4,readValueFromPointer:$i,fromWireType:Hl})};function lr(F,N,M,T,$,K,o0,s0,t0,E0,R0){this.name=F,this.registeredClass=N,this.isReference=M,this.isConst=T,this.isSmartPointer=$,this.pointeeType=K,this.sharingPolicy=o0,this.rawGetPointee=s0,this.rawConstructor=t0,this.rawShare=E0,this.rawDestructor=R0,!$&&N.baseClass===void 0?T?(this.toWireType=Ll,this.destructorFunction=null):(this.toWireType=ql,this.destructorFunction=null):this.toWireType=Kl}var M5=(F,N,M)=>{O.hasOwnProperty(F)||nr("Replacing nonexistent public symbol"),O[F].overloadTable!==void 0&&M!==void 0?O[F].overloadTable[M]=N:(O[F]=N,O[F].argCount=M)},bl=(F,N,M)=>{F=F.replace(/p/g,"i");var T=O["dynCall_"+F];return T(N,...M)},ur=[],x5,z5=F=>{var N=ur[F];return N||(F>=ur.length&&(ur.length=F+1),ur[F]=N=x5.get(F)),N},dl=(F,N,M=[])=>{if(F.includes("j"))return bl(F,N,M);var T=z5(N)(...M);return T},cl=(F,N)=>(...M)=>dl(F,N,M),t8=(F,N)=>{F=f4(F);function M(){return F.includes("j")?cl(F,N):z5(N)}var T=M();return typeof T!="function"&&i1(`unknown function pointer with signature ${F}: ${N}`),T},iu=(F,N)=>{var M=pi(N,function(T){this.name=N,this.message=T;var $=new Error(T).stack;$!==void 0&&(this.stack=this.toString()+`\n`+$.replace(/^Error(:[^\\n]*)?\\n/,""))});return M.prototype=Object.create(F.prototype),M.prototype.constructor=M,M.prototype.toString=function(){return this.message===void 0?this.name:`${this.name}: ${this.message}`},M},H5,T5=F=>{var N=ns(F),M=f4(N);return J8(N),M},a5=(F,N)=>{var M=[],T={};function $(K){if(!T[K]&&!b8[K]){if(kr[K]){kr[K].forEach($);return}M.push(K),T[K]=!0}}throw N.forEach($),new H5(`${F}: `+M.map(T5).join([", "]))},ru=(F,N,M,T,$,K,o0,s0,t0,E0,R0,e2,u2)=>{R0=f4(R0),K=t8($,K),s0&&(s0=t8(o0,s0)),E0&&(E0=t8(t0,E0)),u2=t8(e2,u2);var k2=jl(R0);iA(k2,function(){a5(`Cannot construct ${R0} due to unbound types`,[T])}),$e([F,N,M],T?[T]:[],j0=>{var C2,l;j0=j0[0];var N2,m1;T?(N2=j0.registeredClass,m1=N2.instancePrototype):m1=or.prototype;var U2=pi(R0,function(...X){if(Object.getPrototypeOf(this)!==P)throw new bi("Use \'new\' to construct "+R0);if(s1.constructor_body===void 0)throw new bi(R0+" has no accessible constructor");var i=s1.constructor_body[X.length];if(i===void 0)throw new bi(`Tried to invoke ctor of ${R0} with invalid number of parameters (${X.length}) - expected (${Object.keys(s1.constructor_body).toString()}) parameters instead!`);return i.apply(this,X)}),P=Object.create(m1,{constructor:{value:U2}});U2.prototype=P;var s1=new Pl(R0,U2,P,u2,N2,K,s0,E0);s1.baseClass&&((l=(C2=s1.baseClass).__derivedClasses)!=null||(C2.__derivedClasses=[]),s1.baseClass.__derivedClasses.push(s1));var l8=new lr(R0,s1,!0,!1,!1),u4=new lr(R0+"*",s1,!1,!1,!1),n1=new lr(R0+" const*",s1,!1,!0,!1);return U5[F]={pointerType:u4,constPointerType:n1},M5(k2,U2),[l8,u4,n1]})},eA=[],o8=[],AA=F=>{F>9&&--o8[F+1]===0&&(o8[F]=void 0,eA.push(F))},eu=()=>o8.length/2-5-eA.length,Au=()=>{o8.push(0,1,void 0,1,null,1,!0,1,!1,1),O.count_emval_handles=eu},I4={toValue:F=>(F||i1("Cannot use deleted val. handle = "+F),o8[F]),toHandle:F=>{switch(F){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{let N=eA.pop()||o8.length;return o8[N]=F,o8[N+1]=1,N}}}},fu={name:"emscripten::val",fromWireType:F=>{var N=I4.toValue(F);return AA(F),N},toWireType:(F,N)=>I4.toHandle(N),argPackAdvance:P4,readValueFromPointer:$i,destructorFunction:null},ku=F=>j4(F,fu),nu=(F,N,M)=>{switch(N){case 1:return M?function(T){return this.fromWireType(S1[T])}:function(T){return this.fromWireType(A4[T])};case 2:return M?function(T){return this.fromWireType(k8[T>>1])}:function(T){return this.fromWireType(Li[T>>1])};case 4:return M?function(T){return this.fromWireType(a2[T>>2])}:function(T){return this.fromWireType(j2[T>>2])};default:throw new TypeError(`invalid integer width (${N}): ${F}`)}},tu=(F,N,M,T)=>{N=f4(N);function $(){}$.values={},j4(F,{name:N,constructor:$,fromWireType:function(K){return this.constructor.values[K]},toWireType:(K,o0)=>o0.value,argPackAdvance:P4,readValueFromPointer:nu(N,M,T),destructorFunction:null}),iA(N,$)},fA=(F,N)=>{var M=b8[F];return M===void 0&&i1(`${N} has unknown type ${T5(F)}`),M},ou=(F,N,M)=>{var T=fA(F,"enum");N=f4(N);var $=T.constructor,K=Object.create(T.constructor.prototype,{value:{value:M},constructor:{value:pi(`${T.name}_${N}`,function(){})}});$.values[M]=K,$[N]=K},kA=F=>{if(F===null)return"null";var N=typeof F;return N==="object"||N==="array"||N==="function"?F.toString():""+F},lu=(F,N)=>{switch(N){case 4:return function(M){return this.fromWireType(W5[M>>2])};case 8:return function(M){return this.fromWireType(X5[M>>3])};default:throw new TypeError(`invalid float width (${N}): ${F}`)}},uu=(F,N,M)=>{N=f4(N),j4(F,{name:N,fromWireType:T=>T,toWireType:(T,$)=>$,argPackAdvance:P4,readValueFromPointer:lu(N,M),destructorFunction:null})};function S5(F){for(var N=1;N<F.length;++N)if(F[N]!==null&&F[N].destructorFunction===void 0)return!0;return!1}function O5(F,N){if(!(F instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof F} which is not a function`);var M=pi(F.name||"unknownFunctionName",function(){});M.prototype=F.prototype;var T=new M,$=F.apply(T,N);return $ instanceof Object?$:T}function su(F,N,M,T){for(var $=S5(F),K=F.length,o0="",s0="",t0=0;t0<K-2;++t0)o0+=(t0!==0?", ":"")+"arg"+t0,s0+=(t0!==0?", ":"")+"arg"+t0+"Wired";var E0=`\n return function (${o0}) {\n if (arguments.length !== ${K-2}) {\n throwBindingError(\'function \' + humanName + \' called with \' + arguments.length + \' arguments, expected ${K-2}\');\n }`;$&&(E0+=`var destructors = [];\n`);var R0=$?"destructors":"null",e2=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];N&&(E0+="var thisWired = classParam[\'toWireType\']("+R0+`, this);\n`);for(var t0=0;t0<K-2;++t0)E0+="var arg"+t0+"Wired = argType"+t0+"[\'toWireType\']("+R0+", arg"+t0+`);\n`,e2.push("argType"+t0);if(N&&(s0="thisWired"+(s0.length>0?", ":"")+s0),E0+=(M||T?"var rv = ":"")+"invoker(fn"+(s0.length>0?", ":"")+s0+`);\n`,$)E0+=`runDestructors(destructors);\n`;else for(var t0=N?1:2;t0<F.length;++t0){var u2=t0===1?"thisWired":"arg"+(t0-2)+"Wired";F[t0].destructorFunction!==null&&(E0+=`${u2}_dtor(${u2});\n`,e2.push(`${u2}_dtor`))}return M&&(E0+=`var ret = retType[\'fromWireType\'](rv);\nreturn ret;\n`),E0+=`}\n`,[e2,E0]}function hu(F,N,M,T,$,K){var o0=N.length;o0<2&&i1("argTypes array size mismatch! Must at least get return value and \'this\' types!");for(var s0=N[1]!==null&&M!==null,t0=S5(N),E0=N[0].name!=="void",R0=[F,i1,T,$,qe,N[0],N[1]],e2=0;e2<o0-2;++e2)R0.push(N[e2+2]);if(!t0)for(var e2=s0?1:2;e2<N.length;++e2)N[e2].destructorFunction!==null&&R0.push(N[e2].destructorFunction);let[u2,k2]=su(N,s0,E0,K);u2.push(k2);var j0=O5(Function,u2)(...R0);return pi(F,j0)}var wu=(F,N)=>{for(var M=[],T=0;T<F;T++)M.push(j2[N+T*4>>2]);return M},_u=F=>{F=F.trim();let N=F.indexOf("(");return N!==-1?F.substr(0,N):F},vu=(F,N,M,T,$,K,o0)=>{var s0=wu(N,M);F=f4(F),F=_u(F),$=t8(T,$),iA(F,function(){a5(`Cannot call ${F} due to unbound types`,s0)},N-1),$e([],s0,t0=>{var E0=[t0[0],null].concat(t0.slice(1));return M5(F,hu(F,E0,null,$,K,o0),N-1),[]})},mu=(F,N,M)=>{switch(N){case 1:return M?T=>S1[T]:T=>A4[T];case 2:return M?T=>k8[T>>1]:T=>Li[T>>1];case 4:return M?T=>a2[T>>2]:T=>j2[T>>2];default:throw new TypeError(`invalid integer width (${N}): ${F}`)}},Bu=(F,N,M,T,$)=>{N=f4(N),$===-1&&($=4294967295);var K=R0=>R0;if(T===0){var o0=32-8*M;K=R0=>R0<<o0>>>o0}var s0=N.includes("unsigned"),t0=(R0,e2)=>{},E0;s0?E0=function(R0,e2){return t0(e2,this.name),e2>>>0}:E0=function(R0,e2){return t0(e2,this.name),e2},j4(F,{name:N,fromWireType:K,toWireType:E0,argPackAdvance:P4,readValueFromPointer:mu(N,M,T!==0),destructorFunction:null})},Zu=(F,N,M)=>{var T=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],$=T[N];function K(o0){var s0=j2[o0>>2],t0=j2[o0+4>>2];return new $(S1.buffer,t0,s0)}M=f4(M),j4(F,{name:M,fromWireType:K,argPackAdvance:P4,readValueFromPointer:K},{ignoreDuplicateRegistrations:!0})},e6=(F,N,M)=>Le(F,A4,N,M),pu=(F,N)=>{N=f4(N);var M=N==="std::string";j4(F,{name:N,fromWireType(T){var $=j2[T>>2],K=T+4,o0;if(M)for(var s0=K,t0=0;t0<=$;++t0){var E0=K+t0;if(t0==$||A4[E0]==0){var R0=E0-s0,e2=qi(s0,R0);o0===void 0?o0=e2:(o0+="\\0",o0+=e2),s0=E0+1}}else{for(var u2=new Array($),t0=0;t0<$;++t0)u2[t0]=String.fromCharCode(A4[K+t0]);o0=u2.join("")}return J8(T),o0},toWireType(T,$){$ instanceof ArrayBuffer&&($=new Uint8Array($));var K,o0=typeof $=="string";o0||$ instanceof Uint8Array||$ instanceof Uint8ClampedArray||$ instanceof Int8Array||i1("Cannot pass non-string to std::string"),M&&o0?K=Pe($):K=$.length;var s0=L5(4+K+1),t0=s0+4;if(j2[s0>>2]=K,M&&o0)e6($,t0,K+1);else if(o0)for(var E0=0;E0<K;++E0){var R0=$.charCodeAt(E0);R0>255&&(J8(t0),i1("String has UTF-16 code units that do not fit in 8 bits")),A4[t0+E0]=R0}else for(var E0=0;E0<K;++E0)A4[t0+E0]=$[E0];return T!==null&&T.push(J8,s0),s0},argPackAdvance:P4,readValueFromPointer:$i,destructorFunction(T){J8(T)}})},j5=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):void 0,Wu=(F,N)=>{for(var M=F,T=M>>1,$=T+N/2;!(T>=$)&&Li[T];)++T;if(M=T<<1,M-F>32&&j5)return j5.decode(A4.subarray(F,M));for(var K="",o0=0;!(o0>=N/2);++o0){var s0=k8[F+o0*2>>1];if(s0==0)break;K+=String.fromCharCode(s0)}return K},Xu=(F,N,M)=>{if(M!=null||(M=2147483647),M<2)return 0;M-=2;for(var T=N,$=M<F.length*2?M/2:F.length,K=0;K<$;++K){var o0=F.charCodeAt(K);k8[N>>1]=o0,N+=2}return k8[N>>1]=0,N-T},Gu=F=>F.length*2,Cu=(F,N)=>{for(var M=0,T="";!(M>=N/4);){var $=a2[F+M*4>>2];if($==0)break;if(++M,$>=65536){var K=$-65536;T+=String.fromCharCode(55296|K>>10,56320|K&1023)}else T+=String.fromCharCode($)}return T},Vu=(F,N,M)=>{if(M!=null||(M=2147483647),M<4)return 0;for(var T=N,$=T+M-4,K=0;K<F.length;++K){var o0=F.charCodeAt(K);if(o0>=55296&&o0<=57343){var s0=F.charCodeAt(++K);o0=65536+((o0&1023)<<10)|s0&1023}if(a2[N>>2]=o0,N+=4,N+4>$)break}return a2[N>>2]=0,N-T},Iu=F=>{for(var N=0,M=0;M<F.length;++M){var T=F.charCodeAt(M);T>=55296&&T<=57343&&++M,N+=4}return N},Qu=(F,N,M)=>{M=f4(M);var T,$,K,o0;N===2?(T=Wu,$=Xu,o0=Gu,K=s0=>Li[s0>>1]):N===4&&(T=Cu,$=Vu,o0=Iu,K=s0=>j2[s0>>2]),j4(F,{name:M,fromWireType:s0=>{for(var t0=j2[s0>>2],E0,R0=s0+4,e2=0;e2<=t0;++e2){var u2=s0+4+e2*N;if(e2==t0||K(u2)==0){var k2=u2-R0,j0=T(R0,k2);E0===void 0?E0=j0:(E0+="\\0",E0+=j0),R0=u2+N}}return J8(s0),E0},toWireType:(s0,t0)=>{typeof t0!="string"&&i1(`Cannot pass non-string to C++ string type ${M}`);var E0=o0(t0),R0=L5(4+E0+N);return j2[R0>>2]=E0/N,$(t0,R0+4,E0+N),s0!==null&&s0.push(J8,R0),R0},argPackAdvance:P4,readValueFromPointer:$i,destructorFunction(s0){J8(s0)}})},yu=(F,N,M,T,$,K)=>{fr[F]={name:f4(N),rawConstructor:t8(M,T),rawDestructor:t8($,K),fields:[]}},Fu=(F,N,M,T,$,K,o0,s0,t0,E0)=>{fr[F].fields.push({fieldName:f4(N),getterReturnType:M,getter:t8(T,$),getterContext:K,setterArgumentType:o0,setter:t8(s0,t0),setterContext:E0})},Eu=(F,N)=>{N=f4(N),j4(F,{isVoid:!0,name:N,argPackAdvance:0,fromWireType:()=>{},toWireType:(M,T)=>{}})},Yu=(F,N,M)=>A4.copyWithin(F,N,N+M),Ju={},P5=F=>{var N=Ju[F];return N===void 0?f4(F):N},nA=[],gu=(F,N,M,T,$)=>(F=nA[F],N=I4.toValue(N),M=P5(M),F(N,N[M],T,$)),Nu=F=>{var N=nA.length;return nA.push(F),N},Ru=(F,N)=>{for(var M=new Array(F),T=0;T<F;++T)M[T]=fA(j2[N+T*4>>2],"parameter "+T);return M},vJ=Reflect.construct,Du=(F,N,M)=>{var T=[],$=F.toWireType(T,M);return T.length&&(j2[N>>2]=I4.toHandle(T)),$},Uu=(F,N,M)=>{var T=Ru(F,N),$=T.shift();F--;var K=`return function (obj, func, destructorsRef, args) {\n`,o0=0,s0=[];M===0&&s0.push("obj");for(var t0=["retType"],E0=[$],R0=0;R0<F;++R0)s0.push("arg"+R0),t0.push("argType"+R0),E0.push(T[R0]),K+=` var arg${R0} = argType${R0}.readValueFromPointer(args${o0?"+"+o0:""});\n`,o0+=T[R0].argPackAdvance;var e2=M===1?"new func":"func.call";K+=` var rv = ${e2}(${s0.join(", ")});\n`,$.isVoid||(t0.push("emval_returnValue"),E0.push(Du),K+=` return emval_returnValue(retType, destructorsRef, rv);\n`),K+=`};\n`,t0.push(K);var u2=O5(Function,t0)(...E0),k2=`methodCaller<(${T.map(j0=>j0.name).join(", ")}) => ${$.name}>`;return Nu(pi(k2,u2))},Mu=F=>{F>9&&(o8[F+1]+=1)},xu=()=>I4.toHandle([]),zu=F=>I4.toHandle(P5(F)),Hu=()=>I4.toHandle({}),Tu=F=>{var N=I4.toValue(F);qe(N),AA(F)},au=(F,N,M)=>{F=I4.toValue(F),N=I4.toValue(N),M=I4.toValue(M),F[N]=M},Su=(F,N)=>{F=fA(F,"_emval_take_value");var M=F.readValueFromPointer(N);return I4.toHandle(M)},Ou=(F,N,M,T)=>{var $=new Date().getFullYear(),K=new Date($,0,1),o0=new Date($,6,1),s0=K.getTimezoneOffset(),t0=o0.getTimezoneOffset(),E0=Math.max(s0,t0);j2[F>>2]=E0*60,a2[N>>2]=+(s0!=t0);var R0=k2=>{var j0=k2>=0?"-":"+",N2=Math.abs(k2),m1=String(Math.floor(N2/60)).padStart(2,"0"),U2=String(N2%60).padStart(2,"0");return`UTC${j0}${m1}${U2}`},e2=R0(s0),u2=R0(t0);t0<s0?(e6(e2,M,17),e6(u2,T,17)):(e6(e2,T,17),e6(u2,M,17))},ju=()=>2147483648,Pu=F=>{var N=c6.buffer,M=(F-N.byteLength+65535)/65536;try{return c6.grow(M),G5(),1}catch(T){}},Lu=F=>{var N=A4.length;F>>>=0;var M=ju();if(F>M)return!1;for(var T=(t0,E0)=>t0+(E0-t0%E0)%E0,$=1;$<=4;$*=2){var K=N*(1+.2/$);K=Math.min(K,F+100663296);var o0=Math.min(M,T(Math.max(F,K),65536)),s0=Pu(o0);if(s0)return!0}return!1},tA={},Ku=()=>Me||"./this.program",A6=()=>{if(!A6.strings){var F=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",N={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:F,_:Ku()};for(var M in tA)tA[M]===void 0?delete N[M]:N[M]=tA[M];var T=[];for(var M in N)T.push(`${M}=${N[M]}`);A6.strings=T}return A6.strings},qu=(F,N)=>{for(var M=0;M<F.length;++M)S1[N++]=F.charCodeAt(M);S1[N]=0},$u=(F,N)=>{var M=0;return A6().forEach((T,$)=>{var K=N+M;j2[F+$*4>>2]=K,qu(T,K),M+=T.length+1}),0},bu=(F,N)=>{var M=A6();j2[F>>2]=M.length;var T=0;return M.forEach($=>T+=$.length+1),j2[N>>2]=T,0};function du(F){try{var N=m4.getStreamFromFD(F);return b.close(N),0}catch(M){if(typeof b=="undefined"||M.name!=="ErrnoError")throw M;return M.errno}}var cu=(F,N,M,T)=>{for(var $=0,K=0;K<M;K++){var o0=j2[N>>2],s0=j2[N+4>>2];N+=8;var t0=b.read(F,S1,o0,s0,T);if(t0<0)return-1;if($+=t0,t0<s0)break;typeof T!="undefined"&&(T+=t0)}return $};function is(F,N,M,T){try{var $=m4.getStreamFromFD(F),K=cu($,N,M);return j2[T>>2]=K,0}catch(o0){if(typeof b=="undefined"||o0.name!=="ErrnoError")throw o0;return o0.errno}}var rs=(F,N)=>N+2097152>>>0<4194305-!!F?(F>>>0)+N*4294967296:NaN;function es(F,N,M,T,$){var K=rs(N,M);try{if(isNaN(K))return 61;var o0=m4.getStreamFromFD(F);return b.llseek(o0,K,T),O1=[o0.position>>>0,(S2=o0.position,+Math.abs(S2)>=1?S2>0?+Math.floor(S2/4294967296)>>>0:~~+Math.ceil((S2-+(~~S2>>>0))/4294967296)>>>0:0)],a2[$>>2]=O1[0],a2[$+4>>2]=O1[1],o0.getdents&&K===0&&T===0&&(o0.getdents=null),0}catch(s0){if(typeof b=="undefined"||s0.name!=="ErrnoError")throw s0;return s0.errno}}var As=(F,N,M,T)=>{for(var $=0,K=0;K<M;K++){var o0=j2[N>>2],s0=j2[N+4>>2];N+=8;var t0=b.write(F,S1,o0,s0,T);if(t0<0)return-1;$+=t0,typeof T!="undefined"&&(T+=t0)}return $};function fs(F,N,M,T){try{var $=m4.getStreamFromFD(F),K=As($,N,M);return j2[T>>2]=K,0}catch(o0){if(typeof b=="undefined"||o0.name!=="ErrnoError")throw o0;return o0.errno}}b.createPreloadedFile=Xl,b.staticInit(),J5=O.InternalError=class extends Error{constructor(N){super(N),this.name="InternalError"}},El(),bi=O.BindingError=class extends Error{constructor(N){super(N),this.name="BindingError"}},Tl(),Ml(),$l(),H5=O.UnboundTypeError=iu(Error,"UnboundTypeError"),Au();var ks={a:sl,l:_l,r:Cl,D:Vl,E:Il,F:Ql,v:yl,y:Fl,J:Jl,n:ru,I:ku,j:tu,b:ou,u:uu,f:vu,i:Bu,d:Zu,t:pu,p:Qu,w:yu,m:Fu,K:Eu,H:Yu,M:gu,c:AA,N:Uu,O:Mu,q:xu,h:zu,k:Hu,L:Tu,g:au,e:Su,z:Ou,G:Lu,A:$u,B:bu,s:du,C:is,x:es,o:fs},e0=ul(),mJ=e0.Q,BJ=O._memcpy=e0.S,ZJ=O._heif_image_release=e0.T,L5=O._malloc=e0.U,pJ=O._heif_nclx_color_profile_set_color_primaries=e0.V,J8=O._free=e0.W,WJ=O._heif_nclx_color_profile_set_transfer_characteristics=e0.X,XJ=O._heif_nclx_color_profile_set_matrix_coefficients=e0.Y,GJ=O._heif_init=e0.Z,CJ=O._heif_deinit=e0._,VJ=O._heif_load_plugin=e0.$,IJ=O._heif_unload_plugin=e0.aa,QJ=O._heif_load_plugins=e0.ba,yJ=O._heif_get_plugin_directories=e0.ca,FJ=O._heif_free_plugin_directories=e0.da,EJ=O._heif_get_version=e0.ea,YJ=O._heif_get_version_number=e0.fa,JJ=O._heif_get_version_number_major=e0.ga,gJ=O._heif_get_version_number_minor=e0.ha,NJ=O._heif_get_version_number_maintenance=e0.ia,RJ=O._heif_check_filetype=e0.ja,DJ=O._heif_read_main_brand=e0.ka,UJ=O._heif_has_compatible_filetype=e0.la,MJ=O._heif_list_compatible_brands=e0.ma,xJ=O._heif_free_list_of_compatible_brands=e0.na,zJ=O._heif_check_jpeg_filetype=e0.oa,HJ=O._heif_main_brand=e0.pa,TJ=O._heif_fourcc_to_brand=e0.qa,aJ=O._heif_brand_to_fourcc=e0.ra,SJ=O._heif_has_compatible_brand=e0.sa,OJ=O._heif_get_file_mime_type=e0.ta,jJ=O._heif_context_alloc=e0.ua,PJ=O._heif_context_free=e0.va,LJ=O._heif_context_read_from_file=e0.wa,KJ=O._heif_context_read_from_memory=e0.xa,qJ=O._heif_context_read_from_memory_without_copy=e0.ya,$J=O._heif_context_read_from_reader=e0.za,bJ=O._heif_context_debug_dump_boxes_to_file=e0.Aa,dJ=O._heif_context_get_primary_image_handle=e0.Ba,cJ=O._heif_context_get_primary_image_ID=e0.Ca,ig=O._heif_context_is_top_level_image_ID=e0.Da,rg=O._heif_context_get_number_of_top_level_images=e0.Ea,eg=O._heif_context_get_list_of_top_level_image_IDs=e0.Fa,Ag=O._heif_context_get_image_handle=e0.Ga,fg=O._heif_image_handle_is_primary_image=e0.Ha,kg=O._heif_image_handle_get_item_id=e0.Ia,ng=O._heif_image_handle_get_number_of_thumbnails=e0.Ja,tg=O._heif_image_handle_get_list_of_thumbnail_IDs=e0.Ka,og=O._heif_image_handle_get_thumbnail=e0.La,lg=O._heif_image_handle_get_number_of_auxiliary_images=e0.Ma,ug=O._heif_image_handle_get_list_of_auxiliary_image_IDs=e0.Na,sg=O._heif_image_handle_get_auxiliary_type=e0.Oa,hg=O._heif_image_handle_release_auxiliary_type=e0.Pa,wg=O._heif_image_handle_free_auxiliary_types=e0.Qa,_g=O._heif_image_handle_get_auxiliary_image_handle=e0.Ra,vg=O._heif_image_handle_get_width=e0.Sa,mg=O._heif_image_handle_get_height=e0.Ta,Bg=O._heif_image_handle_get_ispe_width=e0.Ua,Zg=O._heif_image_handle_get_ispe_height=e0.Va,pg=O._heif_image_handle_get_context=e0.Wa,Wg=O._heif_image_handle_get_preferred_decoding_colorspace=e0.Xa,Xg=O._heif_image_handle_has_alpha_channel=e0.Ya,Gg=O._heif_image_handle_is_premultiplied_alpha=e0.Za,Cg=O._heif_image_handle_get_luma_bits_per_pixel=e0._a,Vg=O._heif_image_handle_get_chroma_bits_per_pixel=e0.$a,Ig=O._heif_image_handle_has_depth_image=e0.ab,Qg=O._heif_depth_representation_info_free=e0.bb,yg=O._heif_image_handle_get_depth_image_representation_info=e0.cb,Fg=O._heif_image_handle_get_number_of_depth_images=e0.db,Eg=O._heif_image_handle_get_list_of_depth_image_IDs=e0.eb,Yg=O._heif_image_handle_get_depth_image_handle=e0.fb,Jg=O._heif_decoding_options_alloc=e0.gb,gg=O._heif_decoding_options_free=e0.hb,Ng=O._heif_decode_image=e0.ib,Rg=O._heif_image_create=e0.jb,Dg=O._heif_image_get_decoding_warnings=e0.kb,Ug=O._heif_image_add_decoding_warning=e0.lb,Mg=O._heif_image_has_content_light_level=e0.mb,xg=O._heif_image_get_content_light_level=e0.nb,zg=O._heif_image_set_content_light_level=e0.ob,Hg=O._heif_image_has_mastering_display_colour_volume=e0.pb,Tg=O._heif_image_get_mastering_display_colour_volume=e0.qb,ag=O._heif_image_set_mastering_display_colour_volume=e0.rb,Sg=O._heif_mastering_display_colour_volume_decode=e0.sb,Og=O._heif_image_get_pixel_aspect_ratio=e0.tb,jg=O._heif_image_set_pixel_aspect_ratio=e0.ub,Pg=O._heif_image_handle_release=e0.vb,Lg=O._heif_image_get_colorspace=e0.wb,Kg=O._heif_image_get_chroma_format=e0.xb,qg=O._heif_image_get_width=e0.yb,$g=O._heif_image_get_height=e0.zb,bg=O._heif_image_get_primary_width=e0.Ab,dg=O._heif_image_get_primary_height=e0.Bb,cg=O._heif_image_crop=e0.Cb,iN=O._heif_image_get_bits_per_pixel=e0.Db,rN=O._heif_image_get_bits_per_pixel_range=e0.Eb,eN=O._heif_image_has_channel=e0.Fb,AN=O._heif_image_add_plane=e0.Gb,fN=O._heif_image_get_plane_readonly=e0.Hb,kN=O._heif_image_get_plane=e0.Ib,nN=O._heif_image_set_premultiplied_alpha=e0.Jb,tN=O._heif_image_is_premultiplied_alpha=e0.Kb,oN=O._heif_image_extend_padding_to_size=e0.Lb,lN=O._heif_image_scale_image=e0.Mb,uN=O._heif_image_set_raw_color_profile=e0.Nb,sN=O._heif_image_set_nclx_color_profile=e0.Ob,hN=O._heif_image_handle_get_number_of_metadata_blocks=e0.Pb,wN=O._heif_image_handle_get_list_of_metadata_block_IDs=e0.Qb,_N=O._heif_image_handle_get_metadata_type=e0.Rb,vN=O._heif_image_handle_get_metadata_content_type=e0.Sb,mN=O._heif_image_handle_get_metadata_item_uri_type=e0.Tb,BN=O._heif_image_handle_get_metadata_size=e0.Ub,ZN=O._heif_image_handle_get_metadata=e0.Vb,pN=O._heif_image_handle_get_color_profile_type=e0.Wb,WN=O._heif_image_handle_get_raw_color_profile_size=e0.Xb,XN=O._heif_image_handle_get_nclx_color_profile=e0.Yb,GN=O._heif_image_handle_get_raw_color_profile=e0.Zb,CN=O._heif_image_get_color_profile_type=e0._b,VN=O._heif_image_get_raw_color_profile_size=e0.$b,IN=O._heif_image_get_raw_color_profile=e0.ac,QN=O._heif_image_get_nclx_color_profile=e0.bc,yN=O._heif_nclx_color_profile_alloc=e0.cc,FN=O._heif_nclx_color_profile_free=e0.dc,EN=O._heif_image_handle_has_camera_intrinsic_matrix=e0.ec,YN=O._heif_image_handle_get_camera_intrinsic_matrix=e0.fc,JN=O._heif_image_handle_has_camera_extrinsic_matrix=e0.gc,gN=O._heif_image_handle_get_camera_extrinsic_matrix=e0.hc,NN=O._heif_camera_extrinsic_matrix_release=e0.ic,RN=O._heif_camera_extrinsic_matrix_get_rotation_matrix=e0.jc,DN=O._heif_register_decoder=e0.kc,UN=O._heif_register_decoder_plugin=e0.lc,MN=O._heif_register_encoder_plugin=e0.mc,xN=O._heif_context_write_to_file=e0.nc,zN=O._heif_context_write=e0.oc,HN=O._heif_context_add_compatible_brand=e0.pc,TN=O._heif_context_get_encoder_descriptors=e0.qc,aN=O._heif_get_encoder_descriptors=e0.rc,SN=O._heif_encoder_descriptor_get_name=e0.sc,ON=O._heif_encoder_descriptor_get_id_name=e0.tc,jN=O._heif_get_decoder_descriptors=e0.uc,PN=O._heif_decoder_descriptor_get_name=e0.vc,LN=O._heif_decoder_descriptor_get_id_name=e0.wc,KN=O._heif_encoder_descriptor_get_compression_format=e0.xc,qN=O._heif_encoder_descriptor_supports_lossy_compression=e0.yc,$N=O._heif_encoder_descriptor_supports_lossless_compression=e0.zc,bN=O._heif_encoder_descriptor_supportes_lossy_compression=e0.Ac,dN=O._heif_encoder_descriptor_supportes_lossless_compression=e0.Bc,cN=O._heif_encoder_get_name=e0.Cc,iR=O._heif_context_get_encoder=e0.Dc,rR=O._heif_have_decoder_for_format=e0.Ec,eR=O._heif_have_encoder_for_format=e0.Fc,AR=O._heif_context_get_encoder_for_format=e0.Gc,fR=O._heif_encoder_release=e0.Hc,kR=O._heif_encoder_set_lossy_quality=e0.Ic,nR=O._heif_encoder_set_lossless=e0.Jc,tR=O._heif_encoder_set_logging_level=e0.Kc,oR=O._heif_encoder_list_parameters=e0.Lc,lR=O._heif_encoder_parameter_get_name=e0.Mc,uR=O._heif_encoder_parameter_get_type=e0.Nc,sR=O._heif_encoder_set_parameter_integer=e0.Oc,hR=O._heif_encoder_parameter_get_valid_integer_values=e0.Pc,wR=O._heif_encoder_get_parameter_integer=e0.Qc,_R=O._heif_encoder_parameter_get_valid_integer_range=e0.Rc,vR=O._heif_encoder_parameter_get_valid_string_values=e0.Sc,mR=O._heif_encoder_parameter_integer_valid_range=e0.Tc,BR=O._heif_encoder_set_parameter_boolean=e0.Uc,ZR=O._heif_encoder_get_parameter_boolean=e0.Vc,pR=O._heif_encoder_set_parameter_string=e0.Wc,WR=O._heif_encoder_get_parameter_string=e0.Xc,XR=O._heif_encoder_parameter_string_valid_values=e0.Yc,GR=O._heif_encoder_parameter_integer_valid_values=e0.Zc,CR=O._heif_encoder_set_parameter=e0._c,VR=O._heif_encoder_get_parameter=e0.$c,IR=O._heif_encoder_has_default=e0.ad,QR=O._heif_encoding_options_alloc=e0.bd,yR=O._heif_encoding_options_free=e0.cd,FR=O._heif_context_encode_image=e0.dd,ER=O._heif_context_encode_grid=e0.ed,YR=O._heif_context_assign_thumbnail=e0.fd,JR=O._heif_context_encode_thumbnail=e0.gd,gR=O._heif_context_set_primary_image=e0.hd,NR=O._heif_context_add_exif_metadata=e0.id,RR=O._heif_context_add_XMP_metadata=e0.jd,DR=O._heif_context_add_XMP_metadata2=e0.kd,UR=O._heif_context_add_generic_metadata=e0.ld,MR=O._heif_context_add_generic_uri_metadata=e0.md,xR=O._heif_context_set_maximum_image_size_limit=e0.nd,zR=O._heif_context_set_max_decoding_threads=e0.od,HR=O._heif_image_handle_get_number_of_region_items=e0.pd,TR=O._heif_image_handle_get_list_of_region_item_ids=e0.qd,aR=O._heif_context_get_region_item=e0.rd,SR=O._heif_region_item_get_id=e0.sd,OR=O._heif_region_item_release=e0.td,jR=O._heif_region_item_get_reference_size=e0.ud,PR=O._heif_region_item_get_number_of_regions=e0.vd,LR=O._heif_region_item_get_list_of_regions=e0.wd,KR=O._heif_image_handle_add_region_item=e0.xd,qR=O._heif_region_item_add_region_point=e0.yd,$R=O._heif_region_item_add_region_rectangle=e0.zd,bR=O._heif_region_item_add_region_ellipse=e0.Ad,dR=O._heif_region_item_add_region_polygon=e0.Bd,cR=O._heif_region_item_add_region_polyline=e0.Cd,iD=O._heif_region_item_add_region_referenced_mask=e0.Dd,rD=O._heif_region_item_add_region_inline_mask_data=e0.Ed,eD=O._heif_region_item_add_region_inline_mask=e0.Fd,AD=O._heif_region_release=e0.Gd,fD=O._heif_region_release_many=e0.Hd,kD=O._heif_region_get_type=e0.Id,nD=O._heif_region_get_point=e0.Jd,tD=O._heif_region_get_point_transformed=e0.Kd,oD=O._heif_region_get_rectangle=e0.Ld,lD=O._heif_region_get_rectangle_transformed=e0.Md,uD=O._heif_region_get_ellipse=e0.Nd,sD=O._heif_region_get_ellipse_transformed=e0.Od,hD=O._heif_region_get_polygon_num_points=e0.Pd,wD=O._heif_region_get_polyline_num_points=e0.Qd,_D=O._heif_region_get_polygon_points=e0.Rd,vD=O._heif_region_get_polyline_points=e0.Sd,mD=O._heif_region_get_polygon_points_transformed=e0.Td,BD=O._heif_region_get_polyline_points_transformed=e0.Ud,ZD=O._heif_region_get_referenced_mask_ID=e0.Vd,pD=O._heif_region_get_inline_mask_data_len=e0.Wd,WD=O._heif_region_get_inline_mask_data=e0.Xd,XD=O._heif_region_get_mask_image=e0.Yd,GD=O._heif_item_get_properties_of_type=e0.Zd,CD=O._heif_item_get_transformation_properties=e0._d,VD=O._heif_item_get_property_type=e0.$d,ID=O._heif_item_get_property_user_description=e0.ae,QD=O._heif_item_add_property_user_description=e0.be,yD=O._heif_item_get_property_transform_mirror=e0.ce,FD=O._heif_item_get_property_transform_rotation_ccw=e0.de,ED=O._heif_item_get_property_transform_crop_borders=e0.ee,YD=O._heif_property_user_description_release=e0.fe,JD=O._heif_item_add_raw_property=e0.ge,gD=O._heif_item_get_property_raw_size=e0.he,ND=O._heif_item_get_property_raw_data=e0.ie,RD=O._heif_context_get_number_of_items=e0.je,DD=O._heif_context_get_list_of_item_IDs=e0.ke,UD=O._heif_release_item_data=e0.le,MD=O._heif_context_get_item_references=e0.me,xD=O._heif_release_item_references=e0.ne,zD=O._heif_context_add_item=e0.oe,HD=O._heif_context_add_mime_item=e0.pe,TD=O._heif_context_add_precompressed_mime_item=e0.qe,aD=O._heif_context_add_uri_item=e0.re,SD=O._heif_context_add_item_reference=e0.se,OD=O._heif_context_add_item_references=e0.te,jD=O._heif_item_get_property_camera_intrinsic_matrix=e0.ue,PD=O._heif_property_camera_intrinsic_matrix_release=e0.ve,LD=O._heif_property_camera_intrinsic_matrix_get_focal_length=e0.we,KD=O._heif_property_camera_intrinsic_matrix_get_principal_point=e0.xe,qD=O._heif_property_camera_intrinsic_matrix_get_skew=e0.ye,$D=O._heif_property_camera_intrinsic_matrix_alloc=e0.ze,bD=O._heif_property_camera_intrinsic_matrix_set_simple=e0.Ae,dD=O._heif_property_camera_intrinsic_matrix_set_full=e0.Be,cD=O._heif_item_add_property_camera_intrinsic_matrix=e0.Ce,iU=O._heif_item_get_property_camera_extrinsic_matrix=e0.De,rU=O._heif_property_camera_extrinsic_matrix_release=e0.Ee,eU=O._heif_property_camera_extrinsic_matrix_get_rotation_matrix=e0.Fe,AU=O._heif_property_camera_extrinsic_matrix_get_position_vector=e0.Ge,fU=O._heif_property_camera_extrinsic_matrix_get_world_coordinate_system_id=e0.He,kU=O._de265_get_version=e0.Ie,nU=O._de265_init=e0.Je,tU=O._de265_free=e0.Ke,oU=O._de265_new_decoder=e0.Le,lU=O._de265_set_parameter_bool=e0.Me,uU=O._de265_free_decoder=e0.Ne,sU=O._de265_push_NAL=e0.Oe,hU=O._de265_flush_data=e0.Pe,wU=O._de265_decode=e0.Qe,_U=O._de265_get_next_picture=e0.Re,vU=O._de265_get_chroma_format=e0.Se,mU=O._de265_get_image_width=e0.Te,BU=O._de265_get_image_height=e0.Ue,ZU=O._de265_get_bits_per_pixel=e0.Ve,pU=O._de265_get_image_plane=e0.We,WU=O._de265_get_image_colour_primaries=e0.Xe,XU=O._de265_get_image_transfer_characteristics=e0.Ye,GU=O._de265_get_image_matrix_coefficients=e0.Ze,CU=O._de265_get_image_full_range_flag=e0._e,VU=O._de265_release_next_picture=e0.$e,ns=e0.af,ts=e0.bf,IU=O.dynCall_ji=e0.cf,QU=O.dynCall_iij=e0.df,yU=O.dynCall_jiji=e0.ef,FU=O.dynCall_viijii=e0.ff,EU=O.dynCall_iiiiij=e0.gf,YU=O.dynCall_iiiiijj=e0.hf,JU=O.dynCall_iiiiiijj=e0.jf,gU=O._heif_error_ok=74208,NU=O._heif_error_success=73640,RU=O._heif_error_invalid_parameter_value=74232,DU=O._heif_error_unsupported_parameter=74220,sr;Ki=function F(){sr||K5(),sr||(Ki=F)};function K5(){if($8>0||(bo(),$8>0))return;function F(){var N;sr||(sr=!0,O.calledRun=!0,!p5&&(co(),K8(O),(N=O.onRuntimeInitialized)==null||N.call(O),il()))}O.setStatus?(O.setStatus("Running..."),setTimeout(function(){setTimeout(function(){O.setStatus("")},1),F()},1)):F()}if(O.preInit)for(typeof O.preInit=="function"&&(O.preInit=[O.preInit]);O.preInit.length>0;)O.preInit.pop()();K5();function q5(F){for(var N=new ArrayBuffer(F.length),M=new Uint8Array(N),T=0,$=F.length;T<$;T++)M[T]=F.charCodeAt(T);return N}var g8=function(F){this.handle=F,this.img=null};g8.prototype.free=function(){this.handle&&(O.heif_image_handle_release(this.handle),this.handle=null)},g8.prototype._ensureImage=function(){if(!this.img){var F=O.heif_js_decode_image(this.handle,O.heif_colorspace.heif_colorspace_YCbCr,O.heif_chroma.heif_chroma_420);if(!F||F.code){console.log("Decoding image failed",this.handle,F);return}this.data=new Uint8Array(q5(F.data)),delete F.data,this.img=F,F.alpha!==void 0&&(this.alpha=new Uint8Array(q5(F.alpha)),delete F.alpha)}},g8.prototype.get_width=function(){return O.heif_image_handle_get_width(this.handle)},g8.prototype.get_height=function(){return O.heif_image_handle_get_height(this.handle)},g8.prototype.is_primary=function(){return!!heif_image_handle_is_primary_image(this.handle)},g8.prototype.display=function(F,N){var M=this.get_width(),T=this.get_height();setTimeout(function(){if(!this.img){var $=O.heif_js_decode_image2(this.handle,O.heif_colorspace.heif_colorspace_RGB,O.heif_chroma.heif_chroma_interleaved_RGBA);if(!$||$.code){console.log("Decoding image failed",this.handle,$),N(null);return}for(let K of $.channels)if(K.id==O.heif_channel.heif_channel_interleaved)if(K.stride==K.width*4)F.data.set(K.data);else for(let o0=0;o0<K.height;o0++){let s0=K.data.slice(o0*K.stride,o0*K.stride+K.width*4),t0=o0*K.width*4;F.data.set(s0,t0)}O.heif_image_release($.image)}N(F)}.bind(this),0)};var $5=function(){this.decoder=null};$5.prototype.decode=function(F){if(this.decoder&&O.heif_context_free(this.decoder),this.decoder=O.heif_context_alloc(),!this.decoder)return console.log("Could not create HEIF context"),[];var N=O.heif_context_read_from_memory(this.decoder,F);if(N.code!==O.heif_error_code.heif_error_Ok)return console.log("Could not parse HEIF file",N.message),[];var M=O.heif_js_context_get_list_of_top_level_image_IDs(this.decoder);if(!M||M.code)return console.log("Error loading image ids",M),[];if(!M.length)return console.log("No images found"),[];for(var T=[],$=0;$<M.length;$++){var K=O.heif_js_context_get_image_handle(this.decoder,M[$]);if(!K||K.code){console.log("Could not get image data for id",M[$],K);continue}T.push(new g8(K))}return T};var os=function(F){return F.charCodeAt(0)<<24|F.charCodeAt(1)<<16|F.charCodeAt(2)<<8|F.charCodeAt(3)};O.HeifImage=g8,O.HeifDecoder=$5,O.fourcc=os;let ls=["heif_error_code","heif_suberror_code","heif_compression_format","heif_chroma","heif_colorspace","heif_channel"];for(let F of ls)for(let N in O[F])!O[F].hasOwnProperty(N)||N==="values"||(O[N]=O[F][N]);for(let F in O)F.indexOf("_heif_")!==0||O[F.slice(1)]!==void 0||(O[F.slice(1)]=O[F]);return F8=O,F8}})(),Po=lJ});var hJ=oJ(_5=>{Lo();var uJ=Po(),sJ=y1=>w5(_5,null,function*(){let a1=new uJ.HeifDecoder().decode(y1);if(!a1.length)throw new Error("HEIF image not found");let F8=a1[0],O=F8.get_width(),K8=F8.get_height(),E8=new ImageData(O,K8);for(let l4=0;l4<O*K8;l4++)E8.data[l4*4+3]=255;return yield new Promise((l4,O4)=>{F8.display(E8,q8=>{if(!q8)return O4(new Error("HEIF processing error"));l4(q8)})})});onmessage=y1=>w5(_5,null,function*(){let T1=y1.data.id;try{let a1=yield sJ(y1.data.buffer);postMessage({id:T1,imageData:a1,error:""})}catch(a1){postMessage({id:T1,imageData:null,error:a1&&a1.toString?a1.toString():a1})}})});hJ();})();\n',Zs=new Blob([xs],{type:"application/javascript"}),Ef=new Worker(URL.createObjectURL(Zs)),Is=s=>et(void 0,null,function*(){return new Promise((i,e)=>{let r=(Math.random()*new Date().getTime()).toString(),t={id:r,buffer:s};Ef.postMessage(t),Ef.addEventListener("message",n=>{if(n.data.id===r)return n.data.error?e(n.data.error):i(n.data.imageData)})})}),Es=s=>et(void 0,null,function*(){let i=yield Is(s),e=document.createElement("canvas");return e.width=i.width,e.height=i.height,e.getContext("2d").putImageData(i,0,0),e}),Ws=s=>et(void 0,[s],function*({blob:i,type:e,quality:r}){let t=yield i.arrayBuffer(),n=yield Es(t);return yield new Promise((f,o)=>n.toBlob(a=>{a!=null?f(a):o("Can't convert canvas to blob.")},e,r))})});var Ml={};rf(Ml,{default:()=>kn});module.exports=Ka(Ml);var k0=require("obsidian");var Dr=class{constructor(i){this.app=i;this.supportedMimeTypes=new Map([["image/jpeg",!0],["image/png",!0],["image/webp",!0],["image/heic",!0],["image/heif",!0],["image/avif",!0],["image/tiff",!0],["image/bmp",!0],["image/svg+xml",!0],["image/gif",!0]]);this.supportedExtensions=new Set(["jpg","jpeg","png","webp","heic","heif","avif","tif","tiff","bmp","svg","gif"]);this.extensionToMime=new Map([["jpg",["image/jpeg"]],["jpeg",["image/jpeg"]],["png",["image/png"]],["webp",["image/webp"]],["heic",["image/heic","image/heif"]],["heif",["image/heic","image/heif"]],["avif",["image/avif"]],["tif",["image/tiff"]],["tiff",["image/tiff"]],["bmp",["image/bmp"]],["svg",["image/svg+xml"]],["gif",["image/gif"]]])}isSupported(i,e){var r;if(i&&this.supportedMimeTypes.has(i))return!0;if(e){let t=(r=e.split(".").pop())==null?void 0:r.toLowerCase();if(t&&this.supportedExtensions.has(t))return(t==="heic"||t==="heif")&&(!i||!this.supportedMimeTypes.has(i)),!0}return!1}getMimeTypeFromCache(i){var r,t;let e=this.app.metadataCache.getFileCache(i);return((r=e==null?void 0:e.frontmatter)==null?void 0:r.mime)||((t=e==null?void 0:e.frontmatter)==null?void 0:t.type)}getExtensionsFromMimeType(i){let e=[];return this.extensionToMime.forEach((r,t)=>{r.includes(i)&&e.push(t)}),e.length>0?e:void 0}async getMimeTypeFromFile(i){let e=new FileReader,r=new Promise((t,n)=>{e.onloadend=()=>{e.result instanceof ArrayBuffer?t(e.result):n(new Error("Failed to read file as ArrayBuffer."))},e.onerror=()=>{n(new Error("Error occurred while reading the file."))},e.readAsArrayBuffer(i.slice(0,12))});try{let t=await r,n=new Uint8Array(t).subarray(0,12),f="";for(let o=0;o<n.length;o++){let a=n[o].toString(16).padStart(2,"0");f+=a}if(f=f.toLowerCase(),f.startsWith("89504e47"))return"image/png";if(f.startsWith("47494638"))return"image/gif";if(f.startsWith("ffd8ffe"))return"image/jpeg";if(f.startsWith("424d"))return"image/bmp";if(f.startsWith("000000")&&f.substring(8,16)==="66747970"){let o=this.getFtyp(t);if(o!==null){if(["heic","heix","hevc","hevx","mif1","msf1"].includes(o))return"image/heic";if(["avif","avis"].includes(o))return"image/avif"}}else{if(f.startsWith("4949")||f.startsWith("4d4d"))return"image/tiff";if(f.startsWith("52494646")&&f.substring(8,12)==="57454250")return"image/webp"}return i.type||"unknown"}catch(t){return console.error("Error reading file:",t),"unknown"}}getFtyp(i){let e=new DataView(i),r=8;if(i.byteLength<r+4)return null;let t=e.getUint32(r,!1);return String.fromCharCode(t>>24&255,t>>16&255,t>>8&255,t&255).trim()}};var V0=require("obsidian"),Be=_2(require("path")),Sr=class{constructor(i,e,r,t){this.app=i;this.settings=e;this.supportedImageFormats=r;this.variableProcessor=t}async determineDestination(i,e,r,t,n){let f=await this.getDestinationDirectory(n,i,e),o,a=!1;return t&&this.should_skip_rename(i.name,t)?(o=i.name.substring(0,i.name.lastIndexOf(".")),a=!0):o=await this.generateNewFilename(t,i,e),a||(o=await this.handleNameConflicts(f,o,(t==null?void 0:t.conflictResolution)||"reuse")),o=this.addCorrectExtension(o,i,r),{destinationPath:f,newFilename:o}}async getDestinationDirectory(i,e,r){var n;let t="";switch(i==null?void 0:i.type){case"DEFAULT":t=this.getDefaultAttachmentFolderPath(r);break;case"ROOT":t=this.app.vault.getRoot().path;break;case"CURRENT":t=((n=r.parent)==null?void 0:n.path)||"";break;case"SUBFOLDER":{let f=this.settings.subfolderTemplate?await this.processSubfolderVariables(this.settings.subfolderTemplate,e,r):r.basename;t=r.parent?(0,V0.normalizePath)(r.parent.path+"/"+f):f;break}case"CUSTOM":i.customTemplate?t=await this.processSubfolderVariables(i.customTemplate,e,r):(new V0.Notice("Custom folder template is not defined."),t=this.getDefaultAttachmentFolderPath(r));break;default:t=this.getDefaultAttachmentFolderPath(r)}return t}combinePath(i,e){return i==="/"?(0,V0.normalizePath)("/"+e):(0,V0.normalizePath)(i+"/"+e)}async ensureFolderExists(i){let e=(0,V0.normalizePath)(i);if(!await this.app.vault.adapter.exists(e)){let r=e.split("/").filter(Boolean),t="";for(let n of r)if(t+=(t?"/":"")+n,await this.app.vault.adapter.exists(t)){let f=await this.app.vault.getAbstractFileByPath(t);if(f&&f.name!==n){let o=t.substring(0,t.lastIndexOf("/"))+"/"+f.name;await this.app.vault.adapter.exists(o)?t=o:new V0.Notice(`Warning: Inconsistent folder casing detected. Using original path: ${t}`)}}else{let o=this.app.vault.getAllLoadedFiles().find(a=>a.path.toLowerCase()===t.toLowerCase()&&a instanceof V0.TFolder);o?t=o.path:await this.app.vault.createFolder(t)}}}getDefaultAttachmentFolderPath(i){var r;let e=this.app.vault.getConfig("attachmentFolderPath");return e.startsWith("./")?(r=i.parent)!=null&&r.path?(0,V0.normalizePath)(i.parent.path+"/"+e.substring(2)):e.substring(2):(0,V0.normalizePath)(e)}async handleNameConflicts(i,e,r="reuse"){let t=(0,V0.normalizePath)(i),n=e.lastIndexOf("."),f=n>-1?e.substring(0,n):e,o=n>-1?e.substring(n):"",a=e;if(r==="reuse")return a;if(await this.app.vault.adapter.exists(`${t}/${a}`)){let A=1;for(;await this.app.vault.adapter.exists(`${t}/${f}-${A}${o}`);)A++;a=`${f}-${A}${o}`}return a}async generateNewFilename(i,e,r,t){let n=e.name;return i&&i.customTemplate?(n=await this.processSubfolderVariables(i.customTemplate,e,r),n=await this.validateAndRemoveExtension(n,e)):n=e.name.substring(0,e.name.lastIndexOf(".")),n}async validateAndRemoveExtension(i,e){let r=i.lastIndexOf(".");if(r===-1)return i;let t=i.substring(r+1).toLowerCase();if(this.supportedImageFormats.supportedExtensions.has(t)){let n=await this.supportedImageFormats.getMimeTypeFromFile(e);if(n!=="unknown"){let f=this.supportedImageFormats.getExtensionsFromMimeType(n);return f&&f.includes(t)?i.substring(0,r):(console.warn(`Mismatched extension for file: ${i}, based on mime type: ${n}. Keeping original filename.`),i)}else return console.warn(`Unknown mime type for file: ${i}. Removing potential extension.`),i.substring(0,r)}return i}addCorrectExtension(i,e,r){let t=e.name.substring(e.name.lastIndexOf(".")).toLowerCase();if(r&&this.should_skip_conversion(e.name,r))return i+t;switch(r?r.outputFormat:this.settings.outputFormat){case"WEBP":return i+".webp";case"JPEG":return i+".jpeg";case"PNG":return i+".png";case"AVIF":return i+".avif";case"ORIGINAL":case"NONE":default:return i+t}}sanitizeFilename(i){i=i.trim();let e=i.lastIndexOf("."),r=e!==-1?i.substring(e):"",n=(e!==-1?i.substring(0,e):i).replace(/[\\/:"*?<>|]/g,"_").replace(/[()[\]]/g,"_").replace(/^\s+|\s+$/g,"");return["CON","PRN","AUX","NUL","COM1","COM2","COM3","COM4","COM5","COM6","COM7","COM8","COM9","LPT1","LPT2","LPT3","LPT4","LPT5","LPT6","LPT7","LPT8","LPT9"].includes(n.toUpperCase())&&(n+="_"),n=n.replace(/^\.+|\.+$/g,""),n.length>250&&(n=n.substring(0,250)),n+r}should_skip_conversion(i,e){return this.matches_patterns(i,e.skipConversionPatterns)}should_skip_rename(i,e){return this.matches_patterns(i,e.skipRenamePatterns)}matches_patterns(i,e){return e.trim()?e.split(",").map(t=>t.trim()).filter(t=>t.length>0).some(t=>{try{if(t.startsWith("/")&&t.endsWith("/")){let n=t.slice(1,-1);return new RegExp(n,"i").test(i)}else if(t.startsWith("r/")&&t.endsWith("/")){let n=t.slice(2,-1);return new RegExp(n,"i").test(i)}else if(t.startsWith("regex:")){let n=t.slice(6);return new RegExp(n,"i").test(i)}else{let n=t.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${n}$`,"i").test(i)}}catch(n){return console.error(`Invalid pattern: ${t}`,n),!1}}):!1}async processSubfolderVariables(i,e,r){let t={file:e,activeFile:r},n=await this.variableProcessor.processTemplate(i,t);return n=n.replace(/\/+/g,"/"),n=n.split("/").map(f=>this.sanitizeFilename(f)).join("/"),n=n.replace(/^\/+|\/+$/g,""),(0,V0.normalizePath)(n)}getImagePath(i){var e;try{let r=i.getAttribute("src");if(!r)return null;let t=this.app.vault.getAbstractFileByPath(r);if(t instanceof V0.TFile)return t.path;if(r.startsWith("app://")){let a=r.substring(6).split("/");if(a.length>1){let A=a.slice(1).join("/");process.platform!=="win32"&&!A.startsWith("/")&&(A="/"+A);let l=A.split("?")[0],k=decodeURIComponent(l);k=k.replace(/\\/g,"/");let u=null;if(this.app.vault.adapter instanceof V0.FileSystemAdapter&&(u=this.app.vault.adapter.getBasePath(),u=u.replace(/\\/g,"/")),u&&k.startsWith(u)){let h=k.substring(u.length);return(0,V0.normalizePath)(h)}else return k}}if(r.startsWith("app://local/")){let a=decodeURIComponent(r.substring(12).split("?")[0]);if(t=this.app.vault.getAbstractFileByPath(a),t instanceof V0.TFile)return t.path}let n=this.app.workspace.getActiveFile();if(console.log("activeFile:",n),n){let a=((e=n.parent)==null?void 0:e.path)||"",A=(0,V0.normalizePath)(Be.join(a,r));if(t=this.app.vault.getAbstractFileByPath(A),t instanceof V0.TFile)return t.path}let f=this.app.vault.getRoot().path,o=(0,V0.normalizePath)(Be.join(f,r));return t=this.app.vault.getAbstractFileByPath(o),t instanceof V0.TFile?t.path:(console.warn(`Could not resolve image path for src: ${r}`),null)}catch(r){return console.error("Error getting image path:",r),null}}async safeRenameFile(i,e){let r=Be.dirname(e),t=Be.basename(e),n=(0,V0.normalizePath)(Be.join(r,`temp-${Date.now()}-${t}`));try{await this.app.fileManager.renameFile(i,n);let f=this.app.vault.getAbstractFileByPath(n);return f instanceof V0.TFile?(await this.app.fileManager.renameFile(f,e),!0):(new V0.Notice("Error: Temporary file not found after renaming."),!1)}catch(f){return console.error("Error during safe rename:",f),new V0.Notice(`Error renaming file: ${f.message}`),!1}}};var Je=require("obsidian"),lr=require("child_process");var L=require("obsidian");var Mr=class{constructor(){this.linkFormatPresets=[{name:"Default (Wikilink, Shortest)",linkFormat:"wikilink",pathFormat:"shortest",prependCurrentDir:!1,hideFolders:!1},{name:"Markdown, Relative",linkFormat:"markdown",pathFormat:"relative",prependCurrentDir:!0,hideFolders:!1}],this.selectedLinkFormatPreset="Default (Wikilink, Shortest)"}};var Tr=class{constructor(){this.resizePresets=[{name:"Default (No Resize)",resizeDimension:"none",resizeScaleMode:"auto",respectEditorMaxWidth:!0,maintainAspectRatio:!0,resizeUnits:"pixels"},{name:"Width 500px",resizeDimension:"width",width:500,resizeScaleMode:"auto",respectEditorMaxWidth:!0,maintainAspectRatio:!0,resizeUnits:"pixels"},{name:"Height 800px",resizeDimension:"height",height:800,resizeScaleMode:"auto",respectEditorMaxWidth:!0,maintainAspectRatio:!0,resizeUnits:"pixels"},{name:"50% Width",resizeDimension:"width",width:50,resizeScaleMode:"auto",respectEditorMaxWidth:!0,maintainAspectRatio:!0,resizeUnits:"percentage"},{name:"Longest Edge 1000px",resizeDimension:"longest-edge",longestEdge:1e3,resizeScaleMode:"auto",respectEditorMaxWidth:!0,maintainAspectRatio:!0,resizeUnits:"pixels"},{name:"Fit Editor",resizeDimension:"editor-max-width",resizeScaleMode:"auto",respectEditorMaxWidth:!0,maintainAspectRatio:!0,resizeUnits:"pixels"},{name:"Original Width",resizeDimension:"original-width",resizeScaleMode:"auto",respectEditorMaxWidth:!1,maintainAspectRatio:!0,resizeUnits:"pixels"},{name:"Custom (Distort)",resizeDimension:"both",customValue:"300x100",resizeScaleMode:"auto",respectEditorMaxWidth:!1,maintainAspectRatio:!1,resizeUnits:"pixels"}],this.selectedResizePreset="Default (No Resize)"}};function nf(s,i){var e=Object.keys(s);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(s);i&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(s,t).enumerable})),e.push.apply(e,r)}return e}function ne(s){for(var i=1;i<arguments.length;i++){var e=arguments[i]!=null?arguments[i]:{};i%2?nf(Object(e),!0).forEach(function(r){is(s,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(e)):nf(Object(e)).forEach(function(r){Object.defineProperty(s,r,Object.getOwnPropertyDescriptor(e,r))})}return s}function Yr(s){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Yr=function(i){return typeof i}:Yr=function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},Yr(s)}function is(s,i,e){return i in s?Object.defineProperty(s,i,{value:e,enumerable:!0,configurable:!0,writable:!0}):s[i]=e,s}function ke(){return ke=Object.assign||function(s){for(var i=1;i<arguments.length;i++){var e=arguments[i];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(s[r]=e[r])}return s},ke.apply(this,arguments)}function es(s,i){if(s==null)return{};var e={},r=Object.keys(s),t,n;for(n=0;n<r.length;n++)t=r[n],!(i.indexOf(t)>=0)&&(e[t]=s[t]);return e}function rs(s,i){if(s==null)return{};var e=es(s,i),r,t;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(s);for(t=0;t<n.length;t++)r=n[t],!(i.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(s,r)&&(e[r]=s[r])}return e}var ts="1.15.6";function le(s){if(typeof window!="undefined"&&window.navigator)return!!navigator.userAgent.match(s)}var ue=le(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),ar=le(/Edge/i),ff=le(/firefox/i),rr=le(/safari/i)&&!le(/chrome/i)&&!le(/android/i),xn=le(/iP(ad|od|hone)/i),hf=le(/chrome/i)&&le(/android/i),cf={capture:!1,passive:!1};function C0(s,i,e){s.addEventListener(i,e,!ue&&cf)}function m0(s,i,e){s.removeEventListener(i,e,!ue&&cf)}function Ur(s,i){if(i){if(i[0]===">"&&(i=i.substring(1)),s)try{if(s.matches)return s.matches(i);if(s.msMatchesSelector)return s.msMatchesSelector(i);if(s.webkitMatchesSelector)return s.webkitMatchesSelector(i)}catch(e){return!1}return!1}}function df(s){return s.host&&s!==document&&s.host.nodeType?s.host:s.parentNode}function Ji(s,i,e,r){if(s){e=e||document;do{if(i!=null&&(i[0]===">"?s.parentNode===e&&Ur(s,i):Ur(s,i))||r&&s===e)return s;if(s===e)break}while(s=df(s))}return null}var of=/\s+/g;function Zi(s,i,e){if(s&&i)if(s.classList)s.classList[e?"add":"remove"](i);else{var r=(" "+s.className+" ").replace(of," ").replace(" "+i+" "," ");s.className=(r+(e?" "+i:"")).replace(of," ")}}function A0(s,i,e){var r=s&&s.style;if(r){if(e===void 0)return document.defaultView&&document.defaultView.getComputedStyle?e=document.defaultView.getComputedStyle(s,""):s.currentStyle&&(e=s.currentStyle),i===void 0?e:e[i];!(i in r)&&i.indexOf("webkit")===-1&&(i="-webkit-"+i),r[i]=e+(typeof e=="string"?"":"px")}}function Z2(s,i){var e="";if(typeof s=="string")e=s;else do{var r=A0(s,"transform");r&&r!=="none"&&(e=r+" "+e)}while(!i&&(s=s.parentNode));var t=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return t&&new t(e)}function bf(s,i,e){if(s){var r=s.getElementsByTagName(i),t=0,n=r.length;if(e)for(;t<n;t++)e(r[t],t);return r}return[]}function te(){var s=document.scrollingElement;return s||document.documentElement}function ii(s,i,e,r,t){if(!(!s.getBoundingClientRect&&s!==window)){var n,f,o,a,A,l,k;if(s!==window&&s.parentNode&&s!==te()?(n=s.getBoundingClientRect(),f=n.top,o=n.left,a=n.bottom,A=n.right,l=n.height,k=n.width):(f=0,o=0,a=window.innerHeight,A=window.innerWidth,l=window.innerHeight,k=window.innerWidth),(i||e)&&s!==window&&(t=t||s.parentNode,!ue))do if(t&&t.getBoundingClientRect&&(A0(t,"transform")!=="none"||e&&A0(t,"position")!=="static")){var u=t.getBoundingClientRect();f-=u.top+parseInt(A0(t,"border-top-width")),o-=u.left+parseInt(A0(t,"border-left-width")),a=f+n.height,A=o+n.width;break}while(t=t.parentNode);if(r&&s!==window){var h=Z2(t||s),c=h&&h.a,d=h&&h.d;h&&(f/=d,o/=c,k/=c,l/=d,a=f+l,A=o+k)}return{top:f,left:o,bottom:a,right:A,width:k,height:l}}}function af(s,i,e){for(var r=Ie(s,!0),t=ii(s)[i];r;){var n=ii(r)[e],f=void 0;if(e==="top"||e==="left"?f=t>=n:f=t<=n,!f)return r;if(r===te())break;r=Ie(r,!1)}return!1}function I2(s,i,e,r){for(var t=0,n=0,f=s.children;n<f.length;){if(f[n].style.display!=="none"&&f[n]!==l0.ghost&&(r||f[n]!==l0.dragged)&&Ji(f[n],e.draggable,s,!1)){if(t===i)return f[n];t++}n++}return null}function Zn(s,i){for(var e=s.lastElementChild;e&&(e===l0.ghost||A0(e,"display")==="none"||i&&!Ur(e,i));)e=e.previousElementSibling;return e||null}function Di(s,i){var e=0;if(!s||!s.parentNode)return-1;for(;s=s.previousElementSibling;)s.nodeName.toUpperCase()!=="TEMPLATE"&&s!==l0.clone&&(!i||Ur(s,i))&&e++;return e}function sf(s){var i=0,e=0,r=te();if(s)do{var t=Z2(s),n=t.a,f=t.d;i+=s.scrollLeft*n,e+=s.scrollTop*f}while(s!==r&&(s=s.parentNode));return[i,e]}function ns(s,i){for(var e in s)if(s.hasOwnProperty(e)){for(var r in i)if(i.hasOwnProperty(r)&&i[r]===s[e][r])return Number(e)}return-1}function Ie(s,i){if(!s||!s.getBoundingClientRect)return te();var e=s,r=!1;do if(e.clientWidth<e.scrollWidth||e.clientHeight<e.scrollHeight){var t=A0(e);if(e.clientWidth<e.scrollWidth&&(t.overflowX=="auto"||t.overflowX=="scroll")||e.clientHeight<e.scrollHeight&&(t.overflowY=="auto"||t.overflowY=="scroll")){if(!e.getBoundingClientRect||e===document.body)return te();if(r||i)return e;r=!0}}while(e=e.parentNode);return te()}function fs(s,i){if(s&&i)for(var e in i)i.hasOwnProperty(e)&&(s[e]=i[e]);return s}function hn(s,i){return Math.round(s.top)===Math.round(i.top)&&Math.round(s.left)===Math.round(i.left)&&Math.round(s.height)===Math.round(i.height)&&Math.round(s.width)===Math.round(i.width)}var tr;function gf(s,i){return function(){if(!tr){var e=arguments,r=this;e.length===1?s.call(r,e[0]):s.apply(r,e),tr=setTimeout(function(){tr=void 0},i)}}}function os(){clearTimeout(tr),tr=void 0}function pf(s,i,e){s.scrollLeft+=i,s.scrollTop+=e}function mf(s){var i=window.Polymer,e=window.jQuery||window.Zepto;return i&&i.dom?i.dom(s).cloneNode(!0):e?e(s).clone(!0)[0]:s.cloneNode(!0)}function vf(s,i,e){var r={};return Array.from(s.children).forEach(function(t){var n,f,o,a;if(!(!Ji(t,i.draggable,s,!1)||t.animated||t===e)){var A=ii(t);r.left=Math.min((n=r.left)!==null&&n!==void 0?n:1/0,A.left),r.top=Math.min((f=r.top)!==null&&f!==void 0?f:1/0,A.top),r.right=Math.max((o=r.right)!==null&&o!==void 0?o:-1/0,A.right),r.bottom=Math.max((a=r.bottom)!==null&&a!==void 0?a:-1/0,A.bottom)}}),r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}var _i="Sortable"+new Date().getTime();function as(){var s=[],i;return{captureAnimationState:function(){if(s=[],!!this.options.animation){var r=[].slice.call(this.el.children);r.forEach(function(t){if(!(A0(t,"display")==="none"||t===l0.ghost)){s.push({target:t,rect:ii(t)});var n=ne({},s[s.length-1].rect);if(t.thisAnimationDuration){var f=Z2(t,!0);f&&(n.top-=f.f,n.left-=f.e)}t.fromRect=n}})}},addAnimationState:function(r){s.push(r)},removeAnimationState:function(r){s.splice(ns(s,{target:r}),1)},animateAll:function(r){var t=this;if(!this.options.animation){clearTimeout(i),typeof r=="function"&&r();return}var n=!1,f=0;s.forEach(function(o){var a=0,A=o.target,l=A.fromRect,k=ii(A),u=A.prevFromRect,h=A.prevToRect,c=o.rect,d=Z2(A,!0);d&&(k.top-=d.f,k.left-=d.e),A.toRect=k,A.thisAnimationDuration&&hn(u,k)&&!hn(l,k)&&(c.top-k.top)/(c.left-k.left)===(l.top-k.top)/(l.left-k.left)&&(a=As(c,u,h,t.options)),hn(k,l)||(A.prevFromRect=l,A.prevToRect=k,a||(a=t.options.animation),t.animate(A,c,k,a)),a&&(n=!0,f=Math.max(f,a),clearTimeout(A.animationResetTimer),A.animationResetTimer=setTimeout(function(){A.animationTime=0,A.prevFromRect=null,A.fromRect=null,A.prevToRect=null,A.thisAnimationDuration=null},a),A.thisAnimationDuration=a)}),clearTimeout(i),n?i=setTimeout(function(){typeof r=="function"&&r()},f):typeof r=="function"&&r(),s=[]},animate:function(r,t,n,f){if(f){A0(r,"transition",""),A0(r,"transform","");var o=Z2(this.el),a=o&&o.a,A=o&&o.d,l=(t.left-n.left)/(a||1),k=(t.top-n.top)/(A||1);r.animatingX=!!l,r.animatingY=!!k,A0(r,"transform","translate3d("+l+"px,"+k+"px,0)"),this.forRepaintDummy=ss(r),A0(r,"transition","transform "+f+"ms"+(this.options.easing?" "+this.options.easing:"")),A0(r,"transform","translate3d(0,0,0)"),typeof r.animated=="number"&&clearTimeout(r.animated),r.animated=setTimeout(function(){A0(r,"transition",""),A0(r,"transform",""),r.animated=!1,r.animatingX=!1,r.animatingY=!1},f)}}}}function ss(s){return s.offsetWidth}function As(s,i,e,r){return Math.sqrt(Math.pow(i.top-s.top,2)+Math.pow(i.left-s.left,2))/Math.sqrt(Math.pow(i.top-e.top,2)+Math.pow(i.left-e.left,2))*r.animation}var C2=[],cn={initializeByDefault:!0},sr={mount:function(i){for(var e in cn)cn.hasOwnProperty(e)&&!(e in i)&&(i[e]=cn[e]);C2.forEach(function(r){if(r.pluginName===i.pluginName)throw"Sortable: Cannot mount plugin ".concat(i.pluginName," more than once")}),C2.push(i)},pluginEvent:function(i,e,r){var t=this;this.eventCanceled=!1,r.cancel=function(){t.eventCanceled=!0};var n=i+"Global";C2.forEach(function(f){e[f.pluginName]&&(e[f.pluginName][n]&&e[f.pluginName][n](ne({sortable:e},r)),e.options[f.pluginName]&&e[f.pluginName][i]&&e[f.pluginName][i](ne({sortable:e},r)))})},initializePlugins:function(i,e,r,t){C2.forEach(function(o){var a=o.pluginName;if(!(!i.options[a]&&!o.initializeByDefault)){var A=new o(i,e,i.options);A.sortable=i,A.options=i.options,i[a]=A,ke(r,A.defaults)}});for(var n in i.options)if(i.options.hasOwnProperty(n)){var f=this.modifyOption(i,n,i.options[n]);typeof f!="undefined"&&(i.options[n]=f)}},getEventProperties:function(i,e){var r={};return C2.forEach(function(t){typeof t.eventProperties=="function"&&ke(r,t.eventProperties.call(e[t.pluginName],i))}),r},modifyOption:function(i,e,r){var t;return C2.forEach(function(n){i[n.pluginName]&&n.optionListeners&&typeof n.optionListeners[e]=="function"&&(t=n.optionListeners[e].call(i[n.pluginName],r))}),t}};function ls(s){var i=s.sortable,e=s.rootEl,r=s.name,t=s.targetEl,n=s.cloneEl,f=s.toEl,o=s.fromEl,a=s.oldIndex,A=s.newIndex,l=s.oldDraggableIndex,k=s.newDraggableIndex,u=s.originalEvent,h=s.putSortable,c=s.extraEventProperties;if(i=i||e&&e[_i],!!i){var d,b=i.options,g="on"+r.charAt(0).toUpperCase()+r.substr(1);window.CustomEvent&&!ue&&!ar?d=new CustomEvent(r,{bubbles:!0,cancelable:!0}):(d=document.createEvent("Event"),d.initEvent(r,!0,!0)),d.to=f||e,d.from=o||e,d.item=t||e,d.clone=n,d.oldIndex=a,d.newIndex=A,d.oldDraggableIndex=l,d.newDraggableIndex=k,d.originalEvent=u,d.pullMode=h?h.lastPutMode:void 0;var v=ne(ne({},c),sr.getEventProperties(r,i));for(var w in v)d[w]=v[w];e&&e.dispatchEvent(d),b[g]&&b[g].call(i,d)}}var ks=["evt"],wi=function(i,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},t=r.evt,n=rs(r,ks);sr.pluginEvent.bind(l0)(i,e,ne({dragEl:e0,parentEl:O0,ghostEl:u0,rootEl:R0,nextEl:ze,lastDownEl:Or,cloneEl:Y0,cloneHidden:Ze,dragStarted:K2,putSortable:oi,activeSortable:l0.active,originalEvent:t,oldIndex:x2,oldDraggableIndex:nr,newIndex:Ii,newDraggableIndex:xe,hideGhostForTarget:yf,unhideGhostForTarget:Bf,cloneNowHidden:function(){Ze=!0},cloneNowShown:function(){Ze=!1},dispatchSortableEvent:function(o){ui({sortable:e,name:o,originalEvent:t})}},n))};function ui(s){ls(ne({putSortable:oi,cloneEl:Y0,targetEl:e0,rootEl:R0,oldIndex:x2,oldDraggableIndex:nr,newIndex:Ii,newDraggableIndex:xe},s))}var e0,O0,u0,R0,ze,Or,Y0,Ze,x2,Ii,nr,xe,Rr,oi,B2=!1,jr=!1,Lr=[],Ye,zi,dn,bn,Af,lf,K2,y2,fr,or=!1,Pr=!1,zr,li,gn=[],_n=!1,$r=[],Kr=typeof document!="undefined",Nr=xn,kf=ar||ue?"cssFloat":"float",us=Kr&&!hf&&!xn&&"draggable"in document.createElement("div"),wf=function(){if(Kr){if(ue)return!1;var s=document.createElement("x");return s.style.cssText="pointer-events:auto",s.style.pointerEvents==="auto"}}(),_f=function(i,e){var r=A0(i),t=parseInt(r.width)-parseInt(r.paddingLeft)-parseInt(r.paddingRight)-parseInt(r.borderLeftWidth)-parseInt(r.borderRightWidth),n=I2(i,0,e),f=I2(i,1,e),o=n&&A0(n),a=f&&A0(f),A=o&&parseInt(o.marginLeft)+parseInt(o.marginRight)+ii(n).width,l=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+ii(f).width;if(r.display==="flex")return r.flexDirection==="column"||r.flexDirection==="column-reverse"?"vertical":"horizontal";if(r.display==="grid")return r.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(n&&o.float&&o.float!=="none"){var k=o.float==="left"?"left":"right";return f&&(a.clear==="both"||a.clear===k)?"vertical":"horizontal"}return n&&(o.display==="block"||o.display==="flex"||o.display==="table"||o.display==="grid"||A>=t&&r[kf]==="none"||f&&r[kf]==="none"&&A+l>t)?"vertical":"horizontal"},hs=function(i,e,r){var t=r?i.left:i.top,n=r?i.right:i.bottom,f=r?i.width:i.height,o=r?e.left:e.top,a=r?e.right:e.bottom,A=r?e.width:e.height;return t===o||n===a||t+f/2===o+A/2},cs=function(i,e){var r;return Lr.some(function(t){var n=t[_i].options.emptyInsertThreshold;if(!(!n||Zn(t))){var f=ii(t),o=i>=f.left-n&&i<=f.right+n,a=e>=f.top-n&&e<=f.bottom+n;if(o&&a)return r=t}}),r},Cf=function(i){function e(n,f){return function(o,a,A,l){var k=o.options.group.name&&a.options.group.name&&o.options.group.name===a.options.group.name;if(n==null&&(f||k))return!0;if(n==null||n===!1)return!1;if(f&&n==="clone")return n;if(typeof n=="function")return e(n(o,a,A,l),f)(o,a,A,l);var u=(f?o:a).options.group.name;return n===!0||typeof n=="string"&&n===u||n.join&&n.indexOf(u)>-1}}var r={},t=i.group;(!t||Yr(t)!="object")&&(t={name:t}),r.name=t.name,r.checkPull=e(t.pull,!0),r.checkPut=e(t.put),r.revertClone=t.revertClone,i.group=r},yf=function(){!wf&&u0&&A0(u0,"display","none")},Bf=function(){!wf&&u0&&A0(u0,"display","")};Kr&&!hf&&document.addEventListener("click",function(s){if(jr)return s.preventDefault(),s.stopPropagation&&s.stopPropagation(),s.stopImmediatePropagation&&s.stopImmediatePropagation(),jr=!1,!1},!0);var Oe=function(i){if(e0){i=i.touches?i.touches[0]:i;var e=cs(i.clientX,i.clientY);if(e){var r={};for(var t in i)i.hasOwnProperty(t)&&(r[t]=i[t]);r.target=r.rootEl=e,r.preventDefault=void 0,r.stopPropagation=void 0,e[_i]._onDragOver(r)}}},ds=function(i){e0&&e0.parentNode[_i]._isOutsideThisEl(i.target)};function l0(s,i){if(!(s&&s.nodeType&&s.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(s));this.el=s,this.options=i=ke({},i),s[_i]=this;var e={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(s.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return _f(s,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(f,o){f.setData("Text",o.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:l0.supportPointer!==!1&&"PointerEvent"in window&&(!rr||xn),emptyInsertThreshold:5};sr.initializePlugins(this,s,e);for(var r in e)!(r in i)&&(i[r]=e[r]);Cf(i);for(var t in this)t.charAt(0)==="_"&&typeof this[t]=="function"&&(this[t]=this[t].bind(this));this.nativeDraggable=i.forceFallback?!1:us,this.nativeDraggable&&(this.options.touchStartThreshold=1),i.supportPointer?C0(s,"pointerdown",this._onTapStart):(C0(s,"mousedown",this._onTapStart),C0(s,"touchstart",this._onTapStart)),this.nativeDraggable&&(C0(s,"dragover",this),C0(s,"dragenter",this)),Lr.push(this.el),i.store&&i.store.get&&this.sort(i.store.get(this)||[]),ke(this,as())}l0.prototype={constructor:l0,_isOutsideThisEl:function(i){!this.el.contains(i)&&i!==this.el&&(y2=null)},_getDirection:function(i,e){return typeof this.options.direction=="function"?this.options.direction.call(this,i,e,e0):this.options.direction},_onTapStart:function(i){if(i.cancelable){var e=this,r=this.el,t=this.options,n=t.preventOnFilter,f=i.type,o=i.touches&&i.touches[0]||i.pointerType&&i.pointerType==="touch"&&i,a=(o||i).target,A=i.target.shadowRoot&&(i.path&&i.path[0]||i.composedPath&&i.composedPath()[0])||a,l=t.filter;if(Cs(r),!e0&&!(/mousedown|pointerdown/.test(f)&&i.button!==0||t.disabled)&&!A.isContentEditable&&!(!this.nativeDraggable&&rr&&a&&a.tagName.toUpperCase()==="SELECT")&&(a=Ji(a,t.draggable,r,!1),!(a&&a.animated)&&Or!==a)){if(x2=Di(a),nr=Di(a,t.draggable),typeof l=="function"){if(l.call(this,i,a,this)){ui({sortable:e,rootEl:A,name:"filter",targetEl:a,toEl:r,fromEl:r}),wi("filter",e,{evt:i}),n&&i.preventDefault();return}}else if(l&&(l=l.split(",").some(function(k){if(k=Ji(A,k.trim(),r,!1),k)return ui({sortable:e,rootEl:k,name:"filter",targetEl:a,fromEl:r,toEl:r}),wi("filter",e,{evt:i}),!0}),l)){n&&i.preventDefault();return}t.handle&&!Ji(A,t.handle,r,!1)||this._prepareDragStart(i,o,a)}}},_prepareDragStart:function(i,e,r){var t=this,n=t.el,f=t.options,o=n.ownerDocument,a;if(r&&!e0&&r.parentNode===n){var A=ii(r);if(R0=n,e0=r,O0=e0.parentNode,ze=e0.nextSibling,Or=r,Rr=f.group,l0.dragged=e0,Ye={target:e0,clientX:(e||i).clientX,clientY:(e||i).clientY},Af=Ye.clientX-A.left,lf=Ye.clientY-A.top,this._lastX=(e||i).clientX,this._lastY=(e||i).clientY,e0.style["will-change"]="all",a=function(){if(wi("delayEnded",t,{evt:i}),l0.eventCanceled){t._onDrop();return}t._disableDelayedDragEvents(),!ff&&t.nativeDraggable&&(e0.draggable=!0),t._triggerDragStart(i,e),ui({sortable:t,name:"choose",originalEvent:i}),Zi(e0,f.chosenClass,!0)},f.ignore.split(",").forEach(function(l){bf(e0,l.trim(),pn)}),C0(o,"dragover",Oe),C0(o,"mousemove",Oe),C0(o,"touchmove",Oe),f.supportPointer?(C0(o,"pointerup",t._onDrop),!this.nativeDraggable&&C0(o,"pointercancel",t._onDrop)):(C0(o,"mouseup",t._onDrop),C0(o,"touchend",t._onDrop),C0(o,"touchcancel",t._onDrop)),ff&&this.nativeDraggable&&(this.options.touchStartThreshold=4,e0.draggable=!0),wi("delayStart",this,{evt:i}),f.delay&&(!f.delayOnTouchOnly||e)&&(!this.nativeDraggable||!(ar||ue))){if(l0.eventCanceled){this._onDrop();return}f.supportPointer?(C0(o,"pointerup",t._disableDelayedDrag),C0(o,"pointercancel",t._disableDelayedDrag)):(C0(o,"mouseup",t._disableDelayedDrag),C0(o,"touchend",t._disableDelayedDrag),C0(o,"touchcancel",t._disableDelayedDrag)),C0(o,"mousemove",t._delayedDragTouchMoveHandler),C0(o,"touchmove",t._delayedDragTouchMoveHandler),f.supportPointer&&C0(o,"pointermove",t._delayedDragTouchMoveHandler),t._dragStartTimer=setTimeout(a,f.delay)}else a()}},_delayedDragTouchMoveHandler:function(i){var e=i.touches?i.touches[0]:i;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){e0&&pn(e0),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var i=this.el.ownerDocument;m0(i,"mouseup",this._disableDelayedDrag),m0(i,"touchend",this._disableDelayedDrag),m0(i,"touchcancel",this._disableDelayedDrag),m0(i,"pointerup",this._disableDelayedDrag),m0(i,"pointercancel",this._disableDelayedDrag),m0(i,"mousemove",this._delayedDragTouchMoveHandler),m0(i,"touchmove",this._delayedDragTouchMoveHandler),m0(i,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(i,e){e=e||i.pointerType=="touch"&&i,!this.nativeDraggable||e?this.options.supportPointer?C0(document,"pointermove",this._onTouchMove):e?C0(document,"touchmove",this._onTouchMove):C0(document,"mousemove",this._onTouchMove):(C0(e0,"dragend",this),C0(R0,"dragstart",this._onDragStart));try{document.selection?Jr(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch(r){}},_dragStarted:function(i,e){if(B2=!1,R0&&e0){wi("dragStarted",this,{evt:e}),this.nativeDraggable&&C0(document,"dragover",ds);var r=this.options;!i&&Zi(e0,r.dragClass,!1),Zi(e0,r.ghostClass,!0),l0.active=this,i&&this._appendGhost(),ui({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(zi){this._lastX=zi.clientX,this._lastY=zi.clientY,yf();for(var i=document.elementFromPoint(zi.clientX,zi.clientY),e=i;i&&i.shadowRoot&&(i=i.shadowRoot.elementFromPoint(zi.clientX,zi.clientY),i!==e);)e=i;if(e0.parentNode[_i]._isOutsideThisEl(i),e)do{if(e[_i]){var r=void 0;if(r=e[_i]._onDragOver({clientX:zi.clientX,clientY:zi.clientY,target:i,rootEl:e}),r&&!this.options.dragoverBubble)break}i=e}while(e=df(e));Bf()}},_onTouchMove:function(i){if(Ye){var e=this.options,r=e.fallbackTolerance,t=e.fallbackOffset,n=i.touches?i.touches[0]:i,f=u0&&Z2(u0,!0),o=u0&&f&&f.a,a=u0&&f&&f.d,A=Nr&&li&&sf(li),l=(n.clientX-Ye.clientX+t.x)/(o||1)+(A?A[0]-gn[0]:0)/(o||1),k=(n.clientY-Ye.clientY+t.y)/(a||1)+(A?A[1]-gn[1]:0)/(a||1);if(!l0.active&&!B2){if(r&&Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))<r)return;this._onDragStart(i,!0)}if(u0){f?(f.e+=l-(dn||0),f.f+=k-(bn||0)):f={a:1,b:0,c:0,d:1,e:l,f:k};var u="matrix(".concat(f.a,",").concat(f.b,",").concat(f.c,",").concat(f.d,",").concat(f.e,",").concat(f.f,")");A0(u0,"webkitTransform",u),A0(u0,"mozTransform",u),A0(u0,"msTransform",u),A0(u0,"transform",u),dn=l,bn=k,zi=n}i.cancelable&&i.preventDefault()}},_appendGhost:function(){if(!u0){var i=this.options.fallbackOnBody?document.body:R0,e=ii(e0,!0,Nr,!0,i),r=this.options;if(Nr){for(li=i;A0(li,"position")==="static"&&A0(li,"transform")==="none"&&li!==document;)li=li.parentNode;li!==document.body&&li!==document.documentElement?(li===document&&(li=te()),e.top+=li.scrollTop,e.left+=li.scrollLeft):li=te(),gn=sf(li)}u0=e0.cloneNode(!0),Zi(u0,r.ghostClass,!1),Zi(u0,r.fallbackClass,!0),Zi(u0,r.dragClass,!0),A0(u0,"transition",""),A0(u0,"transform",""),A0(u0,"box-sizing","border-box"),A0(u0,"margin",0),A0(u0,"top",e.top),A0(u0,"left",e.left),A0(u0,"width",e.width),A0(u0,"height",e.height),A0(u0,"opacity","0.8"),A0(u0,"position",Nr?"absolute":"fixed"),A0(u0,"zIndex","100000"),A0(u0,"pointerEvents","none"),l0.ghost=u0,i.appendChild(u0),A0(u0,"transform-origin",Af/parseInt(u0.style.width)*100+"% "+lf/parseInt(u0.style.height)*100+"%")}},_onDragStart:function(i,e){var r=this,t=i.dataTransfer,n=r.options;if(wi("dragStart",this,{evt:i}),l0.eventCanceled){this._onDrop();return}wi("setupClone",this),l0.eventCanceled||(Y0=mf(e0),Y0.removeAttribute("id"),Y0.draggable=!1,Y0.style["will-change"]="",this._hideClone(),Zi(Y0,this.options.chosenClass,!1),l0.clone=Y0),r.cloneId=Jr(function(){wi("clone",r),!l0.eventCanceled&&(r.options.removeCloneOnHide||R0.insertBefore(Y0,e0),r._hideClone(),ui({sortable:r,name:"clone"}))}),!e&&Zi(e0,n.dragClass,!0),e?(jr=!0,r._loopId=setInterval(r._emulateDragOver,50)):(m0(document,"mouseup",r._onDrop),m0(document,"touchend",r._onDrop),m0(document,"touchcancel",r._onDrop),t&&(t.effectAllowed="move",n.setData&&n.setData.call(r,t,e0)),C0(document,"drop",r),A0(e0,"transform","translateZ(0)")),B2=!0,r._dragStartId=Jr(r._dragStarted.bind(r,e,i)),C0(document,"selectstart",r),K2=!0,window.getSelection().removeAllRanges(),rr&&A0(document.body,"user-select","none")},_onDragOver:function(i){var e=this.el,r=i.target,t,n,f,o=this.options,a=o.group,A=l0.active,l=Rr===a,k=o.sort,u=oi||A,h,c=this,d=!1;if(_n)return;function b(M,T){wi(M,c,ne({evt:i,isOwner:l,axis:h?"vertical":"horizontal",revert:f,dragRect:t,targetRect:n,canSort:k,fromSortable:u,target:r,completed:v,onMove:function(R,P){return Qr(R0,e,e0,t,R,ii(R),i,P)},changed:w},T))}function g(){b("dragOverAnimationCapture"),c.captureAnimationState(),c!==u&&u.captureAnimationState()}function v(M){return b("dragOverCompleted",{insertion:M}),M&&(l?A._hideClone():A._showClone(c),c!==u&&(Zi(e0,oi?oi.options.ghostClass:A.options.ghostClass,!1),Zi(e0,o.ghostClass,!0)),oi!==c&&c!==l0.active?oi=c:c===l0.active&&oi&&(oi=null),u===c&&(c._ignoreWhileAnimating=r),c.animateAll(function(){b("dragOverAnimationComplete"),c._ignoreWhileAnimating=null}),c!==u&&(u.animateAll(),u._ignoreWhileAnimating=null)),(r===e0&&!e0.animated||r===e&&!r.animated)&&(y2=null),!o.dragoverBubble&&!i.rootEl&&r!==document&&(e0.parentNode[_i]._isOutsideThisEl(i.target),!M&&Oe(i)),!o.dragoverBubble&&i.stopPropagation&&i.stopPropagation(),d=!0}function w(){Ii=Di(e0),xe=Di(e0,o.draggable),ui({sortable:c,name:"change",toEl:e,newIndex:Ii,newDraggableIndex:xe,originalEvent:i})}if(i.preventDefault!==void 0&&i.cancelable&&i.preventDefault(),r=Ji(r,o.draggable,e,!0),b("dragOver"),l0.eventCanceled)return d;if(e0.contains(i.target)||r.animated&&r.animatingX&&r.animatingY||c._ignoreWhileAnimating===r)return v(!1);if(jr=!1,A&&!o.disabled&&(l?k||(f=O0!==R0):oi===this||(this.lastPutMode=Rr.checkPull(this,A,e0,i))&&a.checkPut(this,A,e0,i))){if(h=this._getDirection(i,r)==="vertical",t=ii(e0),b("dragOverValid"),l0.eventCanceled)return d;if(f)return O0=R0,g(),this._hideClone(),b("revert"),l0.eventCanceled||(ze?R0.insertBefore(e0,ze):R0.appendChild(e0)),v(!0);var p=Zn(e,o.draggable);if(!p||ms(i,h,this)&&!p.animated){if(p===e0)return v(!1);if(p&&e===i.target&&(r=p),r&&(n=ii(r)),Qr(R0,e,e0,t,r,n,i,!!r)!==!1)return g(),p&&p.nextSibling?e.insertBefore(e0,p.nextSibling):e.appendChild(e0),O0=e,w(),v(!0)}else if(p&&ps(i,h,this)){var m=I2(e,0,o,!0);if(m===e0)return v(!1);if(r=m,n=ii(r),Qr(R0,e,e0,t,r,n,i,!1)!==!1)return g(),e.insertBefore(e0,m),O0=e,w(),v(!0)}else if(r.parentNode===e){n=ii(r);var C=0,y,Z=e0.parentNode!==e,_=!hs(e0.animated&&e0.toRect||t,r.animated&&r.toRect||n,h),x=h?"top":"left",B=af(r,"top","top")||af(e0,"top","top"),I=B?B.scrollTop:void 0;y2!==r&&(y=n[x],or=!1,Pr=!_&&o.invertSwap||Z),C=vs(i,r,n,h,_?1:o.swapThreshold,o.invertedSwapThreshold==null?o.swapThreshold:o.invertedSwapThreshold,Pr,y2===r);var W;if(C!==0){var F=Di(e0);do F-=C,W=O0.children[F];while(W&&(A0(W,"display")==="none"||W===u0))}if(C===0||W===r)return v(!1);y2=r,fr=C;var X=r.nextElementSibling,E=!1;E=C===1;var S=Qr(R0,e,e0,t,r,n,i,E);if(S!==!1)return(S===1||S===-1)&&(E=S===1),_n=!0,setTimeout(gs,30),g(),E&&!X?e.appendChild(e0):r.parentNode.insertBefore(e0,E?X:r),B&&pf(B,0,I-B.scrollTop),O0=e0.parentNode,y!==void 0&&!Pr&&(zr=Math.abs(y-ii(r)[x])),w(),v(!0)}if(e.contains(e0))return v(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){m0(document,"mousemove",this._onTouchMove),m0(document,"touchmove",this._onTouchMove),m0(document,"pointermove",this._onTouchMove),m0(document,"dragover",Oe),m0(document,"mousemove",Oe),m0(document,"touchmove",Oe)},_offUpEvents:function(){var i=this.el.ownerDocument;m0(i,"mouseup",this._onDrop),m0(i,"touchend",this._onDrop),m0(i,"pointerup",this._onDrop),m0(i,"pointercancel",this._onDrop),m0(i,"touchcancel",this._onDrop),m0(document,"selectstart",this)},_onDrop:function(i){var e=this.el,r=this.options;if(Ii=Di(e0),xe=Di(e0,r.draggable),wi("drop",this,{evt:i}),O0=e0&&e0.parentNode,Ii=Di(e0),xe=Di(e0,r.draggable),l0.eventCanceled){this._nulling();return}B2=!1,Pr=!1,or=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Cn(this.cloneId),Cn(this._dragStartId),this.nativeDraggable&&(m0(document,"drop",this),m0(e,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),rr&&A0(document.body,"user-select",""),A0(e0,"transform",""),i&&(K2&&(i.cancelable&&i.preventDefault(),!r.dropBubble&&i.stopPropagation()),u0&&u0.parentNode&&u0.parentNode.removeChild(u0),(R0===O0||oi&&oi.lastPutMode!=="clone")&&Y0&&Y0.parentNode&&Y0.parentNode.removeChild(Y0),e0&&(this.nativeDraggable&&m0(e0,"dragend",this),pn(e0),e0.style["will-change"]="",K2&&!B2&&Zi(e0,oi?oi.options.ghostClass:this.options.ghostClass,!1),Zi(e0,this.options.chosenClass,!1),ui({sortable:this,name:"unchoose",toEl:O0,newIndex:null,newDraggableIndex:null,originalEvent:i}),R0!==O0?(Ii>=0&&(ui({rootEl:O0,name:"add",toEl:O0,fromEl:R0,originalEvent:i}),ui({sortable:this,name:"remove",toEl:O0,originalEvent:i}),ui({rootEl:O0,name:"sort",toEl:O0,fromEl:R0,originalEvent:i}),ui({sortable:this,name:"sort",toEl:O0,originalEvent:i})),oi&&oi.save()):Ii!==x2&&Ii>=0&&(ui({sortable:this,name:"update",toEl:O0,originalEvent:i}),ui({sortable:this,name:"sort",toEl:O0,originalEvent:i})),l0.active&&((Ii==null||Ii===-1)&&(Ii=x2,xe=nr),ui({sortable:this,name:"end",toEl:O0,originalEvent:i}),this.save()))),this._nulling()},_nulling:function(){wi("nulling",this),R0=e0=O0=u0=ze=Y0=Or=Ze=Ye=zi=K2=Ii=xe=x2=nr=y2=fr=oi=Rr=l0.dragged=l0.ghost=l0.clone=l0.active=null,$r.forEach(function(i){i.checked=!0}),$r.length=dn=bn=0},handleEvent:function(i){switch(i.type){case"drop":case"dragend":this._onDrop(i);break;case"dragenter":case"dragover":e0&&(this._onDragOver(i),bs(i));break;case"selectstart":i.preventDefault();break}},toArray:function(){for(var i=[],e,r=this.el.children,t=0,n=r.length,f=this.options;t<n;t++)e=r[t],Ji(e,f.draggable,this.el,!1)&&i.push(e.getAttribute(f.dataIdAttr)||_s(e));return i},sort:function(i,e){var r={},t=this.el;this.toArray().forEach(function(n,f){var o=t.children[f];Ji(o,this.options.draggable,t,!1)&&(r[n]=o)},this),e&&this.captureAnimationState(),i.forEach(function(n){r[n]&&(t.removeChild(r[n]),t.appendChild(r[n]))}),e&&this.animateAll()},save:function(){var i=this.options.store;i&&i.set&&i.set(this)},closest:function(i,e){return Ji(i,e||this.options.draggable,this.el,!1)},option:function(i,e){var r=this.options;if(e===void 0)return r[i];var t=sr.modifyOption(this,i,e);typeof t!="undefined"?r[i]=t:r[i]=e,i==="group"&&Cf(r)},destroy:function(){wi("destroy",this);var i=this.el;i[_i]=null,m0(i,"mousedown",this._onTapStart),m0(i,"touchstart",this._onTapStart),m0(i,"pointerdown",this._onTapStart),this.nativeDraggable&&(m0(i,"dragover",this),m0(i,"dragenter",this)),Array.prototype.forEach.call(i.querySelectorAll("[draggable]"),function(e){e.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),Lr.splice(Lr.indexOf(this.el),1),this.el=i=null},_hideClone:function(){if(!Ze){if(wi("hideClone",this),l0.eventCanceled)return;A0(Y0,"display","none"),this.options.removeCloneOnHide&&Y0.parentNode&&Y0.parentNode.removeChild(Y0),Ze=!0}},_showClone:function(i){if(i.lastPutMode!=="clone"){this._hideClone();return}if(Ze){if(wi("showClone",this),l0.eventCanceled)return;e0.parentNode==R0&&!this.options.group.revertClone?R0.insertBefore(Y0,e0):ze?R0.insertBefore(Y0,ze):R0.appendChild(Y0),this.options.group.revertClone&&this.animate(e0,Y0),A0(Y0,"display",""),Ze=!1}}};function bs(s){s.dataTransfer&&(s.dataTransfer.dropEffect="move"),s.cancelable&&s.preventDefault()}function Qr(s,i,e,r,t,n,f,o){var a,A=s[_i],l=A.options.onMove,k;return window.CustomEvent&&!ue&&!ar?a=new CustomEvent("move",{bubbles:!0,cancelable:!0}):(a=document.createEvent("Event"),a.initEvent("move",!0,!0)),a.to=i,a.from=s,a.dragged=e,a.draggedRect=r,a.related=t||i,a.relatedRect=n||ii(i),a.willInsertAfter=o,a.originalEvent=f,s.dispatchEvent(a),l&&(k=l.call(A,a,f)),k}function pn(s){s.draggable=!1}function gs(){_n=!1}function ps(s,i,e){var r=ii(I2(e.el,0,e.options,!0)),t=vf(e.el,e.options,u0),n=10;return i?s.clientX<t.left-n||s.clientY<r.top&&s.clientX<r.right:s.clientY<t.top-n||s.clientY<r.bottom&&s.clientX<r.left}function ms(s,i,e){var r=ii(Zn(e.el,e.options.draggable)),t=vf(e.el,e.options,u0),n=10;return i?s.clientX>t.right+n||s.clientY>r.bottom&&s.clientX>r.left:s.clientY>t.bottom+n||s.clientX>r.right&&s.clientY>r.top}function vs(s,i,e,r,t,n,f,o){var a=r?s.clientY:s.clientX,A=r?e.height:e.width,l=r?e.top:e.left,k=r?e.bottom:e.right,u=!1;if(!f){if(o&&zr<A*t){if(!or&&(fr===1?a>l+A*n/2:a<k-A*n/2)&&(or=!0),or)u=!0;else if(fr===1?a<l+zr:a>k-zr)return-fr}else if(a>l+A*(1-t)/2&&a<k-A*(1-t)/2)return ws(i)}return u=u||f,u&&(a<l+A*n/2||a>k-A*n/2)?a>l+A/2?1:-1:0}function ws(s){return Di(e0)<Di(s)?1:-1}function _s(s){for(var i=s.tagName+s.className+s.src+s.href+s.textContent,e=i.length,r=0;e--;)r+=i.charCodeAt(e);return r.toString(36)}function Cs(s){$r.length=0;for(var i=s.getElementsByTagName("input"),e=i.length;e--;){var r=i[e];r.checked&&$r.push(r)}}function Jr(s){return setTimeout(s,0)}function Cn(s){return clearTimeout(s)}Kr&&C0(document,"touchmove",function(s){(l0.active||B2)&&s.cancelable&&s.preventDefault()});l0.utils={on:C0,off:m0,css:A0,find:bf,is:function(i,e){return!!Ji(i,e,i,!1)},extend:fs,throttle:gf,closest:Ji,toggleClass:Zi,clone:mf,index:Di,nextTick:Jr,cancelNextTick:Cn,detectDirection:_f,getChild:I2,expando:_i};l0.get=function(s){return s[_i]};l0.mount=function(){for(var s=arguments.length,i=new Array(s),e=0;e<s;e++)i[e]=arguments[e];i[0].constructor===Array&&(i=i[0]),i.forEach(function(r){if(!r.prototype||!r.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(r));r.utils&&(l0.utils=ne(ne({},l0.utils),r.utils)),sr.mount(r)})};l0.create=function(s,i){return new l0(s,i)};l0.version=ts;var K0=[],ir,yn,Bn=!1,mn,vn,qr,er;function ys(){function s(){this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0};for(var i in this)i.charAt(0)==="_"&&typeof this[i]=="function"&&(this[i]=this[i].bind(this))}return s.prototype={dragStarted:function(e){var r=e.originalEvent;this.sortable.nativeDraggable?C0(document,"dragover",this._handleAutoScroll):this.options.supportPointer?C0(document,"pointermove",this._handleFallbackAutoScroll):r.touches?C0(document,"touchmove",this._handleFallbackAutoScroll):C0(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(e){var r=e.originalEvent;!this.options.dragOverBubble&&!r.rootEl&&this._handleAutoScroll(r)},drop:function(){this.sortable.nativeDraggable?m0(document,"dragover",this._handleAutoScroll):(m0(document,"pointermove",this._handleFallbackAutoScroll),m0(document,"touchmove",this._handleFallbackAutoScroll),m0(document,"mousemove",this._handleFallbackAutoScroll)),uf(),Hr(),os()},nulling:function(){qr=yn=ir=Bn=er=mn=vn=null,K0.length=0},_handleFallbackAutoScroll:function(e){this._handleAutoScroll(e,!0)},_handleAutoScroll:function(e,r){var t=this,n=(e.touches?e.touches[0]:e).clientX,f=(e.touches?e.touches[0]:e).clientY,o=document.elementFromPoint(n,f);if(qr=e,r||this.options.forceAutoScrollFallback||ar||ue||rr){wn(e,this.options,o,r);var a=Ie(o,!0);Bn&&(!er||n!==mn||f!==vn)&&(er&&uf(),er=setInterval(function(){var A=Ie(document.elementFromPoint(n,f),!0);A!==a&&(a=A,Hr()),wn(e,t.options,A,r)},10),mn=n,vn=f)}else{if(!this.options.bubbleScroll||Ie(o,!0)===te()){Hr();return}wn(e,this.options,Ie(o,!1),!1)}}},ke(s,{pluginName:"scroll",initializeByDefault:!0})}function Hr(){K0.forEach(function(s){clearInterval(s.pid)}),K0=[]}function uf(){clearInterval(er)}var wn=gf(function(s,i,e,r){if(i.scroll){var t=(s.touches?s.touches[0]:s).clientX,n=(s.touches?s.touches[0]:s).clientY,f=i.scrollSensitivity,o=i.scrollSpeed,a=te(),A=!1,l;yn!==e&&(yn=e,Hr(),ir=i.scroll,l=i.scrollFn,ir===!0&&(ir=Ie(e,!0)));var k=0,u=ir;do{var h=u,c=ii(h),d=c.top,b=c.bottom,g=c.left,v=c.right,w=c.width,p=c.height,m=void 0,C=void 0,y=h.scrollWidth,Z=h.scrollHeight,_=A0(h),x=h.scrollLeft,B=h.scrollTop;h===a?(m=w<y&&(_.overflowX==="auto"||_.overflowX==="scroll"||_.overflowX==="visible"),C=p<Z&&(_.overflowY==="auto"||_.overflowY==="scroll"||_.overflowY==="visible")):(m=w<y&&(_.overflowX==="auto"||_.overflowX==="scroll"),C=p<Z&&(_.overflowY==="auto"||_.overflowY==="scroll"));var I=m&&(Math.abs(v-t)<=f&&x+w<y)-(Math.abs(g-t)<=f&&!!x),W=C&&(Math.abs(b-n)<=f&&B+p<Z)-(Math.abs(d-n)<=f&&!!B);if(!K0[k])for(var F=0;F<=k;F++)K0[F]||(K0[F]={});(K0[k].vx!=I||K0[k].vy!=W||K0[k].el!==h)&&(K0[k].el=h,K0[k].vx=I,K0[k].vy=W,clearInterval(K0[k].pid),(I!=0||W!=0)&&(A=!0,K0[k].pid=setInterval(function(){r&&this.layer===0&&l0.active._onTouchMove(qr);var X=K0[this.layer].vy?K0[this.layer].vy*o:0,E=K0[this.layer].vx?K0[this.layer].vx*o:0;typeof l=="function"&&l.call(l0.dragged.parentNode[_i],E,X,s,qr,K0[this.layer].el)!=="continue"||pf(K0[this.layer].el,E,X)}.bind({layer:k}),24))),k++}while(i.bubbleScroll&&u!==a&&(u=Ie(u,!1)));Bn=A}},30),xf=function(i){var e=i.originalEvent,r=i.putSortable,t=i.dragEl,n=i.activeSortable,f=i.dispatchSortableEvent,o=i.hideGhostForTarget,a=i.unhideGhostForTarget;if(e){var A=r||n;o();var l=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e,k=document.elementFromPoint(l.clientX,l.clientY);a(),A&&!A.el.contains(k)&&(f("spill"),this.onSpill({dragEl:t,putSortable:r}))}};function In(){}In.prototype={startIndex:null,dragStart:function(i){var e=i.oldDraggableIndex;this.startIndex=e},onSpill:function(i){var e=i.dragEl,r=i.putSortable;this.sortable.captureAnimationState(),r&&r.captureAnimationState();var t=I2(this.sortable.el,this.startIndex,this.options);t?this.sortable.el.insertBefore(e,t):this.sortable.el.appendChild(e),this.sortable.animateAll(),r&&r.animateAll()},drop:xf};ke(In,{pluginName:"revertOnSpill"});function En(){}En.prototype={onSpill:function(i){var e=i.dragEl,r=i.putSortable,t=r||this.sortable;t.captureAnimationState(),e.parentNode&&e.parentNode.removeChild(e),t.animateAll()},drop:xf};ke(En,{pluginName:"removeOnSpill"});l0.mount(new ys);l0.mount(En,In);var Zf=l0;var Ci={folderPresets:[{type:"DEFAULT",name:"Default (Obsidian setting)"},{type:"ROOT",name:"Root folder"},{type:"CURRENT",name:"Same folder as current note"}],selectedFolderPreset:"Default (Obsidian setting)",filenamePresets:[{name:"Keep original name",customTemplate:"{imagename}",skipRenamePatterns:"",conflictResolution:"increment"},{name:"NoteName-Timestamp",customTemplate:"{notename}-{timestamp}",skipRenamePatterns:"",conflictResolution:"increment"}],selectedFilenamePreset:"Keep original name",outputFormat:"NONE",quality:100,colorDepth:1,pngquantQuality:"65-80",ffmpegExecutablePath:"",ffmpegCrf:23,ffmpegPreset:"medium",resizeMode:"None",desiredWidth:800,desiredHeight:600,desiredLongestEdge:1e3,enlargeOrReduce:"Auto",allowLargerFiles:!1,showPresetModal:{folder:!1,filename:!1},subfolderTemplate:"",conversionPresets:[{name:"None",outputFormat:"NONE",quality:100,colorDepth:1,resizeMode:"None",desiredWidth:800,desiredHeight:600,desiredLongestEdge:1e3,enlargeOrReduce:"Auto",allowLargerFiles:!1,skipConversionPatterns:"",pngquantExecutablePath:"",pngquantQuality:"65-80",ffmpegExecutablePath:"",ffmpegCrf:23,ffmpegPreset:"medium"},{name:"WEBP (75, no resizing)",outputFormat:"WEBP",quality:75,colorDepth:1,resizeMode:"None",desiredWidth:800,desiredHeight:600,desiredLongestEdge:1e3,enlargeOrReduce:"Auto",allowLargerFiles:!1,skipConversionPatterns:"",pngquantExecutablePath:"",pngquantQuality:"65-80",ffmpegExecutablePath:"",ffmpegCrf:23,ffmpegPreset:"medium"},{name:"PNGQUANT (65-80, no resizing)",outputFormat:"PNGQUANT",quality:75,colorDepth:1,resizeMode:"None",desiredWidth:800,desiredHeight:600,desiredLongestEdge:1e3,enlargeOrReduce:"Auto",allowLargerFiles:!1,skipConversionPatterns:"",pngquantExecutablePath:"",pngquantQuality:"65-80",ffmpegExecutablePath:"",ffmpegCrf:23,ffmpegPreset:"medium"}],selectedConversionPreset:"None",globalPresets:[{name:"WebP 75",folderPreset:"Default (Obsidian setting)",filenamePreset:"NoteName-Timestamp",conversionPreset:"WEBP (75, no resizing)",linkFormatPreset:"Default (Wikilink, Shortest)",resizePreset:"Default (No Resize)"}],selectedGlobalPreset:"",linkFormatSettings:new Mr,nonDestructiveResizeSettings:new Tr,resizeCursorLocation:"none",dropPasteCursorLocation:"back",neverProcessFilenames:"",modalBehavior:"never",singleImageModalSettings:void 0,ProcessCurrentNoteconvertTo:"webp",ProcessCurrentNotequality:.75,ProcessCurrentNoteResizeModalresizeMode:"None",ProcessCurrentNoteresizeModaldesiredWidth:600,ProcessCurrentNoteresizeModaldesiredHeight:800,ProcessCurrentNoteresizeModaldesiredLength:800,ProcessCurrentNoteskipImagesInTargetFormat:!1,ProcessCurrentNoteEnlargeOrReduce:"Always",ProcessCurrentNoteSkipFormats:"tif,tiff,heic",ProcessAllVaultconvertTo:"disabled",ProcessAllVaultquality:.75,ProcessAllVaultResizeModalresizeMode:"None",ProcessAllVaultResizeModaldesiredWidth:500,ProcessAllVaultResizeModaldesiredHeight:500,ProcessAllVaultResizeModaldesiredLength:500,ProcessAllVaultEnlargeOrReduce:"Always",ProcessAllVaultSkipFormats:"",ProcessAllVaultskipImagesInTargetFormat:!1,annotationPresets:{drawing:Array(3).fill({color:"#000000",opacity:1,blendMode:"source-over",size:2}),arrow:Array(3).fill({color:"#000000",opacity:1,blendMode:"source-over",size:8}),text:Array(3).fill({color:"#000000",opacity:1,blendMode:"source-over",size:24,backgroundColor:"transparent",backgroundOpacity:.7})},isImageAlignmentEnabled:!0,imageAlignment_cacheCleanupInterval:36e5,imageAlignment_cacheLocation:"plugin",isDragResizeEnabled:!0,isScrollResizeEnabled:!0,isResizeInReadingModeEnabled:!1,resizeSensitivity:.1,scrollwheelModifier:"Shift",isImageResizeEnbaled:!0,resizeState:{isResizing:!1},enableContextMenu:!0,showSpaceSavedNotification:!0,revertToOriginalIfLarger:!1,enableImageCaptions:!0,skipCaptionExtensions:"icns",captionFontSize:"var(--font-smaller)",captionColor:"var(--text-gray)",captionFontStyle:"italic",captionBackgroundColor:"transparent",captionPadding:"2px 4px",captionBorderRadius:"0",captionOpacity:"1",captionFontWeight:"normal",captionTextTransform:"none",captionLetterSpacing:"normal",captionBorder:"none",captionMarginTop:"4px",captionAlignment:"center"},it=class extends L.PluginSettingTab{constructor(e,r){super(e,r);this.plugin=r;this.activeTab="folder";this.editingPresetKey=null;this.presetUIState={folder:{editingPreset:null,newPreset:null},filename:{editingPreset:null,newPreset:null},conversion:{editingPreset:null,newPreset:null},linkformat:{editingPreset:null,newPreset:null},globalPresetVisible:!0,resize:{editingPreset:null,newPreset:null},imageAlignmentSectionCollapsed:!0,imageDragResizeSectionCollapsed:!0,imageCaptionSectionCollapsed:!0}}display(){let{containerEl:e}=this;if(e.empty(),e.addClass("image-converter-settings-tab"),this.presetUIState.globalPresetVisible?e.addClass("global-presets-visible"):e.removeClass("global-presets-visible"),this.renderGlobalPresetSelector(),this.renderTabs(),this.initializeFormContainer(),this.presetUIState.globalPresetVisible)switch(this.activeTab){case"folder":this.renderPresetGroup("Folder presets",this.plugin.settings.folderPresets,"selectedFolderPreset",this.presetUIState.folder);break;case"filename":this.renderPresetGroup("Filename presets",this.plugin.settings.filenamePresets,"selectedFilenamePreset",this.presetUIState.filename);break;case"conversion":this.renderPresetGroup("Conversion presets",this.plugin.settings.conversionPresets,"selectedConversionPreset",this.presetUIState.conversion);break;case"linkformat":this.renderPresetGroup("Link format presets",this.plugin.settings.linkFormatSettings.linkFormatPresets,"selectedLinkFormatPreset",this.presetUIState.linkformat);break;case"resize":this.renderPresetGroup("Resize presets",this.plugin.settings.nonDestructiveResizeSettings.resizePresets,"selectedResizePreset",this.presetUIState.resize);break}this.editingPresetKey&&this.formContainer&&this.formContainer.addClass("visible"),this.renderImageAlignmentSettingsSection(e),this.renderImageDragResizeSettingsSection(e),this.renderImageCaptionSettingsSection(e),new L.Setting(e).setName("Right-click menu \u{1F6C8}").setTooltip("Enable to show a right-click context menu.").addToggle(r=>r.setValue(this.plugin.settings.enableContextMenu).onChange(async t=>{this.plugin.settings.enableContextMenu=t,await this.plugin.saveSettings(),t?new L.Notice("Context menu enabled. Reload Obsidian to see changes.",5e3):new L.Notice("Context menu disabled. Reload Obsidian to see changes.",5e3)})),new L.Setting(e).setName("Cursor position after drop/paste \u{1F6C8}").setTooltip("Where to place the cursor after dropping or pasting the image").addDropdown(r=>{r.addOption("front","At the front of the link").addOption("back","At the back of the link").setValue(this.plugin.settings.dropPasteCursorLocation).onChange(async t=>{this.plugin.settings.dropPasteCursorLocation=t,await this.plugin.saveSettings()})}),new L.Setting(e).setName("Never process these filenames \u{1F6C8}").setTooltip("A comma-separated list of file names or patterns that the plugin should never process. Supports glob (*) and regex (enclosed in `/` or `r/` or `regex:`). E.g., `old.png, /^_/, r/temp-.*\\.jpg$/` . Or simply skip all cat images e.g.: /cat/ or all gif images *.gif").addTextArea(r=>{r.setValue(this.plugin.settings.neverProcessFilenames).onChange(async t=>{this.plugin.settings.neverProcessFilenames=t,await this.plugin.saveSettings()}),r.inputEl.setAttr("spellcheck","false")}),new L.Setting(e).setName("Show notification for image size changes \u{1F6C8}").setTooltip("Display a notification showing how much space was saved after processing an image.").addToggle(r=>r.setValue(this.plugin.settings.showSpaceSavedNotification).onChange(async t=>{this.plugin.settings.showSpaceSavedNotification=t,await this.plugin.saveSettings()})),new L.Setting(e).setName("Show window").setDesc("Choose whether to show processing options on each image drop/paste").addDropdown(r=>{r.addOption("always","Always show").addOption("never","Never show").addOption("ask","Ask each time").setValue(this.plugin.settings.modalBehavior).onChange(async t=>{this.plugin.settings.modalBehavior=t,await this.plugin.saveSettings()})})}initializeFormContainer(){let e=this.containerEl.querySelector(".image-converter-tab-content-wrapper");this.formContainer=this.containerEl.querySelector(".image-converter-form-container"),this.formContainer||(this.formContainer=this.containerEl.createDiv("image-converter-form-container")),e&&!e.contains(this.formContainer)&&e.appendChild(this.formContainer)}renderGlobalPresetSelector(){let{containerEl:e}=this,r=e.createDiv("image-converter-global-preset-container"),t=r.createDiv("image-converter-global-preset-toggle"),n=t.createEl("i");(0,L.setIcon)(n,"chevron-down"),n.addClass("image-converter-chevron-icon");let f=t.createEl("span",{text:"Drop/paste presets",cls:"settings-section-title"});t.onClickEvent(o=>{o.stopPropagation(),this.presetUIState.globalPresetVisible=!this.presetUIState.globalPresetVisible,this.presetUIState.globalPresetVisible?((0,L.setIcon)(n,"chevron-down"),f.textContent="Drop/paste presets"):((0,L.setIcon)(n,"chevron-right"),f.textContent="Drop/paste presets"),this.display()}),new L.Setting(r).setDesc("Quickly apply a combination of presets").addDropdown(o=>{o.addOption("","None"),this.plugin.settings.globalPresets.forEach(a=>{o.addOption(a.name,a.name)}),o.setValue(this.plugin.settings.selectedGlobalPreset),o.onChange(async a=>{if(this.plugin.settings.selectedGlobalPreset=a,a){let A=this.plugin.settings.globalPresets.find(l=>l.name===a);A&&(this.plugin.settings.selectedFolderPreset=A.folderPreset,this.plugin.settings.selectedFilenamePreset=A.filenamePreset,this.plugin.settings.selectedConversionPreset=A.conversionPreset,this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset=A.linkFormatPreset,this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset=A.resizePreset)}else this.plugin.settings.selectedFolderPreset=Ci.selectedFolderPreset,this.plugin.settings.selectedFilenamePreset=Ci.selectedFilenamePreset,this.plugin.settings.selectedConversionPreset=Ci.selectedConversionPreset,this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset=Ci.linkFormatSettings.selectedLinkFormatPreset,this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset=Ci.nonDestructiveResizeSettings.selectedResizePreset;await this.plugin.saveSettings(),this.display()})}),new L.ButtonComponent(r).setIcon("plus").setTooltip("Save current selection as a new Global Preset").onClick(o=>{o.stopPropagation(),new Wn(this.app,this.plugin,a=>{let A={name:a,folderPreset:this.plugin.settings.selectedFolderPreset,filenamePreset:this.plugin.settings.selectedFilenamePreset,conversionPreset:this.plugin.settings.selectedConversionPreset,linkFormatPreset:this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset,resizePreset:this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset};this.plugin.settings.globalPresets.push(A),this.plugin.settings.selectedGlobalPreset=a,this.plugin.saveSettings().then(()=>this.display())}).open()}),this.plugin.settings.selectedGlobalPreset&&new L.ButtonComponent(r).setIcon("trash").setClass("danger").setTooltip("Delete selected Global Preset").onClick(async o=>{o.stopPropagation(),new Ei(this.app,"Confirm Delete",`Are you sure you want to delete the global preset "${this.plugin.settings.selectedGlobalPreset}"?`,"Delete",async()=>{this.plugin.settings.globalPresets=this.plugin.settings.globalPresets.filter(a=>a.name!==this.plugin.settings.selectedGlobalPreset),this.plugin.settings.selectedGlobalPreset="",await this.plugin.saveSettings(),this.display()}).open()})}renderImageAlignmentSettingsSection(e){let r=e.createDiv("image-converter-settings-section");r.addClass("image-alignment-settings-section"),this.plugin.settings.isImageAlignmentEnabled?r.addClass("image-alignment-enabled"):r.removeClass("image-alignment-enabled");let t=r.createDiv("settings-section-header"),n=t.createEl("i");(0,L.setIcon)(n,"chevron-down"),n.addClass("settings-section-chevron-icon"),t.createEl("span",{text:"Image alignment",cls:"settings-section-title"}),new L.Setting(t).addToggle(o=>o.setValue(this.plugin.settings.isImageAlignmentEnabled).onChange(async a=>{this.plugin.settings.isImageAlignmentEnabled=a,await this.plugin.saveSettings(),a?new L.Notice("Image alignment enabled. Reload Obsidian to see changes.",5e3):new L.Notice("Image alignment disabled. Reload Obsidian to see changes.",5e3),this.display()})).settingEl.addClass("settings-section-toggle-button"),this.presetUIState.imageAlignmentSectionCollapsed&&(r.addClass("settings-section-collapsed"),(0,L.setIcon)(n,"chevron-right")),t.onClickEvent(o=>{o.stopPropagation(),this.presetUIState.imageAlignmentSectionCollapsed=!this.presetUIState.imageAlignmentSectionCollapsed,r.toggleClass("settings-section-collapsed",this.presetUIState.imageAlignmentSectionCollapsed),this.presetUIState.imageAlignmentSectionCollapsed?(0,L.setIcon)(n,"chevron-right"):(0,L.setIcon)(n,"chevron-down")}),this.plugin.settings.isImageAlignmentEnabled&&(new L.Setting(r).setName("Image alignment cache location \u{1F6C8}").setDesc("Choose where to store the cache file for image alignments. Note: App reload required.").setTooltip("If you use Obsidian Sync, it is strongly recommended to use the SAME location on all your devices to ensure consistent behavior. Default: .obsidian (syncable).").addDropdown(o=>o.addOptions({".obsidian":"Within .obsidian folder (syncable)",plugin:"Within plugin folder (not syncable)"}).setValue(this.plugin.settings.imageAlignment_cacheLocation).onChange(async a=>{var A,l;this.plugin.settings.imageAlignment_cacheLocation=a,await this.plugin.saveSettings(),(A=this.plugin.ImageAlignmentManager)==null||A.updateCacheFilePath(),(l=this.plugin.ImageAlignmentManager)==null||l.loadCache()})),new L.Setting(r).setName("Image alignment cache cleanup interval").setDesc("Interval (in minutes) to clean up redundant entries from image alignment cache. Default: 1 hour (0 to disable)").addSlider(o=>o.setLimits(0,120,5).setValue(this.plugin.settings.imageAlignment_cacheCleanupInterval/(60*1e3)).setDynamicTooltip().onChange(async a=>{var l;let A=a;this.plugin.settings.imageAlignment_cacheCleanupInterval=A*60*1e3,await this.plugin.saveSettings(),(l=this.plugin.ImageAlignmentManager)==null||l.scheduleCacheCleanup()})))}renderImageDragResizeSettingsSection(e){let r=e.createDiv("image-converter-settings-section");r.addClass("image-drag-resize-settings-section"),this.plugin.settings.isImageResizeEnbaled?r.addClass("image-drag-resize-enabled"):r.removeClass("image-drag-resize-enabled");let t=r.createDiv("settings-section-header"),n=t.createEl("i");if((0,L.setIcon)(n,"chevron-down"),n.addClass("settings-section-chevron-icon"),t.createEl("span",{text:"Drag & Scroll resize",cls:"settings-section-title"}),new L.Setting(t).addToggle(o=>o.setValue(this.plugin.settings.isImageResizeEnbaled).onChange(async a=>{this.plugin.settings.isImageResizeEnbaled=a,await this.plugin.saveSettings(),a?new L.Notice("Image resizing enabled. Reload Obsidian to see changes.",5e3):new L.Notice("Image resizing disabled. Reload Obsidian to see changes.",5e3),this.display()})).settingEl.addClass("settings-section-toggle-button"),this.presetUIState.imageDragResizeSectionCollapsed&&(r.addClass("settings-section-collapsed"),(0,L.setIcon)(n,"chevron-right")),t.onClickEvent(o=>{o.stopPropagation(),this.presetUIState.imageDragResizeSectionCollapsed=!this.presetUIState.imageDragResizeSectionCollapsed,r.toggleClass("settings-section-collapsed",this.presetUIState.imageDragResizeSectionCollapsed),this.presetUIState.imageDragResizeSectionCollapsed?(0,L.setIcon)(n,"chevron-right"):(0,L.setIcon)(n,"chevron-down")}),this.plugin.settings.isImageResizeEnbaled){if(new L.Setting(r).setName("Enable drag resize \u{1F6C8}").setDesc("Allow resizing images by dragging edges of the image.").setTooltip("This creates a new <DIV> under the image to show resizing HANDLES. But this might cause some incompatibility with certain themes and cause images to jump around.").addToggle(o=>o.setValue(this.plugin.settings.isDragResizeEnabled).onChange(async a=>{this.plugin.settings.isDragResizeEnabled=a,await this.plugin.saveSettings()})),new L.Setting(r).setName("Enable scroll-wheel resize").setDesc("Allow resizing images using the scroll wheel").addToggle(o=>o.setValue(this.plugin.settings.isScrollResizeEnabled).onChange(async a=>{this.plugin.settings.isScrollResizeEnabled=a,await this.plugin.saveSettings(),this.display()})),this.plugin.settings.isScrollResizeEnabled){let o=r.createDiv("scroll-resize-settings");new L.Setting(o).setName("Scroll-wheel modifier key").setDesc("Key that must be held while using scroll-wheel to resize").addDropdown(a=>a.addOptions({None:"None",Shift:"Shift",Control:"Control",Alt:"Alt",Meta:"Meta"}).setValue(this.plugin.settings.scrollwheelModifier).onChange(async A=>{this.plugin.settings.scrollwheelModifier=A,await this.plugin.saveSettings()})),new L.Setting(o).setName("Scroll-wheel resize sensitivity").setDesc("Adjust how sensitive the scroll-wheel resize is (0.01-1.0)").addSlider(a=>a.setLimits(.01,1,.01).setValue(this.plugin.settings.resizeSensitivity).setDynamicTooltip().onChange(async A=>{this.plugin.settings.resizeSensitivity=A,await this.plugin.saveSettings()}))}new L.Setting(r).setName("Cursor position during resize \u{1F6C8}").setTooltip("Where to place the cursor when resizing an image. Note: 'Don't move cursor' - will try to keep your exisiting cursor in place but if you DRAG-RESIZE and cursor is still over the image when you finish resizing, it will get the text selected.").addDropdown(o=>{o.addOption("front","At the front of the link").addOption("back","At the back of the link").addOption("below","1 line below the image").addOption("none","Don't move cursor").setValue(this.plugin.settings.resizeCursorLocation).onChange(async a=>{this.plugin.settings.resizeCursorLocation=a,await this.plugin.saveSettings()})}),new L.Setting(r).setName("Allow resizing in Reading mode").setDesc("Non-destructive resizing in Reading Mode is only visual, thus if it is too distractive you can disable it.").addToggle(o=>o.setValue(this.plugin.settings.isResizeInReadingModeEnabled).onChange(async a=>{this.plugin.settings.isResizeInReadingModeEnabled=a,await this.plugin.saveSettings()}))}}renderImageCaptionSettingsSection(e){let r=e.createDiv("image-converter-settings-section");r.addClass("image-caption-settings-section"),this.plugin.settings.enableImageCaptions?r.addClass("image-caption-enabled"):r.removeClass("image-caption-enabled");let t=r.createDiv("settings-section-header"),n=t.createEl("i");(0,L.setIcon)(n,"chevron-down"),n.addClass("settings-section-chevron-icon"),t.createEl("span",{text:"Captions",cls:"settings-section-title"}),new L.Setting(t).addToggle(o=>o.setValue(this.plugin.settings.enableImageCaptions).onChange(async a=>{this.plugin.settings.enableImageCaptions=a,await this.plugin.saveSettings(),a?new L.Notice("Image captions enabled. Reload Obsidian to see changes.",5e3):new L.Notice("Image captions disabled. Reload Obsidian to see changes.",5e3),this.display()})).settingEl.addClass("settings-section-toggle-button"),this.presetUIState.imageCaptionSectionCollapsed&&(r.addClass("settings-section-collapsed"),(0,L.setIcon)(n,"chevron-right")),t.onClickEvent(o=>{o.stopPropagation(),this.presetUIState.imageCaptionSectionCollapsed=!this.presetUIState.imageCaptionSectionCollapsed,r.toggleClass("settings-section-collapsed",this.presetUIState.imageCaptionSectionCollapsed),this.presetUIState.imageCaptionSectionCollapsed?(0,L.setIcon)(n,"chevron-right"):(0,L.setIcon)(n,"chevron-down")}),this.plugin.settings.enableImageCaptions&&(new L.Setting(r).setName("Text alignment within caption").addDropdown(o=>o.addOptions({left:"Left",center:"Center",right:"Right"}).setValue(this.plugin.settings.captionAlignment).onChange(async a=>{this.plugin.settings.captionAlignment=a,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new L.Setting(r).setName("Text transform").setDesc("Set text transformation").addDropdown(o=>o.addOptions({none:"None",uppercase:"UPPERCASE",lowercase:"lowercase",capitalize:"Capitalize"}).setValue(this.plugin.settings.captionTextTransform).onChange(async a=>{this.plugin.settings.captionTextTransform=a,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new L.Setting(r).setName("Font size").setDesc("Set the font size for image captions (e.g., 12px, 1.2em).").addText(o=>o.setValue(this.plugin.settings.captionFontSize).onChange(async a=>{this.plugin.settings.captionFontSize=a,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new L.Setting(r).setName("Weight").setDesc("Set font weight (e.g., normal, bold, 600)").addDropdown(o=>o.addOptions({normal:"Normal",bold:"Bold",300:"Light",400:"Regular",500:"Medium",600:"Semi-bold",700:"Bold"}).setValue(this.plugin.settings.captionFontWeight).onChange(async a=>{this.plugin.settings.captionFontWeight=a,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new L.Setting(r).setName("Color").setDesc("Choose a color for image captions e.g.: red, grey, white, black, hsl(50, 50%, 50%), rgb(50%, 75%, 100%) ").addText(o=>o.setValue(this.plugin.settings.captionColor).onChange(async a=>{this.plugin.settings.captionColor=a,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new L.Setting(r).setName("Font style").setDesc("Set the font style (e.g., italic, normal).").addDropdown(o=>o.addOptions({italic:"Italic",normal:"Normal"}).setValue(this.plugin.settings.captionFontStyle).onChange(async a=>{this.plugin.settings.captionFontStyle=a,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new L.Setting(r).setName("Background color").setDesc("Choose a background color for image captions (e.g.: transparent, #f5f5f5, rgba(255,255,255,0.8))").addText(o=>o.setValue(this.plugin.settings.captionBackgroundColor).onChange(async a=>{this.plugin.settings.captionBackgroundColor=a,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new L.Setting(r).setName("Border").setDesc("Set border style (e.g., 1px solid gray)").addText(o=>o.setValue(this.plugin.settings.captionBorder).onChange(async a=>{this.plugin.settings.captionBorder=a,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new L.Setting(r).setName("Border corner radius").setDesc("Set border radius for caption (e.g., make it slightly rounded: 4px)").addText(o=>o.setValue(this.plugin.settings.captionBorderRadius).onChange(async a=>{this.plugin.settings.captionBorderRadius=a,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new L.Setting(r).setName("Space at the top").setDesc("Set space between image and caption (e.g., 4px, 8px)").addText(o=>o.setValue(this.plugin.settings.captionMarginTop).onChange(async a=>{this.plugin.settings.captionMarginTop=a,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new L.Setting(r).setName("Padding").setDesc("Set padding around caption (e.g., 4px 8px)").addText(o=>o.setValue(this.plugin.settings.captionPadding).onChange(async a=>{this.plugin.settings.captionPadding=a,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new L.Setting(r).setName("Skip caption extensions").setDesc("Comma-separated list of image extensions to exclude from captions (e.g., png,jpg).").addText(o=>{o.setValue(this.plugin.settings.skipCaptionExtensions).onChange(async a=>{this.plugin.settings.skipCaptionExtensions=a,await this.plugin.saveSettings()}),o.inputEl.setAttr("spellcheck","false")}))}renderTabs(){let{containerEl:e}=this,r=e.querySelector(".image-converter-setting-tabs");r||(r=e.createDiv("image-converter-setting-tabs")),r.children.length===0&&(this.createTab("folder","folder","Folder"),this.createTab("filename","pencil","Filename"),this.createTab("conversion","settings","Conversion"),this.createTab("linkformat","link","Link format"),this.createTab("resize","frame","Resize")),r.querySelectorAll(".image-converter-tab").forEach(f=>f.removeClass("image-converter-tab-active"));let n=r.querySelector(`.image-converter-tab-${this.activeTab}`);n&&n.addClass("image-converter-tab-active")}createTab(e,r,t){let{containerEl:n}=this,f=n.querySelector(".image-converter-setting-tabs");f||(f=n.createDiv("image-converter-setting-tabs"));let o=f.createDiv(`image-converter-tab image-converter-tab-${e}`);(0,L.setIcon)(o,r),o.createSpan({text:t,cls:"image-converter-tab-label"}),o.onclick=()=>{this.formContainer&&(this.formContainer.removeClass("visible"),this.formContainer.empty()),this.editingPresetKey=null,this.presetUIState[e].editingPreset=null,this.presetUIState[e].newPreset=null,this.activeTab=e,this.display()}}renderPresetGroup(e,r,t,n){let{containerEl:f}=this,o=f.createDiv("image-converter-tab-content-wrapper"),a=o.createDiv("image-converter-preset-group"),A=a.createDiv("image-converter-preset-group-header");A.createEl("h3",{text:e,cls:"image-converter-preset-group-title"});let l=this.getPresetGroupDescription(t);l&&A.createEl("p",{text:l,cls:"image-converter-preset-group-description"});let k=a.createDiv("image-converter-preset-cards");new Zf(k,{animation:150,handle:".image-converter-preset-card-header",draggable:".image-converter-preset-card",ghostClass:"image-converter-sortable-ghost",onEnd:async u=>{if(u.oldIndex!==void 0&&u.newIndex!==void 0){if(t==="selectedFolderPreset"){let h=this.arrayMove(this.plugin.settings.folderPresets,u.oldIndex,u.newIndex);this.plugin.settings.folderPresets=h,await this.plugin.saveSettings(),this.display()}else if(t==="selectedFilenamePreset"){let h=this.arrayMove(this.plugin.settings.filenamePresets,u.oldIndex,u.newIndex);this.plugin.settings.filenamePresets=h,await this.plugin.saveSettings(),this.display()}else if(t==="selectedConversionPreset"){let h=this.arrayMove(this.plugin.settings.conversionPresets,u.oldIndex,u.newIndex);this.plugin.settings.conversionPresets=h,await this.plugin.saveSettings(),this.display()}else if(t==="selectedLinkFormatPreset"){let h=this.arrayMove(this.plugin.settings.linkFormatSettings.linkFormatPresets,u.oldIndex,u.newIndex);this.plugin.settings.linkFormatSettings.linkFormatPresets=h,await this.plugin.saveSettings(),this.display()}else if(t==="selectedResizePreset"){let h=this.arrayMove(this.plugin.settings.nonDestructiveResizeSettings.resizePresets,u.oldIndex,u.newIndex);this.plugin.settings.nonDestructiveResizeSettings.resizePresets=h,await this.plugin.saveSettings(),this.display()}}}});for(let u of r){let h=n.editingPreset===u,c=u.name===this.getSelectedPresetName(t);this.renderPresetCard(k,u,t,h,c,n)}this.formContainer instanceof Node&&o.appendChild(this.formContainer),n.newPreset?this.renderPresetForm(this.formContainer,n.newPreset,!0,t,n):this.addAddNewPresetCard(k,t,n)}getPresetGroupDescription(e){switch(e){case"selectedFolderPreset":return"Define where converted images will be stored. Choose from predefined locations or create custom paths using variables.";case"selectedFilenamePreset":return"Control how converted images are named. Use variables like {notename}, {timestamp}, {MD5}, {UUID} to create unique filenames.";case"selectedConversionPreset":return"Control the output format, quality, and resizing options for converted images. This allows to significantly reduce file size and keep vault size small.";case"selectedLinkFormatPreset":return"Determine how image links are inserted into notes. Choose between Wikilinks and Markdown links, and specify how the file path should be formatted. This allows to use a different link style for images than your vault's default, offering better cross-compatibility with other applications.";case"selectedResizePreset":return"Configure non-destructive resizing options for images directly within the editor. This allows to adjust the display size without altering the original file.";default:return""}}getPresetKey(e){return"type"in e?`${e.name}-${e.type}`:"linkFormat"in e?`${e.name}-${e.linkFormat}`:`${e.name}`}getTabContentWrapper(){let{containerEl:e}=this;return e.querySelector(".image-converter-tab-content-wrapper")}arrayMove(e,r,t){let n=e.slice(),[f]=n.splice(r,1);return n.splice(t,0,f),n}renderPresetCard(e,r,t,n,f,o){let a=e.createDiv({cls:`image-converter-preset-card ${this.isDefaultPreset(r,t)?"image-converter-default-preset":""} ${f?"image-converter-active-preset":""}`}),A=this.getPresetKey(r),l=this.editingPresetKey===A;if(n||l){this.renderPresetForm(this.formContainer,r,!1,t,o);return}let k=a.createDiv("image-converter-preset-card-header");if(k.createEl("h4",{text:r.name,cls:"image-converter-preset-card-title",title:r.name}),!this.isDefaultPreset(r,t)){let h=k.createDiv("image-converter-preset-card-actions");new L.ButtonComponent(h).setIcon("pencil").setTooltip("Edit").onClick(()=>{let c=t;r.hasOwnProperty("linkFormat")&&(c="selectedLinkFormatPreset"),o.editingPreset=r,this.showPresetForm(r,!1,c,o)}),new L.ButtonComponent(h).setIcon("trash").setClass("danger").setTooltip("Delete").onClick(async()=>{new Ei(this.app,"Confirm Delete",`Are you sure you want to delete the preset "${r.name}"?`,"Delete",async()=>{t==="selectedFolderPreset"?(this.plugin.settings.folderPresets=this.plugin.settings.folderPresets.filter(c=>c.name!==r.name),this.plugin.settings.selectedFolderPreset=Ci.selectedFolderPreset):t==="selectedFilenamePreset"?(this.plugin.settings.filenamePresets=this.plugin.settings.filenamePresets.filter(c=>c.name!==r.name),this.plugin.settings.selectedFilenamePreset=Ci.selectedFilenamePreset):t==="selectedConversionPreset"?(this.plugin.settings.conversionPresets=this.plugin.settings.conversionPresets.filter(c=>c.name!==r.name),this.plugin.settings.selectedConversionPreset=Ci.selectedConversionPreset):t==="selectedLinkFormatPreset"?(this.plugin.settings.linkFormatSettings.linkFormatPresets=this.plugin.settings.linkFormatSettings.linkFormatPresets.filter(c=>c.name!==r.name),this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset===r.name&&(this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset=Ci.linkFormatSettings.selectedLinkFormatPreset)):t==="selectedResizePreset"&&(this.plugin.settings.nonDestructiveResizeSettings.resizePresets=this.plugin.settings.nonDestructiveResizeSettings.resizePresets.filter(c=>c.name!==r.name),this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset===r.name&&(this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset=Ci.nonDestructiveResizeSettings.selectedResizePreset)),await this.plugin.saveSettings(),this.display()}).open()})}let u=a.createDiv("image-converter-preset-card-body");t==="selectedFolderPreset"?this.generateFolderPresetSummary(u,r):t==="selectedFilenamePreset"?this.generateFilenamePresetSummary(u,r):t==="selectedLinkFormatPreset"?u.createEl("p",{text:this.getLinkFormatPresetSummary(r)}):t==="selectedResizePreset"?u.appendChild(this.getResizePresetSummary(r)):u.appendChild(this.getConversionPresetSummary(r)),a.onClickEvent(async()=>{if(!f){switch(t){case"selectedFolderPreset":this.plugin.settings.selectedFolderPreset=r.name;break;case"selectedFilenamePreset":this.plugin.settings.selectedFilenamePreset=r.name;break;case"selectedConversionPreset":this.plugin.settings.selectedConversionPreset=r.name;break;case"selectedLinkFormatPreset":this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset=r.name;break;case"selectedResizePreset":this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset=r.name;break}await this.plugin.saveSettings(),this.display()}})}showAvailableVariables(){new Ar(this.app,this.plugin.variableProcessor).open()}showPresetForm(e,r,t,n){this.formContainer||this.initializeFormContainer(),this.formContainer.addClass("visible"),this.editingPresetKey=r?"new":this.getPresetKey(e),this.formContainer.empty(),this.renderPresetForm(this.formContainer,e,r,t,n),this.formContainer.scrollIntoView({behavior:"smooth",block:"start"})}renderPresetForm(e,r,t,n,f){e.empty();let o=t?!1:this.isDefaultPreset(r,n),a=e.createDiv("image-converter-preset-form");new L.Setting(a).setName("Preset name").addText(l=>{l.setValue(r.name).onChange(k=>{r.name=k}),l.inputEl.setAttr("spellcheck","false"),!t&&o&&l.setDisabled(!0)}),n==="selectedFolderPreset"?this.renderFolderPresetFormFields(a,r,o,()=>this.showAvailableVariables()):n==="selectedFilenamePreset"?(this.addCustomTemplateSetting(a,r,()=>this.showAvailableVariables()),this.addSkipPatternsSetting(a,r,"skipRenamePatterns","Skip rename patterns")):n==="selectedLinkFormatPreset"?this.renderLinkFormatFormFields(a,r):n==="selectedResizePreset"?this.renderResizePresetFormFields(a,r):(this.renderConversionPresetFormFields(a,r),this.addSkipPatternsSetting(a,r,"skipConversionPatterns","Skip conversion patterns"));let A=a.createDiv("image-converter-form-buttons");this.addSaveButton(A,r,t,n,f),this.addCancelButton(A,f,t)}addCustomTemplateSetting(e,r,t){let n=e.querySelector(".image-converter-form-buttons"),f=e.createDiv("image-converter-custom-template-setting-wrapper"),o=new L.Setting(f).setName("Custom imagename").setClass("image-converter-custom-template-setting"),a=o.controlEl.createDiv("image-converter-input-button-container"),A;o.addText(h=>(A=h,h.setPlaceholder("e.g., {notename}-{timestamp}").setValue(r.customTemplate||"").onChange(c=>{r.customTemplate=c,u()}),h.inputEl.setAttr("spellcheck","false"),h)),new L.ButtonComponent(a).setIcon("help-circle").setTooltip("Show available variables").onClick(t);let l=f.createDiv("image-converter-preview-container");l.createEl("div",{text:"Preview:",cls:"image-converter-preview-label"});let k=l.createDiv("image-converter-preview-path"),u=async()=>{if(!A)return;let h=A.getValue();if(!h){k.empty();return}try{let c=this.app.workspace.getActiveFile(),d=this.app.vault.getFiles().find(v=>v.extension.match(/^(jpg|jpeg|png|gif|webp)$/i));if(!c&&!d){k.setText("No file available for preview.");return}let b=c&&c.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)?c:d,g=await this.plugin.variableProcessor.processTemplate(h,{file:b,activeFile:c});k.setText(g)}catch(c){console.error("Preview generation error:",c),k.setText("Error generating preview")}};u(),new L.Setting(f).setName("If an output file already exists").setDesc("Choose how to handle filename conflicts").addDropdown(h=>{h.addOptions({reuse:"Reuse existing file in vault (if any)",increment:"Add number suffix (-1, -2, etc.)"}).setValue(r.conflictResolution||"reuse").onChange(c=>{r.conflictResolution=c})}),n?e.insertBefore(f,n):e.appendChild(f)}renderFolderPresetFormFields(e,r,t,n){let f={SUBFOLDER:"In subfolder under current note",CUSTOM:"Custom"},o={DEFAULT:"Default (Obsidian setting)",ROOT:"Root folder",CURRENT:"Same folder as current note",...f};new L.Setting(e).setName("Location").addDropdown(a=>{a.addOptions(t||!this.presetUIState.folder.newPreset?o:f).setValue(r.type||"DEFAULT").onChange(A=>{r.type=A,this.updateFolderPresetFormFields(e,r,t,n)}),t&&a.setDisabled(!0)}),this.updateFolderPresetFormFields(e,r,t,n)}updateFolderPresetFormFields(e,r,t,n){let f=e.querySelector(".image-converter-subfolder-name-setting-wrapper"),o=e.querySelector(".image-converter-custom-path-setting-wrapper"),a=e.querySelector(".image-converter-form-buttons");if(f==null||f.remove(),o==null||o.remove(),r.type==="SUBFOLDER"){let A=e.createDiv("image-converter-subfolder-name-setting-wrapper"),l=new L.Setting(A).setName("Subfolder name").setDesc("Enter a custom subfolder name or path.").setClass("image-converter-subfolder-name-setting"),k=l.controlEl.createDiv("image-converter-input-button-container"),u;l.addText(b=>{u=b,b.setPlaceholder("e.g., {YYYY}/{MM}/{imagename}").setValue(this.plugin.settings.subfolderTemplate).onChange(async g=>{this.plugin.settings.subfolderTemplate=g,d()}),b.inputEl.setAttr("spellcheck","false"),t&&b.setDisabled(!0)}),new L.ButtonComponent(k).setIcon("help-circle").setTooltip("Show available variables").onClick(n);let h=A.createDiv("image-converter-preview-container");h.createEl("div",{text:"Preview:",cls:"image-converter-preview-label"});let c=h.createDiv("image-converter-preview-path"),d=async()=>{if(!u)return;let b=u.getValue();if(!b){c.empty();return}try{let g=this.app.workspace.getActiveFile(),v=this.app.vault.getFiles().find(m=>m.extension.match(/^(jpg|jpeg|png|gif|webp)$/i));if(!g&&!v){c.setText("No file available for preview.");return}let w=g&&g.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)?g:v,p=await this.plugin.variableProcessor.processTemplate(b,{file:w,activeFile:g});c.setText(p)}catch(g){console.error("Preview generation error:",g),c.setText("Error generating preview")}};d(),a?e.insertBefore(A,a):e.appendChild(A)}else if(r.type==="CUSTOM"){let A=e.createDiv("image-converter-custom-path-setting-wrapper"),l=new L.Setting(A).setName("Custom path").setDesc("Enter a custom path.").setClass("image-converter-custom-template-setting"),k=l.controlEl.createDiv("image-converter-input-button-container"),u;l.addText(b=>{u=b,b.setPlaceholder("e.g., {YYYY}/{MM}/{imagename}").setValue(r.customTemplate||"").onChange(g=>{r.customTemplate=g,d()}),b.inputEl.setAttr("spellcheck","false"),t&&b.setDisabled(!0)}),new L.ButtonComponent(k).setIcon("help-circle").setTooltip("Show available variables").onClick(n);let h=A.createDiv("image-converter-preview-container");h.createEl("div",{text:"Preview:",cls:"image-converter-preview-label"});let c=h.createDiv("image-converter-preview-path"),d=async()=>{if(!u)return;let b=u.getValue();if(!b){c.empty();return}try{let g=this.app.workspace.getActiveFile(),v=this.app.vault.getFiles().find(m=>m.extension.match(/^(jpg|jpeg|png|gif|webp)$/i));if(!g&&!v){c.setText("No file available for preview.");return}let w=g&&g.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)?g:v,p=await this.plugin.variableProcessor.processTemplate(b,{file:w,activeFile:g});c.setText(p)}catch(g){console.error("Preview generation error:",g),c.setText("Error generating preview")}};d(),a?e.insertBefore(A,a):e.appendChild(A)}}renderConversionPresetFormFields(e,r){let t=new L.Setting(e).setName("Output format").addDropdown(n=>{n.addOptions({WEBP:"WEBP",JPEG:"JPEG",PNG:"PNG",ORIGINAL:"Original (Compress)",NONE:"None (No Conversion/Compression)",PNGQUANT:"pngquant (Compression for PNG only))",AVIF:"AVIF (via ffmpeg)"}).setValue(r.outputFormat).onChange(f=>{r.outputFormat=f,this.updateConversionPresetFormFields(e,r,t)})});this.updateConversionPresetFormFields(e,r,t)}updateConversionPresetFormFields(e,r,t){let n=e.querySelector(".image-converter-quality-setting"),f=e.querySelector(".image-converter-color-depth-setting"),o=e.querySelector(".image-converter-resize-mode-setting"),a=e.querySelector(".image-converter-desired-width-setting"),A=e.querySelector(".image-converter-desired-height-setting"),l=e.querySelector(".image-converter-desired-longest-edge-setting"),k=e.querySelector(".image-converter-enlarge-or-reduce-setting"),u=e.querySelector(".image-converter-revert-to-original"),h=e.querySelector(".image-converter-pngquant-executable-path"),c=e.querySelector(".image-converter-pngquant-quality"),d=e.querySelector(".image-converter-ffmpeg-executable-path"),b=e.querySelector(".image-converter-ffmpeg-crf"),g=e.querySelector(".image-converter-ffmpeg-preset");if(n==null||n.remove(),f==null||f.remove(),o==null||o.remove(),a==null||a.remove(),A==null||A.remove(),l==null||l.remove(),k==null||k.remove(),u==null||u.remove(),h==null||h.remove(),c==null||c.remove(),d==null||d.remove(),b==null||b.remove(),g==null||g.remove(),["WEBP","JPEG","ORIGINAL"].includes(r.outputFormat)){let m=new L.Setting(e).setName("Quality").setClass("image-converter-quality-setting").addSlider(C=>{C.setLimits(0,100,1).setValue(r.quality).setDynamicTooltip().onChange(async y=>{r.quality=y})});t.settingEl.insertAdjacentElement("afterend",m.settingEl)}if(r.outputFormat==="PNG"){let m=new L.Setting(e).setName("Color depth").setClass("image-converter-color-depth-setting").addSlider(y=>{y.setLimits(0,1,.1).setValue(r.colorDepth).setDynamicTooltip().onChange(async Z=>{r.colorDepth=Z})}),C=e.querySelector(".image-converter-quality-setting");C?C.insertAdjacentElement("afterend",m.settingEl):t.settingEl.insertAdjacentElement("afterend",m.settingEl)}if(r.outputFormat==="PNGQUANT"){let m=new L.Setting(e).setName("pngquant executable path \u{1F6C8}").setTooltip("Provide full-path to the binary file. It can be inside vault or anywhere in your file system.").setClass("image-converter-pngquant-executable-path").addText(y=>{y.setValue(r.pngquantExecutablePath||"").onChange(Z=>{r.pngquantExecutablePath=Z,this.plugin.saveSettings()}),y.inputEl.setAttr("spellcheck","false")});t.settingEl.insertAdjacentElement("afterend",m.settingEl);let C=new L.Setting(e).setName("pngquant quality range").setDesc("Quality setting for pngquant (e.g., 65-80). Both min-max values must be provided.").setClass("image-converter-pngquant-quality").addText(y=>{y.setValue(r.pngquantQuality||"").onChange(Z=>{r.pngquantQuality=Z,this.plugin.saveSettings()}),y.inputEl.setAttr("spellcheck","false")});m.settingEl.insertAdjacentElement("afterend",C.settingEl)}if(r.outputFormat==="AVIF"){let m=new L.Setting(e).setName("FFmpeg executable path \u{1F6C8}").setTooltip("Provide full-path to the binary file. It can be inside vault or anywhere in your file system.").setClass("image-converter-ffmpeg-executable-path").addText(Z=>{Z.setValue(r.ffmpegExecutablePath||"").onChange(_=>{r.ffmpegExecutablePath=_,this.plugin.saveSettings()}),Z.inputEl.setAttr("spellcheck","false")});t.settingEl.insertAdjacentElement("afterend",m.settingEl);let C=new L.Setting(e).setName("FFmpeg CRF").setDesc("Constant Rate Factor for AVIF (0-63, lower is better quality).").setClass("image-converter-ffmpeg-crf").addText(Z=>{var _;Z.setValue(((_=r.ffmpegCrf)==null?void 0:_.toString())||"").onChange(x=>{let B=parseInt(x,10);r.ffmpegCrf=isNaN(B)?void 0:B,this.plugin.saveSettings()}),Z.inputEl.setAttr("spellcheck","false")});m.settingEl.insertAdjacentElement("afterend",C.settingEl);let y=new L.Setting(e).setName("FFmpeg Preset").setDesc("Encoding preset (speed vs. compression)").setClass("image-converter-ffmpeg-preset").addDropdown(Z=>{Z.addOptions({ultrafast:"ultrafast",superfast:"superfast",veryfast:"veryfast",faster:"faster",fast:"fast",medium:"medium",slow:"slow",slower:"slower",veryslow:"veryslow",placebo:"placebo"}).setValue(r.ffmpegPreset||"medium").onChange(_=>{r.ffmpegPreset=_,this.plugin.saveSettings()})});C.settingEl.insertAdjacentElement("afterend",y.settingEl)}let v=e.querySelector(".image-converter-color-depth-setting")||e.querySelector(".image-converter-quality-setting");v||(v=t.settingEl);let w=new L.Setting(e).setName("Resize mode").setClass("image-converter-resize-mode-setting").addDropdown(m=>{m.addOptions({None:"None",Fit:"Fit",Fill:"Fill",LongestEdge:"Longest Edge",ShortestEdge:"Shortest Edge",Width:"Width",Height:"Height"}).setValue(r.resizeMode).onChange(C=>{r.resizeMode=C,this.updateConversionPresetFormFields(e,r,t)})});if(v&&v.insertAdjacentElement("afterend",w.settingEl),v=w.settingEl,["Fit","Fill","Width"].includes(r.resizeMode)){let m=new L.Setting(e).setName("Desired width").setClass("image-converter-desired-width-setting").addText(C=>{C.setValue(r.desiredWidth.toString()).onChange(y=>{r.desiredWidth=parseInt(y,10)}),C.inputEl.setAttr("spellcheck","false")});v.insertAdjacentElement("afterend",m.settingEl),v=m.settingEl}if(["Fit","Fill","Height"].includes(r.resizeMode)){let m=new L.Setting(e).setName("Desired height").setClass("image-converter-desired-height-setting").addText(C=>{C.setValue(r.desiredHeight.toString()).onChange(y=>{r.desiredHeight=parseInt(y,10)}),C.inputEl.setAttr("spellcheck","false")});v.insertAdjacentElement("afterend",m.settingEl),v=m.settingEl}if(["LongestEdge","ShortestEdge"].includes(r.resizeMode)){let m=e.querySelector(".image-converter-desired-longest-edge-setting, .image-converter-desired-shortest-edge-setting");m==null||m.remove();let C=new L.Setting(e).setName(r.resizeMode==="LongestEdge"?"Desired longest edge":"Desired shortest edge").setClass(r.resizeMode==="LongestEdge"?"image-converter-desired-longest-edge-setting":"image-converter-desired-shortest-edge-setting").addText(y=>{y.setValue(r.desiredLongestEdge.toString()).onChange(Z=>{r.desiredLongestEdge=parseInt(Z,10)}),y.inputEl.setAttr("spellcheck","false")});v.insertAdjacentElement("afterend",C.settingEl),v=C.settingEl}if(r.resizeMode!=="None"){let m=new L.Setting(e).setName("Scale mode").setClass("image-converter-enlarge-or-reduce-setting").addDropdown(C=>{C.addOptions({Auto:"Auto",Reduce:"Only Reduce",Enlarge:"Only Enlarge"}).setValue(r.enlargeOrReduce).onChange(y=>{r.enlargeOrReduce=y})});v.insertAdjacentElement("afterend",m.settingEl),v=m.settingEl}let p=new L.Setting(e).setName("Revert to original if larger").setClass("image-converter-revert-to-original").setDesc("If the processed image filesize is larger than the original, use the original image instead.").addToggle(m=>m.setValue(this.plugin.settings.revertToOriginalIfLarger).onChange(async C=>{this.plugin.settings.revertToOriginalIfLarger=C,await this.plugin.saveSettings()}));v.insertAdjacentElement("afterend",p.settingEl),v=p.settingEl}renderLinkFormatSettings(){let{containerEl:e}=this;e.createDiv("image-converter-tab-content-wrapper"),this.renderPresetGroup("Link format presets",this.plugin.settings.linkFormatSettings.linkFormatPresets,"selectedLinkFormatPreset",this.presetUIState.linkformat)}renderLinkFormatFormFields(e,r){new L.Setting(e).setName("Link format").setDesc("Choose between Wikilink and Markdown format").addDropdown(n=>{n.addOptions({wikilink:"Wikilink",markdown:"Markdown"}).setValue(r.linkFormat).onChange(f=>{r.linkFormat=f,this.updateExamples(e,r)})}),new L.Setting(e).setName("Path format").setDesc("Choose how paths should be formatted").addDropdown(n=>{n.addOptions({shortest:"Shortest",relative:"Relative",absolute:"Absolute"}).setValue(r.pathFormat).onChange(f=>{r.pathFormat=f,this.updateExamples(e,r)})});let t=e.createEl("details",{cls:"image-converter-format-examples-section"});t.createEl("summary",{text:"Examples"}),t.createEl("div",{cls:"image-converter-format-examples-content"}),this.updateExamples(e,r)}updateExamples(e,r){let t=e.querySelector(".image-converter-format-examples-section");if(!t)return;let n=t.querySelector(".image-converter-format-examples-content");n.empty();let f=n.createEl("table",{cls:"image-converter-format-examples-table"}),o=c=>{let d=r.linkFormat;switch(c){case"shortest":return d==="wikilink"?"![[image.jpg]]":"";case"relative":return d==="wikilink"?"![[./subfolder/image.jpg]]":"";case"absolute":return d==="wikilink"?"![[/subfolder/image.jpg]]":"";default:return""}};[["Shortest",`Uses just the file name without any path:
|
|
<ul>
|
|
<li><b>Wikilink</b>: ![[image.jpg]]</li>
|
|
<li><b>Markdown</b>: </li>
|
|
</ul>`,o("shortest")],["Relative",`Uses the path relative to the current note:
|
|
<ul>
|
|
<li>Same folder: starts with <code>./</code> (e.g., <code>./image.jpg</code>)</li>
|
|
<li>Parent folder: starts with <code>../</code> (e.g., <code>../image.jpg</code>)</li>
|
|
<li>Subfolder: includes folder path (e.g., <code>./subfolder/image.jpg</code>)</li>
|
|
</ul>`,o("relative")],["Absolute",`Uses the complete path from your vault root, always starting with <code>/</code>.
|
|
This ensures the link works from any note in your vault, regardless of its location.`,o("absolute")]].forEach(([c,d,b])=>{let g=f.createEl("tr");g.createEl("td",{cls:"image-converter-format-label",text:c}),g.createEl("td",{cls:"image-converter-format-description"}).innerHTML=d,g.createEl("td",{cls:"image-converter-format-example",text:b})});let A=n.createEl("div",{cls:"image-converter-format-scenario"}),l=A.createEl("div",{cls:"image-converter-format-paths"});l.createEl("div",{cls:"image-converter-path-label"}).setText("\u{1F4C4} Note location:"),l.createEl("div",{cls:"image-converter-path-value"}).setText("/Folder/Subfolder1/note.md"),l.createEl("div",{cls:"image-converter-path-label"}).setText("\u{1F5BC}\uFE0F Image location:"),l.createEl("div",{cls:"image-converter-path-value"}).setText("/Folder/Subfolder2/image.jpg");let k=A.createEl("div",{cls:"image-converter-format-result"});k.createEl("div",{cls:"image-converter-result-label"}).setText("\u2192 Path becomes:");let u=k.createEl("div",{cls:"image-converter-result-value"});(()=>{let c=r.linkFormat;u.empty();let d=u.createEl("table"),b=(g,v)=>{let w=d.createEl("tr");w.createEl("td",{text:g,cls:"format-label"}),w.createEl("td",{text:v,cls:"format-value"})};c==="wikilink"?(b("Shortest:","![[B\xE4ume.jpg]]"),b("Relative:","![[../Subfolder2/B\xE4ume.jpg]]"),b("Absolute:","![[/Folder/Subfolder2/B\xE4ume.jpg]]")):(b("Shortest:",""),b("Relative:",""),b("Absolute:",""))})()}isDefaultPreset(e,r){var n;return(n={selectedFolderPreset:["Default (Obsidian setting)","Root folder","Same folder as current note"],selectedFilenamePreset:["Keep original name","NoteName-Timestamp"],selectedConversionPreset:["None","WEBP (75, no resizing)"],selectedLinkFormatPreset:["Default (Wikilink, Shortest)","Markdown, Relative"],selectedResizePreset:["Default (No Resize)"]}[r])==null?void 0:n.includes(e.name)}addAddNewPresetCard(e,r,t){let n=e.createDiv({cls:"image-converter-preset-card image-converter-add-new-preset"});n.createEl("div",{text:"+ Add New",cls:"image-converter-add-new-preset-text"}),n.onClickEvent(()=>{r==="selectedFolderPreset"?t.newPreset={name:"",type:"SUBFOLDER"}:r==="selectedFilenamePreset"?t.newPreset={name:"",customTemplate:"",skipRenamePatterns:""}:r==="selectedLinkFormatPreset"?t.newPreset={name:"",linkFormat:"wikilink",pathFormat:"shortest"}:r==="selectedConversionPreset"?t.newPreset={name:"",outputFormat:"NONE",quality:100,colorDepth:1,resizeMode:"None",desiredWidth:800,desiredHeight:600,desiredLongestEdge:1e3,enlargeOrReduce:"Auto",allowLargerFiles:!1,skipConversionPatterns:"",ffmpegExecutablePath:"",ffmpegCrf:23,ffmpegPreset:"medium"}:r==="selectedResizePreset"&&(t.newPreset={name:"",resizeDimension:"none"}),t.newPreset!==null?(this.formContainer||this.initializeFormContainer(),this.showPresetForm(t.newPreset,!0,r,t)):console.error("Error: newPreset is null.")})}async generateFolderPresetSummary(e,r){e.empty();let t=document.createDocumentFragment(),n=o=>{t.createEl("p",{text:o})},f=async o=>{let a=t.createEl("p",{cls:"image-converter-summary-example"});a.textContent="Example: Loading...";try{let A=this.app.workspace.getActiveFile(),l=this.app.vault.getFiles().find(h=>h.extension.match(/^(jpg|jpeg|png|gif|webp)$/i));if(!A&&!l){a.textContent="Example: No file available for preview.";return}let k=A&&A.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)?A:l,u=await this.plugin.variableProcessor.processTemplate(o,{file:k,activeFile:A});a.textContent=`Example: ${u}`}catch(A){console.error("Preview generation error:",A),a.textContent="Example: Error generating preview"}};switch(r.type){case"DEFAULT":n("Default (Using Obsidian's configured setting for attachments)"),f("Assets/{notename}/{imagename}");break;case"ROOT":n("Root folder of the vault (Top-level folder)."),f("{imagename}");break;case"CURRENT":n("Same folder as the note you're currently editing."),f("{notepath}/{imagename}");break;case"SUBFOLDER":n(`In subfolder: ${this.plugin.settings.subfolderTemplate}`),f(this.plugin.settings.subfolderTemplate);break;case"CUSTOM":n(`Custom location: ${r.customTemplate}`),f(r.customTemplate||"");break;default:n("Unknown location");break}e.appendChild(t)}async generateFilenamePresetSummary(e,r){e.empty();let t=document.createDocumentFragment(),n=o=>{t.createEl("p",{text:o})};(async o=>{let a=t.createEl("p",{cls:"image-converter-summary-example"});a.textContent="Example: Loading...";try{let A=this.app.workspace.getActiveFile(),l=this.app.vault.getFiles().find(h=>h.extension.match(/^(jpg|jpeg|png|gif|webp)$/i));if(!A&&!l){a.textContent="Example: No file available for preview.";return}let k=A&&A.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)?A:l,u=await this.plugin.variableProcessor.processTemplate(o,{file:k,activeFile:A});a.textContent=`Example: ${u}`}catch(A){console.error("Preview generation error:",A),a.textContent="Example: Error generating preview"}})(r.customTemplate||"{imagename}"),r.skipRenamePatterns&&n(`Skip rename patterns: ${r.skipRenamePatterns}`),r.conflictResolution&&n(`If an output file already exists: ${r.conflictResolution}`),e.appendChild(t)}getLinkFormatPresetSummary(e){return`Link Type: ${e.linkFormat}, Path Type: ${e.pathFormat}`}getConversionPresetSummary(e){let r=document.createDocumentFragment(),t=n=>{r.createEl("p",{text:n})};if(t(`Format: ${e.outputFormat}`),e.outputFormat!=="NONE"){switch(t(`Quality: ${e.quality}`),e.outputFormat==="PNG"&&t(`Color Depth: ${e.colorDepth}`),e.outputFormat==="AVIF"&&(t(`FFmpeg CRF: ${e.ffmpegCrf}`),t(`FFmpeg Preset: ${e.ffmpegPreset}`)),t(`Resize: ${e.resizeMode}`),e.resizeMode){case"Fit":case"Fill":t(`(${e.desiredWidth}x${e.desiredHeight})`);break;case"Width":t(`(Width: ${e.desiredWidth})`);break;case"Height":t(`(Height: ${e.desiredHeight})`);break;case"LongestEdge":t(`(Longest Edge: ${e.desiredLongestEdge})`);break;case"ShortestEdge":t(`(Shortest Edge: ${e.desiredLongestEdge})`);break;default:break}e.resizeMode!=="None"&&t(`Enlarge/Reduce: ${e.enlargeOrReduce}`),t(`Allow Larger Files: ${e.allowLargerFiles?"Yes":"No"}`)}return e.skipConversionPatterns&&t(`Skip Patterns: ${e.skipConversionPatterns}`),r}addSkipPatternsSetting(e,r,t,n){new L.Setting(e).setName(n).setDesc("Comma-separated list of patterns to skip (glob or regex). Regex patterns must be enclosed in `/` or `r/` or `regex:` E.g. do not proecss images which include word CAT in them /CAT/").setTooltip(`Supports multiple pattern types:
|
|
|
|
1. Glob patterns:
|
|
*.png, draft-*, test-?.jpg
|
|
* = any characters
|
|
? = single character
|
|
|
|
2. Regular expressions:
|
|
/pattern/ or r/pattern/ or regex:pattern
|
|
|
|
Examples:
|
|
*.png (all PNG files)
|
|
draft-* (files starting with draft-)
|
|
/^IMG_\\d{4}\\./ (IMG_ followed by 4 digits)
|
|
r/\\.(jpe?g|png)$/ (files ending in .jpg/.jpeg/.png)
|
|
regex:^(draft|temp)- (files starting with draft- or temp-)`).addTextArea(f=>{f.setPlaceholder("e.g., *.png, draft-*, /^IMG_\\d{4}\\./)").setValue(r[t]).onChange(async o=>{r[t]=o.trim()?o:""}),f.inputEl.setAttr("spellcheck","false")})}getResizePresetSummary(e){let r=document.createDocumentFragment(),t=c=>{r.appendChild(createEl("p",{text:c}))},n=`${e.width}${e.resizeUnits==="percentage"?"%":"px"}`,f=`${e.height}${e.resizeUnits==="percentage"?"%":"px"}`,o=e.customValue,a=`${e.longestEdge}${e.resizeUnits==="percentage"?"%":"px"}`,A=`${e.shortestEdge}${e.resizeUnits==="percentage"?"%":"px"}`,l=`${e.editorMaxWidthValue}${e.resizeUnits==="percentage"?"%":"px"}`,k=e.resizeScaleMode,u=e.respectEditorMaxWidth?"Yes":"No",h=e.maintainAspectRatio?"Yes":"No";switch(e.resizeDimension){case"none":t("No resizing");break;case"width":t(`Width: ${n}`),t(`Scale Mode: ${k}`),t(`Respect Editor Max Width: ${u}`),t(`Maintain Aspect Ratio: ${h}`);break;case"height":t(`Height: ${f}`),t(`Scale Mode: ${k}`),t(`Respect Editor Max Width: ${u}`),t(`Maintain Aspect Ratio: ${h}`);break;case"both":t(`Custom: ${o}`),t(`Scale Mode: ${k}`),t(`Respect Editor Max Width: ${u}`),t(`Maintain Aspect Ratio: ${h}`);break;case"longest-edge":t(`Longest Edge: ${a}`),t(`Scale Mode: ${k}`),t(`Respect Editor Max Width: ${u}`),t(`Maintain Aspect Ratio: ${h}`);break;case"shortest-edge":t(`Shortest Edge: ${A}`),t(`Scale Mode: ${k}`),t(`Respect Editor Max Width: ${u}`),t(`Maintain Aspect Ratio: ${h}`);break;case"original-width":t("Original Width"),t(`Scale Mode: ${k}`),t(`Respect Editor Max Width: ${u}`);break;case"original-height":t("Original Height"),t(`Scale Mode: ${k}`),t(`Respect Editor Max Width: ${u}`);break;case"editor-max-width":t(`Editor Max Width: ${l}`),t(`Scale Mode: ${k}`),t(`Respect Editor Max Width: ${u}`);break}return r}renderResizePresetFormFields(e,r){new L.Setting(e).setName("Resize dimension").setDesc("Choose how to resize the image").addDropdown(t=>{t.addOptions({none:"None",width:"Width",height:"Height",both:"WidthxHeight (Custom)","longest-edge":"Longest edge","shortest-edge":"Shortest edge","original-width":"Apply original image width","original-height":"Apply original image height","editor-max-width":"Fit editor max-width"}).setValue(r.resizeDimension).onChange(n=>{r.resizeDimension=n,this.updateResizePresetFormFields(e,r)})}),this.updateResizePresetFormFields(e,r)}updateResizePresetFormFields(e,r){e.querySelectorAll(".image-converter-resize-width-setting, .image-converter-resize-height-setting, .image-converter-resize-custom-setting, .image-converter-resize-scale-mode-setting, .image-converter-resize-respect-width-setting, .image-converter-resize-units-setting, .image-converter-maintain-aspect-ratio-setting, .image-converter-resize-longest-edge-setting, .image-converter-resize-shortest-edge-setting, .image-converter-resize-editor-max-width-value-setting").forEach(A=>A.remove());let t=e.querySelector(".image-converter-form-buttons"),n=(A,l,k,u,h=!1)=>{let c=new L.Setting(e).setName(A).setClass(l).addText(d=>{d.setValue((k==null?void 0:k.toString())||"").onChange(u),d.setPlaceholder(r.resizeUnits==="percentage"?`${A} (%)`:`${A} (px)`)});return h&&c.addDropdown(d=>{d.addOptions({pixels:"px",percentage:"%"}).setValue(r.resizeUnits).onChange(b=>{r.resizeUnits=b,c.components[0].setPlaceholder(b==="percentage"?`${A} (%)`:`${A} (px)`)}),d.selectEl.addClass("image-converter-resize-units-dropdown")}),t&&e.insertBefore(c.settingEl,t),c},f,o;switch(r.resizeDimension){case"width":n("Width","image-converter-resize-width-setting",r.width,A=>{let l=parseFloat(A);r.width=isNaN(l)?void 0:l},!0).setDesc("Set new custom width");break;case"height":n("Height","image-converter-resize-height-setting",r.height,A=>{let l=parseFloat(A);r.height=isNaN(l)?void 0:l},!0).setDesc("Set new custom height");break;case"longest-edge":n("Longest edge","image-converter-resize-longest-edge-setting",r.longestEdge,A=>{let l=parseFloat(A);r.longestEdge=isNaN(l)?void 0:l},!0).setDesc("Plugin automatically reads the original image dimensions and applies the provided value to the longer of the width or height. The other dimension is then calculated automatically if 'Maintain aspect ratio' is enabled.");break;case"shortest-edge":n("Shortest edge","image-converter-resize-shortest-edge-setting",r.shortestEdge,A=>{let l=parseFloat(A);r.shortestEdge=isNaN(l)?void 0:l},!0).setDesc("Plugin automatically reads the original image dimensions and applies the provided value to the shorter of the width or height. The other dimension is then calculated automatically if 'Maintain aspect ratio' is enabled.");break;case"both":f=new L.Setting(e).setName("Custom value").setClass("image-converter-resize-custom-setting").addText(A=>{A.setValue(r.customValue||"").onChange(l=>{/^\|?\d*(?:\.\d+)?(?:x\d*(?:\.\d+)?)?%?$/.test(l)||r.resizeUnits==="percentage"&&/^\d*(?:\.\d+)?x\d*(?:\.\d+)?%$/.test(l)?r.customValue=l:new L.Notice("Invalid custom value format. Use |widthxheight or percentage format (e.g., 50x75%).")}),A.setPlaceholder(r.resizeUnits==="percentage"?"e.g. 50x75":"widthxheight")}).setDesc("Set both width and height using the format |widthxheight (e.g., 300x200) or percentage format (e.g., 50x75). This does not preserve Aspect Ratio."),t&&e.insertBefore(f.settingEl,t);break;case"editor-max-width":o=new L.Setting(e).setName("Max width value").setClass("image-converter-resize-editor-max-width-value-setting").addText(A=>{var l;A.setValue(((l=r.editorMaxWidthValue)==null?void 0:l.toString())||"").onChange(k=>{let u=parseFloat(k);r.editorMaxWidthValue=isNaN(u)?void 0:u}),A.setPlaceholder(r.resizeUnits==="percentage"?"e.g. 50%":"e.g. 200px")}).addDropdown(A=>{A.addOptions({pixels:"px",percentage:"%"}).setValue(r.resizeUnits).onChange(l=>{var k;r.resizeUnits=l,(k=o==null?void 0:o.components[0])==null||k.setPlaceholder(l==="percentage"?"e.g. 50%":"e.g. 200px")}),A.selectEl.addClass("image-converter-resize-units-dropdown")}).setDesc("Set the maximum width of the image to fit within the editor's width. You can specify a percentage or a fixed pixel value."),t&&e.insertBefore(o.settingEl,t);break}let a;if(r.resizeDimension!=="none"&&r.resizeDimension!=="both"&&(a=new L.Setting(e).setName("Maintain aspect ratio").setClass("image-converter-maintain-aspect-ratio-setting").setDesc("Preserve the image's original proportions when resizing.").addToggle(A=>{A.setValue(r.maintainAspectRatio).onChange(l=>{r.maintainAspectRatio=l})}),t&&e.insertBefore(a.settingEl,t)),r.resizeDimension==="original-width"||r.resizeDimension==="original-height"||r.resizeDimension==="editor-max-width"?a==null||a.settingEl.hide():a==null||a.settingEl.show(),r.resizeDimension!=="editor-max-width"&&(o==null||o.settingEl.hide()),r.resizeDimension!=="none"&&r.resizeDimension!=="original-width"&&r.resizeDimension!=="original-height"&&r.resizeDimension!=="editor-max-width"){let A=new L.Setting(e).setName("Scale mode").setClass("image-converter-resize-scale-mode-setting").setDesc(`Controls how images are adjusted relative to target size:
|
|
- Auto: Adjusts image to fit specified dimensions
|
|
- Reduce Only: Only shrinks images larger than target
|
|
- Enlarge Only: Only enlarges images smaller than target`).addDropdown(l=>{l.addOptions({auto:"Auto",reduce:"Reduce Only",enlarge:"Enlarge Only"}).setValue(r.resizeScaleMode).onChange(k=>{r.resizeScaleMode=k})});t&&e.insertBefore(A.settingEl,t)}if(r.resizeDimension!=="editor-max-width"&&r.resizeDimension!=="none"){let A=new L.Setting(e).setName("Respect editor max width").setClass("image-converter-resize-respect-width-setting").setDesc("When calculating dimensions, prevent the image from exceeding the editor's width.").addToggle(l=>{l.setValue(r.respectEditorMaxWidth).onChange(k=>{r.respectEditorMaxWidth=k})});t&&e.insertBefore(A.settingEl,t)}}getSelectedPresetName(e){switch(e){case"selectedFolderPreset":return this.plugin.settings.selectedFolderPreset;case"selectedFilenamePreset":return this.plugin.settings.selectedFilenamePreset;case"selectedConversionPreset":return this.plugin.settings.selectedConversionPreset;case"selectedLinkFormatPreset":return this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset;case"selectedResizePreset":return this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset;default:return}}addSaveButton(e,r,t,n,f){new L.ButtonComponent(e).setButtonText(t?"Add":"Save").setCta().onClick(async()=>{if(!r.name){new L.Notice("Preset name cannot be empty.");return}if(!this.isDefaultPreset(r,n)&&(n==="selectedFolderPreset"&&this.plugin.settings.folderPresets.some(o=>o.name===r.name&&o!==r)||n==="selectedFilenamePreset"&&this.plugin.settings.filenamePresets.some(o=>o.name===r.name&&o!==r)||n==="selectedConversionPreset"&&this.plugin.settings.conversionPresets.some(o=>o.name===r.name&&o!==r)||n==="selectedLinkFormatPreset"&&this.plugin.settings.linkFormatSettings.linkFormatPresets.some(o=>o.name===r.name&&o!==r)||n==="selectedResizePreset"&&this.plugin.settings.nonDestructiveResizeSettings.resizePresets.some(o=>o.name===r.name&&o!==r))){new L.Notice("A preset with this name already exists.");return}t&&(n==="selectedFolderPreset"?this.plugin.settings.folderPresets.push(r):n==="selectedFilenamePreset"?this.plugin.settings.filenamePresets.push(r):n==="selectedConversionPreset"?this.plugin.settings.conversionPresets.push(r):n==="selectedLinkFormatPreset"?this.plugin.settings.linkFormatSettings.linkFormatPresets.push(r):n==="selectedResizePreset"&&this.plugin.settings.nonDestructiveResizeSettings.resizePresets.push(r)),await this.plugin.saveSettings(),f.editingPreset=null,f.newPreset=null,this.editingPresetKey=null,this.display()})}addCancelButton(e,r,t){new L.ButtonComponent(e).setButtonText("Cancel").onClick(()=>{r.editingPreset=null,r.newPreset=null,this.editingPresetKey=null,this.formContainer.removeClass("visible"),this.display()})}onClose(){this.formContainer&&(this.formContainer.removeClass("visible"),this.formContainer.empty()),this.editingPresetKey=null,this.presetUIState={folder:{editingPreset:null,newPreset:null},filename:{editingPreset:null,newPreset:null},conversion:{editingPreset:null,newPreset:null},linkformat:{editingPreset:null,newPreset:null},resize:{editingPreset:null,newPreset:null},globalPresetVisible:!0,imageAlignmentSectionCollapsed:!1,imageDragResizeSectionCollapsed:!1,imageCaptionSectionCollapsed:!1}}},Ei=class extends L.Modal{constructor(e,r,t,n,f){super(e);this.titleEl.setText(r),this.message=t,this.confirmText=n,this.callback=f}onOpen(){let{contentEl:e}=this;typeof this.message=="string"?e.setText(this.message):(e.empty(),e.appendChild(this.message));let r=e.createDiv("image-converter-confirm-modal-buttons");new L.ButtonComponent(r).setButtonText("Cancel").onClick(()=>this.close()),new L.ButtonComponent(r).setButtonText(this.confirmText).setCta().onClick(()=>{this.close(),this.callback()})}onClose(){let{contentEl:e}=this;e.empty()}},Wn=class extends L.Modal{constructor(e,r,t){super(e);this.presetName="";this.plugin=r,this.callback=t}onOpen(){let{contentEl:e}=this;e.createEl("h2",{text:"Save global preset"}),new L.Setting(e).setName("Preset Name").addText(t=>{t.setPlaceholder("Enter preset name").setValue(this.presetName).onChange(n=>{this.presetName=n})});let r=e.createEl("div",{cls:"image-converter-preset-summary"});this.updateSummary(r),new L.Setting(e).addButton(t=>t.setButtonText("Save").setCta().onClick(()=>{this.presetName?(this.callback(this.presetName),this.close()):new L.Notice("Please enter a preset name.")})).addButton(t=>t.setButtonText("Cancel").onClick(()=>{this.close()}))}updateSummary(e){e.empty(),e.createEl("h4",{text:"Summary"});let r=this.plugin.settings.folderPresets.find(u=>u.name===this.plugin.settings.selectedFolderPreset),t=this.plugin.settings.filenamePresets.find(u=>u.name===this.plugin.settings.selectedFilenamePreset),n=this.plugin.settings.conversionPresets.find(u=>u.name===this.plugin.settings.selectedConversionPreset),f=this.plugin.settings.linkFormatSettings.linkFormatPresets.find(u=>u.name===this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset),o=this.plugin.settings.nonDestructiveResizeSettings.resizePresets.find(u=>u.name===this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset),a=document.createDocumentFragment(),A=u=>{let h=document.createElement("div");return h.classList.add("summary-section-title"),h.textContent=u,h},l=(u,h,c=!1)=>{let d=document.createElement("div");return d.classList.add("summary-item"),d.createEl("span",{text:`${u}: `,cls:"summary-label"}),d.createEl("span",{text:h!=null?h.toString():"None",cls:c?"summary-value-bold":"summary-value"}),d},k=(u,h)=>{if(h){let c=document.createElement("div");switch(c.classList.add("summary-section"),c.appendChild(A(`${u} Preset: ${h.name}`)),u){case"Folder":c.appendChild(l("Type",h.type)),h.type==="SUBFOLDER"?c.appendChild(l("Subfolder template",this.plugin.settings.subfolderTemplate)):h.type==="CUSTOM"&&c.appendChild(l("Custom template",h.customTemplate));break;case"Filename":c.appendChild(l("Template",h.customTemplate));break;case"Conversion":if(c.appendChild(l("Output format",h.outputFormat)),h.outputFormat!=="NONE"){switch(c.appendChild(l("Quality",h.quality)),h.outputFormat==="PNG"&&c.appendChild(l("Color depth",h.colorDepth)),c.appendChild(l("Resize mode",h.resizeMode)),h.resizeMode){case"Fit":case"Fill":c.appendChild(l("Dimensions",`${h.desiredWidth}x${h.desiredHeight}`));break;case"Width":c.appendChild(l("Width",h.desiredWidth));break;case"Height":c.appendChild(l("Height",h.desiredHeight));break;case"LongestEdge":case"ShortestEdge":c.appendChild(l("Edge",h.desiredLongestEdge));break}h.resizeMode!=="None"&&c.appendChild(l("Scale",h.enlargeOrReduce)),c.appendChild(l("Allow larger files",h.allowLargerFiles?"Yes":"No")),c.appendChild(l("Skip patterns",h.skipConversionPatterns))}break;case"Link format":c.appendChild(l("Link type",h.linkFormat)),c.appendChild(l("Path format",h.pathFormat));break;case"Resize":if(o){let d="";switch(o.resizeDimension){case"width":d=`Width: ${o.width}${o.resizeUnits==="percentage"?"%":"px"}`;break;case"height":d=`Height: ${o.height}${o.resizeUnits==="percentage"?"%":"px"}`;break;case"both":d=`Custom: ${o.customValue}`;break;case"longest-edge":d=`Longest edge: ${o.longestEdge}${o.resizeUnits==="percentage"?"%":"px"}`;break;case"shortest-edge":d=`Shortest edge: ${o.shortestEdge}${o.resizeUnits==="percentage"?"%":"px"}`;break;case"original-width":d="Original width";break;case"original-height":d="Original height";break;case"editor-max-width":d=`Editor max width: ${o.editorMaxWidthValue}${o.resizeUnits==="percentage"?"%":"px"}`;break;case"none":d="No resizing";break}c.appendChild(l("Dimension",d)),o.resizeDimension!=="none"&&(c.appendChild(l("Scale mode",o.resizeScaleMode)),c.appendChild(l("Respect editor max width",o.respectEditorMaxWidth?"Yes":"No")),o.resizeDimension!=="original-width"&&o.resizeDimension!=="original-height"&&o.resizeDimension!=="editor-max-width"&&c.appendChild(l("Maintain aspect ratio",o.maintainAspectRatio?"Yes":"No")))}break}a.appendChild(c)}};k("Folder",r),k("Filename",t),k("Conversion",n),k("Link format",f),k("Resize",o),e.appendChild(a)}onClose(){let{contentEl:e}=this;e.empty()}},Ar=class extends L.Modal{constructor(e,r){super(e);this.modalClass="image-converter-available-variables-modal";this.variableProcessor=r}onOpen(){this.modalEl.addClass(this.modalClass);let{contentEl:e}=this;e.createEl("h2",{text:"Available variables"});let r=this.variableProcessor.getCategorizedVariables();for(let[t,n]of Object.entries(r)){e.createEl("h4",{text:t});let o=e.createEl("table").createTBody();for(let a of n){let A=o.createEl("tr");A.createEl("td",{text:a.name}),A.createEl("td",{text:a.description}),A.createEl("td",{text:a.example})}}}onClose(){let{contentEl:e}=this;e.empty(),this.modalEl.removeClass(this.modalClass)}};var E2=_2(require("fs/promises")),Xf=_2(require("os")),Vf=_2(require("path")),rt=class{constructor(i){this.supportedImageFormats=i}async processImage(i,e,r,t,n,f,o,a,A,l,k,u){this.preset=k,this.settings=u||Ci;try{if(e==="NONE"&&n!=="None")return this.resizeImage(i,n,f,o,a,A);if(e==="NONE")return i.arrayBuffer();if(e==="ORIGINAL")return this.compressOriginalImage(i,r,n,f,o,a,A);let h=i.type,c=i instanceof File?i.name:"image";switch((!h||h==="unknown"||!this.supportedImageFormats.isSupported(h,c))&&(h=await this.supportedImageFormats.getMimeTypeFromFile(i)),h){case"image/tiff":case"image/tif":{let d=await this.handleTiff(await i.arrayBuffer());return this.convertAndCompress(d,e,r,t,n,f,o,a,A,l)}case"image/heic":case"image/heif":{let d=await this.handleHeic(await i.arrayBuffer(),e==="JPEG"?"JPEG":"PNG",e==="JPEG"?r:1);return this.convertAndCompress(d,e,r,t,n,f,o,a,A,l)}default:return this.convertAndCompress(i,e,r,t,n,f,o,a,A,l)}}catch(h){return console.error("Error processing image:",h),new Je.Notice(`Failed to process image: ${h.message}`),i.arrayBuffer()}}async handleTiff(i){try{let e=await Promise.resolve().then(()=>_2(If())).then(A=>A.default),r=new Uint8Array(i),t=e.decode(r);e.decodeImage(r,t[0]);let n=e.toRGBA8(t[0]),f=document.createElement("canvas");f.width=t[0].width,f.height=t[0].height;let o=f.getContext("2d"),a=o.createImageData(f.width,f.height);return a.data.set(n),o.putImageData(a,0,0),new Promise((A,l)=>{f.toBlob(k=>{k?A(k):l(new Error("Failed to convert canvas to Blob"))},"image/png")})}catch(e){throw console.error("Error processing TIFF image:",e),new Error("Failed to process TIFF image")}}async handleHeic(i,e,r){try{let{heicTo:t}=await Promise.resolve().then(()=>(Ff(),Wf)),n=new Blob([i],{type:"image/heic"});return await t({blob:n,type:e==="JPEG"?"image/jpeg":"image/png",quality:r})}catch(t){throw console.error("Error converting HEIC:",t),new Error(`Failed to convert HEIC image: ${t.message}`)}}async convertAndCompress(i,e,r,t,n,f,o,a,A,l){var k,u,h,c,d,b,g;switch(e){case"WEBP":return this.convertToWebP(i,r,n,f,o,a,A,l);case"JPEG":return this.convertToJPG(i,r,n,f,o,a,A,l);case"PNG":return this.convertToPNG(i,t,n,f,o,a,A,l);case"PNGQUANT":{let v=((k=this.preset)==null?void 0:k.pngquantExecutablePath)||((u=this.settings.singleImageModalSettings)==null?void 0:u.pngquantExecutablePath),w=((h=this.preset)==null?void 0:h.pngquantQuality)||this.settings.pngquantQuality;return v?this.processWithPngquant(i,v,w,n,f,o,a,A):(new Je.Notice("PNGQUANT executable path is not set. Please configure it in the plugin settings."),i.arrayBuffer())}case"AVIF":{let v=((c=this.preset)==null?void 0:c.ffmpegExecutablePath)||((d=this.settings.singleImageModalSettings)==null?void 0:d.ffmpegExecutablePath),w=((b=this.preset)==null?void 0:b.ffmpegCrf)||this.settings.ffmpegCrf,p=((g=this.preset)==null?void 0:g.ffmpegPreset)||this.settings.ffmpegPreset;return v?this.processWithFFmpeg(i,v,w,p,n,f,o,a,A):(new Je.Notice("FFmpeg executable path is not set. Please configure it in the plugin settings."),i.arrayBuffer())}default:return i.arrayBuffer()}}async processWithFFmpeg(i,e,r,t,n,f,o,a,A){let l=i;if(n!=="None"){let g=await this.resizeImage(i,n,f,o,a,A);l=new Blob([g],{type:i.type})}let k=await this.getImageDimensions(l),u=await l.arrayBuffer(),h=await this.checkForTransparency(l),c=Xf.tmpdir(),d=`obsidian_image_converter_${Date.now()}.avif`,b=Vf.join(c,d);return new Promise((g,v)=>{var y,Z,_;let w=this.buildScaleFilter(n,k,f,o,a),p;if(h){let x="format=rgba";w&&(x+=","+w),p=["-i","pipe:0","-map","0","-map","0","-filter:v:0",x,"-filter:v:1","alphaextract","-c:v","libaom-av1","-crf",r.toString(),"-preset",t,"-still-picture","1","-y","-f","avif",b]}else{let x="format=yuv420p";w&&(x+=","+w),p=["-i","pipe:0","-filter:v",x,"-c:v","libaom-av1","-crf",r.toString(),"-preset",t,"-still-picture","1","-y","-f","avif",b]}let m=null;try{Je.Platform.isWin?m=(0,lr.spawn)(e,p,{windowsHide:!0}):m=(0,lr.spawn)(e,p)}catch(x){let B=`Failed to spawn FFmpeg: ${x.message}`;console.error(B),v(new Error(B));return}if(!m){v(new Error("Failed to spawn FFmpeg process."));return}let C="";(y=m.stderr)==null||y.on("data",x=>{C+=x.toString()}),m.on("close",async x=>{if(x!==0){let B=`FFmpeg failed with code ${x}: ${C}`;console.error(B);try{await E2.unlink(b)}catch(I){}v(new Error(B));return}try{let B=await E2.readFile(b);g(B)}catch(B){console.error("Error reading temporary file:",B),v(new Error(`Failed to read the processed image from the temporary file: ${B}`))}finally{try{await E2.unlink(b)}catch(B){console.error("Error deleting temporary file:",B)}}}),m.on("error",x=>{let B=`Error with FFmpeg process: ${x.message}`;console.error(B),E2.unlink(b).catch(I=>{}),v(new Error(B))}),(Z=m.stdin)==null||Z.write(Buffer.from(u)),(_=m.stdin)==null||_.end()})}async checkForTransparency(i){return new Promise(e=>{let r=new Image;r.onload=()=>{let n=document.createElement("canvas");n.width=r.width,n.height=r.height;let f=n.getContext("2d");if(!f){e(!1);return}f.drawImage(r,0,0);let a=f.getImageData(0,0,n.width,n.height).data;for(let A=3;A<a.length;A+=4)if(a[A]<255){e(!0);return}e(!1)},r.onerror=()=>e(!1);let t=new FileReader;t.onload=n=>{var f;r.src=(f=n.target)==null?void 0:f.result},t.onerror=()=>e(!1),t.readAsDataURL(i)})}async getImageDimensions(i){return new Promise((e,r)=>{let t=new Image;t.onload=()=>{e({width:t.naturalWidth,height:t.naturalHeight})},t.onerror=()=>{r(new Error("Failed to load image to get dimensions."))},t.src=URL.createObjectURL(i)})}buildScaleFilter(i,e,r,t,n){let{width:f,height:o}=e,a=f/o,A,l;switch(i){case"None":return null;case"Fit":a>r/t?(A=r,l=Math.round(r/a)):(l=t,A=Math.round(t*a));break;case"Fill":a>r/t?(l=t,A=Math.round(t*a)):(A=r,l=Math.round(r/a));break;case"LongestEdge":f>o?(A=n,l=Math.round(n/a)):(l=n,A=Math.round(n*a));break;case"ShortestEdge":f<o?(A=n,l=Math.round(n/a)):(l=n,A=Math.round(n*a));break;case"Width":A=r,l=Math.round(r/a);break;case"Height":l=t,A=Math.round(t*a);break;default:return null}return`scale=${A}:${l}`}async convertToWebP(i,e,r,t,n,f,o,a){if(e===1&&r==="None")return i.arrayBuffer();let A=async l=>new Promise((k,u)=>{let h=new Image;h.onload=()=>{let{imageWidth:c,imageHeight:d}=this.calculateDesiredDimensions(h,r,t,n,f,o),b=document.createElement("canvas"),g=b.getContext("2d",{willReadFrequently:!1});if(!g){u(new Error("Failed to get canvas context"));return}b.width=c,b.height=d;let v=0,w=0,p=h.naturalWidth,m=h.naturalHeight;if(r==="Fill"){let C=Math.max(c/h.naturalWidth,d/h.naturalHeight);p=c/C,m=d/C,v=(h.naturalWidth-p)/2,w=(h.naturalHeight-m)/2}g.drawImage(h,v,w,p,m,0,0,c,d),k({canvas:b,context:g})},h.onerror=c=>{console.error("WebP conversion error:",c),u(new Error("Failed to load image"))},h.src=l});try{let l=await new Promise((b,g)=>{let v=new FileReader;v.onloadend=w=>{var p;return b((p=w.target)==null?void 0:p.result)},v.onerror=()=>g(new Error("Failed to read file")),v.readAsDataURL(i)}),{canvas:k}=await A(l),[u,h]=await Promise.all([new Promise(b=>{k.toBlob(async g=>{if(!g){b(new ArrayBuffer(0));return}b(await g.arrayBuffer())},"image/webp",e)}),new Promise(b=>{let g=k.toDataURL("image/webp",e);b(this.base64ToArrayBuffer(g))})]),c=await this.compressOriginalImage(i,e,r,t,n,f,o),d=[{type:"blob",data:u,size:u.byteLength},{type:"dataUrl",data:h,size:h.byteLength},{type:"original",data:c,size:c.byteLength}].filter(b=>b.size>0);return d.sort((b,g)=>b.size-g.size),d[0].data}catch(l){return console.error("WebP conversion error:",l),i.arrayBuffer()}}async convertToJPG(i,e,r,t,n,f,o,a){if(e===1&&r==="None")return i.arrayBuffer();let A=async l=>new Promise((k,u)=>{let h=new Image;h.onload=()=>{let{imageWidth:c,imageHeight:d}=this.calculateDesiredDimensions(h,r,t,n,f,o),b=document.createElement("canvas"),g=b.getContext("2d",{willReadFrequently:!1,alpha:!1});if(!g){u(new Error("Failed to get canvas context"));return}b.width=c,b.height=d;let v=0,w=0,p=h.naturalWidth,m=h.naturalHeight;if(r==="Fill"){let C=Math.max(c/h.naturalWidth,d/h.naturalHeight);p=c/C,m=d/C,v=(h.naturalWidth-p)/2,w=(h.naturalHeight-m)/2}g.drawImage(h,v,w,p,m,0,0,c,d),k({canvas:b,context:g})},h.onerror=c=>{console.error("JPEG conversion error:",c),u(new Error("Failed to load image"))},h.src=l});try{let l=await new Promise((b,g)=>{let v=new FileReader;v.onloadend=w=>{var p;return b((p=w.target)==null?void 0:p.result)},v.onerror=()=>g(new Error("Failed to read file")),v.readAsDataURL(i)}),{canvas:k}=await A(l),[u,h]=await Promise.all([new Promise(b=>{k.toBlob(async g=>{if(!g){b(new ArrayBuffer(0));return}b(await g.arrayBuffer())},"image/jpeg",e)}),new Promise(b=>{let g=k.toDataURL("image/jpeg",e);b(this.base64ToArrayBuffer(g))})]),c=await this.compressOriginalImage(i,e,r,t,n,f,o),d=[{type:"blob",data:u,size:u.byteLength},{type:"dataUrl",data:h,size:h.byteLength},...i.type!=="image/jpeg"?[{type:"original",data:c,size:c.byteLength}]:[]].filter(b=>b.size>0);return d.sort((b,g)=>b.size-g.size),d[0].data}catch(l){return console.error("JPEG conversion error:",l),i.arrayBuffer()}}async convertToPNG(i,e,r,t,n,f,o,a){if(e===1&&r==="None")return i.arrayBuffer();let A=async l=>new Promise((k,u)=>{let h=new Image;h.onload=()=>{let{imageWidth:c,imageHeight:d}=this.calculateDesiredDimensions(h,r,t,n,f,o),b=document.createElement("canvas"),g=b.getContext("2d",{willReadFrequently:e<1,alpha:!0});if(!g){u(new Error("Failed to get canvas context"));return}b.width=c,b.height=d;let v=0,w=0,p=h.naturalWidth,m=h.naturalHeight;if(r==="Fill"){let C=Math.max(c/h.naturalWidth,d/h.naturalHeight);p=c/C,m=d/C,v=(h.naturalWidth-p)/2,w=(h.naturalHeight-m)/2}if(g.drawImage(h,v,w,p,m,0,0,c,d),e<1){let C=g.getImageData(0,0,b.width,b.height),y=this.reduceColorDepth(C,e);g.putImageData(y,0,0)}k({canvas:b,context:g})},h.onerror=c=>{console.error("PNG conversion error:",c),u(new Error("Failed to load image"))},h.src=l});try{let l=await new Promise((b,g)=>{let v=new FileReader;v.onloadend=w=>{var p;return b((p=w.target)==null?void 0:p.result)},v.onerror=()=>g(new Error("Failed to read file")),v.readAsDataURL(i)}),{canvas:k}=await A(l),[u,h]=await Promise.all([new Promise(b=>{k.toBlob(async g=>{if(!g){b(new ArrayBuffer(0));return}b(await g.arrayBuffer())},"image/png")}),new Promise(b=>{let g=k.toDataURL("image/png");b(this.base64ToArrayBuffer(g))})]),c=[{type:"blob",data:u,size:u.byteLength},{type:"dataUrl",data:h,size:h.byteLength}];if(i.type!=="image/png"){let b=await this.compressOriginalImage(i,1,r,t,n,f,o);c.push({type:"original",data:b,size:b.byteLength})}return c.filter(b=>b.size>0).sort((b,g)=>b.size-g.size)[0].data}catch(l){return console.error("PNG conversion error:",l),i.arrayBuffer()}}async processWithPngquant(i,e,r,t,n,f,o,a){let A=i;if(t!=="None"){let k=await this.resizeImage(i,t,n,f,o,a);A=new Blob([k],{type:i.type})}let l=await A.arrayBuffer();return new Promise((k,u)=>{var g,v,w,p;let h=["--quality",r,"-"],c=null;try{Je.Platform.isWin?c=(0,lr.spawn)(e,h,{windowsHide:!0}):c=(0,lr.spawn)(e,h)}catch(m){let C=`Failed to spawn pngquant: ${m.message}`;console.error(C),u(new Error(C));return}if(!c){u(new Error("Failed to spawn pngquant process."));return}let d=[],b="";(g=c.stdout)==null||g.on("data",m=>{d.push(m)}),(v=c.stderr)==null||v.on("data",m=>{b+=m.toString()}),c.on("close",m=>{if(m!==0){let y=`pngquant failed with code ${m}: ${b}`;console.error(y),u(new Error(y));return}let C=Buffer.concat(d);k(C)}),c.on("error",m=>{let C=`Error with pngquant process: ${m.message}`;console.error(C),u(new Error(C))}),(w=c.stdin)==null||w.write(Buffer.from(l)),(p=c.stdin)==null||p.end()})}async compressOriginalImage(i,e,r,t,n,f,o){return new Promise((a,A)=>{let l=new Image,k=new FileReader;k.onload=u=>{var h;l.onload=()=>{let{imageWidth:c,imageHeight:d}=this.calculateDesiredDimensions(l,r,t,n,f,o),b=document.createElement("canvas");b.width=c,b.height=d;let g=b.getContext("2d");if(!g){A(new Error("Failed to get canvas context"));return}let v=0,w=0,p=l.naturalWidth,m=l.naturalHeight;if(r==="Fill"){let y=Math.max(c/l.naturalWidth,d/l.naturalHeight);p=c/y,m=d/y,v=(l.naturalWidth-p)/2,w=(l.naturalHeight-m)/2}g.drawImage(l,v,w,p,m,0,0,c,d);let C=i.type||"image/jpeg";b.toBlob(y=>{if(!y){A(new Error("Failed to create blob"));return}y.arrayBuffer().then(a).catch(A)},C,e)},l.onerror=c=>{console.error("Original Compression error:",c),A(new Error("Failed to load image"))},l.src=(h=u.target)==null?void 0:h.result},k.onerror=()=>A(new Error("Failed to read file")),k.readAsDataURL(i)})}async resizeImage(i,e,r,t,n,f){return new Promise((o,a)=>{let A=new Image,l=new FileReader;l.onload=k=>{var u;A.onload=()=>{let{imageWidth:h,imageHeight:c}=this.calculateDesiredDimensions(A,e,r,t,n,f),d=document.createElement("canvas");d.width=h,d.height=c;let b=d.getContext("2d");if(!b){a(new Error("Failed to get canvas context"));return}b.drawImage(A,0,0,h,c),d.toBlob(g=>{if(!g){a(new Error("Failed to create blob"));return}g.arrayBuffer().then(o).catch(a)},i.type)},A.onerror=h=>{console.error("Image resizing error:",h),a(new Error("Failed to load image for resizing"))},A.src=(u=k.target)==null?void 0:u.result},l.onerror=()=>a(new Error("Failed to read file for resizing")),l.readAsDataURL(i)})}calculateDesiredDimensions(i,e,r,t,n,f){let o=i.naturalWidth,a=i.naturalHeight,A=o/a;switch(e){case"None":break;case"Fit":A>r/t?(o=r,a=o/A):(a=t,o=a*A);break;case"Fill":A>r/t?(a=t,o=a*A):(o=r,a=o/A);break;case"LongestEdge":o>a?(o=n,a=o/A):(a=n,o=a*A);break;case"ShortestEdge":o<a?(o=n,a=o/A):(a=n,o=a*A);break;case"Width":o=r,a=o/A;break;case"Height":a=t,o=a*A;break}switch(f){case"Auto":break;case"Reduce":i.naturalWidth>o||i.naturalHeight>a||(o=i.naturalWidth,a=i.naturalHeight);break;case"Enlarge":i.naturalWidth<o&&i.naturalHeight<a||(o=i.naturalWidth,a=i.naturalHeight);break}return{imageWidth:o,imageHeight:a,aspectRatio:A}}reduceColorDepth(i,e){let r=document.createElement("canvas"),t=r.getContext("2d");if(!t)throw new Error("Failed to get canvas context");r.width=i.width,r.height=i.height,t.putImageData(i,0,0);let n=t.getImageData(0,0,r.width,r.height).data,f=Math.pow(256,e),o=new Uint8ClampedArray(n.length);for(let A=0;A<n.length;A+=4){let l=n[A],k=n[A+1],u=n[A+2],h=Math.round(l/(256/f))*(256/f),c=Math.round(k/(256/f))*(256/f),d=Math.round(u/(256/f))*(256/f);o[A]=h,o[A+1]=c,o[A+2]=d,o[A+3]=n[A+3]}return new ImageData(o,i.width,i.height)}base64ToArrayBuffer(i){let e=atob(i.split(",")[1]),r=e.length,t=new ArrayBuffer(r),n=new Uint8Array(t);for(let f=0;f<r;f++)n[f]=e.charCodeAt(f);return t}};var W2=require("obsidian"),tt=class{constructor(i,e){this.app=i;this.settings=e;this.counters=new Map;this.allVariables=[{name:"{imagename}",description:"The original name of the image file (without extension).",example:"image123"},{name:"{filetype}",description:"The file extension of the image.",example:"png"},{name:"{sizeb}",description:"The size of the image in bytes.",example:"24576"},{name:"{sizekb}",description:"The size of the image in kilobytes (2 decimal places).",example:"24.00"},{name:"{sizemb}",description:"The size of the image in megabytes (2 decimal places).",example:"0.02"},{name:"{notename}",description:"The name of the current note.",example:"MeetingNotes"},{name:"{date}",description:"The current date (YYYY-MM-DD).",example:"2023-12-28"},{name:"{date:FORMAT}",description:"The current date in a custom format using Moment.js syntax.",example:"{date:YYYY-MM} -> 2023-12"},{name:"{time}",description:"The current time (HH-mm-ss).",example:"14-30-00"},{name:"{YYYY}",description:"The current year.",example:"2023"},{name:"{MM}",description:"The current month (01-12).",example:"12"},{name:"{DD}",description:"The current day of the month (01-31).",example:"28"},{name:"{HH}",description:"The current hour (00-23).",example:"14"},{name:"{mm}",description:"The current minute (00-59).",example:"30"},{name:"{ss}",description:"The current second (00-59).",example:"00"},{name:"{weekday}",description:"The current day of the week.",example:"Thursday"},{name:"{month}",description:"The current month name.",example:"December"},{name:"{calendar}",description:"A calendar view of the current date/time.",example:"12/28/2023 2:30 PM"},{name:"{today}",description:"The current date (YYYY-MM-DD).",example:"2023-12-28"},{name:"{YYYY-MM-DD}",description:"The current date (YYYY-MM-DD).",example:"2023-12-28"},{name:"{tomorrow}",description:"Tomorrow's date (YYYY-MM-DD).",example:"2023-12-29"},{name:"{yesterday}",description:"Yesterday's date (YYYY-MM-DD).",example:"2023-12-27"},{name:"{startofweek}",description:"The start of the current week (YYYY-MM-DD).",example:"2023-12-24"},{name:"{endofweek}",description:"The end of the current week (YYYY-MM-DD).",example:"2023-12-30"},{name:"{startofmonth}",description:"The start of the current month (YYYY-MM-DD).",example:"2023-12-01"},{name:"{endofmonth}",description:"The end of the current month (YYYY-MM-DD).",example:"2023-12-31"},{name:"{nextweek}",description:"The date of next week (YYYY-MM-DD).",example:"2024-01-04"},{name:"{lastweek}",description:"The date of last week (YYYY-MM-DD).",example:"2023-12-21"},{name:"{nextmonth}",description:"The date of next month (YYYY-MM-DD).",example:"2024-01-28"},{name:"{lastmonth}",description:"The date of last month (YYYY-MM-DD).",example:"2023-11-28"},{name:"{daysinmonth}",description:"The number of days in the current month.",example:"31"},{name:"{weekofyear}",description:"The week number of the current year.",example:"52"},{name:"{quarterofyear}",description:"The quarter of the current year.",example:"4"},{name:"{week}",description:"The current week number (alias for {weekofyear}).",example:"52"},{name:"{w}",description:"The current week number (alias for {weekofyear}).",example:"52"},{name:"{quarter}",description:"The current quarter (alias for {quarterofyear}).",example:"4"},{name:"{Q}",description:"The current quarter (alias for {quarterofyear}).",example:"4"},{name:"{dayofyear}",description:"The day of the year (1-366).",example:"362"},{name:"{DDD}",description:"The day of the year (1-366).",example:"362"},{name:"{monthname}",description:"The name of the current month.",example:"December"},{name:"{MMMM}",description:"The name of the current month.",example:"December"},{name:"{dayname}",description:"The name of the current day of the week.",example:"Thursday"},{name:"{dddd}",description:"The name of the current day of the week.",example:"Thursday"},{name:"{dateordinal}",description:"The current date with ordinal suffix (e.g., 28th).",example:"28th"},{name:"{Do}",description:"The current date with ordinal suffix (e.g., 28th).",example:"28th"},{name:"{relativetime}",description:"The relative time from now.",example:"in a few seconds"},{name:"{currentdate}",description:"The current date (YYYY-MM-DD).",example:"2023-12-28"},{name:"{yyyy}",description:"The current year.",example:"2023"},{name:"{timestamp}",description:"The current timestamp in milliseconds.",example:"1672234800000"},{name:"{vaultname}",description:"The name of the vault.",example:"MyVault"},{name:"{vaultpath}",description:"The root path of the vault.",example:"/Users/username/Documents/MyVault"},{name:"{parentfolder}",description:"The name of the immediate parent folder of the note.",example:"Project"},{name:"{notefolder}",description:"The name of the immediate parent folder of the note.",example:"Project"},{name:"{notepath}",description:"The full path of the current note.",example:"Project/MeetingNotes"},{name:"{width}",description:"The width of the image in pixels.",example:"800"},{name:"{height}",description:"The height of the image in pixels.",example:"600"},{name:"{aspectratio}",description:"The aspect ratio of the image (width/height, 2 decimal places).",example:"1.33"},{name:"{orientation}",description:"The orientation of the image (landscape, portrait, or square).",example:"landscape"},{name:"{resolution}",description:"The resolution of the image (width x height).",example:"800x600"},{name:"{ratio}",description:"The aspect ratio of the image, same as {aspectratio}.",example:"1.33"},{name:"{quality}",description:"The quality setting for image conversion/compression.",example:"75"},{name:"{megapixels}",description:"The size of the image in megapixels (2 decimal places).",example:"0.48"},{name:"{issquare}",description:"Whether the image is a perfect square (true/false).",example:"false"},{name:"{pixelcount}",description:"The total number of pixels in the image.",example:"480000"},{name:"{aspectratiotype}",description:"A common aspect ratio category (e.g., 4:3, 16:9, custom).",example:"4:3"},{name:"{resolutioncategory}",description:"A category based on pixel count (tiny, small, medium, large, very-large).",example:"small"},{name:"{filesizecategory}",description:"A category based on file size (e.g., 0-50KB, 51-200KB, etc.).",example:"0-50KB"},{name:"{dominantdimension}",description:"Whether the width or height is larger, or if they are equal.",example:"width"},{name:"{dimensiondifference}",description:"The absolute difference between width and height.",example:"200"},{name:"{bytesperpixel}",description:"The average number of bytes per pixel (2 decimal places).",example:"0.50"},{name:"{compressionratio}",description:"An estimate of the image compression ratio (2 decimal places).",example:"0.33"},{name:"{maxdimension}",description:"The larger dimension (width or height) of the image.",example:"800"},{name:"{mindimension}",description:"The smaller dimension (width or height) of the image.",example:"600"},{name:"{diagonalpixels}",description:"The diagonal pixel length of the image.",example:"1000"},{name:"{aspectratiosimplified}",description:"The aspect ratio in its simplest whole number form.",example:"4:3"},{name:"{screenfitcategory}",description:"A category based on whether the image fits within common screen sizes (e.g., fits-1080p, fits-1440p, fits-4k, above-4k).",example:"fits-1080p"},{name:"{random}",description:"A random alphanumeric string (6 characters).",example:"a8f7n2"},{name:"{randomHex:X}",description:"A random hexadecimal string of X characters.",example:"{randomHex:8} -> 3e4a7f9b"},{name:"{counter:00X}",description:"An auto-incrementing counter (padded with zeros) for the folder. X determines the padding.",example:"{counter:001} -> 005 (if it's the fifth image in the folder)"},{name:"{MD5:type}",description:"The first 8 characters of the MD5 hash of the specified type. Supports: filename, fullpath, parentfolder, rootfolder, extension, notename, notefolder, notepath.",example:"{MD5:filename} -> 7a3b9e2c"},{name:"{MD5:type:X}",description:"The first X characters of the MD5 hash of the specified type. Supports the same types as {MD5:type}.",example:"{MD5:fullpath:10} -> 7a3b9e2c1d"},{name:"{MD5:custom text}",description:"The full MD5 hash of a custom text.",example:"{MD5:MyCustomText} -> 5f9e2b8a3c7d1f6a4e8b2c9d"},{name:"{size:UNIT:DECIMALS}",description:"Image size in a specific unit (B, KB, MB) with custom decimal places.",example:"{size:KB:3} -> 24.000"},{name:"{sha256:image}",description:"The SHA-256 hash of the image content.",example:"{sha256:image} -> full hash, {sha256:image:8} -> e3b0c442"},{name:"{sha256:type}",description:"The SHA-256 hash of the specified type. Supports: filename, fullpath, parentfolder, rootfolder, extension, notename, notefolder, notepath.",example:"{sha256:filename} -> e3b0c442"},{name:"{sha256:type:X}",description:"The first X characters of the SHA-256 hash of the specified type. Supports the same types as {sha256:type}.",example:"{sha256:fullpath:10} -> e3b0c44298"},{name:"{uuid}",description:"A universally unique identifier (UUID).",example:"a1b2c3d4-e5f6-7890-1234-567890abcdef"}]}async processTemplate(i,e){let r=await this.getAvailableVariables(e,i),t=i;for(let[n,f]of Object.entries(r)){let o=new RegExp(this.escapeRegExp(n),"gi");t=t.replace(o,f)}return t}getAllVariables(){return this.allVariables}getCategorizedVariables(){return this.groupVariablesByCategory(this.allVariables)}groupVariablesByCategory(i){let e={Basic:[],"Date & Time":[],"File & Vault":[],"Image Metadata":[],"Calculated Image Properties":[],Advanced:[]};for(let r of i)r.name.startsWith("{date")||["{YYYY}","{MM}","{DD}","{HH}","{mm}","{ss}","{weekday}","{month}","{calendar}","{today}","{YYYY-MM-DD}","{tomorrow}","{yesterday}","{startofweek}","{endofweek}","{startofmonth}","{endofmonth}","{nextweek}","{lastweek}","{nextmonth}","{lastmonth}","{daysinmonth}","{weekofyear}","{quarterofyear}","{week}","{w}","{quarter}","{Q}","{dayofyear}","{DDD}","{monthname}","{MMMM}","{dayname}","{dddd}","{dateordinal}","{Do}","{relativetime}","{currentdate}","{yyyy}","{time}","{timestamp}"].includes(r.name)?e["Date & Time"].push(r):["{vaultname}","{vaultpath}","{parentfolder}","{notefolder}","{notepath}"].includes(r.name)?e["File & Vault"].push(r):["{imagename}","{filetype}","{sizeb}","{sizekb}","{sizemb}","{notename}"].includes(r.name)?e.Basic.push(r):["{width}","{height}","{aspectratio}","{orientation}","{resolution}"].includes(r.name)?e["Image Metadata"].push(r):["{ratio}","{quality}","{megapixels}","{issquare}","{pixelcount}","{aspectratiotype}","{resolutioncategory}","{filesizecategory}","{dominantdimension}","{dimensiondifference}","{bytesperpixel}","{compressionratio}","{maxdimension}","{mindimension}","{diagonalpixels}","{aspectratiosimplified}","{screenfitcategory}"].includes(r.name)?e["Calculated Image Properties"].push(r):e.Advanced.push(r);return e}async getAvailableVariables(i,e){var o,a,A;let{file:r,activeFile:t}=i,n=window.moment,f={};if(f["{random}"]=Math.random().toString(36).substring(2,8),f["{uuid}"]=crypto.randomUUID(),r instanceof W2.TFile){f["{imagename}"]=r.basename,f["{filetype}"]=r.extension;try{let l=await this.app.vault.adapter.stat(r.path);if(l)f["{sizeb}"]=l.size.toString(),f["{sizekb}"]=(l.size/1024).toFixed(2),f["{sizemb}"]=(l.size/(1024*1024)).toFixed(2);else throw new Error("File stats not available")}catch(l){console.error("Error getting file stats:",l),f["{sizeb}"]="unknown",f["{sizekb}"]="unknown",f["{sizemb}"]="unknown"}if(!["heic","heif","tiff","tif"].includes(r.extension.toLowerCase()))try{let l=await this.getImageMetadata(r);Object.assign(f,l)}catch(l){console.debug("Image metadata extraction failed:",l)}}else{f["{imagename}"]=r.name.substring(0,r.name.lastIndexOf(".")),f["{filetype}"]=r.name.substring(r.name.lastIndexOf(".")+1),f["{sizeb}"]=r.size.toString(),f["{sizekb}"]=(r.size/1024).toFixed(2),f["{sizemb}"]=(r.size/(1024*1024)).toFixed(2);let l=((o=r.name.split(".").pop())==null?void 0:o.toLowerCase())||"";if(!["heic","heif","tiff","tif"].includes(l))try{let k=await this.getImageMetadata(r);Object.assign(f,k)}catch(k){console.debug("Image metadata extraction failed:",k)}}f["{notename}"]=t.basename,f["{notepath}"]=t.path,f["{parentfolder}"]=((a=t.parent)==null?void 0:a.name)||"",f["{notefolder}"]=((A=t.parent)==null?void 0:A.name)||"",f["{vaultname}"]=this.app.vault.getName(),f["{vaultpath}"]=this.app.vault.getRoot().path,f["{timezone}"]=Intl.DateTimeFormat().resolvedOptions().timeZone,f["{locale}"]=navigator.language,f["{platform}"]=navigator.platform,f["{useragent}"]=navigator.userAgent,f["{YYYY}"]=n().format("YYYY"),f["{MM}"]=n().format("MM"),f["{DD}"]=n().format("DD"),f["{HH}"]=n().format("HH"),f["{mm}"]=n().format("mm"),f["{ss}"]=n().format("ss"),f["{date}"]=n().format("YYYY-MM-DD"),f["{weekday}"]=n().format("dddd"),f["{month}"]=n().format("MMMM"),f["{calendar}"]=n().calendar(),f["{today}"]=n().format("YYYY-MM-DD"),f["{YYYY-MM-DD}"]=n().format("YYYY-MM-DD"),f["{tomorrow}"]=n().add(1,"day").format("YYYY-MM-DD"),f["{yesterday}"]=n().subtract(1,"day").format("YYYY-MM-DD"),f["{startofweek}"]=n().startOf("week").format("YYYY-MM-DD"),f["{endofweek}"]=n().endOf("week").format("YYYY-MM-DD"),f["{startofmonth}"]=n().startOf("month").format("YYYY-MM-DD"),f["{endofmonth}"]=n().endOf("month").format("YYYY-MM-DD"),f["{nextweek}"]=n().add(1,"week").format("YYYY-MM-DD"),f["{lastweek}"]=n().subtract(1,"week").format("YYYY-MM-DD"),f["{nextmonth}"]=n().add(1,"month").format("YYYY-MM-DD"),f["{lastmonth}"]=n().subtract(1,"month").format("YYYY-MM-DD"),f["{daysinmonth}"]=n().daysInMonth().toString(),f["{weekofyear}"]=n().week().toString(),f["{quarterofyear}"]=n().quarter().toString(),f["{week}"]=n().format("w"),f["{w}"]=n().format("w"),f["{quarter}"]=n().format("Q"),f["{Q}"]=n().format("Q"),f["{dayofyear}"]=n().format("DDD"),f["{DDD}"]=n().format("DDD"),f["{monthname}"]=n().format("MMMM"),f["{MMMM}"]=n().format("MMMM"),f["{dayname}"]=n().format("dddd"),f["{dddd}"]=n().format("dddd"),f["{dateordinal}"]=n().format("Do"),f["{Do}"]=n().format("Do"),f["{relativetime}"]=n().fromNow(),f["{currentdate}"]=n().format("YYYY-MM-DD"),f["{yyyy}"]=n().format("YYYY"),f["{time}"]=n().format("HH-mm-ss"),f["{timestamp}"]=Date.now().toString(),f=await this.processDynamicVariables(e,i,f);try{let l=await this.getImageMetadata(r);Object.assign(f,l)}catch(l){console.debug("Image metadata extraction failed:",l)}return f}async processDynamicVariables(i,e,r){var p,m,C,y,Z;let{file:t,activeFile:n}=e,f=window.moment,o=/{randomHex:(\d+)}/g,a;for(;(a=o.exec(i))!==null;){let _=parseInt(a[1]);r[a[0]]=this.generateRandomHex(_)}let A=/{counter:(\d+)}/g,l;for(;(l=A.exec(i))!==null;){let _=l[1].length;r[l[0]]=await this.getNextCounter(((p=n.parent)==null?void 0:p.path)||"",_)}let k=/{date:(.*?)}/g,u;for(;(u=k.exec(i))!==null;)if(u[1]){let _=u[1];try{r[u[0]]=f().format(_)}catch(x){console.error(`Invalid date format: ${_}`,x),r[u[0]]=f().format("YYYY-MM-DD")}}let h=/{size:(MB|KB|B):(\d+)}/g,c,d;if(t instanceof W2.TFile)try{let _=await this.app.vault.adapter.stat(t.path);if(_)d=_.size;else throw new Error("File stats not available for size variables")}catch(_){console.error("Error getting file stats for size variables:",_),d=0}else d=t.size;for(;(c=h.exec(i))!==null;){let _=c[1],x=parseInt(c[2]);r[c[0]]=this.formatSize(d,_,x)}let b=/{MD5:([\w\-./]+?)(?::(\d+))?}/g,g;for(;(g=b.exec(i))!==null;){let _=g[1].toLowerCase(),x=g[2]?parseInt(g[2]):void 0,B="";switch(_){case"filename":B=t.name.substring(0,t.name.lastIndexOf("."));break;case"imagepath":case"fullpath":{B=t.name;break}case"parentfolder":B=((m=n.parent)==null?void 0:m.name)||"";break;case"rootfolder":B=this.app.vault.getRoot().path;break;case"extension":B=t.name.substring(t.name.lastIndexOf(".")+1);break;case"notename":B=n.basename;break;case"notefolder":B=((C=n.parent)==null?void 0:C.name)||"";break;case"notepath":B=n.path;break;default:B=_}let I=await this.generateMD5(B);x&&(I=I.substring(0,x)),r[`{MD5:${_}${x?":"+x:""}}`]=I}let v=/{sha256:([\w\-./]+?)(?::(\d+))?}/g,w;for(;(w=v.exec(i))!==null;){let _=w[1].toLowerCase(),x=w[2]?parseInt(w[2]):void 0,B;if(_==="image")B=await this.generateFileContentSHA256(t);else{let I="";switch(_){case"filename":I=t.name.substring(0,t.name.lastIndexOf("."));break;case"imagepath":case"fullpath":{I=t.name;break}case"parentfolder":I=((y=n.parent)==null?void 0:y.name)||"";break;case"rootfolder":I=this.app.vault.getRoot().path;break;case"extension":I=t.name.substring(t.name.lastIndexOf(".")+1);break;case"notename":I=n.basename;break;case"notefolder":I=((Z=n.parent)==null?void 0:Z.name)||"";break;case"notepath":I=n.path;break;default:I=_}B=await this.generateSHA256(I)}x&&(B=B.substring(0,x)),r[`{sha256:${_}${x?":"+x:""}}`]=B}return r}async getImageMetadata(i){var n;let e={},r=i instanceof W2.TFile?i.extension.toLowerCase():((n=i.name.split(".").pop())==null?void 0:n.toLowerCase())||"";if(["heic","heif","tiff","tif"].includes(r))return e;if(i instanceof W2.TFile)try{let f=await this.app.vault.readBinary(i),o=new Blob([f],{type:`image/${i.extension}`}),a=new Image;a.src=URL.createObjectURL(o),await new Promise((d,b)=>{a.onload=()=>d(a),a.onerror=g=>{console.error("Error extracting image metadata for File: ",g),b(g)}});let{width:A,height:l}=a;e["{width}"]=A.toString(),e["{height}"]=l.toString(),e["{aspectratio}"]=(A/l).toFixed(2),e["{orientation}"]=A>l?"landscape":A<l?"portrait":"square";let k=A/l,u=Math.abs(k-1)<.01,h=A*l,c=0;try{let d=await this.app.vault.adapter.stat(i.path);if(d)c=d.size;else throw new Error("File stats not available")}catch(d){console.error("Error getting file stats:",d)}Object.assign(e,{"{ratio}":k.toFixed(2),"{quality}":this.settings.quality.toString(),"{resolution}":`${a.width}x${a.height}`,"{megapixels}":(h/1e6).toFixed(2),"{issquare}":u.toString(),"{pixelcount}":h.toString(),"{aspectratiotype}":(()=>u?"1:1":Math.abs(k-1.33)<.1?"4:3":Math.abs(k-1.78)<.1?"16:9":Math.abs(k-1.6)<.1?"16:10":"custom")(),"{resolutioncategory}":(()=>h<1e5?"tiny":h<5e5?"small":h<2e6?"medium":h<8e6?"large":"very-large")(),"{filesizecategory}":(()=>c<50*1024?"0-50KB":c<200*1024?"51-200KB":c<1024*1024?"201-1024KB":c<5*1024*1024?"1025KB-5MB":c<10*1024*1024?"5MB-10MB":"10MB+")(),"{dominantdimension}":A>l?"width":A<l?"height":"equal","{dimensiondifference}":Math.abs(A-l).toString(),"{bytesperpixel}":(c/h).toFixed(2),"{compressionratio}":(c/(h*3)).toFixed(2),"{maxdimension}":Math.max(A,l).toString(),"{mindimension}":Math.min(A,l).toString(),"{diagonalpixels}":Math.sqrt(A*A+l*l).toFixed(0),"{aspectratiosimplified}":(()=>{let d=(w,p)=>p?d(p,w%p):w,b=A,g=l,v=d(b,g);return`${b/v}:${g/v}`})(),"{screenfitcategory}":(()=>A<=1920&&l<=1080?"fits-1080p":A<=2560&&l<=1440?"fits-1440p":A<=3840&&l<=2160?"fits-4k":"above-4k")()}),URL.revokeObjectURL(a.src)}catch(f){console.error("Error extracting image metadata for TFile:",f)}else try{let f=new Image;f.src=URL.createObjectURL(i),await new Promise((h,c)=>{f.onload=()=>h(f),f.onerror=d=>{console.error("Error extracting image metadata for File:",d),c(d)}});let{width:o,height:a}=f;e["{width}"]=o.toString(),e["{height}"]=a.toString(),e["{aspectratio}"]=(o/a).toFixed(2),e["{orientation}"]=o>a?"landscape":o<a?"portrait":"square";let A=o/a,l=Math.abs(A-1)<.01,k=o*a,u=i.size;Object.assign(e,{"{ratio}":A.toFixed(2),"{quality}":this.settings.quality.toString(),"{resolution}":`${f.width}x${f.height}`,"{megapixels}":(k/1e6).toFixed(2),"{issquare}":l.toString(),"{pixelcount}":k.toString(),"{aspectratiotype}":(()=>l?"1:1":Math.abs(A-1.33)<.1?"4:3":Math.abs(A-1.78)<.1?"16:9":Math.abs(A-1.6)<.1?"16:10":"custom")(),"{resolutioncategory}":(()=>k<1e5?"tiny":k<5e5?"small":k<2e6?"medium":k<8e6?"large":"very-large")(),"{filesizecategory}":(()=>u<50*1024?"0-50KB":u<200*1024?"51-200KB":u<1024*1024?"201-1024KB":u<5*1024*1024?"1025KB-5MB":u<10*1024*1024?"5MB-10MB":"10MB+")(),"{dominantdimension}":o>a?"width":o<a?"height":"equal","{dimensiondifference}":Math.abs(o-a).toString(),"{bytesperpixel}":(u/k).toFixed(2),"{compressionratio}":(u/(k*3)).toFixed(2),"{maxdimension}":Math.max(o,a).toString(),"{mindimension}":Math.min(o,a).toString(),"{diagonalpixels}":Math.sqrt(o*o+a*a).toFixed(0),"{aspectratiosimplified}":(()=>{let h=(g,v)=>v?h(v,g%v):g,c=o,d=a,b=h(c,d);return`${c/b}:${d/b}`})(),"{screenfitcategory}":(()=>o<=1920&&a<=1080?"fits-1080p":o<=2560&&a<=1440?"fits-1440p":o<=3840&&a<=2160?"fits-4k":"above-4k")()}),URL.revokeObjectURL(f.src)}catch(f){console.error("Error extracting image metadata for File:",f)}return e}formatSize(i,e,r){switch(e){case"MB":return(i/(1024*1024)).toFixed(r);case"KB":return(i/1024).toFixed(r);case"B":return i.toFixed(r);default:return i.toString()}}generateRandomHex(i){let e=new Uint8Array(Math.ceil(i/2));return window.crypto.getRandomValues(e),Array.from(e).map(r=>r.toString(16).padStart(2,"0")).join("").substring(0,i)}async getNextCounter(i,e){let r=`counter-${i}`,t=this.counters.get(r)||0;return t++,this.counters.set(r,t),t.toString().padStart(e,"0")}async generateMD5(i){function e(r){function t(O,H){return O<<H|O>>>32-H}function n(O,H){let j=O&2147483648,J=H&2147483648,U=O&1073741824,i0=H&1073741824,$=(O&1073741823)+(H&1073741823);return U&i0?$^2147483648^j^J:U|i0?$&1073741824?$^3221225472^j^J:$^1073741824^j^J:$^j^J}function f(O,H,j){return O&H|~O&j}function o(O,H,j){return O&j|H&~j}function a(O,H,j){return O^H^j}function A(O,H,j){return H^(O|~j)}function l(O,H,j,J,U,i0,$){return O=n(O,n(n(f(H,j,J),U),$)),n(t(O,i0),H)}function k(O,H,j,J,U,i0,$){return O=n(O,n(n(o(H,j,J),U),$)),n(t(O,i0),H)}function u(O,H,j,J,U,i0,$){return O=n(O,n(n(a(H,j,J),U),$)),n(t(O,i0),H)}function h(O,H,j,J,U,i0,$){return O=n(O,n(n(A(H,j,J),U),$)),n(t(O,i0),H)}function c(O){let H,j=O.length,J=j+8,i0=((J-J%64)/64+1)*16,$=Array(i0-1),t0=0,f0=0;for(;f0<j;)H=(f0-f0%4)/4,t0=f0%4*8,$[H]=($[H]||0)|O.charCodeAt(f0)<<t0,f0++;return H=(f0-f0%4)/4,t0=f0%4*8,$[H]=$[H]|128<<t0,$[i0-2]=j<<3,$[i0-1]=j>>>29,$}function d(O){let H="",j="",J,U;for(U=0;U<=3;U++)J=O>>>U*8&255,j="0"+J.toString(16),H=H+j.substr(j.length-2,2);return H}let b=c(r),g,v,w,p,m,C,y,Z,_,x=7,B=12,I=17,W=22,F=5,X=9,E=14,S=20,M=4,T=11,z=16,R=23,P=6,G=10,Q=15,Y=21;for(C=1732584193,y=4023233417,Z=2562383102,_=271733878,g=0;g<b.length;g+=16)v=C,w=y,p=Z,m=_,C=l(C,y,Z,_,b[g],x,3614090360),_=l(_,C,y,Z,b[g+1],B,3905402710),Z=l(Z,_,C,y,b[g+2],I,606105819),y=l(y,Z,_,C,b[g+3],W,3250441966),C=l(C,y,Z,_,b[g+4],x,4118548399),_=l(_,C,y,Z,b[g+5],B,1200080426),Z=l(Z,_,C,y,b[g+6],I,2821735955),y=l(y,Z,_,C,b[g+7],W,4249261313),C=l(C,y,Z,_,b[g+8],x,1770035416),_=l(_,C,y,Z,b[g+9],B,2336552879),Z=l(Z,_,C,y,b[g+10],I,4294925233),y=l(y,Z,_,C,b[g+11],W,2304563134),C=l(C,y,Z,_,b[g+12],x,1804603682),_=l(_,C,y,Z,b[g+13],B,4254626195),Z=l(Z,_,C,y,b[g+14],I,2792965006),y=l(y,Z,_,C,b[g+15],W,1236535329),C=k(C,y,Z,_,b[g+1],F,4129170786),_=k(_,C,y,Z,b[g+6],X,3225465664),Z=k(Z,_,C,y,b[g+11],E,643717713),y=k(y,Z,_,C,b[g],S,3921069994),C=k(C,y,Z,_,b[g+5],F,3593408605),_=k(_,C,y,Z,b[g+10],X,38016083),Z=k(Z,_,C,y,b[g+15],E,3634488961),y=k(y,Z,_,C,b[g+4],S,3889429448),C=k(C,y,Z,_,b[g+9],F,568446438),_=k(_,C,y,Z,b[g+14],X,3275163606),Z=k(Z,_,C,y,b[g+3],E,4107603335),y=k(y,Z,_,C,b[g+8],S,1163531501),C=k(C,y,Z,_,b[g+13],F,2850285829),_=k(_,C,y,Z,b[g+2],X,4243563512),Z=k(Z,_,C,y,b[g+7],E,1735328473),y=k(y,Z,_,C,b[g+12],S,2368359562),C=u(C,y,Z,_,b[g+5],M,4294588738),_=u(_,C,y,Z,b[g+8],T,2272392833),Z=u(Z,_,C,y,b[g+11],z,1839030562),y=u(y,Z,_,C,b[g+14],R,4259657740),C=u(C,y,Z,_,b[g+1],M,2763975236),_=u(_,C,y,Z,b[g+4],T,1272893353),Z=u(Z,_,C,y,b[g+7],z,4139469664),y=u(y,Z,_,C,b[g+10],R,3200236656),C=u(C,y,Z,_,b[g+13],M,681279174),_=u(_,C,y,Z,b[g],T,3936430074),Z=u(Z,_,C,y,b[g+3],z,3572445317),y=u(y,Z,_,C,b[g+6],R,76029189),C=u(C,y,Z,_,b[g+9],M,3654602809),_=u(_,C,y,Z,b[g+12],T,3873151461),Z=u(Z,_,C,y,b[g+15],z,530742520),y=u(y,Z,_,C,b[g+2],R,3299628645),C=h(C,y,Z,_,b[g],P,4096336452),_=h(_,C,y,Z,b[g+7],G,1126891415),Z=h(Z,_,C,y,b[g+14],Q,2878612391),y=h(y,Z,_,C,b[g+5],Y,4237533241),C=h(C,y,Z,_,b[g+12],P,1700485571),_=h(_,C,y,Z,b[g+3],G,2399980690),Z=h(Z,_,C,y,b[g+10],Q,4293915773),y=h(y,Z,_,C,b[g+1],Y,2240044497),C=h(C,y,Z,_,b[g+8],P,1873313359),_=h(_,C,y,Z,b[g+15],G,4264355552),Z=h(Z,_,C,y,b[g+6],Q,2734768916),y=h(y,Z,_,C,b[g+13],Y,1309151649),C=h(C,y,Z,_,b[g+4],P,4149444226),_=h(_,C,y,Z,b[g+11],G,3174756917),Z=h(Z,_,C,y,b[g+2],Q,718787259),y=h(y,Z,_,C,b[g+9],Y,3951481745),C=n(C,v),y=n(y,w),Z=n(Z,p),_=n(_,m);return(d(C)+d(y)+d(Z)+d(_)).toLowerCase()}try{return e(i)}catch(r){return console.error("MD5 generation failed:",r),"error"}}escapeRegExp(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}async generateSHA256(i){let r=new TextEncoder().encode(i),t=await crypto.subtle.digest("SHA-256",r);return Array.from(new Uint8Array(t)).map(o=>o.toString(16).padStart(2,"0")).join("")}async generateFileContentSHA256(i){try{let e;i instanceof W2.TFile?e=await this.app.vault.readBinary(i):e=await i.arrayBuffer();let r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(f=>f.toString(16).padStart(2,"0")).join("")}catch(e){return console.error("Error generating SHA-256 hash of file content:",e),"error"}}};var Ee=require("obsidian"),nt=class{constructor(i){this.app=i}async formatLink(i,e,r,t,n){try{if(!i)throw new Error("Link path cannot be empty.");let f=this.app.vault.getAbstractFileByPath(i);if(!(f instanceof Ee.TFile))throw new Error(`No file found at path: ${i}`);let o=this.formatPath(f,e,r,t),a="";return n&&(a=await this.getResizeParams(n,f)),e==="wikilink"?`![[${o}${a}]]`:`})`}catch(f){return f instanceof Error?new Ee.Notice(`Error formatting link: ${f.message}`):new Ee.Notice("An unexpected error occurred while formatting the link."),console.error("Error in LinkFormatter:",f),""}}encodeMarkdownPath(i){return i.replace(/\s/g,"%20")}formatPath(i,e,r,t){switch(r){case"shortest":return i.name;case"absolute":return this.formatAbsolutePath(i);case"relative":return this.formatRelativePath(i,t);default:throw new Error(`Invalid path format: ${r}`)}}formatAbsolutePath(i){return"/"+i.path}formatRelativePath(i,e){if(!e)throw new Error("Cannot format relative path without an active file.");if(!e.parent)throw new Error("Active file does not have a parent directory.");let r=this.getRelativePath(e.path,i.path);return!r.startsWith("../")&&!r.startsWith("./")?"./"+r:r}getRelativePath(i,e){let r=i.split("/").slice(0,-1),t=e.split("/"),n=0;for(;n<r.length&&n<t.length&&r[n]===t[n];)n++;let f="";for(let o=n;o<r.length;o++)f+="../";return f+=t.slice(n).join("/"),f===t[t.length-1]&&(f="./"+f),f}async getResizeParams(i,e){let r="",t=await this.getImageDimensions(e);if(!t)return console.warn(`Could not get dimensions for ${e.name}. No resizing applied.`),"";let n,f,o,a;switch(i.resizeDimension){case"width":n=this.getDimensionValue(i.width,t.width,i.resizeUnits),i.maintainAspectRatio&&(f=Math.round((n!=null?n:0)*t.height/t.width));break;case"height":f=this.getDimensionValue(i.height,t.height,i.resizeUnits),i.maintainAspectRatio&&(n=Math.round((f!=null?f:0)*t.width/t.height));break;case"both":if(i.customValue){let A=this.parseCustomDimensions(i.customValue,t,i.resizeUnits);n=A.width,f=A.height}break;case"longest-edge":o=this.getDimensionValue(i.longestEdge,Math.max(t.width,t.height),i.resizeUnits),i.maintainAspectRatio?t.width>=t.height?(n=o,f=Math.round((n!=null?n:0)*t.height/t.width)):(f=o,n=Math.round((f!=null?f:0)*t.width/t.height)):(n=t.width>=t.height?o:void 0,f=t.height>t.width?o:void 0);break;case"shortest-edge":a=this.getDimensionValue(i.shortestEdge,Math.min(t.width,t.height),i.resizeUnits),i.maintainAspectRatio?t.width<t.height?(n=a,f=Math.round((n!=null?n:0)*t.height/t.width)):(f=a,n=Math.round((f!=null?f:0)*t.width/t.height)):(n=t.width<t.height?a:void 0,f=t.height<=t.width?a:void 0);break;case"original-width":n=t.width,f=i.maintainAspectRatio?t.height:void 0;break;case"editor-max-width":{let A=this.getEditorMaxWidth();if(!A||isNaN(A))return console.warn("Invalid editorMaxWidth:",A),"";if(i.editorMaxWidthValue===void 0||isNaN(i.editorMaxWidthValue))return console.warn("Invalid editorMaxWidthValue:",i.editorMaxWidthValue),"";let l=i.resizeUnits==="percentage"?Math.round(A*i.editorMaxWidthValue/100):i.editorMaxWidthValue;if(n=l,t&&t.width>0){let k=l/t.width;f=Math.round(t.height*k),i.maintainAspectRatio&&f/n>2&&(f=Math.round(n*2),n=Math.round(f*(t.width/t.height)))}else f=Math.round(n*.75);break}case"none":default:return""}if(n!==void 0&&(n=this.applyScaleModeToDimension(n,t.width,i.resizeScaleMode)),f!==void 0&&(f=this.applyScaleModeToDimension(f,t.height,i.resizeScaleMode)),i.respectEditorMaxWidth&&n!==void 0){let A=this.getEditorMaxWidth();n>A&&(i.maintainAspectRatio&&f!==void 0&&(f=Math.round(A*t.height/t.width)),n=A)}if(i.maintainAspectRatio||(n===void 0&&f!==void 0?n=t?t.width:100:n===void 0&&(n=100),f===void 0&&n!==void 0?f=t?t.height:100:f===void 0&&(f=100)),n!==void 0||f!==void 0){let A=n!==void 0?Math.round(n):void 0,l=f!==void 0?Math.round(f):void 0;r=`|${A!=null?A:""}x${l!=null?l:""}`}else r="";return r}getDimensionValue(i,e,r){if(i!==void 0)return r==="percentage"?Math.round(e*i/100):i}parseCustomDimensions(i,e,r){let t=i.match(/(\d*(?:\.\d+)?)(%)?x(\d*(?:\.\d+)?)(%)?/);if(!t)return{width:void 0,height:void 0};let n=t[1]?parseFloat(t[1]):void 0,f=t[3]?parseFloat(t[3]):void 0;return r==="percentage"&&(n!==void 0&&(n=Math.round(e.width*n/100)),f!==void 0&&(f=Math.round(e.height*f/100))),{width:n,height:f}}applyScaleModeToDimension(i,e,r){return r==="reduce"&&i>e||r==="enlarge"&&i<e?e:i}getEditorMaxWidth(){var f;let i=this.app.workspace.getMostRecentLeaf();if(!i||!i.view)return console.log("Active leaf or view not found, using default 800"),800;if(!(i.view instanceof Ee.MarkdownView)||!i.view.editor)return console.log("Active view is not a MarkdownView or has no editor, using default 800"),800;let t=i.view.editor.cm;if(!t)return console.warn("Could not access CodeMirror EditorView"),800;let n=(f=t.contentDOM.querySelector(".cm-line"))==null?void 0:f.clientWidth;return n||(console.warn("Could not determine content width, using default 800"),800)}async getImageDimensions(i){return new Promise(e=>{let r=new Image;r.onload=()=>{e({width:r.width,height:r.height})},r.onerror=n=>{new Ee.Notice(`Failed to load image dimensions for ${i.name}`),e(null)};let t=this.app.vault.getResourcePath(i);r.src=t})}};var q=require("obsidian"),Qe=_2(require("path"));var y0=require("obsidian");function V(s,i,e){return(i=function(r){var t=function(n,f){if(typeof n!="object"||!n)return n;var o=n[Symbol.toPrimitive];if(o!==void 0){var a=o.call(n,f||"default");if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(f==="string"?String:Number)(n)}(r,"string");return typeof t=="symbol"?t:t+""}(i))in s?Object.defineProperty(s,i,{value:e,enumerable:!0,configurable:!0,writable:!0}):s[i]=e,s}function Gf(s,i){var e=Object.keys(s);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(s);i&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(s,t).enumerable})),e.push.apply(e,r)}return e}function D(s){for(var i=1;i<arguments.length;i++){var e=arguments[i]!=null?arguments[i]:{};i%2?Gf(Object(e),!0).forEach(function(r){V(s,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(e)):Gf(Object(e)).forEach(function(r){Object.defineProperty(s,r,Object.getOwnPropertyDescriptor(e,r))})}return s}function N0(s,i){if(s==null)return{};var e,r,t=function(f,o){if(f==null)return{};var a={};for(var A in f)if({}.hasOwnProperty.call(f,A)){if(o.indexOf(A)>=0)continue;a[A]=f[A]}return a}(s,i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(s);for(r=0;r<n.length;r++)e=n[r],i.indexOf(e)>=0||{}.propertyIsEnumerable.call(s,e)&&(t[e]=s[e])}return t}function Te(s,i){return i||(i=s.slice(0)),Object.freeze(Object.defineProperties(s,{raw:{value:Object.freeze(i)}}))}var ct=class{constructor(){V(this,"browserShadowBlurConstant",1),V(this,"DPI",96),V(this,"devicePixelRatio",typeof window!="undefined"?window.devicePixelRatio:1),V(this,"perfLimitSizeTotal",2097152),V(this,"maxCacheSideLimit",4096),V(this,"minCacheSideLimit",256),V(this,"disableStyleCopyPaste",!1),V(this,"enableGLFiltering",!0),V(this,"textureSize",4096),V(this,"forceGLPutImageData",!1),V(this,"cachesBoundsOfCurve",!1),V(this,"fontPaths",{}),V(this,"NUM_FRACTION_DIGITS",4)}},x0=new class extends ct{constructor(s){super(),this.configure(s)}configure(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Object.assign(this,s)}addFonts(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.fontPaths=D(D({},this.fontPaths),s)}removeFonts(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(s=>{delete this.fontPaths[s]})}clearFonts(){this.fontPaths={}}restoreDefaults(s){let i=new ct,e=(s==null?void 0:s.reduce((r,t)=>(r[t]=i[t],r),{}))||i;this.configure(e)}},Ge=function(s){for(var i=arguments.length,e=new Array(i>1?i-1:0),r=1;r<i;r++)e[r-1]=arguments[r];return console[s]("fabric",...e)},Ri=class extends Error{constructor(i,e){super("fabric: ".concat(i),e)}},dt=class extends Ri{constructor(i){super("".concat(i," 'options.signal' is in 'aborted' state"))}},On=class{},zn=class extends On{testPrecision(i,e){let r="precision ".concat(e,` float;
|
|
void main(){}`),t=i.createShader(i.FRAGMENT_SHADER);return!!t&&(i.shaderSource(t,r),i.compileShader(t),!!i.getShaderParameter(t,i.COMPILE_STATUS))}queryWebGL(i){let e=i.getContext("webgl");e&&(this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),this.GLPrecision=["highp","mediump","lowp"].find(r=>this.testPrecision(e,r)),e.getExtension("WEBGL_lose_context").loseContext(),Ge("log","WebGL: max texture size ".concat(this.maxTextureSize)))}isSupported(i){return!!this.maxTextureSize&&this.maxTextureSize>=i}},Fs={},Df;var ae=()=>Df||(Df={document,window,isTouchSupported:"ontouchstart"in window||"ontouchstart"in document||window&&window.navigator&&window.navigator.maxTouchPoints>0,WebGLProbe:new zn,dispose(){},copyPasteData:Fs}),z2=()=>ae().document,Rt=()=>ae().window,lo=()=>{var s;return Math.max((s=x0.devicePixelRatio)!==null&&s!==void 0?s:Rt().devicePixelRatio,1)},cr=new class{constructor(){V(this,"charWidthsCache",{}),V(this,"boundsOfCurveCache",{})}getFontCache(s){let{fontFamily:i,fontStyle:e,fontWeight:r}=s;i=i.toLowerCase(),this.charWidthsCache[i]||(this.charWidthsCache[i]={});let t=this.charWidthsCache[i],n="".concat(e.toLowerCase(),"_").concat((r+"").toLowerCase());return t[n]||(t[n]={}),t[n]}clearFontCache(s){(s=(s||"").toLowerCase())?this.charWidthsCache[s]&&delete this.charWidthsCache[s]:this.charWidthsCache={}}limitDimsByArea(s){let{perfLimitSizeTotal:i}=x0,e=Math.sqrt(i*s);return[Math.floor(e),Math.floor(i/e)]}},Jn="6.5.4";function k2(){}var De=Math.PI/2,ve=2*Math.PI,C1=Math.PI/180,bi=Object.freeze([1,0,0,1,0,0]),y1=16,We=.4477152502,d0="center",E0="left",yi="top",Hn="bottom",$0="right",Bi="none",B1=/\r?\n/,ko="moving",Pt="scaling",uo="rotating",x1="rotate",ho="skewing",mr="resizing",co="modifyPoly",Xs="modifyPath",bt="changed",Nt="scale",gi="scaleX",Gi="scaleY",J2="skewX",H2="skewY",ri="fill",xi="stroke",gt="modified",F2="json",Xn="svg",r0=new class{constructor(){this[F2]=new Map,this[Xn]=new Map}has(s){return this[F2].has(s)}getClass(s){let i=this[F2].get(s);if(!i)throw new Ri("No class registered for ".concat(s));return i}setClass(s,i){i?this[F2].set(i,s):(this[F2].set(s.type,s),this[F2].set(s.type.toLowerCase(),s))}getSVGClass(s){return this[Xn].get(s)}setSVGClass(s,i){this[Xn].set(i!=null?i:s.type.toLowerCase(),s)}},pt=new class extends Array{remove(s){let i=this.indexOf(s);i>-1&&this.splice(i,1)}cancelAll(){let s=this.splice(0);return s.forEach(i=>i.abort()),s}cancelByCanvas(s){if(!s)return[];let i=this.filter(e=>{var r;return e.target===s||typeof e.target=="object"&&((r=e.target)===null||r===void 0?void 0:r.canvas)===s});return i.forEach(e=>e.abort()),i}cancelByTarget(s){if(!s)return[];let i=this.filter(e=>e.target===s);return i.forEach(e=>e.abort()),i}},Un=class{constructor(){V(this,"__eventListeners",{})}on(i,e){if(this.__eventListeners||(this.__eventListeners={}),typeof i=="object")return Object.entries(i).forEach(r=>{let[t,n]=r;this.on(t,n)}),()=>this.off(i);if(e){let r=i;return this.__eventListeners[r]||(this.__eventListeners[r]=[]),this.__eventListeners[r].push(e),()=>this.off(r,e)}return()=>!1}once(i,e){if(typeof i=="object"){let r=[];return Object.entries(i).forEach(t=>{let[n,f]=t;r.push(this.once(n,f))}),()=>r.forEach(t=>t())}if(e){let r=this.on(i,function(){for(var t=arguments.length,n=new Array(t),f=0;f<t;f++)n[f]=arguments[f];e.call(this,...n),r()});return r}return()=>!1}_removeEventListener(i,e){if(this.__eventListeners[i])if(e){let r=this.__eventListeners[i],t=r.indexOf(e);t>-1&&r.splice(t,1)}else this.__eventListeners[i]=[]}off(i,e){if(this.__eventListeners)if(i===void 0)for(let r in this.__eventListeners)this._removeEventListener(r);else typeof i=="object"?Object.entries(i).forEach(r=>{let[t,n]=r;this._removeEventListener(t,n)}):this._removeEventListener(i,e)}fire(i,e){var r;if(!this.__eventListeners)return;let t=(r=this.__eventListeners[i])===null||r===void 0?void 0:r.concat();if(t)for(let n=0;n<t.length;n++)t[n].call(this,e||{})}},He=(s,i)=>{let e=s.indexOf(i);return e!==-1&&s.splice(e,1),s},ie=s=>{if(s===0)return 1;switch(Math.abs(s)/De){case 1:case 3:return 0;case 2:return-1}return Math.cos(s)},ee=s=>{if(s===0)return 0;let i=s/De,e=Math.sign(s);switch(i){case 1:return e;case 2:return 0;case 3:return-e}return Math.sin(s)},N=class{constructor(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;typeof i=="object"?(this.x=i.x,this.y=i.y):(this.x=i,this.y=e)}add(i){return new N(this.x+i.x,this.y+i.y)}addEquals(i){return this.x+=i.x,this.y+=i.y,this}scalarAdd(i){return new N(this.x+i,this.y+i)}scalarAddEquals(i){return this.x+=i,this.y+=i,this}subtract(i){return new N(this.x-i.x,this.y-i.y)}subtractEquals(i){return this.x-=i.x,this.y-=i.y,this}scalarSubtract(i){return new N(this.x-i,this.y-i)}scalarSubtractEquals(i){return this.x-=i,this.y-=i,this}multiply(i){return new N(this.x*i.x,this.y*i.y)}scalarMultiply(i){return new N(this.x*i,this.y*i)}scalarMultiplyEquals(i){return this.x*=i,this.y*=i,this}divide(i){return new N(this.x/i.x,this.y/i.y)}scalarDivide(i){return new N(this.x/i,this.y/i)}scalarDivideEquals(i){return this.x/=i,this.y/=i,this}eq(i){return this.x===i.x&&this.y===i.y}lt(i){return this.x<i.x&&this.y<i.y}lte(i){return this.x<=i.x&&this.y<=i.y}gt(i){return this.x>i.x&&this.y>i.y}gte(i){return this.x>=i.x&&this.y>=i.y}lerp(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:.5;return e=Math.max(Math.min(1,e),0),new N(this.x+(i.x-this.x)*e,this.y+(i.y-this.y)*e)}distanceFrom(i){let e=this.x-i.x,r=this.y-i.y;return Math.sqrt(e*e+r*r)}midPointFrom(i){return this.lerp(i)}min(i){return new N(Math.min(this.x,i.x),Math.min(this.y,i.y))}max(i){return new N(Math.max(this.x,i.x),Math.max(this.y,i.y))}toString(){return"".concat(this.x,",").concat(this.y)}setXY(i,e){return this.x=i,this.y=e,this}setX(i){return this.x=i,this}setY(i){return this.y=i,this}setFromPoint(i){return this.x=i.x,this.y=i.y,this}swap(i){let e=this.x,r=this.y;this.x=i.x,this.y=i.y,i.x=e,i.y=r}clone(){return new N(this.x,this.y)}rotate(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Z1,r=ee(i),t=ie(i),n=this.subtract(e);return new N(n.x*t-n.y*r,n.x*r+n.y*t).add(e)}transform(i){let e=arguments.length>1&&arguments[1]!==void 0&&arguments[1];return new N(i[0]*this.x+i[2]*this.y+(e?0:i[4]),i[1]*this.x+i[3]*this.y+(e?0:i[5]))}},Z1=new N(0,0),ut=s=>!!s&&Array.isArray(s._objects);function bo(s){class i extends s{constructor(){super(...arguments),V(this,"_objects",[])}_onObjectAdded(r){}_onObjectRemoved(r){}_onStackOrderChanged(r){}add(){for(var r=arguments.length,t=new Array(r),n=0;n<r;n++)t[n]=arguments[n];let f=this._objects.push(...t);return t.forEach(o=>this._onObjectAdded(o)),f}insertAt(r){for(var t=arguments.length,n=new Array(t>1?t-1:0),f=1;f<t;f++)n[f-1]=arguments[f];return this._objects.splice(r,0,...n),n.forEach(o=>this._onObjectAdded(o)),this._objects.length}remove(){let r=this._objects,t=[];for(var n=arguments.length,f=new Array(n),o=0;o<n;o++)f[o]=arguments[o];return f.forEach(a=>{let A=r.indexOf(a);A!==-1&&(r.splice(A,1),t.push(a),this._onObjectRemoved(a))}),t}forEachObject(r){this.getObjects().forEach((t,n,f)=>r(t,n,f))}getObjects(){for(var r=arguments.length,t=new Array(r),n=0;n<r;n++)t[n]=arguments[n];return t.length===0?[...this._objects]:this._objects.filter(f=>f.isType(...t))}item(r){return this._objects[r]}isEmpty(){return this._objects.length===0}size(){return this._objects.length}contains(r,t){return!!this._objects.includes(r)||!!t&&this._objects.some(n=>n instanceof i&&n.contains(r,!0))}complexity(){return this._objects.reduce((r,t)=>r+=t.complexity?t.complexity():0,0)}sendObjectToBack(r){return!(!r||r===this._objects[0])&&(He(this._objects,r),this._objects.unshift(r),this._onStackOrderChanged(r),!0)}bringObjectToFront(r){return!(!r||r===this._objects[this._objects.length-1])&&(He(this._objects,r),this._objects.push(r),this._onStackOrderChanged(r),!0)}sendObjectBackwards(r,t){if(!r)return!1;let n=this._objects.indexOf(r);if(n!==0){let f=this.findNewLowerIndex(r,n,t);return He(this._objects,r),this._objects.splice(f,0,r),this._onStackOrderChanged(r),!0}return!1}bringObjectForward(r,t){if(!r)return!1;let n=this._objects.indexOf(r);if(n!==this._objects.length-1){let f=this.findNewUpperIndex(r,n,t);return He(this._objects,r),this._objects.splice(f,0,r),this._onStackOrderChanged(r),!0}return!1}moveObjectTo(r,t){return r!==this._objects[t]&&(He(this._objects,r),this._objects.splice(t,0,r),this._onStackOrderChanged(r),!0)}findNewLowerIndex(r,t,n){let f;if(n){f=t;for(let o=t-1;o>=0;--o)if(r.isOverlapping(this._objects[o])){f=o;break}}else f=t-1;return f}findNewUpperIndex(r,t,n){let f;if(n){f=t;for(let o=t+1;o<this._objects.length;++o)if(r.isOverlapping(this._objects[o])){f=o;break}}else f=t+1;return f}collectObjects(r){let{left:t,top:n,width:f,height:o}=r,{includeIntersecting:a=!0}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},A=[],l=new N(t,n),k=l.add(new N(f,o));for(let u=this._objects.length-1;u>=0;u--){let h=this._objects[u];h.selectable&&h.visible&&(a&&h.intersectsWithRect(l,k)||h.isContainedWithinRect(l,k)||a&&h.containsPoint(l)||a&&h.containsPoint(k))&&A.push(h)}return A}}return i}var mt=class extends Un{_setOptions(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};for(let e in i)this.set(e,i[e])}_setObject(i){for(let e in i)this._set(e,i[e])}set(i,e){return typeof i=="object"?this._setObject(i):this._set(i,e),this}_set(i,e){this[i]=e}toggle(i){let e=this.get(i);return typeof e=="boolean"&&this.set(i,!e),this}get(i){return this[i]}};function dr(s){return Rt().requestAnimationFrame(s)}function go(s){return Rt().cancelAnimationFrame(s)}var Vs=0,Se=()=>Vs++,Ni=()=>{let s=z2().createElement("canvas");if(!s||s.getContext===void 0)throw new Ri("Failed to create `canvas` element");return s},po=()=>z2().createElement("img"),re=s=>{let i=Ni();return i.width=s.width,i.height=s.height,i},I1=(s,i,e)=>s.toDataURL("image/".concat(i),e),z0=s=>s*C1,Me=s=>s/C1,mo=s=>s.every((i,e)=>i===bi[e]),ki=(s,i,e)=>new N(s).transform(i,e),Vi=s=>{let i=1/(s[0]*s[3]-s[1]*s[2]),e=[i*s[3],-i*s[1],-i*s[2],i*s[0],0,0],{x:r,y:t}=new N(s[4],s[5]).transform(e,!0);return e[4]=-r,e[5]=-t,e},J0=(s,i,e)=>[s[0]*i[0]+s[2]*i[1],s[1]*i[0]+s[3]*i[1],s[0]*i[2]+s[2]*i[3],s[1]*i[2]+s[3]*i[3],e?0:s[0]*i[4]+s[2]*i[5]+s[4],e?0:s[1]*i[4]+s[3]*i[5]+s[5]],Qt=(s,i)=>s.reduceRight((e,r)=>r&&e?J0(r,e,i):r||e,void 0)||bi.concat(),vo=s=>{let[i,e]=s;return Math.atan2(e,i)},R2=s=>{let i=vo(s),e=Math.pow(s[0],2)+Math.pow(s[1],2),r=Math.sqrt(e),t=(s[0]*s[3]-s[2]*s[1])/r,n=Math.atan2(s[0]*s[2]+s[1]*s[3],e);return{angle:Me(i),scaleX:r,scaleY:t,skewX:Me(n),skewY:0,translateX:s[4]||0,translateY:s[5]||0}},U2=function(s){return[1,0,0,1,s,arguments.length>1&&arguments[1]!==void 0?arguments[1]:0]};function j2(){let{angle:s=0}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{x:i=0,y:e=0}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=z0(s),t=ie(r),n=ee(r);return[t,n,-n,t,i?i-(t*i-n*e):0,e?e-(n*i+t*e):0]}var Yt=function(s){return[s,0,0,arguments.length>1&&arguments[1]!==void 0?arguments[1]:s,0,0]},wo=s=>Math.tan(z0(s)),E1=s=>[1,0,wo(s),1,0,0],W1=s=>[1,wo(s),0,1,0,0],Br=s=>{let{scaleX:i=1,scaleY:e=1,flipX:r=!1,flipY:t=!1,skewX:n=0,skewY:f=0}=s,o=Yt(r?-i:i,t?-e:e);return n&&(o=J0(o,E1(n),!0)),f&&(o=J0(o,W1(f),!0)),o},_o=s=>{let{translateX:i=0,translateY:e=0,angle:r=0}=s,t=U2(i,e);r&&(t=J0(t,j2({angle:r})));let n=Br(s);return mo(n)||(t=J0(t,n)),t},br=function(s){let{signal:i,crossOrigin:e=null}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return new Promise(function(r,t){if(i&&i.aborted)return t(new dt("loadImage"));let n=po(),f;i&&(f=function(a){n.src="",t(a)},i.addEventListener("abort",f,{once:!0}));let o=function(){n.onload=n.onerror=null,f&&(i==null||i.removeEventListener("abort",f)),r(n)};s?(n.onload=o,n.onerror=function(){f&&(i==null||i.removeEventListener("abort",f)),t(new Ri("Error loading ".concat(n.src)))},e&&(n.crossOrigin=e),n.src=s):o()})},P2=function(s){let{signal:i,reviver:e=k2}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return new Promise((r,t)=>{let n=[];i&&i.addEventListener("abort",t,{once:!0}),Promise.all(s.map(f=>r0.getClass(f.type).fromObject(f,{signal:i}).then(o=>(e(f,o),n.push(o),o)))).then(r).catch(f=>{n.forEach(o=>{o.dispose&&o.dispose()}),t(f)}).finally(()=>{i&&i.removeEventListener("abort",t)})})},xr=function(s){let{signal:i}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return new Promise((e,r)=>{let t=[];i&&i.addEventListener("abort",r,{once:!0});let n=Object.values(s).map(o=>o&&o.type&&r0.has(o.type)?P2([o],{signal:i}).then(a=>{let[A]=a;return t.push(A),A}):o),f=Object.keys(s);Promise.all(n).then(o=>o.reduce((a,A,l)=>(a[f[l]]=A,a),{})).then(e).catch(o=>{t.forEach(a=>{a.dispose&&a.dispose()}),r(o)}).finally(()=>{i&&i.removeEventListener("abort",r)})})},g2=function(s){return(arguments.length>1&&arguments[1]!==void 0?arguments[1]:[]).reduce((i,e)=>(e in s&&(i[e]=s[e]),i),{})},F1=(s,i)=>Object.keys(s).reduce((e,r)=>(i(s[r],r,s)&&(e[r]=s[r]),e),{}),Sf={aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aqua:"#0FF",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000",blanchedalmond:"#FFEBCD",blue:"#00F",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#0FF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgrey:"#A9A9A9",darkgreen:"#006400",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",fuchsia:"#F0F",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#ADFF2F",honeydew:"#F0FFF0",hotpink:"#FF69B4",indianred:"#CD5C5C",indigo:"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgray:"#D3D3D3",lightgrey:"#D3D3D3",lightgreen:"#90EE90",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#789",lightslategrey:"#789",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",lime:"#0F0",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#F0F",maroon:"#800000",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",navy:"#000080",oldlace:"#FDF5E6",olive:"#808000",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",purple:"#800080",rebeccapurple:"#639",red:"#F00",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",silver:"#C0C0C0",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",teal:"#008080",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",white:"#FFF",whitesmoke:"#F5F5F5",yellow:"#FF0",yellowgreen:"#9ACD32"},Vn=(s,i,e)=>(e<0&&(e+=1),e>1&&(e-=1),e<1/6?s+6*(i-s)*e:e<.5?i:e<2/3?s+(i-s)*(2/3-e)*6:s),Mf=(s,i,e,r)=>{s/=255,i/=255,e/=255;let t=Math.max(s,i,e),n=Math.min(s,i,e),f,o,a=(t+n)/2;if(t===n)f=o=0;else{let A=t-n;switch(o=a>.5?A/(2-t-n):A/(t+n),t){case s:f=(i-e)/A+(i<e?6:0);break;case i:f=(e-s)/A+2;break;case e:f=(s-i)/A+4}f/=6}return[Math.round(360*f),Math.round(100*o),Math.round(100*a),r]},Tf=function(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"1";return parseFloat(s)/(s.endsWith("%")?100:1)},ft=s=>Math.min(Math.round(s),255).toString(16).toUpperCase().padStart(2,"0"),Rf=s=>{let[i,e,r,t=1]=s,n=Math.round(.3*i+.59*e+.11*r);return[n,n,n,t]},Z0=class{constructor(i){if(V(this,"isUnrecognised",!1),i)if(i instanceof Z0)this.setSource([...i._source]);else if(Array.isArray(i)){let[e,r,t,n=1]=i;this.setSource([e,r,t,n])}else this.setSource(this._tryParsingColor(i));else this.setSource([0,0,0,1])}_tryParsingColor(i){return(i=i.toLowerCase())in Sf&&(i=Sf[i]),i==="transparent"?[255,255,255,0]:Z0.sourceFromHex(i)||Z0.sourceFromRgb(i)||Z0.sourceFromHsl(i)||(this.isUnrecognised=!0)&&[0,0,0,1]}getSource(){return this._source}setSource(i){this._source=i}toRgb(){let[i,e,r]=this.getSource();return"rgb(".concat(i,",").concat(e,",").concat(r,")")}toRgba(){return"rgba(".concat(this.getSource().join(","),")")}toHsl(){let[i,e,r]=Mf(...this.getSource());return"hsl(".concat(i,",").concat(e,"%,").concat(r,"%)")}toHsla(){let[i,e,r,t]=Mf(...this.getSource());return"hsla(".concat(i,",").concat(e,"%,").concat(r,"%,").concat(t,")")}toHex(){return this.toHexa().slice(0,6)}toHexa(){let[i,e,r,t]=this.getSource();return"".concat(ft(i)).concat(ft(e)).concat(ft(r)).concat(ft(Math.round(255*t)))}getAlpha(){return this.getSource()[3]}setAlpha(i){return this._source[3]=i,this}toGrayscale(){return this.setSource(Rf(this.getSource())),this}toBlackWhite(i){let[e,,,r]=Rf(this.getSource()),t=e<(i||127)?0:255;return this.setSource([t,t,t,r]),this}overlayWith(i){i instanceof Z0||(i=new Z0(i));let e=this.getSource(),r=i.getSource(),[t,n,f]=e.map((o,a)=>Math.round(.5*o+.5*r[a]));return this.setSource([t,n,f,e[3]]),this}static fromRgb(i){return Z0.fromRgba(i)}static fromRgba(i){return new Z0(Z0.sourceFromRgb(i))}static sourceFromRgb(i){let e=i.match(/^rgba?\(\s*(\d{0,3}(?:\.\d+)?%?)\s*[\s|,]\s*(\d{0,3}(?:\.\d+)?%?)\s*[\s|,]\s*(\d{0,3}(?:\.\d+)?%?)\s*(?:\s*[,/]\s*(\d{0,3}(?:\.\d+)?%?)\s*)?\)$/i);if(e){let[r,t,n]=e.slice(1,4).map(f=>{let o=parseFloat(f);return f.endsWith("%")?Math.round(2.55*o):o});return[r,t,n,Tf(e[4])]}}static fromHsl(i){return Z0.fromHsla(i)}static fromHsla(i){return new Z0(Z0.sourceFromHsl(i))}static sourceFromHsl(i){let e=i.match(/^hsla?\(\s*([+-]?\d{0,3}(?:\.\d+)?(?:deg|turn|rad)?)\s*[\s|,]\s*(\d{0,3}(?:\.\d+)?%?)\s*[\s|,]\s*(\d{0,3}(?:\.\d+)?%?)\s*(?:\s*[,/]\s*(\d*(?:\.\d+)?%?)\s*)?\)$/i);if(!e)return;let r=(Z0.parseAngletoDegrees(e[1])%360+360)%360/360,t=parseFloat(e[2])/100,n=parseFloat(e[3])/100,f,o,a;if(t===0)f=o=a=n;else{let A=n<=.5?n*(t+1):n+t-n*t,l=2*n-A;f=Vn(l,A,r+1/3),o=Vn(l,A,r),a=Vn(l,A,r-1/3)}return[Math.round(255*f),Math.round(255*o),Math.round(255*a),Tf(e[4])]}static fromHex(i){return new Z0(Z0.sourceFromHex(i))}static sourceFromHex(i){if(i.match(/^#?(([0-9a-f]){3,4}|([0-9a-f]{2}){3,4})$/i)){let e=i.slice(i.indexOf("#")+1),r;r=e.length<=4?e.split("").map(a=>a+a):e.match(/.{2}/g);let[t,n,f,o=255]=r.map(a=>parseInt(a,16));return[t,n,f,o/255]}}static parseAngletoDegrees(i){let e=i.toLowerCase(),r=parseFloat(e);return e.includes("rad")?Me(r):e.includes("turn")?360*r:r}},P0=(s,i)=>parseFloat(Number(s).toFixed(i)),u2=function(s){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:y1,e=/\D{0,2}$/.exec(s),r=parseFloat(s),t=x0.DPI;switch(e==null?void 0:e[0]){case"mm":return r*t/25.4;case"cm":return r*t/2.54;case"in":return r*t;case"pt":return r*t/72;case"pc":return r*t/72*12;case"em":return r*i;default:return r}},Co=s=>{let[i,e]=s.trim().split(" "),[r,t]=(n=i)&&n!==Bi?[n.slice(1,4),n.slice(5,8)]:n===Bi?[n,n]:["Mid","Mid"];var n;return{meetOrSlice:e||"meet",alignX:r,alignY:t}},vr=s=>"matrix("+s.map(i=>P0(i,x0.NUM_FRACTION_DIGITS)).join(" ")+")",wr=function(s,i){let e,r,t=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2];if(i)if(i.toLive)e="url(#SVGID_".concat(i.id,")");else{let n=new Z0(i),f=n.getAlpha();e=n.toRgb(),f!==1&&(r=f.toString())}else e="none";return t?"".concat(s,": ").concat(e,"; ").concat(r?"".concat(s,"-opacity: ").concat(r,"; "):""):"".concat(s,'="').concat(e,'" ').concat(r?"".concat(s,'-opacity="').concat(r,'" '):"")},Ti=s=>!!s&&s.toLive!==void 0,Pf=s=>!!s&&typeof s.toObject=="function",Nf=s=>!!s&&s.offsetX!==void 0&&"source"in s,Ue=s=>!!s&&"multiSelectionStacking"in s;function yo(s){let i=s&&Li(s),e=0,r=0;if(!s||!i)return{left:e,top:r};let t=s,n=i.documentElement,f=i.body||{scrollLeft:0,scrollTop:0};for(;t&&(t.parentNode||t.host)&&(t=t.parentNode||t.host,t===i?(e=f.scrollLeft||n.scrollLeft||0,r=f.scrollTop||n.scrollTop||0):(e+=t.scrollLeft||0,r+=t.scrollTop||0),t.nodeType!==1||t.style.position!=="fixed"););return{left:e,top:r}}var Li=s=>s.ownerDocument||null,Bo=s=>{var i;return((i=s.ownerDocument)===null||i===void 0?void 0:i.defaultView)||null},xo=function(s,i,e){let{width:r,height:t}=e,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1;s.width=r,s.height=t,n>1&&(s.setAttribute("width",(r*n).toString()),s.setAttribute("height",(t*n).toString()),i.scale(n,n))},jn=(s,i)=>{let{width:e,height:r}=i;e&&(s.style.width=typeof e=="number"?"".concat(e,"px"):e),r&&(s.style.height=typeof r=="number"?"".concat(r,"px"):r)};function Qf(s){return s.onselectstart!==void 0&&(s.onselectstart=()=>!1),s.style.userSelect=Bi,s}var vt=class{constructor(i){V(this,"_originalCanvasStyle",void 0),V(this,"lower",void 0);let e=this.createLowerCanvas(i);this.lower={el:e,ctx:e.getContext("2d")}}createLowerCanvas(i){let e=(r=i)&&r.getContext!==void 0?i:i&&z2().getElementById(i)||Ni();var r;if(e.hasAttribute("data-fabric"))throw new Ri("Trying to initialize a canvas that has already been initialized. Did you forget to dispose the canvas?");return this._originalCanvasStyle=e.style.cssText,e.setAttribute("data-fabric","main"),e.classList.add("lower-canvas"),e}cleanupDOM(i){let{width:e,height:r}=i,{el:t}=this.lower;t.classList.remove("lower-canvas"),t.removeAttribute("data-fabric"),t.setAttribute("width","".concat(e)),t.setAttribute("height","".concat(r)),t.style.cssText=this._originalCanvasStyle||"",this._originalCanvasStyle=void 0}setDimensions(i,e){let{el:r,ctx:t}=this.lower;xo(r,t,i,e)}setCSSDimensions(i){jn(this.lower.el,i)}calcOffset(){return function(i){var e;let r=i&&Li(i),t={left:0,top:0};if(!r)return t;let n=((e=Bo(i))===null||e===void 0?void 0:e.getComputedStyle(i,null))||{};t.left+=parseInt(n.borderLeftWidth,10)||0,t.top+=parseInt(n.borderTopWidth,10)||0,t.left+=parseInt(n.paddingLeft,10)||0,t.top+=parseInt(n.paddingTop,10)||0;let f={left:0,top:0},o=r.documentElement;i.getBoundingClientRect!==void 0&&(f=i.getBoundingClientRect());let a=yo(i);return{left:f.left+a.left-(o.clientLeft||0)+t.left,top:f.top+a.top-(o.clientTop||0)+t.top}}(this.lower.el)}dispose(){ae().dispose(this.lower.el),delete this.lower}},Gs={backgroundVpt:!0,backgroundColor:"",overlayVpt:!0,overlayColor:"",includeDefaultValues:!0,svgViewportTransformation:!0,renderOnAddRemove:!0,skipOffscreen:!0,enableRetinaScaling:!0,imageSmoothingEnabled:!0,controlsAboveOverlay:!1,allowTouchScrolling:!1,viewportTransform:[...bi]},h2=class extends bo(mt){get lowerCanvasEl(){var i;return(i=this.elements.lower)===null||i===void 0?void 0:i.el}get contextContainer(){var i;return(i=this.elements.lower)===null||i===void 0?void 0:i.ctx}static getDefaults(){return h2.ownDefaults}constructor(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Object.assign(this,this.constructor.getDefaults()),this.set(e),this.initElements(i),this._setDimensionsImpl({width:this.width||this.elements.lower.el.width||0,height:this.height||this.elements.lower.el.height||0}),this.skipControlsDrawing=!1,this.viewportTransform=[...this.viewportTransform],this.calcViewportBoundaries()}initElements(i){this.elements=new vt(i)}add(){let i=super.add(...arguments);return arguments.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),i}insertAt(i){for(var e=arguments.length,r=new Array(e>1?e-1:0),t=1;t<e;t++)r[t-1]=arguments[t];let n=super.insertAt(i,...r);return r.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),n}remove(){let i=super.remove(...arguments);return i.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),i}_onObjectAdded(i){i.canvas&&i.canvas!==this&&(Ge("warn",`Canvas is trying to add an object that belongs to a different canvas.
|
|
Resulting to default behavior: removing object from previous canvas and adding to new canvas`),i.canvas.remove(i)),i._set("canvas",this),i.setCoords(),this.fire("object:added",{target:i}),i.fire("added",{target:this})}_onObjectRemoved(i){i._set("canvas",void 0),this.fire("object:removed",{target:i}),i.fire("removed",{target:this})}_onStackOrderChanged(){this.renderOnAddRemove&&this.requestRenderAll()}getRetinaScaling(){return this.enableRetinaScaling?lo():1}calcOffset(){return this._offset=this.elements.calcOffset()}getWidth(){return this.width}getHeight(){return this.height}setWidth(i,e){return this.setDimensions({width:i},e)}setHeight(i,e){return this.setDimensions({height:i},e)}_setDimensionsImpl(i){let{cssOnly:e=!1,backstoreOnly:r=!1}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!e){let t=D({width:this.width,height:this.height},i);this.elements.setDimensions(t,this.getRetinaScaling()),this.hasLostContext=!0,this.width=t.width,this.height=t.height}r||this.elements.setCSSDimensions(i),this.calcOffset()}setDimensions(i,e){this._setDimensionsImpl(i,e),e&&e.cssOnly||this.requestRenderAll()}getZoom(){return this.viewportTransform[0]}setViewportTransform(i){this.viewportTransform=i,this.calcViewportBoundaries(),this.renderOnAddRemove&&this.requestRenderAll()}zoomToPoint(i,e){let r=i,t=[...this.viewportTransform],n=ki(i,Vi(t));t[0]=e,t[3]=e;let f=ki(n,t);t[4]+=r.x-f.x,t[5]+=r.y-f.y,this.setViewportTransform(t)}setZoom(i){this.zoomToPoint(new N(0,0),i)}absolutePan(i){let e=[...this.viewportTransform];return e[4]=-i.x,e[5]=-i.y,this.setViewportTransform(e)}relativePan(i){return this.absolutePan(new N(-i.x-this.viewportTransform[4],-i.y-this.viewportTransform[5]))}getElement(){return this.elements.lower.el}clearContext(i){i.clearRect(0,0,this.width,this.height)}getContext(){return this.elements.lower.ctx}clear(){this.remove(...this.getObjects()),this.backgroundImage=void 0,this.overlayImage=void 0,this.backgroundColor="",this.overlayColor="",this.clearContext(this.getContext()),this.fire("canvas:cleared"),this.renderOnAddRemove&&this.requestRenderAll()}renderAll(){this.cancelRequestedRender(),this.destroyed||this.renderCanvas(this.getContext(),this._objects)}renderAndReset(){this.nextRenderHandle=0,this.renderAll()}requestRenderAll(){this.nextRenderHandle||this.disposed||this.destroyed||(this.nextRenderHandle=dr(()=>this.renderAndReset()))}calcViewportBoundaries(){let i=this.width,e=this.height,r=Vi(this.viewportTransform),t=ki({x:0,y:0},r),n=ki({x:i,y:e},r),f=t.min(n),o=t.max(n);return this.vptCoords={tl:f,tr:new N(o.x,f.y),bl:new N(f.x,o.y),br:o}}cancelRequestedRender(){this.nextRenderHandle&&(go(this.nextRenderHandle),this.nextRenderHandle=0)}drawControls(i){}renderCanvas(i,e){if(this.destroyed)return;let r=this.viewportTransform,t=this.clipPath;this.calcViewportBoundaries(),this.clearContext(i),i.imageSmoothingEnabled=this.imageSmoothingEnabled,i.patternQuality="best",this.fire("before:render",{ctx:i}),this._renderBackground(i),i.save(),i.transform(r[0],r[1],r[2],r[3],r[4],r[5]),this._renderObjects(i,e),i.restore(),this.controlsAboveOverlay||this.skipControlsDrawing||this.drawControls(i),t&&(t._set("canvas",this),t.shouldCache(),t._transformDone=!0,t.renderCache({forClipping:!0}),this.drawClipPathOnCanvas(i,t)),this._renderOverlay(i),this.controlsAboveOverlay&&!this.skipControlsDrawing&&this.drawControls(i),this.fire("after:render",{ctx:i}),this.__cleanupTask&&(this.__cleanupTask(),this.__cleanupTask=void 0)}drawClipPathOnCanvas(i,e){let r=this.viewportTransform;i.save(),i.transform(...r),i.globalCompositeOperation="destination-in",e.transform(i),i.scale(1/e.zoomX,1/e.zoomY),i.drawImage(e._cacheCanvas,-e.cacheTranslationX,-e.cacheTranslationY),i.restore()}_renderObjects(i,e){for(let r=0,t=e.length;r<t;++r)e[r]&&e[r].render(i)}_renderBackgroundOrOverlay(i,e){let r=this["".concat(e,"Color")],t=this["".concat(e,"Image")],n=this.viewportTransform,f=this["".concat(e,"Vpt")];if(!r&&!t)return;let o=Ti(r);if(r){if(i.save(),i.beginPath(),i.moveTo(0,0),i.lineTo(this.width,0),i.lineTo(this.width,this.height),i.lineTo(0,this.height),i.closePath(),i.fillStyle=o?r.toLive(i):r,f&&i.transform(...n),o){i.transform(1,0,0,1,r.offsetX||0,r.offsetY||0);let a=r.gradientTransform||r.patternTransform;a&&i.transform(...a)}i.fill(),i.restore()}if(t){i.save();let{skipOffscreen:a}=this;this.skipOffscreen=f,f&&i.transform(...n),t.render(i),this.skipOffscreen=a,i.restore()}}_renderBackground(i){this._renderBackgroundOrOverlay(i,"background")}_renderOverlay(i){this._renderBackgroundOrOverlay(i,"overlay")}getCenter(){return{top:this.height/2,left:this.width/2}}getCenterPoint(){return new N(this.width/2,this.height/2)}centerObjectH(i){return this._centerObject(i,new N(this.getCenterPoint().x,i.getCenterPoint().y))}centerObjectV(i){return this._centerObject(i,new N(i.getCenterPoint().x,this.getCenterPoint().y))}centerObject(i){return this._centerObject(i,this.getCenterPoint())}viewportCenterObject(i){return this._centerObject(i,this.getVpCenter())}viewportCenterObjectH(i){return this._centerObject(i,new N(this.getVpCenter().x,i.getCenterPoint().y))}viewportCenterObjectV(i){return this._centerObject(i,new N(i.getCenterPoint().x,this.getVpCenter().y))}getVpCenter(){return ki(this.getCenterPoint(),Vi(this.viewportTransform))}_centerObject(i,e){i.setXY(e,d0,d0),i.setCoords(),this.renderOnAddRemove&&this.requestRenderAll()}toDatalessJSON(i){return this.toDatalessObject(i)}toObject(i){return this._toObjectMethod("toObject",i)}toJSON(){return this.toObject()}toDatalessObject(i){return this._toObjectMethod("toDatalessObject",i)}_toObjectMethod(i,e){let r=this.clipPath,t=r&&!r.excludeFromExport?this._toObject(r,i,e):null;return D(D(D({version:Jn},g2(this,e)),{},{objects:this._objects.filter(n=>!n.excludeFromExport).map(n=>this._toObject(n,i,e))},this.__serializeBgOverlay(i,e)),t?{clipPath:t}:null)}_toObject(i,e,r){let t;this.includeDefaultValues||(t=i.includeDefaultValues,i.includeDefaultValues=!1);let n=i[e](r);return this.includeDefaultValues||(i.includeDefaultValues=!!t),n}__serializeBgOverlay(i,e){let r={},t=this.backgroundImage,n=this.overlayImage,f=this.backgroundColor,o=this.overlayColor;return Ti(f)?f.excludeFromExport||(r.background=f.toObject(e)):f&&(r.background=f),Ti(o)?o.excludeFromExport||(r.overlay=o.toObject(e)):o&&(r.overlay=o),t&&!t.excludeFromExport&&(r.backgroundImage=this._toObject(t,i,e)),n&&!n.excludeFromExport&&(r.overlayImage=this._toObject(n,i,e)),r}toSVG(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;i.reviver=e;let r=[];return this._setSVGPreamble(r,i),this._setSVGHeader(r,i),this.clipPath&&r.push('<g clip-path="url(#'.concat(this.clipPath.clipPathId,`)" >
|
|
`)),this._setSVGBgOverlayColor(r,"background"),this._setSVGBgOverlayImage(r,"backgroundImage",e),this._setSVGObjects(r,e),this.clipPath&&r.push(`</g>
|
|
`),this._setSVGBgOverlayColor(r,"overlay"),this._setSVGBgOverlayImage(r,"overlayImage",e),r.push("</svg>"),r.join("")}_setSVGPreamble(i,e){e.suppressPreamble||i.push('<?xml version="1.0" encoding="',e.encoding||"UTF-8",`" standalone="no" ?>
|
|
`,'<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" ',`"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
`)}_setSVGHeader(i,e){let r=e.width||"".concat(this.width),t=e.height||"".concat(this.height),n=x0.NUM_FRACTION_DIGITS,f=e.viewBox,o;if(f)o='viewBox="'.concat(f.x," ").concat(f.y," ").concat(f.width," ").concat(f.height,'" ');else if(this.svgViewportTransformation){let a=this.viewportTransform;o='viewBox="'.concat(P0(-a[4]/a[0],n)," ").concat(P0(-a[5]/a[3],n)," ").concat(P0(this.width/a[0],n)," ").concat(P0(this.height/a[3],n),'" ')}else o='viewBox="0 0 '.concat(this.width," ").concat(this.height,'" ');i.push("<svg ",'xmlns="http://www.w3.org/2000/svg" ','xmlns:xlink="http://www.w3.org/1999/xlink" ','version="1.1" ','width="',r,'" ','height="',t,'" ',o,`xml:space="preserve">
|
|
`,"<desc>Created with Fabric.js ",Jn,`</desc>
|
|
`,`<defs>
|
|
`,this.createSVGFontFacesMarkup(),this.createSVGRefElementsMarkup(),this.createSVGClipPathMarkup(e),`</defs>
|
|
`)}createSVGClipPathMarkup(i){let e=this.clipPath;return e?(e.clipPathId="CLIPPATH_".concat(Se()),'<clipPath id="'.concat(e.clipPathId,`" >
|
|
`).concat(e.toClipPathSVG(i.reviver),`</clipPath>
|
|
`)):""}createSVGRefElementsMarkup(){return["background","overlay"].map(i=>{let e=this["".concat(i,"Color")];if(Ti(e)){let r=this["".concat(i,"Vpt")],t=this.viewportTransform,n={isType:()=>!1,width:this.width/(r?t[0]:1),height:this.height/(r?t[3]:1)};return e.toSVG(n,{additionalTransform:r?vr(t):""})}}).join("")}createSVGFontFacesMarkup(){let i=[],e={},r=x0.fontPaths;this._objects.forEach(function n(f){i.push(f),ut(f)&&f._objects.forEach(n)}),i.forEach(n=>{if(!(f=n)||typeof f._renderText!="function")return;var f;let{styles:o,fontFamily:a}=n;!e[a]&&r[a]&&(e[a]=!0,o&&Object.values(o).forEach(A=>{Object.values(A).forEach(l=>{let{fontFamily:k=""}=l;!e[k]&&r[k]&&(e[k]=!0)})}))});let t=Object.keys(e).map(n=>` @font-face {
|
|
font-family: '`.concat(n,`';
|
|
src: url('`).concat(r[n],`');
|
|
}
|
|
`)).join("");return t?` <style type="text/css"><![CDATA[
|
|
`.concat(t,`]]></style>
|
|
`):""}_setSVGObjects(i,e){this.forEachObject(r=>{r.excludeFromExport||this._setSVGObject(i,r,e)})}_setSVGObject(i,e,r){i.push(e.toSVG(r))}_setSVGBgOverlayImage(i,e,r){let t=this[e];t&&!t.excludeFromExport&&t.toSVG&&i.push(t.toSVG(r))}_setSVGBgOverlayColor(i,e){let r=this["".concat(e,"Color")];if(r)if(Ti(r)){let t=r.repeat||"",n=this.width,f=this.height,o=this["".concat(e,"Vpt")]?vr(Vi(this.viewportTransform)):"";i.push('<rect transform="'.concat(o," translate(").concat(n/2,",").concat(f/2,')" x="').concat(r.offsetX-n/2,'" y="').concat(r.offsetY-f/2,'" width="').concat(t!=="repeat-y"&&t!=="no-repeat"||!Nf(r)?n:r.source.width,'" height="').concat(t!=="repeat-x"&&t!=="no-repeat"||!Nf(r)?f:r.source.height,'" fill="url(#SVGID_').concat(r.id,`)"></rect>
|
|
`))}else i.push('<rect x="0" y="0" width="100%" height="100%" ','fill="',r,'"',`></rect>
|
|
`)}loadFromJSON(i,e){let{signal:r}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!i)return Promise.reject(new Ri("`json` is undefined"));let t=typeof i=="string"?JSON.parse(i):i,{objects:n=[],backgroundImage:f,background:o,overlayImage:a,overlay:A,clipPath:l}=t,k=this.renderOnAddRemove;return this.renderOnAddRemove=!1,Promise.all([P2(n,{reviver:e,signal:r}),xr({backgroundImage:f,backgroundColor:o,overlayImage:a,overlayColor:A,clipPath:l},{signal:r})]).then(u=>{let[h,c]=u;return this.clear(),this.add(...h),this.set(t),this.set(c),this.renderOnAddRemove=k,this})}clone(i){let e=this.toObject(i);return this.cloneWithoutData().loadFromJSON(e)}cloneWithoutData(){let i=re(this);return new this.constructor(i)}toDataURL(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{format:e="png",quality:r=1,multiplier:t=1,enableRetinaScaling:n=!1}=i,f=t*(n?this.getRetinaScaling():1);return I1(this.toCanvasElement(f,i),e,r)}toCanvasElement(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1,{width:e,height:r,left:t,top:n,filter:f}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=(e||this.width)*i,a=(r||this.height)*i,A=this.getZoom(),l=this.width,k=this.height,u=this.skipControlsDrawing,h=A*i,c=this.viewportTransform,d=[h,0,0,h,(c[4]-(t||0))*i,(c[5]-(n||0))*i],b=this.enableRetinaScaling,g=re({width:o,height:a}),v=f?this._objects.filter(w=>f(w)):this._objects;return this.enableRetinaScaling=!1,this.viewportTransform=d,this.width=o,this.height=a,this.skipControlsDrawing=!0,this.calcViewportBoundaries(),this.renderCanvas(g.getContext("2d"),v),this.viewportTransform=c,this.width=l,this.height=k,this.calcViewportBoundaries(),this.enableRetinaScaling=b,this.skipControlsDrawing=u,g}dispose(){return!this.disposed&&this.elements.cleanupDOM({width:this.width,height:this.height}),pt.cancelByCanvas(this),this.disposed=!0,new Promise((i,e)=>{let r=()=>{this.destroy(),i(!0)};r.kill=e,this.__cleanupTask&&this.__cleanupTask.kill("aborted"),this.destroyed?i(!1):this.nextRenderHandle?this.__cleanupTask=r:r()})}destroy(){this.destroyed=!0,this.cancelRequestedRender(),this.forEachObject(i=>i.dispose()),this._objects=[],this.backgroundImage&&this.backgroundImage.dispose(),this.backgroundImage=void 0,this.overlayImage&&this.overlayImage.dispose(),this.overlayImage=void 0,this.elements.dispose()}toString(){return"#<Canvas (".concat(this.complexity(),"): { objects: ").concat(this._objects.length," }>")}};V(h2,"ownDefaults",Gs);var Ds=["touchstart","touchmove","touchend"],Zo=s=>{let i=yo(s.target),e=function(r){let t=r.changedTouches;return t&&t[0]?t[0]:r}(s);return new N(e.clientX+i.left,e.clientY+i.top)},wt=s=>Ds.includes(s.type)||s.pointerType==="touch",Ln=s=>{s.preventDefault(),s.stopPropagation()},oe=s=>{let i=0,e=0,r=0,t=0;for(let n=0,f=s.length;n<f;n++){let{x:o,y:a}=s[n];(o>r||!n)&&(r=o),(o<i||!n)&&(i=o),(a>t||!n)&&(t=a),(a<e||!n)&&(e=a)}return{left:i,top:e,width:r-i,height:t-e}},Ss=["translateX","translateY","scaleX","scaleY"],Io=(s,i)=>N2(s,J0(i,s.calcOwnMatrix())),N2=(s,i)=>{let e=R2(i),{translateX:r,translateY:t,scaleX:n,scaleY:f}=e,o=N0(e,Ss),a=new N(r,t);s.flipX=!1,s.flipY=!1,Object.assign(s,o),s.set({scaleX:n,scaleY:f}),s.setPositionByOrigin(a,d0,d0)},Eo=s=>{s.scaleX=1,s.scaleY=1,s.skewX=0,s.skewY=0,s.flipX=!1,s.flipY=!1,s.rotate(0)},X1=s=>({scaleX:s.scaleX,scaleY:s.scaleY,skewX:s.skewX,skewY:s.skewY,angle:s.angle,left:s.left,flipX:s.flipX,flipY:s.flipY,top:s.top}),Ot=(s,i,e)=>{let r=s/2,t=i/2,n=[new N(-r,-t),new N(r,-t),new N(-r,t),new N(r,t)].map(o=>o.transform(e)),f=oe(n);return new N(f.width,f.height)},Zr=function(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:bi;return J0(Vi(arguments.length>1&&arguments[1]!==void 0?arguments[1]:bi),s)},me=function(s){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:bi,e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:bi;return s.transform(Zr(i,e))},Wo=function(s){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:bi,e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:bi;return s.transform(Zr(i,e),!0)},$n=(s,i,e)=>{let r=Zr(i,e);return N2(s,J0(r,s.calcOwnMatrix())),r},V1=(s,i)=>{var e;let{transform:{target:r}}=i;(e=r.canvas)===null||e===void 0||e.fire("object:".concat(s),D(D({},i),{},{target:r})),r.fire(s,i)},Ms={left:-.5,top:-.5,center:0,bottom:.5,right:.5},ei=s=>typeof s=="string"?Ms[s]:s-.5,_t="not-allowed";function Fo(s){return ei(s.originX)===ei(d0)&&ei(s.originY)===ei(d0)}function Yf(s){return .5-ei(s)}var qi=(s,i)=>s[i],G1=(s,i,e,r)=>({e:s,transform:i,pointer:new N(e,r)});function Xo(s,i){let e=s.getTotalAngle()+Me(Math.atan2(i.y,i.x))+360;return Math.round(e%360/45)}function zt(s,i,e,r,t){var n;let{target:f,corner:o}=s,a=f.controls[o],A=((n=f.canvas)===null||n===void 0?void 0:n.getZoom())||1,l=f.padding/A,k=function(u,h,c,d){let b=u.getRelativeCenterPoint(),g=c!==void 0&&d!==void 0?u.translateToGivenOrigin(b,d0,d0,c,d):new N(u.left,u.top);return(u.angle?h.rotate(-z0(u.angle),b):h).subtract(g)}(f,new N(r,t),i,e);return k.x>=l&&(k.x-=l),k.x<=-l&&(k.x+=l),k.y>=l&&(k.y-=l),k.y<=l&&(k.y+=l),k.x-=a.offsetX,k.y-=a.offsetY,k}var Vo=(s,i,e,r)=>{let{target:t,offsetX:n,offsetY:f}=i,o=e-n,a=r-f,A=!qi(t,"lockMovementX")&&t.left!==o,l=!qi(t,"lockMovementY")&&t.top!==a;return A&&t.set(E0,o),l&&t.set(yi,a),(A||l)&&V1(ko,G1(s,i,e,r)),A||l},Ct=class{getSvgStyles(i){let e=this.fillRule?this.fillRule:"nonzero",r=this.strokeWidth?this.strokeWidth:"0",t=this.strokeDashArray?this.strokeDashArray.join(" "):Bi,n=this.strokeDashOffset?this.strokeDashOffset:"0",f=this.strokeLineCap?this.strokeLineCap:"butt",o=this.strokeLineJoin?this.strokeLineJoin:"miter",a=this.strokeMiterLimit?this.strokeMiterLimit:"4",A=this.opacity!==void 0?this.opacity:"1",l=this.visible?"":" visibility: hidden;",k=i?"":this.getSvgFilter(),u=wr(ri,this.fill);return[wr(xi,this.stroke),"stroke-width: ",r,"; ","stroke-dasharray: ",t,"; ","stroke-linecap: ",f,"; ","stroke-dashoffset: ",n,"; ","stroke-linejoin: ",o,"; ","stroke-miterlimit: ",a,"; ",u,"fill-rule: ",e,"; ","opacity: ",A,";",k,l].join("")}getSvgFilter(){return this.shadow?"filter: url(#SVGID_".concat(this.shadow.id,");"):""}getSvgCommons(){return[this.id?'id="'.concat(this.id,'" '):"",this.clipPath?'clip-path="url(#'.concat(this.clipPath.clipPathId,')" '):""].join("")}getSvgTransform(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",r=i?this.calcTransformMatrix():this.calcOwnMatrix(),t='transform="'.concat(vr(r));return"".concat(t).concat(e,'" ')}_toSVG(i){return[""]}toSVG(i){return this._createBaseSVGMarkup(this._toSVG(i),{reviver:i})}toClipPathSVG(i){return" "+this._createBaseClipPathSVGMarkup(this._toSVG(i),{reviver:i})}_createBaseClipPathSVGMarkup(i){let{reviver:e,additionalTransform:r=""}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=[this.getSvgTransform(!0,r),this.getSvgCommons()].join(""),n=i.indexOf("COMMON_PARTS");return i[n]=t,e?e(i.join("")):i.join("")}_createBaseSVGMarkup(i){let{noStyle:e,reviver:r,withShadow:t,additionalTransform:n}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},f=e?"":'style="'.concat(this.getSvgStyles(),'" '),o=t?'style="'.concat(this.getSvgFilter(),'" '):"",a=this.clipPath,A=this.strokeUniform?'vector-effect="non-scaling-stroke" ':"",l=a&&a.absolutePositioned,k=this.stroke,u=this.fill,h=this.shadow,c=[],d=i.indexOf("COMMON_PARTS"),b;a&&(a.clipPathId="CLIPPATH_".concat(Se()),b='<clipPath id="'.concat(a.clipPathId,`" >
|
|
`).concat(a.toClipPathSVG(r),`</clipPath>
|
|
`)),l&&c.push("<g ",o,this.getSvgCommons(),` >
|
|
`),c.push("<g ",this.getSvgTransform(!1),l?"":o+this.getSvgCommons(),` >
|
|
`);let g=[f,A,e?"":this.addPaintOrder()," ",n?'transform="'.concat(n,'" '):""].join("");return i[d]=g,Ti(u)&&c.push(u.toSVG(this)),Ti(k)&&c.push(k.toSVG(this)),h&&c.push(h.toSVG(this)),a&&c.push(b),c.push(i.join("")),c.push(`</g>
|
|
`),l&&c.push(`</g>
|
|
`),r?r(c.join("")):c.join("")}addPaintOrder(){return this.paintFirst!==ri?' paint-order="'.concat(this.paintFirst,'" '):""}};function Jt(s){return new RegExp("^("+s.join("|")+")\\b","i")}var Of,$i=String.raw(Of||(Of=Te(["(?:[-+]?(?:d*.d+|d+.?)(?:[eE][-+]?d+)?)"],["(?:[-+]?(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][-+]?\\d+)?)"])));var Ts=new RegExp("(normal|italic)?\\s*(normal|small-caps)?\\s*(normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900)?\\s*("+$i+"(?:px|cm|mm|em|pt|pc|in)*)(?:\\/(normal|"+$i+"))?\\s+(.*)"),Rs={cx:E0,x:E0,r:"radius",cy:yi,y:yi,display:"visible",visibility:"visible",transform:"transformMatrix","fill-opacity":"fillOpacity","fill-rule":"fillRule","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","letter-spacing":"charSpacing","paint-order":"paintFirst","stroke-dasharray":"strokeDashArray","stroke-dashoffset":"strokeDashOffset","stroke-linecap":"strokeLineCap","stroke-linejoin":"strokeLineJoin","stroke-miterlimit":"strokeMiterLimit","stroke-opacity":"strokeOpacity","stroke-width":"strokeWidth","text-decoration":"textDecoration","text-anchor":"textAnchor",opacity:"opacity","clip-path":"clipPath","clip-rule":"clipRule","vector-effect":"strokeUniform","image-rendering":"imageSmoothing"},Gn="font-size",Dn="clip-path",c4=Jt(["path","circle","polygon","polyline","ellipse","rect","line","image","text"]),d4=Jt(["symbol","image","marker","pattern","view","svg"]),zf=Jt(["symbol","g","a","svg","clipPath","defs"]),b4=new RegExp("^\\s*("+$i+"+)\\s*,?\\s*("+$i+"+)\\s*,?\\s*("+$i+"+)\\s*,?\\s*("+$i+"+)\\s*$"),Ps=new N(1,0),Go=new N,D1=(s,i)=>s.rotate(i),yt=(s,i)=>new N(i).subtract(s),Bt=s=>s.distanceFrom(Go),xt=(s,i)=>Math.atan2(M2(s,i),So(s,i)),Do=s=>xt(Ps,s),Ht=s=>s.eq(Go)?s:s.scalarDivide(Bt(s)),S1=function(s){let i=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];return Ht(new N(-s.y,s.x).scalarMultiply(i?1:-1))},M2=(s,i)=>s.x*i.y-s.y*i.x,So=(s,i)=>s.x*i.x+s.y*i.y,qn=(s,i,e)=>{if(s.eq(i)||s.eq(e))return!0;let r=M2(i,e),t=M2(i,s),n=M2(e,s);return r>=0?t>=0&&n<=0:!(t<=0&&n>=0)},Jf="(-?\\d+(?:\\.\\d*)?(?:px)?(?:\\s?|$))?",Hf=new RegExp("(?:\\s|^)"+Jf+Jf+"("+$i+"?(?:px)?)?(?:\\s?|$)(?:$|\\s)"),Pi=class{constructor(i){let e=typeof i=="string"?Pi.parseShadow(i):i;Object.assign(this,Pi.ownDefaults,e),this.id=Se()}static parseShadow(i){let e=i.trim(),[,r=0,t=0,n=0]=(Hf.exec(e)||[]).map(f=>parseFloat(f)||0);return{color:(e.replace(Hf,"")||"rgb(0,0,0)").trim(),offsetX:r,offsetY:t,blur:n}}toString(){return[this.offsetX,this.offsetY,this.blur,this.color].join("px ")}toSVG(i){let e=D1(new N(this.offsetX,this.offsetY),z0(-i.angle)),r=new Z0(this.color),t=40,n=40;return i.width&&i.height&&(t=100*P0((Math.abs(e.x)+this.blur)/i.width,x0.NUM_FRACTION_DIGITS)+20,n=100*P0((Math.abs(e.y)+this.blur)/i.height,x0.NUM_FRACTION_DIGITS)+20),i.flipX&&(e.x*=-1),i.flipY&&(e.y*=-1),'<filter id="SVGID_'.concat(this.id,'" y="-').concat(n,'%" height="').concat(100+2*n,'%" x="-').concat(t,'%" width="').concat(100+2*t,`%" >
|
|
<feGaussianBlur in="SourceAlpha" stdDeviation="`).concat(P0(this.blur?this.blur/2:0,x0.NUM_FRACTION_DIGITS),`"></feGaussianBlur>
|
|
<feOffset dx="`).concat(P0(e.x,x0.NUM_FRACTION_DIGITS),'" dy="').concat(P0(e.y,x0.NUM_FRACTION_DIGITS),`" result="oBlur" ></feOffset>
|
|
<feFlood flood-color="`).concat(r.toRgb(),'" flood-opacity="').concat(r.getAlpha(),`"/>
|
|
<feComposite in2="oBlur" operator="in" />
|
|
<feMerge>
|
|
<feMergeNode></feMergeNode>
|
|
<feMergeNode in="SourceGraphic"></feMergeNode>
|
|
</feMerge>
|
|
</filter>
|
|
`)}toObject(){let i={color:this.color,blur:this.blur,offsetX:this.offsetX,offsetY:this.offsetY,affectStroke:this.affectStroke,nonScaling:this.nonScaling,type:this.constructor.type},e=Pi.ownDefaults;return this.includeDefaultValues?i:F1(i,(r,t)=>r!==e[t])}static async fromObject(i){return new this(i)}};V(Pi,"ownDefaults",{color:"rgb(0,0,0)",blur:0,offsetX:0,offsetY:0,affectStroke:!1,includeDefaultValues:!0,nonScaling:!1}),V(Pi,"type","shadow"),r0.setClass(Pi,"shadow");var c2=(s,i,e)=>Math.max(s,Math.min(i,e)),Ns=[yi,E0,gi,Gi,"flipX","flipY","originX","originY","angle","opacity","globalCompositeOperation","shadow","visible",J2,H2],_e=[ri,xi,"strokeWidth","strokeDashArray","width","height","paintFirst","strokeUniform","strokeLineCap","strokeDashOffset","strokeLineJoin","strokeMiterLimit","backgroundColor","clipPath"],Qs={top:0,left:0,width:0,height:0,angle:0,flipX:!1,flipY:!1,scaleX:1,scaleY:1,minScaleLimit:0,skewX:0,skewY:0,originX:E0,originY:yi,strokeWidth:1,strokeUniform:!1,padding:0,opacity:1,paintFirst:ri,fill:"rgb(0,0,0)",fillRule:"nonzero",stroke:null,strokeDashArray:null,strokeDashOffset:0,strokeLineCap:"butt",strokeLineJoin:"miter",strokeMiterLimit:4,globalCompositeOperation:"source-over",backgroundColor:"",shadow:null,visible:!0,includeDefaultValues:!0,excludeFromExport:!1,objectCaching:!0,clipPath:void 0,inverted:!1,absolutePositioned:!1,centeredRotation:!0,centeredScaling:!1,dirty:!0},Sn=(s,i,e,r)=>(s<Math.abs(i)?(s=i,r=e/4):r=i===0&&s===0?e/ve*Math.asin(1):e/ve*Math.asin(i/s),{a:s,c:i,p:e,s:r}),Uf=(s,i,e,r,t)=>s*Math.pow(2,10*(r-=1))*Math.sin((r*t-i)*ve/e),Mo=(s,i,e,r)=>-e*Math.cos(s/r*De)+e+i,Kn=(s,i,e,r)=>(s/=r)<1/2.75?e*(7.5625*s*s)+i:s<2/2.75?e*(7.5625*(s-=1.5/2.75)*s+.75)+i:s<2.5/2.75?e*(7.5625*(s-=2.25/2.75)*s+.9375)+i:e*(7.5625*(s-=2.625/2.75)*s+.984375)+i,jf=(s,i,e,r)=>e-Kn(r-s,0,e,r)+i,Ys=Object.freeze({__proto__:null,defaultEasing:Mo,easeInBack:function(s,i,e,r){let t=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1.70158;return e*(s/=r)*s*((t+1)*s-t)+i},easeInBounce:jf,easeInCirc:(s,i,e,r)=>-e*(Math.sqrt(1-(s/=r)*s)-1)+i,easeInCubic:(s,i,e,r)=>e*(s/r)**3+i,easeInElastic:(s,i,e,r)=>{let t=e,n=0;if(s===0)return i;if((s/=r)===1)return i+e;n||(n=.3*r);let{a:f,s:o,p:a}=Sn(t,e,n,1.70158);return-Uf(f,o,a,s,r)+i},easeInExpo:(s,i,e,r)=>s===0?i:e*2**(10*(s/r-1))+i,easeInOutBack:function(s,i,e,r){let t=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1.70158;return(s/=r/2)<1?e/2*(s*s*((1+(t*=1.525))*s-t))+i:e/2*((s-=2)*s*((1+(t*=1.525))*s+t)+2)+i},easeInOutBounce:(s,i,e,r)=>s<r/2?.5*jf(2*s,0,e,r)+i:.5*Kn(2*s-r,0,e,r)+.5*e+i,easeInOutCirc:(s,i,e,r)=>(s/=r/2)<1?-e/2*(Math.sqrt(1-s**2)-1)+i:e/2*(Math.sqrt(1-(s-=2)*s)+1)+i,easeInOutCubic:(s,i,e,r)=>(s/=r/2)<1?e/2*s**3+i:e/2*((s-2)**3+2)+i,easeInOutElastic:(s,i,e,r)=>{let t=e,n=0;if(s===0)return i;if((s/=r/2)===2)return i+e;n||(n=r*(.3*1.5));let{a:f,s:o,p:a,c:A}=Sn(t,e,n,1.70158);return s<1?-.5*Uf(f,o,a,s,r)+i:f*Math.pow(2,-10*(s-=1))*Math.sin((s*r-o)*ve/a)*.5+A+i},easeInOutExpo:(s,i,e,r)=>s===0?i:s===r?i+e:(s/=r/2)<1?e/2*2**(10*(s-1))+i:e/2*-(2**(-10*--s)+2)+i,easeInOutQuad:(s,i,e,r)=>(s/=r/2)<1?e/2*s**2+i:-e/2*(--s*(s-2)-1)+i,easeInOutQuart:(s,i,e,r)=>(s/=r/2)<1?e/2*s**4+i:-e/2*((s-=2)*s**3-2)+i,easeInOutQuint:(s,i,e,r)=>(s/=r/2)<1?e/2*s**5+i:e/2*((s-2)**5+2)+i,easeInOutSine:(s,i,e,r)=>-e/2*(Math.cos(Math.PI*s/r)-1)+i,easeInQuad:(s,i,e,r)=>e*(s/=r)*s+i,easeInQuart:(s,i,e,r)=>e*(s/=r)*s**3+i,easeInQuint:(s,i,e,r)=>e*(s/r)**5+i,easeInSine:(s,i,e,r)=>-e*Math.cos(s/r*De)+e+i,easeOutBack:function(s,i,e,r){let t=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1.70158;return e*((s=s/r-1)*s*((t+1)*s+t)+1)+i},easeOutBounce:Kn,easeOutCirc:(s,i,e,r)=>e*Math.sqrt(1-(s=s/r-1)*s)+i,easeOutCubic:(s,i,e,r)=>e*((s/r-1)**3+1)+i,easeOutElastic:(s,i,e,r)=>{let t=e,n=0;if(s===0)return i;if((s/=r)===1)return i+e;n||(n=.3*r);let{a:f,s:o,p:a,c:A}=Sn(t,e,n,1.70158);return f*2**(-10*s)*Math.sin((s*r-o)*ve/a)+A+i},easeOutExpo:(s,i,e,r)=>s===r?i+e:e*-(2**(-10*s/r)+1)+i,easeOutQuad:(s,i,e,r)=>-e*(s/=r)*(s-2)+i,easeOutQuart:(s,i,e,r)=>-e*((s=s/r-1)*s**3-1)+i,easeOutQuint:(s,i,e,r)=>e*((s/r-1)**5+1)+i,easeOutSine:(s,i,e,r)=>e*Math.sin(s/r*De)+i}),Os=()=>!1,_r=class{constructor(i){let{startValue:e,byValue:r,duration:t=500,delay:n=0,easing:f=Mo,onStart:o=k2,onChange:a=k2,onComplete:A=k2,abort:l=Os,target:k}=i;V(this,"_state","pending"),V(this,"durationProgress",0),V(this,"valueProgress",0),this.tick=this.tick.bind(this),this.duration=t,this.delay=n,this.easing=f,this._onStart=o,this._onChange=a,this._onComplete=A,this._abort=l,this.target=k,this.startValue=e,this.byValue=r,this.value=this.startValue,this.endValue=Object.freeze(this.calculate(this.duration).value)}get state(){return this._state}isDone(){return this._state==="aborted"||this._state==="completed"}start(){let i=e=>{this._state==="pending"&&(this.startTime=e||+new Date,this._state="running",this._onStart(),this.tick(this.startTime))};this.register(),this.delay>0?setTimeout(()=>dr(i),this.delay):dr(i)}tick(i){let e=(i||+new Date)-this.startTime,r=Math.min(e,this.duration);this.durationProgress=r/this.duration;let{value:t,valueProgress:n}=this.calculate(r);this.value=Object.freeze(t),this.valueProgress=n,this._state!=="aborted"&&(this._abort(this.value,this.valueProgress,this.durationProgress)?(this._state="aborted",this.unregister()):e>=this.duration?(this.durationProgress=this.valueProgress=1,this._onChange(this.endValue,this.valueProgress,this.durationProgress),this._state="completed",this._onComplete(this.endValue,this.valueProgress,this.durationProgress),this.unregister()):(this._onChange(this.value,this.valueProgress,this.durationProgress),dr(this.tick)))}register(){pt.push(this)}unregister(){pt.remove(this)}abort(){this._state="aborted",this.unregister()}},zs=["startValue","endValue"],i1=class extends _r{constructor(i){let{startValue:e=0,endValue:r=100}=i;super(D(D({},N0(i,zs)),{},{startValue:e,byValue:r-e}))}calculate(i){let e=this.easing(i,this.startValue,this.byValue,this.duration);return{value:e,valueProgress:Math.abs((e-this.startValue)/this.byValue)}}},Js=["startValue","endValue"],e1=class extends _r{constructor(i){let{startValue:e=[0],endValue:r=[100]}=i;super(D(D({},N0(i,Js)),{},{startValue:e,byValue:r.map((t,n)=>t-e[n])}))}calculate(i){let e=this.startValue.map((r,t)=>this.easing(i,r,this.byValue[t],this.duration,t));return{value:e,valueProgress:Math.abs((e[0]-this.startValue[0])/this.byValue[0])}}},Hs=["startValue","endValue","easing","onChange","onComplete","abort"],Us=(s,i,e,r)=>i+e*(1-Math.cos(s/r*De)),Mn=s=>s&&((i,e,r)=>s(new Z0(i).toRgba(),e,r)),r1=class extends _r{constructor(i){let{startValue:e,endValue:r,easing:t=Us,onChange:n,onComplete:f,abort:o}=i,a=N0(i,Hs),A=new Z0(e).getSource(),l=new Z0(r).getSource();super(D(D({},a),{},{startValue:A,byValue:l.map((k,u)=>k-A[u]),easing:t,onChange:Mn(n),onComplete:Mn(f),abort:Mn(o)}))}calculate(i){let[e,r,t,n]=this.startValue.map((o,a)=>this.easing(i,o,this.byValue[a],this.duration,a)),f=[...[e,r,t].map(Math.round),c2(0,n,1)];return{value:f,valueProgress:f.map((o,a)=>this.byValue[a]!==0?Math.abs((o-this.startValue[a])/this.byValue[a]):0).find(o=>o!==0)||0}}};function M1(s){let i=(e=>Array.isArray(e.startValue)||Array.isArray(e.endValue))(s)?new e1(s):new i1(s);return i.start(),i}function To(s){let i=new r1(s);return i.start(),i}var S0=class{constructor(i){this.status=i,this.points=[]}includes(i){return this.points.some(e=>e.eq(i))}append(){for(var i=arguments.length,e=new Array(i),r=0;r<i;r++)e[r]=arguments[r];return this.points=this.points.concat(e.filter(t=>!this.includes(t))),this}static isPointContained(i,e,r){let t=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(e.eq(r))return i.eq(e);if(e.x===r.x)return i.x===e.x&&(t||i.y>=Math.min(e.y,r.y)&&i.y<=Math.max(e.y,r.y));if(e.y===r.y)return i.y===e.y&&(t||i.x>=Math.min(e.x,r.x)&&i.x<=Math.max(e.x,r.x));{let n=yt(e,r),f=yt(e,i).divide(n);return t?Math.abs(f.x)===Math.abs(f.y):f.x===f.y&&f.x>=0&&f.x<=1}}static isPointInPolygon(i,e){let r=new N(i).setX(Math.min(i.x-1,...e.map(n=>n.x))),t=0;for(let n=0;n<e.length;n++){let f=this.intersectSegmentSegment(e[n],e[(n+1)%e.length],i,r);if(f.includes(i))return!0;t+=Number(f.status==="Intersection")}return t%2==1}static intersectLineLine(i,e,r,t){let n=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4],f=!(arguments.length>5&&arguments[5]!==void 0)||arguments[5],o=e.x-i.x,a=e.y-i.y,A=t.x-r.x,l=t.y-r.y,k=i.x-r.x,u=i.y-r.y,h=A*u-l*k,c=o*u-a*k,d=l*o-A*a;if(d!==0){let b=h/d,g=c/d;return(n||0<=b&&b<=1)&&(f||0<=g&&g<=1)?new S0("Intersection").append(new N(i.x+b*o,i.y+b*a)):new S0}if(h===0||c===0){let b=n||f||S0.isPointContained(i,r,t)||S0.isPointContained(e,r,t)||S0.isPointContained(r,i,e)||S0.isPointContained(t,i,e);return new S0(b?"Coincident":void 0)}return new S0("Parallel")}static intersectSegmentLine(i,e,r,t){return S0.intersectLineLine(i,e,r,t,!1,!0)}static intersectSegmentSegment(i,e,r,t){return S0.intersectLineLine(i,e,r,t,!1,!1)}static intersectLinePolygon(i,e,r){let t=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3],n=new S0,f=r.length;for(let o,a,A,l=0;l<f;l++){if(o=r[l],a=r[(l+1)%f],A=S0.intersectLineLine(i,e,o,a,t,!1),A.status==="Coincident")return A;n.append(...A.points)}return n.points.length>0&&(n.status="Intersection"),n}static intersectSegmentPolygon(i,e,r){return S0.intersectLinePolygon(i,e,r,!1)}static intersectPolygonPolygon(i,e){let r=new S0,t=i.length,n=[];for(let f=0;f<t;f++){let o=i[f],a=i[(f+1)%t],A=S0.intersectSegmentPolygon(o,a,e);A.status==="Coincident"?(n.push(A),r.append(o,a)):r.append(...A.points)}return n.length>0&&n.length===i.length?new S0("Coincident"):(r.points.length>0&&(r.status="Intersection"),r)}static intersectPolygonRectangle(i,e,r){let t=e.min(r),n=e.max(r),f=new N(n.x,t.y),o=new N(t.x,n.y);return S0.intersectPolygonPolygon(i,[t,f,n,o])}},t1=class extends mt{getX(){return this.getXY().x}setX(i){this.setXY(this.getXY().setX(i))}getY(){return this.getXY().y}setY(i){this.setXY(this.getXY().setY(i))}getRelativeX(){return this.left}setRelativeX(i){this.left=i}getRelativeY(){return this.top}setRelativeY(i){this.top=i}getXY(){let i=this.getRelativeXY();return this.group?ki(i,this.group.calcTransformMatrix()):i}setXY(i,e,r){this.group&&(i=ki(i,Vi(this.group.calcTransformMatrix()))),this.setRelativeXY(i,e,r)}getRelativeXY(){return new N(this.left,this.top)}setRelativeXY(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.originX,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.originY;this.setPositionByOrigin(i,e,r)}isStrokeAccountedForInDimensions(){return!1}getCoords(){let{tl:i,tr:e,br:r,bl:t}=this.aCoords||(this.aCoords=this.calcACoords()),n=[i,e,r,t];if(this.group){let f=this.group.calcTransformMatrix();return n.map(o=>ki(o,f))}return n}intersectsWithRect(i,e){return S0.intersectPolygonRectangle(this.getCoords(),i,e).status==="Intersection"}intersectsWithObject(i){let e=S0.intersectPolygonPolygon(this.getCoords(),i.getCoords());return e.status==="Intersection"||e.status==="Coincident"||i.isContainedWithinObject(this)||this.isContainedWithinObject(i)}isContainedWithinObject(i){return this.getCoords().every(e=>i.containsPoint(e))}isContainedWithinRect(i,e){let{left:r,top:t,width:n,height:f}=this.getBoundingRect();return r>=i.x&&r+n<=e.x&&t>=i.y&&t+f<=e.y}isOverlapping(i){return this.intersectsWithObject(i)||this.isContainedWithinObject(i)||i.isContainedWithinObject(this)}containsPoint(i){return S0.isPointInPolygon(i,this.getCoords())}isOnScreen(){if(!this.canvas)return!1;let{tl:i,br:e}=this.canvas.vptCoords;return!!this.getCoords().some(r=>r.x<=e.x&&r.x>=i.x&&r.y<=e.y&&r.y>=i.y)||!!this.intersectsWithRect(i,e)||this.containsPoint(i.midPointFrom(e))}isPartiallyOnScreen(){if(!this.canvas)return!1;let{tl:i,br:e}=this.canvas.vptCoords;return this.intersectsWithRect(i,e)?!0:this.getCoords().every(r=>(r.x>=e.x||r.x<=i.x)&&(r.y>=e.y||r.y<=i.y))&&this.containsPoint(i.midPointFrom(e))}getBoundingRect(){return oe(this.getCoords())}getScaledWidth(){return this._getTransformedDimensions().x}getScaledHeight(){return this._getTransformedDimensions().y}scale(i){this._set(gi,i),this._set(Gi,i),this.setCoords()}scaleToWidth(i){let e=this.getBoundingRect().width/this.getScaledWidth();return this.scale(i/this.width/e)}scaleToHeight(i){let e=this.getBoundingRect().height/this.getScaledHeight();return this.scale(i/this.height/e)}getCanvasRetinaScaling(){var i;return((i=this.canvas)===null||i===void 0?void 0:i.getRetinaScaling())||1}getTotalAngle(){return this.group?Me(vo(this.calcTransformMatrix())):this.angle}getViewportTransform(){var i;return((i=this.canvas)===null||i===void 0?void 0:i.viewportTransform)||bi.concat()}calcACoords(){let i=j2({angle:this.angle}),{x:e,y:r}=this.getRelativeCenterPoint(),t=U2(e,r),n=J0(t,i),f=this._getTransformedDimensions(),o=f.x/2,a=f.y/2;return{tl:ki({x:-o,y:-a},n),tr:ki({x:o,y:-a},n),bl:ki({x:-o,y:a},n),br:ki({x:o,y:a},n)}}setCoords(){this.aCoords=this.calcACoords()}transformMatrixKey(){let i=arguments.length>0&&arguments[0]!==void 0&&arguments[0],e=[];return!i&&this.group&&(e=this.group.transformMatrixKey(i)),e.push(this.top,this.left,this.width,this.height,this.scaleX,this.scaleY,this.angle,this.strokeWidth,this.skewX,this.skewY,+this.flipX,+this.flipY,ei(this.originX),ei(this.originY)),e}calcTransformMatrix(){let i=arguments.length>0&&arguments[0]!==void 0&&arguments[0],e=this.calcOwnMatrix();if(i||!this.group)return e;let r=this.transformMatrixKey(i),t=this.matrixCache;return t&&t.key.every((n,f)=>n===r[f])?t.value:(this.group&&(e=J0(this.group.calcTransformMatrix(!1),e)),this.matrixCache={key:r,value:e},e)}calcOwnMatrix(){let i=this.transformMatrixKey(!0),e=this.ownMatrixCache;if(e&&e.key===i)return e.value;let r=this.getRelativeCenterPoint(),t={angle:this.angle,translateX:r.x,translateY:r.y,scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY},n=_o(t);return this.ownMatrixCache={key:i,value:n},n}_getNonTransformedDimensions(){return new N(this.width,this.height).scalarAdd(this.strokeWidth)}_calculateCurrentDimensions(i){return this._getTransformedDimensions(i).transform(this.getViewportTransform(),!0).scalarAdd(2*this.padding)}_getTransformedDimensions(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=D({scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,width:this.width,height:this.height,strokeWidth:this.strokeWidth},i),r=e.strokeWidth,t=r,n=0;this.strokeUniform&&(t=0,n=r);let f=e.width+t,o=e.height+t,a;return a=e.skewX===0&&e.skewY===0?new N(f*e.scaleX,o*e.scaleY):Ot(f,o,Br(e)),a.scalarAdd(n)}translateToGivenOrigin(i,e,r,t,n){let f=i.x,o=i.y,a=ei(t)-ei(e),A=ei(n)-ei(r);if(a||A){let l=this._getTransformedDimensions();f+=a*l.x,o+=A*l.y}return new N(f,o)}translateToCenterPoint(i,e,r){if(e===d0&&r===d0)return i;let t=this.translateToGivenOrigin(i,e,r,d0,d0);return this.angle?t.rotate(z0(this.angle),i):t}translateToOriginPoint(i,e,r){let t=this.translateToGivenOrigin(i,d0,d0,e,r);return this.angle?t.rotate(z0(this.angle),i):t}getCenterPoint(){let i=this.getRelativeCenterPoint();return this.group?ki(i,this.group.calcTransformMatrix()):i}getRelativeCenterPoint(){return this.translateToCenterPoint(new N(this.left,this.top),this.originX,this.originY)}getPointByOrigin(i,e){return this.translateToOriginPoint(this.getRelativeCenterPoint(),i,e)}setPositionByOrigin(i,e,r){let t=this.translateToCenterPoint(i,e,r),n=this.translateToOriginPoint(t,this.originX,this.originY);this.set({left:n.x,top:n.y})}_getLeftTopCoords(){return this.translateToOriginPoint(this.getRelativeCenterPoint(),E0,yi)}},js=["type"],Ls=["extraParam"],he=class ht extends t1{static getDefaults(){return ht.ownDefaults}get type(){let i=this.constructor.type;return i==="FabricObject"?"object":i.toLowerCase()}set type(i){Ge("warn","Setting type has no effect",i)}constructor(i){super(),V(this,"_cacheContext",null),Object.assign(this,ht.ownDefaults),this.setOptions(i)}_createCacheCanvas(){this._cacheCanvas=Ni(),this._cacheContext=this._cacheCanvas.getContext("2d"),this._updateCacheCanvas(),this.dirty=!0}_limitCacheSize(i){let e=i.width,r=i.height,t=x0.maxCacheSideLimit,n=x0.minCacheSideLimit;if(e<=t&&r<=t&&e*r<=x0.perfLimitSizeTotal)return e<n&&(i.width=n),r<n&&(i.height=n),i;let f=e/r,[o,a]=cr.limitDimsByArea(f),A=c2(n,o,t),l=c2(n,a,t);return e>A&&(i.zoomX/=e/A,i.width=A,i.capped=!0),r>l&&(i.zoomY/=r/l,i.height=l,i.capped=!0),i}_getCacheCanvasDimensions(){let i=this.getTotalObjectScaling(),e=this._getTransformedDimensions({skewX:0,skewY:0}),r=e.x*i.x/this.scaleX,t=e.y*i.y/this.scaleY;return{width:Math.ceil(r+2),height:Math.ceil(t+2),zoomX:i.x,zoomY:i.y,x:r,y:t}}_updateCacheCanvas(){let i=this._cacheCanvas,e=this._cacheContext,{width:r,height:t,zoomX:n,zoomY:f,x:o,y:a}=this._limitCacheSize(this._getCacheCanvasDimensions()),A=r!==i.width||t!==i.height,l=this.zoomX!==n||this.zoomY!==f;if(!i||!e)return!1;if(A||l){r!==i.width||t!==i.height?(i.width=r,i.height=t):(e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,i.width,i.height));let k=o/2,u=a/2;return this.cacheTranslationX=Math.round(i.width/2-k)+k,this.cacheTranslationY=Math.round(i.height/2-u)+u,e.translate(this.cacheTranslationX,this.cacheTranslationY),e.scale(n,f),this.zoomX=n,this.zoomY=f,!0}return!1}setOptions(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._setOptions(i)}transform(i){let e=this.group&&!this.group._transformDone||this.group&&this.canvas&&i===this.canvas.contextTop,r=this.calcTransformMatrix(!e);i.transform(r[0],r[1],r[2],r[3],r[4],r[5])}getObjectScaling(){if(!this.group)return new N(Math.abs(this.scaleX),Math.abs(this.scaleY));let i=R2(this.calcTransformMatrix());return new N(Math.abs(i.scaleX),Math.abs(i.scaleY))}getTotalObjectScaling(){let i=this.getObjectScaling();if(this.canvas){let e=this.canvas.getZoom(),r=this.getCanvasRetinaScaling();return i.scalarMultiply(e*r)}return i}getObjectOpacity(){let i=this.opacity;return this.group&&(i*=this.group.getObjectOpacity()),i}_constrainScale(i){return Math.abs(i)<this.minScaleLimit?i<0?-this.minScaleLimit:this.minScaleLimit:i===0?1e-4:i}_set(i,e){i!==gi&&i!==Gi||(e=this._constrainScale(e)),i===gi&&e<0?(this.flipX=!this.flipX,e*=-1):i==="scaleY"&&e<0?(this.flipY=!this.flipY,e*=-1):i!=="shadow"||!e||e instanceof Pi||(e=new Pi(e));let r=this[i]!==e;return this[i]=e,r&&this.constructor.cacheProperties.includes(i)&&(this.dirty=!0),this.parent&&(this.dirty||r&&this.constructor.stateProperties.includes(i))&&this.parent._set("dirty",!0),this}isNotVisible(){return this.opacity===0||!this.width&&!this.height&&this.strokeWidth===0||!this.visible}render(i){this.isNotVisible()||this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(i.save(),this._setupCompositeOperation(i),this.drawSelectionBackground(i),this.transform(i),this._setOpacity(i),this._setShadow(i),this.shouldCache()?(this.renderCache(),this.drawCacheOnCanvas(i)):(this._removeCacheCanvas(),this.drawObject(i,!1,{}),this.dirty=!1),i.restore())}drawSelectionBackground(i){}renderCache(i){if(i=i||{},this._cacheCanvas&&this._cacheContext||this._createCacheCanvas(),this.isCacheDirty()&&this._cacheContext){let{zoomX:e,zoomY:r,cacheTranslationX:t,cacheTranslationY:n}=this,{width:f,height:o}=this._cacheCanvas;this.drawObject(this._cacheContext,i.forClipping,{zoomX:e,zoomY:r,cacheTranslationX:t,cacheTranslationY:n,width:f,height:o,parentClipPaths:[]}),this.dirty=!1}}_removeCacheCanvas(){this._cacheCanvas=void 0,this._cacheContext=null}hasStroke(){return this.stroke&&this.stroke!=="transparent"&&this.strokeWidth!==0}hasFill(){return this.fill&&this.fill!=="transparent"}needsItsOwnCache(){return!!(this.paintFirst===xi&&this.hasFill()&&this.hasStroke()&&this.shadow)||!!this.clipPath}shouldCache(){return this.ownCaching=this.objectCaching&&(!this.parent||!this.parent.isOnACache())||this.needsItsOwnCache(),this.ownCaching}willDrawShadow(){return!!this.shadow&&(this.shadow.offsetX!==0||this.shadow.offsetY!==0)}drawClipPathOnCache(i,e,r){i.save(),e.inverted?i.globalCompositeOperation="destination-out":i.globalCompositeOperation="destination-in",i.setTransform(1,0,0,1,0,0),i.drawImage(r,0,0),i.restore()}drawObject(i,e,r){let t=this.fill,n=this.stroke;e?(this.fill="black",this.stroke="",this._setClippingProperties(i)):this._renderBackground(i),this._render(i),this._drawClipPath(i,this.clipPath,r),this.fill=t,this.stroke=n}createClipPathLayer(i,e){let r=re(e),t=r.getContext("2d");if(t.translate(e.cacheTranslationX,e.cacheTranslationY),t.scale(e.zoomX,e.zoomY),i._cacheCanvas=r,e.parentClipPaths.forEach(n=>{n.transform(t)}),e.parentClipPaths.push(i),i.absolutePositioned){let n=Vi(this.calcTransformMatrix());t.transform(n[0],n[1],n[2],n[3],n[4],n[5])}return i.transform(t),i.drawObject(t,!0,e),r}_drawClipPath(i,e,r){if(!e)return;e._transformDone=!0;let t=this.createClipPathLayer(e,r);this.drawClipPathOnCache(i,e,t)}drawCacheOnCanvas(i){i.scale(1/this.zoomX,1/this.zoomY),i.drawImage(this._cacheCanvas,-this.cacheTranslationX,-this.cacheTranslationY)}isCacheDirty(){let i=arguments.length>0&&arguments[0]!==void 0&&arguments[0];if(this.isNotVisible())return!1;let e=this._cacheCanvas,r=this._cacheContext;return!(!e||!r||i||!this._updateCacheCanvas())||!!(this.dirty||this.clipPath&&this.clipPath.absolutePositioned)&&(e&&r&&!i&&(r.save(),r.setTransform(1,0,0,1,0,0),r.clearRect(0,0,e.width,e.height),r.restore()),!0)}_renderBackground(i){if(!this.backgroundColor)return;let e=this._getNonTransformedDimensions();i.fillStyle=this.backgroundColor,i.fillRect(-e.x/2,-e.y/2,e.x,e.y),this._removeShadow(i)}_setOpacity(i){this.group&&!this.group._transformDone?i.globalAlpha=this.getObjectOpacity():i.globalAlpha*=this.opacity}_setStrokeStyles(i,e){let r=e.stroke;r&&(i.lineWidth=e.strokeWidth,i.lineCap=e.strokeLineCap,i.lineDashOffset=e.strokeDashOffset,i.lineJoin=e.strokeLineJoin,i.miterLimit=e.strokeMiterLimit,Ti(r)?r.gradientUnits==="percentage"||r.gradientTransform||r.patternTransform?this._applyPatternForTransformedGradient(i,r):(i.strokeStyle=r.toLive(i),this._applyPatternGradientTransform(i,r)):i.strokeStyle=e.stroke)}_setFillStyles(i,e){let{fill:r}=e;r&&(Ti(r)?(i.fillStyle=r.toLive(i),this._applyPatternGradientTransform(i,r)):i.fillStyle=r)}_setClippingProperties(i){i.globalAlpha=1,i.strokeStyle="transparent",i.fillStyle="#000000"}_setLineDash(i,e){e&&e.length!==0&&i.setLineDash(e)}_setShadow(i){if(!this.shadow)return;let e=this.shadow,r=this.canvas,t=this.getCanvasRetinaScaling(),[n,,,f]=(r==null?void 0:r.viewportTransform)||bi,o=n*t,a=f*t,A=e.nonScaling?new N(1,1):this.getObjectScaling();i.shadowColor=e.color,i.shadowBlur=e.blur*x0.browserShadowBlurConstant*(o+a)*(A.x+A.y)/4,i.shadowOffsetX=e.offsetX*o*A.x,i.shadowOffsetY=e.offsetY*a*A.y}_removeShadow(i){this.shadow&&(i.shadowColor="",i.shadowBlur=i.shadowOffsetX=i.shadowOffsetY=0)}_applyPatternGradientTransform(i,e){if(!Ti(e))return{offsetX:0,offsetY:0};let r=e.gradientTransform||e.patternTransform,t=-this.width/2+e.offsetX||0,n=-this.height/2+e.offsetY||0;return e.gradientUnits==="percentage"?i.transform(this.width,0,0,this.height,t,n):i.transform(1,0,0,1,t,n),r&&i.transform(r[0],r[1],r[2],r[3],r[4],r[5]),{offsetX:t,offsetY:n}}_renderPaintInOrder(i){this.paintFirst===xi?(this._renderStroke(i),this._renderFill(i)):(this._renderFill(i),this._renderStroke(i))}_render(i){}_renderFill(i){this.fill&&(i.save(),this._setFillStyles(i,this),this.fillRule==="evenodd"?i.fill("evenodd"):i.fill(),i.restore())}_renderStroke(i){if(this.stroke&&this.strokeWidth!==0){if(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(i),i.save(),this.strokeUniform){let e=this.getObjectScaling();i.scale(1/e.x,1/e.y)}this._setLineDash(i,this.strokeDashArray),this._setStrokeStyles(i,this),i.stroke(),i.restore()}}_applyPatternForTransformedGradient(i,e){var r;let t=this._limitCacheSize(this._getCacheCanvasDimensions()),n=this.getCanvasRetinaScaling(),f=t.x/this.scaleX/n,o=t.y/this.scaleY/n,a=re({width:Math.ceil(f),height:Math.ceil(o)}),A=a.getContext("2d");A&&(A.beginPath(),A.moveTo(0,0),A.lineTo(f,0),A.lineTo(f,o),A.lineTo(0,o),A.closePath(),A.translate(f/2,o/2),A.scale(t.zoomX/this.scaleX/n,t.zoomY/this.scaleY/n),this._applyPatternGradientTransform(A,e),A.fillStyle=e.toLive(i),A.fill(),i.translate(-this.width/2-this.strokeWidth/2,-this.height/2-this.strokeWidth/2),i.scale(n*this.scaleX/t.zoomX,n*this.scaleY/t.zoomY),i.strokeStyle=(r=A.createPattern(a,"no-repeat"))!==null&&r!==void 0?r:"")}_findCenterFromElement(){return new N(this.left+this.width/2,this.top+this.height/2)}clone(i){let e=this.toObject(i);return this.constructor.fromObject(e)}cloneAsImage(i){let e=this.toCanvasElement(i);return new(r0.getClass("image"))(e)}toCanvasElement(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=X1(this),r=this.group,t=this.shadow,n=Math.abs,f=i.enableRetinaScaling?lo():1,o=(i.multiplier||1)*f,a=i.canvasProvider||(v=>new h2(v,{enableRetinaScaling:!1,renderOnAddRemove:!1,skipOffscreen:!1}));delete this.group,i.withoutTransform&&Eo(this),i.withoutShadow&&(this.shadow=null),i.viewportTransform&&$n(this,this.getViewportTransform()),this.setCoords();let A=Ni(),l=this.getBoundingRect(),k=this.shadow,u=new N;if(k){let v=k.blur,w=k.nonScaling?new N(1,1):this.getObjectScaling();u.x=2*Math.round(n(k.offsetX)+v)*n(w.x),u.y=2*Math.round(n(k.offsetY)+v)*n(w.y)}let h=l.width+u.x,c=l.height+u.y;A.width=Math.ceil(h),A.height=Math.ceil(c);let d=a(A);i.format==="jpeg"&&(d.backgroundColor="#fff"),this.setPositionByOrigin(new N(d.width/2,d.height/2),d0,d0);let b=this.canvas;d._objects=[this],this.set("canvas",d),this.setCoords();let g=d.toCanvasElement(o||1,i);return this.set("canvas",b),this.shadow=t,r&&(this.group=r),this.set(e),this.setCoords(),d._objects=[],d.destroy(),g}toDataURL(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return I1(this.toCanvasElement(i),i.format||"png",i.quality||1)}isType(){for(var i=arguments.length,e=new Array(i),r=0;r<i;r++)e[r]=arguments[r];return e.includes(this.constructor.type)||e.includes(this.type)}complexity(){return 1}toJSON(){return this.toObject()}rotate(i){let{centeredRotation:e,originX:r,originY:t}=this;if(e){let{x:n,y:f}=this.getRelativeCenterPoint();this.originX=d0,this.originY=d0,this.left=n,this.top=f}if(this.set("angle",i),e){let{x:n,y:f}=this.translateToOriginPoint(this.getRelativeCenterPoint(),r,t);this.left=n,this.top=f,this.originX=r,this.originY=t}}setOnGroup(){}_setupCompositeOperation(i){this.globalCompositeOperation&&(i.globalCompositeOperation=this.globalCompositeOperation)}dispose(){pt.cancelByTarget(this),this.off(),this._set("canvas",void 0),this._cacheCanvas&&ae().dispose(this._cacheCanvas),this._cacheCanvas=void 0,this._cacheContext=null}animate(i,e){return Object.entries(i).reduce((r,t)=>{let[n,f]=t;return r[n]=this._animate(n,f,e),r},{})}_animate(i,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},t=i.split("."),n=this.constructor.colorProperties.includes(t[t.length-1]),{abort:f,startValue:o,onChange:a,onComplete:A}=r,l=D(D({},r),{},{target:this,startValue:o!=null?o:t.reduce((k,u)=>k[u],this),endValue:e,abort:f==null?void 0:f.bind(this),onChange:(k,u,h)=>{t.reduce((c,d,b)=>(b===t.length-1&&(c[d]=k),c[d]),this),a&&a(k,u,h)},onComplete:(k,u,h)=>{this.setCoords(),A&&A(k,u,h)}});return n?To(l):M1(l)}isDescendantOf(i){let{parent:e,group:r}=this;return e===i||r===i||!!e&&e.isDescendantOf(i)||!!r&&r!==e&&r.isDescendantOf(i)}getAncestors(){let i=[],e=this;do e=e.parent,e&&i.push(e);while(e);return i}findCommonAncestors(i){if(this===i)return{fork:[],otherFork:[],common:[this,...this.getAncestors()]};let e=this.getAncestors(),r=i.getAncestors();if(e.length===0&&r.length>0&&this===r[r.length-1])return{fork:[],otherFork:[i,...r.slice(0,r.length-1)],common:[this]};for(let t,n=0;n<e.length;n++){if(t=e[n],t===i)return{fork:[this,...e.slice(0,n)],otherFork:[],common:e.slice(n)};for(let f=0;f<r.length;f++){if(this===r[f])return{fork:[],otherFork:[i,...r.slice(0,f)],common:[this,...e]};if(t===r[f])return{fork:[this,...e.slice(0,n)],otherFork:[i,...r.slice(0,f)],common:e.slice(n)}}}return{fork:[this,...e],otherFork:[i,...r],common:[]}}hasCommonAncestors(i){let e=this.findCommonAncestors(i);return e&&!!e.common.length}isInFrontOf(i){if(this===i)return;let e=this.findCommonAncestors(i);if(e.fork.includes(i))return!0;if(e.otherFork.includes(this))return!1;let r=e.common[0]||this.canvas;if(!r)return;let t=e.fork.pop(),n=e.otherFork.pop(),f=r._objects.indexOf(t),o=r._objects.indexOf(n);return f>-1&&f>o}toObject(){let i=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).concat(ht.customProperties,this.constructor.customProperties||[]),e,r=x0.NUM_FRACTION_DIGITS,{clipPath:t,fill:n,stroke:f,shadow:o,strokeDashArray:a,left:A,top:l,originX:k,originY:u,width:h,height:c,strokeWidth:d,strokeLineCap:b,strokeDashOffset:g,strokeLineJoin:v,strokeUniform:w,strokeMiterLimit:p,scaleX:m,scaleY:C,angle:y,flipX:Z,flipY:_,opacity:x,visible:B,backgroundColor:I,fillRule:W,paintFirst:F,globalCompositeOperation:X,skewX:E,skewY:S}=this;t&&!t.excludeFromExport&&(e=t.toObject(i.concat("inverted","absolutePositioned")));let M=z=>P0(z,r),T=D(D({},g2(this,i)),{},{type:this.constructor.type,version:Jn,originX:k,originY:u,left:M(A),top:M(l),width:M(h),height:M(c),fill:Pf(n)?n.toObject():n,stroke:Pf(f)?f.toObject():f,strokeWidth:M(d),strokeDashArray:a&&a.concat(),strokeLineCap:b,strokeDashOffset:g,strokeLineJoin:v,strokeUniform:w,strokeMiterLimit:M(p),scaleX:M(m),scaleY:M(C),angle:M(y),flipX:Z,flipY:_,opacity:M(x),shadow:o&&o.toObject(),visible:B,backgroundColor:I,fillRule:W,paintFirst:F,globalCompositeOperation:X,skewX:M(E),skewY:M(S)},e?{clipPath:e}:null);return this.includeDefaultValues?T:this._removeDefaultValues(T)}toDatalessObject(i){return this.toObject(i)}_removeDefaultValues(i){let e=this.constructor.getDefaults(),r=Object.keys(e).length>0?e:Object.getPrototypeOf(this);return F1(i,(t,n)=>{if(n===E0||n===yi||n==="type")return!0;let f=r[n];return t!==f&&!(Array.isArray(t)&&Array.isArray(f)&&t.length===0&&f.length===0)})}toString(){return"#<".concat(this.constructor.type,">")}static _fromObject(i){let e=N0(i,js),r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{extraParam:t}=r,n=N0(r,Ls);return xr(e,n).then(f=>t?(delete f[t],new this(e[t],f)):new this(f))}static fromObject(i,e){return this._fromObject(i,e)}};V(he,"stateProperties",Ns),V(he,"cacheProperties",_e),V(he,"ownDefaults",Qs),V(he,"type","FabricObject"),V(he,"colorProperties",[ri,xi,"backgroundColor"]),V(he,"customProperties",[]),r0.setClass(he),r0.setClass(he,"object");var Re=(s,i,e)=>(r,t,n,f)=>{let o=i(r,t,n,f);return o&&V1(s,D(D({},G1(r,t,n,f)),e)),o};function p2(s){return(i,e,r,t)=>{let{target:n,originX:f,originY:o}=e,a=n.getRelativeCenterPoint(),A=n.translateToOriginPoint(a,f,o),l=s(i,e,r,t);return n.setPositionByOrigin(A,e.originX,e.originY),l}}var n1=Re(mr,p2((s,i,e,r)=>{let t=zt(i,i.originX,i.originY,e,r);if(ei(i.originX)===ei(d0)||ei(i.originX)===ei($0)&&t.x<0||ei(i.originX)===ei(E0)&&t.x>0){let{target:n}=i,f=n.strokeWidth/(n.strokeUniform?n.scaleX:1),o=Fo(i)?2:1,a=n.width,A=Math.abs(t.x*o/n.scaleX)-f;return n.set("width",Math.max(A,1)),a!==n.width}return!1}));function Ro(s,i,e,r,t){r=r||{};let n=this.sizeX||r.cornerSize||t.cornerSize,f=this.sizeY||r.cornerSize||t.cornerSize,o=r.transparentCorners!==void 0?r.transparentCorners:t.transparentCorners,a=o?xi:ri,A=!o&&(r.cornerStrokeColor||t.cornerStrokeColor),l,k=i,u=e;s.save(),s.fillStyle=r.cornerColor||t.cornerColor||"",s.strokeStyle=r.cornerStrokeColor||t.cornerStrokeColor||"",n>f?(l=n,s.scale(1,f/n),u=e*n/f):f>n?(l=f,s.scale(n/f,1),k=i*f/n):l=n,s.beginPath(),s.arc(k,u,l/2,0,ve,!1),s[a](),A&&s.stroke(),s.restore()}function Po(s,i,e,r,t){r=r||{};let n=this.sizeX||r.cornerSize||t.cornerSize,f=this.sizeY||r.cornerSize||t.cornerSize,o=r.transparentCorners!==void 0?r.transparentCorners:t.transparentCorners,a=o?xi:ri,A=!o&&(r.cornerStrokeColor||t.cornerStrokeColor),l=n/2,k=f/2;s.save(),s.fillStyle=r.cornerColor||t.cornerColor||"",s.strokeStyle=r.cornerStrokeColor||t.cornerStrokeColor||"",s.translate(i,e);let u=t.getTotalAngle();s.rotate(z0(u)),s["".concat(a,"Rect")](-l,-k,n,f),A&&s.strokeRect(-l,-k,n,f),s.restore()}var hi=class{constructor(i){V(this,"visible",!0),V(this,"actionName",Nt),V(this,"angle",0),V(this,"x",0),V(this,"y",0),V(this,"offsetX",0),V(this,"offsetY",0),V(this,"sizeX",0),V(this,"sizeY",0),V(this,"touchSizeX",0),V(this,"touchSizeY",0),V(this,"cursorStyle","crosshair"),V(this,"withConnection",!1),Object.assign(this,i)}shouldActivate(i,e,r,t){var n;let{tl:f,tr:o,br:a,bl:A}=t;return((n=e.canvas)===null||n===void 0?void 0:n.getActiveObject())===e&&e.isControlVisible(i)&&S0.isPointInPolygon(r,[f,o,a,A])}getActionHandler(i,e,r){return this.actionHandler}getMouseDownHandler(i,e,r){return this.mouseDownHandler}getMouseUpHandler(i,e,r){return this.mouseUpHandler}cursorStyleHandler(i,e,r){return e.cursorStyle}getActionName(i,e,r){return e.actionName}getVisibility(i,e){var r,t;return(r=(t=i._controlsVisibility)===null||t===void 0?void 0:t[e])!==null&&r!==void 0?r:this.visible}setVisibility(i,e,r){this.visible=i}positionHandler(i,e,r,t){return new N(this.x*i.x+this.offsetX,this.y*i.y+this.offsetY).transform(e)}calcCornerCoords(i,e,r,t,n,f){let o=Qt([U2(r,t),j2({angle:i}),Yt((n?this.touchSizeX:this.sizeX)||e,(n?this.touchSizeY:this.sizeY)||e)]);return{tl:new N(-.5,-.5).transform(o),tr:new N(.5,-.5).transform(o),br:new N(.5,.5).transform(o),bl:new N(-.5,.5).transform(o)}}render(i,e,r,t,n){((t=t||{}).cornerStyle||n.cornerStyle)==="circle"?Ro.call(this,i,e,r,t,n):Po.call(this,i,e,r,t,n)}},No=(s,i,e)=>e.lockRotation?_t:i.cursorStyle,Qo=Re(uo,p2((s,i,e,r)=>{let{target:t,ex:n,ey:f,theta:o,originX:a,originY:A}=i,l=t.translateToOriginPoint(t.getRelativeCenterPoint(),a,A);if(qi(t,"lockRotation"))return!1;let k=Math.atan2(f-l.y,n-l.x),u=Math.atan2(r-l.y,e-l.x),h=Me(u-k+o);if(t.snapAngle&&t.snapAngle>0){let d=t.snapAngle,b=t.snapThreshold||d,g=Math.ceil(h/d)*d,v=Math.floor(h/d)*d;Math.abs(h-v)<b?h=v:Math.abs(h-g)<b&&(h=g)}h<0&&(h=360+h),h%=360;let c=t.angle!==h;return t.angle=h,c}));function Yo(s,i){let e=i.canvas,r=s[e.uniScaleKey];return e.uniformScaling&&!r||!e.uniformScaling&&r}function Oo(s,i,e){let r=qi(s,"lockScalingX"),t=qi(s,"lockScalingY");if(r&&t||!i&&(r||t)&&e||r&&i==="x"||t&&i==="y")return!0;let{width:n,height:f,strokeWidth:o}=s;return n===0&&o===0&&i!=="y"||f===0&&o===0&&i!=="x"}var $s=["e","se","s","sw","w","nw","n","ne","e"],V2=(s,i,e)=>{let r=Yo(s,e);if(Oo(e,i.x!==0&&i.y===0?"x":i.x===0&&i.y!==0?"y":"",r))return _t;let t=Xo(e,i);return"".concat($s[t],"-resize")};function T1(s,i,e,r){let t=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{},n=i.target,f=t.by,o=Yo(s,n),a,A,l,k,u,h;if(Oo(n,f,o))return!1;if(i.gestureScale)A=i.scaleX*i.gestureScale,l=i.scaleY*i.gestureScale;else{if(a=zt(i,i.originX,i.originY,e,r),u=f!=="y"?Math.sign(a.x||i.signX||1):1,h=f!=="x"?Math.sign(a.y||i.signY||1):1,i.signX||(i.signX=u),i.signY||(i.signY=h),qi(n,"lockScalingFlip")&&(i.signX!==u||i.signY!==h))return!1;if(k=n._getTransformedDimensions(),o&&!f){let b=Math.abs(a.x)+Math.abs(a.y),{original:g}=i,v=b/(Math.abs(k.x*g.scaleX/n.scaleX)+Math.abs(k.y*g.scaleY/n.scaleY));A=g.scaleX*v,l=g.scaleY*v}else A=Math.abs(a.x*n.scaleX/k.x),l=Math.abs(a.y*n.scaleY/k.y);Fo(i)&&(A*=2,l*=2),i.signX!==u&&f!=="y"&&(i.originX=Yf(i.originX),A*=-1,i.signX=u),i.signY!==h&&f!=="x"&&(i.originY=Yf(i.originY),l*=-1,i.signY=h)}let c=n.scaleX,d=n.scaleY;return f?(f==="x"&&n.set(gi,A),f==="y"&&n.set(Gi,l)):(!qi(n,"lockScalingX")&&n.set(gi,A),!qi(n,"lockScalingY")&&n.set(Gi,l)),c!==n.scaleX||d!==n.scaleY}var ur=Re(Pt,p2((s,i,e,r)=>T1(s,i,e,r))),zo=Re(Pt,p2((s,i,e,r)=>T1(s,i,e,r,{by:"x"}))),Jo=Re(Pt,p2((s,i,e,r)=>T1(s,i,e,r,{by:"y"}))),qs=["target","ex","ey","skewingSide"],Tn={x:{counterAxis:"y",scale:gi,skew:J2,lockSkewing:"lockSkewingX",origin:"originX",flip:"flipX"},y:{counterAxis:"x",scale:Gi,skew:H2,lockSkewing:"lockSkewingY",origin:"originY",flip:"flipY"}},Ks=["ns","nesw","ew","nwse"],Ho=(s,i,e)=>{if(i.x!==0&&qi(e,"lockSkewingY")||i.y!==0&&qi(e,"lockSkewingX"))return _t;let r=Xo(e,i)%4;return"".concat(Ks[r],"-resize")};function Uo(s,i,e,r,t){let{target:n}=e,{counterAxis:f,origin:o,lockSkewing:a,skew:A,flip:l}=Tn[s];if(qi(n,a))return!1;let{origin:k,flip:u}=Tn[f],h=ei(e[k])*(n[u]?-1:1),c=-Math.sign(h)*(n[l]?-1:1),d=.5*-((n[A]===0&&zt(e,d0,d0,r,t)[s]>0||n[A]>0?1:-1)*c)+.5;return Re(ho,p2((g,v,w,p)=>function(m,C,y){let{target:Z,ex:_,ey:x,skewingSide:B}=C,I=N0(C,qs),{skew:W}=Tn[m],F=y.subtract(new N(_,x)).divide(new N(Z.scaleX,Z.scaleY))[m],X=Z[W],E=I[W],S=Math.tan(z0(E)),M=m==="y"?Z._getTransformedDimensions({scaleX:1,scaleY:1,skewX:0}).x:Z._getTransformedDimensions({scaleX:1,scaleY:1}).y,T=2*F*B/Math.max(M,1)+S,z=Me(Math.atan(T));Z.set(W,z);let R=X!==Z[W];if(R&&m==="y"){let{skewX:P,scaleX:G}=Z,Q=Z._getTransformedDimensions({skewY:X}),Y=Z._getTransformedDimensions(),K=P!==0?Q.x/Y.x:1;K!==1&&Z.set(gi,K*G)}return R}(s,v,new N(w,p))))(i,D(D({},e),{},{[o]:d,skewingSide:c}),r,t)}var jo=(s,i,e,r)=>Uo("x",s,i,e,r),Lo=(s,i,e,r)=>Uo("y",s,i,e,r);function Ut(s,i){return s[i.canvas.altActionKey]}var hr=(s,i,e)=>{let r=Ut(s,e);return i.x===0?r?J2:Gi:i.y===0?r?H2:gi:""},je=(s,i,e)=>Ut(s,e)?Ho(0,i,e):V2(s,i,e),f1=(s,i,e,r)=>Ut(s,i.target)?Lo(s,i,e,r):zo(s,i,e,r),o1=(s,i,e,r)=>Ut(s,i.target)?jo(s,i,e,r):Jo(s,i,e,r),R1=()=>({ml:new hi({x:-.5,y:0,cursorStyleHandler:je,actionHandler:f1,getActionName:hr}),mr:new hi({x:.5,y:0,cursorStyleHandler:je,actionHandler:f1,getActionName:hr}),mb:new hi({x:0,y:.5,cursorStyleHandler:je,actionHandler:o1,getActionName:hr}),mt:new hi({x:0,y:-.5,cursorStyleHandler:je,actionHandler:o1,getActionName:hr}),tl:new hi({x:-.5,y:-.5,cursorStyleHandler:V2,actionHandler:ur}),tr:new hi({x:.5,y:-.5,cursorStyleHandler:V2,actionHandler:ur}),bl:new hi({x:-.5,y:.5,cursorStyleHandler:V2,actionHandler:ur}),br:new hi({x:.5,y:.5,cursorStyleHandler:V2,actionHandler:ur}),mtr:new hi({x:0,y:-.5,actionHandler:Qo,cursorStyleHandler:No,offsetY:-40,withConnection:!0,actionName:x1})}),$o=()=>({mr:new hi({x:.5,y:0,actionHandler:n1,cursorStyleHandler:je,actionName:mr}),ml:new hi({x:-.5,y:0,actionHandler:n1,cursorStyleHandler:je,actionName:mr})}),qo=()=>D(D({},R1()),$o()),d2=class extends he{static getDefaults(){return D(D({},super.getDefaults()),d2.ownDefaults)}constructor(i){super(),Object.assign(this,this.constructor.createControls(),d2.ownDefaults),this.setOptions(i)}static createControls(){return{controls:R1()}}_updateCacheCanvas(){let i=this.canvas;if(this.noScaleCache&&i&&i._currentTransform){let e=i._currentTransform,r=e.target,t=e.action;if(this===r&&t&&t.startsWith(Nt))return!1}return super._updateCacheCanvas()}getActiveControl(){let i=this.__corner;return i?{key:i,control:this.controls[i],coord:this.oCoords[i]}:void 0}findControl(i){let e=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(!this.hasControls||!this.canvas)return;this.__corner=void 0;let r=Object.entries(this.oCoords);for(let t=r.length-1;t>=0;t--){let[n,f]=r[t],o=this.controls[n];if(o.shouldActivate(n,this,i,e?f.touchCorner:f.corner))return this.__corner=n,{key:n,control:o,coord:this.oCoords[n]}}}calcOCoords(){let i=this.getViewportTransform(),e=this.getCenterPoint(),r=U2(e.x,e.y),t=j2({angle:this.getTotalAngle()-(this.group&&this.flipX?180:0)}),n=J0(r,t),f=J0(i,n),o=J0(f,[1/i[0],0,0,1/i[3],0,0]),a=this.group?R2(this.calcTransformMatrix()):void 0;a&&(a.scaleX=Math.abs(a.scaleX),a.scaleY=Math.abs(a.scaleY));let A=this._calculateCurrentDimensions(a),l={};return this.forEachControl((k,u)=>{let h=k.positionHandler(A,o,this,k);l[u]=Object.assign(h,this._calcCornerCoords(k,h))}),l}_calcCornerCoords(i,e){let r=this.getTotalAngle();return{corner:i.calcCornerCoords(r,this.cornerSize,e.x,e.y,!1,this),touchCorner:i.calcCornerCoords(r,this.touchCornerSize,e.x,e.y,!0,this)}}setCoords(){super.setCoords(),this.canvas&&(this.oCoords=this.calcOCoords())}forEachControl(i){for(let e in this.controls)i(this.controls[e],e,this)}drawSelectionBackground(i){if(!this.selectionBackgroundColor||this.canvas&&this.canvas._activeObject!==this)return;i.save();let e=this.getRelativeCenterPoint(),r=this._calculateCurrentDimensions(),t=this.getViewportTransform();i.translate(e.x,e.y),i.scale(1/t[0],1/t[3]),i.rotate(z0(this.angle)),i.fillStyle=this.selectionBackgroundColor,i.fillRect(-r.x/2,-r.y/2,r.x,r.y),i.restore()}strokeBorders(i,e){i.strokeRect(-e.x/2,-e.y/2,e.x,e.y)}_drawBorders(i,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},t=D({hasControls:this.hasControls,borderColor:this.borderColor,borderDashArray:this.borderDashArray},r);i.save(),i.strokeStyle=t.borderColor,this._setLineDash(i,t.borderDashArray),this.strokeBorders(i,e),t.hasControls&&this.drawControlsConnectingLines(i,e),i.restore()}_renderControls(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{hasBorders:r,hasControls:t}=this,n=D({hasBorders:r,hasControls:t},e),f=this.getViewportTransform(),o=n.hasBorders,a=n.hasControls,A=J0(f,this.calcTransformMatrix()),l=R2(A);i.save(),i.translate(l.translateX,l.translateY),i.lineWidth=this.borderScaleFactor,this.group===this.parent&&(i.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1),this.flipX&&(l.angle-=180),i.rotate(z0(this.group?l.angle:this.angle)),o&&this.drawBorders(i,l,e),a&&this.drawControls(i,e),i.restore()}drawBorders(i,e,r){let t;if(r&&r.forActiveSelection||this.group){let n=Ot(this.width,this.height,Br(e)),f=this.isStrokeAccountedForInDimensions()?Z1:(this.strokeUniform?new N().scalarAdd(this.canvas?this.canvas.getZoom():1):new N(e.scaleX,e.scaleY)).scalarMultiply(this.strokeWidth);t=n.add(f).scalarAdd(this.borderScaleFactor).scalarAdd(2*this.padding)}else t=this._calculateCurrentDimensions().scalarAdd(this.borderScaleFactor);this._drawBorders(i,t,r)}drawControlsConnectingLines(i,e){let r=!1;i.beginPath(),this.forEachControl((t,n)=>{t.withConnection&&t.getVisibility(this,n)&&(r=!0,i.moveTo(t.x*e.x,t.y*e.y),i.lineTo(t.x*e.x+t.offsetX,t.y*e.y+t.offsetY))}),r&&i.stroke()}drawControls(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};i.save();let r=this.getCanvasRetinaScaling(),{cornerStrokeColor:t,cornerDashArray:n,cornerColor:f}=this,o=D({cornerStrokeColor:t,cornerDashArray:n,cornerColor:f},e);i.setTransform(r,0,0,r,0,0),i.strokeStyle=i.fillStyle=o.cornerColor,this.transparentCorners||(i.strokeStyle=o.cornerStrokeColor),this._setLineDash(i,o.cornerDashArray),this.forEachControl((a,A)=>{if(a.getVisibility(this,A)){let l=this.oCoords[A];a.render(i,l.x,l.y,o,this)}}),i.restore()}isControlVisible(i){return this.controls[i]&&this.controls[i].getVisibility(this,i)}setControlVisible(i,e){this._controlsVisibility||(this._controlsVisibility={}),this._controlsVisibility[i]=e}setControlsVisibility(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Object.entries(i).forEach(e=>{let[r,t]=e;return this.setControlVisible(r,t)})}clearContextTop(i){if(!this.canvas)return;let e=this.canvas.contextTop;if(!e)return;let r=this.canvas.viewportTransform;e.save(),e.transform(r[0],r[1],r[2],r[3],r[4],r[5]),this.transform(e);let t=this.width+4,n=this.height+4;return e.clearRect(-t/2,-n/2,t,n),i||e.restore(),e}onDeselect(i){return!1}onSelect(i){return!1}shouldStartDragging(i){return!1}onDragStart(i){return!1}canDrop(i){return!1}renderDragSourceEffect(i){}renderDropTargetEffect(i){}};function Ko(s,i){return i.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(r=>{r!=="constructor"&&Object.defineProperty(s.prototype,r,Object.getOwnPropertyDescriptor(e.prototype,r)||Object.create(null))})}),s}V(d2,"ownDefaults",{noScaleCache:!0,lockMovementX:!1,lockMovementY:!1,lockRotation:!1,lockScalingX:!1,lockScalingY:!1,lockSkewingX:!1,lockSkewingY:!1,lockScalingFlip:!1,cornerSize:13,touchCornerSize:24,transparentCorners:!0,cornerColor:"rgb(178,204,255)",cornerStrokeColor:"",cornerStyle:"rect",cornerDashArray:null,hasControls:!0,borderColor:"rgb(178,204,255)",borderDashArray:null,borderOpacityWhenMoving:.4,borderScaleFactor:1,hasBorders:!0,selectionBackgroundColor:"",selectable:!0,evented:!0,perPixelTargetFind:!1,activeOn:"down",hoverCursor:null,moveCursor:null});var q0=class extends d2{};Ko(q0,[Ct]),r0.setClass(q0),r0.setClass(q0,"object");var ia=(s,i,e,r)=>{let t=2*(r=Math.round(r))+1,{data:n}=s.getImageData(i-r,e-r,t,t);for(let f=3;f<n.length;f+=4)if(n[f]>0)return!1;return!0},Zt=class{constructor(i){this.options=i,this.strokeProjectionMagnitude=this.options.strokeWidth/2,this.scale=new N(this.options.scaleX,this.options.scaleY),this.strokeUniformScalar=this.options.strokeUniform?new N(1/this.options.scaleX,1/this.options.scaleY):new N(1,1)}createSideVector(i,e){let r=yt(i,e);return this.options.strokeUniform?r.multiply(this.scale):r}projectOrthogonally(i,e,r){return this.applySkew(i.add(this.calcOrthogonalProjection(i,e,r)))}isSkewed(){return this.options.skewX!==0||this.options.skewY!==0}applySkew(i){let e=new N(i);return e.y+=e.x*Math.tan(z0(this.options.skewY)),e.x+=e.y*Math.tan(z0(this.options.skewX)),e}scaleUnitVector(i,e){return i.multiply(this.strokeUniformScalar).scalarMultiply(e)}},iA=new N,Xe=class extends Zt{static getOrthogonalRotationFactor(i,e){let r=e?xt(i,e):Do(i);return Math.abs(r)<De?-1:1}constructor(i,e,r,t){super(t),V(this,"AB",void 0),V(this,"AC",void 0),V(this,"alpha",void 0),V(this,"bisector",void 0),this.A=new N(i),this.B=new N(e),this.C=new N(r),this.AB=this.createSideVector(this.A,this.B),this.AC=this.createSideVector(this.A,this.C),this.alpha=xt(this.AB,this.AC),this.bisector=Ht(D1(this.AB.eq(iA)?this.AC:this.AB,this.alpha/2))}calcOrthogonalProjection(i,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.strokeProjectionMagnitude,t=this.createSideVector(i,e),n=S1(t),f=Xe.getOrthogonalRotationFactor(n,this.bisector);return this.scaleUnitVector(n,r*f)}projectBevel(){let i=[];return(this.alpha%ve==0?[this.B]:[this.B,this.C]).forEach(e=>{i.push(this.projectOrthogonally(this.A,e)),i.push(this.projectOrthogonally(this.A,e,-this.strokeProjectionMagnitude))}),i}projectMiter(){let i=[],e=Math.abs(this.alpha),r=1/Math.sin(e/2),t=this.scaleUnitVector(this.bisector,-this.strokeProjectionMagnitude*r),n=this.options.strokeUniform?Bt(this.scaleUnitVector(this.bisector,this.options.strokeMiterLimit)):this.options.strokeMiterLimit;return Bt(t)/this.strokeProjectionMagnitude<=n&&i.push(this.applySkew(this.A.add(t))),i.push(...this.projectBevel()),i}projectRoundNoSkew(i,e){let r=[],t=new N(Xe.getOrthogonalRotationFactor(this.bisector),Xe.getOrthogonalRotationFactor(new N(this.bisector.y,this.bisector.x)));return[new N(1,0).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(t),new N(0,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(t)].forEach(n=>{qn(n,i,e)&&r.push(this.A.add(n))}),r}projectRoundWithSkew(i,e){let r=[],{skewX:t,skewY:n,scaleX:f,scaleY:o,strokeUniform:a}=this.options,A=new N(Math.tan(z0(t)),Math.tan(z0(n))),l=this.strokeProjectionMagnitude,k=a?l/o/Math.sqrt(1/o**2+1/f**2*A.y**2):l/Math.sqrt(1+A.y**2),u=new N(Math.sqrt(Math.max(l**2-k**2,0)),k),h=a?l/Math.sqrt(1+A.x**2*(1/o)**2/(1/f+1/f*A.x*A.y)**2):l/Math.sqrt(1+A.x**2/(1+A.x*A.y)**2),c=new N(h,Math.sqrt(Math.max(l**2-h**2,0)));return[c,c.scalarMultiply(-1),u,u.scalarMultiply(-1)].map(d=>this.applySkew(a?d.multiply(this.strokeUniformScalar):d)).forEach(d=>{qn(d,i,e)&&r.push(this.applySkew(this.A).add(d))}),r}projectRound(){let i=[];i.push(...this.projectBevel());let e=this.alpha%ve==0,r=this.applySkew(this.A),t=i[e?0:2].subtract(r),n=i[e?1:0].subtract(r),f=e?this.applySkew(this.AB.scalarMultiply(-1)):this.applySkew(this.bisector.multiply(this.strokeUniformScalar).scalarMultiply(-1)),o=M2(t,f)>0,a=o?t:n,A=o?n:t;return this.isSkewed()?i.push(...this.projectRoundWithSkew(a,A)):i.push(...this.projectRoundNoSkew(a,A)),i}projectPoints(){switch(this.options.strokeLineJoin){case"miter":return this.projectMiter();case"round":return this.projectRound();default:return this.projectBevel()}}project(){return this.projectPoints().map(i=>({originPoint:this.A,projectedPoint:i,angle:this.alpha,bisector:this.bisector}))}},It=class extends Zt{constructor(i,e,r){super(r),this.A=new N(i),this.T=new N(e)}calcOrthogonalProjection(i,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.strokeProjectionMagnitude,t=this.createSideVector(i,e);return this.scaleUnitVector(S1(t),r)}projectButt(){return[this.projectOrthogonally(this.A,this.T,this.strokeProjectionMagnitude),this.projectOrthogonally(this.A,this.T,-this.strokeProjectionMagnitude)]}projectRound(){let i=[];if(!this.isSkewed()&&this.A.eq(this.T)){let e=new N(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);i.push(this.applySkew(this.A.add(e)),this.applySkew(this.A.subtract(e)))}else i.push(...new Xe(this.A,this.T,this.T,this.options).projectRound());return i}projectSquare(){let i=[];if(this.A.eq(this.T)){let e=new N(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);i.push(this.A.add(e),this.A.subtract(e))}else{let e=this.calcOrthogonalProjection(this.A,this.T,this.strokeProjectionMagnitude),r=this.scaleUnitVector(Ht(this.createSideVector(this.A,this.T)),-this.strokeProjectionMagnitude),t=this.A.add(r);i.push(t.add(e),t.subtract(e))}return i.map(e=>this.applySkew(e))}projectPoints(){switch(this.options.strokeLineCap){case"round":return this.projectRound();case"square":return this.projectSquare();default:return this.projectButt()}}project(){return this.projectPoints().map(i=>({originPoint:this.A,projectedPoint:i}))}},ea=function(s,i){let e=arguments.length>2&&arguments[2]!==void 0&&arguments[2],r=[];if(s.length===0)return r;let t=s.reduce((n,f)=>(n[n.length-1].eq(f)||n.push(new N(f)),n),[new N(s[0])]);if(t.length===1)e=!0;else if(!e){let n=t[0],f=((o,a)=>{for(let A=o.length-1;A>=0;A--)if(a(o[A],A,o))return A;return-1})(t,o=>!o.eq(n));t.splice(f+1)}return t.forEach((n,f,o)=>{let a,A;f===0?(A=o[1],a=e?n:o[o.length-1]):f===o.length-1?(a=o[f-1],A=e?n:o[0]):(a=o[f-1],A=o[f+1]),e&&o.length===1?r.push(...new It(n,n,i).project()):!e||f!==0&&f!==o.length-1?r.push(...new Xe(n,a,A,i).project()):r.push(...new It(n,f===0?A:a,i).project())}),r},P1=s=>{let i={};return Object.keys(s).forEach(e=>{i[e]={},Object.keys(s[e]).forEach(r=>{i[e][r]=D({},s[e][r])})}),i},ra=s=>s.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">"),jt=s=>{let i=[];for(let e,r=0;r<s.length;r++)(e=eA(s,r))!==!1&&i.push(e);return i},eA=(s,i)=>{let e=s.charCodeAt(i);if(isNaN(e))return"";if(e<55296||e>57343)return s.charAt(i);if(55296<=e&&e<=56319){if(s.length<=i+1)throw"High surrogate without following low surrogate";let t=s.charCodeAt(i+1);if(56320>t||t>57343)throw"High surrogate without following low surrogate";return s.charAt(i)+s.charAt(i+1)}if(i===0)throw"Low surrogate without preceding high surrogate";let r=s.charCodeAt(i-1);if(55296>r||r>56319)throw"Low surrogate without preceding high surrogate";return!1},rA=Object.freeze({__proto__:null,capitalize:function(s){let i=arguments.length>1&&arguments[1]!==void 0&&arguments[1];return"".concat(s.charAt(0).toUpperCase()).concat(i?s.slice(1):s.slice(1).toLowerCase())},escapeXml:ra,graphemeSplit:jt}),Lt=function(s,i){let e=arguments.length>2&&arguments[2]!==void 0&&arguments[2];return s.fill!==i.fill||s.stroke!==i.stroke||s.strokeWidth!==i.strokeWidth||s.fontSize!==i.fontSize||s.fontFamily!==i.fontFamily||s.fontWeight!==i.fontWeight||s.fontStyle!==i.fontStyle||s.textBackgroundColor!==i.textBackgroundColor||s.deltaY!==i.deltaY||e&&(s.overline!==i.overline||s.underline!==i.underline||s.linethrough!==i.linethrough)},ta=(s,i)=>{let e=i.split(`
|
|
`),r=[],t=-1,n={};s=P1(s);for(let f=0;f<e.length;f++){let o=jt(e[f]);if(s[f])for(let a=0;a<o.length;a++){t++;let A=s[f][a];A&&Object.keys(A).length>0&&(Lt(n,A,!0)?r.push({start:t,end:t+1,style:A}):r[r.length-1].end++),n=A||{}}else t+=o.length,n={}}return r},na=(s,i)=>{if(!Array.isArray(s))return P1(s);let e=i.split(B1),r={},t=-1,n=0;for(let f=0;f<e.length;f++){let o=jt(e[f]);for(let a=0;a<o.length;a++)t++,s[n]&&s[n].start<=t&&t<s[n].end&&(r[f]=r[f]||{},r[f][a]=D({},s[n].style),t===s[n].end-1&&n++)}return r},Pe=["display","transform",ri,"fill-opacity","fill-rule","opacity",xi,"stroke-dasharray","stroke-linecap","stroke-dashoffset","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","id","paint-order","vector-effect","instantiated_by_use","clip-path"];function Lf(s,i){let e=s.nodeName,r=s.getAttribute("class"),t=s.getAttribute("id"),n="(?![a-zA-Z\\-]+)",f;if(f=new RegExp("^"+e,"i"),i=i.replace(f,""),t&&i.length&&(f=new RegExp("#"+t+n,"i"),i=i.replace(f,"")),r&&i.length){let o=r.split(" ");for(let a=o.length;a--;)f=new RegExp("\\."+o[a]+n,"i"),i=i.replace(f,"")}return i.length===0}function tA(s,i){let e=!0,r=Lf(s,i.pop());return r&&i.length&&(e=function(t,n){let f,o=!0;for(;t.parentElement&&t.parentElement.nodeType===1&&n.length;)o&&(f=n.pop()),o=Lf(t=t.parentElement,f);return n.length===0}(s,i)),r&&e&&i.length===0}var nA=s=>{var i;return(i=Rs[s])!==null&&i!==void 0?i:s},fA=new RegExp("(".concat($i,")"),"gi"),oA=s=>s.replace(fA," $1 ").replace(/,/gi," ").replace(/\s+/gi," "),$f,qf,Kf,io,eo,ro,to,ci="(".concat($i,")"),aA=String.raw($f||($f=Te(["(skewX)(",")"],["(skewX)\\(","\\)"])),ci),sA=String.raw(qf||(qf=Te(["(skewY)(",")"],["(skewY)\\(","\\)"])),ci),AA=String.raw(Kf||(Kf=Te(["(rotate)(","(?: "," ",")?)"],["(rotate)\\(","(?: "," ",")?\\)"])),ci,ci,ci),lA=String.raw(io||(io=Te(["(scale)(","(?: ",")?)"],["(scale)\\(","(?: ",")?\\)"])),ci,ci),kA=String.raw(eo||(eo=Te(["(translate)(","(?: ",")?)"],["(translate)\\(","(?: ",")?\\)"])),ci,ci),uA=String.raw(ro||(ro=Te(["(matrix)("," "," "," "," "," ",")"],["(matrix)\\("," "," "," "," "," ","\\)"])),ci,ci,ci,ci,ci,ci),N1="(?:".concat(uA,"|").concat(kA,"|").concat(AA,"|").concat(lA,"|").concat(aA,"|").concat(sA,")"),hA="(?:".concat(N1,"*)"),cA=String.raw(to||(to=Te(["^s*(?:","?)s*$"],["^\\s*(?:","?)\\s*$"])),hA),dA=new RegExp(cA),bA=new RegExp(N1),gA=new RegExp(N1,"g");function a1(s){let i=[];if(!(s=oA(s).replace(/\s*([()])\s*/gi,"$1"))||s&&!dA.test(s))return[...bi];for(let e of s.matchAll(gA)){let r=bA.exec(e[0]);if(!r)continue;let t=bi,n=r.filter(c=>!!c),[,f,...o]=n,[a,A,l,k,u,h]=o.map(c=>parseFloat(c));switch(f){case"translate":t=U2(a,A);break;case x1:t=j2({angle:a},{x:A,y:l});break;case Nt:t=Yt(a,A);break;case J2:t=E1(a);break;case H2:t=W1(a);break;case"matrix":t=[a,A,l,k,u,h]}i.push(t)}return Qt(i)}function pA(s,i,e,r){let t=Array.isArray(i),n,f=i;if(s!==ri&&s!==xi||i!==Bi){if(s==="strokeUniform")return i==="non-scaling-stroke";if(s==="strokeDashArray")f=i===Bi?null:i.replace(/,/g," ").split(/\s+/).map(parseFloat);else if(s==="transformMatrix")f=e&&e.transformMatrix?J0(e.transformMatrix,a1(i)):a1(i);else if(s==="visible")f=i!==Bi&&i!=="hidden",e&&e.visible===!1&&(f=!1);else if(s==="opacity")f=parseFloat(i),e&&e.opacity!==void 0&&(f*=e.opacity);else if(s==="textAnchor")f=i==="start"?E0:i==="end"?$0:d0;else if(s==="charSpacing")n=u2(i,r)/r*1e3;else if(s==="paintFirst"){let o=i.indexOf(ri),a=i.indexOf(xi);f=ri,(o>-1&&a>-1&&a<o||o===-1&&a>-1)&&(f=xi)}else{if(s==="href"||s==="xlink:href"||s==="font"||s==="id")return i;if(s==="imageSmoothing")return i==="optimizeQuality";n=t?i.map(u2):u2(i,r)}}else f="";return!t&&isNaN(n)?f:n}function mA(s,i){let e=s.match(Ts);if(!e)return;let r=e[1],t=e[3],n=e[4],f=e[5],o=e[6];r&&(i.fontStyle=r),t&&(i.fontWeight=isNaN(parseFloat(t))?t:parseFloat(t)),n&&(i.fontSize=u2(n)),o&&(i.fontFamily=o),f&&(i.lineHeight=f==="normal"?1:f)}function vA(s,i){s.replace(/;\s*$/,"").split(";").forEach(e=>{if(!e)return;let[r,t]=e.split(":");i[r.trim().toLowerCase()]=t.trim()})}function wA(s){let i={},e=s.getAttribute("style");return e&&(typeof e=="string"?vA(e,i):function(r,t){Object.entries(r).forEach(n=>{let[f,o]=n;o!==void 0&&(t[f.toLowerCase()]=o)})}(e,i)),i}var _A={stroke:"strokeOpacity",fill:"fillOpacity"};function Ce(s,i,e){if(!s)return{};let r,t={},n=y1;s.parentNode&&zf.test(s.parentNode.nodeName)&&(t=Ce(s.parentElement,i,e),t.fontSize&&(r=n=u2(t.fontSize)));let f=D(D(D({},i.reduce((A,l)=>{let k=s.getAttribute(l);return k&&(A[l]=k),A},{})),function(A){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},k={};for(let u in l)tA(A,u.split(" "))&&(k=D(D({},k),l[u]));return k}(s,e)),wA(s));f[Dn]&&s.setAttribute(Dn,f[Dn]),f[Gn]&&(r=u2(f[Gn],n),f[Gn]="".concat(r));let o={};for(let A in f){let l=nA(A),k=pA(l,f[A],t,r);o[l]=k}o&&o.font&&mA(o.font,o);let a=D(D({},t),o);return zf.test(s.nodeName)?a:function(A){let l=q0.getDefaults();return Object.entries(_A).forEach(k=>{let[u,h]=k;if(A[h]===void 0||A[u]==="")return;if(A[u]===void 0){if(!l[u])return;A[u]=l[u]}if(A[u].indexOf("url(")===0)return;let c=new Z0(A[u]);A[u]=c.setAlpha(P0(c.getAlpha()*A[h],2)).toRgba()}),A}(a)}var CA=["left","top","width","height","visible"],fa=["rx","ry"],Mi=class extends q0{static getDefaults(){return D(D({},super.getDefaults()),Mi.ownDefaults)}constructor(i){super(),Object.assign(this,Mi.ownDefaults),this.setOptions(i),this._initRxRy()}_initRxRy(){let{rx:i,ry:e}=this;i&&!e?this.ry=i:e&&!i&&(this.rx=e)}_render(i){let{width:e,height:r}=this,t=-e/2,n=-r/2,f=this.rx?Math.min(this.rx,e/2):0,o=this.ry?Math.min(this.ry,r/2):0,a=f!==0||o!==0;i.beginPath(),i.moveTo(t+f,n),i.lineTo(t+e-f,n),a&&i.bezierCurveTo(t+e-We*f,n,t+e,n+We*o,t+e,n+o),i.lineTo(t+e,n+r-o),a&&i.bezierCurveTo(t+e,n+r-We*o,t+e-We*f,n+r,t+e-f,n+r),i.lineTo(t+f,n+r),a&&i.bezierCurveTo(t+We*f,n+r,t,n+r-We*o,t,n+r-o),i.lineTo(t,n+o),a&&i.bezierCurveTo(t,n+We*o,t+We*f,n,t+f,n),i.closePath(),this._renderPaintInOrder(i)}toObject(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return super.toObject([...fa,...i])}_toSVG(){let{width:i,height:e,rx:r,ry:t}=this;return["<rect ","COMMON_PARTS",'x="'.concat(-i/2,'" y="').concat(-e/2,'" rx="').concat(r,'" ry="').concat(t,'" width="').concat(i,'" height="').concat(e,`" />
|
|
`)]}static async fromElement(i,e,r){let t=Ce(i,this.ATTRIBUTE_NAMES,r),{left:n=0,top:f=0,width:o=0,height:a=0,visible:A=!0}=t,l=N0(t,CA);return new this(D(D(D({},e),l),{},{left:n,top:f,width:o,height:a,visible:Boolean(A&&o&&a)}))}};V(Mi,"type","Rect"),V(Mi,"cacheProperties",[..._e,...fa]),V(Mi,"ownDefaults",{rx:0,ry:0}),V(Mi,"ATTRIBUTE_NAMES",[...Pe,"x","y","rx","ry","width","height"]),r0.setClass(Mi),r0.setSVGClass(Mi);var de="initialization",Et="added",Q1="removed",Wt="imperative",oa=(s,i)=>{let{strokeUniform:e,strokeWidth:r,width:t,height:n,group:f}=i,o=f&&f!==s?Zr(f.calcTransformMatrix(),s.calcTransformMatrix()):null,a=o?i.getRelativeCenterPoint().transform(o):i.getRelativeCenterPoint(),A=!i.isStrokeAccountedForInDimensions(),l=e&&A?Wo(new N(r,r),void 0,s.calcTransformMatrix()):Z1,k=!e&&A?r:0,u=Ot(t+k,n+k,Qt([o,i.calcOwnMatrix()],!0)).add(l).scalarDivide(2);return[a.subtract(u),a.add(u)]},Q2=class{calcLayoutResult(i,e){if(this.shouldPerformLayout(i))return this.calcBoundingBox(e,i)}shouldPerformLayout(i){let{type:e,prevStrategy:r,strategy:t}=i;return e===de||e===Wt||!!r&&t!==r}shouldLayoutClipPath(i){let{type:e,target:{clipPath:r}}=i;return e!==de&&r&&!r.absolutePositioned}getInitialSize(i,e){return e.size}calcBoundingBox(i,e){let{type:r,target:t}=e;if(r===Wt&&e.overrides)return e.overrides;if(i.length===0)return;let{left:n,top:f,width:o,height:a}=oe(i.map(k=>oa(t,k)).reduce((k,u)=>k.concat(u),[])),A=new N(o,a),l=new N(n,f).add(A.scalarDivide(2));if(r===de){let k=this.getInitialSize(e,{size:A,center:l});return{center:l,relativeCorrection:new N(0,0),size:k}}return{center:l.transform(t.calcOwnMatrix()),size:A}}};V(Q2,"type","strategy");var Cr=class extends Q2{shouldPerformLayout(i){return!0}};V(Cr,"type","fit-content"),r0.setClass(Cr);var yA=["strategy"],BA=["target","strategy","bubbles","prevStrategy"],aa="layoutManager",b2=class{constructor(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Cr;V(this,"strategy",void 0),this.strategy=i,this._subscriptions=new Map}performLayout(i){let e=D(D({bubbles:!0,strategy:this.strategy},i),{},{prevStrategy:this._prevLayoutStrategy,stopPropagation(){this.bubbles=!1}});this.onBeforeLayout(e);let r=this.getLayoutResult(e);r&&this.commitLayout(e,r),this.onAfterLayout(e,r),this._prevLayoutStrategy=e.strategy}attachHandlers(i,e){let{target:r}=e;return[gt,ko,mr,uo,Pt,ho,bt,co,Xs].map(t=>i.on(t,n=>this.performLayout(t===gt?{type:"object_modified",trigger:t,e:n,target:r}:{type:"object_modifying",trigger:t,e:n,target:r})))}subscribe(i,e){this.unsubscribe(i,e);let r=this.attachHandlers(i,e);this._subscriptions.set(i,r)}unsubscribe(i,e){(this._subscriptions.get(i)||[]).forEach(r=>r()),this._subscriptions.delete(i)}unsubscribeTargets(i){i.targets.forEach(e=>this.unsubscribe(e,i))}subscribeTargets(i){i.targets.forEach(e=>this.subscribe(e,i))}onBeforeLayout(i){let{target:e,type:r}=i,{canvas:t}=e;if(r===de||r===Et?this.subscribeTargets(i):r===Q1&&this.unsubscribeTargets(i),e.fire("layout:before",{context:i}),t&&t.fire("object:layout:before",{target:e,context:i}),r===Wt&&i.deep){let n=N0(i,yA);e.forEachObject(f=>f.layoutManager&&f.layoutManager.performLayout(D(D({},n),{},{bubbles:!1,target:f})))}}getLayoutResult(i){let{target:e,strategy:r,type:t}=i,n=r.calcLayoutResult(i,e.getObjects());if(!n)return;let f=t===de?new N:e.getRelativeCenterPoint(),{center:o,correction:a=new N,relativeCorrection:A=new N}=n,l=f.subtract(o).add(a).transform(t===de?bi:Vi(e.calcOwnMatrix()),!0).add(A);return{result:n,prevCenter:f,nextCenter:o,offset:l}}commitLayout(i,e){let{target:r}=i,{result:{size:t},nextCenter:n}=e;var f,o;r.set({width:t.x,height:t.y}),this.layoutObjects(i,e),i.type===de?r.set({left:(f=i.x)!==null&&f!==void 0?f:n.x+t.x*ei(r.originX),top:(o=i.y)!==null&&o!==void 0?o:n.y+t.y*ei(r.originY)}):(r.setPositionByOrigin(n,d0,d0),r.setCoords(),r.set("dirty",!0))}layoutObjects(i,e){let{target:r}=i;r.forEachObject(t=>{t.group===r&&this.layoutObject(i,e,t)}),i.strategy.shouldLayoutClipPath(i)&&this.layoutObject(i,e,r.clipPath)}layoutObject(i,e,r){let{offset:t}=e;r.set({left:r.left+t.x,top:r.top+t.y})}onAfterLayout(i,e){let{target:r,strategy:t,bubbles:n,prevStrategy:f}=i,o=N0(i,BA),{canvas:a}=r;r.fire("layout:after",{context:i,result:e}),a&&a.fire("object:layout:after",{context:i,result:e,target:r});let A=r.parent;n&&A!=null&&A.layoutManager&&((o.path||(o.path=[])).push(r),A.layoutManager.performLayout(D(D({},o),{},{target:A}))),r.set("dirty",!0)}dispose(){let{_subscriptions:i}=this;i.forEach(e=>e.forEach(r=>r())),i.clear()}toObject(){return{type:aa,strategy:this.strategy.constructor.type}}toJSON(){return this.toObject()}};r0.setClass(b2,aa);var xA=["type","objects","layoutManager"],s1=class extends b2{performLayout(){}},Ki=class extends bo(q0){static getDefaults(){return D(D({},super.getDefaults()),Ki.ownDefaults)}constructor(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),V(this,"_activeObjects",[]),V(this,"__objectSelectionTracker",void 0),V(this,"__objectSelectionDisposer",void 0),Object.assign(this,Ki.ownDefaults),this.setOptions(e),this.groupInit(i,e)}groupInit(i,e){var r;this._objects=[...i],this.__objectSelectionTracker=this.__objectSelectionMonitor.bind(this,!0),this.__objectSelectionDisposer=this.__objectSelectionMonitor.bind(this,!1),this.forEachObject(t=>{this.enterGroup(t,!1)}),this.layoutManager=(r=e.layoutManager)!==null&&r!==void 0?r:new b2,this.layoutManager.performLayout({type:de,target:this,targets:[...i],x:e.left,y:e.top})}canEnterGroup(i){return i===this||this.isDescendantOf(i)?(Ge("error","Group: circular object trees are not supported, this call has no effect"),!1):this._objects.indexOf(i)===-1||(Ge("error","Group: duplicate objects are not supported inside group, this call has no effect"),!1)}_filterObjectsBeforeEnteringGroup(i){return i.filter((e,r,t)=>this.canEnterGroup(e)&&t.indexOf(e)===r)}add(){for(var i=arguments.length,e=new Array(i),r=0;r<i;r++)e[r]=arguments[r];let t=this._filterObjectsBeforeEnteringGroup(e),n=super.add(...t);return this._onAfterObjectsChange(Et,t),n}insertAt(i){for(var e=arguments.length,r=new Array(e>1?e-1:0),t=1;t<e;t++)r[t-1]=arguments[t];let n=this._filterObjectsBeforeEnteringGroup(r),f=super.insertAt(i,...n);return this._onAfterObjectsChange(Et,n),f}remove(){let i=super.remove(...arguments);return this._onAfterObjectsChange(Q1,i),i}_onObjectAdded(i){this.enterGroup(i,!0),this.fire("object:added",{target:i}),i.fire("added",{target:this})}_onObjectRemoved(i,e){this.exitGroup(i,e),this.fire("object:removed",{target:i}),i.fire("removed",{target:this})}_onAfterObjectsChange(i,e){this.layoutManager.performLayout({type:i,targets:e,target:this})}_onStackOrderChanged(){this._set("dirty",!0)}_set(i,e){let r=this[i];return super._set(i,e),i==="canvas"&&r!==e&&(this._objects||[]).forEach(t=>{t._set(i,e)}),this}_shouldSetNestedCoords(){return this.subTargetCheck}removeAll(){return this._activeObjects=[],this.remove(...this._objects)}__objectSelectionMonitor(i,e){let{target:r}=e,t=this._activeObjects;if(i)t.push(r),this._set("dirty",!0);else if(t.length>0){let n=t.indexOf(r);n>-1&&(t.splice(n,1),this._set("dirty",!0))}}_watchObject(i,e){i&&this._watchObject(!1,e),i?(e.on("selected",this.__objectSelectionTracker),e.on("deselected",this.__objectSelectionDisposer)):(e.off("selected",this.__objectSelectionTracker),e.off("deselected",this.__objectSelectionDisposer))}enterGroup(i,e){i.group&&i.group.remove(i),i._set("parent",this),this._enterGroup(i,e)}_enterGroup(i,e){e&&N2(i,J0(Vi(this.calcTransformMatrix()),i.calcTransformMatrix())),this._shouldSetNestedCoords()&&i.setCoords(),i._set("group",this),i._set("canvas",this.canvas),this._watchObject(!0,i);let r=this.canvas&&this.canvas.getActiveObject&&this.canvas.getActiveObject();r&&(r===i||i.isDescendantOf(r))&&this._activeObjects.push(i)}exitGroup(i,e){this._exitGroup(i,e),i._set("parent",void 0),i._set("canvas",void 0)}_exitGroup(i,e){i._set("group",void 0),e||(N2(i,J0(this.calcTransformMatrix(),i.calcTransformMatrix())),i.setCoords()),this._watchObject(!1,i);let r=this._activeObjects.length>0?this._activeObjects.indexOf(i):-1;r>-1&&this._activeObjects.splice(r,1)}shouldCache(){let i=q0.prototype.shouldCache.call(this);if(i){for(let e=0;e<this._objects.length;e++)if(this._objects[e].willDrawShadow())return this.ownCaching=!1,!1}return i}willDrawShadow(){if(super.willDrawShadow())return!0;for(let i=0;i<this._objects.length;i++)if(this._objects[i].willDrawShadow())return!0;return!1}isOnACache(){return this.ownCaching||!!this.parent&&this.parent.isOnACache()}drawObject(i,e,r){this._renderBackground(i);for(let n=0;n<this._objects.length;n++){var t;let f=this._objects[n];(t=this.canvas)!==null&&t!==void 0&&t.preserveObjectStacking&&f.group!==this?(i.save(),i.transform(...Vi(this.calcTransformMatrix())),f.render(i),i.restore()):f.group===this&&f.render(i)}this._drawClipPath(i,this.clipPath,r)}setCoords(){super.setCoords(),this._shouldSetNestedCoords()&&this.forEachObject(i=>i.setCoords())}triggerLayout(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.layoutManager.performLayout(D({target:this,type:Wt},i))}render(i){this._transformDone=!0,super.render(i),this._transformDone=!1}__serializeObjects(i,e){let r=this.includeDefaultValues;return this._objects.filter(function(t){return!t.excludeFromExport}).map(function(t){let n=t.includeDefaultValues;t.includeDefaultValues=r;let f=t[i||"toObject"](e);return t.includeDefaultValues=n,f})}toObject(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=this.layoutManager.toObject();return D(D(D({},super.toObject(["subTargetCheck","interactive",...i])),e.strategy!=="fit-content"||this.includeDefaultValues?{layoutManager:e}:{}),{},{objects:this.__serializeObjects("toObject",i)})}toString(){return"#<Group: (".concat(this.complexity(),")>")}dispose(){this.layoutManager.unsubscribeTargets({targets:this.getObjects(),target:this}),this._activeObjects=[],this.forEachObject(i=>{this._watchObject(!1,i),i.dispose()}),super.dispose()}_createSVGBgRect(i){if(!this.backgroundColor)return"";let e=Mi.prototype._toSVG.call(this),r=e.indexOf("COMMON_PARTS");e[r]='for="group" ';let t=e.join("");return i?i(t):t}_toSVG(i){let e=["<g ","COMMON_PARTS",` >
|
|
`],r=this._createSVGBgRect(i);r&&e.push(" ",r);for(let t=0;t<this._objects.length;t++)e.push(" ",this._objects[t].toSVG(i));return e.push(`</g>
|
|
`),e}getSvgStyles(){let i=this.opacity!==void 0&&this.opacity!==1?"opacity: ".concat(this.opacity,";"):"",e=this.visible?"":" visibility: hidden;";return[i,this.getSvgFilter(),e].join("")}toClipPathSVG(i){let e=[],r=this._createSVGBgRect(i);r&&e.push(" ",r);for(let t=0;t<this._objects.length;t++)e.push(" ",this._objects[t].toClipPathSVG(i));return this._createBaseClipPathSVGMarkup(e,{reviver:i})}static fromObject(i,e){let{type:r,objects:t=[],layoutManager:n}=i,f=N0(i,xA);return Promise.all([P2(t,e),xr(f,e)]).then(o=>{let[a,A]=o,l=new this(a,D(D(D({},f),A),{},{layoutManager:new s1}));if(n){let k=r0.getClass(n.type),u=r0.getClass(n.strategy);l.layoutManager=new k(new u)}else l.layoutManager=new b2;return l.layoutManager.subscribeTargets({type:de,target:l,targets:l.getObjects()}),l.setCoords(),l})}};V(Ki,"type","Group"),V(Ki,"ownDefaults",{strokeWidth:0,subTargetCheck:!1,interactive:!1}),r0.setClass(Ki);var sa=(s,i)=>Math.min(i.width/s.width,i.height/s.height),Aa=(s,i)=>Math.max(i.width/s.width,i.height/s.height),A1="\\s*,?\\s*",kr="".concat(A1,"(").concat($i,")"),ZA="".concat(kr).concat(kr).concat(kr).concat(A1,"([01])").concat(A1,"([01])").concat(kr).concat(kr),IA={m:"l",M:"L"},EA=(s,i,e,r,t,n,f,o,a,A,l)=>{let k=ie(s),u=ee(s),h=ie(i),c=ee(i),d=e*t*h-r*n*c+f,b=r*t*h+e*n*c+o;return["C",A+a*(-e*t*u-r*n*k),l+a*(-r*t*u+e*n*k),d+a*(e*t*c+r*n*h),b+a*(r*t*c-e*n*h),d,b]},no=(s,i,e,r)=>{let t=Math.atan2(i,s),n=Math.atan2(r,e);return n>=t?n-t:2*Math.PI-(t-n)};function l1(s,i,e,r,t,n,f,o){let a;if(x0.cachesBoundsOfCurve&&(a=[...arguments].join(),cr.boundsOfCurveCache[a]))return cr.boundsOfCurveCache[a];let A=Math.sqrt,l=Math.abs,k=[],u=[[0,0],[0,0]],h=6*s-12*e+6*t,c=-3*s+9*e-9*t+3*f,d=3*e-3*s;for(let p=0;p<2;++p){if(p>0&&(h=6*i-12*r+6*n,c=-3*i+9*r-9*n+3*o,d=3*r-3*i),l(c)<1e-12){if(l(h)<1e-12)continue;let _=-d/h;0<_&&_<1&&k.push(_);continue}let m=h*h-4*d*c;if(m<0)continue;let C=A(m),y=(-h+C)/(2*c);0<y&&y<1&&k.push(y);let Z=(-h-C)/(2*c);0<Z&&Z<1&&k.push(Z)}let b=k.length,g=b,v=ka(s,i,e,r,t,n,f,o);for(;b--;){let{x:p,y:m}=v(k[b]);u[0][b]=p,u[1][b]=m}u[0][g]=s,u[1][g]=i,u[0][g+1]=f,u[1][g+1]=o;let w=[new N(Math.min(...u[0]),Math.min(...u[1])),new N(Math.max(...u[0]),Math.max(...u[1]))];return x0.cachesBoundsOfCurve&&(cr.boundsOfCurveCache[a]=w),w}var WA=(s,i,e)=>{let[r,t,n,f,o,a,A,l]=e,k=((u,h,c,d,b,g,v)=>{if(c===0||d===0)return[];let w=0,p=0,m=0,C=Math.PI,y=v*C1,Z=ee(y),_=ie(y),x=.5*(-_*u-Z*h),B=.5*(-_*h+Z*u),I=c**2,W=d**2,F=B**2,X=x**2,E=I*W-I*F-W*X,S=Math.abs(c),M=Math.abs(d);if(E<0){let J=Math.sqrt(1-E/(I*W));S*=J,M*=J}else m=(b===g?-1:1)*Math.sqrt(E/(I*F+W*X));let T=m*S*B/M,z=-m*M*x/S,R=_*T-Z*z+.5*u,P=Z*T+_*z+.5*h,G=no(1,0,(x-T)/S,(B-z)/M),Q=no((x-T)/S,(B-z)/M,(-x-T)/S,(-B-z)/M);g===0&&Q>0?Q-=2*C:g===1&&Q<0&&(Q+=2*C);let Y=Math.ceil(Math.abs(Q/C*2)),K=[],O=Q/Y,H=8/3*Math.sin(O/4)*Math.sin(O/4)/Math.sin(O/2),j=G+O;for(let J=0;J<Y;J++)K[J]=EA(G,j,_,Z,S,M,R,P,H,w,p),w=K[J][5],p=K[J][6],G=j,j+=O;return K})(A-s,l-i,t,n,o,a,f);for(let u=0,h=k.length;u<h;u++)k[u][1]+=s,k[u][2]+=i,k[u][3]+=s,k[u][4]+=i,k[u][5]+=s,k[u][6]+=i;return k},la=s=>{let i=0,e=0,r=0,t=0,n=[],f,o=0,a=0;for(let A of s){let l=[...A],k;switch(l[0]){case"l":l[1]+=i,l[2]+=e;case"L":i=l[1],e=l[2],k=["L",i,e];break;case"h":l[1]+=i;case"H":i=l[1],k=["L",i,e];break;case"v":l[1]+=e;case"V":e=l[1],k=["L",i,e];break;case"m":l[1]+=i,l[2]+=e;case"M":i=l[1],e=l[2],r=l[1],t=l[2],k=["M",i,e];break;case"c":l[1]+=i,l[2]+=e,l[3]+=i,l[4]+=e,l[5]+=i,l[6]+=e;case"C":o=l[3],a=l[4],i=l[5],e=l[6],k=["C",l[1],l[2],o,a,i,e];break;case"s":l[1]+=i,l[2]+=e,l[3]+=i,l[4]+=e;case"S":f==="C"?(o=2*i-o,a=2*e-a):(o=i,a=e),i=l[3],e=l[4],k=["C",o,a,l[1],l[2],i,e],o=k[3],a=k[4];break;case"q":l[1]+=i,l[2]+=e,l[3]+=i,l[4]+=e;case"Q":o=l[1],a=l[2],i=l[3],e=l[4],k=["Q",o,a,i,e];break;case"t":l[1]+=i,l[2]+=e;case"T":f==="Q"?(o=2*i-o,a=2*e-a):(o=i,a=e),i=l[1],e=l[2],k=["Q",o,a,i,e];break;case"a":l[6]+=i,l[7]+=e;case"A":WA(i,e,l).forEach(u=>n.push(u)),i=l[6],e=l[7];break;case"z":case"Z":i=r,e=t,k=["Z"]}k?(n.push(k),f=k[0]):f=""}return n},Ft=(s,i,e,r)=>Math.sqrt((e-s)**2+(r-i)**2),ka=(s,i,e,r,t,n,f,o)=>a=>{let A=a**3,l=(h=>3*h**2*(1-h))(a),k=(h=>3*h*(1-h)**2)(a),u=(h=>(1-h)**3)(a);return new N(f*A+t*l+e*k+s*u,o*A+n*l+r*k+i*u)},ua=s=>s**2,ha=s=>2*s*(1-s),ca=s=>(1-s)**2,FA=(s,i,e,r,t,n,f,o)=>a=>{let A=ua(a),l=ha(a),k=ca(a),u=3*(k*(e-s)+l*(t-e)+A*(f-t)),h=3*(k*(r-i)+l*(n-r)+A*(o-n));return Math.atan2(h,u)},XA=(s,i,e,r,t,n)=>f=>{let o=ua(f),a=ha(f),A=ca(f);return new N(t*o+e*a+s*A,n*o+r*a+i*A)},VA=(s,i,e,r,t,n)=>f=>{let o=1-f,a=2*(o*(e-s)+f*(t-e)),A=2*(o*(r-i)+f*(n-r));return Math.atan2(A,a)},fo=(s,i,e)=>{let r=new N(i,e),t=0;for(let n=1;n<=100;n+=1){let f=s(n/100);t+=Ft(r.x,r.y,f.x,f.y),r=f}return t},GA=(s,i)=>{let e,r=0,t=0,n={x:s.x,y:s.y},f=D({},n),o=.01,a=0,A=s.iterator,l=s.angleFinder;for(;t<i&&o>1e-4;)f=A(r),a=r,e=Ft(n.x,n.y,f.x,f.y),e+t>i?(r-=o,o/=2):(n=f,r+=o,t+=e);return D(D({},f),{},{angle:l(a)})},Y1=s=>{let i,e,r=0,t=0,n=0,f=0,o=0,a=[];for(let A of s){let l={x:t,y:n,command:A[0],length:0};switch(A[0]){case"M":e=l,e.x=f=t=A[1],e.y=o=n=A[2];break;case"L":e=l,e.length=Ft(t,n,A[1],A[2]),t=A[1],n=A[2];break;case"C":i=ka(t,n,A[1],A[2],A[3],A[4],A[5],A[6]),e=l,e.iterator=i,e.angleFinder=FA(t,n,A[1],A[2],A[3],A[4],A[5],A[6]),e.length=fo(i,t,n),t=A[5],n=A[6];break;case"Q":i=XA(t,n,A[1],A[2],A[3],A[4]),e=l,e.iterator=i,e.angleFinder=VA(t,n,A[1],A[2],A[3],A[4]),e.length=fo(i,t,n),t=A[3],n=A[4];break;case"Z":e=l,e.destX=f,e.destY=o,e.length=Ft(t,n,f,o),t=f,n=o}r+=e.length,a.push(e)}return a.push({length:r,x:t,y:n}),a},da=function(s,i){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Y1(s),r=0;for(;i-e[r].length>0&&r<e.length-2;)i-=e[r].length,r++;let t=e[r],n=i/t.length,f=s[r];switch(t.command){case"M":return{x:t.x,y:t.y,angle:0};case"Z":return D(D({},new N(t.x,t.y).lerp(new N(t.destX,t.destY),n)),{},{angle:Math.atan2(t.destY-t.y,t.destX-t.x)});case"L":return D(D({},new N(t.x,t.y).lerp(new N(f[1],f[2]),n)),{},{angle:Math.atan2(f[2]-t.y,f[1]-t.x)});case"C":case"Q":return GA(t,i)}},DA=new RegExp("[mzlhvcsqta][^mzlhvcsqta]*","gi"),oo=new RegExp(ZA,"g"),SA=new RegExp($i,"gi"),MA={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},ba=s=>{var i;let e=[],r=(i=s.match(DA))!==null&&i!==void 0?i:[];for(let t of r){let n=t[0];if(n==="z"||n==="Z"){e.push([n]);continue}let f=MA[n.toLowerCase()],o=[];if(n==="a"||n==="A"){oo.lastIndex=0;for(let a=null;a=oo.exec(t);)o.push(...a.slice(1))}else o=t.match(SA)||[];for(let a=0;a<o.length;a+=f){let A=new Array(f),l=IA[n];A[0]=a>0&&l?l:n;for(let k=0;k<f;k++)A[k+1]=parseFloat(o[a+k]);e.push(A)}}return e},ga=function(s){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,e=new N(s[0]),r=new N(s[1]),t=1,n=0,f=[],o=s.length,a=o>2,A;for(a&&(t=s[2].x<r.x?-1:s[2].x===r.x?0:1,n=s[2].y<r.y?-1:s[2].y===r.y?0:1),f.push(["M",e.x-t*i,e.y-n*i]),A=1;A<o;A++){if(!e.eq(r)){let l=e.midPointFrom(r);f.push(["Q",e.x,e.y,l.x,l.y])}e=s[A],A+1<s.length&&(r=s[A+1])}return a&&(t=e.x>s[A-2].x?1:e.x===s[A-2].x?0:-1,n=e.y>s[A-2].y?1:e.y===s[A-2].y?0:-1),f.push(["L",e.x+t*i,e.y+n*i]),f},O1=(s,i)=>s.map(e=>e.map((r,t)=>t===0||i===void 0?r:P0(r,i)).join(" ")).join(" ");function Xt(s,i){let e=s.style;e&&i&&(typeof i=="string"?e.cssText+=";"+i:Object.entries(i).forEach(r=>{let[t,n]=r;return e.setProperty(t,n)}))}var TA=(s,i)=>Math.floor(Math.random()*(i-s+1))+s;function RA(s){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},e=i.onComplete||k2,r=new(Rt()).XMLHttpRequest,t=i.signal,n=function(){r.abort()},f=function(){t&&t.removeEventListener("abort",n),r.onerror=r.ontimeout=k2};if(t&&t.aborted)throw new dt("request");return t&&t.addEventListener("abort",n,{once:!0}),r.onreadystatechange=function(){r.readyState===4&&(f(),e(r),r.onreadystatechange=k2)},r.onerror=r.ontimeout=f,r.open("get",s,!0),r.send(),r}var PA=(s,i)=>{let e=s._findCenterFromElement();s.transformMatrix&&((r=>{if(r.transformMatrix){let{scaleX:t,scaleY:n,angle:f,skewX:o}=R2(r.transformMatrix);r.flipX=!1,r.flipY=!1,r.set(gi,t),r.set(Gi,n),r.angle=f,r.skewX=o,r.skewY=0}})(s),e=e.transform(s.transformMatrix)),delete s.transformMatrix,i&&(s.scaleX*=i.scaleX,s.scaleY*=i.scaleY,s.cropX=i.cropX,s.cropY=i.cropY,e.x+=i.offsetLeft,e.y+=i.offsetTop,s.width=i.width,s.height=i.height),s.setPositionByOrigin(e,d0,d0)},z1=Object.freeze({__proto__:null,addTransformToObject:Io,animate:M1,animateColor:To,applyTransformToObject:N2,calcAngleBetweenVectors:xt,calcDimensionsMatrix:Br,calcPlaneChangeMatrix:Zr,calcVectorRotation:Do,cancelAnimFrame:go,capValue:c2,composeMatrix:_o,copyCanvasElement:s=>{var i;let e=re(s);return(i=e.getContext("2d"))===null||i===void 0||i.drawImage(s,0,0),e},cos:ie,createCanvasElement:Ni,createImage:po,createRotateMatrix:j2,createScaleMatrix:Yt,createSkewXMatrix:E1,createSkewYMatrix:W1,createTranslateMatrix:U2,createVector:yt,crossProduct:M2,degreesToRadians:z0,dotProduct:So,ease:Ys,enlivenObjectEnlivables:xr,enlivenObjects:P2,findScaleToCover:Aa,findScaleToFit:sa,getBoundsOfCurve:l1,getOrthonormalVector:S1,getPathSegmentsInfo:Y1,getPointOnPath:da,getPointer:Zo,getRandomInt:TA,getRegularPolygonPath:(s,i)=>{let e=2*Math.PI/s,r=-De;s%2==0&&(r+=e/2);let t=new Array(s+1);for(let n=0;n<s;n++){let f=n*e+r,{x:o,y:a}=new N(ie(f),ee(f)).scalarMultiply(i);t[n]=[n===0?"M":"L",o,a]}return t[s]=["Z"],t},getSmoothPathFromPoints:ga,getSvgAttributes:s=>{let i=["instantiated_by_use","style","id","class"];switch(s){case"linearGradient":return i.concat(["x1","y1","x2","y2","gradientUnits","gradientTransform"]);case"radialGradient":return i.concat(["gradientUnits","gradientTransform","cx","cy","r","fx","fy","fr"]);case"stop":return i.concat(["offset","stop-color","stop-opacity"])}return i},getUnitVector:Ht,groupSVGElements:(s,i)=>s&&s.length===1?s[0]:new Ki(s,i),hasStyleChanged:Lt,invertTransform:Vi,isBetweenVectors:qn,isIdentityMatrix:mo,isTouchEvent:wt,isTransparent:ia,joinPath:O1,loadImage:br,magnitude:Bt,makeBoundingBoxFromPoints:oe,makePathSimpler:la,matrixToSVG:vr,mergeClipPaths:(s,i)=>{var e;let r=s,t=i;r.inverted&&!t.inverted&&(r=i,t=s),$n(t,(e=t.group)===null||e===void 0?void 0:e.calcTransformMatrix(),r.calcTransformMatrix());let n=r.inverted&&t.inverted;return n&&(r.inverted=t.inverted=!1),new Ki([r],{clipPath:t,inverted:n})},multiplyTransformMatrices:J0,multiplyTransformMatrixArray:Qt,parsePath:ba,parsePreserveAspectRatioAttribute:Co,parseUnit:u2,pick:g2,projectStrokeOnPoints:ea,qrDecompose:R2,radiansToDegrees:Me,removeFromArray:He,removeTransformFromObject:(s,i)=>{let e=Vi(i),r=J0(e,s.calcOwnMatrix());N2(s,r)},removeTransformMatrixForSvgParsing:PA,request:RA,requestAnimFrame:dr,resetObjectTransform:Eo,rotatePoint:(s,i,e)=>s.rotate(e,i),rotateVector:D1,saveObjectTransform:X1,sendObjectToPlane:$n,sendPointToPlane:me,sendVectorToPlane:Wo,setStyle:Xt,sin:ee,sizeAfterTransform:Ot,string:rA,stylesFromArray:na,stylesToArray:ta,toDataURL:I1,toFixed:P0,transformPath:(s,i,e)=>(e&&(i=J0(i,[1,0,0,1,-e.x,-e.y])),s.map(r=>{let t=[...r];for(let n=1;n<r.length-1;n+=2){let{x:f,y:o}=ki({x:r[n],y:r[n+1]},i);t[n]=f,t[n+1]=o}return t})),transformPoint:ki}),k1=class extends vt{constructor(i){let{allowTouchScrolling:e=!1,containerClass:r=""}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(i),V(this,"upper",void 0),V(this,"container",void 0);let{el:t}=this.lower,n=this.createUpperCanvas();this.upper={el:n,ctx:n.getContext("2d")},this.applyCanvasStyle(t,{allowTouchScrolling:e}),this.applyCanvasStyle(n,{allowTouchScrolling:e,styles:{position:"absolute",left:"0",top:"0"}});let f=this.createContainerElement();f.classList.add(r),t.parentNode&&t.parentNode.replaceChild(f,t),f.append(t,n),this.container=f}createUpperCanvas(){let{el:i}=this.lower,e=Ni();return e.className=i.className,e.classList.remove("lower-canvas"),e.classList.add("upper-canvas"),e.setAttribute("data-fabric","top"),e.style.cssText=i.style.cssText,e.setAttribute("draggable","true"),e}createContainerElement(){let i=z2().createElement("div");return i.setAttribute("data-fabric","wrapper"),Xt(i,{position:"relative"}),Qf(i),i}applyCanvasStyle(i,e){let{styles:r,allowTouchScrolling:t}=e;Xt(i,D(D({},r),{},{"touch-action":t?"manipulation":Bi})),Qf(i)}setDimensions(i,e){super.setDimensions(i,e);let{el:r,ctx:t}=this.upper;xo(r,t,i,e)}setCSSDimensions(i){super.setCSSDimensions(i),jn(this.upper.el,i),jn(this.container,i)}cleanupDOM(i){let e=this.container,{el:r}=this.lower,{el:t}=this.upper;super.cleanupDOM(i),e.removeChild(t),e.removeChild(r),e.parentNode&&e.parentNode.replaceChild(r,e)}dispose(){super.dispose(),ae().dispose(this.upper.el),delete this.upper,delete this.container}},Y2=class extends h2{constructor(){super(...arguments),V(this,"targets",[]),V(this,"_hoveredTargets",[]),V(this,"_objectsToRender",void 0),V(this,"_currentTransform",null),V(this,"_groupSelector",null),V(this,"contextTopDirty",!1)}static getDefaults(){return D(D({},super.getDefaults()),Y2.ownDefaults)}get upperCanvasEl(){var i;return(i=this.elements.upper)===null||i===void 0?void 0:i.el}get contextTop(){var i;return(i=this.elements.upper)===null||i===void 0?void 0:i.ctx}get wrapperEl(){return this.elements.container}initElements(i){this.elements=new k1(i,{allowTouchScrolling:this.allowTouchScrolling,containerClass:this.containerClass}),this._createCacheCanvas()}_onObjectAdded(i){this._objectsToRender=void 0,super._onObjectAdded(i)}_onObjectRemoved(i){this._objectsToRender=void 0,i===this._activeObject&&(this.fire("before:selection:cleared",{deselected:[i]}),this._discardActiveObject(),this.fire("selection:cleared",{deselected:[i]}),i.fire("deselected",{target:i})),i===this._hoveredTarget&&(this._hoveredTarget=void 0,this._hoveredTargets=[]),super._onObjectRemoved(i)}_onStackOrderChanged(){this._objectsToRender=void 0,super._onStackOrderChanged()}_chooseObjectsToRender(){let i=this._activeObject;return!this.preserveObjectStacking&&i?this._objects.filter(e=>!e.group&&e!==i).concat(i):this._objects}renderAll(){this.cancelRequestedRender(),this.destroyed||(!this.contextTopDirty||this._groupSelector||this.isDrawingMode||(this.clearContext(this.contextTop),this.contextTopDirty=!1),this.hasLostContext&&(this.renderTopLayer(this.contextTop),this.hasLostContext=!1),!this._objectsToRender&&(this._objectsToRender=this._chooseObjectsToRender()),this.renderCanvas(this.getContext(),this._objectsToRender))}renderTopLayer(i){i.save(),this.isDrawingMode&&this._isCurrentlyDrawing&&(this.freeDrawingBrush&&this.freeDrawingBrush._render(),this.contextTopDirty=!0),this.selection&&this._groupSelector&&(this._drawSelection(i),this.contextTopDirty=!0),i.restore()}renderTop(){let i=this.contextTop;this.clearContext(i),this.renderTopLayer(i),this.fire("after:render",{ctx:i})}setTargetFindTolerance(i){i=Math.round(i),this.targetFindTolerance=i;let e=this.getRetinaScaling(),r=Math.ceil((2*i+1)*e);this.pixelFindCanvasEl.width=this.pixelFindCanvasEl.height=r,this.pixelFindContext.scale(e,e)}isTargetTransparent(i,e,r){let t=this.targetFindTolerance,n=this.pixelFindContext;this.clearContext(n),n.save(),n.translate(-e+t,-r+t),n.transform(...this.viewportTransform);let f=i.selectionBackgroundColor;i.selectionBackgroundColor="",i.render(n),i.selectionBackgroundColor=f,n.restore();let o=Math.round(t*this.getRetinaScaling());return ia(n,o,o,o)}_isSelectionKeyPressed(i){let e=this.selectionKey;return!!e&&(Array.isArray(e)?!!e.find(r=>!!r&&i[r]===!0):i[e])}_shouldClearSelection(i,e){let r=this.getActiveObjects(),t=this._activeObject;return!!(!e||e&&t&&r.length>1&&r.indexOf(e)===-1&&t!==e&&!this._isSelectionKeyPressed(i)||e&&!e.evented||e&&!e.selectable&&t&&t!==e)}_shouldCenterTransform(i,e,r){if(!i)return;let t;return e===Nt||e===gi||e===Gi||e===mr?t=this.centeredScaling||i.centeredScaling:e===x1&&(t=this.centeredRotation||i.centeredRotation),t?!r:r}_getOriginFromCorner(i,e){let r={x:i.originX,y:i.originY};return e&&(["ml","tl","bl"].includes(e)?r.x=$0:["mr","tr","br"].includes(e)&&(r.x=E0),["tl","mt","tr"].includes(e)?r.y=Hn:["bl","mb","br"].includes(e)&&(r.y=yi)),r}_setupCurrentTransform(i,e,r){var t;let n=e.group?me(this.getScenePoint(i),void 0,e.group.calcTransformMatrix()):this.getScenePoint(i),{key:f="",control:o}=e.getActiveControl()||{},a=r&&o?(t=o.getActionHandler(i,e,o))===null||t===void 0?void 0:t.bind(o):Vo,A=((h,c,d,b)=>{if(!c||!h)return"drag";let g=b.controls[c];return g.getActionName(d,g,b)})(r,f,i,e),l=i[this.centeredKey],k=this._shouldCenterTransform(e,A,l)?{x:d0,y:d0}:this._getOriginFromCorner(e,f),u={target:e,action:A,actionHandler:a,actionPerformed:!1,corner:f,scaleX:e.scaleX,scaleY:e.scaleY,skewX:e.skewX,skewY:e.skewY,offsetX:n.x-e.left,offsetY:n.y-e.top,originX:k.x,originY:k.y,ex:n.x,ey:n.y,lastX:n.x,lastY:n.y,theta:z0(e.angle),width:e.width,height:e.height,shiftKey:i.shiftKey,altKey:l,original:D(D({},X1(e)),{},{originX:k.x,originY:k.y})};this._currentTransform=u,this.fire("before:transform",{e:i,transform:u})}setCursor(i){this.upperCanvasEl.style.cursor=i}_drawSelection(i){let{x:e,y:r,deltaX:t,deltaY:n}=this._groupSelector,f=new N(e,r).transform(this.viewportTransform),o=new N(e+t,r+n).transform(this.viewportTransform),a=this.selectionLineWidth/2,A=Math.min(f.x,o.x),l=Math.min(f.y,o.y),k=Math.max(f.x,o.x),u=Math.max(f.y,o.y);this.selectionColor&&(i.fillStyle=this.selectionColor,i.fillRect(A,l,k-A,u-l)),this.selectionLineWidth&&this.selectionBorderColor&&(i.lineWidth=this.selectionLineWidth,i.strokeStyle=this.selectionBorderColor,A+=a,l+=a,k-=a,u-=a,q0.prototype._setLineDash.call(this,i,this.selectionDashArray),i.strokeRect(A,l,k-A,u-l))}findTarget(i){if(this.skipTargetFind)return;let e=this.getViewportPoint(i),r=this._activeObject,t=this.getActiveObjects();if(this.targets=[],r&&t.length>=1){if(r.findControl(e,wt(i))||t.length>1&&this.searchPossibleTargets([r],e))return r;if(r===this.searchPossibleTargets([r],e)){if(this.preserveObjectStacking){let n=this.targets;this.targets=[];let f=this.searchPossibleTargets(this._objects,e);return i[this.altSelectionKey]&&f&&f!==r?(this.targets=n,r):f}return r}}return this.searchPossibleTargets(this._objects,e)}_pointIsInObjectSelectionArea(i,e){let r=i.getCoords(),t=this.getZoom(),n=i.padding/t;if(n){let[f,o,a,A]=r,l=Math.atan2(o.y-f.y,o.x-f.x),k=ie(l)*n,u=ee(l)*n,h=k+u,c=k-u;r=[new N(f.x-c,f.y-h),new N(o.x+h,o.y-c),new N(a.x+c,a.y+h),new N(A.x-h,A.y+c)]}return S0.isPointInPolygon(e,r)}_checkTarget(i,e){return!!(i&&i.visible&&i.evented&&this._pointIsInObjectSelectionArea(i,me(e,void 0,this.viewportTransform))&&(!this.perPixelTargetFind&&!i.perPixelTargetFind||i.isEditing||!this.isTargetTransparent(i,e.x,e.y)))}_searchPossibleTargets(i,e){let r=i.length;for(;r--;){let t=i[r];if(this._checkTarget(t,e)){if(ut(t)&&t.subTargetCheck){let n=this._searchPossibleTargets(t._objects,e);n&&this.targets.push(n)}return t}}}searchPossibleTargets(i,e){let r=this._searchPossibleTargets(i,e);if(r&&ut(r)&&r.interactive&&this.targets[0]){let t=this.targets;for(let n=t.length-1;n>0;n--){let f=t[n];if(!ut(f)||!f.interactive)return f}return t[0]}return r}getViewportPoint(i){return this._pointer?this._pointer:this.getPointer(i,!0)}getScenePoint(i){return this._absolutePointer?this._absolutePointer:this.getPointer(i)}getPointer(i){let e=arguments.length>1&&arguments[1]!==void 0&&arguments[1],r=this.upperCanvasEl,t=r.getBoundingClientRect(),n=Zo(i),f=t.width||0,o=t.height||0;f&&o||(yi in t&&Hn in t&&(o=Math.abs(t.top-t.bottom)),$0 in t&&E0 in t&&(f=Math.abs(t.right-t.left))),this.calcOffset(),n.x=n.x-this._offset.left,n.y=n.y-this._offset.top,e||(n=me(n,void 0,this.viewportTransform));let a=this.getRetinaScaling();a!==1&&(n.x/=a,n.y/=a);let A=f===0||o===0?new N(1,1):new N(r.width/f,r.height/o);return n.multiply(A)}_setDimensionsImpl(i,e){this._resetTransformEventData(),super._setDimensionsImpl(i,e),this._isCurrentlyDrawing&&this.freeDrawingBrush&&this.freeDrawingBrush._setBrushStyles(this.contextTop)}_createCacheCanvas(){this.pixelFindCanvasEl=Ni(),this.pixelFindContext=this.pixelFindCanvasEl.getContext("2d",{willReadFrequently:!0}),this.setTargetFindTolerance(this.targetFindTolerance)}getTopContext(){return this.elements.upper.ctx}getSelectionContext(){return this.elements.upper.ctx}getSelectionElement(){return this.elements.upper.el}getActiveObject(){return this._activeObject}getActiveObjects(){let i=this._activeObject;return Ue(i)?i.getObjects():i?[i]:[]}_fireSelectionEvents(i,e){let r=!1,t=!1,n=this.getActiveObjects(),f=[],o=[];i.forEach(a=>{n.includes(a)||(r=!0,a.fire("deselected",{e,target:a}),o.push(a))}),n.forEach(a=>{i.includes(a)||(r=!0,a.fire("selected",{e,target:a}),f.push(a))}),i.length>0&&n.length>0?(t=!0,r&&this.fire("selection:updated",{e,selected:f,deselected:o})):n.length>0?(t=!0,this.fire("selection:created",{e,selected:f})):i.length>0&&(t=!0,this.fire("selection:cleared",{e,deselected:o})),t&&(this._objectsToRender=void 0)}setActiveObject(i,e){let r=this.getActiveObjects(),t=this._setActiveObject(i,e);return this._fireSelectionEvents(r,e),t}_setActiveObject(i,e){let r=this._activeObject;return r!==i&&!(!this._discardActiveObject(e,i)&&this._activeObject)&&!i.onSelect({e})&&(this._activeObject=i,Ue(i)&&r!==i&&i.set("canvas",this),i.setCoords(),!0)}_discardActiveObject(i,e){let r=this._activeObject;return!!r&&!r.onDeselect({e:i,object:e})&&(this._currentTransform&&this._currentTransform.target===r&&this.endCurrentTransform(i),Ue(r)&&r===this._hoveredTarget&&(this._hoveredTarget=void 0),this._activeObject=void 0,!0)}discardActiveObject(i){let e=this.getActiveObjects(),r=this.getActiveObject();e.length&&this.fire("before:selection:cleared",{e:i,deselected:[r]});let t=this._discardActiveObject(i);return this._fireSelectionEvents(e,i),t}endCurrentTransform(i){let e=this._currentTransform;this._finalizeCurrentTransform(i),e&&e.target&&(e.target.isMoving=!1),this._currentTransform=null}_finalizeCurrentTransform(i){let e=this._currentTransform,r=e.target,t={e:i,target:r,transform:e,action:e.action};r._scaling&&(r._scaling=!1),r.setCoords(),e.actionPerformed&&(this.fire("object:modified",t),r.fire(gt,t))}setViewportTransform(i){super.setViewportTransform(i);let e=this._activeObject;e&&e.setCoords()}destroy(){let i=this._activeObject;Ue(i)&&(i.removeAll(),i.dispose()),delete this._activeObject,super.destroy(),this.pixelFindContext=null,this.pixelFindCanvasEl=void 0}clear(){this.discardActiveObject(),this._activeObject=void 0,this.clearContext(this.contextTop),super.clear()}drawControls(i){let e=this._activeObject;e&&e._renderControls(i)}_toObject(i,e,r){let t=this._realizeGroupTransformOnObject(i),n=super._toObject(i,e,r);return i.set(t),n}_realizeGroupTransformOnObject(i){let{group:e}=i;if(e&&Ue(e)&&this._activeObject===e){let r=g2(i,["angle","flipX","flipY",E0,gi,Gi,J2,H2,yi]);return Io(i,e.calcOwnMatrix()),r}return{}}_setSVGObject(i,e,r){let t=this._realizeGroupTransformOnObject(e);super._setSVGObject(i,e,r),e.set(t)}};V(Y2,"ownDefaults",{uniformScaling:!0,uniScaleKey:"shiftKey",centeredScaling:!1,centeredRotation:!1,centeredKey:"altKey",altActionKey:"shiftKey",selection:!0,selectionKey:"shiftKey",selectionColor:"rgba(100, 100, 255, 0.3)",selectionDashArray:[],selectionBorderColor:"rgba(255, 255, 255, 0.3)",selectionLineWidth:1,selectionFullyContained:!1,hoverCursor:"move",moveCursor:"move",defaultCursor:"default",freeDrawingCursor:"crosshair",notAllowedCursor:"not-allowed",perPixelTargetFind:!1,targetFindTolerance:0,skipTargetFind:!1,stopContextMenu:!1,fireRightClick:!1,fireMiddleClick:!1,enablePointerEvents:!1,containerClass:"canvas-container",preserveObjectStacking:!1});var u1=class{constructor(i){V(this,"targets",[]),V(this,"__disposer",void 0);let e=()=>{let{hiddenTextarea:t}=i.getActiveObject()||{};t&&t.focus()},r=i.upperCanvasEl;r.addEventListener("click",e),this.__disposer=()=>r.removeEventListener("click",e)}exitTextEditing(){this.target=void 0,this.targets.forEach(i=>{i.isEditing&&i.exitEditing()})}add(i){this.targets.push(i)}remove(i){this.unregister(i),He(this.targets,i)}register(i){this.target=i}unregister(i){i===this.target&&(this.target=void 0)}onMouseMove(i){var e;!((e=this.target)===null||e===void 0)&&e.isEditing&&this.target.updateSelectionOnMouseMove(i)}clear(){this.targets=[],this.target=void 0}dispose(){this.clear(),this.__disposer(),delete this.__disposer}},NA=["target","oldTarget","fireCanvas","e"],Wi={passive:!1},X2=(s,i)=>{let e=s.getViewportPoint(i),r=s.getScenePoint(i);return{viewportPoint:e,scenePoint:r,pointer:e,absolutePointer:r}},Fe=function(s){for(var i=arguments.length,e=new Array(i>1?i-1:0),r=1;r<i;r++)e[r-1]=arguments[r];return s.addEventListener(...e)},Si=function(s){for(var i=arguments.length,e=new Array(i>1?i-1:0),r=1;r<i;r++)e[r-1]=arguments[r];return s.removeEventListener(...e)},QA={mouse:{in:"over",out:"out",targetIn:"mouseover",targetOut:"mouseout",canvasIn:"mouse:over",canvasOut:"mouse:out"},drag:{in:"enter",out:"leave",targetIn:"dragenter",targetOut:"dragleave",canvasIn:"drag:enter",canvasOut:"drag:leave"}},O2=class extends Y2{constructor(i){super(i,arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}),V(this,"_isClick",void 0),V(this,"textEditingManager",new u1(this)),["_onMouseDown","_onTouchStart","_onMouseMove","_onMouseUp","_onTouchEnd","_onResize","_onMouseWheel","_onMouseOut","_onMouseEnter","_onContextMenu","_onDoubleClick","_onDragStart","_onDragEnd","_onDragProgress","_onDragOver","_onDragEnter","_onDragLeave","_onDrop"].forEach(e=>{this[e]=this[e].bind(this)}),this.addOrRemove(Fe,"add")}_getEventPrefix(){return this.enablePointerEvents?"pointer":"mouse"}addOrRemove(i,e){let r=this.upperCanvasEl,t=this._getEventPrefix();i(Bo(r),"resize",this._onResize),i(r,t+"down",this._onMouseDown),i(r,"".concat(t,"move"),this._onMouseMove,Wi),i(r,"".concat(t,"out"),this._onMouseOut),i(r,"".concat(t,"enter"),this._onMouseEnter),i(r,"wheel",this._onMouseWheel),i(r,"contextmenu",this._onContextMenu),i(r,"dblclick",this._onDoubleClick),i(r,"dragstart",this._onDragStart),i(r,"dragend",this._onDragEnd),i(r,"dragover",this._onDragOver),i(r,"dragenter",this._onDragEnter),i(r,"dragleave",this._onDragLeave),i(r,"drop",this._onDrop),this.enablePointerEvents||i(r,"touchstart",this._onTouchStart,Wi)}removeListeners(){this.addOrRemove(Si,"remove");let i=this._getEventPrefix(),e=Li(this.upperCanvasEl);Si(e,"".concat(i,"up"),this._onMouseUp),Si(e,"touchend",this._onTouchEnd,Wi),Si(e,"".concat(i,"move"),this._onMouseMove,Wi),Si(e,"touchmove",this._onMouseMove,Wi),clearTimeout(this._willAddMouseDown)}_onMouseWheel(i){this.__onMouseWheel(i)}_onMouseOut(i){let e=this._hoveredTarget,r=D({e:i},X2(this,i));this.fire("mouse:out",D(D({},r),{},{target:e})),this._hoveredTarget=void 0,e&&e.fire("mouseout",D({},r)),this._hoveredTargets.forEach(t=>{this.fire("mouse:out",D(D({},r),{},{target:t})),t&&t.fire("mouseout",D({},r))}),this._hoveredTargets=[]}_onMouseEnter(i){this._currentTransform||this.findTarget(i)||(this.fire("mouse:over",D({e:i},X2(this,i))),this._hoveredTarget=void 0,this._hoveredTargets=[])}_onDragStart(i){this._isClick=!1;let e=this.getActiveObject();if(e&&e.onDragStart(i)){this._dragSource=e;let r={e:i,target:e};return this.fire("dragstart",r),e.fire("dragstart",r),void Fe(this.upperCanvasEl,"drag",this._onDragProgress)}Ln(i)}_renderDragEffects(i,e,r){let t=!1,n=this._dropTarget;n&&n!==e&&n!==r&&(n.clearContextTop(),t=!0),e==null||e.clearContextTop(),r!==e&&(r==null||r.clearContextTop());let f=this.contextTop;f.save(),f.transform(...this.viewportTransform),e&&(f.save(),e.transform(f),e.renderDragSourceEffect(i),f.restore(),t=!0),r&&(f.save(),r.transform(f),r.renderDropTargetEffect(i),f.restore(),t=!0),f.restore(),t&&(this.contextTopDirty=!0)}_onDragEnd(i){let e=!!i.dataTransfer&&i.dataTransfer.dropEffect!==Bi,r=e?this._activeObject:void 0,t={e:i,target:this._dragSource,subTargets:this.targets,dragSource:this._dragSource,didDrop:e,dropTarget:r};Si(this.upperCanvasEl,"drag",this._onDragProgress),this.fire("dragend",t),this._dragSource&&this._dragSource.fire("dragend",t),delete this._dragSource,this._onMouseUp(i)}_onDragProgress(i){let e={e:i,target:this._dragSource,dragSource:this._dragSource,dropTarget:this._draggedoverTarget};this.fire("drag",e),this._dragSource&&this._dragSource.fire("drag",e)}findDragTargets(i){return this.targets=[],{target:this._searchPossibleTargets(this._objects,this.getViewportPoint(i)),targets:[...this.targets]}}_onDragOver(i){let e="dragover",{target:r,targets:t}=this.findDragTargets(i),n=this._dragSource,f={e:i,target:r,subTargets:t,dragSource:n,canDrop:!1,dropTarget:void 0},o;this.fire(e,f),this._fireEnterLeaveEvents(r,f),r&&(r.canDrop(i)&&(o=r),r.fire(e,f));for(let a=0;a<t.length;a++){let A=t[a];A.canDrop(i)&&(o=A),A.fire(e,f)}this._renderDragEffects(i,n,o),this._dropTarget=o}_onDragEnter(i){let{target:e,targets:r}=this.findDragTargets(i),t={e:i,target:e,subTargets:r,dragSource:this._dragSource};this.fire("dragenter",t),this._fireEnterLeaveEvents(e,t)}_onDragLeave(i){let e={e:i,target:this._draggedoverTarget,subTargets:this.targets,dragSource:this._dragSource};this.fire("dragleave",e),this._fireEnterLeaveEvents(void 0,e),this._renderDragEffects(i,this._dragSource),this._dropTarget=void 0,this.targets=[],this._hoveredTargets=[]}_onDrop(i){let{target:e,targets:r}=this.findDragTargets(i),t=this._basicEventHandler("drop:before",D({e:i,target:e,subTargets:r,dragSource:this._dragSource},X2(this,i)));t.didDrop=!1,t.dropTarget=void 0,this._basicEventHandler("drop",t),this.fire("drop:after",t)}_onContextMenu(i){let e=this.findTarget(i),r=this.targets||[],t=this._basicEventHandler("contextmenu:before",{e:i,target:e,subTargets:r});return this.stopContextMenu&&Ln(i),this._basicEventHandler("contextmenu",t),!1}_onDoubleClick(i){this._cacheTransformEventData(i),this._handleEvent(i,"dblclick"),this._resetTransformEventData()}getPointerId(i){let e=i.changedTouches;return e?e[0]&&e[0].identifier:this.enablePointerEvents?i.pointerId:-1}_isMainEvent(i){return i.isPrimary===!0||i.isPrimary!==!1&&(i.type==="touchend"&&i.touches.length===0||!i.changedTouches||i.changedTouches[0].identifier===this.mainTouchId)}_onTouchStart(i){let e=!this.allowTouchScrolling,r=this._activeObject;this.mainTouchId===void 0&&(this.mainTouchId=this.getPointerId(i)),this.__onMouseDown(i),(this.isDrawingMode||r&&this._target===r)&&(e=!0),e&&i.preventDefault(),this._resetTransformEventData();let t=this.upperCanvasEl,n=this._getEventPrefix(),f=Li(t);Fe(f,"touchend",this._onTouchEnd,Wi),e&&Fe(f,"touchmove",this._onMouseMove,Wi),Si(t,"".concat(n,"down"),this._onMouseDown)}_onMouseDown(i){this.__onMouseDown(i),this._resetTransformEventData();let e=this.upperCanvasEl,r=this._getEventPrefix();Si(e,"".concat(r,"move"),this._onMouseMove,Wi);let t=Li(e);Fe(t,"".concat(r,"up"),this._onMouseUp),Fe(t,"".concat(r,"move"),this._onMouseMove,Wi)}_onTouchEnd(i){if(i.touches.length>0)return;this.__onMouseUp(i),this._resetTransformEventData(),delete this.mainTouchId;let e=this._getEventPrefix(),r=Li(this.upperCanvasEl);Si(r,"touchend",this._onTouchEnd,Wi),Si(r,"touchmove",this._onMouseMove,Wi),this._willAddMouseDown&&clearTimeout(this._willAddMouseDown),this._willAddMouseDown=setTimeout(()=>{Fe(this.upperCanvasEl,"".concat(e,"down"),this._onMouseDown),this._willAddMouseDown=0},400)}_onMouseUp(i){this.__onMouseUp(i),this._resetTransformEventData();let e=this.upperCanvasEl,r=this._getEventPrefix();if(this._isMainEvent(i)){let t=Li(this.upperCanvasEl);Si(t,"".concat(r,"up"),this._onMouseUp),Si(t,"".concat(r,"move"),this._onMouseMove,Wi),Fe(e,"".concat(r,"move"),this._onMouseMove,Wi)}}_onMouseMove(i){let e=this.getActiveObject();!this.allowTouchScrolling&&(!e||!e.shouldStartDragging(i))&&i.preventDefault&&i.preventDefault(),this.__onMouseMove(i)}_onResize(){this.calcOffset(),this._resetTransformEventData()}_shouldRender(i){let e=this.getActiveObject();return!!e!=!!i||e&&i&&e!==i}__onMouseUp(i){var e;this._cacheTransformEventData(i),this._handleEvent(i,"up:before");let r=this._currentTransform,t=this._isClick,n=this._target,{button:f}=i;if(f)return(this.fireMiddleClick&&f===1||this.fireRightClick&&f===2)&&this._handleEvent(i,"up"),void this._resetTransformEventData();if(this.isDrawingMode&&this._isCurrentlyDrawing)return void this._onMouseUpInDrawingMode(i);if(!this._isMainEvent(i))return;let o,a,A=!1;if(r&&(this._finalizeCurrentTransform(i),A=r.actionPerformed),!t){let l=n===this._activeObject;this.handleSelection(i),A||(A=this._shouldRender(n)||!l&&n===this._activeObject)}if(n){let l=n.findControl(this.getViewportPoint(i),wt(i)),{key:k,control:u}=l||{};if(a=k,n.selectable&&n!==this._activeObject&&n.activeOn==="up")this.setActiveObject(n,i),A=!0;else if(u){let h=u.getMouseUpHandler(i,n,u);h&&(o=this.getScenePoint(i),h.call(u,i,r,o.x,o.y))}n.isMoving=!1}if(r&&(r.target!==n||r.corner!==a)){let l=r.target&&r.target.controls[r.corner],k=l&&l.getMouseUpHandler(i,r.target,l);o=o||this.getScenePoint(i),k&&k.call(l,i,r,o.x,o.y)}this._setCursorFromEvent(i,n),this._handleEvent(i,"up"),this._groupSelector=null,this._currentTransform=null,n&&(n.__corner=void 0),A?this.requestRenderAll():t||(e=this._activeObject)!==null&&e!==void 0&&e.isEditing||this.renderTop()}_basicEventHandler(i,e){let{target:r,subTargets:t=[]}=e;this.fire(i,e),r&&r.fire(i,e);for(let n=0;n<t.length;n++)t[n]!==r&&t[n].fire(i,e);return e}_handleEvent(i,e){let r=this._target,t=this.targets||[],n=D(D({e:i,target:r,subTargets:t},X2(this,i)),{},{transform:this._currentTransform},e==="up:before"||e==="up"?{isClick:this._isClick,currentTarget:this.findTarget(i),currentSubTargets:this.targets}:{});this.fire("mouse:".concat(e),n),r&&r.fire("mouse".concat(e),n);for(let f=0;f<t.length;f++)t[f]!==r&&t[f].fire("mouse".concat(e),n)}_onMouseDownInDrawingMode(i){this._isCurrentlyDrawing=!0,this.getActiveObject()&&(this.discardActiveObject(i),this.requestRenderAll());let e=this.getScenePoint(i);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseDown(e,{e:i,pointer:e}),this._handleEvent(i,"down")}_onMouseMoveInDrawingMode(i){if(this._isCurrentlyDrawing){let e=this.getScenePoint(i);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseMove(e,{e:i,pointer:e})}this.setCursor(this.freeDrawingCursor),this._handleEvent(i,"move")}_onMouseUpInDrawingMode(i){let e=this.getScenePoint(i);this.freeDrawingBrush?this._isCurrentlyDrawing=!!this.freeDrawingBrush.onMouseUp({e:i,pointer:e}):this._isCurrentlyDrawing=!1,this._handleEvent(i,"up")}__onMouseDown(i){this._isClick=!0,this._cacheTransformEventData(i),this._handleEvent(i,"down:before");let e=this._target,{button:r}=i;if(r)return(this.fireMiddleClick&&r===1||this.fireRightClick&&r===2)&&this._handleEvent(i,"down"),void this._resetTransformEventData();if(this.isDrawingMode)return void this._onMouseDownInDrawingMode(i);if(!this._isMainEvent(i)||this._currentTransform)return;let t=this._shouldRender(e),n=!1;if(this.handleMultiSelection(i,e)?(e=this._activeObject,n=!0,t=!0):this._shouldClearSelection(i,e)&&this.discardActiveObject(i),this.selection&&(!e||!e.selectable&&!e.isEditing&&e!==this._activeObject)){let f=this.getScenePoint(i);this._groupSelector={x:f.x,y:f.y,deltaY:0,deltaX:0}}if(e){let f=e===this._activeObject;e.selectable&&e.activeOn==="down"&&this.setActiveObject(e,i);let o=e.findControl(this.getViewportPoint(i),wt(i));if(e===this._activeObject&&(o||!n)){this._setupCurrentTransform(i,e,f);let a=o?o.control:void 0,A=this.getScenePoint(i),l=a&&a.getMouseDownHandler(i,e,a);l&&l.call(a,i,this._currentTransform,A.x,A.y)}}t&&(this._objectsToRender=void 0),this._handleEvent(i,"down"),t&&this.requestRenderAll()}_resetTransformEventData(){this._target=this._pointer=this._absolutePointer=void 0}_cacheTransformEventData(i){this._resetTransformEventData(),this._pointer=this.getViewportPoint(i),this._absolutePointer=me(this._pointer,void 0,this.viewportTransform),this._target=this._currentTransform?this._currentTransform.target:this.findTarget(i)}__onMouseMove(i){if(this._isClick=!1,this._cacheTransformEventData(i),this._handleEvent(i,"move:before"),this.isDrawingMode)return void this._onMouseMoveInDrawingMode(i);if(!this._isMainEvent(i))return;let e=this._groupSelector;if(e){let r=this.getScenePoint(i);e.deltaX=r.x-e.x,e.deltaY=r.y-e.y,this.renderTop()}else if(this._currentTransform)this._transformObject(i);else{let r=this.findTarget(i);this._setCursorFromEvent(i,r),this._fireOverOutEvents(i,r)}this.textEditingManager.onMouseMove(i),this._handleEvent(i,"move"),this._resetTransformEventData()}_fireOverOutEvents(i,e){let r=this._hoveredTarget,t=this._hoveredTargets,n=this.targets,f=Math.max(t.length,n.length);this.fireSyntheticInOutEvents("mouse",{e:i,target:e,oldTarget:r,fireCanvas:!0});for(let o=0;o<f;o++)this.fireSyntheticInOutEvents("mouse",{e:i,target:n[o],oldTarget:t[o]});this._hoveredTarget=e,this._hoveredTargets=this.targets.concat()}_fireEnterLeaveEvents(i,e){let r=this._draggedoverTarget,t=this._hoveredTargets,n=this.targets,f=Math.max(t.length,n.length);this.fireSyntheticInOutEvents("drag",D(D({},e),{},{target:i,oldTarget:r,fireCanvas:!0}));for(let o=0;o<f;o++)this.fireSyntheticInOutEvents("drag",D(D({},e),{},{target:n[o],oldTarget:t[o]}));this._draggedoverTarget=i}fireSyntheticInOutEvents(i,e){let{target:r,oldTarget:t,fireCanvas:n,e:f}=e,o=N0(e,NA),{targetIn:a,targetOut:A,canvasIn:l,canvasOut:k}=QA[i],u=t!==r;if(t&&u){let h=D(D({},o),{},{e:f,target:t,nextTarget:r},X2(this,f));n&&this.fire(k,h),t.fire(A,h)}if(r&&u){let h=D(D({},o),{},{e:f,target:r,previousTarget:t},X2(this,f));n&&this.fire(l,h),r.fire(a,h)}}__onMouseWheel(i){this._cacheTransformEventData(i),this._handleEvent(i,"wheel"),this._resetTransformEventData()}_transformObject(i){let e=this.getScenePoint(i),r=this._currentTransform,t=r.target,n=t.group?me(e,void 0,t.group.calcTransformMatrix()):e;r.shiftKey=i.shiftKey,r.altKey=!!this.centeredKey&&i[this.centeredKey],this._performTransformAction(i,r,n),r.actionPerformed&&this.requestRenderAll()}_performTransformAction(i,e,r){let{action:t,actionHandler:n,target:f}=e,o=!!n&&n(i,e,r.x,r.y);o&&f.setCoords(),t==="drag"&&o&&(e.target.isMoving=!0,this.setCursor(e.target.moveCursor||this.moveCursor)),e.actionPerformed=e.actionPerformed||o}_setCursorFromEvent(i,e){if(!e)return void this.setCursor(this.defaultCursor);let r=e.hoverCursor||this.hoverCursor,t=Ue(this._activeObject)?this._activeObject:null,n=(!t||e.group!==t)&&e.findControl(this.getViewportPoint(i));if(n){let f=n.control;this.setCursor(f.cursorStyleHandler(i,f,e))}else e.subTargetCheck&&this.targets.concat().reverse().map(f=>{r=f.hoverCursor||r}),this.setCursor(r)}handleMultiSelection(i,e){let r=this._activeObject,t=Ue(r);if(r&&this._isSelectionKeyPressed(i)&&this.selection&&e&&e.selectable&&(r!==e||t)&&(t||!e.isDescendantOf(r)&&!r.isDescendantOf(e))&&!e.onSelect({e:i})&&!r.getActiveControl()){if(t){let n=r.getObjects();if(e===r){let f=this.getViewportPoint(i);if(!(e=this.searchPossibleTargets(n,f)||this.searchPossibleTargets(this._objects,f))||!e.selectable)return!1}e.group===r?(r.remove(e),this._hoveredTarget=e,this._hoveredTargets=[...this.targets],r.size()===1&&this._setActiveObject(r.item(0),i)):(r.multiSelectAdd(e),this._hoveredTarget=r,this._hoveredTargets=[...this.targets]),this._fireSelectionEvents(n,i)}else{r.isEditing&&r.exitEditing();let n=new(r0.getClass("ActiveSelection"))([],{canvas:this});n.multiSelectAdd(r,e),this._hoveredTarget=n,this._setActiveObject(n,i),this._fireSelectionEvents([r],i)}return!0}return!1}handleSelection(i){if(!this.selection||!this._groupSelector)return!1;let{x:e,y:r,deltaX:t,deltaY:n}=this._groupSelector,f=new N(e,r),o=f.add(new N(t,n)),a=f.min(o),A=f.max(o).subtract(a),l=this.collectObjects({left:a.x,top:a.y,width:A.x,height:A.y},{includeIntersecting:!this.selectionFullyContained}),k=f.eq(o)?l[0]?[l[0]]:[]:l.length>1?l.filter(u=>!u.onSelect({e:i})).reverse():l;if(k.length===1)this.setActiveObject(k[0],i);else if(k.length>1){let u=r0.getClass("ActiveSelection");this.setActiveObject(new u(k,{canvas:this}),i)}return this._groupSelector=null,!0}clear(){this.textEditingManager.clear(),super.clear()}destroy(){this.removeListeners(),this.textEditingManager.dispose(),super.destroy()}},pa={x1:0,y1:0,x2:0,y2:0},YA=D(D({},pa),{},{r1:0,r2:0}),G2=(s,i)=>isNaN(s)&&typeof i=="number"?i:s,OA=/^(\d+\.\d+)%|(\d+)%$/;function ma(s){return s&&OA.test(s)}function va(s,i){let e=typeof s=="number"?s:typeof s=="string"?parseFloat(s)/(ma(s)?100:1):NaN;return c2(0,G2(e,i),1)}var zA=/\s*;\s*/,JA=/\s*:\s*/;function HA(s,i){let e,r,t=s.getAttribute("style");if(t){let f=t.split(zA);f[f.length-1]===""&&f.pop();for(let o=f.length;o--;){let[a,A]=f[o].split(JA).map(l=>l.trim());a==="stop-color"?e=A:a==="stop-opacity"&&(r=A)}}let n=new Z0(e||s.getAttribute("stop-color")||"rgb(0,0,0)");return{offset:va(s.getAttribute("offset"),0),color:n.toRgb(),opacity:G2(parseFloat(r||s.getAttribute("stop-opacity")||""),1)*n.getAlpha()*i}}function UA(s,i){let e=[],r=s.getElementsByTagName("stop"),t=va(i,1);for(let n=r.length;n--;)e.push(HA(r[n],t));return e}function wa(s){return s.nodeName==="linearGradient"||s.nodeName==="LINEARGRADIENT"?"linear":"radial"}function _a(s){return s.getAttribute("gradientUnits")==="userSpaceOnUse"?"pixels":"percentage"}function Hi(s,i){return s.getAttribute(i)}function jA(s,i){return function(e,r){let t,{width:n,height:f,gradientUnits:o}=r;return Object.keys(e).reduce((a,A)=>{let l=e[A];return l==="Infinity"?t=1:l==="-Infinity"?t=0:(t=typeof l=="string"?parseFloat(l):l,typeof l=="string"&&ma(l)&&(t*=.01,o==="pixels"&&(A!=="x1"&&A!=="x2"&&A!=="r2"||(t*=n),A!=="y1"&&A!=="y2"||(t*=f)))),a[A]=t,a},{})}(wa(s)==="linear"?function(e){return{x1:Hi(e,"x1")||0,y1:Hi(e,"y1")||0,x2:Hi(e,"x2")||"100%",y2:Hi(e,"y2")||0}}(s):function(e){return{x1:Hi(e,"fx")||Hi(e,"cx")||"50%",y1:Hi(e,"fy")||Hi(e,"cy")||"50%",r1:0,x2:Hi(e,"cx")||"50%",y2:Hi(e,"cy")||"50%",r2:Hi(e,"r")||"50%"}}(s),D(D({},i),{},{gradientUnits:_a(s)}))}var D2=class{constructor(i){let{type:e="linear",gradientUnits:r="pixels",coords:t={},colorStops:n=[],offsetX:f=0,offsetY:o=0,gradientTransform:a,id:A}=i||{};Object.assign(this,{type:e,gradientUnits:r,coords:D(D({},e==="radial"?YA:pa),t),colorStops:n,offsetX:f,offsetY:o,gradientTransform:a,id:A?"".concat(A,"_").concat(Se()):Se()})}addColorStop(i){for(let e in i){let r=new Z0(i[e]);this.colorStops.push({offset:parseFloat(e),color:r.toRgb(),opacity:r.getAlpha()})}return this}toObject(i){return D(D({},g2(this,i)),{},{type:this.type,coords:D({},this.coords),colorStops:this.colorStops.map(e=>D({},e)),offsetX:this.offsetX,offsetY:this.offsetY,gradientUnits:this.gradientUnits,gradientTransform:this.gradientTransform?[...this.gradientTransform]:void 0})}toSVG(i){let{additionalTransform:e}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=[],t=this.gradientTransform?this.gradientTransform.concat():bi.concat(),n=this.gradientUnits==="pixels"?"userSpaceOnUse":"objectBoundingBox",f=this.colorStops.map(k=>D({},k)).sort((k,u)=>k.offset-u.offset),o=-this.offsetX,a=-this.offsetY;var A;n==="objectBoundingBox"?(o/=i.width,a/=i.height):(o+=i.width/2,a+=i.height/2),(A=i)&&typeof A._renderPathCommands=="function"&&this.gradientUnits!=="percentage"&&(o-=i.pathOffset.x,a-=i.pathOffset.y),t[4]-=o,t[5]-=a;let l=['id="SVGID_'.concat(this.id,'"'),'gradientUnits="'.concat(n,'"'),'gradientTransform="'.concat(e?e+" ":"").concat(vr(t),'"'),""].join(" ");if(this.type==="linear"){let{x1:k,y1:u,x2:h,y2:c}=this.coords;r.push("<linearGradient ",l,' x1="',k,'" y1="',u,'" x2="',h,'" y2="',c,`">
|
|
`)}else if(this.type==="radial"){let{x1:k,y1:u,x2:h,y2:c,r1:d,r2:b}=this.coords,g=d>b;r.push("<radialGradient ",l,' cx="',g?k:h,'" cy="',g?u:c,'" r="',g?d:b,'" fx="',g?h:k,'" fy="',g?c:u,`">
|
|
`),g&&(f.reverse(),f.forEach(w=>{w.offset=1-w.offset}));let v=Math.min(d,b);if(v>0){let w=v/Math.max(d,b);f.forEach(p=>{p.offset+=w*(1-p.offset)})}}return f.forEach(k=>{let{color:u,offset:h,opacity:c}=k;r.push("<stop ",'offset="',100*h+"%",'" style="stop-color:',u,c!==void 0?";stop-opacity: "+c:";",`"/>
|
|
`)}),r.push(this.type==="linear"?"</linearGradient>":"</radialGradient>",`
|
|
`),r.join("")}toLive(i){let{x1:e,y1:r,x2:t,y2:n,r1:f,r2:o}=this.coords,a=this.type==="linear"?i.createLinearGradient(e,r,t,n):i.createRadialGradient(e,r,f,t,n,o);return this.colorStops.forEach(A=>{let{color:l,opacity:k,offset:u}=A;a.addColorStop(u,k!==void 0?new Z0(l).setAlpha(k).toRgba():l)}),a}static async fromObject(i){let{colorStops:e,gradientTransform:r}=i;return new this(D(D({},i),{},{colorStops:e?e.map(t=>D({},t)):void 0,gradientTransform:r?[...r]:void 0}))}static fromElement(i,e,r){let t=_a(i),n=e._findCenterFromElement();return new this(D({id:i.getAttribute("id")||void 0,type:wa(i),coords:jA(i,{width:r.viewBoxWidth||r.width,height:r.viewBoxHeight||r.height}),colorStops:UA(i,r.opacity),gradientUnits:t,gradientTransform:a1(i.getAttribute("gradientTransform")||"")},t==="pixels"?{offsetX:e.width/2-n.x,offsetY:e.height/2-n.y}:{offsetX:0,offsetY:0}))}};V(D2,"type","Gradient"),r0.setClass(D2,"gradient"),r0.setClass(D2,"linear"),r0.setClass(D2,"radial");var LA=["type","source","patternTransform"],Ve=class{get type(){return"pattern"}set type(i){Ge("warn","Setting type has no effect",i)}constructor(i){V(this,"repeat","repeat"),V(this,"offsetX",0),V(this,"offsetY",0),V(this,"crossOrigin",""),this.id=Se(),Object.assign(this,i)}isImageSource(){return!!this.source&&typeof this.source.src=="string"}isCanvasSource(){return!!this.source&&!!this.source.toDataURL}sourceToString(){return this.isImageSource()?this.source.src:this.isCanvasSource()?this.source.toDataURL():""}toLive(i){return this.source&&(!this.isImageSource()||this.source.complete&&this.source.naturalWidth!==0&&this.source.naturalHeight!==0)?i.createPattern(this.source,this.repeat):null}toObject(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],{repeat:e,crossOrigin:r}=this;return D(D({},g2(this,i)),{},{type:"pattern",source:this.sourceToString(),repeat:e,crossOrigin:r,offsetX:P0(this.offsetX,x0.NUM_FRACTION_DIGITS),offsetY:P0(this.offsetY,x0.NUM_FRACTION_DIGITS),patternTransform:this.patternTransform?[...this.patternTransform]:null})}toSVG(i){let{width:e,height:r}=i,{source:t,repeat:n,id:f}=this,o=G2(this.offsetX/e,0),a=G2(this.offsetY/r,0),A=n==="repeat-y"||n==="no-repeat"?1+Math.abs(o||0):G2(t.width/e,0),l=n==="repeat-x"||n==="no-repeat"?1+Math.abs(a||0):G2(t.height/r,0);return['<pattern id="SVGID_'.concat(f,'" x="').concat(o,'" y="').concat(a,'" width="').concat(A,'" height="').concat(l,'">'),'<image x="0" y="0" width="'.concat(t.width,'" height="').concat(t.height,'" xlink:href="').concat(this.sourceToString(),'"></image>'),"</pattern>",""].join(`
|
|
`)}static async fromObject(i,e){let{type:r,source:t,patternTransform:n}=i,f=N0(i,LA),o=await br(t,D(D({},e),{},{crossOrigin:f.crossOrigin}));return new this(D(D({},f),{},{patternTransform:n&&n.slice(0),source:o}))}};V(Ve,"type","Pattern"),r0.setClass(Ve),r0.setClass(Ve,"pattern");var h1=class{constructor(i){V(this,"color","rgb(0, 0, 0)"),V(this,"width",1),V(this,"shadow",null),V(this,"strokeLineCap","round"),V(this,"strokeLineJoin","round"),V(this,"strokeMiterLimit",10),V(this,"strokeDashArray",null),V(this,"limitedToCanvasSize",!1),this.canvas=i}_setBrushStyles(i){i.strokeStyle=this.color,i.lineWidth=this.width,i.lineCap=this.strokeLineCap,i.miterLimit=this.strokeMiterLimit,i.lineJoin=this.strokeLineJoin,i.setLineDash(this.strokeDashArray||[])}_saveAndTransform(i){let e=this.canvas.viewportTransform;i.save(),i.transform(e[0],e[1],e[2],e[3],e[4],e[5])}needsFullRender(){return new Z0(this.color).getAlpha()<1||!!this.shadow}_setShadow(){if(!this.shadow||!this.canvas)return;let i=this.canvas,e=this.shadow,r=i.contextTop,t=i.getZoom()*i.getRetinaScaling();r.shadowColor=e.color,r.shadowBlur=e.blur*t,r.shadowOffsetX=e.offsetX*t,r.shadowOffsetY=e.offsetY*t}_resetShadow(){let i=this.canvas.contextTop;i.shadowColor="",i.shadowBlur=i.shadowOffsetX=i.shadowOffsetY=0}_isOutSideCanvas(i){return i.x<0||i.x>this.canvas.getWidth()||i.y<0||i.y>this.canvas.getHeight()}},$A=["path","left","top"],qA=["d"],Xi=class extends q0{constructor(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{path:r,left:t,top:n}=e,f=N0(e,$A);super(),Object.assign(this,Xi.ownDefaults),this.setOptions(f),this._setPath(i||[],!0),typeof t=="number"&&this.set(E0,t),typeof n=="number"&&this.set(yi,n)}_setPath(i,e){this.path=la(Array.isArray(i)?i:ba(i)),this.setBoundingBox(e)}_findCenterFromElement(){let i=this._calcBoundsFromPath();return new N(i.left+i.width/2,i.top+i.height/2)}_renderPathCommands(i){let e=-this.pathOffset.x,r=-this.pathOffset.y;i.beginPath();for(let t of this.path)switch(t[0]){case"L":i.lineTo(t[1]+e,t[2]+r);break;case"M":i.moveTo(t[1]+e,t[2]+r);break;case"C":i.bezierCurveTo(t[1]+e,t[2]+r,t[3]+e,t[4]+r,t[5]+e,t[6]+r);break;case"Q":i.quadraticCurveTo(t[1]+e,t[2]+r,t[3]+e,t[4]+r);break;case"Z":i.closePath()}}_render(i){this._renderPathCommands(i),this._renderPaintInOrder(i)}toString(){return"#<Path (".concat(this.complexity(),'): { "top": ').concat(this.top,', "left": ').concat(this.left," }>")}toObject(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return D(D({},super.toObject(i)),{},{path:this.path.map(e=>e.slice())})}toDatalessObject(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=this.toObject(i);return this.sourcePath&&(delete e.path,e.sourcePath=this.sourcePath),e}_toSVG(){let i=O1(this.path,x0.NUM_FRACTION_DIGITS);return["<path ","COMMON_PARTS",'d="'.concat(i,`" stroke-linecap="round" />
|
|
`)]}_getOffsetTransform(){let i=x0.NUM_FRACTION_DIGITS;return" translate(".concat(P0(-this.pathOffset.x,i),", ").concat(P0(-this.pathOffset.y,i),")")}toClipPathSVG(i){let e=this._getOffsetTransform();return" "+this._createBaseClipPathSVGMarkup(this._toSVG(),{reviver:i,additionalTransform:e})}toSVG(i){let e=this._getOffsetTransform();return this._createBaseSVGMarkup(this._toSVG(),{reviver:i,additionalTransform:e})}complexity(){return this.path.length}setDimensions(){this.setBoundingBox()}setBoundingBox(i){let{width:e,height:r,pathOffset:t}=this._calcDimensions();this.set({width:e,height:r,pathOffset:t}),i&&this.setPositionByOrigin(t,d0,d0)}_calcBoundsFromPath(){let i=[],e=0,r=0,t=0,n=0;for(let f of this.path)switch(f[0]){case"L":t=f[1],n=f[2],i.push({x:e,y:r},{x:t,y:n});break;case"M":t=f[1],n=f[2],e=t,r=n;break;case"C":i.push(...l1(t,n,f[1],f[2],f[3],f[4],f[5],f[6])),t=f[5],n=f[6];break;case"Q":i.push(...l1(t,n,f[1],f[2],f[1],f[2],f[3],f[4])),t=f[3],n=f[4];break;case"Z":t=e,n=r}return oe(i)}_calcDimensions(){let i=this._calcBoundsFromPath();return D(D({},i),{},{pathOffset:new N(i.left+i.width/2,i.top+i.height/2)})}static fromObject(i){return this._fromObject(i,{extraParam:"path"})}static async fromElement(i,e,r){let t=Ce(i,this.ATTRIBUTE_NAMES,r),{d:n}=t;return new this(n,D(D(D({},N0(t,qA)),e),{},{left:void 0,top:void 0}))}};V(Xi,"type","Path"),V(Xi,"cacheProperties",[..._e,"path","fillRule"]),V(Xi,"ATTRIBUTE_NAMES",[...Pe,"d"]),r0.setClass(Xi),r0.setSVGClass(Xi);var we=class extends h1{constructor(i){super(i),V(this,"decimate",.4),V(this,"drawStraightLine",!1),V(this,"straightLineKey","shiftKey"),this._points=[],this._hasStraightLine=!1}needsFullRender(){return super.needsFullRender()||this._hasStraightLine}static drawSegment(i,e,r){let t=e.midPointFrom(r);return i.quadraticCurveTo(e.x,e.y,t.x,t.y),t}onMouseDown(i,e){let{e:r}=e;this.canvas._isMainEvent(r)&&(this.drawStraightLine=!!this.straightLineKey&&r[this.straightLineKey],this._prepareForDrawing(i),this._addPoint(i),this._render())}onMouseMove(i,e){let{e:r}=e;if(this.canvas._isMainEvent(r)&&(this.drawStraightLine=!!this.straightLineKey&&r[this.straightLineKey],(this.limitedToCanvasSize!==!0||!this._isOutSideCanvas(i))&&this._addPoint(i)&&this._points.length>1))if(this.needsFullRender())this.canvas.clearContext(this.canvas.contextTop),this._render();else{let t=this._points,n=t.length,f=this.canvas.contextTop;this._saveAndTransform(f),this.oldEnd&&(f.beginPath(),f.moveTo(this.oldEnd.x,this.oldEnd.y)),this.oldEnd=we.drawSegment(f,t[n-2],t[n-1]),f.stroke(),f.restore()}}onMouseUp(i){let{e}=i;return!this.canvas._isMainEvent(e)||(this.drawStraightLine=!1,this.oldEnd=void 0,this._finalizeAndAddPath(),!1)}_prepareForDrawing(i){this._reset(),this._addPoint(i),this.canvas.contextTop.moveTo(i.x,i.y)}_addPoint(i){return!(this._points.length>1&&i.eq(this._points[this._points.length-1]))&&(this.drawStraightLine&&this._points.length>1&&(this._hasStraightLine=!0,this._points.pop()),this._points.push(i),!0)}_reset(){this._points=[],this._setBrushStyles(this.canvas.contextTop),this._setShadow(),this._hasStraightLine=!1}_render(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.canvas.contextTop,e=this._points[0],r=this._points[1];if(this._saveAndTransform(i),i.beginPath(),this._points.length===2&&e.x===r.x&&e.y===r.y){let t=this.width/1e3;e.x-=t,r.x+=t}i.moveTo(e.x,e.y);for(let t=1;t<this._points.length;t++)we.drawSegment(i,e,r),e=this._points[t],r=this._points[t+1];i.lineTo(e.x,e.y),i.stroke(),i.restore()}convertPointsToSVGPath(i){let e=this.width/1e3;return ga(i,e)}createPath(i){let e=new Xi(i,{fill:null,stroke:this.color,strokeWidth:this.width,strokeLineCap:this.strokeLineCap,strokeMiterLimit:this.strokeMiterLimit,strokeLineJoin:this.strokeLineJoin,strokeDashArray:this.strokeDashArray});return this.shadow&&(this.shadow.affectStroke=!0,e.shadow=new Pi(this.shadow)),e}decimatePoints(i,e){if(i.length<=2)return i;let r,t=i[0],n=this.canvas.getZoom(),f=Math.pow(e/n,2),o=i.length-1,a=[t];for(let A=1;A<o-1;A++)r=Math.pow(t.x-i[A].x,2)+Math.pow(t.y-i[A].y,2),r>=f&&(t=i[A],a.push(t));return a.push(i[o]),a}_finalizeAndAddPath(){this.canvas.contextTop.closePath(),this.decimate&&(this._points=this.decimatePoints(this._points,this.decimate));let i=this.convertPointsToSVGPath(this._points);if(function(r){return O1(r)==="M 0 0 Q 0 0 0 0 L 0 0"}(i))return void this.canvas.requestRenderAll();let e=this.createPath(i);this.canvas.clearContext(this.canvas.contextTop),this.canvas.fire("before:path:created",{path:e}),this.canvas.add(e),this.canvas.requestRenderAll(),e.setCoords(),this._resetShadow(),this.canvas.fire("path:created",{path:e})}},KA=["left","top","radius"],Ca=["radius","startAngle","endAngle","counterClockwise"],Ui=class extends q0{static getDefaults(){return D(D({},super.getDefaults()),Ui.ownDefaults)}constructor(i){super(),Object.assign(this,Ui.ownDefaults),this.setOptions(i)}_set(i,e){return super._set(i,e),i==="radius"&&this.setRadius(e),this}_render(i){i.beginPath(),i.arc(0,0,this.radius,z0(this.startAngle),z0(this.endAngle),this.counterClockwise),this._renderPaintInOrder(i)}getRadiusX(){return this.get("radius")*this.get(gi)}getRadiusY(){return this.get("radius")*this.get(Gi)}setRadius(i){this.radius=i,this.set({width:2*i,height:2*i})}toObject(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return super.toObject([...Ca,...i])}_toSVG(){let i=(this.endAngle-this.startAngle)%360;if(i===0)return["<circle ","COMMON_PARTS",'cx="0" cy="0" ','r="',"".concat(this.radius),`" />
|
|
`];{let{radius:e}=this,r=z0(this.startAngle),t=z0(this.endAngle),n=ie(r)*e,f=ee(r)*e,o=ie(t)*e,a=ee(t)*e,A=i>180?1:0,l=this.counterClockwise?0:1;return['<path d="M '.concat(n," ").concat(f," A ").concat(e," ").concat(e," 0 ").concat(A," ").concat(l," ").concat(o," ").concat(a,'" '),"COMMON_PARTS",` />
|
|
`]}}static async fromElement(i,e,r){let t=Ce(i,this.ATTRIBUTE_NAMES,r),{left:n=0,top:f=0,radius:o=0}=t;return new this(D(D({},N0(t,KA)),{},{radius:o,left:n-o,top:f-o}))}static fromObject(i){return super._fromObject(i)}};V(Ui,"type","Circle"),V(Ui,"cacheProperties",[..._e,...Ca]),V(Ui,"ownDefaults",{radius:0,startAngle:0,endAngle:360,counterClockwise:!1}),V(Ui,"ATTRIBUTE_NAMES",["cx","cy","r",...Pe]),r0.setClass(Ui),r0.setSVGClass(Ui);var il=["x1","y1","x2","y2"],el=["x1","y1","x2","y2"],c1=["x1","x2","y1","y2"],ce=class extends q0{constructor(){let[i,e,r,t]=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[0,0,0,0],n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Object.assign(this,ce.ownDefaults),this.setOptions(n),this.x1=i,this.x2=r,this.y1=e,this.y2=t,this._setWidthHeight();let{left:f,top:o}=n;typeof f=="number"&&this.set(E0,f),typeof o=="number"&&this.set(yi,o)}_setWidthHeight(){let{x1:i,y1:e,x2:r,y2:t}=this;this.width=Math.abs(r-i),this.height=Math.abs(t-e);let{left:n,top:f,width:o,height:a}=oe([{x:i,y:e},{x:r,y:t}]),A=new N(n+o/2,f+a/2);this.setPositionByOrigin(A,d0,d0)}_set(i,e){return super._set(i,e),c1.includes(i)&&this._setWidthHeight(),this}_render(i){i.beginPath();let e=this.calcLinePoints();i.moveTo(e.x1,e.y1),i.lineTo(e.x2,e.y2),i.lineWidth=this.strokeWidth;let r=i.strokeStyle;var t;Ti(this.stroke)?i.strokeStyle=this.stroke.toLive(i):i.strokeStyle=(t=this.stroke)!==null&&t!==void 0?t:i.fillStyle,this.stroke&&this._renderStroke(i),i.strokeStyle=r}_findCenterFromElement(){return new N((this.x1+this.x2)/2,(this.y1+this.y2)/2)}toObject(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return D(D({},super.toObject(i)),this.calcLinePoints())}_getNonTransformedDimensions(){let i=super._getNonTransformedDimensions();return this.strokeLineCap==="butt"&&(this.width===0&&(i.y-=this.strokeWidth),this.height===0&&(i.x-=this.strokeWidth)),i}calcLinePoints(){let{x1:i,x2:e,y1:r,y2:t,width:n,height:f}=this,o=i<=e?-1:1,a=r<=t?-1:1;return{x1:o*n/2,x2:o*-n/2,y1:a*f/2,y2:a*-f/2}}_toSVG(){let{x1:i,x2:e,y1:r,y2:t}=this.calcLinePoints();return["<line ","COMMON_PARTS",'x1="'.concat(i,'" y1="').concat(r,'" x2="').concat(e,'" y2="').concat(t,`" />
|
|
`)]}static async fromElement(i,e,r){let t=Ce(i,this.ATTRIBUTE_NAMES,r),{x1:n=0,y1:f=0,x2:o=0,y2:a=0}=t;return new this([n,f,o,a],N0(t,il))}static fromObject(i){let{x1:e,y1:r,x2:t,y2:n}=i,f=N0(i,el);return this._fromObject(D(D({},f),{},{points:[e,r,t,n]}),{extraParam:"points"})}};V(ce,"type","Line"),V(ce,"cacheProperties",[..._e,...c1]),V(ce,"ATTRIBUTE_NAMES",Pe.concat(c1)),r0.setClass(ce),r0.setSVGClass(ce);var be=class extends q0{static getDefaults(){return D(D({},super.getDefaults()),be.ownDefaults)}constructor(i){super(),Object.assign(this,be.ownDefaults),this.setOptions(i)}_render(i){let e=this.width/2,r=this.height/2;i.beginPath(),i.moveTo(-e,r),i.lineTo(0,-r),i.lineTo(e,r),i.closePath(),this._renderPaintInOrder(i)}_toSVG(){let i=this.width/2,e=this.height/2;return["<polygon ","COMMON_PARTS",'points="',"".concat(-i," ").concat(e,",0 ").concat(-e,",").concat(i," ").concat(e),'" />']}};V(be,"type","Triangle"),V(be,"ownDefaults",{width:100,height:100}),r0.setClass(be),r0.setSVGClass(be);var ya=["rx","ry"],ji=class extends q0{static getDefaults(){return D(D({},super.getDefaults()),ji.ownDefaults)}constructor(i){super(),Object.assign(this,ji.ownDefaults),this.setOptions(i)}_set(i,e){switch(super._set(i,e),i){case"rx":this.rx=e,this.set("width",2*e);break;case"ry":this.ry=e,this.set("height",2*e)}return this}getRx(){return this.get("rx")*this.get(gi)}getRy(){return this.get("ry")*this.get(Gi)}toObject(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return super.toObject([...ya,...i])}_toSVG(){return["<ellipse ","COMMON_PARTS",'cx="0" cy="0" rx="'.concat(this.rx,'" ry="').concat(this.ry,`" />
|
|
`)]}_render(i){i.beginPath(),i.save(),i.transform(1,0,0,this.ry/this.rx,0,0),i.arc(0,0,this.rx,0,ve,!1),i.restore(),this._renderPaintInOrder(i)}static async fromElement(i,e,r){let t=Ce(i,this.ATTRIBUTE_NAMES,r);return t.left=(t.left||0)-t.rx,t.top=(t.top||0)-t.ry,new this(t)}};function rl(s){if(!s)return[];let i=s.replace(/,/g," ").trim().split(/\s+/),e=[];for(let r=0;r<i.length;r+=2)e.push({x:parseFloat(i[r]),y:parseFloat(i[r+1])});return e}V(ji,"type","Ellipse"),V(ji,"cacheProperties",[..._e,...ya]),V(ji,"ownDefaults",{rx:0,ry:0}),V(ji,"ATTRIBUTE_NAMES",[...Pe,"cx","cy","rx","ry"]),r0.setClass(ji),r0.setSVGClass(ji);var tl=["left","top"],Ba={exactBoundingBox:!1},Fi=class extends q0{static getDefaults(){return D(D({},super.getDefaults()),Fi.ownDefaults)}constructor(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),V(this,"strokeDiff",void 0),Object.assign(this,Fi.ownDefaults),this.setOptions(e),this.points=i;let{left:r,top:t}=e;this.initialized=!0,this.setBoundingBox(!0),typeof r=="number"&&this.set(E0,r),typeof t=="number"&&this.set(yi,t)}isOpen(){return!0}_projectStrokeOnPoints(i){return ea(this.points,i,this.isOpen())}_calcDimensions(i){i=D({scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,strokeLineCap:this.strokeLineCap,strokeLineJoin:this.strokeLineJoin,strokeMiterLimit:this.strokeMiterLimit,strokeUniform:this.strokeUniform,strokeWidth:this.strokeWidth},i||{});let e=this.exactBoundingBox?this._projectStrokeOnPoints(i).map(A=>A.projectedPoint):this.points;if(e.length===0)return{left:0,top:0,width:0,height:0,pathOffset:new N,strokeOffset:new N,strokeDiff:new N};let r=oe(e),t=Br(D(D({},i),{},{scaleX:1,scaleY:1})),n=oe(this.points.map(A=>ki(A,t,!0))),f=new N(this.scaleX,this.scaleY),o=r.left+r.width/2,a=r.top+r.height/2;return this.exactBoundingBox&&(o-=a*Math.tan(z0(this.skewX)),a-=o*Math.tan(z0(this.skewY))),D(D({},r),{},{pathOffset:new N(o,a),strokeOffset:new N(n.left,n.top).subtract(new N(r.left,r.top)).multiply(f),strokeDiff:new N(r.width,r.height).subtract(new N(n.width,n.height)).multiply(f)})}_findCenterFromElement(){let i=oe(this.points);return new N(i.left+i.width/2,i.top+i.height/2)}setDimensions(){this.setBoundingBox()}setBoundingBox(i){let{left:e,top:r,width:t,height:n,pathOffset:f,strokeOffset:o,strokeDiff:a}=this._calcDimensions();this.set({width:t,height:n,pathOffset:f,strokeOffset:o,strokeDiff:a}),i&&this.setPositionByOrigin(new N(e+t/2,r+n/2),d0,d0)}isStrokeAccountedForInDimensions(){return this.exactBoundingBox}_getNonTransformedDimensions(){return this.exactBoundingBox?new N(this.width,this.height):super._getNonTransformedDimensions()}_getTransformedDimensions(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this.exactBoundingBox){let f;if(Object.keys(i).some(o=>this.strokeUniform||this.constructor.layoutProperties.includes(o))){var e,r;let{width:o,height:a}=this._calcDimensions(i);f=new N((e=i.width)!==null&&e!==void 0?e:o,(r=i.height)!==null&&r!==void 0?r:a)}else{var t,n;f=new N((t=i.width)!==null&&t!==void 0?t:this.width,(n=i.height)!==null&&n!==void 0?n:this.height)}return f.multiply(new N(i.scaleX||this.scaleX,i.scaleY||this.scaleY))}return super._getTransformedDimensions(i)}_set(i,e){let r=this.initialized&&this[i]!==e,t=super._set(i,e);return this.exactBoundingBox&&r&&((i===gi||i===Gi)&&this.strokeUniform&&this.constructor.layoutProperties.includes("strokeUniform")||this.constructor.layoutProperties.includes(i))&&this.setDimensions(),t}toObject(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return D(D({},super.toObject(i)),{},{points:this.points.map(e=>{let{x:r,y:t}=e;return{x:r,y:t}})})}_toSVG(){let i=[],e=this.pathOffset.x,r=this.pathOffset.y,t=x0.NUM_FRACTION_DIGITS;for(let n=0,f=this.points.length;n<f;n++)i.push(P0(this.points[n].x-e,t),",",P0(this.points[n].y-r,t)," ");return["<".concat(this.constructor.type.toLowerCase()," "),"COMMON_PARTS",'points="'.concat(i.join(""),`" />
|
|
`)]}_render(i){let e=this.points.length,r=this.pathOffset.x,t=this.pathOffset.y;if(e&&!isNaN(this.points[e-1].y)){i.beginPath(),i.moveTo(this.points[0].x-r,this.points[0].y-t);for(let n=0;n<e;n++){let f=this.points[n];i.lineTo(f.x-r,f.y-t)}!this.isOpen()&&i.closePath(),this._renderPaintInOrder(i)}}complexity(){return this.points.length}static async fromElement(i,e,r){return new this(rl(i.getAttribute("points")),D(D({},N0(Ce(i,this.ATTRIBUTE_NAMES,r),tl)),e))}static fromObject(i){return this._fromObject(i,{extraParam:"points"})}};V(Fi,"ownDefaults",Ba),V(Fi,"type","Polyline"),V(Fi,"layoutProperties",[J2,H2,"strokeLineCap","strokeLineJoin","strokeMiterLimit","strokeWidth","strokeUniform","points"]),V(Fi,"cacheProperties",[..._e,"points"]),V(Fi,"ATTRIBUTE_NAMES",[...Pe]),r0.setClass(Fi),r0.setSVGClass(Fi);var S2=class extends Fi{isOpen(){return!1}};V(S2,"ownDefaults",Ba),V(S2,"type","Polygon"),r0.setClass(S2),r0.setSVGClass(S2);var xa=["fontSize","fontWeight","fontFamily","fontStyle"],Za=["underline","overline","linethrough"],Ia=[...xa,"lineHeight","text","charSpacing","textAlign","styles","path","pathStartOffset","pathSide","pathAlign"],Ea=[...Ia,...Za,"textBackgroundColor","direction"],nl=[...xa,...Za,xi,"strokeWidth",ri,"deltaY","textBackgroundColor"],fl={_reNewline:B1,_reSpacesAndTabs:/[ \t\r]/g,_reSpaceAndTab:/[ \t\r]/,_reWords:/\S+/g,fontSize:40,fontWeight:"normal",fontFamily:"Times New Roman",underline:!1,overline:!1,linethrough:!1,textAlign:E0,fontStyle:"normal",lineHeight:1.16,superscript:{size:.6,baseline:-.35},subscript:{size:.6,baseline:.11},textBackgroundColor:"",stroke:null,shadow:null,path:void 0,pathStartOffset:0,pathSide:E0,pathAlign:"baseline",_fontSizeFraction:.222,offsets:{underline:.1,linethrough:-.315,overline:-.88},_fontSizeMult:1.13,charSpacing:0,deltaY:0,direction:"ltr",CACHE_FONT_SIZE:400,MIN_TEXT_WIDTH:2},fe="justify",Vt="justify-left",gr="justify-right",pr="justify-center",Gt=class extends q0{isEmptyStyles(i){if(!this.styles||i!==void 0&&!this.styles[i])return!0;let e=i===void 0?this.styles:{line:this.styles[i]};for(let r in e)for(let t in e[r])for(let n in e[r][t])return!1;return!0}styleHas(i,e){if(!this.styles||e!==void 0&&!this.styles[e])return!1;let r=e===void 0?this.styles:{0:this.styles[e]};for(let t in r)for(let n in r[t])if(r[t][n][i]!==void 0)return!0;return!1}cleanStyle(i){if(!this.styles)return!1;let e=this.styles,r,t,n=0,f=!0,o=0;for(let a in e){r=0;for(let A in e[a]){let l=e[a][A]||{};n++,l[i]!==void 0?(t?l[i]!==t&&(f=!1):t=l[i],l[i]===this[i]&&delete l[i]):f=!1,Object.keys(l).length!==0?r++:delete e[a][A]}r===0&&delete e[a]}for(let a=0;a<this._textLines.length;a++)o+=this._textLines[a].length;f&&n===o&&(this[i]=t,this.removeStyle(i))}removeStyle(i){if(!this.styles)return;let e=this.styles,r,t,n;for(t in e){for(n in r=e[t],r)delete r[n][i],Object.keys(r[n]).length===0&&delete r[n];Object.keys(r).length===0&&delete e[t]}}_extendStyles(i,e){let{lineIndex:r,charIndex:t}=this.get2DCursorLocation(i);this._getLineStyle(r)||this._setLineStyle(r);let n=F1(D(D({},this._getStyleDeclaration(r,t)),e),f=>f!==void 0);this._setStyleDeclaration(r,t,n)}getSelectionStyles(i,e,r){let t=[];for(let n=i;n<(e||i);n++)t.push(this.getStyleAtPosition(n,r));return t}getStyleAtPosition(i,e){let{lineIndex:r,charIndex:t}=this.get2DCursorLocation(i);return e?this.getCompleteStyleDeclaration(r,t):this._getStyleDeclaration(r,t)}setSelectionStyles(i,e,r){for(let t=e;t<(r||e);t++)this._extendStyles(t,i);this._forceClearCache=!0}_getStyleDeclaration(i,e){var r;let t=this.styles&&this.styles[i];return t&&(r=t[e])!==null&&r!==void 0?r:{}}getCompleteStyleDeclaration(i,e){return D(D({},g2(this,this.constructor._styleProperties)),this._getStyleDeclaration(i,e))}_setStyleDeclaration(i,e,r){this.styles[i][e]=r}_deleteStyleDeclaration(i,e){delete this.styles[i][e]}_getLineStyle(i){return!!this.styles[i]}_setLineStyle(i){this.styles[i]={}}_deleteLineStyle(i){delete this.styles[i]}};V(Gt,"_styleProperties",nl);var ol=/ +/g,al=/"/g;function Rn(s,i,e,r,t){return" ".concat(function(n,f){let{left:o,top:a,width:A,height:l}=f,k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:x0.NUM_FRACTION_DIGITS,u=wr(ri,n,!1),[h,c,d,b]=[o,a,A,l].map(g=>P0(g,k));return"<rect ".concat(u,' x="').concat(h,'" y="').concat(c,'" width="').concat(d,'" height="').concat(b,'"></rect>')}(s,{left:i,top:e,width:r,height:t}),`
|
|
`)}var sl=["textAnchor","textDecoration","dx","dy","top","left","fontSize","strokeWidth"],Pn,ai=class extends Gt{static getDefaults(){return D(D({},super.getDefaults()),ai.ownDefaults)}constructor(i,e){super(),V(this,"__charBounds",[]),Object.assign(this,ai.ownDefaults),this.setOptions(e),this.styles||(this.styles={}),this.text=i,this.initialized=!0,this.path&&this.setPathInfo(),this.initDimensions(),this.setCoords()}setPathInfo(){let i=this.path;i&&(i.segmentsInfo=Y1(i.path))}_splitText(){let i=this._splitTextIntoLines(this.text);return this.textLines=i.lines,this._textLines=i.graphemeLines,this._unwrappedTextLines=i._unwrappedLines,this._text=i.graphemeText,i}initDimensions(){this._splitText(),this._clearCache(),this.dirty=!0,this.path?(this.width=this.path.width,this.height=this.path.height):(this.width=this.calcTextWidth()||this.cursorWidth||this.MIN_TEXT_WIDTH,this.height=this.calcTextHeight()),this.textAlign.includes(fe)&&this.enlargeSpaces()}enlargeSpaces(){let i,e,r,t,n,f,o;for(let a=0,A=this._textLines.length;a<A;a++)if((this.textAlign===fe||a!==A-1&&!this.isEndOfWrapping(a))&&(t=0,n=this._textLines[a],e=this.getLineWidth(a),e<this.width&&(o=this.textLines[a].match(this._reSpacesAndTabs)))){r=o.length,i=(this.width-e)/r;for(let l=0;l<=n.length;l++)f=this.__charBounds[a][l],this._reSpaceAndTab.test(n[l])?(f.width+=i,f.kernedWidth+=i,f.left+=t,t+=i):f.left+=t}}isEndOfWrapping(i){return i===this._textLines.length-1}missingNewlineOffset(i){return 1}get2DCursorLocation(i,e){let r=e?this._unwrappedTextLines:this._textLines,t;for(t=0;t<r.length;t++){if(i<=r[t].length)return{lineIndex:t,charIndex:i};i-=r[t].length+this.missingNewlineOffset(t,e)}return{lineIndex:t-1,charIndex:r[t-1].length<i?r[t-1].length:i}}toString(){return"#<Text (".concat(this.complexity(),'): { "text": "').concat(this.text,'", "fontFamily": "').concat(this.fontFamily,'" }>')}_getCacheCanvasDimensions(){let i=super._getCacheCanvasDimensions(),e=this.fontSize;return i.width+=e*i.zoomX,i.height+=e*i.zoomY,i}_render(i){let e=this.path;e&&!e.isNotVisible()&&e._render(i),this._setTextStyles(i),this._renderTextLinesBackground(i),this._renderTextDecoration(i,"underline"),this._renderText(i),this._renderTextDecoration(i,"overline"),this._renderTextDecoration(i,"linethrough")}_renderText(i){this.paintFirst===xi?(this._renderTextStroke(i),this._renderTextFill(i)):(this._renderTextFill(i),this._renderTextStroke(i))}_setTextStyles(i,e,r){if(i.textBaseline="alphabetic",this.path)switch(this.pathAlign){case d0:i.textBaseline="middle";break;case"ascender":i.textBaseline=yi;break;case"descender":i.textBaseline=Hn}i.font=this._getFontDeclaration(e,r)}calcTextWidth(){let i=this.getLineWidth(0);for(let e=1,r=this._textLines.length;e<r;e++){let t=this.getLineWidth(e);t>i&&(i=t)}return i}_renderTextLine(i,e,r,t,n,f){this._renderChars(i,e,r,t,n,f)}_renderTextLinesBackground(i){if(!this.textBackgroundColor&&!this.styleHas("textBackgroundColor"))return;let e=i.fillStyle,r=this._getLeftOffset(),t=this._getTopOffset();for(let n=0,f=this._textLines.length;n<f;n++){let o=this.getHeightOfLine(n);if(!this.textBackgroundColor&&!this.styleHas("textBackgroundColor",n)){t+=o;continue}let a=this._textLines[n].length,A=this._getLineLeftOffset(n),l,k,u=0,h=0,c=this.getValueOfPropertyAt(n,0,"textBackgroundColor");for(let d=0;d<a;d++){let b=this.__charBounds[n][d];k=this.getValueOfPropertyAt(n,d,"textBackgroundColor"),this.path?(i.save(),i.translate(b.renderLeft,b.renderTop),i.rotate(b.angle),i.fillStyle=k,k&&i.fillRect(-b.width/2,-o/this.lineHeight*(1-this._fontSizeFraction),b.width,o/this.lineHeight),i.restore()):k!==c?(l=r+A+h,this.direction==="rtl"&&(l=this.width-l-u),i.fillStyle=c,c&&i.fillRect(l,t,u,o/this.lineHeight),h=b.left,u=b.width,c=k):u+=b.kernedWidth}k&&!this.path&&(l=r+A+h,this.direction==="rtl"&&(l=this.width-l-u),i.fillStyle=k,i.fillRect(l,t,u,o/this.lineHeight)),t+=o}i.fillStyle=e,this._removeShadow(i)}_measureChar(i,e,r,t){let n=cr.getFontCache(e),f=this._getFontDeclaration(e),o=r+i,a=r&&f===this._getFontDeclaration(t),A=e.fontSize/this.CACHE_FONT_SIZE,l,k,u,h;if(r&&n[r]!==void 0&&(u=n[r]),n[i]!==void 0&&(h=l=n[i]),a&&n[o]!==void 0&&(k=n[o],h=k-u),l===void 0||u===void 0||k===void 0){let c=function(){return Pn||(Pn=re({width:0,height:0}).getContext("2d")),Pn}();this._setTextStyles(c,e,!0),l===void 0&&(h=l=c.measureText(i).width,n[i]=l),u===void 0&&a&&r&&(u=c.measureText(r).width,n[r]=u),a&&k===void 0&&(k=c.measureText(o).width,n[o]=k,h=k-u)}return{width:l*A,kernedWidth:h*A}}getHeightOfChar(i,e){return this.getValueOfPropertyAt(i,e,"fontSize")}measureLine(i){let e=this._measureLine(i);return this.charSpacing!==0&&(e.width-=this._getWidthOfCharSpacing()),e.width<0&&(e.width=0),e}_measureLine(i){let e,r,t=0,n=this.pathSide===$0,f=this.path,o=this._textLines[i],a=o.length,A=new Array(a);this.__charBounds[i]=A;for(let l=0;l<a;l++){let k=o[l];r=this._getGraphemeBox(k,i,l,e),A[l]=r,t+=r.kernedWidth,e=k}if(A[a]={left:r?r.left+r.width:0,width:0,kernedWidth:0,height:this.fontSize,deltaY:0},f&&f.segmentsInfo){let l=0,k=f.segmentsInfo[f.segmentsInfo.length-1].length;switch(this.textAlign){case E0:l=n?k-t:0;break;case d0:l=(k-t)/2;break;case $0:l=n?0:k-t}l+=this.pathStartOffset*(n?-1:1);for(let u=n?a-1:0;n?u>=0:u<a;n?u--:u++)r=A[u],l>k?l%=k:l<0&&(l+=k),this._setGraphemeOnPath(l,r),l+=r.kernedWidth}return{width:t,numOfSpaces:0}}_setGraphemeOnPath(i,e){let r=i+e.kernedWidth/2,t=this.path,n=da(t.path,r,t.segmentsInfo);e.renderLeft=n.x-t.pathOffset.x,e.renderTop=n.y-t.pathOffset.y,e.angle=n.angle+(this.pathSide===$0?Math.PI:0)}_getGraphemeBox(i,e,r,t,n){let f=this.getCompleteStyleDeclaration(e,r),o=t?this.getCompleteStyleDeclaration(e,r-1):{},a=this._measureChar(i,f,t,o),A,l=a.kernedWidth,k=a.width;this.charSpacing!==0&&(A=this._getWidthOfCharSpacing(),k+=A,l+=A);let u={width:k,left:0,height:f.fontSize,kernedWidth:l,deltaY:f.deltaY};if(r>0&&!n){let h=this.__charBounds[e][r-1];u.left=h.left+h.width+a.kernedWidth-a.width}return u}getHeightOfLine(i){if(this.__lineHeights[i])return this.__lineHeights[i];let e=this.getHeightOfChar(i,0);for(let r=1,t=this._textLines[i].length;r<t;r++)e=Math.max(this.getHeightOfChar(i,r),e);return this.__lineHeights[i]=e*this.lineHeight*this._fontSizeMult}calcTextHeight(){let i,e=0;for(let r=0,t=this._textLines.length;r<t;r++)i=this.getHeightOfLine(r),e+=r===t-1?i/this.lineHeight:i;return e}_getLeftOffset(){return this.direction==="ltr"?-this.width/2:this.width/2}_getTopOffset(){return-this.height/2}_renderTextCommon(i,e){i.save();let r=0,t=this._getLeftOffset(),n=this._getTopOffset();for(let f=0,o=this._textLines.length;f<o;f++){let a=this.getHeightOfLine(f),A=a/this.lineHeight,l=this._getLineLeftOffset(f);this._renderTextLine(e,i,this._textLines[f],t+l,n+r+A,f),r+=a}i.restore()}_renderTextFill(i){(this.fill||this.styleHas(ri))&&this._renderTextCommon(i,"fillText")}_renderTextStroke(i){(this.stroke&&this.strokeWidth!==0||!this.isEmptyStyles())&&(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(i),i.save(),this._setLineDash(i,this.strokeDashArray),i.beginPath(),this._renderTextCommon(i,"strokeText"),i.closePath(),i.restore())}_renderChars(i,e,r,t,n,f){let o=this.getHeightOfLine(f),a=this.textAlign.includes(fe),A=this.path,l=!a&&this.charSpacing===0&&this.isEmptyStyles(f)&&!A,k=this.direction==="ltr",u=this.direction==="ltr"?1:-1,h=e.direction,c,d,b,g,v,w="",p=0;if(e.save(),h!==this.direction&&(e.canvas.setAttribute("dir",k?"ltr":"rtl"),e.direction=k?"ltr":"rtl",e.textAlign=k?E0:$0),n-=o*this._fontSizeFraction/this.lineHeight,l)return this._renderChar(i,e,f,0,r.join(""),t,n),void e.restore();for(let m=0,C=r.length-1;m<=C;m++)g=m===C||this.charSpacing||A,w+=r[m],b=this.__charBounds[f][m],p===0?(t+=u*(b.kernedWidth-b.width),p+=b.width):p+=b.kernedWidth,a&&!g&&this._reSpaceAndTab.test(r[m])&&(g=!0),g||(c=c||this.getCompleteStyleDeclaration(f,m),d=this.getCompleteStyleDeclaration(f,m+1),g=Lt(c,d,!1)),g&&(A?(e.save(),e.translate(b.renderLeft,b.renderTop),e.rotate(b.angle),this._renderChar(i,e,f,m,w,-p/2,0),e.restore()):(v=t,this._renderChar(i,e,f,m,w,v,n)),w="",c=d,t+=u*p,p=0);e.restore()}_applyPatternGradientTransformText(i){let e=this.width+this.strokeWidth,r=this.height+this.strokeWidth,t=re({width:e,height:r}),n=t.getContext("2d");return t.width=e,t.height=r,n.beginPath(),n.moveTo(0,0),n.lineTo(e,0),n.lineTo(e,r),n.lineTo(0,r),n.closePath(),n.translate(e/2,r/2),n.fillStyle=i.toLive(n),this._applyPatternGradientTransform(n,i),n.fill(),n.createPattern(t,"no-repeat")}handleFiller(i,e,r){let t,n;return Ti(r)?r.gradientUnits==="percentage"||r.gradientTransform||r.patternTransform?(t=-this.width/2,n=-this.height/2,i.translate(t,n),i[e]=this._applyPatternGradientTransformText(r),{offsetX:t,offsetY:n}):(i[e]=r.toLive(i),this._applyPatternGradientTransform(i,r)):(i[e]=r,{offsetX:0,offsetY:0})}_setStrokeStyles(i,e){let{stroke:r,strokeWidth:t}=e;return i.lineWidth=t,i.lineCap=this.strokeLineCap,i.lineDashOffset=this.strokeDashOffset,i.lineJoin=this.strokeLineJoin,i.miterLimit=this.strokeMiterLimit,this.handleFiller(i,"strokeStyle",r)}_setFillStyles(i,e){let{fill:r}=e;return this.handleFiller(i,"fillStyle",r)}_renderChar(i,e,r,t,n,f,o){let a=this._getStyleDeclaration(r,t),A=this.getCompleteStyleDeclaration(r,t),l=i==="fillText"&&A.fill,k=i==="strokeText"&&A.stroke&&A.strokeWidth;if(k||l){if(e.save(),e.font=this._getFontDeclaration(A),a.textBackgroundColor&&this._removeShadow(e),a.deltaY&&(o+=a.deltaY),l){let u=this._setFillStyles(e,A);e.fillText(n,f-u.offsetX,o-u.offsetY)}if(k){let u=this._setStrokeStyles(e,A);e.strokeText(n,f-u.offsetX,o-u.offsetY)}e.restore()}}setSuperscript(i,e){this._setScript(i,e,this.superscript)}setSubscript(i,e){this._setScript(i,e,this.subscript)}_setScript(i,e,r){let t=this.get2DCursorLocation(i,!0),n=this.getValueOfPropertyAt(t.lineIndex,t.charIndex,"fontSize"),f=this.getValueOfPropertyAt(t.lineIndex,t.charIndex,"deltaY"),o={fontSize:n*r.size,deltaY:f+n*r.baseline};this.setSelectionStyles(o,i,e)}_getLineLeftOffset(i){let e=this.getLineWidth(i),r=this.width-e,t=this.textAlign,n=this.direction,f=this.isEndOfWrapping(i),o=0;return t===fe||t===pr&&!f||t===gr&&!f||t===Vt&&!f?0:(t===d0&&(o=r/2),t===$0&&(o=r),t===pr&&(o=r/2),t===gr&&(o=r),n==="rtl"&&(t===$0||t===fe||t===gr?o=0:t===E0||t===Vt?o=-r:t!==d0&&t!==pr||(o=-r/2)),o)}_clearCache(){this._forceClearCache=!1,this.__lineWidths=[],this.__lineHeights=[],this.__charBounds=[]}getLineWidth(i){if(this.__lineWidths[i]!==void 0)return this.__lineWidths[i];let{width:e}=this.measureLine(i);return this.__lineWidths[i]=e,e}_getWidthOfCharSpacing(){return this.charSpacing!==0?this.fontSize*this.charSpacing/1e3:0}getValueOfPropertyAt(i,e,r){var t;return(t=this._getStyleDeclaration(i,e)[r])!==null&&t!==void 0?t:this[r]}_renderTextDecoration(i,e){if(!this[e]&&!this.styleHas(e))return;let r=this._getTopOffset(),t=this._getLeftOffset(),n=this.path,f=this._getWidthOfCharSpacing(),o=this.offsets[e];for(let a=0,A=this._textLines.length;a<A;a++){let l=this.getHeightOfLine(a);if(!this[e]&&!this.styleHas(e,a)){r+=l;continue}let k=this._textLines[a],u=l/this.lineHeight,h=this._getLineLeftOffset(a),c,d,b=0,g=0,v=this.getValueOfPropertyAt(a,0,e),w=this.getValueOfPropertyAt(a,0,ri),p=r+u*(1-this._fontSizeFraction),m=this.getHeightOfChar(a,0),C=this.getValueOfPropertyAt(a,0,"deltaY");for(let Z=0,_=k.length;Z<_;Z++){let x=this.__charBounds[a][Z];c=this.getValueOfPropertyAt(a,Z,e),d=this.getValueOfPropertyAt(a,Z,ri);let B=this.getHeightOfChar(a,Z),I=this.getValueOfPropertyAt(a,Z,"deltaY");if(n&&c&&d)i.save(),i.fillStyle=w,i.translate(x.renderLeft,x.renderTop),i.rotate(x.angle),i.fillRect(-x.kernedWidth/2,o*B+I,x.kernedWidth,this.fontSize/15),i.restore();else if((c!==v||d!==w||B!==m||I!==C)&&g>0){let W=t+h+b;this.direction==="rtl"&&(W=this.width-W-g),v&&w&&(i.fillStyle=w,i.fillRect(W,p+o*m+C,g,this.fontSize/15)),b=x.left,g=x.width,v=c,w=d,m=B,C=I}else g+=x.kernedWidth}let y=t+h+b;this.direction==="rtl"&&(y=this.width-y-g),i.fillStyle=d,c&&d&&i.fillRect(y,p+o*m+C,g-f,this.fontSize/15),r+=l}this._removeShadow(i)}_getFontDeclaration(){let{fontFamily:i=this.fontFamily,fontStyle:e=this.fontStyle,fontWeight:r=this.fontWeight,fontSize:t=this.fontSize}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,f=i.includes("'")||i.includes('"')||i.includes(",")||ai.genericFonts.includes(i.toLowerCase())?i:'"'.concat(i,'"');return[e,r,"".concat(n?this.CACHE_FONT_SIZE:t,"px"),f].join(" ")}render(i){this.visible&&(this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(this._forceClearCache&&this.initDimensions(),super.render(i)))}graphemeSplit(i){return jt(i)}_splitTextIntoLines(i){let e=i.split(this._reNewline),r=new Array(e.length),t=[`
|
|
`],n=[];for(let f=0;f<e.length;f++)r[f]=this.graphemeSplit(e[f]),n=n.concat(r[f],t);return n.pop(),{_unwrappedLines:r,lines:e,graphemeText:n,graphemeLines:r}}toObject(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return D(D({},super.toObject([...Ea,...i])),{},{styles:ta(this.styles,this.text)},this.path?{path:this.path.toObject()}:{})}set(i,e){let{textLayoutProperties:r}=this.constructor;super.set(i,e);let t=!1,n=!1;if(typeof i=="object")for(let f in i)f==="path"&&this.setPathInfo(),t=t||r.includes(f),n=n||f==="path";else t=r.includes(i),n=i==="path";return n&&this.setPathInfo(),t&&this.initialized&&(this.initDimensions(),this.setCoords()),this}complexity(){return 1}static async fromElement(i,e,r){let t=Ce(i,ai.ATTRIBUTE_NAMES,r),n=D(D({},e),t),{textAnchor:f=E0,textDecoration:o="",dx:a=0,dy:A=0,top:l=0,left:k=0,fontSize:u=y1,strokeWidth:h=1}=n,c=N0(n,sl),d=new this((i.textContent||"").replace(/^\s+|\s+$|\n+/g,"").replace(/\s+/g," "),D({left:k+a,top:l+A,underline:o.includes("underline"),overline:o.includes("overline"),linethrough:o.includes("line-through"),strokeWidth:0,fontSize:u},c)),b=d.getScaledHeight()/d.height,g=((d.height+d.strokeWidth)*d.lineHeight-d.height)*b,v=d.getScaledHeight()+g,w=0;return f===d0&&(w=d.getScaledWidth()/2),f===$0&&(w=d.getScaledWidth()),d.set({left:d.left-w,top:d.top-(v-d.fontSize*(.07+d._fontSizeFraction))/d.lineHeight,strokeWidth:h}),d}static fromObject(i){return this._fromObject(D(D({},i),{},{styles:na(i.styles||{},i.text)}),{extraParam:"text"})}};V(ai,"textLayoutProperties",Ia),V(ai,"cacheProperties",[..._e,...Ea]),V(ai,"ownDefaults",fl),V(ai,"type","Text"),V(ai,"genericFonts",["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","math","emoji","fangsong"]),V(ai,"ATTRIBUTE_NAMES",Pe.concat("x","y","dx","dy","font-family","font-style","font-weight","font-size","letter-spacing","text-decoration","text-anchor")),Ko(ai,[class extends Ct{_toSVG(){let s=this._getSVGLeftTopOffsets(),i=this._getSVGTextAndBg(s.textTop,s.textLeft);return this._wrapSVGTextAndBg(i)}toSVG(s){return this._createBaseSVGMarkup(this._toSVG(),{reviver:s,noStyle:!0,withShadow:!0})}_getSVGLeftTopOffsets(){return{textLeft:-this.width/2,textTop:-this.height/2,lineTop:this.getHeightOfLine(0)}}_wrapSVGTextAndBg(s){let{textBgRects:i,textSpans:e}=s,r=this.getSvgTextDecoration(this);return[i.join(""),' <text xml:space="preserve" ',this.fontFamily?'font-family="'.concat(this.fontFamily.replace(al,"'"),'" '):"",this.fontSize?'font-size="'.concat(this.fontSize,'" '):"",this.fontStyle?'font-style="'.concat(this.fontStyle,'" '):"",this.fontWeight?'font-weight="'.concat(this.fontWeight,'" '):"",r?'text-decoration="'.concat(r,'" '):"",this.direction==="rtl"?'direction="'.concat(this.direction,'" '):"",'style="',this.getSvgStyles(!0),'"',this.addPaintOrder()," >",e.join(""),`</text>
|
|
`]}_getSVGTextAndBg(s,i){let e=[],r=[],t,n=s;this.backgroundColor&&r.push(...Rn(this.backgroundColor,-this.width/2,-this.height/2,this.width,this.height));for(let f=0,o=this._textLines.length;f<o;f++)t=this._getLineLeftOffset(f),this.direction==="rtl"&&(t+=this.width),(this.textBackgroundColor||this.styleHas("textBackgroundColor",f))&&this._setSVGTextLineBg(r,f,i+t,n),this._setSVGTextLineText(e,f,i+t,n),n+=this.getHeightOfLine(f);return{textSpans:e,textBgRects:r}}_createTextCharSpan(s,i,e,r){let t=this.getSvgSpanStyles(i,s!==s.trim()||!!s.match(ol)),n=t?'style="'.concat(t,'"'):"",f=i.deltaY,o=f?' dy="'.concat(P0(f,x0.NUM_FRACTION_DIGITS),'" '):"";return'<tspan x="'.concat(P0(e,x0.NUM_FRACTION_DIGITS),'" y="').concat(P0(r,x0.NUM_FRACTION_DIGITS),'" ').concat(o).concat(n,">").concat(ra(s),"</tspan>")}_setSVGTextLineText(s,i,e,r){let t=this.getHeightOfLine(i),n=this.textAlign.includes(fe),f=this._textLines[i],o,a,A,l,k,u="",h=0;r+=t*(1-this._fontSizeFraction)/this.lineHeight;for(let c=0,d=f.length-1;c<=d;c++)k=c===d||this.charSpacing,u+=f[c],A=this.__charBounds[i][c],h===0?(e+=A.kernedWidth-A.width,h+=A.width):h+=A.kernedWidth,n&&!k&&this._reSpaceAndTab.test(f[c])&&(k=!0),k||(o=o||this.getCompleteStyleDeclaration(i,c),a=this.getCompleteStyleDeclaration(i,c+1),k=Lt(o,a,!0)),k&&(l=this._getStyleDeclaration(i,c),s.push(this._createTextCharSpan(u,l,e,r)),u="",o=a,this.direction==="rtl"?e-=h:e+=h,h=0)}_setSVGTextLineBg(s,i,e,r){let t=this._textLines[i],n=this.getHeightOfLine(i)/this.lineHeight,f,o=0,a=0,A=this.getValueOfPropertyAt(i,0,"textBackgroundColor");for(let l=0;l<t.length;l++){let{left:k,width:u,kernedWidth:h}=this.__charBounds[i][l];f=this.getValueOfPropertyAt(i,l,"textBackgroundColor"),f!==A?(A&&s.push(...Rn(A,e+a,r,o,n)),a=k,o=u,A=f):o+=h}f&&s.push(...Rn(A,e+a,r,o,n))}_getSVGLineTopOffset(s){let i,e=0;for(i=0;i<s;i++)e+=this.getHeightOfLine(i);let r=this.getHeightOfLine(i);return{lineTop:e,offset:(this._fontSizeMult-this._fontSizeFraction)*r/(this.lineHeight*this._fontSizeMult)}}getSvgStyles(s){return"".concat(super.getSvgStyles(s)," white-space: pre;")}getSvgSpanStyles(s,i){let{fontFamily:e,strokeWidth:r,stroke:t,fill:n,fontSize:f,fontStyle:o,fontWeight:a,deltaY:A}=s,l=this.getSvgTextDecoration(s);return[t?wr(xi,t):"",r?"stroke-width: ".concat(r,"; "):"",e?"font-family: ".concat(e.includes("'")||e.includes('"')?e:"'".concat(e,"'"),"; "):"",f?"font-size: ".concat(f,"px; "):"",o?"font-style: ".concat(o,"; "):"",a?"font-weight: ".concat(a,"; "):"",l&&"text-decoration: ".concat(l,"; "),n?wr(ri,n):"",A?"baseline-shift: ".concat(-A,"; "):"",i?"white-space: pre; ":""].join("")}getSvgTextDecoration(s){return["overline","underline","line-through"].filter(i=>s[i.replace("-","")]).join(" ")}}]),r0.setClass(ai),r0.setSVGClass(ai);var d1=class{constructor(i){V(this,"target",void 0),V(this,"__mouseDownInPlace",!1),V(this,"__dragStartFired",!1),V(this,"__isDraggingOver",!1),V(this,"__dragStartSelection",void 0),V(this,"__dragImageDisposer",void 0),V(this,"_dispose",void 0),this.target=i;let e=[this.target.on("dragenter",this.dragEnterHandler.bind(this)),this.target.on("dragover",this.dragOverHandler.bind(this)),this.target.on("dragleave",this.dragLeaveHandler.bind(this)),this.target.on("dragend",this.dragEndHandler.bind(this)),this.target.on("drop",this.dropHandler.bind(this))];this._dispose=()=>{e.forEach(r=>r()),this._dispose=void 0}}isPointerOverSelection(i){let e=this.target,r=e.getSelectionStartFromPointer(i);return e.isEditing&&r>=e.selectionStart&&r<=e.selectionEnd&&e.selectionStart<e.selectionEnd}start(i){return this.__mouseDownInPlace=this.isPointerOverSelection(i)}isActive(){return this.__mouseDownInPlace}end(i){let e=this.isActive();return e&&!this.__dragStartFired&&(this.target.setCursorByClick(i),this.target.initDelayedCursor(!0)),this.__mouseDownInPlace=!1,this.__dragStartFired=!1,this.__isDraggingOver=!1,e}getDragStartSelection(){return this.__dragStartSelection}setDragImage(i,e){var r;let{selectionStart:t,selectionEnd:n}=e,f=this.target,o=f.canvas,a=new N(f.flipX?-1:1,f.flipY?-1:1),A=f._getCursorBoundaries(t),l=new N(A.left+A.leftOffset,A.top+A.topOffset).multiply(a).transform(f.calcTransformMatrix()),k=o.getScenePoint(i).subtract(l),u=f.getCanvasRetinaScaling(),h=f.getBoundingRect(),c=l.subtract(new N(h.left,h.top)),d=o.viewportTransform,b=c.add(k).transform(d,!0),g=f.backgroundColor,v=P1(f.styles);f.backgroundColor="";let w={stroke:"transparent",fill:"transparent",textBackgroundColor:"transparent"};f.setSelectionStyles(w,0,t),f.setSelectionStyles(w,n,f.text.length),f.dirty=!0;let p=f.toCanvasElement({enableRetinaScaling:o.enableRetinaScaling,viewportTransform:!0});f.backgroundColor=g,f.styles=v,f.dirty=!0,Xt(p,{position:"fixed",left:"".concat(-p.width,"px"),border:Bi,width:"".concat(p.width/u,"px"),height:"".concat(p.height/u,"px")}),this.__dragImageDisposer&&this.__dragImageDisposer(),this.__dragImageDisposer=()=>{p.remove()},Li(i.target||this.target.hiddenTextarea).body.appendChild(p),(r=i.dataTransfer)===null||r===void 0||r.setDragImage(p,b.x,b.y)}onDragStart(i){this.__dragStartFired=!0;let e=this.target,r=this.isActive();if(r&&i.dataTransfer){let t=this.__dragStartSelection={selectionStart:e.selectionStart,selectionEnd:e.selectionEnd},n=e._text.slice(t.selectionStart,t.selectionEnd).join(""),f=D({text:e.text,value:n},t);i.dataTransfer.setData("text/plain",n),i.dataTransfer.setData("application/fabric",JSON.stringify({value:n,styles:e.getSelectionStyles(t.selectionStart,t.selectionEnd,!0)})),i.dataTransfer.effectAllowed="copyMove",this.setDragImage(i,f)}return e.abortCursorAnimation(),r}canDrop(i){if(this.target.editable&&!this.target.getActiveControl()&&!i.defaultPrevented){if(this.isActive()&&this.__dragStartSelection){let e=this.target.getSelectionStartFromPointer(i),r=this.__dragStartSelection;return e<r.selectionStart||e>r.selectionEnd}return!0}return!1}targetCanDrop(i){return this.target.canDrop(i)}dragEnterHandler(i){let{e}=i,r=this.targetCanDrop(e);!this.__isDraggingOver&&r&&(this.__isDraggingOver=!0)}dragOverHandler(i){let{e}=i,r=this.targetCanDrop(e);!this.__isDraggingOver&&r?this.__isDraggingOver=!0:this.__isDraggingOver&&!r&&(this.__isDraggingOver=!1),this.__isDraggingOver&&(e.preventDefault(),i.canDrop=!0,i.dropTarget=this.target)}dragLeaveHandler(){(this.__isDraggingOver||this.isActive())&&(this.__isDraggingOver=!1)}dropHandler(i){var e;let{e:r}=i,t=r.defaultPrevented;this.__isDraggingOver=!1,r.preventDefault();let n=(e=r.dataTransfer)===null||e===void 0?void 0:e.getData("text/plain");if(n&&!t){let f=this.target,o=f.canvas,a=f.getSelectionStartFromPointer(r),{styles:A}=r.dataTransfer.types.includes("application/fabric")?JSON.parse(r.dataTransfer.getData("application/fabric")):{},l=n[Math.max(0,n.length-1)],k=0;if(this.__dragStartSelection){let u=this.__dragStartSelection.selectionStart,h=this.__dragStartSelection.selectionEnd;a>u&&a<=h?a=u:a>h&&(a-=h-u),f.removeChars(u,h),delete this.__dragStartSelection}f._reNewline.test(l)&&(f._reNewline.test(f._text[a])||a===f._text.length)&&(n=n.trimEnd()),i.didDrop=!0,i.dropTarget=f,f.insertChars(n,A,a),o.setActiveObject(f),f.enterEditing(r),f.selectionStart=Math.min(a+k,f._text.length),f.selectionEnd=Math.min(f.selectionStart+n.length,f._text.length),f.hiddenTextarea.value=f.text,f._updateTextarea(),f.hiddenTextarea.focus(),f.fire(bt,{index:a+k,action:"drop"}),o.fire("text:changed",{target:f}),o.contextTopDirty=!0,o.requestRenderAll()}}dragEndHandler(i){let{e}=i;if(this.isActive()&&this.__dragStartFired&&this.__dragStartSelection){var r;let t=this.target,n=this.target.canvas,{selectionStart:f,selectionEnd:o}=this.__dragStartSelection,a=((r=e.dataTransfer)===null||r===void 0?void 0:r.dropEffect)||Bi;a===Bi?(t.selectionStart=f,t.selectionEnd=o,t._updateTextarea(),t.hiddenTextarea.focus()):(t.clearContextTop(),a==="move"&&(t.removeChars(f,o),t.selectionStart=t.selectionEnd=f,t.hiddenTextarea&&(t.hiddenTextarea.value=t.text),t._updateTextarea(),t.fire(bt,{index:f,action:"dragend"}),n.fire("text:changed",{target:t}),n.requestRenderAll()),t.exitEditing())}this.__dragImageDisposer&&this.__dragImageDisposer(),delete this.__dragImageDisposer,delete this.__dragStartSelection,this.__isDraggingOver=!1}dispose(){this._dispose&&this._dispose()}},ao=/[ \n\.,;!\?\-]/,b1=class extends ai{constructor(){super(...arguments),V(this,"_currentCursorOpacity",1)}initBehavior(){this._tick=this._tick.bind(this),this._onTickComplete=this._onTickComplete.bind(this),this.updateSelectionOnMouseMove=this.updateSelectionOnMouseMove.bind(this)}onDeselect(i){return this.isEditing&&this.exitEditing(),this.selected=!1,super.onDeselect(i)}_animateCursor(i){let{toValue:e,duration:r,delay:t,onComplete:n}=i;return M1({startValue:this._currentCursorOpacity,endValue:e,duration:r,delay:t,onComplete:n,abort:()=>!this.canvas||this.selectionStart!==this.selectionEnd,onChange:f=>{this._currentCursorOpacity=f,this.renderCursorOrSelection()}})}_tick(i){this._currentTickState=this._animateCursor({toValue:0,duration:this.cursorDuration/2,delay:Math.max(i||0,100),onComplete:this._onTickComplete})}_onTickComplete(){var i;(i=this._currentTickCompleteState)===null||i===void 0||i.abort(),this._currentTickCompleteState=this._animateCursor({toValue:1,duration:this.cursorDuration,onComplete:this._tick})}initDelayedCursor(i){this.abortCursorAnimation(),this._tick(i?0:this.cursorDelay)}abortCursorAnimation(){let i=!1;[this._currentTickState,this._currentTickCompleteState].forEach(e=>{e&&!e.isDone()&&(i=!0,e.abort())}),this._currentCursorOpacity=1,i&&this.clearContextTop()}restartCursorIfNeeded(){[this._currentTickState,this._currentTickCompleteState].some(i=>!i||i.isDone())&&this.initDelayedCursor()}selectAll(){return this.selectionStart=0,this.selectionEnd=this._text.length,this._fireSelectionChanged(),this._updateTextarea(),this}getSelectedText(){return this._text.slice(this.selectionStart,this.selectionEnd).join("")}findWordBoundaryLeft(i){let e=0,r=i-1;if(this._reSpace.test(this._text[r]))for(;this._reSpace.test(this._text[r]);)e++,r--;for(;/\S/.test(this._text[r])&&r>-1;)e++,r--;return i-e}findWordBoundaryRight(i){let e=0,r=i;if(this._reSpace.test(this._text[r]))for(;this._reSpace.test(this._text[r]);)e++,r++;for(;/\S/.test(this._text[r])&&r<this._text.length;)e++,r++;return i+e}findLineBoundaryLeft(i){let e=0,r=i-1;for(;!/\n/.test(this._text[r])&&r>-1;)e++,r--;return i-e}findLineBoundaryRight(i){let e=0,r=i;for(;!/\n/.test(this._text[r])&&r<this._text.length;)e++,r++;return i+e}searchWordBoundary(i,e){let r=this._text,t=i>0&&this._reSpace.test(r[i])&&(e===-1||!B1.test(r[i-1]))?i-1:i,n=r[t];for(;t>0&&t<r.length&&!ao.test(n);)t+=e,n=r[t];return e===-1&&ao.test(n)&&t++,t}selectWord(i){i=i||this.selectionStart;let e=this.searchWordBoundary(i,-1),r=Math.max(e,this.searchWordBoundary(i,1));this.selectionStart=e,this.selectionEnd=r,this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()}selectLine(i){i=i||this.selectionStart;let e=this.findLineBoundaryLeft(i),r=this.findLineBoundaryRight(i);return this.selectionStart=e,this.selectionEnd=r,this._fireSelectionChanged(),this._updateTextarea(),this}enterEditing(i){!this.isEditing&&this.editable&&(this.enterEditingImpl(),this.fire("editing:entered",i?{e:i}:void 0),this._fireSelectionChanged(),this.canvas&&(this.canvas.fire("text:editing:entered",{target:this,e:i}),this.canvas.requestRenderAll()))}enterEditingImpl(){this.canvas&&(this.canvas.calcOffset(),this.canvas.textEditingManager.exitTextEditing()),this.isEditing=!0,this.initHiddenTextarea(),this.hiddenTextarea.focus(),this.hiddenTextarea.value=this.text,this._updateTextarea(),this._saveEditingProps(),this._setEditingProps(),this._textBeforeEdit=this.text,this._tick()}updateSelectionOnMouseMove(i){if(this.getActiveControl())return;let e=this.hiddenTextarea;Li(e).activeElement!==e&&e.focus();let r=this.getSelectionStartFromPointer(i),t=this.selectionStart,n=this.selectionEnd;(r===this.__selectionStartOnMouseDown&&t!==n||t!==r&&n!==r)&&(r>this.__selectionStartOnMouseDown?(this.selectionStart=this.__selectionStartOnMouseDown,this.selectionEnd=r):(this.selectionStart=r,this.selectionEnd=this.__selectionStartOnMouseDown),this.selectionStart===t&&this.selectionEnd===n||(this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()))}_setEditingProps(){this.hoverCursor="text",this.canvas&&(this.canvas.defaultCursor=this.canvas.moveCursor="text"),this.borderColor=this.editingBorderColor,this.hasControls=this.selectable=!1,this.lockMovementX=this.lockMovementY=!0}fromStringToGraphemeSelection(i,e,r){let t=r.slice(0,i),n=this.graphemeSplit(t).length;if(i===e)return{selectionStart:n,selectionEnd:n};let f=r.slice(i,e);return{selectionStart:n,selectionEnd:n+this.graphemeSplit(f).length}}fromGraphemeToStringSelection(i,e,r){let t=r.slice(0,i).join("").length;return i===e?{selectionStart:t,selectionEnd:t}:{selectionStart:t,selectionEnd:t+r.slice(i,e).join("").length}}_updateTextarea(){if(this.cursorOffsetCache={},this.hiddenTextarea){if(!this.inCompositionMode){let i=this.fromGraphemeToStringSelection(this.selectionStart,this.selectionEnd,this._text);this.hiddenTextarea.selectionStart=i.selectionStart,this.hiddenTextarea.selectionEnd=i.selectionEnd}this.updateTextareaPosition()}}updateFromTextArea(){if(!this.hiddenTextarea)return;this.cursorOffsetCache={};let i=this.hiddenTextarea;this.text=i.value,this.set("dirty",!0),this.initDimensions(),this.setCoords();let e=this.fromStringToGraphemeSelection(i.selectionStart,i.selectionEnd,i.value);this.selectionEnd=this.selectionStart=e.selectionEnd,this.inCompositionMode||(this.selectionStart=e.selectionStart),this.updateTextareaPosition()}updateTextareaPosition(){if(this.selectionStart===this.selectionEnd){let i=this._calcTextareaPosition();this.hiddenTextarea.style.left=i.left,this.hiddenTextarea.style.top=i.top}}_calcTextareaPosition(){if(!this.canvas)return{left:"1px",top:"1px"};let i=this.inCompositionMode?this.compositionStart:this.selectionStart,e=this._getCursorBoundaries(i),r=this.get2DCursorLocation(i),t=r.lineIndex,n=r.charIndex,f=this.getValueOfPropertyAt(t,n,"fontSize")*this.lineHeight,o=e.leftOffset,a=this.getCanvasRetinaScaling(),A=this.canvas.upperCanvasEl,l=A.width/a,k=A.height/a,u=l-f,h=k-f,c=new N(e.left+o,e.top+e.topOffset+f).transform(this.calcTransformMatrix()).transform(this.canvas.viewportTransform).multiply(new N(A.clientWidth/l,A.clientHeight/k));return c.x<0&&(c.x=0),c.x>u&&(c.x=u),c.y<0&&(c.y=0),c.y>h&&(c.y=h),c.x+=this.canvas._offset.left,c.y+=this.canvas._offset.top,{left:"".concat(c.x,"px"),top:"".concat(c.y,"px"),fontSize:"".concat(f,"px"),charHeight:f}}_saveEditingProps(){this._savedProps={hasControls:this.hasControls,borderColor:this.borderColor,lockMovementX:this.lockMovementX,lockMovementY:this.lockMovementY,hoverCursor:this.hoverCursor,selectable:this.selectable,defaultCursor:this.canvas&&this.canvas.defaultCursor,moveCursor:this.canvas&&this.canvas.moveCursor}}_restoreEditingProps(){this._savedProps&&(this.hoverCursor=this._savedProps.hoverCursor,this.hasControls=this._savedProps.hasControls,this.borderColor=this._savedProps.borderColor,this.selectable=this._savedProps.selectable,this.lockMovementX=this._savedProps.lockMovementX,this.lockMovementY=this._savedProps.lockMovementY,this.canvas&&(this.canvas.defaultCursor=this._savedProps.defaultCursor||this.canvas.defaultCursor,this.canvas.moveCursor=this._savedProps.moveCursor||this.canvas.moveCursor),delete this._savedProps)}_exitEditing(){let i=this.hiddenTextarea;this.selected=!1,this.isEditing=!1,i&&(i.blur&&i.blur(),i.parentNode&&i.parentNode.removeChild(i)),this.hiddenTextarea=null,this.abortCursorAnimation(),this.selectionStart!==this.selectionEnd&&this.clearContextTop()}exitEditingImpl(){this._exitEditing(),this.selectionEnd=this.selectionStart,this._restoreEditingProps(),this._forceClearCache&&(this.initDimensions(),this.setCoords())}exitEditing(){let i=this._textBeforeEdit!==this.text;return this.exitEditingImpl(),this.fire("editing:exited"),i&&this.fire(gt),this.canvas&&(this.canvas.fire("text:editing:exited",{target:this}),i&&this.canvas.fire("object:modified",{target:this})),this}_removeExtraneousStyles(){for(let i in this.styles)this._textLines[i]||delete this.styles[i]}removeStyleFromTo(i,e){let{lineIndex:r,charIndex:t}=this.get2DCursorLocation(i,!0),{lineIndex:n,charIndex:f}=this.get2DCursorLocation(e,!0);if(r!==n){if(this.styles[r])for(let o=t;o<this._unwrappedTextLines[r].length;o++)delete this.styles[r][o];if(this.styles[n])for(let o=f;o<this._unwrappedTextLines[n].length;o++){let a=this.styles[n][o];a&&(this.styles[r]||(this.styles[r]={}),this.styles[r][t+o-f]=a)}for(let o=r+1;o<=n;o++)delete this.styles[o];this.shiftLineStyles(n,r-n)}else if(this.styles[r]){let o=this.styles[r],a=f-t;for(let A=t;A<f;A++)delete o[A];for(let A in this.styles[r]){let l=parseInt(A,10);l>=f&&(o[l-a]=o[A],delete o[A])}}}shiftLineStyles(i,e){let r=Object.assign({},this.styles);for(let t in this.styles){let n=parseInt(t,10);n>i&&(this.styles[n+e]=r[n],r[n-e]||delete this.styles[n])}}insertNewlineStyleObject(i,e,r,t){let n={},f=this._unwrappedTextLines[i].length,o=f===e,a=!1;r||(r=1),this.shiftLineStyles(i,r);let A=this.styles[i]?this.styles[i][e===0?e:e-1]:void 0;for(let k in this.styles[i]){let u=parseInt(k,10);u>=e&&(a=!0,n[u-e]=this.styles[i][k],o&&e===0||delete this.styles[i][k])}let l=!1;for(a&&!o&&(this.styles[i+r]=n,l=!0),(l||f>e)&&r--;r>0;)t&&t[r-1]?this.styles[i+r]={0:D({},t[r-1])}:A?this.styles[i+r]={0:D({},A)}:delete this.styles[i+r],r--;this._forceClearCache=!0}insertCharStyleObject(i,e,r,t){this.styles||(this.styles={});let n=this.styles[i],f=n?D({},n):{};r||(r=1);for(let a in f){let A=parseInt(a,10);A>=e&&(n[A+r]=f[A],f[A-r]||delete n[A])}if(this._forceClearCache=!0,t){for(;r--;)Object.keys(t[r]).length&&(this.styles[i]||(this.styles[i]={}),this.styles[i][e+r]=D({},t[r]));return}if(!n)return;let o=n[e?e-1:1];for(;o&&r--;)this.styles[i][e+r]=D({},o)}insertNewStyleBlock(i,e,r){let t=this.get2DCursorLocation(e,!0),n=[0],f,o=0;for(let a=0;a<i.length;a++)i[a]===`
|
|
`?(o++,n[o]=0):n[o]++;for(n[0]>0&&(this.insertCharStyleObject(t.lineIndex,t.charIndex,n[0],r),r=r&&r.slice(n[0]+1)),o&&this.insertNewlineStyleObject(t.lineIndex,t.charIndex+n[0],o),f=1;f<o;f++)n[f]>0?this.insertCharStyleObject(t.lineIndex+f,0,n[f],r):r&&this.styles[t.lineIndex+f]&&r[0]&&(this.styles[t.lineIndex+f][0]=r[0]),r=r&&r.slice(n[f]+1);n[f]>0&&this.insertCharStyleObject(t.lineIndex+f,0,n[f],r)}removeChars(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:i+1;this.removeStyleFromTo(i,e),this._text.splice(i,e-i),this.text=this._text.join(""),this.set("dirty",!0),this.initDimensions(),this.setCoords(),this._removeExtraneousStyles()}insertChars(i,e,r){let t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:r;t>r&&this.removeStyleFromTo(r,t);let n=this.graphemeSplit(i);this.insertNewStyleBlock(n,r,e),this._text=[...this._text.slice(0,r),...n,...this._text.slice(t)],this.text=this._text.join(""),this.set("dirty",!0),this.initDimensions(),this.setCoords(),this._removeExtraneousStyles()}setSelectionStartEndWithShift(i,e,r){r<=i?(e===i?this._selectionDirection=E0:this._selectionDirection===$0&&(this._selectionDirection=E0,this.selectionEnd=i),this.selectionStart=r):r>i&&r<e?this._selectionDirection===$0?this.selectionEnd=r:this.selectionStart=r:(e===i?this._selectionDirection=$0:this._selectionDirection===E0&&(this._selectionDirection=$0,this.selectionStart=e),this.selectionEnd=r)}},g1=class extends b1{initHiddenTextarea(){let i=this.canvas&&Li(this.canvas.getElement())||z2(),e=i.createElement("textarea");Object.entries({autocapitalize:"off",autocorrect:"off",autocomplete:"off",spellcheck:"false","data-fabric":"textarea",wrap:"off"}).map(f=>{let[o,a]=f;return e.setAttribute(o,a)});let{top:r,left:t,fontSize:n}=this._calcTextareaPosition();e.style.cssText="position: absolute; top: ".concat(r,"; left: ").concat(t,"; z-index: -999; opacity: 0; width: 1px; height: 1px; font-size: 1px; padding-top: ").concat(n,";"),(this.hiddenTextareaContainer||i.body).appendChild(e),Object.entries({blur:"blur",keydown:"onKeyDown",keyup:"onKeyUp",input:"onInput",copy:"copy",cut:"copy",paste:"paste",compositionstart:"onCompositionStart",compositionupdate:"onCompositionUpdate",compositionend:"onCompositionEnd"}).map(f=>{let[o,a]=f;return e.addEventListener(o,this[a].bind(this))}),this.hiddenTextarea=e}blur(){this.abortCursorAnimation()}onKeyDown(i){if(!this.isEditing)return;let e=this.direction==="rtl"?this.keysMapRtl:this.keysMap;if(i.keyCode in e)this[e[i.keyCode]](i);else{if(!(i.keyCode in this.ctrlKeysMapDown)||!i.ctrlKey&&!i.metaKey)return;this[this.ctrlKeysMapDown[i.keyCode]](i)}i.stopImmediatePropagation(),i.preventDefault(),i.keyCode>=33&&i.keyCode<=40?(this.inCompositionMode=!1,this.clearContextTop(),this.renderCursorOrSelection()):this.canvas&&this.canvas.requestRenderAll()}onKeyUp(i){!this.isEditing||this._copyDone||this.inCompositionMode?this._copyDone=!1:i.keyCode in this.ctrlKeysMapUp&&(i.ctrlKey||i.metaKey)&&(this[this.ctrlKeysMapUp[i.keyCode]](i),i.stopImmediatePropagation(),i.preventDefault(),this.canvas&&this.canvas.requestRenderAll())}onInput(i){let e=this.fromPaste;if(this.fromPaste=!1,i&&i.stopPropagation(),!this.isEditing)return;let r=()=>{this.updateFromTextArea(),this.fire(bt),this.canvas&&(this.canvas.fire("text:changed",{target:this}),this.canvas.requestRenderAll())};if(this.hiddenTextarea.value==="")return this.styles={},void r();let t=this._splitTextIntoLines(this.hiddenTextarea.value).graphemeText,n=this._text.length,f=t.length,o=this.selectionStart,a=this.selectionEnd,A=o!==a,l,k,u,h,c=f-n,d=this.fromStringToGraphemeSelection(this.hiddenTextarea.selectionStart,this.hiddenTextarea.selectionEnd,this.hiddenTextarea.value),b=o>d.selectionStart;A?(k=this._text.slice(o,a),c+=a-o):f<n&&(k=b?this._text.slice(a+c,a):this._text.slice(o,o-c));let g=t.slice(d.selectionEnd-c,d.selectionEnd);if(k&&k.length&&(g.length&&(l=this.getSelectionStyles(o,o+1,!1),l=g.map(()=>l[0])),A?(u=o,h=a):b?(u=a-k.length,h=a):(u=a,h=a+k.length),this.removeStyleFromTo(u,h)),g.length){let{copyPasteData:v}=ae();e&&g.join("")===v.copiedText&&!x0.disableStyleCopyPaste&&(l=v.copiedTextStyle),this.insertNewStyleBlock(g,o,l)}r()}onCompositionStart(){this.inCompositionMode=!0}onCompositionEnd(){this.inCompositionMode=!1}onCompositionUpdate(i){let{target:e}=i,{selectionStart:r,selectionEnd:t}=e;this.compositionStart=r,this.compositionEnd=t,this.updateTextareaPosition()}copy(){if(this.selectionStart===this.selectionEnd)return;let{copyPasteData:i}=ae();i.copiedText=this.getSelectedText(),x0.disableStyleCopyPaste?i.copiedTextStyle=void 0:i.copiedTextStyle=this.getSelectionStyles(this.selectionStart,this.selectionEnd,!0),this._copyDone=!0}paste(){this.fromPaste=!0}_getWidthBeforeCursor(i,e){let r,t=this._getLineLeftOffset(i);return e>0&&(r=this.__charBounds[i][e-1],t+=r.left+r.width),t}getDownCursorOffset(i,e){let r=this._getSelectionForOffset(i,e),t=this.get2DCursorLocation(r),n=t.lineIndex;if(n===this._textLines.length-1||i.metaKey||i.keyCode===34)return this._text.length-r;let f=t.charIndex,o=this._getWidthBeforeCursor(n,f),a=this._getIndexOnLine(n+1,o);return this._textLines[n].slice(f).length+a+1+this.missingNewlineOffset(n)}_getSelectionForOffset(i,e){return i.shiftKey&&this.selectionStart!==this.selectionEnd&&e?this.selectionEnd:this.selectionStart}getUpCursorOffset(i,e){let r=this._getSelectionForOffset(i,e),t=this.get2DCursorLocation(r),n=t.lineIndex;if(n===0||i.metaKey||i.keyCode===33)return-r;let f=t.charIndex,o=this._getWidthBeforeCursor(n,f),a=this._getIndexOnLine(n-1,o),A=this._textLines[n].slice(0,f),l=this.missingNewlineOffset(n-1);return-this._textLines[n-1].length+a-A.length+(1-l)}_getIndexOnLine(i,e){let r=this._textLines[i],t,n,f=this._getLineLeftOffset(i),o=0;for(let a=0,A=r.length;a<A;a++)if(t=this.__charBounds[i][a].width,f+=t,f>e){n=!0;let l=f-t,k=f,u=Math.abs(l-e);o=Math.abs(k-e)<u?a:a-1;break}return n||(o=r.length-1),o}moveCursorDown(i){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorUpOrDown("Down",i)}moveCursorUp(i){this.selectionStart===0&&this.selectionEnd===0||this._moveCursorUpOrDown("Up",i)}_moveCursorUpOrDown(i,e){let r=this["get".concat(i,"CursorOffset")](e,this._selectionDirection===$0);if(e.shiftKey?this.moveCursorWithShift(r):this.moveCursorWithoutShift(r),r!==0){let t=this.text.length;this.selectionStart=c2(0,this.selectionStart,t),this.selectionEnd=c2(0,this.selectionEnd,t),this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea()}}moveCursorWithShift(i){let e=this._selectionDirection===E0?this.selectionStart+i:this.selectionEnd+i;return this.setSelectionStartEndWithShift(this.selectionStart,this.selectionEnd,e),i!==0}moveCursorWithoutShift(i){return i<0?(this.selectionStart+=i,this.selectionEnd=this.selectionStart):(this.selectionEnd+=i,this.selectionStart=this.selectionEnd),i!==0}moveCursorLeft(i){this.selectionStart===0&&this.selectionEnd===0||this._moveCursorLeftOrRight("Left",i)}_move(i,e,r){let t;if(i.altKey)t=this["findWordBoundary".concat(r)](this[e]);else{if(!i.metaKey&&i.keyCode!==35&&i.keyCode!==36)return this[e]+=r==="Left"?-1:1,!0;t=this["findLineBoundary".concat(r)](this[e])}return t!==void 0&&this[e]!==t&&(this[e]=t,!0)}_moveLeft(i,e){return this._move(i,e,"Left")}_moveRight(i,e){return this._move(i,e,"Right")}moveCursorLeftWithoutShift(i){let e=!0;return this._selectionDirection=E0,this.selectionEnd===this.selectionStart&&this.selectionStart!==0&&(e=this._moveLeft(i,"selectionStart")),this.selectionEnd=this.selectionStart,e}moveCursorLeftWithShift(i){return this._selectionDirection===$0&&this.selectionStart!==this.selectionEnd?this._moveLeft(i,"selectionEnd"):this.selectionStart!==0?(this._selectionDirection=E0,this._moveLeft(i,"selectionStart")):void 0}moveCursorRight(i){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorLeftOrRight("Right",i)}_moveCursorLeftOrRight(i,e){let r="moveCursor".concat(i).concat(e.shiftKey?"WithShift":"WithoutShift");this._currentCursorOpacity=1,this[r](e)&&(this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea())}moveCursorRightWithShift(i){return this._selectionDirection===E0&&this.selectionStart!==this.selectionEnd?this._moveRight(i,"selectionStart"):this.selectionEnd!==this._text.length?(this._selectionDirection=$0,this._moveRight(i,"selectionEnd")):void 0}moveCursorRightWithoutShift(i){let e=!0;return this._selectionDirection=$0,this.selectionStart===this.selectionEnd?(e=this._moveRight(i,"selectionStart"),this.selectionEnd=this.selectionStart):this.selectionStart=this.selectionEnd,e}},Nn=s=>!!s.button,p1=class extends g1{constructor(){super(...arguments),V(this,"draggableTextDelegate",void 0)}initBehavior(){this.on("mousedown",this._mouseDownHandler),this.on("mousedown:before",this._mouseDownHandlerBefore),this.on("mouseup",this.mouseUpHandler),this.on("mousedblclick",this.doubleClickHandler),this.on("tripleclick",this.tripleClickHandler),this.__lastClickTime=+new Date,this.__lastLastClickTime=+new Date,this.__lastPointer={},this.on("mousedown",this.onMouseDown),this.draggableTextDelegate=new d1(this),super.initBehavior()}shouldStartDragging(){return this.draggableTextDelegate.isActive()}onDragStart(i){return this.draggableTextDelegate.onDragStart(i)}canDrop(i){return this.draggableTextDelegate.canDrop(i)}onMouseDown(i){if(!this.canvas)return;this.__newClickTime=+new Date;let e=i.pointer;this.isTripleClick(e)&&(this.fire("tripleclick",i),Ln(i.e)),this.__lastLastClickTime=this.__lastClickTime,this.__lastClickTime=this.__newClickTime,this.__lastPointer=e,this.__lastSelected=this.selected&&!this.getActiveControl()}isTripleClick(i){return this.__newClickTime-this.__lastClickTime<500&&this.__lastClickTime-this.__lastLastClickTime<500&&this.__lastPointer.x===i.x&&this.__lastPointer.y===i.y}doubleClickHandler(i){this.isEditing&&this.selectWord(this.getSelectionStartFromPointer(i.e))}tripleClickHandler(i){this.isEditing&&this.selectLine(this.getSelectionStartFromPointer(i.e))}_mouseDownHandler(i){let{e}=i;this.canvas&&this.editable&&!Nn(e)&&!this.getActiveControl()&&(this.draggableTextDelegate.start(e)||(this.canvas.textEditingManager.register(this),this.selected&&(this.inCompositionMode=!1,this.setCursorByClick(e)),this.isEditing&&(this.__selectionStartOnMouseDown=this.selectionStart,this.selectionStart===this.selectionEnd&&this.abortCursorAnimation(),this.renderCursorOrSelection())))}_mouseDownHandlerBefore(i){let{e}=i;this.canvas&&this.editable&&!Nn(e)&&(this.selected=this===this.canvas._activeObject)}mouseUpHandler(i){let{e,transform:r}=i,t=this.draggableTextDelegate.end(e);if(this.canvas){this.canvas.textEditingManager.unregister(this);let n=this.canvas._activeObject;if(n&&n!==this)return}!this.editable||this.group&&!this.group.interactive||r&&r.actionPerformed||Nn(e)||t||(this.__lastSelected&&!this.getActiveControl()?(this.selected=!1,this.__lastSelected=!1,this.enterEditing(e),this.selectionStart===this.selectionEnd?this.initDelayedCursor(!0):this.renderCursorOrSelection()):this.selected=!0)}setCursorByClick(i){let e=this.getSelectionStartFromPointer(i),r=this.selectionStart,t=this.selectionEnd;i.shiftKey?this.setSelectionStartEndWithShift(r,t,e):(this.selectionStart=e,this.selectionEnd=e),this.isEditing&&(this._fireSelectionChanged(),this._updateTextarea())}getSelectionStartFromPointer(i){let e=this.canvas.getScenePoint(i).transform(Vi(this.calcTransformMatrix())).add(new N(-this._getLeftOffset(),-this._getTopOffset())),r=0,t=0,n=0;for(let A=0;A<this._textLines.length&&r<=e.y;A++)r+=this.getHeightOfLine(A),n=A,A>0&&(t+=this._textLines[A-1].length+this.missingNewlineOffset(A-1));let f=Math.abs(this._getLineLeftOffset(n)),o=this._textLines[n].length,a=this.__charBounds[n];for(let A=0;A<o;A++){let l=f+a[A].kernedWidth;if(e.x<=l){Math.abs(e.x-l)<=Math.abs(e.x-f)&&t++;break}f=l,t++}return Math.min(this.flipX?o-t:t,this._text.length)}},ot="moveCursorUp",at="moveCursorDown",st="moveCursorLeft",At="moveCursorRight",lt="exitEditing",Al=D({selectionStart:0,selectionEnd:0,selectionColor:"rgba(17,119,255,0.3)",isEditing:!1,editable:!0,editingBorderColor:"rgba(102,153,255,0.25)",cursorWidth:2,cursorColor:"",cursorDelay:1e3,cursorDuration:600,caching:!0,hiddenTextareaContainer:null,keysMap:{9:lt,27:lt,33:ot,34:at,35:At,36:st,37:st,38:ot,39:At,40:at},keysMapRtl:{9:lt,27:lt,33:ot,34:at,35:st,36:At,37:At,38:ot,39:st,40:at},ctrlKeysMapDown:{65:"selectAll"},ctrlKeysMapUp:{67:"copy",88:"cut"}},{_selectionDirection:null,_reSpace:/\s|\r?\n/,inCompositionMode:!1}),h0=class extends p1{static getDefaults(){return D(D({},super.getDefaults()),h0.ownDefaults)}get type(){let i=super.type;return i==="itext"?"i-text":i}constructor(i,e){super(i,D(D({},h0.ownDefaults),e)),this.initBehavior()}_set(i,e){return this.isEditing&&this._savedProps&&i in this._savedProps?(this._savedProps[i]=e,this):(i==="canvas"&&(this.canvas instanceof O2&&this.canvas.textEditingManager.remove(this),e instanceof O2&&e.textEditingManager.add(this)),super._set(i,e))}setSelectionStart(i){i=Math.max(i,0),this._updateAndFire("selectionStart",i)}setSelectionEnd(i){i=Math.min(i,this.text.length),this._updateAndFire("selectionEnd",i)}_updateAndFire(i,e){this[i]!==e&&(this._fireSelectionChanged(),this[i]=e),this._updateTextarea()}_fireSelectionChanged(){this.fire("selection:changed"),this.canvas&&this.canvas.fire("text:selection:changed",{target:this})}initDimensions(){this.isEditing&&this.initDelayedCursor(),super.initDimensions()}getSelectionStyles(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.selectionStart||0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selectionEnd,r=arguments.length>2?arguments[2]:void 0;return super.getSelectionStyles(i,e,r)}setSelectionStyles(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selectionStart||0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.selectionEnd;return super.setSelectionStyles(i,e,r)}get2DCursorLocation(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.selectionStart,e=arguments.length>1?arguments[1]:void 0;return super.get2DCursorLocation(i,e)}render(i){super.render(i),this.cursorOffsetCache={},this.renderCursorOrSelection()}toCanvasElement(i){let e=this.isEditing;this.isEditing=!1;let r=super.toCanvasElement(i);return this.isEditing=e,r}renderCursorOrSelection(){if(!this.isEditing)return;let i=this.clearContextTop(!0);if(!i)return;let e=this._getCursorBoundaries();this.selectionStart!==this.selectionEnd||this.inCompositionMode?this.renderSelection(i,e):this.renderCursor(i,e),this.canvas.contextTopDirty=!0,i.restore()}_getCursorBoundaries(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.selectionStart,e=arguments.length>1?arguments[1]:void 0,r=this._getLeftOffset(),t=this._getTopOffset(),n=this._getCursorBoundariesOffsets(i,e);return{left:r,top:t,leftOffset:n.left,topOffset:n.top}}_getCursorBoundariesOffsets(i,e){return e?this.__getCursorBoundariesOffsets(i):this.cursorOffsetCache&&"top"in this.cursorOffsetCache?this.cursorOffsetCache:this.cursorOffsetCache=this.__getCursorBoundariesOffsets(i)}__getCursorBoundariesOffsets(i){let e=0,r=0,{charIndex:t,lineIndex:n}=this.get2DCursorLocation(i);for(let A=0;A<n;A++)e+=this.getHeightOfLine(A);let f=this._getLineLeftOffset(n),o=this.__charBounds[n][t];o&&(r=o.left),this.charSpacing!==0&&t===this._textLines[n].length&&(r-=this._getWidthOfCharSpacing());let a={top:e,left:f+(r>0?r:0)};return this.direction==="rtl"&&(this.textAlign===$0||this.textAlign===fe||this.textAlign===gr?a.left*=-1:this.textAlign===E0||this.textAlign===Vt?a.left=f-(r>0?r:0):this.textAlign!==d0&&this.textAlign!==pr||(a.left=f-(r>0?r:0))),a}renderCursorAt(i){this._renderCursor(this.canvas.contextTop,this._getCursorBoundaries(i,!0),i)}renderCursor(i,e){this._renderCursor(i,e,this.selectionStart)}getCursorRenderingData(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.selectionStart,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this._getCursorBoundaries(i),r=this.get2DCursorLocation(i),t=r.lineIndex,n=r.charIndex>0?r.charIndex-1:0,f=this.getValueOfPropertyAt(t,n,"fontSize"),o=this.getObjectScaling().x*this.canvas.getZoom(),a=this.cursorWidth/o,A=this.getValueOfPropertyAt(t,n,"deltaY"),l=e.topOffset+(1-this._fontSizeFraction)*this.getHeightOfLine(t)/this.lineHeight-f*(1-this._fontSizeFraction);return{color:this.cursorColor||this.getValueOfPropertyAt(t,n,"fill"),opacity:this._currentCursorOpacity,left:e.left+e.leftOffset-a/2,top:l+e.top+A,width:a,height:f}}_renderCursor(i,e,r){let{color:t,opacity:n,left:f,top:o,width:a,height:A}=this.getCursorRenderingData(r,e);i.fillStyle=t,i.globalAlpha=n,i.fillRect(f,o,a,A)}renderSelection(i,e){let r={selectionStart:this.inCompositionMode?this.hiddenTextarea.selectionStart:this.selectionStart,selectionEnd:this.inCompositionMode?this.hiddenTextarea.selectionEnd:this.selectionEnd};this._renderSelection(i,r,e)}renderDragSourceEffect(){let i=this.draggableTextDelegate.getDragStartSelection();this._renderSelection(this.canvas.contextTop,i,this._getCursorBoundaries(i.selectionStart,!0))}renderDropTargetEffect(i){let e=this.getSelectionStartFromPointer(i);this.renderCursorAt(e)}_renderSelection(i,e,r){let t=e.selectionStart,n=e.selectionEnd,f=this.textAlign.includes(fe),o=this.get2DCursorLocation(t),a=this.get2DCursorLocation(n),A=o.lineIndex,l=a.lineIndex,k=o.charIndex<0?0:o.charIndex,u=a.charIndex<0?0:a.charIndex;for(let h=A;h<=l;h++){let c=this._getLineLeftOffset(h)||0,d=this.getHeightOfLine(h),b=0,g=0,v=0;if(h===A&&(g=this.__charBounds[A][k].left),h>=A&&h<l)v=f&&!this.isEndOfWrapping(h)?this.width:this.getLineWidth(h)||5;else if(h===l)if(u===0)v=this.__charBounds[l][u].left;else{let y=this._getWidthOfCharSpacing();v=this.__charBounds[l][u-1].left+this.__charBounds[l][u-1].width-y}b=d,(this.lineHeight<1||h===l&&this.lineHeight>1)&&(d/=this.lineHeight);let w=r.left+c+g,p=d,m=0,C=v-g;this.inCompositionMode?(i.fillStyle=this.compositionColor||"black",p=1,m=d):i.fillStyle=this.selectionColor,this.direction==="rtl"&&(this.textAlign===$0||this.textAlign===fe||this.textAlign===gr?w=this.width-w-C:this.textAlign===E0||this.textAlign===Vt?w=r.left+c-v:this.textAlign!==d0&&this.textAlign!==pr||(w=r.left+c-v)),i.fillRect(w,r.top+r.topOffset+m,C,p),r.topOffset+=b}}getCurrentCharFontSize(){let i=this._getCurrentCharIndex();return this.getValueOfPropertyAt(i.l,i.c,"fontSize")}getCurrentCharColor(){let i=this._getCurrentCharIndex();return this.getValueOfPropertyAt(i.l,i.c,ri)}_getCurrentCharIndex(){let i=this.get2DCursorLocation(this.selectionStart,!0),e=i.charIndex>0?i.charIndex-1:0;return{l:i.lineIndex,c:e}}dispose(){this.exitEditingImpl(),this.draggableTextDelegate.dispose(),super.dispose()}};V(h0,"ownDefaults",Al),V(h0,"type","IText"),r0.setClass(h0),r0.setClass(h0,"i-text");var ge=class extends h0{static getDefaults(){return D(D({},super.getDefaults()),ge.ownDefaults)}constructor(i,e){super(i,D(D({},ge.ownDefaults),e))}static createControls(){return{controls:qo()}}initDimensions(){this.initialized&&(this.isEditing&&this.initDelayedCursor(),this._clearCache(),this.dynamicMinWidth=0,this._styleMap=this._generateStyleMap(this._splitText()),this.dynamicMinWidth>this.width&&this._set("width",this.dynamicMinWidth),this.textAlign.includes(fe)&&this.enlargeSpaces(),this.height=this.calcTextHeight())}_generateStyleMap(i){let e=0,r=0,t=0,n={};for(let f=0;f<i.graphemeLines.length;f++)i.graphemeText[t]===`
|
|
`&&f>0?(r=0,t++,e++):!this.splitByGrapheme&&this._reSpaceAndTab.test(i.graphemeText[t])&&f>0&&(r++,t++),n[f]={line:e,offset:r},t+=i.graphemeLines[f].length,r+=i.graphemeLines[f].length;return n}styleHas(i,e){if(this._styleMap&&!this.isWrapping){let r=this._styleMap[e];r&&(e=r.line)}return super.styleHas(i,e)}isEmptyStyles(i){if(!this.styles)return!0;let e,r=0,t=i+1,n=!1,f=this._styleMap[i],o=this._styleMap[i+1];f&&(i=f.line,r=f.offset),o&&(t=o.line,n=t===i,e=o.offset);let a=i===void 0?this.styles:{line:this.styles[i]};for(let A in a)for(let l in a[A]){let k=parseInt(l,10);if(k>=r&&(!n||k<e))for(let u in a[A][l])return!1}return!0}_getStyleDeclaration(i,e){if(this._styleMap&&!this.isWrapping){let r=this._styleMap[i];if(!r)return{};i=r.line,e=r.offset+e}return super._getStyleDeclaration(i,e)}_setStyleDeclaration(i,e,r){let t=this._styleMap[i];super._setStyleDeclaration(t.line,t.offset+e,r)}_deleteStyleDeclaration(i,e){let r=this._styleMap[i];super._deleteStyleDeclaration(r.line,r.offset+e)}_getLineStyle(i){let e=this._styleMap[i];return!!this.styles[e.line]}_setLineStyle(i){let e=this._styleMap[i];super._setLineStyle(e.line)}_wrapText(i,e){this.isWrapping=!0;let r=this.getGraphemeDataForRender(i),t=[];for(let n=0;n<r.wordsData.length;n++)t.push(...this._wrapLine(n,e,r));return this.isWrapping=!1,t}getGraphemeDataForRender(i){let e=this.splitByGrapheme,r=e?"":" ",t=0;return{wordsData:i.map((n,f)=>{let o=0,a=e?this.graphemeSplit(n):this.wordSplit(n);return a.length===0?[{word:[],width:0}]:a.map(A=>{let l=e?[A]:this.graphemeSplit(A),k=this._measureWord(l,f,o);return t=Math.max(k,t),o+=l.length+r.length,{word:l,width:k}})}),largestWordWidth:t}}_measureWord(i,e){let r,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=0;for(let f=0,o=i.length;f<o;f++)n+=this._getGraphemeBox(i[f],e,f+t,r,!0).kernedWidth,r=i[f];return n}wordSplit(i){return i.split(this._wordJoiners)}_wrapLine(i,e,r){let{largestWordWidth:t,wordsData:n}=r,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=this._getWidthOfCharSpacing(),a=this.splitByGrapheme,A=[],l=a?"":" ",k=0,u=[],h=0,c=0,d=!0;e-=f;let b=Math.max(e,t,this.dynamicMinWidth),g=n[i],v;for(h=0,v=0;v<g.length;v++){let{word:w,width:p}=g[v];h+=w.length,k+=c+p-o,k>b&&!d?(A.push(u),u=[],k=p,d=!0):k+=o,d||a||u.push(l),u=u.concat(w),c=a?0:this._measureWord([l],i,h),h++,d=!1}return v&&A.push(u),t+f>this.dynamicMinWidth&&(this.dynamicMinWidth=t-o+f),A}isEndOfWrapping(i){return!this._styleMap[i+1]||this._styleMap[i+1].line!==this._styleMap[i].line}missingNewlineOffset(i,e){return this.splitByGrapheme&&!e?this.isEndOfWrapping(i)?1:0:1}_splitTextIntoLines(i){let e=super._splitTextIntoLines(i),r=this._wrapText(e.lines,this.width),t=new Array(r.length);for(let n=0;n<r.length;n++)t[n]=r[n].join("");return e.lines=t,e.graphemeLines=r,e}getMinWidth(){return Math.max(this.minWidth,this.dynamicMinWidth)}_removeExtraneousStyles(){let i=new Map;for(let e in this._styleMap){let r=parseInt(e,10);if(this._textLines[r]){let t=this._styleMap[e].line;i.set("".concat(t),!0)}}for(let e in this.styles)i.has(e)||delete this.styles[e]}toObject(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return super.toObject(["minWidth","splitByGrapheme",...i])}};V(ge,"type","Textbox"),V(ge,"textLayoutProperties",[...h0.textLayoutProperties,"width"]),V(ge,"ownDefaults",{minWidth:20,dynamicMinWidth:2,lockScalingFlip:!0,noScaleCache:!1,_wordJoiners:/[ \t\r]/,splitByGrapheme:!1}),r0.setClass(ge);var Dt=class extends Q2{shouldPerformLayout(i){return!!i.target.clipPath&&super.shouldPerformLayout(i)}shouldLayoutClipPath(){return!1}calcLayoutResult(i,e){let{target:r}=i,{clipPath:t,group:n}=r;if(!t||!this.shouldPerformLayout(i))return;let{width:f,height:o}=oe(oa(r,t)),a=new N(f,o);if(t.absolutePositioned)return{center:me(t.getRelativeCenterPoint(),void 0,n?n.calcTransformMatrix():void 0),size:a};{let A=t.getRelativeCenterPoint().transform(r.calcOwnMatrix(),!0);if(this.shouldPerformLayout(i)){let{center:l=new N,correction:k=new N}=this.calcBoundingBox(e,i)||{};return{center:l.add(A),correction:k.subtract(A),size:a}}return{center:r.getRelativeCenterPoint().add(A),size:a}}}};V(Dt,"type","clip-path"),r0.setClass(Dt);var St=class extends Q2{getInitialSize(i,e){let{target:r}=i,{size:t}=e;return new N(r.width||t.x,r.height||t.y)}};V(St,"type","fixed"),r0.setClass(St);var m1=class extends b2{subscribeTargets(i){let e=i.target;i.targets.reduce((r,t)=>(t.parent&&r.add(t.parent),r),new Set).forEach(r=>{r.layoutManager.subscribeTargets({target:r,targets:[e]})})}unsubscribeTargets(i){let e=i.target,r=e.getObjects();i.targets.reduce((t,n)=>(n.parent&&t.add(n.parent),t),new Set).forEach(t=>{!r.some(n=>n.parent===t)&&t.layoutManager.unsubscribeTargets({target:t,targets:[e]})})}},di=class extends Ki{static getDefaults(){return D(D({},super.getDefaults()),di.ownDefaults)}constructor(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Object.assign(this,di.ownDefaults),this.setOptions(e);let{left:r,top:t,layoutManager:n}=e;this.groupInit(i,{left:r,top:t,layoutManager:n!=null?n:new m1})}_shouldSetNestedCoords(){return!0}__objectSelectionMonitor(){}multiSelectAdd(){for(var i=arguments.length,e=new Array(i),r=0;r<i;r++)e[r]=arguments[r];this.multiSelectionStacking==="selection-order"?this.add(...e):e.forEach(t=>{let n=this._objects.findIndex(o=>o.isInFrontOf(t)),f=n===-1?this.size():n;this.insertAt(f,t)})}canEnterGroup(i){return this.getObjects().some(e=>e.isDescendantOf(i)||i.isDescendantOf(e))?(Ge("error","ActiveSelection: circular object trees are not supported, this call has no effect"),!1):super.canEnterGroup(i)}enterGroup(i,e){i.parent&&i.parent===i.group?i.parent._exitGroup(i):i.group&&i.parent!==i.group&&i.group.remove(i),this._enterGroup(i,e)}exitGroup(i,e){this._exitGroup(i,e),i.parent&&i.parent._enterGroup(i,!0)}_onAfterObjectsChange(i,e){super._onAfterObjectsChange(i,e);let r=new Set;e.forEach(t=>{let{parent:n}=t;n&&r.add(n)}),i===Q1?r.forEach(t=>{t._onAfterObjectsChange(Et,e)}):r.forEach(t=>{t._set("dirty",!0)})}onDeselect(){return this.removeAll(),!1}toString(){return"#<ActiveSelection: (".concat(this.complexity(),")>")}shouldCache(){return!1}isOnACache(){return!1}_renderControls(i,e,r){i.save(),i.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1;let t=D(D({hasControls:!1},r),{},{forActiveSelection:!0});for(let n=0;n<this._objects.length;n++)this._objects[n]._renderControls(i,t);super._renderControls(i,e),i.restore()}};V(di,"type","ActiveSelection"),V(di,"ownDefaults",{multiSelectionStacking:"canvas-stacking"}),r0.setClass(di),r0.setClass(di,"activeSelection");var v1=class{constructor(){V(this,"resources",{})}applyFilters(i,e,r,t,n){let f=n.getContext("2d");if(!f)return;f.drawImage(e,0,0,r,t);let o={sourceWidth:r,sourceHeight:t,imageData:f.getImageData(0,0,r,t),originalEl:e,originalImageData:f.getImageData(0,0,r,t),canvasEl:n,ctx:f,filterBackend:this};i.forEach(A=>{A.applyTo(o)});let{imageData:a}=o;return a.width===r&&a.height===t||(n.width=a.width,n.height=a.height),f.putImageData(a,0,0),o}},Mt=class{constructor(){let{tileSize:i=x0.textureSize}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};V(this,"aPosition",new Float32Array([0,0,0,1,1,0,1,1])),V(this,"resources",{}),this.tileSize=i,this.setupGLContext(i,i),this.captureGPUInfo()}setupGLContext(i,e){this.dispose(),this.createWebGLCanvas(i,e)}createWebGLCanvas(i,e){let r=re({width:i,height:e}),t=r.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,depth:!1,stencil:!1,antialias:!1});t&&(t.clearColor(0,0,0,0),this.canvas=r,this.gl=t)}applyFilters(i,e,r,t,n,f){let o=this.gl,a=n.getContext("2d");if(!o||!a)return;let A;f&&(A=this.getCachedTexture(f,e));let l={originalWidth:e.width||e.naturalWidth||0,originalHeight:e.height||e.naturalHeight||0,sourceWidth:r,sourceHeight:t,destinationWidth:r,destinationHeight:t,context:o,sourceTexture:this.createTexture(o,r,t,A?void 0:e),targetTexture:this.createTexture(o,r,t),originalTexture:A||this.createTexture(o,r,t,A?void 0:e),passes:i.length,webgl:!0,aPosition:this.aPosition,programCache:this.programCache,pass:0,filterBackend:this,targetCanvas:n},k=o.createFramebuffer();return o.bindFramebuffer(o.FRAMEBUFFER,k),i.forEach(u=>{u&&u.applyTo(l)}),function(u){let h=u.targetCanvas,c=h.width,d=h.height,b=u.destinationWidth,g=u.destinationHeight;c===b&&d===g||(h.width=b,h.height=g)}(l),this.copyGLTo2D(o,l),o.bindTexture(o.TEXTURE_2D,null),o.deleteTexture(l.sourceTexture),o.deleteTexture(l.targetTexture),o.deleteFramebuffer(k),a.setTransform(1,0,0,1,0,0),l}dispose(){this.canvas&&(this.canvas=null,this.gl=null),this.clearWebGLCaches()}clearWebGLCaches(){this.programCache={},this.textureCache={}}createTexture(i,e,r,t,n){let{NEAREST:f,TEXTURE_2D:o,RGBA:a,UNSIGNED_BYTE:A,CLAMP_TO_EDGE:l,TEXTURE_MAG_FILTER:k,TEXTURE_MIN_FILTER:u,TEXTURE_WRAP_S:h,TEXTURE_WRAP_T:c}=i,d=i.createTexture();return i.bindTexture(o,d),i.texParameteri(o,k,n||f),i.texParameteri(o,u,n||f),i.texParameteri(o,h,l),i.texParameteri(o,c,l),t?i.texImage2D(o,0,a,a,A,t):i.texImage2D(o,0,a,e,r,0,a,A,null),d}getCachedTexture(i,e,r){let{textureCache:t}=this;if(t[i])return t[i];{let n=this.createTexture(this.gl,e.width,e.height,e,r);return n&&(t[i]=n),n}}evictCachesForKey(i){this.textureCache[i]&&(this.gl.deleteTexture(this.textureCache[i]),delete this.textureCache[i])}copyGLTo2D(i,e){let r=i.canvas,t=e.targetCanvas,n=t.getContext("2d");if(!n)return;n.translate(0,t.height),n.scale(1,-1);let f=r.height-t.height;n.drawImage(r,0,f,t.width,t.height,0,0,t.width,t.height)}copyGLTo2DPutImageData(i,e){let r=e.targetCanvas.getContext("2d"),t=e.destinationWidth,n=e.destinationHeight,f=t*n*4;if(!r)return;let o=new Uint8Array(this.imageBuffer,0,f),a=new Uint8ClampedArray(this.imageBuffer,0,f);i.readPixels(0,0,t,n,i.RGBA,i.UNSIGNED_BYTE,o);let A=new ImageData(a,t,n);r.putImageData(A,0,0)}captureGPUInfo(){if(this.gpuInfo)return this.gpuInfo;let i=this.gl,e={renderer:"",vendor:""};if(!i)return e;let r=i.getExtension("WEBGL_debug_renderer_info");if(r){let t=i.getParameter(r.UNMASKED_RENDERER_WEBGL),n=i.getParameter(r.UNMASKED_VENDOR_WEBGL);t&&(e.renderer=t.toLowerCase()),n&&(e.vendor=n.toLowerCase())}return this.gpuInfo=e,e}},Qn;function ll(){let{WebGLProbe:s}=ae();return s.queryWebGL(Ni()),x0.enableGLFiltering&&s.isSupported(x0.textureSize)?new Mt({tileSize:x0.textureSize}):new v1}function Yn(){return!Qn&&(!(arguments.length>0&&arguments[0]!==void 0)||arguments[0])&&(Qn=ll()),Qn}var kl=["filters","resizeFilter","src","crossOrigin","type"],Wa=["cropX","cropY"],M0=class extends q0{static getDefaults(){return D(D({},super.getDefaults()),M0.ownDefaults)}constructor(i,e){super(),V(this,"_lastScaleX",1),V(this,"_lastScaleY",1),V(this,"_filterScalingX",1),V(this,"_filterScalingY",1),this.filters=[],Object.assign(this,M0.ownDefaults),this.setOptions(e),this.cacheKey="texture".concat(Se()),this.setElement(typeof i=="string"?(this.canvas&&Li(this.canvas.getElement())||z2()).getElementById(i):i,e)}getElement(){return this._element}setElement(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.removeTexture(this.cacheKey),this.removeTexture("".concat(this.cacheKey,"_filtered")),this._element=i,this._originalElement=i,this._setWidthHeight(e),i.classList.add(M0.CSS_CANVAS),this.filters.length!==0&&this.applyFilters(),this.resizeFilter&&this.applyResizeFilters()}removeTexture(i){let e=Yn(!1);e instanceof Mt&&e.evictCachesForKey(i)}dispose(){super.dispose(),this.removeTexture(this.cacheKey),this.removeTexture("".concat(this.cacheKey,"_filtered")),this._cacheContext=null,["_originalElement","_element","_filteredEl","_cacheCanvas"].forEach(i=>{let e=this[i];e&&ae().dispose(e),this[i]=void 0})}getCrossOrigin(){return this._originalElement&&(this._originalElement.crossOrigin||null)}getOriginalSize(){let i=this.getElement();return i?{width:i.naturalWidth||i.width,height:i.naturalHeight||i.height}:{width:0,height:0}}_stroke(i){if(!this.stroke||this.strokeWidth===0)return;let e=this.width/2,r=this.height/2;i.beginPath(),i.moveTo(-e,-r),i.lineTo(e,-r),i.lineTo(e,r),i.lineTo(-e,r),i.lineTo(-e,-r),i.closePath()}toObject(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=[];return this.filters.forEach(r=>{r&&e.push(r.toObject())}),D(D({},super.toObject([...Wa,...i])),{},{src:this.getSrc(),crossOrigin:this.getCrossOrigin(),filters:e},this.resizeFilter?{resizeFilter:this.resizeFilter.toObject()}:{})}hasCrop(){return!!this.cropX||!!this.cropY||this.width<this._element.width||this.height<this._element.height}_toSVG(){let i=[],e=this._element,r=-this.width/2,t=-this.height/2,n=[],f=[],o="",a="";if(!e)return[];if(this.hasCrop()){let A=Se();n.push('<clipPath id="imageCrop_'+A+`">
|
|
`,' <rect x="'+r+'" y="'+t+'" width="'+this.width+'" height="'+this.height+`" />
|
|
`,`</clipPath>
|
|
`),o=' clip-path="url(#imageCrop_'+A+')" '}if(this.imageSmoothing||(a=' image-rendering="optimizeSpeed"'),i.push(" <image ","COMMON_PARTS",'xlink:href="'.concat(this.getSvgSrc(!0),'" x="').concat(r-this.cropX,'" y="').concat(t-this.cropY,'" width="').concat(e.width||e.naturalWidth,'" height="').concat(e.height||e.naturalHeight,'"').concat(a).concat(o,`></image>
|
|
`)),this.stroke||this.strokeDashArray){let A=this.fill;this.fill=null,f=[' <rect x="'.concat(r,'" y="').concat(t,'" width="').concat(this.width,'" height="').concat(this.height,'" style="').concat(this.getSvgStyles(),`" />
|
|
`)],this.fill=A}return n=this.paintFirst!==ri?n.concat(f,i):n.concat(i,f),n}getSrc(i){let e=i?this._element:this._originalElement;return e?e.toDataURL?e.toDataURL():this.srcFromAttribute?e.getAttribute("src")||"":e.src:this.src||""}getSvgSrc(i){return this.getSrc(i)}setSrc(i){let{crossOrigin:e,signal:r}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return br(i,{crossOrigin:e,signal:r}).then(t=>{e!==void 0&&this.set({crossOrigin:e}),this.setElement(t)})}toString(){return'#<Image: { src: "'.concat(this.getSrc(),'" }>')}applyResizeFilters(){let i=this.resizeFilter,e=this.minimumScaleTrigger,r=this.getTotalObjectScaling(),t=r.x,n=r.y,f=this._filteredEl||this._originalElement;if(this.group&&this.set("dirty",!0),!i||t>e&&n>e)return this._element=f,this._filterScalingX=1,this._filterScalingY=1,this._lastScaleX=t,void(this._lastScaleY=n);let o=re(f),{width:a,height:A}=f;this._element=o,this._lastScaleX=i.scaleX=t,this._lastScaleY=i.scaleY=n,Yn().applyFilters([i],f,a,A,this._element),this._filterScalingX=o.width/this._originalElement.width,this._filterScalingY=o.height/this._originalElement.height}applyFilters(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.filters||[];if(i=i.filter(n=>n&&!n.isNeutralState()),this.set("dirty",!0),this.removeTexture("".concat(this.cacheKey,"_filtered")),i.length===0)return this._element=this._originalElement,this._filteredEl=void 0,this._filterScalingX=1,void(this._filterScalingY=1);let e=this._originalElement,r=e.naturalWidth||e.width,t=e.naturalHeight||e.height;if(this._element===this._originalElement){let n=re({width:r,height:t});this._element=n,this._filteredEl=n}else this._filteredEl&&(this._element=this._filteredEl,this._filteredEl.getContext("2d").clearRect(0,0,r,t),this._lastScaleX=1,this._lastScaleY=1);Yn().applyFilters(i,this._originalElement,r,t,this._element),this._originalElement.width===this._element.width&&this._originalElement.height===this._element.height||(this._filterScalingX=this._element.width/this._originalElement.width,this._filterScalingY=this._element.height/this._originalElement.height)}_render(i){i.imageSmoothingEnabled=this.imageSmoothing,this.isMoving!==!0&&this.resizeFilter&&this._needsResize()&&this.applyResizeFilters(),this._stroke(i),this._renderPaintInOrder(i)}drawCacheOnCanvas(i){i.imageSmoothingEnabled=this.imageSmoothing,super.drawCacheOnCanvas(i)}shouldCache(){return this.needsItsOwnCache()}_renderFill(i){let e=this._element;if(!e)return;let r=this._filterScalingX,t=this._filterScalingY,n=this.width,f=this.height,o=Math.max(this.cropX,0),a=Math.max(this.cropY,0),A=e.naturalWidth||e.width,l=e.naturalHeight||e.height,k=o*r,u=a*t,h=Math.min(n*r,A-k),c=Math.min(f*t,l-u),d=-n/2,b=-f/2,g=Math.min(n,A/r-o),v=Math.min(f,l/t-a);e&&i.drawImage(e,k,u,h,c,d,b,g,v)}_needsResize(){let i=this.getTotalObjectScaling();return i.x!==this._lastScaleX||i.y!==this._lastScaleY}_resetWidthHeight(){this.set(this.getOriginalSize())}_setWidthHeight(){let{width:i,height:e}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=this.getOriginalSize();this.width=i||r.width,this.height=e||r.height}parsePreserveAspectRatioAttribute(){let i=Co(this.preserveAspectRatio||""),e=this.width,r=this.height,t={width:e,height:r},n,f=this._element.width,o=this._element.height,a=1,A=1,l=0,k=0,u=0,h=0;return!i||i.alignX===Bi&&i.alignY===Bi?(a=e/f,A=r/o):(i.meetOrSlice==="meet"&&(a=A=sa(this._element,t),n=(e-f*a)/2,i.alignX==="Min"&&(l=-n),i.alignX==="Max"&&(l=n),n=(r-o*A)/2,i.alignY==="Min"&&(k=-n),i.alignY==="Max"&&(k=n)),i.meetOrSlice==="slice"&&(a=A=Aa(this._element,t),n=f-e/a,i.alignX==="Mid"&&(u=n/2),i.alignX==="Max"&&(u=n),n=o-r/A,i.alignY==="Mid"&&(h=n/2),i.alignY==="Max"&&(h=n),f=e/a,o=r/A)),{width:f,height:o,scaleX:a,scaleY:A,offsetLeft:l,offsetTop:k,cropX:u,cropY:h}}static fromObject(i,e){let{filters:r,resizeFilter:t,src:n,crossOrigin:f,type:o}=i,a=N0(i,kl);return Promise.all([br(n,D(D({},e),{},{crossOrigin:f})),r&&P2(r,e),t&&P2([t],e),xr(a,e)]).then(A=>{let[l,k=[],[u]=[],h={}]=A;return new this(l,D(D({},a),{},{src:n,filters:k,resizeFilter:u},h))})}static fromURL(i){let{crossOrigin:e=null,signal:r}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2?arguments[2]:void 0;return br(i,{crossOrigin:e,signal:r}).then(n=>new this(n,t))}static async fromElement(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,t=Ce(i,this.ATTRIBUTE_NAMES,r);return this.fromURL(t["xlink:href"],e,t).catch(n=>(Ge("log","Unable to parse Image",n),null))}};V(M0,"type","Image"),V(M0,"cacheProperties",[..._e,...Wa]),V(M0,"ownDefaults",{strokeWidth:0,srcFromAttribute:!1,minimumScaleTrigger:.5,cropX:0,cropY:0,imageSmoothing:!0}),V(M0,"CSS_CANVAS","canvas-img"),V(M0,"ATTRIBUTE_NAMES",[...Pe,"x","y","width","height","preserveAspectRatio","xlink:href","crossOrigin","image-rendering"]),r0.setClass(M0),r0.setSVGClass(M0);var g4=Jt(["pattern","defs","symbol","metadata","clipPath","mask","desc"]);var Fa=co,so=s=>function(i,e,r){let{points:t,pathOffset:n}=r;return new N(t[s]).subtract(n).transform(J0(r.getViewportTransform(),r.calcTransformMatrix()))},Xa=(s,i,e,r)=>{let{target:t,pointIndex:n}=i,f=t,o=me(new N(e,r),void 0,f.calcOwnMatrix());return f.points[n]=o.add(f.pathOffset),f.setDimensions(),!0},Va=(s,i)=>function(e,r,t,n){let f=r.target,o=new N(f.points[(s>0?s:f.points.length)-1]),a=o.subtract(f.pathOffset).transform(f.calcOwnMatrix()),A=i(e,D(D({},r),{},{pointIndex:s}),t,n),l=o.subtract(f.pathOffset).transform(f.calcOwnMatrix()).subtract(a);return f.left-=l.x,f.top-=l.y,A},Ao=s=>Re(Fa,Va(s,Xa)),w1=(s,i,e)=>{let{path:r,pathOffset:t}=s,n=r[i];return new N(n[e]-t.x,n[e+1]-t.y).transform(J0(s.getViewportTransform(),s.calcTransformMatrix()))};function ul(s,i,e){let{commandIndex:r,pointIndex:t}=this;return w1(e,r,t)}function hl(s,i,e,r){let{target:t}=i,{commandIndex:n,pointIndex:f}=this,o=((a,A,l,k,u)=>{let{path:h,pathOffset:c}=a,d=h[(k>0?k:h.length)-1],b=new N(d[u],d[u+1]),g=b.subtract(c).transform(a.calcOwnMatrix()),v=me(new N(A,l),void 0,a.calcOwnMatrix());h[k][u]=v.x+c.x,h[k][u+1]=v.y+c.y,a.setDimensions();let w=b.subtract(a.pathOffset).transform(a.calcOwnMatrix()).subtract(g);return a.left-=w.x,a.top-=w.y,a.set("dirty",!0),!0})(t,e,r,n,f);return V1(this.actionName,D(D({},G1(s,i,e,r)),{},{commandIndex:n,pointIndex:f})),o}var Tt=class extends hi{constructor(i){super(i)}render(i,e,r,t,n){let f=D(D({},t),{},{cornerColor:this.controlFill,cornerStrokeColor:this.controlStroke,transparentCorners:!this.controlFill});super.render(i,e,r,f,n)}},_1=class extends Tt{constructor(i){super(i)}render(i,e,r,t,n){let{path:f}=n,{commandIndex:o,pointIndex:a,connectToCommandIndex:A,connectToPointIndex:l}=this;i.save(),i.strokeStyle=this.controlStroke,this.connectionDashArray&&i.setLineDash(this.connectionDashArray);let[k]=f[o],u=w1(n,A,l);if(k==="Q"){let h=w1(n,o,a+2);i.moveTo(h.x,h.y),i.lineTo(e,r)}else i.moveTo(e,r);i.lineTo(u.x,u.y),i.stroke(),i.restore(),super.render(i,e,r,t,n)}},kt=(s,i,e,r,t,n)=>new(e?_1:Tt)(D(D({commandIndex:s,pointIndex:i,actionName:"modifyPath",positionHandler:ul,actionHandler:hl,connectToCommandIndex:t,connectToPointIndex:n},r),e?r.controlPointStyle:r.pointStyle)),p4=Object.freeze({__proto__:null,changeWidth:n1,createObjectDefaultControls:R1,createPathControls:function(s){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},e={},r="M";return s.path.forEach((t,n)=>{let f=t[0];switch(f!=="Z"&&(e["c_".concat(n,"_").concat(f)]=kt(n,t.length-2,!1,i)),f){case"C":e["c_".concat(n,"_C_CP_1")]=kt(n,1,!0,i,n-1,(o=>o==="C"?5:o==="Q"?3:1)(r)),e["c_".concat(n,"_C_CP_2")]=kt(n,3,!0,i,n,5);break;case"Q":e["c_".concat(n,"_Q_CP_1")]=kt(n,1,!0,i,n,3)}r=f}),e},createPolyActionHandler:Ao,createPolyControls:function(s){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},e={};for(let r=0;r<(typeof s=="number"?s:s.points.length);r++)e["p".concat(r)]=new hi(D({actionName:Fa,positionHandler:so(r),actionHandler:Ao(r)},i));return e},createPolyPositionHandler:so,createResizeControls:$o,createTextboxDefaultControls:qo,dragHandler:Vo,factoryPolyActionHandler:Va,getLocalPoint:zt,polyActionHandler:Xa,renderCircleControl:Ro,renderSquareControl:Po,rotationStyleHandler:No,rotationWithSnapping:Qo,scaleCursorStyleHandler:V2,scaleOrSkewActionName:hr,scaleSkewCursorStyleHandler:je,scalingEqually:ur,scalingX:zo,scalingXOrSkewingY:f1,scalingY:Jo,scalingYOrSkewingX:o1,skewCursorStyleHandler:Ho,skewHandlerX:jo,skewHandlerY:Lo,wrapWithFireEvent:Re,wrapWithFixedAnchor:p2}),$t=s=>s.webgl!==void 0;var J1="precision highp float",cl=`
|
|
`.concat(J1,`;
|
|
varying vec2 vTexCoord;
|
|
uniform sampler2D uTexture;
|
|
void main() {
|
|
gl_FragColor = texture2D(uTexture, vTexCoord);
|
|
}`),dl=["type"],bl=["type"],gl=new RegExp(J1,"g"),H0=class{get type(){return this.constructor.type}constructor(){let i=N0(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},dl);Object.assign(this,this.constructor.defaults,i)}getFragmentSource(){return cl}getVertexSource(){return`
|
|
attribute vec2 aPosition;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
vTexCoord = aPosition;
|
|
gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);
|
|
}`}createProgram(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.getFragmentSource(),r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.getVertexSource(),{WebGLProbe:{GLPrecision:t="highp"}}=ae();t!=="highp"&&(e=e.replace(gl,J1.replace("highp",t)));let n=i.createShader(i.VERTEX_SHADER),f=i.createShader(i.FRAGMENT_SHADER),o=i.createProgram();if(!n||!f||!o)throw new Ri("Vertex, fragment shader or program creation error");if(i.shaderSource(n,r),i.compileShader(n),!i.getShaderParameter(n,i.COMPILE_STATUS))throw new Ri("Vertex shader compile error for ".concat(this.type,": ").concat(i.getShaderInfoLog(n)));if(i.shaderSource(f,e),i.compileShader(f),!i.getShaderParameter(f,i.COMPILE_STATUS))throw new Ri("Fragment shader compile error for ".concat(this.type,": ").concat(i.getShaderInfoLog(f)));if(i.attachShader(o,n),i.attachShader(o,f),i.linkProgram(o),!i.getProgramParameter(o,i.LINK_STATUS))throw new Ri('Shader link error for "'.concat(this.type,'" ').concat(i.getProgramInfoLog(o)));let a=this.getUniformLocations(i,o)||{};return a.uStepW=i.getUniformLocation(o,"uStepW"),a.uStepH=i.getUniformLocation(o,"uStepH"),{program:o,attributeLocations:this.getAttributeLocations(i,o),uniformLocations:a}}getAttributeLocations(i,e){return{aPosition:i.getAttribLocation(e,"aPosition")}}getUniformLocations(i,e){let r=this.constructor.uniformLocations,t={};for(let n=0;n<r.length;n++)t[r[n]]=i.getUniformLocation(e,r[n]);return t}sendAttributeData(i,e,r){let t=e.aPosition,n=i.createBuffer();i.bindBuffer(i.ARRAY_BUFFER,n),i.enableVertexAttribArray(t),i.vertexAttribPointer(t,2,i.FLOAT,!1,0,0),i.bufferData(i.ARRAY_BUFFER,r,i.STATIC_DRAW)}_setupFrameBuffer(i){let e=i.context;if(i.passes>1){let r=i.destinationWidth,t=i.destinationHeight;i.sourceWidth===r&&i.sourceHeight===t||(e.deleteTexture(i.targetTexture),i.targetTexture=i.filterBackend.createTexture(e,r,t)),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,i.targetTexture,0)}else e.bindFramebuffer(e.FRAMEBUFFER,null),e.finish()}_swapTextures(i){i.passes--,i.pass++;let e=i.targetTexture;i.targetTexture=i.sourceTexture,i.sourceTexture=e}isNeutralState(i){return!1}applyTo(i){$t(i)?(this._setupFrameBuffer(i),this.applyToWebGL(i),this._swapTextures(i)):this.applyTo2d(i)}applyTo2d(i){}getCacheKey(){return this.type}retrieveShader(i){let e=this.getCacheKey();return i.programCache[e]||(i.programCache[e]=this.createProgram(i.context)),i.programCache[e]}applyToWebGL(i){let e=i.context,r=this.retrieveShader(i);i.pass===0&&i.originalTexture?e.bindTexture(e.TEXTURE_2D,i.originalTexture):e.bindTexture(e.TEXTURE_2D,i.sourceTexture),e.useProgram(r.program),this.sendAttributeData(e,r.attributeLocations,i.aPosition),e.uniform1f(r.uniformLocations.uStepW,1/i.sourceWidth),e.uniform1f(r.uniformLocations.uStepH,1/i.sourceHeight),this.sendUniformData(e,r.uniformLocations),e.viewport(0,0,i.destinationWidth,i.destinationHeight),e.drawArrays(e.TRIANGLE_STRIP,0,4)}bindAdditionalTexture(i,e,r){i.activeTexture(r),i.bindTexture(i.TEXTURE_2D,e),i.activeTexture(i.TEXTURE0)}unbindAdditionalTexture(i,e){i.activeTexture(e),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(i.TEXTURE0)}sendUniformData(i,e){}createHelpLayer(i){if(!i.helpLayer){let{sourceWidth:e,sourceHeight:r}=i,t=re({width:e,height:r});i.helpLayer=t}}toObject(){let i=Object.keys(this.constructor.defaults||{});return D({type:this.type},i.reduce((e,r)=>(e[r]=this[r],e),{}))}toJSON(){return this.toObject()}static async fromObject(i,e){return new this(N0(i,bl))}};V(H0,"type","BaseFilter"),V(H0,"uniformLocations",[]);var pl={multiply:`gl_FragColor.rgb *= uColor.rgb;
|
|
`,screen:`gl_FragColor.rgb = 1.0 - (1.0 - gl_FragColor.rgb) * (1.0 - uColor.rgb);
|
|
`,add:`gl_FragColor.rgb += uColor.rgb;
|
|
`,difference:`gl_FragColor.rgb = abs(gl_FragColor.rgb - uColor.rgb);
|
|
`,subtract:`gl_FragColor.rgb -= uColor.rgb;
|
|
`,lighten:`gl_FragColor.rgb = max(gl_FragColor.rgb, uColor.rgb);
|
|
`,darken:`gl_FragColor.rgb = min(gl_FragColor.rgb, uColor.rgb);
|
|
`,exclusion:`gl_FragColor.rgb += uColor.rgb - 2.0 * (uColor.rgb * gl_FragColor.rgb);
|
|
`,overlay:`
|
|
if (uColor.r < 0.5) {
|
|
gl_FragColor.r *= 2.0 * uColor.r;
|
|
} else {
|
|
gl_FragColor.r = 1.0 - 2.0 * (1.0 - gl_FragColor.r) * (1.0 - uColor.r);
|
|
}
|
|
if (uColor.g < 0.5) {
|
|
gl_FragColor.g *= 2.0 * uColor.g;
|
|
} else {
|
|
gl_FragColor.g = 1.0 - 2.0 * (1.0 - gl_FragColor.g) * (1.0 - uColor.g);
|
|
}
|
|
if (uColor.b < 0.5) {
|
|
gl_FragColor.b *= 2.0 * uColor.b;
|
|
} else {
|
|
gl_FragColor.b = 1.0 - 2.0 * (1.0 - gl_FragColor.b) * (1.0 - uColor.b);
|
|
}
|
|
`,tint:`
|
|
gl_FragColor.rgb *= (1.0 - uColor.a);
|
|
gl_FragColor.rgb += uColor.rgb;
|
|
`},Le=class extends H0{getCacheKey(){return"".concat(this.type,"_").concat(this.mode)}getFragmentSource(){return`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform vec4 uColor;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
vec4 color = texture2D(uTexture, vTexCoord);
|
|
gl_FragColor = color;
|
|
if (color.a > 0.0) {
|
|
`.concat(pl[this.mode],`
|
|
}
|
|
}
|
|
`)}applyTo2d(i){let{imageData:{data:e}}=i,r=new Z0(this.color).getSource(),t=this.alpha,n=r[0]*t,f=r[1]*t,o=r[2]*t,a=1-t;for(let A=0;A<e.length;A+=4){let l=e[A],k=e[A+1],u=e[A+2],h,c,d;switch(this.mode){case"multiply":h=l*n/255,c=k*f/255,d=u*o/255;break;case"screen":h=255-(255-l)*(255-n)/255,c=255-(255-k)*(255-f)/255,d=255-(255-u)*(255-o)/255;break;case"add":h=l+n,c=k+f,d=u+o;break;case"difference":h=Math.abs(l-n),c=Math.abs(k-f),d=Math.abs(u-o);break;case"subtract":h=l-n,c=k-f,d=u-o;break;case"darken":h=Math.min(l,n),c=Math.min(k,f),d=Math.min(u,o);break;case"lighten":h=Math.max(l,n),c=Math.max(k,f),d=Math.max(u,o);break;case"overlay":h=n<128?2*l*n/255:255-2*(255-l)*(255-n)/255,c=f<128?2*k*f/255:255-2*(255-k)*(255-f)/255,d=o<128?2*u*o/255:255-2*(255-u)*(255-o)/255;break;case"exclusion":h=n+l-2*n*l/255,c=f+k-2*f*k/255,d=o+u-2*o*u/255;break;case"tint":h=n+l*a,c=f+k*a,d=o+u*a}e[A]=h,e[A+1]=c,e[A+2]=d}}sendUniformData(i,e){let r=new Z0(this.color).getSource();r[0]=this.alpha*r[0]/255,r[1]=this.alpha*r[1]/255,r[2]=this.alpha*r[2]/255,r[3]=this.alpha,i.uniform4fv(e.uColor,r)}};V(Le,"defaults",{color:"#F95C63",mode:"multiply",alpha:1}),V(Le,"type","BlendColor"),V(Le,"uniformLocations",["uColor"]),r0.setClass(Le);var ml={multiply:`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform sampler2D uImage;
|
|
uniform vec4 uColor;
|
|
varying vec2 vTexCoord;
|
|
varying vec2 vTexCoord2;
|
|
void main() {
|
|
vec4 color = texture2D(uTexture, vTexCoord);
|
|
vec4 color2 = texture2D(uImage, vTexCoord2);
|
|
color.rgba *= color2.rgba;
|
|
gl_FragColor = color;
|
|
}
|
|
`,mask:`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform sampler2D uImage;
|
|
uniform vec4 uColor;
|
|
varying vec2 vTexCoord;
|
|
varying vec2 vTexCoord2;
|
|
void main() {
|
|
vec4 color = texture2D(uTexture, vTexCoord);
|
|
vec4 color2 = texture2D(uImage, vTexCoord2);
|
|
color.a = color2.a;
|
|
gl_FragColor = color;
|
|
}
|
|
`},vl=["type","image"],$e=class extends H0{getCacheKey(){return"".concat(this.type,"_").concat(this.mode)}getFragmentSource(){return ml[this.mode]}getVertexSource(){return`
|
|
attribute vec2 aPosition;
|
|
varying vec2 vTexCoord;
|
|
varying vec2 vTexCoord2;
|
|
uniform mat3 uTransformMatrix;
|
|
void main() {
|
|
vTexCoord = aPosition;
|
|
vTexCoord2 = (uTransformMatrix * vec3(aPosition, 1.0)).xy;
|
|
gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);
|
|
}
|
|
`}applyToWebGL(i){let e=i.context,r=this.createTexture(i.filterBackend,this.image);this.bindAdditionalTexture(e,r,e.TEXTURE1),super.applyToWebGL(i),this.unbindAdditionalTexture(e,e.TEXTURE1)}createTexture(i,e){return i.getCachedTexture(e.cacheKey,e.getElement())}calculateMatrix(){let i=this.image,{width:e,height:r}=i.getElement();return[1/i.scaleX,0,0,0,1/i.scaleY,0,-i.left/e,-i.top/r,1]}applyTo2d(i){let{imageData:{data:e,width:r,height:t},filterBackend:{resources:n}}=i,f=this.image;n.blendImage||(n.blendImage=Ni());let o=n.blendImage,a=o.getContext("2d");o.width!==r||o.height!==t?(o.width=r,o.height=t):a.clearRect(0,0,r,t),a.setTransform(f.scaleX,0,0,f.scaleY,f.left,f.top),a.drawImage(f.getElement(),0,0,r,t);let A=a.getImageData(0,0,r,t).data;for(let l=0;l<e.length;l+=4){let k=e[l],u=e[l+1],h=e[l+2],c=e[l+3],d=A[l],b=A[l+1],g=A[l+2],v=A[l+3];switch(this.mode){case"multiply":e[l]=k*d/255,e[l+1]=u*b/255,e[l+2]=h*g/255,e[l+3]=c*v/255;break;case"mask":e[l+3]=v}}}sendUniformData(i,e){let r=this.calculateMatrix();i.uniform1i(e.uImage,1),i.uniformMatrix3fv(e.uTransformMatrix,!1,r)}toObject(){return D(D({},super.toObject()),{},{image:this.image&&this.image.toObject()})}static async fromObject(i,e){let{type:r,image:t}=i,n=N0(i,vl);return M0.fromObject(t,e).then(f=>new this(D(D({},n),{},{image:f})))}};V($e,"type","BlendImage"),V($e,"defaults",{mode:"multiply",alpha:1}),V($e,"uniformLocations",["uTransformMatrix","uImage"]),r0.setClass($e);var qe=class extends H0{getFragmentSource(){return`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform vec2 uDelta;
|
|
varying vec2 vTexCoord;
|
|
const float nSamples = 15.0;
|
|
vec3 v3offset = vec3(12.9898, 78.233, 151.7182);
|
|
float random(vec3 scale) {
|
|
/* use the fragment position for a different seed per-pixel */
|
|
return fract(sin(dot(gl_FragCoord.xyz, scale)) * 43758.5453);
|
|
}
|
|
void main() {
|
|
vec4 color = vec4(0.0);
|
|
float total = 0.0;
|
|
float offset = random(v3offset);
|
|
for (float t = -nSamples; t <= nSamples; t++) {
|
|
float percent = (t + offset - 0.5) / nSamples;
|
|
float weight = 1.0 - abs(percent);
|
|
color += texture2D(uTexture, vTexCoord + uDelta * percent) * weight;
|
|
total += weight;
|
|
}
|
|
gl_FragColor = color / total;
|
|
}
|
|
`}applyTo(i){$t(i)?(this.aspectRatio=i.sourceWidth/i.sourceHeight,i.passes++,this._setupFrameBuffer(i),this.horizontal=!0,this.applyToWebGL(i),this._swapTextures(i),this._setupFrameBuffer(i),this.horizontal=!1,this.applyToWebGL(i),this._swapTextures(i)):this.applyTo2d(i)}applyTo2d(i){i.imageData=this.simpleBlur(i)}simpleBlur(i){let{ctx:e,imageData:r,filterBackend:{resources:t}}=i,{width:n,height:f}=r;t.blurLayer1||(t.blurLayer1=Ni(),t.blurLayer2=Ni());let o=t.blurLayer1,a=t.blurLayer2;o.width===n&&o.height===f||(a.width=o.width=n,a.height=o.height=f);let A=o.getContext("2d"),l=a.getContext("2d"),k=15,u=.06*this.blur*.5,h,c,d,b;for(A.putImageData(r,0,0),l.clearRect(0,0,n,f),b=-15;b<=k;b++)h=(Math.random()-.5)/4,c=b/k,d=u*c*n+h,l.globalAlpha=1-Math.abs(c),l.drawImage(o,d,h),A.drawImage(a,0,0),l.globalAlpha=1,l.clearRect(0,0,a.width,a.height);for(b=-15;b<=k;b++)h=(Math.random()-.5)/4,c=b/k,d=u*c*f+h,l.globalAlpha=1-Math.abs(c),l.drawImage(o,h,d),A.drawImage(a,0,0),l.globalAlpha=1,l.clearRect(0,0,a.width,a.height);e.drawImage(o,0,0);let g=e.getImageData(0,0,o.width,o.height);return A.globalAlpha=1,A.clearRect(0,0,o.width,o.height),g}sendUniformData(i,e){let r=this.chooseRightDelta();i.uniform2fv(e.uDelta,r)}isNeutralState(){return this.blur===0}chooseRightDelta(){let i=1,e=[0,0];this.horizontal?this.aspectRatio>1&&(i=1/this.aspectRatio):this.aspectRatio<1&&(i=this.aspectRatio);let r=i*this.blur*.12;return this.horizontal?e[0]=r:e[1]=r,e}};V(qe,"type","Blur"),V(qe,"defaults",{blur:0}),V(qe,"uniformLocations",["uDelta"]),r0.setClass(qe);var Ke=class extends H0{getFragmentSource(){return`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform float uBrightness;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
vec4 color = texture2D(uTexture, vTexCoord);
|
|
color.rgb += uBrightness;
|
|
gl_FragColor = color;
|
|
}
|
|
`}applyTo2d(i){let{imageData:{data:e}}=i,r=Math.round(255*this.brightness);for(let t=0;t<e.length;t+=4)e[t]+=r,e[t+1]+=r,e[t+2]+=r}isNeutralState(){return this.brightness===0}sendUniformData(i,e){i.uniform1f(e.uBrightness,this.brightness)}};V(Ke,"type","Brightness"),V(Ke,"defaults",{brightness:0}),V(Ke,"uniformLocations",["uBrightness"]),r0.setClass(Ke);var Ga={matrix:[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],colorsOnly:!0},pe=class extends H0{getFragmentSource(){return`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
varying vec2 vTexCoord;
|
|
uniform mat4 uColorMatrix;
|
|
uniform vec4 uConstants;
|
|
void main() {
|
|
vec4 color = texture2D(uTexture, vTexCoord);
|
|
color *= uColorMatrix;
|
|
color += uConstants;
|
|
gl_FragColor = color;
|
|
}`}applyTo2d(i){let e=i.imageData.data,r=this.matrix,t=this.colorsOnly;for(let n=0;n<e.length;n+=4){let f=e[n],o=e[n+1],a=e[n+2];if(e[n]=f*r[0]+o*r[1]+a*r[2]+255*r[4],e[n+1]=f*r[5]+o*r[6]+a*r[7]+255*r[9],e[n+2]=f*r[10]+o*r[11]+a*r[12]+255*r[14],!t){let A=e[n+3];e[n]+=A*r[3],e[n+1]+=A*r[8],e[n+2]+=A*r[13],e[n+3]=f*r[15]+o*r[16]+a*r[17]+A*r[18]+255*r[19]}}}sendUniformData(i,e){let r=this.matrix,t=[r[0],r[1],r[2],r[3],r[5],r[6],r[7],r[8],r[10],r[11],r[12],r[13],r[15],r[16],r[17],r[18]],n=[r[4],r[9],r[14],r[19]];i.uniformMatrix4fv(e.uColorMatrix,!1,t),i.uniform4fv(e.uConstants,n)}toObject(){return D(D({},super.toObject()),{},{matrix:[...this.matrix]})}};function m2(s,i){var e;let r=(V(e=class extends pe{toObject(){return{type:this.type,colorsOnly:this.colorsOnly}}},"type",s),V(e,"defaults",{colorsOnly:!1,matrix:i}),e);return r0.setClass(r,s),r}V(pe,"type","ColorMatrix"),V(pe,"defaults",Ga),V(pe,"uniformLocations",["uColorMatrix","uConstants"]),r0.setClass(pe);var wl=m2("Brownie",[.5997,.34553,-.27082,0,.186,-.0377,.86095,.15059,0,-.1449,.24113,-.07441,.44972,0,-.02965,0,0,0,1,0]),_l=m2("Vintage",[.62793,.32021,-.03965,0,.03784,.02578,.64411,.03259,0,.02926,.0466,-.08512,.52416,0,.02023,0,0,0,1,0]),Cl=m2("Kodachrome",[1.12855,-.39673,-.03992,0,.24991,-.16404,1.08352,-.05498,0,.09698,-.16786,-.56034,1.60148,0,.13972,0,0,0,1,0]),yl=m2("Technicolor",[1.91252,-.85453,-.09155,0,.04624,-.30878,1.76589,-.10601,0,-.27589,-.2311,-.75018,1.84759,0,.12137,0,0,0,1,0]),Bl=m2("Polaroid",[1.438,-.062,-.062,0,0,-.122,1.378,-.122,0,0,-.016,-.016,1.483,0,0,0,0,0,1,0]),xl=m2("Sepia",[.393,.769,.189,0,0,.349,.686,.168,0,0,.272,.534,.131,0,0,0,0,0,1,0]),Zl=m2("BlackWhite",[1.5,1.5,1.5,0,-1,1.5,1.5,1.5,0,-1,1.5,1.5,1.5,0,-1,0,0,0,1,0]),yr=class extends H0{constructor(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};super(i),this.subFilters=i.subFilters||[]}applyTo(i){$t(i)&&(i.passes+=this.subFilters.length-1),this.subFilters.forEach(e=>{e.applyTo(i)})}toObject(){return{type:this.type,subFilters:this.subFilters.map(i=>i.toObject())}}isNeutralState(){return!this.subFilters.some(i=>!i.isNeutralState())}static fromObject(i,e){return Promise.all((i.subFilters||[]).map(r=>r0.getClass(r.type).fromObject(r,e))).then(r=>new this({subFilters:r}))}};V(yr,"type","Composed"),r0.setClass(yr);var i2=class extends H0{getFragmentSource(){return`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform float uContrast;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
vec4 color = texture2D(uTexture, vTexCoord);
|
|
float contrastF = 1.015 * (uContrast + 1.0) / (1.0 * (1.015 - uContrast));
|
|
color.rgb = contrastF * (color.rgb - 0.5) + 0.5;
|
|
gl_FragColor = color;
|
|
}`}isNeutralState(){return this.contrast===0}applyTo2d(i){let{imageData:{data:e}}=i,r=Math.floor(255*this.contrast),t=259*(r+255)/(255*(259-r));for(let n=0;n<e.length;n+=4)e[n]=t*(e[n]-128)+128,e[n+1]=t*(e[n+1]-128)+128,e[n+2]=t*(e[n+2]-128)+128}sendUniformData(i,e){i.uniform1f(e.uContrast,this.contrast)}};V(i2,"type","Contrast"),V(i2,"defaults",{contrast:0}),V(i2,"uniformLocations",["uContrast"]),r0.setClass(i2);var Il={Convolute_3_1:`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform float uMatrix[9];
|
|
uniform float uStepW;
|
|
uniform float uStepH;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
vec4 color = vec4(0, 0, 0, 0);
|
|
for (float h = 0.0; h < 3.0; h+=1.0) {
|
|
for (float w = 0.0; w < 3.0; w+=1.0) {
|
|
vec2 matrixPos = vec2(uStepW * (w - 1), uStepH * (h - 1));
|
|
color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 3.0 + w)];
|
|
}
|
|
}
|
|
gl_FragColor = color;
|
|
}
|
|
`,Convolute_3_0:`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform float uMatrix[9];
|
|
uniform float uStepW;
|
|
uniform float uStepH;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
vec4 color = vec4(0, 0, 0, 1);
|
|
for (float h = 0.0; h < 3.0; h+=1.0) {
|
|
for (float w = 0.0; w < 3.0; w+=1.0) {
|
|
vec2 matrixPos = vec2(uStepW * (w - 1.0), uStepH * (h - 1.0));
|
|
color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 3.0 + w)];
|
|
}
|
|
}
|
|
float alpha = texture2D(uTexture, vTexCoord).a;
|
|
gl_FragColor = color;
|
|
gl_FragColor.a = alpha;
|
|
}
|
|
`,Convolute_5_1:`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform float uMatrix[25];
|
|
uniform float uStepW;
|
|
uniform float uStepH;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
vec4 color = vec4(0, 0, 0, 0);
|
|
for (float h = 0.0; h < 5.0; h+=1.0) {
|
|
for (float w = 0.0; w < 5.0; w+=1.0) {
|
|
vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));
|
|
color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 5.0 + w)];
|
|
}
|
|
}
|
|
gl_FragColor = color;
|
|
}
|
|
`,Convolute_5_0:`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform float uMatrix[25];
|
|
uniform float uStepW;
|
|
uniform float uStepH;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
vec4 color = vec4(0, 0, 0, 1);
|
|
for (float h = 0.0; h < 5.0; h+=1.0) {
|
|
for (float w = 0.0; w < 5.0; w+=1.0) {
|
|
vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));
|
|
color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 5.0 + w)];
|
|
}
|
|
}
|
|
float alpha = texture2D(uTexture, vTexCoord).a;
|
|
gl_FragColor = color;
|
|
gl_FragColor.a = alpha;
|
|
}
|
|
`,Convolute_7_1:`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform float uMatrix[49];
|
|
uniform float uStepW;
|
|
uniform float uStepH;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
vec4 color = vec4(0, 0, 0, 0);
|
|
for (float h = 0.0; h < 7.0; h+=1.0) {
|
|
for (float w = 0.0; w < 7.0; w+=1.0) {
|
|
vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));
|
|
color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 7.0 + w)];
|
|
}
|
|
}
|
|
gl_FragColor = color;
|
|
}
|
|
`,Convolute_7_0:`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform float uMatrix[49];
|
|
uniform float uStepW;
|
|
uniform float uStepH;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
vec4 color = vec4(0, 0, 0, 1);
|
|
for (float h = 0.0; h < 7.0; h+=1.0) {
|
|
for (float w = 0.0; w < 7.0; w+=1.0) {
|
|
vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));
|
|
color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 7.0 + w)];
|
|
}
|
|
}
|
|
float alpha = texture2D(uTexture, vTexCoord).a;
|
|
gl_FragColor = color;
|
|
gl_FragColor.a = alpha;
|
|
}
|
|
`,Convolute_9_1:`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform float uMatrix[81];
|
|
uniform float uStepW;
|
|
uniform float uStepH;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
vec4 color = vec4(0, 0, 0, 0);
|
|
for (float h = 0.0; h < 9.0; h+=1.0) {
|
|
for (float w = 0.0; w < 9.0; w+=1.0) {
|
|
vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));
|
|
color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 9.0 + w)];
|
|
}
|
|
}
|
|
gl_FragColor = color;
|
|
}
|
|
`,Convolute_9_0:`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform float uMatrix[81];
|
|
uniform float uStepW;
|
|
uniform float uStepH;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
vec4 color = vec4(0, 0, 0, 1);
|
|
for (float h = 0.0; h < 9.0; h+=1.0) {
|
|
for (float w = 0.0; w < 9.0; w+=1.0) {
|
|
vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));
|
|
color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 9.0 + w)];
|
|
}
|
|
}
|
|
float alpha = texture2D(uTexture, vTexCoord).a;
|
|
gl_FragColor = color;
|
|
gl_FragColor.a = alpha;
|
|
}
|
|
`},e2=class extends H0{getCacheKey(){return"".concat(this.type,"_").concat(Math.sqrt(this.matrix.length),"_").concat(this.opaque?1:0)}getFragmentSource(){return Il[this.getCacheKey()]}applyTo2d(i){let e=i.imageData,r=e.data,t=this.matrix,n=Math.round(Math.sqrt(t.length)),f=Math.floor(n/2),o=e.width,a=e.height,A=i.ctx.createImageData(o,a),l=A.data,k=this.opaque?1:0,u,h,c,d,b,g,v,w,p,m,C,y,Z;for(C=0;C<a;C++)for(m=0;m<o;m++){for(b=4*(C*o+m),u=0,h=0,c=0,d=0,Z=0;Z<n;Z++)for(y=0;y<n;y++)v=C+Z-f,g=m+y-f,v<0||v>=a||g<0||g>=o||(w=4*(v*o+g),p=t[Z*n+y],u+=r[w]*p,h+=r[w+1]*p,c+=r[w+2]*p,k||(d+=r[w+3]*p));l[b]=u,l[b+1]=h,l[b+2]=c,l[b+3]=k?r[b+3]:d}i.imageData=A}sendUniformData(i,e){i.uniform1fv(e.uMatrix,this.matrix)}toObject(){return D(D({},super.toObject()),{},{opaque:this.opaque,matrix:[...this.matrix]})}};V(e2,"type","Convolute"),V(e2,"defaults",{opaque:!1,matrix:[0,0,0,0,1,0,0,0,0]}),V(e2,"uniformLocations",["uMatrix","uOpaque","uHalfSize","uSize"]),r0.setClass(e2);var Da="Gamma",r2=class extends H0{getFragmentSource(){return`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform vec3 uGamma;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
vec4 color = texture2D(uTexture, vTexCoord);
|
|
vec3 correction = (1.0 / uGamma);
|
|
color.r = pow(color.r, correction.r);
|
|
color.g = pow(color.g, correction.g);
|
|
color.b = pow(color.b, correction.b);
|
|
gl_FragColor = color;
|
|
gl_FragColor.rgb *= color.a;
|
|
}
|
|
`}constructor(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};super(i),this.gamma=i.gamma||this.constructor.defaults.gamma.concat()}applyTo2d(i){let{imageData:{data:e}}=i,r=this.gamma,t=1/r[0],n=1/r[1],f=1/r[2];this.rgbValues||(this.rgbValues={r:new Uint8Array(256),g:new Uint8Array(256),b:new Uint8Array(256)});let o=this.rgbValues;for(let a=0;a<256;a++)o.r[a]=255*Math.pow(a/255,t),o.g[a]=255*Math.pow(a/255,n),o.b[a]=255*Math.pow(a/255,f);for(let a=0;a<e.length;a+=4)e[a]=o.r[e[a]],e[a+1]=o.g[e[a+1]],e[a+2]=o.b[e[a+2]]}sendUniformData(i,e){i.uniform3fv(e.uGamma,this.gamma)}isNeutralState(){let{gamma:i}=this;return i[0]===1&&i[1]===1&&i[2]===1}toObject(){return{type:Da,gamma:this.gamma.concat()}}};V(r2,"type",Da),V(r2,"defaults",{gamma:[1,1,1]}),V(r2,"uniformLocations",["uGamma"]),r0.setClass(r2);var El={average:`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
vec4 color = texture2D(uTexture, vTexCoord);
|
|
float average = (color.r + color.b + color.g) / 3.0;
|
|
gl_FragColor = vec4(average, average, average, color.a);
|
|
}
|
|
`,lightness:`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform int uMode;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
vec4 col = texture2D(uTexture, vTexCoord);
|
|
float average = (max(max(col.r, col.g),col.b) + min(min(col.r, col.g),col.b)) / 2.0;
|
|
gl_FragColor = vec4(average, average, average, col.a);
|
|
}
|
|
`,luminosity:`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform int uMode;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
vec4 col = texture2D(uTexture, vTexCoord);
|
|
float average = 0.21 * col.r + 0.72 * col.g + 0.07 * col.b;
|
|
gl_FragColor = vec4(average, average, average, col.a);
|
|
}
|
|
`},t2=class extends H0{applyTo2d(i){let{imageData:{data:e}}=i;for(let r,t=0;t<e.length;t+=4){let n=e[t],f=e[t+1],o=e[t+2];switch(this.mode){case"average":r=(n+f+o)/3;break;case"lightness":r=(Math.min(n,f,o)+Math.max(n,f,o))/2;break;case"luminosity":r=.21*n+.72*f+.07*o}e[t+2]=e[t+1]=e[t]=r}}getCacheKey(){return"".concat(this.type,"_").concat(this.mode)}getFragmentSource(){return El[this.mode]}sendUniformData(i,e){i.uniform1i(e.uMode,1)}isNeutralState(){return!1}};V(t2,"type","Grayscale"),V(t2,"defaults",{mode:"average"}),V(t2,"uniformLocations",["uMode"]),r0.setClass(t2);var Wl=D(D({},Ga),{},{rotation:0}),T2=class extends pe{calculateMatrix(){let i=this.rotation*Math.PI,e=ie(i),r=ee(i),t=1/3,n=Math.sqrt(t)*r,f=1-e;this.matrix=[e+f/3,t*f-n,t*f+n,0,0,t*f+n,e+t*f,t*f-n,0,0,t*f-n,t*f+n,e+t*f,0,0,0,0,0,1,0]}isNeutralState(){return this.rotation===0}applyTo(i){this.calculateMatrix(),super.applyTo(i)}toObject(){return{type:this.type,rotation:this.rotation}}};V(T2,"type","HueRotation"),V(T2,"defaults",Wl),r0.setClass(T2);var n2=class extends H0{applyTo2d(i){let{imageData:{data:e}}=i;for(let r=0;r<e.length;r+=4)e[r]=255-e[r],e[r+1]=255-e[r+1],e[r+2]=255-e[r+2],this.alpha&&(e[r+3]=255-e[r+3])}getFragmentSource(){return`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform int uInvert;
|
|
uniform int uAlpha;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
vec4 color = texture2D(uTexture, vTexCoord);
|
|
if (uInvert == 1) {
|
|
if (uAlpha == 1) {
|
|
gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,1.0 -color.a);
|
|
} else {
|
|
gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,color.a);
|
|
}
|
|
} else {
|
|
gl_FragColor = color;
|
|
}
|
|
}
|
|
`}isNeutralState(){return!this.invert}sendUniformData(i,e){i.uniform1i(e.uInvert,Number(this.invert)),i.uniform1i(e.uAlpha,Number(this.alpha))}};V(n2,"type","Invert"),V(n2,"defaults",{alpha:!1,invert:!0}),V(n2,"uniformLocations",["uInvert","uAlpha"]),r0.setClass(n2);var f2=class extends H0{getFragmentSource(){return`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform float uStepH;
|
|
uniform float uNoise;
|
|
uniform float uSeed;
|
|
varying vec2 vTexCoord;
|
|
float rand(vec2 co, float seed, float vScale) {
|
|
return fract(sin(dot(co.xy * vScale ,vec2(12.9898 , 78.233))) * 43758.5453 * (seed + 0.01) / 2.0);
|
|
}
|
|
void main() {
|
|
vec4 color = texture2D(uTexture, vTexCoord);
|
|
color.rgb += (0.5 - rand(vTexCoord, uSeed, 0.1 / uStepH)) * uNoise;
|
|
gl_FragColor = color;
|
|
}
|
|
`}applyTo2d(i){let{imageData:{data:e}}=i,r=this.noise;for(let t=0;t<e.length;t+=4){let n=(.5-Math.random())*r;e[t]+=n,e[t+1]+=n,e[t+2]+=n}}sendUniformData(i,e){i.uniform1f(e.uNoise,this.noise/255),i.uniform1f(e.uSeed,Math.random())}isNeutralState(){return this.noise===0}};V(f2,"type","Noise"),V(f2,"defaults",{noise:0}),V(f2,"uniformLocations",["uNoise","uSeed"]),r0.setClass(f2);var o2=class extends H0{applyTo2d(i){let{imageData:{data:e,width:r,height:t}}=i;for(let n=0;n<t;n+=this.blocksize)for(let f=0;f<r;f+=this.blocksize){let o=4*n*r+4*f,a=e[o],A=e[o+1],l=e[o+2],k=e[o+3];for(let u=n;u<Math.min(n+this.blocksize,t);u++)for(let h=f;h<Math.min(f+this.blocksize,r);h++){let c=4*u*r+4*h;e[c]=a,e[c+1]=A,e[c+2]=l,e[c+3]=k}}}isNeutralState(){return this.blocksize===1}getFragmentSource(){return`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform float uBlocksize;
|
|
uniform float uStepW;
|
|
uniform float uStepH;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
float blockW = uBlocksize * uStepW;
|
|
float blockH = uBlocksize * uStepH;
|
|
int posX = int(vTexCoord.x / blockW);
|
|
int posY = int(vTexCoord.y / blockH);
|
|
float fposX = float(posX);
|
|
float fposY = float(posY);
|
|
vec2 squareCoords = vec2(fposX * blockW, fposY * blockH);
|
|
vec4 color = texture2D(uTexture, squareCoords);
|
|
gl_FragColor = color;
|
|
}
|
|
`}sendUniformData(i,e){i.uniform1f(e.uBlocksize,this.blocksize)}};V(o2,"type","Pixelate"),V(o2,"defaults",{blocksize:4}),V(o2,"uniformLocations",["uBlocksize"]),r0.setClass(o2);var a2=class extends H0{getFragmentSource(){return`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform vec4 uLow;
|
|
uniform vec4 uHigh;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
gl_FragColor = texture2D(uTexture, vTexCoord);
|
|
if(all(greaterThan(gl_FragColor.rgb,uLow.rgb)) && all(greaterThan(uHigh.rgb,gl_FragColor.rgb))) {
|
|
gl_FragColor.a = 0.0;
|
|
}
|
|
}
|
|
`}applyTo2d(i){let{imageData:{data:e}}=i,r=255*this.distance,t=new Z0(this.color).getSource(),n=[t[0]-r,t[1]-r,t[2]-r],f=[t[0]+r,t[1]+r,t[2]+r];for(let o=0;o<e.length;o+=4){let a=e[o],A=e[o+1],l=e[o+2];a>n[0]&&A>n[1]&&l>n[2]&&a<f[0]&&A<f[1]&&l<f[2]&&(e[o+3]=0)}}sendUniformData(i,e){let r=new Z0(this.color).getSource(),t=this.distance,n=[0+r[0]/255-t,0+r[1]/255-t,0+r[2]/255-t,1],f=[r[0]/255+t,r[1]/255+t,r[2]/255+t,1];i.uniform4fv(e.uLow,n),i.uniform4fv(e.uHigh,f)}};V(a2,"type","RemoveColor"),V(a2,"defaults",{color:"#FFFFFF",distance:.02,useAlpha:!1}),V(a2,"uniformLocations",["uLow","uHigh"]),r0.setClass(a2);var s2=class extends H0{sendUniformData(i,e){i.uniform2fv(e.uDelta,this.horizontal?[1/this.width,0]:[0,1/this.height]),i.uniform1fv(e.uTaps,this.taps)}getFilterWindow(){let i=this.tempScale;return Math.ceil(this.lanczosLobes/i)}getCacheKey(){let i=this.getFilterWindow();return"".concat(this.type,"_").concat(i)}getFragmentSource(){let i=this.getFilterWindow();return this.generateShader(i)}getTaps(){let i=this.lanczosCreate(this.lanczosLobes),e=this.tempScale,r=this.getFilterWindow(),t=new Array(r);for(let n=1;n<=r;n++)t[n-1]=i(n*e);return t}generateShader(i){let e=new Array(i);for(let r=1;r<=i;r++)e[r-1]="".concat(r,".0 * uDelta");return`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform vec2 uDelta;
|
|
varying vec2 vTexCoord;
|
|
uniform float uTaps[`.concat(i,`];
|
|
void main() {
|
|
vec4 color = texture2D(uTexture, vTexCoord);
|
|
float sum = 1.0;
|
|
`).concat(e.map((r,t)=>`
|
|
color += texture2D(uTexture, vTexCoord + `.concat(r,") * uTaps[").concat(t,"] + texture2D(uTexture, vTexCoord - ").concat(r,") * uTaps[").concat(t,`];
|
|
sum += 2.0 * uTaps[`).concat(t,`];
|
|
`)).join(`
|
|
`),`
|
|
gl_FragColor = color / sum;
|
|
}
|
|
`)}applyToForWebgl(i){i.passes++,this.width=i.sourceWidth,this.horizontal=!0,this.dW=Math.round(this.width*this.scaleX),this.dH=i.sourceHeight,this.tempScale=this.dW/this.width,this.taps=this.getTaps(),i.destinationWidth=this.dW,super.applyTo(i),i.sourceWidth=i.destinationWidth,this.height=i.sourceHeight,this.horizontal=!1,this.dH=Math.round(this.height*this.scaleY),this.tempScale=this.dH/this.height,this.taps=this.getTaps(),i.destinationHeight=this.dH,super.applyTo(i),i.sourceHeight=i.destinationHeight}applyTo(i){$t(i)?this.applyToForWebgl(i):this.applyTo2d(i)}isNeutralState(){return this.scaleX===1&&this.scaleY===1}lanczosCreate(i){return e=>{if(e>=i||e<=-i)return 0;if(e<11920929e-14&&e>-11920929e-14)return 1;let r=(e*=Math.PI)/i;return Math.sin(e)/e*Math.sin(r)/r}}applyTo2d(i){let e=i.imageData,r=this.scaleX,t=this.scaleY;this.rcpScaleX=1/r,this.rcpScaleY=1/t;let n=e.width,f=e.height,o=Math.round(n*r),a=Math.round(f*t),A;A=this.resizeType==="sliceHack"?this.sliceByTwo(i,n,f,o,a):this.resizeType==="hermite"?this.hermiteFastResize(i,n,f,o,a):this.resizeType==="bilinear"?this.bilinearFiltering(i,n,f,o,a):this.resizeType==="lanczos"?this.lanczosResize(i,n,f,o,a):new ImageData(o,a),i.imageData=A}sliceByTwo(i,e,r,t,n){let f=i.imageData,o=.5,a=!1,A=!1,l=e*o,k=r*o,u=i.filterBackend.resources,h=0,c=0,d=e,b=0;u.sliceByTwo||(u.sliceByTwo=Ni());let g=u.sliceByTwo;(g.width<1.5*e||g.height<r)&&(g.width=1.5*e,g.height=r);let v=g.getContext("2d");for(v.clearRect(0,0,1.5*e,r),v.putImageData(f,0,0),t=Math.floor(t),n=Math.floor(n);!a||!A;)e=l,r=k,t<Math.floor(l*o)?l=Math.floor(l*o):(l=t,a=!0),n<Math.floor(k*o)?k=Math.floor(k*o):(k=n,A=!0),v.drawImage(g,h,c,e,r,d,b,l,k),h=d,c=b,b+=k;return v.getImageData(h,c,t,n)}lanczosResize(i,e,r,t,n){let f=i.imageData.data,o=i.ctx.createImageData(t,n),a=o.data,A=this.lanczosCreate(this.lanczosLobes),l=this.rcpScaleX,k=this.rcpScaleY,u=2/this.rcpScaleX,h=2/this.rcpScaleY,c=Math.ceil(l*this.lanczosLobes/2),d=Math.ceil(k*this.lanczosLobes/2),b={},g={x:0,y:0},v={x:0,y:0};return function w(p){let m,C,y,Z,_,x,B,I,W,F,X;for(g.x=(p+.5)*l,v.x=Math.floor(g.x),m=0;m<n;m++){for(g.y=(m+.5)*k,v.y=Math.floor(g.y),_=0,x=0,B=0,I=0,W=0,C=v.x-c;C<=v.x+c;C++)if(!(C<0||C>=e)){F=Math.floor(1e3*Math.abs(C-g.x)),b[F]||(b[F]={});for(let E=v.y-d;E<=v.y+d;E++)E<0||E>=r||(X=Math.floor(1e3*Math.abs(E-g.y)),b[F][X]||(b[F][X]=A(Math.sqrt(Math.pow(F*u,2)+Math.pow(X*h,2))/1e3)),y=b[F][X],y>0&&(Z=4*(E*e+C),_+=y,x+=y*f[Z],B+=y*f[Z+1],I+=y*f[Z+2],W+=y*f[Z+3]))}Z=4*(m*t+p),a[Z]=x/_,a[Z+1]=B/_,a[Z+2]=I/_,a[Z+3]=W/_}return++p<t?w(p):o}(0)}bilinearFiltering(i,e,r,t,n){let f,o,a,A,l,k,u,h,c,d,b,g,v,w=0,p=this.rcpScaleX,m=this.rcpScaleY,C=4*(e-1),y=i.imageData.data,Z=i.ctx.createImageData(t,n),_=Z.data;for(u=0;u<n;u++)for(h=0;h<t;h++)for(l=Math.floor(p*h),k=Math.floor(m*u),c=p*h-l,d=m*u-k,v=4*(k*e+l),b=0;b<4;b++)f=y[v+b],o=y[v+4+b],a=y[v+C+b],A=y[v+C+4+b],g=f*(1-c)*(1-d)+o*c*(1-d)+a*d*(1-c)+A*c*d,_[w++]=g;return Z}hermiteFastResize(i,e,r,t,n){let f=this.rcpScaleX,o=this.rcpScaleY,a=Math.ceil(f/2),A=Math.ceil(o/2),l=i.imageData.data,k=i.ctx.createImageData(t,n),u=k.data;for(let h=0;h<n;h++)for(let c=0;c<t;c++){let d=4*(c+h*t),b=0,g=0,v=0,w=0,p=0,m=0,C=0,y=(h+.5)*o;for(let Z=Math.floor(h*o);Z<(h+1)*o;Z++){let _=Math.abs(y-(Z+.5))/A,x=(c+.5)*f,B=_*_;for(let I=Math.floor(c*f);I<(c+1)*f;I++){let W=Math.abs(x-(I+.5))/a,F=Math.sqrt(B+W*W);F>1&&F<-1||(b=2*F*F*F-3*F*F+1,b>0&&(W=4*(I+Z*e),C+=b*l[W+3],v+=b,l[W+3]<255&&(b=b*l[W+3]/250),w+=b*l[W],p+=b*l[W+1],m+=b*l[W+2],g+=b))}}u[d]=w/g,u[d+1]=p/g,u[d+2]=m/g,u[d+3]=C/v}return k}};V(s2,"type","Resize"),V(s2,"defaults",{resizeType:"hermite",scaleX:1,scaleY:1,lanczosLobes:3}),V(s2,"uniformLocations",["uDelta","uTaps"]),r0.setClass(s2);var A2=class extends H0{getFragmentSource(){return`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform float uSaturation;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
vec4 color = texture2D(uTexture, vTexCoord);
|
|
float rgMax = max(color.r, color.g);
|
|
float rgbMax = max(rgMax, color.b);
|
|
color.r += rgbMax != color.r ? (rgbMax - color.r) * uSaturation : 0.00;
|
|
color.g += rgbMax != color.g ? (rgbMax - color.g) * uSaturation : 0.00;
|
|
color.b += rgbMax != color.b ? (rgbMax - color.b) * uSaturation : 0.00;
|
|
gl_FragColor = color;
|
|
}
|
|
`}applyTo2d(i){let{imageData:{data:e}}=i,r=-this.saturation;for(let t=0;t<e.length;t+=4){let n=e[t],f=e[t+1],o=e[t+2],a=Math.max(n,f,o);e[t]+=a!==n?(a-n)*r:0,e[t+1]+=a!==f?(a-f)*r:0,e[t+2]+=a!==o?(a-o)*r:0}}sendUniformData(i,e){i.uniform1f(e.uSaturation,-this.saturation)}isNeutralState(){return this.saturation===0}};V(A2,"type","Saturation"),V(A2,"defaults",{saturation:0}),V(A2,"uniformLocations",["uSaturation"]),r0.setClass(A2);var l2=class extends H0{getFragmentSource(){return`
|
|
precision highp float;
|
|
uniform sampler2D uTexture;
|
|
uniform float uVibrance;
|
|
varying vec2 vTexCoord;
|
|
void main() {
|
|
vec4 color = texture2D(uTexture, vTexCoord);
|
|
float max = max(color.r, max(color.g, color.b));
|
|
float avg = (color.r + color.g + color.b) / 3.0;
|
|
float amt = (abs(max - avg) * 2.0) * uVibrance;
|
|
color.r += max != color.r ? (max - color.r) * amt : 0.00;
|
|
color.g += max != color.g ? (max - color.g) * amt : 0.00;
|
|
color.b += max != color.b ? (max - color.b) * amt : 0.00;
|
|
gl_FragColor = color;
|
|
}
|
|
`}applyTo2d(i){let{imageData:{data:e}}=i,r=-this.vibrance;for(let t=0;t<e.length;t+=4){let n=e[t],f=e[t+1],o=e[t+2],a=Math.max(n,f,o),A=(n+f+o)/3,l=2*Math.abs(a-A)/255*r;e[t]+=a!==n?(a-n)*l:0,e[t+1]+=a!==f?(a-f)*l:0,e[t+2]+=a!==o?(a-o)*l:0}}sendUniformData(i,e){i.uniform1f(e.uVibrance,-this.vibrance)}isNeutralState(){return this.vibrance===0}};V(l2,"type","Vibrance"),V(l2,"defaults",{vibrance:0}),V(l2,"uniformLocations",["uVibrance"]),r0.setClass(l2);var m4=Object.freeze({__proto__:null,BaseFilter:H0,BlackWhite:Zl,BlendColor:Le,BlendImage:$e,Blur:qe,Brightness:Ke,Brownie:wl,ColorMatrix:pe,Composed:yr,Contrast:i2,Convolute:e2,Gamma:r2,Grayscale:t2,HueRotation:T2,Invert:n2,Kodachrome:Cl,Noise:f2,Pixelate:o2,Polaroid:Bl,RemoveColor:a2,Resize:s2,Saturation:A2,Sepia:xl,Technicolor:yl,Vibrance:l2,Vintage:_l});var Sa={"application/prs.cww":["cww"],"application/prs.xsf+xml":["xsf"],"application/vnd.1000minds.decision-model+xml":["1km"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["*xfdf"],"application/vnd.age":["age"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.keynote":["key"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.balsamiq.bmml+xml":["bmml"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.citationstyles.style+xml":["csl"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dbf":["dbf"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["*fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mapbox-vector-tile":["mvt"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["*stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["*mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.ac+xml":["*ac"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openblox.game+xml":["obgx"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openstreetmap.data+xml":["osm"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.pwg-xhtml-print+xml":["xhtm"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.rar":["rar"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.software602.filler.form+xml":["fo"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.syncml.dmddf+xml":["ddf"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml","uo"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["*dmg"],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":["*bdoc"],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["*deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":["*iso"],"application/x-iwork-keynote-sffkey":["*key"],"application/x-iwork-numbers-sffnumbers":["*numbers"],"application/x-iwork-pages-sffpages":["*pages"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-keepass2":["kdbx"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["*prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":["*exe"],"application/x-msdownload":["*exe","*dll","com","bat","*msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["*wmf","*wmz","*emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":["*prc","*pdb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["*rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["*sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["*obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["*xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/x-aac":["*aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":["*m4a"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":["*ra"],"audio/x-wav":["*wav"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"image/prs.btif":["btif","btf"],"image/prs.pti":["pti"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.airzip.accelerator.azv":["azv"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["*sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.microsoft.icon":["ico"],"image/vnd.ms-dds":["dds"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.pco.b16":["b16"],"image/vnd.tencent.tap":["tap"],"image/vnd.valve.source.texture":["vtf"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/vnd.zbrush.pcx":["pcx"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["*ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":["*bmp"],"image/x-pcx":["*pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/vnd.wfa.wsc":["wsc"],"model/vnd.cld":["cld"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.opengex":["ogex"],"model/vnd.parasolid.transmit.binary":["x_b"],"model/vnd.parasolid.transmit.text":["x_t"],"model/vnd.pytha.pyox":["pyo","pyox"],"model/vnd.sap.vds":["vds"],"model/vnd.usda":["usda"],"model/vnd.usdz+zip":["usdz"],"model/vnd.valve.source.compiled-map":["bsp"],"model/vnd.vtu":["vtu"],"text/prs.lines.tag":["dsc"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.familysearch.gedcom":["ged"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":["*org"],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]};Object.freeze(Sa);var Fl=Sa,Ma={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze(Ma);var Xl=Ma,Qi=function(s,i,e,r){if(e==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof i=="function"?s!==i||!r:!i.has(s))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?r:e==="a"?r.call(s):r?r.value:i.get(s)},L2,Ir,v2,Vl=class{constructor(...s){L2.set(this,new Map),Ir.set(this,new Map),v2.set(this,new Map);for(let i of s)this.define(i)}define(s,i=!1){for(let[e,r]of Object.entries(s)){e=e.toLowerCase(),r=r.map(f=>f.toLowerCase()),Qi(this,v2,"f").has(e)||Qi(this,v2,"f").set(e,new Set);let t=Qi(this,v2,"f").get(e),n=!0;for(let f of r){let o=f.startsWith("*");if(f=o?f.slice(1):f,t==null||t.add(f),n&&Qi(this,Ir,"f").set(e,f),n=!1,o)continue;let a=Qi(this,L2,"f").get(f);if(a&&a!=e&&!i)throw new Error(`"${e} -> ${f}" conflicts with "${a} -> ${f}". Pass \`force=true\` to override this definition.`);Qi(this,L2,"f").set(f,e)}}return this}getType(s){var t;if(typeof s!="string")return null;let i=s.replace(/^.*[/\\]/,"").toLowerCase(),e=i.replace(/^.*\./,"").toLowerCase(),r=i.length<s.length;return!(e.length<i.length-1)&&r?null:(t=Qi(this,L2,"f").get(e))!=null?t:null}getExtension(s){var i,e;return typeof s!="string"?null:(s=(i=s==null?void 0:s.split)==null?void 0:i.call(s,";")[0],(e=s&&Qi(this,Ir,"f").get(s.trim().toLowerCase()))!=null?e:null)}getAllExtensions(s){var i;return typeof s!="string"?null:(i=Qi(this,v2,"f").get(s.toLowerCase()))!=null?i:null}_freeze(){this.define=()=>{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(let s of Qi(this,v2,"f").values())Object.freeze(s);return this}_getTestState(){return{types:Qi(this,L2,"f"),extensions:Qi(this,Ir,"f")}}};L2=new WeakMap,Ir=new WeakMap,v2=new WeakMap;var Gl=Vl,Ta=new Gl(Xl,Fl)._freeze();var qt=class extends y0.Modal{constructor(e,r,t){super(e);this.plugin=r;this.file=t;this.componentContainer=new y0.Component;this.currentTool=0;this.drawButton=void 0;this.resizeHandle=null;this.backgroundDropdown=null;this.textBackgroundControls=null;this.isDrawingMode=!1;this.isTextMode=!1;this.isArrowMode=!1;this.isTextEditingBlocked=!1;this._previousStates=null;this.isResizing=!1;this.isPanning=!1;this.isSpacebarDown=!1;this.isUndoRedoAction=!1;this.preserveObjectStacking=!0;this.brushSizes=[2,4,8,12,16,24];this.brushOpacities=[.2,.4,.6,.8,.9,1];this.currentBrushSizeIndex=2;this.currentOpacityIndex=5;this.currentBlendMode="source-over";this.currentBackground="transparent";this.minWidth=400;this.minHeight=300;this.minZoom=.1;this.maxZoom=10;this.currentZoom=1;this.lastPanPoint=null;this.undoStack=[];this.redoStack=[];this.blendModes=["source-over","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion"];this.backgroundOptions=["transparent","#ffffff","#000000","grid","dots"];this.dominantColors=[];this.complementaryColors=[];this.setupModal(),this.setupEventHandlers()}setupModal(){this.componentContainer.load(),this.modalEl.addClass("image-converter-annotation-tool-image-annotation-modal"),this.setupCloseButton()}setupEventHandlers(){this.boundKeyDownHandler=this.handleKeyDown.bind(this),this.boundKeyUpHandler=this.handleKeyUp.bind(this),this.scope=new y0.Scope,this.registerShortcuts(),this.preventDefaultHandlers()}setupCloseButton(){let e=this.modalEl.querySelector(".modal-close-button");e&&this.componentContainer.registerDomEvent(e,"click",r=>{r.stopPropagation(),this.close()})}registerShortcuts(){this.scope.register([],"Escape",e=>{var t;e.preventDefault(),e.stopPropagation();let r=(t=this.canvas)==null?void 0:t.getActiveObject();return r instanceof h0&&r.isEditing&&r.exitEditing(),!1})}async onOpen(){let{contentEl:e}=this;e.style.padding="0",e.style.overflow="hidden";let r=e.createDiv("image-converter-annotation-tool-modal-container");this.setupResizable(),this.setupToolbar(r);let n=r.createDiv("image-converter-annotation-tool-canvas-container").createEl("canvas");try{let f=await this.app.vault.readBinary(this.file),o=new Blob([f]),a=URL.createObjectURL(o),A=new Image;A.onload=()=>{this.undoStack=[JSON.stringify([])],this.redoStack=[];let l=80,k=60,u=window.innerWidth*.9-l,h=window.innerHeight*.9-l-k,c=u,d=h;this.canvas=new O2(n,{width:c,height:d,backgroundColor:"transparent",isDrawingMode:!1,preserveObjectStacking:this.preserveObjectStacking});let b=Math.min(c/A.width,d/A.height)*.8,g=new M0(A,{selectable:!1,evented:!1,scaleX:b,scaleY:b,objectCaching:!0,opacity:1,erasable:!1,crossOrigin:"anonymous",strokeWidth:0});this.canvas.add(g),this.centerFabricImage(g),this.modalEl.style.width=`${c+l}px`,this.modalEl.style.height=`${d+l+k}px`,this.analyzeImageColors(A),this.setupZoomAndPan(),this.initializeUndoRedo(),this.initializeCanvasEventHandlers(),this.componentContainer.registerDomEvent(this.modalEl,"mousedown",v=>{v.target===this.modalEl&&(v.preventDefault(),v.stopPropagation())}),this.componentContainer.registerDomEvent(this.modalEl,"keydown",v=>{v.preventDefault(),v.stopPropagation()},!0),this.componentContainer.registerDomEvent(this.modalEl,"keyup",v=>{v.preventDefault(),v.stopPropagation()},!0),this.setupSelectionEvents(),URL.revokeObjectURL(a),this.canvas.renderAll()},A.src=a}catch(f){console.error("Error loading image:",f),new y0.Notice("Error loading image");return}}centerFabricImage(e){var k,u,h,c,d,b;if(!this.canvas)return;let r=(k=this.canvas.width)!=null?k:0,t=(u=this.canvas.height)!=null?u:0,n=(h=e.width)!=null?h:0,f=(c=e.height)!=null?c:0,o=(d=e.scaleX)!=null?d:1,a=(b=e.scaleY)!=null?b:1,A=(r-n*o)/2,l=(t-f*a)/2;e.set({left:A,top:l})}updateDrawingModeUI(e){this.isDrawingMode=e,this.canvas.isDrawingMode=e,this.updateObjectInteractivity(),this.drawButton&&(e?this.drawButton.buttonEl.addClass("is-active"):this.drawButton.buttonEl.removeClass("is-active")),this.canvas.requestRenderAll()}updateObjectInteractivity(){this.canvas&&(this.canvas.forEachObject(e=>{e instanceof M0?(e.selectable=!1,e.evented=!1):e instanceof h0?this.isDrawingMode?(e.selectable=!1,e.evented=!1,e.editable=!1):(e.selectable=!0,e.evented=!0,e.editable=!0):this.isTextMode?(e.selectable=!1,e.evented=!1):(e.selectable=!this.isDrawingMode,e.evented=!this.isDrawingMode)}),this.canvas.selection=!this.isDrawingMode&&!this.isTextMode,this.canvas.requestRenderAll())}createColorSwatches(){let e=this.modalEl.querySelector(".image-converter-annotation-tool-color-picker-wrapper");if(!e)return;let r=g=>{let v=this.modalEl.querySelector(".color-picker");if(v&&(v.value=g,this.updateBrushColor(),this.canvas)){let w=this.canvas.getActiveObject();w&&(w.type==="activeselection"?w.getObjects().forEach(m=>{m instanceof h0?m.set("fill",g):m.set("stroke",this.hexToRgba(g,this.brushOpacities[this.currentOpacityIndex]))}):w instanceof h0?w.set("fill",g):w.set("stroke",this.hexToRgba(g,this.brushOpacities[this.currentOpacityIndex])),this.canvas.requestRenderAll())}},t=e.querySelector(".image-converter-annotation-tool-color-swatches");t&&t.remove();let n=e.createDiv("image-converter-annotation-tool-color-swatches"),f=["#000000","#ffffff","#d1d3d4","#a7a9acCC","#808285","#58595b"],o=["#ff80ff","#ffc680","#ffff80","#80ff9e","#80d6ff","#bcb3ff"],a=n.createDiv("image-converter-annotation-tool-color-row");a.createSpan("image-converter-annotation-tool-row-label").setText("Grayscale:");let A=a.createDiv("image-converter-annotation-tool-swatches-container");f.forEach(g=>{let v=A.createDiv("color-swatch preset");v.style.backgroundColor=g,v.setAttribute("title",g),this.componentContainer.registerDomEvent(v,"click",()=>r(g))});let l=n.createDiv("image-converter-annotation-tool-color-row");l.createSpan("image-converter-annotation-tool-row-label").setText("Palette:");let k=l.createDiv("image-converter-annotation-tool-swatches-container");o.forEach(g=>{let v=k.createDiv("color-swatch preset");v.style.backgroundColor=g,v.setAttribute("title",g),this.componentContainer.registerDomEvent(v,"click",()=>r(g))});let u=this.dominantColors.map((g,v)=>({dominant:g,complementary:this.complementaryColors[v][0],luminosity:this.getLuminosity(g)})).sort((g,v)=>g.luminosity-v.luminosity),h=n.createDiv("image-converter-annotation-tool-color-row");h.createSpan("image-converter-annotation-tool-row-label").setText("Dominant:");let c=h.createDiv("image-converter-annotation-tool-swatches-container");u.forEach(g=>{let v=c.createDiv("color-swatch dominant");v.style.backgroundColor=g.dominant,v.setAttribute("title",g.dominant),this.componentContainer.registerDomEvent(v,"click",()=>r(g.dominant))});let d=n.createDiv("image-converter-annotation-tool-color-row");d.createSpan("image-converter-annotation-tool-row-label").setText("180:");let b=d.createDiv("image-converter-annotation-tool-swatches-container");u.forEach(g=>{let v=b.createDiv("color-swatch complementary");v.style.backgroundColor=g.complementary,v.setAttribute("title",g.complementary),this.componentContainer.registerDomEvent(v,"click",()=>{let w=this.hslToRgb(g.complementary),p=this.rgbToHex(w.r,w.g,w.b);r(p)})}),this.createPresetButtons(n)}updateBrushColor(){var n;if(!((n=this.canvas)!=null&&n.freeDrawingBrush))return;let e=this.modalEl.querySelector(".color-picker");if(!e)return;let r=e.value,t=this.brushOpacities[this.currentOpacityIndex];this.canvas.freeDrawingBrush.color=this.hexToRgba(r,t),this.canvas.freeDrawingBrush.width=this.brushSizes[this.currentBrushSizeIndex]}createTextBackgroundControls(e){let r=e.createDiv("image-converter-annotation-tool-control-group");r.createDiv("control-label").setText("Text Background:");let t=r.createDiv("image-converter-annotation-tool-button-group"),n=t.createDiv("image-converter-annotation-tool-background-color-wrapper"),f=n.createEl("input",{type:"color",cls:"background-color-picker",value:"#ffffff"}),o=n.createEl("input",{type:"range",cls:"background-alpha-slider",attr:{min:"0",max:"100",value:"70"}});new y0.ButtonComponent(t).setTooltip("Transparent").setIcon("eraser").onClick(()=>{this.setTextBackground("transparent")}),new y0.ButtonComponent(t).setTooltip("Semi-transparent white").setIcon("square").onClick(()=>{this.setTextBackground("rgba(255, 255, 255, 0.7)")}).buttonEl.addClass("bg-white-semi"),new y0.ButtonComponent(t).setTooltip("Semi-transparent black").setIcon("square").onClick(()=>{this.setTextBackground("rgba(0, 0, 0, 0.7)")}).buttonEl.addClass("bg-black-semi");let a=()=>{let A=f.value,l=parseInt(o.value)/100,k=this.hexToRgba(A,l);this.setTextBackground(k)};this.componentContainer.registerDomEvent(f,"input",a),this.componentContainer.registerDomEvent(o,"input",a)}setTextBackground(e){if(!this.canvas)return;let r=this.canvas.getActiveObject();r&&(r instanceof h0?r.set("backgroundColor",e):r instanceof di&&r.getObjects().forEach(t=>{t instanceof h0&&t.set("backgroundColor",e)}),this.canvas.requestRenderAll(),this.saveState())}createAndAddText(e,r,t){var n,f,o;if(this.isTextEditingBlocked){console.debug("Text creation blocked");return}try{let a=this.modalEl.querySelector(".background-color-picker"),A=this.modalEl.querySelector(".background-alpha-slider"),l="transparent";if(a&&A){let u=parseInt(A.value)/100;l=this.hexToRgba(a.value,u)}let k=new h0("Type here",{left:r,top:t,fontSize:20,fill:e,backgroundColor:l,selectable:!0,evented:!0,editable:!0,hasControls:!0,hasBorders:!0,centeredScaling:!0,originX:"center",originY:"center"});(n=this.canvas)==null||n.add(k),(f=this.canvas)==null||f.setActiveObject(k),(o=this.canvas)==null||o.requestRenderAll(),setTimeout(()=>{var u;k.enterEditing(),k.selectAll(),(u=this.canvas)==null||u.requestRenderAll()},50)}catch(a){console.error("Error in createAndAddText:",a),this.isTextEditingBlocked=!1}}registerHotkeys(){this.scope.register(["Mod"],"S",e=>{e.preventDefault(),this.saveAnnotation()}),this.scope.register(["Mod"],"A",e=>{if(this.canvas){let r=this.canvas.getActiveObject();if(r instanceof h0&&r.isEditing)return!0}return e.preventDefault(),this.selectAll(),!1}),this.scope.register(["Mod"],"Z",e=>(e.preventDefault(),e.shiftKey?this.redo():this.undo(),!1)),this.scope.register(["Mod","Shift"],"Z",e=>(e.preventDefault(),this.redo(),!1)),this.scope.register([],"A",e=>this.isTextEditing()?!0:(e.preventDefault(),this.switchTool(this.currentTool===3?0:3),!1)),this.scope.register([],"B",e=>{if(this.canvas){let r=this.canvas.getActiveObject();if(r instanceof h0&&r.isEditing)return!0}return e.preventDefault(),this.isTextMode&&this.toggleTextMode(),this.toggleDrawingMode(this.drawButton),!1}),this.scope.register([],"T",e=>{if(this.canvas){let r=this.canvas.getActiveObject();if(r instanceof h0&&r.isEditing)return!0}return e.preventDefault(),this.isDrawingMode&&this.updateDrawingModeUI(!1),this.toggleTextMode(),!1}),this.scope.register([],"Delete",e=>(e.preventDefault(),this.deleteSelectedObjects(),!1)),this.scope.register([],"Backspace",e=>{var t;let r=(t=this.canvas)==null?void 0:t.getActiveObject();return r instanceof h0&&r.isEditing?!0:(e.preventDefault(),this.deleteSelectedObjects(),!1)})}switchTool(e){switch(this.isDrawingMode=!1,this.isTextMode=!1,this.isArrowMode=!1,this.drawButton&&this.drawButton.buttonEl.removeClass("is-active"),this.textButton&&this.textButton.buttonEl.removeClass("is-active"),this.arrowButton&&this.arrowButton.buttonEl.removeClass("is-active"),e){case 1:this.isDrawingMode=!0,this.drawButton&&this.drawButton.buttonEl.addClass("is-active"),this.canvas&&(this.canvas.isDrawingMode=!0,this.canvas.freeDrawingBrush=new we(this.canvas),this.updateBrushColor(),this.canvas.freeDrawingBrush.width=this.brushSizes[this.currentBrushSizeIndex]);break;case 2:this.isTextMode=!0,this.textButton&&this.textButton.buttonEl.addClass("is-active"),this.canvas&&(this.canvas.isDrawingMode=!1);break;case 3:if(this.isArrowMode=!0,this.arrowButton&&this.arrowButton.buttonEl.addClass("is-active"),this.canvas){this.canvas.isDrawingMode=!0;let n=new H1(this.canvas);this.canvas.freeDrawingBrush=n,this.updateBrushColor(),n.width=this.brushSizes[this.currentBrushSizeIndex]}break;case 0:this.canvas&&(this.canvas.isDrawingMode=!1);break}this.currentTool=e,this.updateObjectInteractivity();let r=this.modalEl.querySelector(".text-background-controls");r instanceof HTMLElement&&(r.style.display=e===2?"flex":"none");let t=this.modalEl.querySelector(".image-converter-annotation-tool-preset-buttons");t instanceof HTMLElement&&(t.style.display=e===0?"none":"flex",this.updatePresetButtons())}toggleDrawingMode(e){let r=this.currentTool===1?0:1;this.switchTool(r)}toggleTextMode(){let e=this.currentTool===2?0:2;this.switchTool(e)}toggleArrowMode(e){let r=this.currentTool===3?0:3;this.switchTool(r)}createPresetButtons(e){let t=e.createDiv("image-converter-annotation-tool-preset-buttons");t.style.display="none";for(let n=0;n<3;n++){let f=t.createDiv(`preset-button preset-${n+1}`);f.createDiv("image-converter-annotation-tool-preset-color"),f.createSpan("preset-number").setText(`${n+1}`),this.componentContainer.registerDomEvent(f,"click",o=>{o.shiftKey?this.savePreset(n):this.loadPreset(n)}),f.setAttribute("title","Click to load, Shift+Click to save")}return t}async savePreset(e){let r=this.modalEl.querySelector(".color-picker"),t=this.modalEl.querySelector(".background-color-picker"),n=this.modalEl.querySelector(".background-alpha-slider");if(!r)return;let f={size:this.brushSizes[this.currentBrushSizeIndex],color:r.value,opacity:this.brushOpacities[this.currentOpacityIndex],blendMode:this.currentBlendMode,backgroundColor:t==null?void 0:t.value,backgroundOpacity:n?parseInt(n.value)/100:void 0};this.isDrawingMode?this.plugin.settings.annotationPresets.drawing[e]=f:this.isArrowMode?this.plugin.settings.annotationPresets.arrow[e]=f:this.isTextMode&&(this.plugin.settings.annotationPresets.text[e]=f),await this.plugin.saveSettings(),this.updatePresetButtons(),new y0.Notice(`Preset ${e+1} saved`)}loadPreset(e){var a,A,l,k,u,h,c;let r;if(this.isDrawingMode)r=this.plugin.settings.annotationPresets.drawing[e];else if(this.isArrowMode)r=this.plugin.settings.annotationPresets.arrow[e];else if(this.isTextMode)r=this.plugin.settings.annotationPresets.text[e];else return;if(!r)return;let t=this.modalEl.querySelector(".color-picker");if(t&&(t.value=r.color),this.isTextMode){let d=this.modalEl.querySelector(".background-color-picker"),b=this.modalEl.querySelector(".background-alpha-slider");d&&r.backgroundColor&&(d.value=r.backgroundColor),b&&r.backgroundOpacity!==void 0&&(b.value=(r.backgroundOpacity*100).toString());let g=(a=this.canvas)==null?void 0:a.getActiveObject();if(g)if(g instanceof h0){if(g.set("fill",r.color),r.backgroundColor){let v=this.hexToRgba(r.backgroundColor,(A=r.backgroundOpacity)!=null?A:1);g.set("backgroundColor",v)}(l=this.canvas)==null||l.requestRenderAll()}else g instanceof di&&(g.getObjects().forEach(v=>{var w;if(v instanceof h0&&(v.set("fill",r.color),r.backgroundColor)){let p=this.hexToRgba(r.backgroundColor,(w=r.backgroundOpacity)!=null?w:1);v.set("backgroundColor",p)}}),(k=this.canvas)==null||k.requestRenderAll())}else{let d=(u=this.canvas)==null?void 0:u.getActiveObject();d&&(d instanceof di?d.getObjects().forEach(b=>{var g;b instanceof h0||b.set("stroke",this.hexToRgba(r.color,(g=r.opacity)!=null?g:1))}):d instanceof h0||d.set("stroke",this.hexToRgba(r.color,(h=r.opacity)!=null?h:1)),(c=this.canvas)==null||c.requestRenderAll())}let n=this.brushOpacities.indexOf(r.opacity);if(n!==-1){this.currentOpacityIndex=n;let b=this.modalEl.querySelectorAll(".opacity-buttons-container button")[n];b instanceof HTMLElement&&b.click()}let f=this.brushSizes.indexOf(r.size);if(f!==-1){this.currentBrushSizeIndex=f;let b=this.modalEl.querySelectorAll(".size-buttons-container button")[f];b instanceof HTMLElement&&b.click()}this.currentBlendMode=r.blendMode;let o=this.modalEl.querySelector(".blend-modes-container select");o&&(o.value=r.blendMode),this.updateBrushColor()}updatePresetButtons(){let e=this.modalEl.querySelectorAll(".preset-button"),r=this.isDrawingMode?this.plugin.settings.annotationPresets.drawing:this.isArrowMode?this.plugin.settings.annotationPresets.arrow:this.isTextMode?this.plugin.settings.annotationPresets.text:null;r&&e.forEach((t,n)=>{var o,a;let f=t.querySelector(".image-converter-annotation-tool-preset-color");f&&(this.isTextMode&&r[n].backgroundColor?(f.style.backgroundColor=(o=r[n].backgroundColor)!=null?o:"transparent",f.style.opacity=((a=r[n].backgroundOpacity)!=null?a:1).toString(),f.style.border=`2px solid ${r[n].color}`):(f.style.backgroundColor=r[n].color,f.style.opacity=r[n].opacity.toString(),f.style.border="none"))})}setupToolbar(e){let r=e.createDiv("image-converter-annotation-tool-annotation-toolbar"),t=r.createDiv("annotation-toolbar-group drawing-group"),n=r.createDiv("annotation-toolbar-group brush-controls"),f=r.createDiv("annotation-toolbar-group"),o=t.createDiv("image-converter-annotation-tool-left-section"),a=o.createDiv("image-converter-annotation-tool-drawing-tools-column");this.drawButton=new y0.ButtonComponent(a).setTooltip("Draw (B)").setIcon("pencil").onClick(()=>{this.toggleDrawingMode(this.drawButton)});let A=new y0.ButtonComponent(a).setTooltip("Arrow (A)").setIcon("arrow-right").onClick(()=>{this.toggleArrowMode(A)});this.arrowButton=A,this.textButton=new y0.ButtonComponent(a).setTooltip("Add Text (T)").setIcon("type").onClick(()=>{this.toggleTextMode()}),new y0.ButtonComponent(a).setTooltip("Reset Zoom (1:1)").setIcon("search").onClick(()=>this.resetZoom());let k=o.createDiv("image-converter-annotation-tool-color-picker-wrapper").createEl("input",{type:"color",value:"#ff0000"});k.addClass("color-picker"),this.componentContainer.registerDomEvent(k,"input",b=>{let g=b.target.value;this.updateColorForSelectedObjects(g),this.updateBrushColor()});let u=n.createDiv("brush-controls-column");this.createSizeButtons(u),this.createOpacityButtons(u),this.createBlendModeButtons(u);let h=u.createDiv("layer-controls");h.createDiv("control-label").setText("Layer:");let c=h.createDiv("image-converter-annotation-tool-button-group");new y0.ButtonComponent(c).setTooltip("Bring to Front").setIcon("arrow-up-to-line").onClick(()=>this.bringToFront()),new y0.ButtonComponent(c).setTooltip("Bring Forward").setIcon("arrow-up").onClick(()=>this.bringForward()),new y0.ButtonComponent(c).setTooltip("Send Backward").setIcon("arrow-down").onClick(()=>this.sendBackward()),new y0.ButtonComponent(c).setTooltip("Send to Back").setIcon("arrow-down-to-line").onClick(()=>this.sendToBack()),this.textBackgroundControls=u.createDiv("text-background-controls"),this.textBackgroundControls.style.display="none",this.createTextBackgroundControls(this.textBackgroundControls),new y0.ButtonComponent(f).setTooltip("Clear All").setIcon("trash").onClick(()=>this.clearAll()),this.createBackgroundControls(f),new y0.ButtonComponent(f).setTooltip("Save (Ctrl/Cmd + S)").setIcon("checkmark").onClick(()=>this.saveAnnotation()).buttonEl.addClass("mod-cta"),this.registerHotkeys()}createSizeButtons(e){let t=e.createDiv("brush-controls-column").createDiv("size-buttons-container");t.createDiv("control-label").setText("Size:");let f=t.createDiv("image-converter-annotation-tool-button-group");this.brushSizes.forEach((o,a)=>{let A=new y0.ButtonComponent(f).setButtonText(o.toString()).onClick(()=>{var l;this.currentBrushSizeIndex=a,(l=this.canvas)!=null&&l.freeDrawingBrush&&(this.canvas.freeDrawingBrush.width=this.brushSizes[this.currentBrushSizeIndex]),f.querySelectorAll("button").forEach(k=>k.removeClass("is-active")),A.buttonEl.addClass("is-active")});a===this.currentBrushSizeIndex&&A.buttonEl.addClass("is-active")})}createOpacityButtons(e){let r=e.querySelector(".brush-controls-column");r||(r=e.createDiv("brush-controls-column"));let t=r.createDiv("opacity-buttons-container");t.createDiv("control-label").setText("Opacity:");let f=t.createDiv("image-converter-annotation-tool-button-group");this.brushOpacities.forEach((o,a)=>{let A=new y0.ButtonComponent(f).setButtonText((o*100).toString()+"").onClick(()=>{if(this.currentOpacityIndex=a,this.updateBrushColor(),this.canvas){let l=this.canvas.getActiveObject();if(l){if(l.type==="activeselection"){let k=l;k.getObjects().forEach(u=>{this.updateObjectOpacity(u,o)}),k.dirty=!0}else this.updateObjectOpacity(l,o);this.canvas.requestRenderAll()}}f.querySelectorAll("button").forEach(l=>l.removeClass("is-active")),A.buttonEl.addClass("is-active")});a===this.currentOpacityIndex&&A.buttonEl.addClass("is-active")})}updateObjectOpacity(e,r){if(e instanceof h0){let t=e.get("fill");t.startsWith("rgba")?e.set("fill",this.updateRgbaOpacity(t,r)):e.set("fill",this.hexToRgba(t,r))}else{let t=e.get("stroke");t.startsWith("rgba")?e.set("stroke",this.updateRgbaOpacity(t,r)):e.set("stroke",this.hexToRgba(t,r))}e.dirty=!0}updateRgbaOpacity(e,r){let t=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*[\d.]+)?\)/);if(t){let[,n,f,o]=t;return`rgba(${n}, ${f}, ${o}, ${r})`}return e}createBlendModeButtons(e){let r=e.createDiv("blend-modes-container");r.createDiv("control-label").setText("Blend:");let n=r.createDiv("dropdown-container"),f={"source-over":"Normal",multiply:"Multiply",screen:"Screen",overlay:"Overlay",darken:"Darken",lighten:"Lighten","color-dodge":"Dodge","color-burn":"Burn","hard-light":"Hard Light","soft-light":"Soft Light",difference:"Difference",exclusion:"Exclusion"},o=new y0.DropdownComponent(n);this.blendModes.forEach(a=>{o.addOption(a,f[a])}),o.setValue(this.currentBlendMode),o.onChange(a=>{var l;let A=a;if(this.currentBlendMode=A,(l=this.canvas)!=null&&l.freeDrawingBrush&&(this.canvas.freeDrawingBrush.globalCompositeOperation=A),this.canvas){let k=this.canvas.getActiveObject();if(k){if(k.type==="activeselection"){let u=k;u.getObjects().forEach(h=>{h instanceof M0||(h.globalCompositeOperation=A)}),u.dirty=!0}else k instanceof M0||(k.globalCompositeOperation=A);this.canvas.requestRenderAll()}}})}bringToFront(){if(!this.canvas)return;let e=this.canvas.getActiveObject();if(e){if(e.type==="activeselection"){let r=e;r.getObjects().forEach(t=>{var n;(n=this.canvas)==null||n.bringObjectToFront(t)}),this.canvas.bringObjectToFront(r)}else this.canvas.bringObjectToFront(e);this.canvas.requestRenderAll(),this.saveState()}}bringForward(){if(!this.canvas)return;let e=this.canvas.getActiveObject();if(e){if(e.type==="activeselection"){let r=e;r.getObjects().forEach(t=>{var n;(n=this.canvas)==null||n.bringObjectForward(t)}),this.canvas.bringObjectForward(r)}else this.canvas.bringObjectForward(e);this.canvas.requestRenderAll(),this.saveState()}}sendBackward(){if(!this.canvas)return;let e=this.canvas.getActiveObject();if(e){if(e.type==="activeselection"){let r=e;r.getObjects().reverse().forEach(t=>{var n;(n=this.canvas)==null||n.sendObjectBackwards(t)}),this.canvas.sendObjectBackwards(r)}else this.canvas.sendObjectBackwards(e);this.canvas.requestRenderAll(),this.saveState()}}sendToBack(){if(!this.canvas)return;let e=this.canvas.getActiveObject();if(e){if(e.type==="activeselection"){let r=e;r.getObjects().reverse().forEach(t=>{var n,f,o;(n=this.canvas)==null||n.sendObjectToBack(t),t!==r&&(((f=this.canvas)==null?void 0:f.getObjects())||[]).indexOf(t)>1&&((o=this.canvas)==null||o.moveObjectTo(t,1))}),this.canvas.sendObjectToBack(r)}else this.canvas.sendObjectToBack(e),this.canvas.getObjects().indexOf(e)>1&&this.canvas.moveObjectTo(e,1);this.canvas.requestRenderAll(),this.saveState()}}setupSelectionEvents(){if(!this.canvas)return;this.canvas.on("selection:created",r=>{let t=r;this.syncColorPickerWithSelection(t)}),this.canvas.on("selection:updated",r=>{let t=r;this.syncColorPickerWithSelection(t)});let e=this.modalEl.querySelector(".color-picker");e&&this.componentContainer.registerDomEvent(e,"input",r=>{let t=r.target.value;this.updateColorForSelectedObjects(t),this.updateBrushColor()})}deleteSelectedObjects(){if(!this.canvas)return;let e=this.canvas.getActiveObject();e&&(e instanceof h0&&e.isEditing||(e.type==="activeselection"?(e.getObjects().forEach(n=>{var f;n instanceof M0||(f=this.canvas)==null||f.remove(n)}),this.canvas.discardActiveObject()):e instanceof M0||this.canvas.remove(e),this.canvas.requestRenderAll()))}initializeCanvasEventHandlers(){if(!this.canvas)return;this.canvas.freeDrawingBrush=new we(this.canvas),this.canvas.freeDrawingBrush.width=this.brushSizes[this.currentBrushSizeIndex],this.canvas.freeDrawingBrush.globalCompositeOperation=this.currentBlendMode,this.modalEl.querySelector(".color-picker")&&this.updateBrushColor(),this.canvas.on("path:created",r=>{var t;this.isUndoRedoAction||(r.path&&(r.path.globalCompositeOperation=this.currentBlendMode,(t=this.canvas)==null||t.requestRenderAll()),this.saveState())}),this.canvas.on("object:added",r=>{this.updateObjectInteractivity(),!(r.target instanceof M0||this.isUndoRedoAction)&&r.target.type!=="path"&&this.saveState()}),this.canvas.on("object:modified",r=>{r.target instanceof M0||this.isUndoRedoAction||this.saveState()}),this.canvas.on("object:removed",r=>{r.target instanceof M0||this.isUndoRedoAction||this.saveState()}),this.canvas.on("mouse:down",r=>{let t=r.target;t instanceof h0&&(this.updateDrawingModeUI(!1),this.isTextEditingBlocked=!1,t.selectable=!0,t.evented=!0)}),this.canvas.on("text:editing:entered",r=>{let t=r.target;t&&(this.isTextEditingBlocked=!1,this.updateDrawingModeUI(!1),t.selectable=!0,t.evented=!0)}),this.canvas.on("text:editing:exited",r=>{let t=r.target;t&&(this.isTextEditingBlocked=!1,t.selectable=!0,t.evented=!0)}),this.canvas.on("mouse:dblclick",r=>{var n;if(!this.isTextMode||this.isDrawingMode||this.isTextEditingBlocked){console.debug("Blocked text creation - not in text mode or text editing blocked");return}let t=r.target;if(t instanceof h0){this.isTextEditingBlocked=!1,t.enterEditing(),t.selectAll(),(n=this.canvas)==null||n.requestRenderAll();return}try{let f=this.canvas.getScenePoint(r.e),o=this.modalEl.querySelector(".color-picker"),a=o?o.value:"#ff0000";this.createAndAddText(a,f.x,f.y)}catch(f){console.error("Error creating text:",f),this.isTextEditingBlocked=!1}}),setInterval(()=>{var t;let r=(t=this.canvas)==null?void 0:t.getActiveObject();r instanceof h0&&!r.isEditing&&this.isTextEditingBlocked&&(console.debug("Resetting blocked text editing state"),this.isTextEditingBlocked=!1)},5e3)}preventDefaultHandlers(){let e=n=>{var a;let f=n.target,o=(a=this.canvas)==null?void 0:a.getActiveObject();return o instanceof h0&&o.isEditing&&n instanceof KeyboardEvent?!0:f.tagName.toLowerCase()==="canvas"||f.closest(".image-converter-annotation-tool-annotation-toolbar")!==null||f.closest(".image-converter-annotation-tool-color-picker-wrapper")!==null||f.closest(".modal-close-button")!==null||f.hasClass("modal-close-button")},r=n=>{e(n)||n.stopPropagation()},t=n=>{var o;let f=(o=this.canvas)==null?void 0:o.getActiveObject();if(f instanceof h0&&f.isEditing){(n.ctrlKey||n.metaKey)&&n.key.toLowerCase()==="s"&&(n.preventDefault(),n.stopPropagation());return}if(this.isHandledKey(n)){n.preventDefault(),n.stopPropagation();return}e(n)||n.stopPropagation()};this.componentContainer.registerDomEvent(this.modalEl,"mousedown",r,!0),this.componentContainer.registerDomEvent(this.modalEl,"mousemove",r,!0),this.componentContainer.registerDomEvent(this.modalEl,"mouseup",r,!0),this.componentContainer.registerDomEvent(this.modalEl,"click",r,!0),this.componentContainer.registerDomEvent(this.modalEl,"dblclick",r,!0),this.componentContainer.registerDomEvent(this.modalEl,"keydown",t,!0),this.componentContainer.registerDomEvent(this.modalEl,"keyup",t,!0)}isHandledKey(e){var t;let r=(t=this.canvas)==null?void 0:t.getActiveObject();return r instanceof h0&&r.isEditing?!1:(e.ctrlKey||e.metaKey)&&(e.key.toLowerCase()==="s"||e.key.toLowerCase()==="a")||e.key==="Escape"||!this.isTextEditing()&&(e.key==="Delete"||e.key==="Backspace"||e.key.toLowerCase()==="b"||e.key.toLowerCase()==="t"||e.key.toLowerCase()==="a")}isTextEditing(){var r;let e=(r=this.canvas)==null?void 0:r.getActiveObject();return!!(e instanceof h0&&e.isEditing)}syncColorPickerWithSelection(e){let r=this.modalEl.querySelector(".color-picker"),t=this.modalEl.querySelector(".background-color-picker"),n=this.modalEl.querySelector(".background-alpha-slider");if(!r||!t||!n||e.selected.length===0)return;let f=e.selected[0];if(f instanceof h0){let o=f.fill;o&&o!==r.value&&(r.value=this.rgbaToHex(o));let a=f.backgroundColor;if(a&&a!=="transparent"){let{hex:A,alpha:l}=this.rgbaToHexWithAlpha(a);A!==t.value&&(t.value=A);let k=Math.round(l*100).toString();k!==n.value&&(n.value=k)}}}updateColorForSelectedObjects(e){if(!this.canvas)return;let r=this.canvas.getActiveObject();if(!r)return;let t=this.brushOpacities[this.currentOpacityIndex];if(r instanceof di){let n=r;n.forEachObject(f=>{f instanceof h0?f.set("fill",e):f.set("stroke",this.hexToRgba(e,t))}),n.dirty=!0}else r instanceof h0?r.set("fill",e):r.set("stroke",this.hexToRgba(e,t));this.canvas.requestRenderAll()}rgbaToHex(e){let r=e.match(/rgba?\((\d+), (\d+), (\d+)/);if(!r)return"#ff0000";let[,t,n,f]=r.map(Number);return`#${((1<<24)+(t<<16)+(n<<8)+f).toString(16).slice(1)}`}rgbaToHexWithAlpha(e){let r=e.match(/rgba\((\d+), (\d+), (\d+), ([0-9.]+)\)/);if(!r)return{hex:"#ffffff",alpha:1};let[,t,n,f,o]=r.map((A,l)=>l===4?parseFloat(A):Number(A));return{hex:`#${((1<<24)+(t<<16)+(n<<8)+f).toString(16).slice(1)}`,alpha:o}}hexToRgba(e,r){e=e.replace("#","");let t=parseInt(e.substring(0,2),16),n=parseInt(e.substring(2,4),16),f=parseInt(e.substring(4,6),16);return`rgba(${t}, ${n}, ${f}, ${r})`}async analyzeImageColors(e){let r=document.createElement("canvas"),t=r.getContext("2d");if(!t)return;r.width=e.width,r.height=e.height,t.drawImage(e,0,0);let f=t.getImageData(0,0,r.width,r.height).data,o=new Map;for(let A=0;A<f.length;A+=16){let l=f[A],k=f[A+1],u=f[A+2];if(f[A+3]<128)continue;let c=Math.round(l/32)*32,d=Math.round(k/32)*32,b=Math.round(u/32)*32,g=this.rgbToHex(c,d,b);o.set(g,(o.get(g)||0)+1)}let a=Array.from(o.entries()).map(([A,l])=>({color:A,count:l})).sort((A,l)=>l.count-A.count).slice(0,6).map(A=>A.color);this.dominantColors=a,this.complementaryColors=a.map(A=>this.getComplementaryColors(A)),this.createColorSwatches()}getLuminosity(e){let r=this.hexToRgb(e);return .299*r.r+.587*r.g+.114*r.b}rgbToHex(e,r,t){return"#"+[e,r,t].map(n=>{let f=n.toString(16);return f.length===1?"0"+f:f}).join("")}hexToRgb(e){let r=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return r?{r:parseInt(r[1],16),g:parseInt(r[2],16),b:parseInt(r[3],16)}:{r:0,g:0,b:0}}getComplementaryColors(e){let r=this.hexToRgb(e),t=this.rgbToHsl(r.r,r.g,r.b);return[this.hslToString((t.h+180)%360,t.s,t.l)]}rgbToHsl(e,r,t){e/=255,r/=255,t/=255;let n=Math.max(e,r,t),f=Math.min(e,r,t),o=0,a=0,A=(n+f)/2;if(n!==f){let k=n-f;switch(a=A>.5?k/(2-n-f):k/(n+f),n){case e:o=(r-t)/k+(r<t?6:0);break;case r:o=(t-e)/k+2;break;case t:o=(e-r)/k+4;break}o*=60}a=a*100;let l=A*100;return{h:o,s:a,l}}hslToString(e,r,t){return e=e%360,e<0&&(e+=360),`hsl(${Math.round(e)}, ${Math.round(r)}%, ${Math.round(t)}%)`}hslToRgb(e){let r=e.match(/hsl\((\d+),\s*(\d+)%,\s*(\d+)%\)/);if(!r)return{r:0,g:0,b:0};let t=parseInt(r[1])/360,n=parseInt(r[2])/100,f=parseInt(r[3])/100,o,a,A;if(n===0)o=a=A=f;else{let l=(h,c,d)=>(d<0&&(d+=1),d>1&&(d-=1),d<.16666666666666666?h+(c-h)*6*d:d<.5?c:d<.6666666666666666?h+(c-h)*(.6666666666666666-d)*6:h),k=f<.5?f*(1+n):f+n-f*n,u=2*f-k;o=l(u,k,t+1/3),a=l(u,k,t),A=l(u,k,t-1/3)}return{r:Math.round(o*255),g:Math.round(a*255),b:Math.round(A*255)}}setupResizable(){this.resizeHandle=this.modalEl.createDiv("modal-resize-handle"),this.resizeHandle.innerHTML="\u22EE\u22EE",this.componentContainer.registerDomEvent(this.resizeHandle,"mousedown",this.startResize.bind(this)),this.componentContainer.registerDomEvent(document,"mousemove",this.resize.bind(this)),this.componentContainer.registerDomEvent(document,"mouseup",this.stopResize.bind(this)),this.modalEl.addClass("resizable-modal")}startResize(e){this.isResizing=!0,this.modalEl.addClass("is-resizing"),e.preventDefault()}resize(e){var u,h,c,d,b;if(!this.isResizing||!this.canvas)return;let r=this.modalEl.getBoundingClientRect(),t=Math.max(this.minWidth,e.clientX-r.left),n=Math.max(this.minHeight,e.clientY-r.top);this.modalEl.style.width=`${t}px`,this.modalEl.style.height=`${n}px`;let f=this.modalEl.querySelector(".image-converter-annotation-tool-annotation-toolbar"),o=(u=f==null?void 0:f.offsetHeight)!=null?u:0,a=40;this.canvas.setDimensions({width:t-a,height:n-o-a});let A=this.canvas.getObjects()[0];if(A){let g=(h=A.width)!=null?h:1,v=(c=A.height)!=null?c:1,w=Math.min((t-a)/g,(n-o-a)/v)*.8;A.set({scaleX:w,scaleY:w})}let l=(d=this.canvas.width)!=null?d:0,k=(b=this.canvas.height)!=null?b:0;this.canvas.getObjects().slice(1).forEach(g=>{let v=g.getBoundingRect();v.left<0&&g.set("left",0),v.top<0&&g.set("top",0),v.left+v.width>l&&g.set("left",Math.max(0,l-v.width)),v.top+v.height>k&&g.set("top",Math.max(0,k-v.height))}),this.canvas.requestRenderAll()}stopResize(){this.isResizing=!1,this.modalEl.removeClass("is-resizing")}setupZoomAndPan(){this.canvas&&(this.canvas.on("mouse:wheel",e=>{let r=e.e;r.preventDefault(),r.stopPropagation();let t=this.canvas.getScenePoint(r),n=r.deltaY,f=this.currentZoom*(n>0?.95:1.05);if(f=Math.min(Math.max(f,this.minZoom),this.maxZoom),f!==this.currentZoom){let o=this.canvas.getObjects()[0];o&&(o.objectCaching=!1),this.zoomToPoint(t,f),setTimeout(()=>{var a;o&&(o.objectCaching=!0,(a=this.canvas)==null||a.requestRenderAll())},100)}}),this.componentContainer.registerDomEvent(document,"keydown",this.boundKeyDownHandler),this.componentContainer.registerDomEvent(document,"keyup",this.boundKeyUpHandler),this.canvas.on("mouse:down",e=>{if(this.isSpacebarDown&&e.e){this.isPanning=!0,this.canvas.defaultCursor="grabbing";let r=e.e;this.lastPanPoint={x:r.clientX,y:r.clientY}}}),this.canvas.on("mouse:move",e=>{if(!this.isPanning||!this.lastPanPoint||!e.e)return;let r=e.e,t={x:r.clientX,y:r.clientY},n=t.x-this.lastPanPoint.x,f=t.y-this.lastPanPoint.y;this.canvas.relativePan(new N(n,f)),this.lastPanPoint=t}),this.canvas.on("mouse:up",()=>{this.isPanning&&(this.isPanning=!1,this.lastPanPoint=null,this.canvas.defaultCursor=this.isSpacebarDown?"grab":"default")}))}handleKeyDown(e){var r;if(e.code==="Space"){let t=(r=this.canvas)==null?void 0:r.getActiveObject();if(t instanceof h0&&t.isEditing)return;if(!this.isSpacebarDown){e.preventDefault(),this.isSpacebarDown=!0,this.canvas.defaultCursor="grab";let n=this.isDrawingMode;this.isDrawingMode&&(this.canvas.isDrawingMode=!1),this._previousStates={drawingMode:n}}}(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()==="z"&&(e.preventDefault(),e.stopPropagation(),e.shiftKey?this.redo():this.undo())}handleKeyUp(e){var r,t;if(e.code==="Space"){let n=(r=this.canvas)==null?void 0:r.getActiveObject();if(n instanceof h0&&n.isEditing)return;e.preventDefault(),this.isSpacebarDown=!1,this.isPanning=!1,this.lastPanPoint=null,this.canvas.defaultCursor="default",(t=this._previousStates)!=null&&t.drawingMode&&(this.canvas.isDrawingMode=!0,this.isDrawingMode=!0),this._previousStates=null}}zoomToPoint(e,r){if(!this.canvas)return;let t=r/this.currentZoom;this.currentZoom=r;let n=[...this.canvas.viewportTransform];if(!n)return;let f={x:e.x-n[4],y:e.y-n[5]},o=[r,0,0,r,e.x-f.x*t,e.y-f.y*t];this.canvas.setViewportTransform(o),this.enforceViewportBounds();let a=this.canvas.getObjects()[0];a&&a.setCoords(),this.canvas.requestRenderAll(),setTimeout(()=>{var A;(A=this.canvas)==null||A.requestRenderAll()},50)}enforceViewportBounds(){var a,A;if(!this.canvas)return;let e=this.canvas.viewportTransform;if(!e)return;let r=(a=this.canvas.width)!=null?a:0,t=(A=this.canvas.height)!=null?A:0,n=this.currentZoom,f=r*(1-n),o=t*(1-n);e[4]=Math.min(Math.max(e[4],f),0),e[5]=Math.min(Math.max(e[5],o),0),this.canvas.setViewportTransform(e)}resetZoom(){this.canvas&&(this.currentZoom=1,this.canvas.setViewportTransform([1,0,0,1,0,0]),this.canvas.requestRenderAll())}createBackgroundControls(e){let r=new y0.ButtonComponent(e).setTooltip("Background").setIcon("layout-template").onClick(t=>{t.stopPropagation(),this.toggleBackgroundDropdown(r.buttonEl)});this.backgroundDropdown=e.createDiv("background-dropdown"),this.backgroundDropdown.style.display="none",this.backgroundOptions.forEach(t=>{let n=this.backgroundDropdown.createDiv("background-option");switch(t){case"transparent":{n.createDiv("option-icon").innerHTML=`<svg viewBox="0 0 100 100" width="20" height="20">
|
|
<rect x="0" y="0" width="50" height="50" fill="#ccc"/>
|
|
<rect x="50" y="50" width="50" height="50" fill="#ccc"/>
|
|
</svg>`;break}case"grid":{n.createDiv("option-icon").innerHTML=`<svg viewBox="0 0 100 100" width="20" height="20">
|
|
<path d="M0 0 L100 0 M0 50 L100 50 M50 0 L50 100" stroke="#000" stroke-width="10"/>
|
|
</svg>`;break}case"dots":{n.createDiv("option-icon").innerHTML=`<svg viewBox="0 0 100 100" width="20" height="20">
|
|
<circle cx="50" cy="50" r="10"/>
|
|
</svg>`;break}default:{let f=n.createDiv("color-preview");f.style.backgroundColor=t}}this.componentContainer.registerDomEvent(n,"click",f=>{var a;f.stopPropagation();let o=(a=this.canvas)==null?void 0:a.getActiveObject();o instanceof h0&&o.isEditing||(this.setBackground(t),this.hideBackgroundDropdown())}),t===this.currentBackground&&n.addClass("is-active")}),this.componentContainer.registerDomEvent(document,"click",()=>{this.hideBackgroundDropdown()})}createBackgroundPattern(e){if(e==="grid"||e==="dots"){let r=document.createElement("canvas"),t=r.getContext("2d");if(!t)return"transparent";switch(r.width=20,r.height=20,e){case"grid":return t.strokeStyle="#ddd",t.lineWidth=1,t.beginPath(),t.moveTo(0,0),t.lineTo(20,0),t.moveTo(0,0),t.lineTo(0,20),t.stroke(),new Ve({source:r,repeat:"repeat"});case"dots":return t.fillStyle="#ddd",t.beginPath(),t.arc(10,10,1,0,Math.PI*2),t.fill(),new Ve({source:r,repeat:"repeat"})}}return e}toggleBackgroundDropdown(e){if(this.backgroundDropdown)if(this.backgroundDropdown.style.display==="none"){let r=e.getBoundingClientRect();this.backgroundDropdown.style.top=`${r.bottom+5}px`,this.backgroundDropdown.style.left=`${r.left}px`,this.backgroundDropdown.style.display="block"}else this.hideBackgroundDropdown()}hideBackgroundDropdown(){this.backgroundDropdown&&(this.backgroundDropdown.style.display="none")}setBackground(e){var n;if(!this.canvas)return;let r=this.createBackgroundPattern(e);this.canvas.backgroundColor=r,this.canvas.requestRenderAll(),this.currentBackground=e;let t=this.modalEl.querySelectorAll(".background-controls .image-converter-annotation-tool-button-group button");t.forEach(f=>f.removeClass("is-active")),(n=t[this.backgroundOptions.indexOf(e)])==null||n.addClass("is-active")}initializeUndoRedo(){this.undoStack=[JSON.stringify([])],this.redoStack=[]}saveState(){if(!this.canvas||this.isUndoRedoAction)return;this.undoStack.length===0&&this.undoStack.push(JSON.stringify([]));let e=this.canvas.getObjects().slice(1),r=JSON.stringify(e.map(t=>t.toObject()));this.undoStack[this.undoStack.length-1]!==r&&(this.undoStack.push(r),this.redoStack=[])}async undo(){if(!(!this.canvas||this.undoStack.length<=1)){this.isUndoRedoAction=!0;try{let e=this.undoStack.pop();e&&this.redoStack.push(e);let r=this.undoStack[this.undoStack.length-1];if(this.canvas.getObjects().slice(1).forEach(n=>this.canvas.remove(n)),r){let n=JSON.parse(r);for(let f of n)(await z1.enlivenObjects([f])).forEach(a=>{a instanceof q0&&this.canvas.add(a)})}this.canvas.requestRenderAll()}catch(e){console.error("Error during undo:",e)}finally{this.isUndoRedoAction=!1}}}async redo(){if(!(!this.canvas||this.redoStack.length===0)){this.isUndoRedoAction=!0;try{let e=this.redoStack.pop();if(!e)return;let r=this.canvas.getObjects().slice(1),t=JSON.stringify(r.map(o=>o.toObject()));this.undoStack.push(t),this.canvas.getObjects().slice(1).forEach(o=>this.canvas.remove(o));let f=JSON.parse(e);for(let o of f)(await z1.enlivenObjects([o])).forEach(A=>{A instanceof q0&&this.canvas.add(A)});this.canvas.requestRenderAll()}catch(e){console.error("Error during redo:",e)}finally{this.isUndoRedoAction=!1}}}clearAll(){if(!this.canvas)return;let e="Are you sure you want to clear all annotations?",r="Clear";new Ei(this.app,"Clear Annotations",e,r,()=>{this.canvas.getObjects().slice(1).forEach(n=>this.canvas.remove(n)),this.canvas.requestRenderAll(),this.saveState()}).open()}selectAll(){if(!this.canvas)return;let e=this.canvas.getObjects().slice(1);if(e.length===0)return;let r=this.isDrawingMode,t=this.isTextMode;if(r&&this.updateDrawingModeUI(!1),t&&this.toggleTextMode(),e.length===1)this.canvas.setActiveObject(e[0]);else{let n=new di(e,{canvas:this.canvas});this.canvas.setActiveObject(n)}this.canvas.requestRenderAll(),r&&this.updateDrawingModeUI(!0),t&&this.toggleTextMode()}async saveAnnotation(){var e,r,t,n,f,o;if(this.canvas)try{let a=this.canvas.preserveObjectStacking;this.canvas.preserveObjectStacking=!1;let A=Ta.getType(this.file.name)||`image/${this.file.extension}`;if(!A)throw new Error("Unable to determine file type");let l="png";A==="image/jpeg"||A==="image/jpg"?l="jpeg":A==="image/png"?l="png":A==="image/webp"?l="webp":A==="image/avif"&&(l="avif");let k=this.canvas.getObjects();if(k.length===0)return;let u=k.find(M=>M instanceof M0);if(!u)return;this.canvas.renderAll(),await new Promise(M=>setTimeout(M,100));let h=(e=u.width)!=null?e:0,c=(r=u.height)!=null?r:0,d={x:(t=u.scaleX)!=null?t:1,y:(n=u.scaleY)!=null?n:1},b=h*d.x,g=c*d.y,v=(f=u.left)!=null?f:0,w=(o=u.top)!=null?o:0,p=v+b,m=w+g,C=v,y=w,Z=p,_=m,x=k.filter(M=>M!==u);x.length>0&&x.forEach(M=>{if(!M.visible)return;let T=M.getBoundingRect();isFinite(T.left)&&(C=Math.min(C,T.left)),isFinite(T.top)&&(y=Math.min(y,T.top)),isFinite(T.width)&&(Z=Math.max(Z,T.left+T.width)),isFinite(T.height)&&(_=Math.max(_,T.top+T.height))}),C=Math.min(C,v),y=Math.min(y,w),Z=Math.max(Z,p),_=Math.max(_,m);let B=Z-C,I=_-y;if(B<=0||I<=0)throw new Error("Invalid export dimensions");let W=Math.max(h/b,c/g),F=[...this.canvas.viewportTransform];this.canvas.setViewportTransform([1,0,0,1,0,0]),this.canvas.setZoom(1),k.forEach(M=>{M.setCoords(),M.visible=!0}),this.canvas.renderAll(),await new Promise(M=>setTimeout(M,100));let X=null;try{let M=this.canvas.toCanvasElement(W),T=document.createElement("canvas");T.width=B*W,T.height=I*W;let z=T.getContext("2d");z&&(z.drawImage(M,C*W,y*W,B*W,I*W,0,0,T.width,T.height),X=await new Promise((R,P)=>{T.toBlob(G=>{G?G.arrayBuffer().then(R).catch(P):P(new Error("Blob creation failed"))},A,1)}))}catch(M){console.log("toCanvasElement method failed, trying alternative...",M)}if(!X)try{let M=this.canvas.toDataURL({format:l,quality:1,multiplier:W,left:C,top:y,width:B,height:I,enableRetinaScaling:!0});if(!M||M==="data:,")throw new Error("Invalid data URL");X=Dl(M)}catch(M){console.log("toDataURL method failed, trying alternative...",M)}if(!X){new y0.Notice("6");try{let M=this.canvas.getElement(),T=document.createElement("canvas");T.width=B*W,T.height=I*W;let z=T.getContext("2d");new y0.Notice("7"),z&&(new y0.Notice("8"),z.drawImage(M,C,y,B,I,0,0,T.width,T.height),X=await(await new Promise((P,G)=>{T.toBlob(Q=>{Q?P(Q):G(new Error("Blob creation failed"))},A,1)})).arrayBuffer())}catch(M){console.log("Native canvas fallback failed",M)}}if(!X)throw new Error("All export methods failed");if(this.canvas.setViewportTransform(F),this.canvas.renderAll(),await this.app.vault.modifyBinary(this.file,X),new y0.Notice("Image saved successfully"),!this.app.workspace.getActiveViewOfType(y0.MarkdownView))return;let S=this.app.workspace.getMostRecentLeaf();if(S){let M=S.getViewState();await S.setViewState({type:"empty",state:{}}),await S.setViewState(M)}this.canvas.preserveObjectStacking=a,this.canvas.requestRenderAll(),this.close()}catch(a){console.error("Save error:",a),new y0.Notice("Error saving image")}}cleanup(){this.canvas&&(this.canvas.off(),this.canvas.dispose()),this.componentContainer.unload(),this.isTextEditingBlocked=!1,this.isDrawingMode=!1,this.isTextMode=!1,this._previousStates=null,this.drawButton&&this.drawButton.buttonEl.removeClass("is-active"),this.textButton&&this.textButton.buttonEl.removeClass("is-active"),this.canvas&&this.resetZoom(),this.isPanning=!1,this.isSpacebarDown=!1,this.lastPanPoint=null,this.canvas&&(this.canvas.defaultCursor="default"),this.undoStack=[],this.redoStack=[],this.isUndoRedoAction=!1,this.isArrowMode=!1,this.arrowButton&&this.arrowButton.buttonEl.removeClass("is-active")}onClose(){let{contentEl:e}=this;e.empty(),this.cleanup(),this.componentContainer.registerDomEvent(document,"mousemove",this.resize.bind(this)),this.componentContainer.registerDomEvent(document,"mouseup",this.stopResize.bind(this)),this.componentContainer.unload(),super.onClose()}},H1=class extends we{constructor(e){super(e);this.points=[];this.minDistance=3;this.currentPath=null;this.currentArrowHead=null;this.width||(this.width=8)}onMouseDown(e,r){this.points=[e],this.currentPath=null,this.currentArrowHead=null}onMouseMove(e,r){if(!this.points.length)return;let t=this.points[this.points.length-1];Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))>=this.minDistance&&(this.points.push(e),this.currentPath&&this.canvas.remove(this.currentPath),this.currentArrowHead&&this.canvas.remove(this.currentArrowHead),this.currentPath=this.createSmoothedPath(),this.currentArrowHead=this.createArrowHead(),this.currentPath&&this.canvas.add(this.currentPath),this.currentArrowHead&&this.canvas.add(this.currentArrowHead),this.canvas.requestRenderAll())}onMouseUp({e}){if(this.points.length>=2){this.currentPath&&this.canvas.remove(this.currentPath),this.currentArrowHead&&this.canvas.remove(this.currentArrowHead);let r=this.createSmoothedPath(),t=this.createArrowHead();r&&this.canvas.add(r),t&&this.canvas.add(t),this.canvas.requestRenderAll()}return this.points=[],this.currentPath=null,this.currentArrowHead=null,!1}createSmoothedPath(){if(this.points.length<2)return null;try{let e=this.simplifyPoints(this.points,50),r=this.getControlPoints(e),t=`M ${e[0].x} ${e[0].y}`;for(let n=0;n<r.length-1;n++){let f=r[n],o=r[n+1];t+=` C ${f.cp2x} ${f.cp2y} ${o.cp1x} ${o.cp1y} ${o.x} ${o.y}`}return new Xi(t,{stroke:this.color,strokeWidth:this.width,fill:"",strokeLineCap:"round",strokeLineJoin:"round",selectable:!1,evented:!1})}catch(e){return console.error("Error creating smoothed path:",e),null}}simplifyPoints(e,r){if(e.length<=2)return e;let t=[e[0]],n=e[0];for(let f=1;f<e.length-1;f++){let o=e[f],a=e[f+1],A=Math.hypot(o.x-n.x,o.y-n.y),l=Math.hypot(a.x-o.x,a.y-o.y);A+l>r&&(t.push(o),n=o)}return t.push(e[e.length-1]),t}getControlPoints(e){let t=[];for(let n=0;n<e.length;n++){let f=e[n],o=e[n-1]||f,a=e[n+1]||f,A=a.x-o.x,l=a.y-o.y,k=f.x-A*.2,u=f.y-l*.2,h=f.x+A*.2,c=f.y+l*.2;t.push({x:f.x,y:f.y,cp1x:k,cp1y:u,cp2x:h,cp2y:c})}return t}getAverageDirection(e,r=5){let t=e.slice(-r);if(t.length<2)return{angle:0,endPoint:e[e.length-1]};let n=t[t.length-2],f=t[t.length-1];return{angle:Math.atan2(f.y-n.y,f.x-n.x),endPoint:f}}createArrowHead(){try{if(this.points.length<2)return null;let{angle:e,endPoint:r}=this.getAverageDirection(this.points),t=Math.max(this.width*2,10),n=Math.max(this.width,5),f=Math.PI/6,o=r.x-t*Math.cos(e-f),a=r.y-t*Math.sin(e-f),A=r.x-t*Math.cos(e+f),l=r.y-t*Math.sin(e+f),k=`M ${r.x} ${r.y} L ${o} ${a} M ${r.x} ${r.y} L ${A} ${l}`;return new Xi(k,{stroke:this.color,strokeWidth:n,fill:"",strokeLineCap:"round",strokeLineJoin:"round",selectable:!1,evented:!1})}catch(e){return console.error("Error creating arrow head:",e),null}}};function Dl(s){let i=atob(s.split(",")[1]),e=i.length,r=new ArrayBuffer(e),t=new Uint8Array(r);for(let n=0;n<e;n++)t[n]=i.charCodeAt(n);return r}var Ne=require("obsidian"),Kt=class extends Ne.Modal{constructor(e,r){super(e);this.componentContainer=new Ne.Component;this.MODAL_PADDING=16;this.HEADER_HEIGHT=60;this.FOOTER_HEIGHT=60;this.ASPECT_RATIO_HEIGHT=80;this.CHROME_HEIGHT=this.HEADER_HEIGHT+this.FOOTER_HEIGHT+this.ASPECT_RATIO_HEIGHT;this.MIN_WIDTH=320;this.MIN_HEIGHT=400;this.STATIC_DESKTOP_WIDTH_RATIO=.9;this.STATIC_DESKTOP_HEIGHT_RATIO=.9;this.originalArrayBuffer=null;this.isDrawing=!1;this.startX=0;this.startY=0;this.imageScale={x:1,y:1};this.currentAspectRatio=null;this.currentRotation=0;this.isFlippedX=!1;this.isFlippedY=!1;this.zoom=1;this.MIN_ZOOM=.1;this.MAX_ZOOM=5;this.ZOOM_STEP=.1;this.imageFile=r,this.componentContainer.load(),this.containerEl.addClass("crop-tool-modal")}setupEventListeners(){this.componentContainer.registerDomEvent(this.cropContainer,"mousedown",e=>{if(e.target===this.originalImage){this.isDrawing=!0;let r=this.cropContainer.getBoundingClientRect();this.startX=e.clientX-r.left,this.startY=e.clientY-r.top,this.selectionArea.style.display="block",this.selectionArea.style.left=`${this.startX}px`,this.selectionArea.style.top=`${this.startY}px`,this.selectionArea.style.width="0",this.selectionArea.style.height="0"}}),this.componentContainer.registerDomEvent(this.cropContainer,"mousemove",e=>{if(!this.isDrawing)return;let r=this.cropContainer.getBoundingClientRect(),t=e.clientX-r.left,n=e.clientY-r.top;this.updateSelectionSize(t,n)}),this.componentContainer.registerDomEvent(this.cropContainer,"mouseup",e=>{this.isDrawing=!1,this.makeSelectionMovable()}),this.componentContainer.registerDomEvent(this.cropContainer,"mouseleave",e=>{this.isDrawing=!1})}async onOpen(){let{contentEl:e}=this;e.empty();let r=e.createDiv("crop-modal-wrapper"),t=r.createDiv("crop-modal-header");t.createEl("h2",{text:"Crop image"});let n=r.createDiv("crop-modal-content");this.cropContainer=n.createDiv("crop-container"),this.selectionArea=this.cropContainer.createDiv("selection-area"),this.selectionArea.style.display="none";let f=r.createDiv("crop-modal-buttons"),o=f.createEl("button",{text:"Save"}),a=f.createEl("button",{text:"Cancel"}),A=f.createEl("button",{text:"Reset"}),l=t.createDiv("aspect-ratio-controls");this.createTransformControls(l),l.createEl("span",{text:" "});let k=l.createDiv("ratio-buttons-container");[{name:"free",ratio:null,label:"Free"},{name:"square",ratio:1,label:"1:1"},{name:"16:9",ratio:16/9,label:"16:9"},{name:"4:3",ratio:4/3,label:"4:3"}].forEach(({name:b,ratio:g,label:v})=>{let w=k.createEl("button",{text:v,cls:"aspect-ratio-button"});this.componentContainer.registerDomEvent(w,"click",()=>{l.querySelectorAll(".aspect-ratio-button").forEach(p=>p.removeClass("active")),w.addClass("active"),g!==null&&(h.value="",c.value=""),this.currentAspectRatio=g,this.selectionArea.style.display!=="none"&&this.adjustSelectionToAspectRatio()}),b==="free"&&w.addClass("active")});let u=l.createDiv("custom-ratio-container"),h=u.createEl("input",{type:"number",placeholder:"W",cls:"custom-ratio-input"});u.createEl("span",{text:":"});let c=u.createEl("input",{type:"number",placeholder:"H",cls:"custom-ratio-input"}),d=()=>{let b=parseFloat(h.value),g=parseFloat(c.value);b>0&&g>0&&(l.querySelectorAll(".aspect-ratio-button").forEach(v=>v.removeClass("active")),this.currentAspectRatio=b/g,this.selectionArea.style.display!=="none"&&this.adjustSelectionToAspectRatio())};this.componentContainer.registerDomEvent(h,"input",d),this.componentContainer.registerDomEvent(c,"input",d),this.createImageControls(t);try{await this.loadImage(),this.setupEventListeners(),this.componentContainer.registerDomEvent(o,"click",()=>this.saveImage()),this.componentContainer.registerDomEvent(a,"click",()=>this.close()),this.componentContainer.registerDomEvent(A,"click",()=>this.resetSelection()),this.componentContainer.registerDomEvent(document,"keydown",b=>{b.key==="Escape"&&(this.resetSelection(),b.stopPropagation())})}catch(b){new Ne.Notice("Error loading image for cropping"),console.error("Crop modal error:",b),this.close()}}async loadImage(){this.originalArrayBuffer=await this.app.vault.readBinary(this.imageFile);let e=new Blob([this.originalArrayBuffer]),r=URL.createObjectURL(e);return this.originalImage=document.createElement("img"),this.originalImage.className="crop-original-image",new Promise((t,n)=>{this.originalImage.onload=()=>{this.adjustModalSize(),this.imageScale.x=this.originalImage.naturalWidth/this.originalImage.clientWidth,this.imageScale.y=this.originalImage.naturalHeight/this.originalImage.clientHeight,this.cropContainer.appendChild(this.originalImage),t()},this.originalImage.onerror=n,this.originalImage.src=r})}adjustModalSize(){if(!this.originalImage)return;let e=this.containerEl.querySelector(".modal");if(!e)return;let r=window.innerWidth<=768,t=this.originalImage.naturalWidth,n=this.originalImage.naturalHeight,f=t/n,o,a;if(r)o=window.innerWidth-this.MODAL_PADDING*2,a=Math.min(window.innerHeight-this.MODAL_PADDING*2,o/f+this.CHROME_HEIGHT);else{o=window.innerWidth*this.STATIC_DESKTOP_WIDTH_RATIO,a=window.innerHeight*this.STATIC_DESKTOP_HEIGHT_RATIO;let A=a-this.CHROME_HEIGHT;f>o/A?a=o/f+this.CHROME_HEIGHT:o=A*f}o=Math.max(this.MIN_WIDTH,o),a=Math.max(this.MIN_HEIGHT,a),e.style.width=`${o}px`,e.style.height=`${a}px`,e.style.top="50%",e.style.left="50%",e.style.transform="translate(-50%, -50%)"}createTransformControls(e){let r=e.createDiv({cls:"transform-controls"}),t=r.createDiv({cls:"rotate-container"}),n=t.createEl("button",{cls:"transform-button",text:"\u21BA",attr:{title:"90\xB0 Counter Clockwise"}}),f=t.createEl("button",{cls:"transform-button",text:"\u21BB",attr:{title:"90\xB0 Clockwise"}}),o=r.createDiv({cls:"flip-container"}),a=o.createEl("button",{cls:"transform-button",text:"\u2194",attr:{title:"Flip Horizontally"}}),A=o.createEl("button",{cls:"transform-button",text:"\u2195",attr:{title:"Flip Vertically"}});this.componentContainer.registerDomEvent(n,"click",()=>this.rotate(-90)),this.componentContainer.registerDomEvent(f,"click",()=>this.rotate(90)),this.componentContainer.registerDomEvent(a,"click",()=>this.flip("horizontal")),this.componentContainer.registerDomEvent(A,"click",()=>this.flip("vertical"))}rotate(e){this.currentRotation=(this.currentRotation+e)%360,this.applyTransforms()}flip(e){e==="horizontal"?this.isFlippedX=!this.isFlippedX:this.isFlippedY=!this.isFlippedY,this.applyTransforms()}createImageControls(e){let r=e.createDiv({cls:"image-controls"}),t=r.createDiv({cls:"control-group rotation-controls"});t.createEl("span",{text:"Rotation: ",cls:"control-label"});let n=t.createEl("span",{text:"0\xB0",cls:"rotation-value"}),f=t.createEl("input",{type:"range",cls:"slider rotation-slider",attr:{min:"0",max:"360",value:"0"}}),o=r.createDiv({cls:"control-group zoom-controls"});o.createEl("span",{text:"Zoom: ",cls:"control-label"});let a=o.createEl("span",{text:"100%",cls:"zoom-value"}),A=o.createEl("input",{type:"range",cls:"slider zoom-slider",attr:{min:String(this.MIN_ZOOM*100),max:String(this.MAX_ZOOM*100),value:"100"}});this.componentContainer.registerDomEvent(f,"input",l=>{let k=parseInt(l.target.value);this.currentRotation=k,n.textContent=`${k}\xB0`,this.applyTransforms()}),this.componentContainer.registerDomEvent(A,"input",l=>{let k=parseInt(l.target.value);this.zoom=k/100,a.textContent=`${k}%`,this.applyTransforms()}),this.cropContainer&&this.componentContainer.registerDomEvent(this.cropContainer,"wheel",l=>{l.preventDefault();let k=-Math.sign(l.deltaY)*this.ZOOM_STEP,u=Math.max(this.MIN_ZOOM,Math.min(this.MAX_ZOOM,this.zoom+k));u!==this.zoom&&(this.zoom=u,A.value=String(this.zoom*100),a.textContent=`${Math.round(this.zoom*100)}%`,this.applyTransforms())})}applyTransforms(){let e=[];this.zoom!==1&&e.push(`scale(${this.zoom})`),this.currentRotation!==0&&e.push(`rotate(${this.currentRotation}deg)`),this.isFlippedX&&e.push("scaleX(-1)"),this.isFlippedY&&e.push("scaleY(-1)"),this.originalImage.style.transform=e.join(" "),(Math.abs(this.currentRotation)===90||Math.abs(this.currentRotation)===270||this.zoom!==1)&&this.adjustModalSize()}makeSelectionMovable(){this.addResizeHandles(),this.setupResizeHandlers();let e=!1,r=0,t=0,n=0,f=0;this.componentContainer.registerDomEvent(this.selectionArea,"mousedown",o=>{o.stopPropagation(),e=!0,n=parseInt(this.selectionArea.style.left)||0,f=parseInt(this.selectionArea.style.top)||0,r=o.clientX,t=o.clientY,this.selectionArea.style.cursor="move"}),this.componentContainer.registerDomEvent(document,"mousemove",o=>{if(!e)return;let a=o.clientX-r,A=o.clientY-t,l=n+a,k=f+A,u=this.cropContainer.getBoundingClientRect(),h=this.selectionArea.getBoundingClientRect();l=Math.max(0,Math.min(l,u.width-h.width)),k=Math.max(0,Math.min(k,u.height-h.height)),this.selectionArea.style.left=`${l}px`,this.selectionArea.style.top=`${k}px`}),this.componentContainer.registerDomEvent(document,"mouseup",o=>{e=!1,this.selectionArea.style.cursor="move"})}updateSelectionSize(e,r){let t=e-this.startX,n=r-this.startY;if(this.currentAspectRatio){let f=Math.abs(t),o=Math.abs(n);f/o>this.currentAspectRatio?t=Math.sign(t)*o*this.currentAspectRatio:n=Math.sign(n)*f/this.currentAspectRatio}t<0?(this.selectionArea.style.left=`${this.startX+t}px`,this.selectionArea.style.width=`${Math.abs(t)}px`):(this.selectionArea.style.left=`${this.startX}px`,this.selectionArea.style.width=`${t}px`),n<0?(this.selectionArea.style.top=`${this.startY+n}px`,this.selectionArea.style.height=`${Math.abs(n)}px`):(this.selectionArea.style.top=`${this.startY}px`,this.selectionArea.style.height=`${n}px`)}adjustSelectionToAspectRatio(){if(!this.currentAspectRatio)return;let e=parseInt(this.selectionArea.style.width),r=parseInt(this.selectionArea.style.height);if(e/r>this.currentAspectRatio){let t=r*this.currentAspectRatio;this.selectionArea.style.width=`${t}px`}else{let t=e/this.currentAspectRatio;this.selectionArea.style.height=`${t}px`}}addResizeHandles(){["nw","n","ne","w","e","sw","s","se"].forEach(r=>{let t=document.createElement("div");t.className=`resize-handle ${r}-resize`,this.selectionArea.appendChild(t)})}setupResizeHandlers(){let e=!1,r=null,t=0,n=0,f=0,o=0,a=0,A=0;this.selectionArea.querySelectorAll(".resize-handle").forEach(k=>{this.componentContainer.registerDomEvent(k,"mousedown",u=>{u.stopPropagation(),e=!0,r=k.className.split(" ")[1].split("-")[0],t=u.clientX,n=u.clientY,f=this.selectionArea.offsetWidth,o=this.selectionArea.offsetHeight,a=this.selectionArea.offsetLeft,A=this.selectionArea.offsetTop})}),this.componentContainer.registerDomEvent(document,"mousemove",k=>{if(!e)return;let u=k.clientX-t,h=k.clientY-n,c=f,d=o,b=a,g=A;switch(r){case"se":c=f+u,d=this.currentAspectRatio?c/this.currentAspectRatio:o+h;break;case"sw":c=f-u,d=this.currentAspectRatio?c/this.currentAspectRatio:o+h,b=a+u;break;case"ne":c=f+u,d=this.currentAspectRatio?c/this.currentAspectRatio:o-h,g=A+(o-d);break;case"nw":c=f-u,d=this.currentAspectRatio?c/this.currentAspectRatio:o-h,b=a+u,g=A+(o-d);break;case"n":d=o-h,this.currentAspectRatio&&(c=d*this.currentAspectRatio,b=a+(f-c)/2),g=A+h;break;case"s":d=o+h,this.currentAspectRatio&&(c=d*this.currentAspectRatio,b=a+(f-c)/2);break;case"e":c=f+u,this.currentAspectRatio&&(d=c/this.currentAspectRatio,g=A+(o-d)/2);break;case"w":c=f-u,this.currentAspectRatio&&(d=c/this.currentAspectRatio,g=A+(o-d)/2),b=a+u;break}let v=this.cropContainer.getBoundingClientRect();c=Math.max(20,Math.min(c,v.width-b)),d=Math.max(20,Math.min(d,v.height-g)),b=Math.max(0,Math.min(b,v.width-c)),g=Math.max(0,Math.min(g,v.height-d)),this.selectionArea.style.width=`${c}px`,this.selectionArea.style.height=`${d}px`,this.selectionArea.style.left=`${b}px`,this.selectionArea.style.top=`${g}px`}),this.componentContainer.registerDomEvent(document,"mouseup",k=>{e=!1,r=null})}resetSelection(){this.selectionArea.style.display="none",this.selectionArea.style.width="0",this.selectionArea.style.height="0"}async saveImage(){try{let e=document.createElement("canvas"),r=e.getContext("2d");if(!r)throw new Error("Could not get canvas context");e.width=this.originalImage.naturalWidth,e.height=this.originalImage.naturalHeight,r.drawImage(this.originalImage,0,0);let t=document.createElement("canvas"),n=t.getContext("2d");if(!n)throw new Error("Could not get canvas context for rotation");t.width=Math.abs(this.currentRotation)===90||Math.abs(this.currentRotation)===270?e.height:e.width,t.height=Math.abs(this.currentRotation)===90||Math.abs(this.currentRotation)===270?e.width:e.height,n.translate(t.width/2,t.height/2),n.rotate(this.currentRotation*Math.PI/180),n.scale(this.isFlippedX?-1:1,this.isFlippedY?-1:1),n.drawImage(e,-e.width/2,-e.height/2);let f=document.createElement("canvas"),o=f.getContext("2d");if(!o)throw new Error("Could not get canvas context for cropping");if(this.selectionArea.style.display!=="none"&&this.selectionArea.offsetWidth){let c=this.selectionArea.getBoundingClientRect(),d=this.originalImage.getBoundingClientRect(),b=(c.left-d.left)*(this.originalImage.naturalWidth/d.width),g=(c.top-d.top)*(this.originalImage.naturalHeight/d.height),v=c.width*(this.originalImage.naturalWidth/d.width),w=c.height*(this.originalImage.naturalHeight/d.height),p=this.currentRotation*Math.PI/180,C=[{x:b,y:g},{x:b+v,y:g},{x:b,y:g+w},{x:b+v,y:g+w}].map(X=>{let E=X.x-e.width/2,S=X.y-e.height/2,M=E*Math.cos(p)-S*Math.sin(p),T=E*Math.sin(p)+S*Math.cos(p);return{x:M+t.width/2,y:T+t.height/2}}),y=Math.min(...C.map(X=>X.x)),Z=Math.max(...C.map(X=>X.x)),_=Math.min(...C.map(X=>X.y)),x=Math.max(...C.map(X=>X.y)),B=y,I=_,W=Z-y,F=x-_;f.width=Math.round(W),f.height=Math.round(F),o.drawImage(t,Math.round(B),Math.round(I),Math.round(W),Math.round(F),0,0,Math.round(W),Math.round(F))}else f.width=t.width,f.height=t.height,o.drawImage(t,0,0);let a=this.imageFile.extension.toLowerCase(),A="png",l=1;switch(a){case"jpg":case"jpeg":A="jpeg",l=.92;break;case"webp":A="webp",l=.92;break;case"avif":A="avif",l=.85;break;case"png":A="png";break}let k=await new Promise((c,d)=>{f.toBlob(b=>{b?c(b):d(new Error("Failed to create blob from canvas"))},`image/${A}`,l)});if(!k)throw new Error("Failed to create image blob");let u=await k.arrayBuffer();if(!u)throw new Error("Failed to create array buffer from blob");await this.app.vault.modifyBinary(this.imageFile,u),new Ne.Notice("Image saved successfully");let h=this.app.workspace.getMostRecentLeaf();if(h){let c=h.getViewState();await h.setViewState({type:"empty",state:{}}),await h.setViewState(c)}this.close()}catch(e){console.error("Save error:",e),new Ne.Notice(`Error saving image: ${e.message}`)}}onClose(){var r;(r=this.originalImage)!=null&&r.src&&URL.revokeObjectURL(this.originalImage.src),this.containerEl.querySelectorAll("canvas").forEach(t=>{let n=t.getContext("2d");n&&n.clearRect(0,0,t.width,t.height),t.width=0,t.height=0}),this.originalArrayBuffer=null,this.componentContainer.unload(),this.contentEl.empty()}};var W0=require("obsidian"),$2=class extends W0.Modal{constructor(e,r,t){super(e);this.plugin=r;this.previewImageUrl=null;this.imageFile=t,this.loadModalSettings(),this.titleEl.setText(`Process Image: ${t.name}`)}loadModalSettings(){let e=this.plugin.settings.singleImageModalSettings;if(e)this.modalSettings={...e};else{let r=this.plugin.settings.conversionPresets.find(n=>n.outputFormat==="AVIF"),t=this.plugin.settings.conversionPresets.find(n=>n.outputFormat==="PNGQUANT");this.modalSettings={conversionPresetName:this.plugin.settings.selectedConversionPreset,outputFormat:this.plugin.settings.outputFormat,quality:this.plugin.settings.quality,colorDepth:this.plugin.settings.colorDepth,resizeMode:this.plugin.settings.resizeMode,desiredWidth:this.plugin.settings.desiredWidth,desiredHeight:this.plugin.settings.desiredHeight,desiredLongestEdge:this.plugin.settings.desiredLongestEdge,enlargeOrReduce:this.plugin.settings.enlargeOrReduce,allowLargerFiles:this.plugin.settings.allowLargerFiles,pngquantExecutablePath:(t==null?void 0:t.pngquantExecutablePath)||"",pngquantQuality:(t==null?void 0:t.pngquantQuality)||"",ffmpegExecutablePath:(r==null?void 0:r.ffmpegExecutablePath)||"",ffmpegCrf:(r==null?void 0:r.ffmpegCrf)!==void 0?r.ffmpegCrf:this.plugin.settings.ffmpegCrf!==void 0?this.plugin.settings.ffmpegCrf:23,ffmpegPreset:(r==null?void 0:r.ffmpegPreset)||this.plugin.settings.ffmpegPreset||"medium"}}}saveModalSettings(){this.plugin.settings.singleImageModalSettings={...this.modalSettings},this.plugin.saveSettings()}async onOpen(){this.contentEl.empty(),this.contentEl.addClass("process-single-image-modal"),this.previewContainer=this.contentEl.createDiv("preview-image-container"),this.previewContainer.setCssStyles({border:"1px solid #ccc",padding:"10px",margin:"1em 0",textAlign:"center",maxHeight:"400px",overflowY:"auto",overflowX:"hidden"}),this.conversionSettingsContainer=this.contentEl.createDiv("conversion-settings-container"),this.resizeSettingsContainer=this.contentEl.createDiv("resize-settings-container"),this.buttonContainer=this.contentEl.createDiv("process-single-image-modal-buttons");let e=window.innerWidth,r=800,t=Math.min(e*.9,r);this.modalEl.setCssStyles({width:`${t}px`}),this.renderSettings(),await this.generatePreview(),this.renderActionButtons()}renderSettings(){this.renderConversionSettings(),this.renderResizeSettings()}renderConversionSettings(){this.conversionSettingsContainer.empty();let e=this.plugin.getPresetByName(this.modalSettings.conversionPresetName,this.plugin.settings.conversionPresets,"Conversion");new W0.Setting(this.conversionSettingsContainer).setName("Output Format").addDropdown(r=>{Object.entries({WEBP:"WEBP",JPEG:"JPEG",PNG:"PNG",ORIGINAL:"Original (Compress)",NONE:"None (No Conversion)",PNGQUANT:"pngquant (PNG Only)",AVIF:"AVIF (via ffmpeg)"}).forEach(([n,f])=>{r.addOption(n,f)}),r.setValue(this.modalSettings.outputFormat),r.onChange(async n=>{let f=this.modalSettings.pngquantExecutablePath,o=this.modalSettings.ffmpegExecutablePath;this.modalSettings.outputFormat=n,this.modalSettings.pngquantExecutablePath=f,this.modalSettings.ffmpegExecutablePath=o,this.renderConversionSettings(),await this.generatePreview()})}),["WEBP","JPEG","ORIGINAL"].includes(this.modalSettings.outputFormat)&&new W0.Setting(this.conversionSettingsContainer).setName("Quality").addSlider(r=>{r.setLimits(1,100,1).setValue(this.modalSettings.quality).setDynamicTooltip().onChange(async t=>{this.modalSettings.quality=t,await this.generatePreview()})}),this.modalSettings.outputFormat==="PNG"&&new W0.Setting(this.conversionSettingsContainer).setName("Color depth").addSlider(r=>{r.setLimits(0,1,.1).setValue(this.modalSettings.colorDepth).setDynamicTooltip().onChange(async t=>{this.modalSettings.colorDepth=t,await this.generatePreview()})}),this.modalSettings.outputFormat==="PNGQUANT"&&(new W0.Setting(this.conversionSettingsContainer).setName("pngquant executable path \u{1F6C8}").setTooltip("Provide full-path to the binary file. It can be inside vault or anywhere in your file system.").addText(r=>{let t=this.plugin.settings.conversionPresets.find(n=>n.outputFormat==="PNGQUANT");t!=null&&t.pngquantExecutablePath,r.setValue(this.modalSettings.pngquantExecutablePath).onChange(async n=>{e&&(e.pngquantExecutablePath=n),this.modalSettings.pngquantExecutablePath=n}),r.inputEl.setAttr("spellcheck","false")}),new W0.Setting(this.conversionSettingsContainer).setName("Quality min-max range \u{1F6C8}").setTooltip("Instructs pngquant to use the least amount of colors required to meet or exceed the max quality. min and max are numbers in range 0 (worst) to 100 (perfect).").addText(r=>{r.setValue(this.modalSettings.pngquantQuality).onChange(async t=>{this.modalSettings.pngquantQuality=t}),r.inputEl.setAttr("spellcheck","false")})),this.modalSettings.outputFormat==="AVIF"&&(new W0.Setting(this.conversionSettingsContainer).setName("FFmpeg executable path \u{1F6C8}").setTooltip("Provide full-path to the binary file. It can be inside vault or anywhere in your file system.").addText(r=>{let t=this.plugin.settings.conversionPresets.find(n=>n.outputFormat==="AVIF");t!=null&&t.ffmpegExecutablePath,r.setValue(this.modalSettings.ffmpegExecutablePath).onChange(async n=>{e&&(e.ffmpegExecutablePath=n),this.modalSettings.ffmpegExecutablePath=n}),r.inputEl.setAttr("spellcheck","false")}),new W0.Setting(this.conversionSettingsContainer).setName("FFmpeg CRF").setDesc("Lower values mean better quality (larger file size). 0 is lossless.").addSlider(r=>{r.setLimits(0,63,1).setValue(this.modalSettings.ffmpegCrf).setDynamicTooltip().onChange(async t=>{this.modalSettings.ffmpegCrf=t})}),new W0.Setting(this.conversionSettingsContainer).setName("FFmpeg Preset").addDropdown(r=>{r.addOptions({ultrafast:"ultrafast",superfast:"superfast",veryfast:"veryfast",faster:"faster",fast:"fast",medium:"medium",slow:"slow",slower:"slower",veryslow:"veryslow",placebo:"placebo"}),r.setValue(this.modalSettings.ffmpegPreset),r.onChange(async t=>{this.modalSettings.ffmpegPreset=t})}))}renderResizeSettings(){this.resizeSettingsContainer.empty(),new W0.Setting(this.resizeSettingsContainer).setName("Resize Mode").addDropdown(e=>{Object.entries({None:"None",Fit:"Fit",Fill:"Fill",LongestEdge:"Longest Edge",ShortestEdge:"Shortest Edge",Width:"Width",Height:"Height"}).forEach(([t,n])=>{e.addOption(t,n)}),e.setValue(this.modalSettings.resizeMode).onChange(async t=>{this.modalSettings.resizeMode=t,this.renderResizeSettings(),await this.generatePreview()})}),["Fit","Fill","Width","Height","LongestEdge","ShortestEdge"].includes(this.modalSettings.resizeMode)&&(["Fit","Fill","Width"].includes(this.modalSettings.resizeMode)&&new W0.Setting(this.resizeSettingsContainer).setName("Desired Width").addText(e=>{e.setValue(this.modalSettings.desiredWidth.toString()).onChange(async r=>{this.modalSettings.desiredWidth=parseInt(r,10)||0,["PNGQUANT","AVIF"].includes(this.modalSettings.outputFormat)||await this.generatePreview()}),e.inputEl.setAttr("spellcheck","false")}),["Fit","Fill","Height"].includes(this.modalSettings.resizeMode)&&new W0.Setting(this.resizeSettingsContainer).setName("Desired Height").addText(e=>{e.setValue(this.modalSettings.desiredHeight.toString()).onChange(async r=>{this.modalSettings.desiredHeight=parseInt(r,10)||0,["PNGQUANT","AVIF"].includes(this.modalSettings.outputFormat)||await this.generatePreview()}),e.inputEl.setAttr("spellcheck","false")}),["LongestEdge","ShortestEdge"].includes(this.modalSettings.resizeMode)&&new W0.Setting(this.resizeSettingsContainer).setName(this.modalSettings.resizeMode==="LongestEdge"?"Desired Longest Edge":"Desired Shortest Edge").addText(e=>{e.setValue(this.modalSettings.desiredLongestEdge.toString()).onChange(async r=>{this.modalSettings.desiredLongestEdge=parseInt(r,10)||0,["PNGQUANT","AVIF"].includes(this.modalSettings.outputFormat)||await this.generatePreview()}),e.inputEl.setAttr("spellcheck","false")}),new W0.Setting(this.resizeSettingsContainer).setName("Enlarge/Reduce").addDropdown(e=>{Object.entries({Auto:"Auto",Reduce:"Only Reduce",Enlarge:"Only Enlarge"}).forEach(([t,n])=>{e.addOption(t,n)}),e.setValue(this.modalSettings.enlargeOrReduce).onChange(async t=>{this.modalSettings.enlargeOrReduce=t,["PNGQUANT","AVIF"].includes(this.modalSettings.outputFormat)||await this.generatePreview()})}))}renderActionButtons(){this.buttonContainer.empty(),new W0.Setting(this.buttonContainer).addButton(e=>{e.setButtonText("Process").setCta().onClick(()=>this.processImage())}).addButton(e=>{e.setButtonText("Cancel").onClick(()=>this.close())})}async generatePreview(){if(this.modalSettings.outputFormat==="PNGQUANT"||this.modalSettings.outputFormat==="AVIF"){this.previewContainer.empty(),this.previewContainer.createEl("p",{text:"Preview not available for this format."});return}this.previewContainer.empty();let e=this.previewContainer.createEl("p",{text:"Generating preview..."});try{let r=await this.app.vault.readBinary(this.imageFile),t=new Blob([r],{type:this.imageFile.extension?`image/${this.imageFile.extension}`:"application/octet-stream"}),n=await this.plugin.imageProcessor.processImage(t,this.modalSettings.outputFormat,this.modalSettings.quality/100,this.modalSettings.colorDepth,this.modalSettings.resizeMode,this.modalSettings.desiredWidth,this.modalSettings.desiredHeight,this.modalSettings.desiredLongestEdge,this.modalSettings.enlargeOrReduce,this.modalSettings.allowLargerFiles,void 0,this.plugin.settings),f=new Blob([n],{type:`image/${this.modalSettings.outputFormat.toLowerCase()}`});this.previewImageUrl=URL.createObjectURL(f),this.previewContainer.createEl("img",{attr:{src:this.previewImageUrl},cls:"preview-image"}).setCssStyles({maxWidth:"100%",maxHeight:"350px",height:"auto",display:"block",margin:"0 auto"}),e.remove()}catch(r){e.setText(`Preview failed: ${r.message}`),console.error("Preview generation failed:",r)}}async processImage(){var e,r;try{let t=await this.app.vault.readBinary(this.imageFile),n=new File([t],this.imageFile.name,{type:this.imageFile.extension?`image/${this.imageFile.extension}`:"application/octet-stream"}),f=((e=this.imageFile.parent)==null?void 0:e.path)||"",o=this.modalSettings.outputFormat==="NONE"||this.modalSettings.outputFormat==="ORIGINAL"?this.imageFile.name:this.imageFile.name.substring(0,this.imageFile.name.lastIndexOf("."))+"."+this.modalSettings.outputFormat.toLowerCase();this.modalSettings.outputFormat==="PNGQUANT"&&(o=this.imageFile.name.substring(0,this.imageFile.name.lastIndexOf("."))+".png");let a=this.plugin.folderAndFilenameManagement.combinePath(f,o),A=this.plugin.getPresetByName(this.modalSettings.conversionPresetName,this.plugin.settings.conversionPresets,"Conversion");if(this.modalSettings.outputFormat==="NONE"&&this.modalSettings.resizeMode==="None"){new W0.Notice(`No processing needed for "${this.imageFile.name}".`,1e3),this.close();return}if(A&&this.plugin.folderAndFilenameManagement.should_skip_conversion(this.imageFile.name,A)){new W0.Notice(`Skipped conversion of image "${this.imageFile.name}" due to skip pattern match in the conversion preset.`,2e3),this.close();return}let l=this.imageFile.stat.size,k;if(this.modalSettings.outputFormat==="NONE"&&this.modalSettings.resizeMode!=="None")k=await this.plugin.imageProcessor.resizeImage(n,this.modalSettings.resizeMode,this.modalSettings.desiredWidth,this.modalSettings.desiredHeight,this.modalSettings.desiredLongestEdge,this.modalSettings.enlargeOrReduce);else if(this.modalSettings.outputFormat==="ORIGINAL")k=await this.plugin.imageProcessor.compressOriginalImage(n,this.modalSettings.quality/100,this.modalSettings.resizeMode,this.modalSettings.desiredWidth,this.modalSettings.desiredHeight,this.modalSettings.desiredLongestEdge,this.modalSettings.enlargeOrReduce);else{let h=this.plugin.settings.conversionPresets.find(c=>c.outputFormat==="AVIF");k=await this.plugin.imageProcessor.processImage(n,this.modalSettings.outputFormat,this.modalSettings.outputFormat==="AVIF"?100:this.modalSettings.quality/100,this.modalSettings.colorDepth,this.modalSettings.resizeMode,this.modalSettings.desiredWidth,this.modalSettings.desiredHeight,this.modalSettings.desiredLongestEdge,this.modalSettings.enlargeOrReduce,this.modalSettings.allowLargerFiles,this.modalSettings.outputFormat==="PNGQUANT"?{name:"temp",outputFormat:"PNGQUANT",quality:100,colorDepth:1,resizeMode:"None",desiredWidth:0,desiredHeight:0,desiredLongestEdge:0,enlargeOrReduce:"Auto",allowLargerFiles:!1,skipConversionPatterns:"",pngquantExecutablePath:this.modalSettings.pngquantExecutablePath,pngquantQuality:this.modalSettings.pngquantQuality}:this.modalSettings.outputFormat==="AVIF"?{name:"temp",outputFormat:"AVIF",quality:100,colorDepth:1,resizeMode:"None",desiredWidth:0,desiredHeight:0,desiredLongestEdge:0,enlargeOrReduce:"Auto",allowLargerFiles:!1,skipConversionPatterns:"",ffmpegExecutablePath:(h==null?void 0:h.ffmpegExecutablePath)||"",ffmpegCrf:this.modalSettings.ffmpegCrf,ffmpegPreset:this.modalSettings.ffmpegPreset}:void 0,this.plugin.settings)}if(k&&this.plugin.settings.revertToOriginalIfLarger&&k.byteLength>l)this.plugin.showSizeComparisonNotification(l,k.byteLength),new W0.Notice(`Using original image for "${this.imageFile.name}" as processed image is larger.`,1e3);else if(k)if(this.plugin.showSizeComparisonNotification(l,k.byteLength),this.imageFile.path!==a){await this.app.fileManager.renameFile(this.imageFile,a);let h=this.app.vault.getAbstractFileByPath(a);if(h instanceof W0.TFile)await this.app.vault.modifyBinary(h,k);else{new W0.Notice(`Error: Could not find renamed file at ${a}`);return}}else await this.app.vault.modifyBinary(this.imageFile,k);let u=this.app.workspace.getActiveViewOfType(W0.MarkdownView);if(u){let h=u.editor,c=h.getValue(),d=this.imageFile.name.replace(/[[\]]/g,"\\$&"),b=new RegExp(`!\\[\\[${d}(?:\\|[^\\]]+)?\\]\\[\\]|!\\[.*?\\]\\((${d})(?:\\?[^)]*)?\\)`,"g"),g=`![[${o}]]`,v=c.replace(b,g);v!==c&&(h.setValue(v),new W0.Notice(`Link updated in "${(r=u.file)==null?void 0:r.name}"`,1e3))}this.refreshActiveNote(),new W0.Notice(`Image "${this.imageFile.name}" processed`,1e3),this.close()}catch(t){console.error("Error processing image:",t),new W0.Notice(`Failed to process image: ${t.message}`,2e3)}finally{this.previewImageUrl&&(URL.revokeObjectURL(this.previewImageUrl),this.previewImageUrl=null)}}async refreshActiveNote(){let e=this.app.workspace.getActiveFile();if(e){let r=this.app.workspace.getLeaf();if(r){let t=this.app.workspace.getMostRecentLeaf();if(t){let n=t.getViewState();await t.setViewState({type:"empty",state:{}}),await t.setViewState(n)}await r.openFile(e,{active:!0})}}}onClose(){this.saveModalSettings(),this.previewImageUrl&&(URL.revokeObjectURL(this.previewImageUrl),this.previewImageUrl=null),this.contentEl.empty()}};var en=class extends q.Component{constructor(e,r,t,n){super();this.app=e;this.plugin=r;this.folderAndFilenameManagement=t;this.variableProcessor=n;this.contextMenuRegistered=!1;this.currentMenu=null;this.stopPropagationHandler=e=>e.stopPropagation();this.documentClickHandler=e=>{var r;!e.target.closest(".image-converter-contextmenu-info-container")&&!e.target.closest(".menu-item")&&((r=this.currentMenu)==null||r.hide())};this.handleContextMenuEvent=e=>{let r=e.target,t=this.app.workspace.getActiveViewOfType(q.View);if((t==null?void 0:t.getViewType())==="canvas")return;let f=r instanceof HTMLImageElement?r:r.closest("img");if(!f)return;if(!!!(f.closest(".markdown-preview-view")||f.closest(".markdown-source-view")))return r.closest(".map-view-main"),void 0;e.preventDefault(),e.stopPropagation();let a=new q.Menu,A=this.app.workspace.getActiveFile();A&&this.createContextMenuItems(a,f,A,e),a.showAtMouseEvent(e)};this.handleRenameAndMove=async(e,r,t,n,f,o,a,A,l,k)=>{if(!f)return;let u=r.value,h=t.value,c={file:l,activeFile:k};if(u=await this.variableProcessor.processTemplate(u,c),h=await this.variableProcessor.processTemplate(h,c),!u.trim()){new q.Notice("Please enter a new file name.");return}if(u=this.folderAndFilenameManagement.sanitizeFilename(u),/^[.]+$/.test(u.trim())){new q.Notice("Please enter a valid file name");return}if(!h.trim()){new q.Notice("Please enter a new path.");return}if(A)try{if(u&&u!==o){let v=(0,q.normalizePath)(Qe.join(h,`${u}${a}`)),w=this.app.vault.getAbstractFileByPath(A);w instanceof q.TFile&&(await this.folderAndFilenameManagement.ensureFolderExists(h),await this.app.fileManager.renameFile(w,v),n.src=this.app.vault.getResourcePath(w),new q.Notice("Image name updated successfully"))}let d=`${u}${a}`,b=A,g=(0,q.normalizePath)(Qe.join(h,d));if(g!==b){let v=this.app.vault.getAbstractFileByPath(b);if(v instanceof q.TFile){await this.folderAndFilenameManagement.ensureFolderExists(h),b.toLowerCase()===g.toLowerCase()?await this.folderAndFilenameManagement.safeRenameFile(v,g)?new q.Notice("Image path updated (case-sensitive change)."):new q.Notice("Image path update failed (case-sensitive change)."):(await this.app.fileManager.renameFile(v,g),new q.Notice("Image path updated successfully")),n.src=this.app.vault.getResourcePath(v);let w=this.app.workspace.getMostRecentLeaf();if(w){let p=w.getViewState();await w.setViewState({type:"empty",state:{}}),await w.setViewState(p)}}}}catch(d){console.error("Failed to update image path:",d),new q.Notice("Failed to update image path")}e.hide()};this.registerContextMenuListener()}registerContextMenuListener(){this.contextMenuRegistered||(this.plugin.registerDomEvent(document,"contextmenu",this.handleContextMenuEvent,!0),this.contextMenuRegistered=!0)}createContextMenuItems(e,r,t,n){return this.currentMenu=e,this.addRenameAndMoveInputs(e,r,t),e.addSeparator(),q.Platform.isMobile||(this.addOpenInNewWindowMenuItem(e,r),e.addSeparator(),this.addCutImageMenuItem(e,n)),this.addCopyImageMenuItem(e,n),this.addCopyBase64ImageMenuItem(e,n),e.addSeparator(),this.plugin.settings.isImageAlignmentEnabled&&this.plugin.ImageAlignmentManager&&this.plugin.ImageAlignmentManager.addAlignmentOptionsToContextMenu(e,r,t),this.addProcessImageMenuItem(e,r,n),this.addCropRotateFlipMenuItem(e,r),this.addAnnotateImageMenuItem(e,r),e.addSeparator(),q.Platform.isMobile||(this.addShowInNavigationMenuItem(e,r),this.addShowInSystemExplorerMenuItem(e,r)),e.addSeparator(),this.addDeleteImageAndLinkMenuItem(e,n),!0}async loadCurrentCaption(e,r){try{let t=this.folderAndFilenameManagement.getImagePath(e);if(!t)return"";let n=this.app.workspace.getActiveViewOfType(q.MarkdownView);if(!n)return"";let f=n.editor,o=!t,a=await this.findImageMatches(f,t,o);if(a&&a.length>0){let A=a[0],l=A.fullMatch.match(/!\[\[([^\]]+?)(?:\|([^|\]]+?))?\s*(?:\|([^|\]]+?))?\]\]/);if(l){let u=l[2]||"",h=l[3]||"",c=d=>/^\s*\d+x\d+\s*$/.test(d);return h&&!c(u)||u&&!c(u)?u.trim():""}let k=A.fullMatch.match(/!\[([^|\]]*?)(?:\|(\d+x\d+))?\]\(([^)]+)\)/);if(k)return(k[1]||"").trim()}return""}catch(t){return console.error("Error loading caption:",t),""}}async loadCurrentDimensions(e,r){try{let t=this.folderAndFilenameManagement.getImagePath(e);if(!t)return{width:"",height:""};let n=this.app.workspace.getActiveViewOfType(q.MarkdownView);if(!n)return{width:"",height:""};let f=n.editor,o=!t,a=await this.findImageMatches(f,t,o);if(a&&a.length>0){let A=a[0],l=A.fullMatch.match(/!\[\[([^\]]+?)(?:\|([^|\]]+?))?\s*(?:\|([^|\]]+?))?\]\]/);if(l){let u=l[2]||"",h=l[3]||"",c=b=>/^\s*\d+(?:x\d+)?\s*$/.test(b),d="";if(c(h)?d=h.trim():c(u)&&(d=u.trim()),d){let b=d.split("x");return{width:b[0],height:b.length>1?b[1]:""}}}let k=A.fullMatch.match(/!\[([^|\]]*?)(?:\|(\d+(?:x\d+)?))?\]\(([^)]+)\)/);if(k&&k[2]){let u=k[2].split("x");return{width:u[0],height:u.length>1?u[1]:""}}}return{width:"",height:""}}catch(t){return console.error("Error loading dimensions:",t),{width:"",height:""}}}async updateImageLinkWithDimensions(e,r,t,n,f){let o=n?f?`${n}x${f}`:n:"",a=r.line;return a.includes("![[")?a.replace(/!\[\[([^\]]+?)(?:\|([^|\]]+?))?\s*(?:\|([^|\]]+?))?\]\]/g,(A,l)=>t&&o?`![[${l}|${t}|${o}]]`:t?`![[${l}|${t}]]`:o?`![[${l}|${o}]]`:`![[${l}]]`):a.replace(/!\[([^|\]]*?)(?:\|(\d+(?:x\d+)?))?\]\(([^)]+)\)/g,(A,l,k,u)=>t&&o?``:t?``:o?``:``)}async handleDimensionsAndCaptionUpdate(e,r,t,n,f,o,a){if(!a)return;let A=r.value.trim(),l=t.value.trim(),k=n.value.trim();if(l&&!/^\d+$/.test(l)||k&&!/^\d+$/.test(k)){new q.Notice("Dimensions must be positive numbers");return}let u=this.app.workspace.getActiveViewOfType(q.MarkdownView);if(!u)return;let h=u.editor,c=this.folderAndFilenameManagement.getImagePath(f),d=!c,b=await this.findImageMatches(h,c,d);if(b.length===0){new q.Notice("Failed to find image link in the current note.");return}let g=async()=>{var v;for(let w of b){let p=await this.updateImageLinkWithDimensions(h,w,A,l,k);h.setLine(w.lineNumber,p)}new q.Notice("Image caption and dimensions updated successfully."),(v=this.plugin.captionManager)==null||v.refresh()};b.length>1?new Ei(this.app,"Confirm Updates",`Found ${b.length} matching image links. Update all?`,"Update",g).open():await g(),e.hide()}addRenameAndMoveInputs(e,r,t){if(!this.app.vault.getConfig("nativeMenus")&&!q.Platform.isMobile){let f=this.folderAndFilenameManagement.getImagePath(r),o=f!==null,a="",A="",l="",k,u;if(o){let h=Qe.parse(f);a=h.name,A=h.dir,l=h.ext,k=f,A||(A="/");let c=this.app.vault.getAbstractFileByPath(f);u=c instanceof q.TFile?c:new File([""],f)}e.addItem(h=>{let c=h,d=document.createElement("div");d.className="image-converter-contextmenu-info-container";let b=document.createElement("div");b.className="image-converter-contextmenu-input-group";let g=document.createElement("div");g.className="image-converter-contextmenu-icon-container",(0,q.setIcon)(g,"file-text"),b.appendChild(g);let v=document.createElement("label");v.textContent="Name:",v.setAttribute("for","image-converter-name-input"),b.appendChild(v);let w=document.createElement("input");w.type="text",w.value=a,w.placeholder="Enter a new image name",w.className="image-converter-contextmenu-name-input",w.id="image-converter-name-input",o||w.classList.add("image-converter-contextmenu-disabled"),b.appendChild(w);let p=document.createElement("div");p.className="image-converter-contextmenu-input-group";let m=document.createElement("div");m.className="image-converter-contextmenu-icon-container",(0,q.setIcon)(m,"folder"),p.appendChild(m);let C=document.createElement("label");C.textContent="Folder:",C.setAttribute("for","image-converter-path-input"),p.appendChild(C);let y=document.createElement("input");y.type="text",y.value=A,y.placeholder="Enter a new path for the image",y.className="image-converter-contextmenu-path-input",y.id="image-converter-path-input",o||y.classList.add("image-converter-contextmenu-disabled"),p.appendChild(y);let Z=document.createElement("div");Z.className="image-converter-contextmenu-input-group";let _=document.createElement("div");_.className="image-converter-contextmenu-icon-container",(0,q.setIcon)(_,"subtitles"),Z.appendChild(_);let x=document.createElement("label");x.textContent="Caption:",x.setAttribute("for","image-converter-caption-input"),Z.appendChild(x);let B=document.createElement("input");B.type="text",B.placeholder="Loading caption...",B.className="image-converter-contextmenu-caption-input",B.id="image-converter-caption-input",Z.appendChild(B);let I=document.createElement("div");I.className="image-converter-contextmenu-input-group";let W=document.createElement("div");W.className="image-converter-contextmenu-icon-container",(0,q.setIcon)(W,"aspect-ratio"),I.appendChild(W);let F=document.createElement("label");F.textContent="Size:",F.setAttribute("for","image-converter-width-input"),I.appendChild(F);let X=document.createElement("input");X.type="number",X.min="1",X.placeholder="W",X.className="image-converter-contextmenu-dimension-input",X.id="image-converter-width-input";let E=document.createElement("input");E.type="number",E.min="1",E.placeholder="H",E.className="image-converter-contextmenu-dimension-input",E.id="image-converter-height-input";let S=document.createElement("div");S.className="image-converter-contextmenu-dimension-inputs",S.appendChild(X),S.appendChild(document.createTextNode("\xD7")),S.appendChild(E),I.appendChild(S),this.loadCurrentDimensions(r,t).then(({width:T,height:z})=>{X.value=T,E.value=z}),d.appendChild(b),d.appendChild(p),d.appendChild(Z),d.appendChild(I);let M=document.createElement("div");M.className="image-converter-contextmenu-button image-converter-contextmenu-confirm",(0,q.setIcon)(M,"check"),d.appendChild(M),[w,y,B,X,E].forEach(T=>{this.registerDomEvent(T,"mousedown",this.stopPropagationHandler),this.registerDomEvent(T,"click",this.stopPropagationHandler),this.registerDomEvent(T,"keydown",this.stopPropagationHandler)}),this.registerDomEvent(document,"click",this.documentClickHandler),this.loadCurrentCaption(r,t).then(T=>{B.value=T,B.placeholder="Enter a custom caption"}),this.registerDomEvent(M,"click",async()=>{o&&(await this.handleRenameAndMove(e,w,y,r,o,a,l,k,u,t),await this.handleDimensionsAndCaptionUpdate(e,B,X,E,r,t,o))}),c.dom.empty(),c.dom.appendChild(d)})}}addOpenInNewWindowMenuItem(e,r){e.addItem(t=>{t.setTitle("Open in new window").setIcon("square-arrow-out-up-right").onClick(async()=>{try{let n=this.folderAndFilenameManagement.getImagePath(r);if(n){let f=this.app.vault.getAbstractFileByPath(n);if(f instanceof q.TFile){let o=this.app.workspace.getLeaf("window");o&&await o.openFile(f)}}}catch(n){new q.Notice("Failed to open in new window"),console.error(n)}})})}normalizeImagePath(e){if(!e)return"";let r=decodeURIComponent(e);return r=r.split("?")[0],r=r.replace(/\\/g,"/"),r=r.replace(/%20/g," "),r.startsWith("/")||(r="/"+r),r=(0,q.normalizePath)(r),r.toLowerCase()}findFrontmatterEnd(e){let r=!1,t=e.getDoc().lineCount();for(let n=0;n<t;n++)if(e.getLine(n).trim()==="---"){if(!r&&n===0)r=!0;else if(r)return n}return-1}extractFilenameFromLink(e){let r=e.match(/!\[\[\s*([^|\]]+?)\s*(?:\|[^\]]+)?\]\]/);if(r)return r[1].trim();let t=e.match(/!\[.*?\]\(\s*(.*?)\s*\)/);return t?t[1].trim():null}async findImageMatches(e,r,t){let n=(l,k)=>{let u=Qe.dirname(k);return l.startsWith("./")||l.startsWith("../")?(0,q.normalizePath)(Qe.join(u,l)):(0,q.normalizePath)(l)},f=e.getDoc().lineCount(),o=this.findFrontmatterEnd(e),a=[],A=this.app.workspace.getActiveFile();if(!A)return a;for(let l=o+1;l<f;l++){let k=e.getLine(l),u=[...k.matchAll(/!\[\[([^\]]+?)(?:\|[^\]]+?)??\]\]/g)];for(let c of u){let d=c[0].trim(),b=this.extractFilenameFromLink(d);if(b&&!t){let g=n(b,A.path);if(r){let v=this.normalizeImagePath(r),w=this.normalizeImagePath(g);(v===w||v.endsWith(w))&&a.push({lineNumber:l,line:k,fullMatch:d})}}}let h=[...k.matchAll(/!\[([^\]]*?)(?:\|\d+(?:\|\d+)?)?\]\(([^)]+)\)/g)];for(let c of h){let d=c[0],b=c[2];if(!t&&b){let g=n(b,A.path);if(r){let v=this.normalizeImagePath(r),w=this.normalizeImagePath(g);if((v===w||v.endsWith(w))&&a.push({lineNumber:l,line:k,fullMatch:d}),b.startsWith("./")){let p=b.substring(2),m=this.normalizeImagePath(p);v.endsWith(m)&&a.push({lineNumber:l,line:k,fullMatch:d})}}}else t&&(b.startsWith("http://")||b.startsWith("https://"))&&a.push({lineNumber:l,line:k,fullMatch:d})}}return a}async processBase64Image(e,r,t){let n=e.getDoc().lineCount();for(let f=0;f<n;f++){let o=e.getLine(f),a=[...o.matchAll(/<img\s+src="data:image\/[^"]+"\s*\/?>/g)];for(let A of a)if(A[0].includes(r))return await t(e,f,o,A[0]),!0}return!1}async removeImageLinkFromEditor(e,r,t,n,f){f&&await navigator.clipboard.writeText(n);let o={line:r,ch:t.indexOf(n)},a={line:r,ch:o.ch+n.length},A=0;for(;t[a.ch+A]===" "||t[a.ch+A]===" ";)A++;t.trim()===n.trim()?e.replaceRange("",{line:r,ch:0},{line:r+1,ch:0}):e.replaceRange("",o,{line:r,ch:a.ch+A})}addCutImageMenuItem(e,r){e.addItem(t=>{t.setTitle("Cut").setIcon("scissors").onClick(async()=>{await this.cutImageAndLinkFromNote(r)})})}async cutImageAndLinkFromNote(e){let r=e.target,t=r.getAttribute("src");if(!t)return;let n=this.app.workspace.getActiveViewOfType(q.MarkdownView);if(!n){new q.Notice("No active Markdown view found");return}try{let f=n.editor;if(t.startsWith("data:image/")){await this.processBase64Image(f,t,async(u,h,c,d)=>{await this.removeImageLinkFromEditor(u,h,c,d,!0)})||new q.Notice("Failed to find Base64 image link");return}let o=t.startsWith("http://")||t.startsWith("https://")?null:this.folderAndFilenameManagement.getImagePath(r),a=!o,A=await this.findImageMatches(f,o,a);if(A.length===0){new q.Notice("Failed to find image link in the current note.");return}let l=async()=>{for(let k of A)await this.removeImageLinkFromEditor(f,k.lineNumber,k.line,k.fullMatch,!0);new q.Notice("Image link(s) cut from note and copied to clipboard")};A.length>1?new Ei(this.app,"Confirm Cut",`Found ${A.length} matching image links inside current note. Do you want to cut all of them?`,"Cut",async()=>{for(let k of A)await this.removeImageLinkFromEditor(f,k.lineNumber,k.line,k.fullMatch,!0);new q.Notice("Image link(s) cut from note and copied to clipboard")}).open():await l()}catch(f){console.error("Error cutting image:",f),new q.Notice("Failed to cut image. Check console for details.")}}addCopyImageMenuItem(e,r){e.addItem(t=>t.setTitle("Copy image").setIcon("copy").onClick(async()=>{await this.copyImageToClipboard(r)}))}async copyImageToClipboard(e){let r=new Image;r.crossOrigin="anonymous";let t=e.target;this.registerDomEvent(r,"load",async()=>{try{let n=document.createElement("canvas");n.width=r.naturalWidth,n.height=r.naturalHeight;let f=n.getContext("2d");if(!f){new q.Notice("Failed to get canvas context");return}f.drawImage(r,0,0);let o=n.toDataURL(),A=await(await fetch(o)).blob(),l=new ClipboardItem({[A.type]:A});await navigator.clipboard.write([l]),new q.Notice("Image copied to clipboard")}catch(n){console.error("Failed to copy image:",n),new q.Notice("Failed to copy image to clipboard")}}),r.src=t.src}addCopyBase64ImageMenuItem(e,r){e.addItem(t=>t.setTitle("Copy as Base64 encoded image").setIcon("copy").onClick(()=>{this.copyImageAsBase64(r)}))}async copyImageAsBase64(e){let r=e.target,t=new Image;t.crossOrigin="anonymous",this.registerDomEvent(t,"load",async()=>{try{let n=document.createElement("canvas");n.width=t.naturalWidth,n.height=t.naturalHeight;let f=n.getContext("2d");if(!f){new q.Notice("Failed to get canvas context");return}f.drawImage(t,0,0);let o=n.toDataURL();await navigator.clipboard.writeText(`<img src="${o}"/>`),new q.Notice("Image copied to clipboard as Base64")}catch(n){console.error("Failed to copy image as Base64:",n),new q.Notice("Failed to copy image as Base64")}}),t.src=r.src}addProcessImageMenuItem(e,r,t){e.addItem(n=>{n.setTitle("Convert/compress...").setIcon("cog").onClick(async()=>{try{let f=this.app.workspace.getActiveViewOfType(q.MarkdownView);if(!f){new q.Notice("No active markdown view");return}let o=f.file;if(!o){new q.Notice("No current file found");return}let a=r.getAttribute("src");if(!a){new q.Notice("No source attribute found on the image");return}let A=decodeURIComponent(a.split("?")[0].split("/").pop()||"");if(!A){new q.Notice("Unable to extract filename from the image source");return}let l=this.app.vault.getFiles().filter(u=>u.name===A);if(l.length===0){console.error("No matching files found for:",A),new q.Notice(`Unable to find image: ${A}`);return}let k=l.length===1?l[0]:l.find(u=>{var c;let h=(c=o.parent)==null?void 0:c.path;return h?u.path.startsWith(h):!1})||l[0];k instanceof q.TFile?new $2(this.app,this.plugin,k).open():new q.Notice("Error: Not a valid image file.")}catch(f){console.error("Error processing image:",f),new q.Notice("Error processing image")}})})}addCropRotateFlipMenuItem(e,r){e.addItem(t=>{t.setTitle("Crop/Rotate/Flip").setIcon("scissors").onClick(async()=>{let n=this.app.workspace.getActiveViewOfType(q.MarkdownView);if(!n){new q.Notice("No active markdown view");return}let f=n.file;if(!f){new q.Notice("No current file found");return}let o=r.getAttribute("src");if(!o){new q.Notice("No source attribute found");return}let a=decodeURIComponent(o.split("?")[0].split("/").pop()||""),A=this.app.vault.getFiles().filter(k=>k.name===a);if(A.length===0){console.error("No matching files found for:",a),new q.Notice(`Unable to find image: ${a}`);return}let l=A.length===1?A[0]:A.find(k=>{var h;let u=(h=f.parent)==null?void 0:h.path;return u?k.path.startsWith(u):!1})||A[0];l instanceof q.TFile?new Kt(this.app,l).open():new q.Notice("Unable to locate image file")})})}addAnnotateImageMenuItem(e,r){e.addItem(t=>{t.setTitle("Annotate image").setIcon("pencil").onClick(async()=>{try{let n=this.app.workspace.getActiveViewOfType(q.MarkdownView);if(!n){new q.Notice("No active markdown view");return}let f=n.file;if(!f){new q.Notice("No current file found");return}let o=r.getAttribute("src");if(!o){new q.Notice("No source attribute found");return}let a=decodeURIComponent(o.split("?")[0].split("/").pop()||""),A=this.app.vault.getFiles().filter(k=>k.name===a);if(A.length===0){console.error("No matching files found for:",a),new q.Notice(`Unable to find image: ${a}`);return}let l=A.length===1?A[0]:A.find(k=>{var h;let u=(h=f.parent)==null?void 0:h.path;return u?k.path.startsWith(u):!1})||A[0];l instanceof q.TFile?new qt(this.app,this.plugin,l).open():new q.Notice("Unable to locate image file")}catch(n){console.error("Image location error:",n),new q.Notice("Error processing image path")}})})}addShowInNavigationMenuItem(e,r){e.addItem(t=>{t.setTitle("Show in navigation").setIcon("folder-open").onClick(async()=>{await this.showImageInNavigation(r)})})}async showImageInNavigation(e){try{let r=this.folderAndFilenameManagement.getImagePath(e);if(r){let t=this.app.vault.getAbstractFileByPath(r);if(t instanceof q.TFile){let n=this.app.workspace.getLeavesOfType("file-explorer")[0];if(!n){let f=this.app.workspace.getLeftLeaf(!1);f&&(await f.setViewState({type:"file-explorer"}),n=f)}if(n){this.app.workspace.leftSplit&&this.app.workspace.leftSplit.expand();let f=n.view;f&&f.revealInFolder(t)}}}}catch(r){new q.Notice("Failed to show in navigation"),console.error(r)}}addShowInSystemExplorerMenuItem(e,r){e.addItem(t=>{t.setTitle("Show in system explorer").setIcon("arrow-up-right").onClick(async()=>{await this.showImageInSystemExplorer(r)})})}async showImageInSystemExplorer(e){try{let r=this.folderAndFilenameManagement.getImagePath(e);r&&await this.app.showInFolder(r)}catch(r){new q.Notice("Failed to show in system explorer"),console.error(r)}}addDeleteImageAndLinkMenuItem(e,r){e.addItem(t=>{t.setTitle("Delete Image and Link").setIcon("trash").onClick(async()=>{await this.deleteImageAndLinkFromNote(r)})})}async deleteImageAndLinkFromNote(e){let r=e.target,t=r.getAttribute("src");if(!t)return;let n=this.app.workspace.getActiveViewOfType(q.MarkdownView);if(!n){new q.Notice("No active Markdown view found");return}try{let f=n.editor;if(t.startsWith("data:image/")){await this.processBase64Image(f,t,async(c,d,b,g)=>{await this.removeImageLinkFromEditor(c,d,b,g,!1)})||new q.Notice("Failed to find Base64 image link");return}let o=t.startsWith("http://")||t.startsWith("https://")?null:this.folderAndFilenameManagement.getImagePath(r),a=!o,A=await this.findImageMatches(f,o,a);if(A.length===0){new q.Notice("Failed to find image link in the current note.");return}let l=new Map;for(let h of A){let c=`${h.lineNumber}-${h.line}-${h.fullMatch}`;l.has(c)||l.set(c,h)}let k=Array.from(l.values());if(k.length===0){new q.Notice("Failed to find unique image links in the current note.");return}let u=async()=>{let h=k.sort((c,d)=>d.lineNumber-c.lineNumber);for(let c of h)await this.removeImageLinkFromEditor(f,c.lineNumber,c.line,c.fullMatch,!1);if(new q.Notice("Image link(s) removed from note"),o){let c=this.app.vault.getAbstractFileByPath(o);c instanceof q.TFile&&(await this.app.vault.trash(c,!0),new q.Notice("Image file moved to trash"))}};if(k.length>1){let h=document.createDocumentFragment(),c=document.createElement("div");h.appendChild(c);let d=document.createElement("p");d.textContent=`Found ${k.length} unique matching image links inside current note. Do you want to delete all of them?`,c.appendChild(d),k.forEach((b,g)=>{let v=b.lineNumber+1,w=b.line.trim(),p=document.createElement("div");p.style.marginBottom="5px",p.innerHTML=` ${g+1}. Line ${v}: ${w}`,c.appendChild(p)}),new Ei(this.app,"Confirm Delete",h,"Delete",u).open()}else k.length===1?await u():new q.Notice("No unique image links found to delete.")}catch(f){console.error("Error deleting image:",f),new q.Notice("Failed to delete image. Check console for details.")}}onunload(){super.onunload(),this.currentMenu&&(this.currentMenu.hide(),this.currentMenu=null),this.contextMenuRegistered=!1}};var w2=require("obsidian");var Ra=require("obsidian"),rn=class extends Ra.Component{constructor(e,r,t){super();this.app=e;this.plugin=r;this.imageAlignmentManager=t}addAlignmentOptionsToContextMenu(e,r,t){e.addItem(n=>{n.setTitle("Align image").setIcon("align-justify").setSubmenu().addItem(f=>{let o=this.getCurrentImageAlignment(r);f.setTitle("Left").setIcon("align-left").setChecked(o.align==="left").onClick(async()=>{await this.updateImageAlignment(r,{align:o.align==="left"?"none":"left",wrap:o.wrap})})}).addItem(f=>{let o=this.getCurrentImageAlignment(r);f.setTitle("Center").setIcon("align-center").setChecked(o.align==="center").onClick(async()=>{await this.updateImageAlignment(r,{align:o.align==="center"?"none":"center",wrap:o.wrap})})}).addItem(f=>{let o=this.getCurrentImageAlignment(r);f.setTitle("Right").setIcon("align-right").setChecked(o.align==="right").onClick(async()=>{await this.updateImageAlignment(r,{align:o.align==="right"?"none":"right",wrap:o.wrap})})}).addSeparator().addItem(f=>{let o=this.getCurrentImageAlignment(r);f.setTitle("Wrap Text").setChecked(o.wrap).onClick(async()=>{let a=o.align==="none"?"left":o.align;await this.updateImageAlignment(r,{align:a,wrap:!o.wrap})})})})}applyAlignmentToImage(e,r){if(!r){console.error("No position data provided for image:",e.src);return}let t=e.matchParent(".internal-embed.image-embed");t&&(t.removeClass("image-position-left","image-position-center","image-position-right","image-wrap","image-no-wrap"),r.position!=="none"&&(t.addClass(`image-position-${r.position}`,"image-converter-aligned"),t.addClass(r.wrap?"image-wrap":"image-no-wrap"))),e.removeClass("image-position-left","image-position-center","image-position-right","image-wrap","image-no-wrap","image-converter-aligned"),r.position!=="none"&&(e.addClass("image-converter-aligned"),e.addClass(`image-position-${r.position}`),e.addClass(r.wrap?"image-wrap":"image-no-wrap"),r.width&&e.setCssStyles({width:r.width}),r.height&&e.setCssStyles({height:r.height}))}async updateImageAlignment(e,r){let t=this.app.workspace.getActiveFile();if(!t)return;let n=e.getAttribute("src");if(!n)return;let f=this.imageAlignmentManager.getRelativePath(n);e.removeClass("image-position-left","image-position-center","image-position-right","image-wrap","image-no-wrap","image-converter-aligned"),r.align!=="none"&&(e.addClass(`image-position-${r.align}`,"image-converter-aligned"),e.addClass(r.wrap?"image-wrap":"image-no-wrap"));let o=e.matchParent(".internal-embed.image-embed");o&&(o.removeClass("image-position-left","image-position-center","image-position-right","image-wrap","image-no-wrap","image-converter-aligned"),r.align!=="none"&&(o.addClass(`image-position-${r.align}`),o.addClass(r.wrap?"image-wrap":"image-no-wrap"))),r.align==="none"?this.plugin.ImageAlignmentManager.removeImageFromCache(t.path,f):this.plugin.ImageAlignmentManager.saveImageAlignmentToCache(t.path,f,r.align,e.style.width,e.style.height,r.wrap)}getCurrentImageAlignment(e){let r=this.app.workspace.getActiveFile();if(!r)return{align:"none",wrap:!1};let t=e.getAttr("src");if(!t)return{align:"none",wrap:!1};let n=this.imageAlignmentManager.getImageAlignment(r.path,t);if(n)return{align:n.position,wrap:n.wrap};let f=Array.from(e.classList).find(A=>A.startsWith("image-position-")),o=f?f.replace("image-position-",""):"none",a=e.hasClass("image-wrap");return{align:o,wrap:a}}};var tn=class{constructor(){this.locks=new Map}async acquire(i,e){let r=await this.acquireLock(i);try{return await e()}finally{r()}}async acquireLock(i){for(;this.locks.has(i);)await this.locks.get(i);let e,r=new Promise(t=>e=t);return this.locks.set(i,r),()=>{this.locks.delete(i),e()}}};var nn=class{constructor(i,e,r){this.app=i;this.plugin=e;this.supportedImageFormats=r;this.cache={};this.imageObserver=null;this.lock=new tn;this.imageStates=new Map;this.eventRefs=[];this.cleanupIntervalId=null;this.pluginDir=this.getPluginDir(),this.updateCacheFilePath(),this.imageAlignment=new rn(this.app,this.plugin,this),this.debouncedValidateNoteCache=(0,w2.debounce)(this.validateNoteCache.bind(this),300,!0)}async initialize(){await this.loadCache(),this.registerEvents(),this.scheduleCacheCleanup();let i=this.app.workspace.getActiveFile();i&&this.applyAlignmentsToNote(i.path)}addAlignmentOptionsToContextMenu(i,e,r){this.imageAlignment.addAlignmentOptionsToContextMenu(i,e,r)}updateCacheFilePath(){this.plugin.settings.imageAlignment_cacheLocation===".obsidian"?this.cacheFilePath=".obsidian/image-converter-image-alignments.json":this.cacheFilePath=`${this.pluginDir}/image-converter-image-alignments.json`}getPluginDir(){let i=this.plugin.manifest.dir;return i||(console.error("Could not determine plugin directory"),"")}getCache(){return this.cache}async loadCache(){try{let i=this.app.vault.adapter;if(await i.exists(this.cacheFilePath)){let e=await i.read(this.cacheFilePath);this.cache=JSON.parse(e)}}catch(i){console.error("Error loading image alignment cache:",i),this.cache={}}}async saveCache(){try{if(!this.pluginDir){console.error("Plugin directory not found");return}await this.app.vault.adapter.write(this.cacheFilePath,JSON.stringify(this.cache,null,2))}catch(i){console.error("Error saving image alignment cache:",i)}}registerEvents(){this.eventRefs.push(this.app.vault.on("delete",async i=>{if(i instanceof w2.TFile){if(i.extension==="md")await this.removeNoteFromCache(i.path);else if(this.supportedImageFormats.isSupported(void 0,i.name)){let r=Object.keys(this.getCache());for(let t of r){let n=this.getImageHash(t,i.path);await this.removeImageFromCache(t,n)}}let e=this.app.workspace.getActiveFile();if(e&&e.extension==="md"){let r=await this.app.vault.cachedRead(e);this.validateNoteCache(e.path,r)}}})),this.eventRefs.push(this.app.vault.on("rename",async(i,e)=>{if(i instanceof w2.TFile){if(i.extension==="md")this.cache[e]&&(this.cache[i.path]=this.cache[e],delete this.cache[e],await this.saveCache());else if(this.supportedImageFormats.isSupported(void 0,i.name)){let t=Object.keys(this.cache);for(let n of t){let f=this.getImageHash(n,e),o=this.getImageHash(n,i.path);this.cache[n][f]&&(this.cache[n][o]=this.cache[n][f],delete this.cache[n][f])}await this.saveCache()}let r=this.app.workspace.getActiveFile();if(r&&r.extension==="md"){let t=await this.app.vault.cachedRead(r);this.validateNoteCache(r.path,t)}}}))}async saveImageAlignmentToCache(i,e,r,t,n,f=!1){try{await this.lock.acquire("cacheOperation",async()=>{let o=this.getRelativePath(e),a=this.getImageHash(i,o);this.cache[i]||(this.cache[i]={}),this.cache[i][a]={position:r,width:t||"",height:n||"",wrap:f},await this.saveCache()})}catch(o){console.error("Error in saveImageAlignmentToCache:",o)}}getImageHash(i,e){let r=this.getRelativePath(e),t=`${i}:${r}`;return Sl(t,0)}getImageAlignment(i,e){var n;let r=this.getImageHash(i,e);return(n=this.cache[i])==null?void 0:n[r]}getRelativePath(i){if(i.startsWith("http://")||i.startsWith("https://"))return i;if(i=i.split("?")[0],i.startsWith("app://")||i.startsWith("file:///")){let t="";if(i.startsWith("app://")){let n=i.substring(6).split("/");n.length>1&&(t=decodeURIComponent(n.slice(1).join("/")))}else i.startsWith("file:///")&&(t=decodeURIComponent(i.substring(8)));if(t){let n=null;if(this.app.vault.adapter instanceof w2.FileSystemAdapter&&(n=this.app.vault.adapter.getBasePath()),n){let f=n.toLowerCase().replace(/\\/g,"/").replace(/^\/+|\/+$/g,"");if(t.toLowerCase().replace(/\\/g,"/").replace(/^\/+/,"").startsWith(f)){let a=t.substring(n.length);return a=a.replace(/^\/+/,""),a}}}}let r=this.app.vault.getFiles().find(t=>t.path.endsWith(i));return r?r.path:i}async applyAlignmentsToNote(i){try{await this.lock.acquire("applyAlignments",async()=>{let e=this.cache[i];if(!e)return;document.querySelectorAll("img").forEach(t=>{let n=t.getAttr("src");if(!n)return;let f=this.getImageHash(i,n),o=e[f];o&&this.imageAlignment.applyAlignmentToImage(t,o)})})}catch(e){console.error("Error in applyAlignmentsToNote:",e)}}async cleanCache(){await this.lock.acquire("cacheCleanup",async()=>{console.time("Cache cleanup time");let i={};for(let e in this.cache)if(this.app.vault.getAbstractFileByPath(e)){i[e]={};for(let t in this.cache[e]){let n=!1,f=this.app.vault.getFiles();for(let o of f)if(this.supportedImageFormats.isSupported(void 0,o.name)&&this.getImageHash(e,o.path)===t){n=!0;break}n&&(i[e][t]=this.cache[e][t])}Object.keys(i[e]).length===0&&delete i[e]}this.cache=i,await this.saveCache(),console.timeEnd("Cache cleanup time"),console.log("Cache cleaned:",this.cache)})}async validateNoteCache(i,e){await this.lock.acquire("validateCache",async()=>{if(!this.cache[i])return;let r=this.extractImageLinks(e);if(r.length===0){this.cache[i]&&(delete this.cache[i],await this.saveCache());return}let t=Object.keys(this.cache[i]),n=r.map(o=>this.getImageHash(i,o)),f=t.filter(o=>!n.includes(o));for(let o of f)delete this.cache[i][o];Object.keys(this.cache[i]).length===0&&delete this.cache[i],await this.saveCache()})}extractImageLinks(i){let e=[],r=/!\[[^\]]*?(?:\|\d+(?:\|\d+)?)?\]\(([^)\s"]+)(?:\s+"[^"]*")?\)/g,t=/!\[\[([^\]]+?)(?:\|[^\]]+?)?\]\]/g,n;for(;(n=r.exec(i))!==null;)e.push(n[1]);for(;(n=t.exec(i))!==null;)e.push(n[1]);return e}async removeImageFromCache(i,e){await this.lock.acquire("cacheOperation",async()=>{let r=this.getRelativePath(e),t=this.getImageHash(i,r);this.cache[i]&&this.cache[i][t]&&(delete this.cache[i][t],Object.keys(this.cache[i]).length===0&&delete this.cache[i],await this.saveCache())})}async removeNoteFromCache(i){this.cache[i]&&(delete this.cache[i],await this.saveCache())}scheduleCacheCleanup(){this.cleanupIntervalId&&window.clearInterval(this.cleanupIntervalId);let i=this.plugin.settings.imageAlignment_cacheCleanupInterval;i>0&&(this.cleanupIntervalId=window.setInterval(()=>{this.cleanCache()},i))}cleanupObserver(){this.imageObserver&&(this.imageObserver.disconnect(),this.imageObserver=null)}onunload(){var i;this.cleanupObserver(),this.eventRefs.forEach(e=>this.app.workspace.offref(e)),this.eventRefs=[],this.cleanupIntervalId&&(window.clearInterval(this.cleanupIntervalId),this.cleanupIntervalId=null),this.imageAlignment&&this.imageAlignment.onunload(),this.imageObserver=null,this.cache={},this.imageStates.clear(),(i=this.debouncedValidateNoteCache)==null||i.cancel()}};function Sl(s,i){let e=i>>>0,r=i>>>0,t=i>>>0,n=i>>>0,f=2277735313,o=1291169091,a=s.length,A=a>>>4;for(let b=0;b<A;b++){let g=b*16,v=s.charCodeAt(g)&255|(s.charCodeAt(g+1)&255)<<8|(s.charCodeAt(g+2)&255)<<16|(s.charCodeAt(g+3)&255)<<24,w=s.charCodeAt(g+4)&255|(s.charCodeAt(g+5)&255)<<8|(s.charCodeAt(g+6)&255)<<16|(s.charCodeAt(g+7)&255)<<24,p=s.charCodeAt(g+8)&255|(s.charCodeAt(g+9)&255)<<8|(s.charCodeAt(g+10)&255)<<16|(s.charCodeAt(g+11)&255)<<24,m=s.charCodeAt(g+12)&255|(s.charCodeAt(g+13)&255)<<8|(s.charCodeAt(g+14)&255)<<16|(s.charCodeAt(g+15)&255)<<24;v=Math.imul(v,f),v=v<<15|v>>>17,v=Math.imul(v,o),e^=v,e=e<<19|e>>>13,e=Math.imul(e,5)+3864292196>>>0,w=Math.imul(w,f),w=w<<15|w>>>17,w=Math.imul(w,o),r^=w,r=r<<17|r>>>15,r=Math.imul(r,5)+3864292196>>>0,p=Math.imul(p,f),p=p<<15|p>>>17,p=Math.imul(p,o),t^=p,t=t<<15|t>>>17,t=Math.imul(t,5)+3864292196>>>0,m=Math.imul(m,f),m=m<<15|m>>>17,m=Math.imul(m,o),n^=m,n=n<<13|n>>>19,n=Math.imul(n,5)+3864292196>>>0}let l=0,k=0,u=0,h=0,c=A*16,d=a%16;if(d>0)switch(d){case 15:h^=(s.charCodeAt(c+14)&255)<<16;case 14:h^=(s.charCodeAt(c+13)&255)<<8;case 13:h^=(s.charCodeAt(c+12)&255)<<0,h=Math.imul(h,f),h=h<<15|h>>>17,h=Math.imul(h,o),n^=h;case 12:u^=(s.charCodeAt(c+11)&255)<<24;case 11:u^=(s.charCodeAt(c+10)&255)<<16;case 10:u^=(s.charCodeAt(c+9)&255)<<8;case 9:u^=(s.charCodeAt(c+8)&255)<<0,u=Math.imul(u,f),u=u<<15|u>>>17,u=Math.imul(u,o),t^=u;case 8:k^=(s.charCodeAt(c+7)&255)<<24;case 7:k^=(s.charCodeAt(c+6)&255)<<16;case 6:k^=(s.charCodeAt(c+5)&255)<<8;case 5:k^=(s.charCodeAt(c+4)&255)<<0,k=Math.imul(k,f),k=k<<15|k>>>17,k=Math.imul(k,o),r^=k;case 4:l^=(s.charCodeAt(c+3)&255)<<24;case 3:l^=(s.charCodeAt(c+2)&255)<<16;case 2:l^=(s.charCodeAt(c+1)&255)<<8;case 1:l^=(s.charCodeAt(c+0)&255)<<0,l=Math.imul(l,f),l=l<<15|l>>>17,l=Math.imul(l,o),e^=l}return e^=a,r^=a,t^=a,n^=a,e=e+r>>>0,e=e+t>>>0,e=e+n>>>0,r=r+e>>>0,r=r+t>>>0,r=r+n>>>0,t=t+e>>>0,t=t+r>>>0,t=t+n>>>0,n=n+e>>>0,n=n+r>>>0,n=n+t>>>0,e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),e^=e>>>16,r^=r>>>16,r=Math.imul(r,2246822507),r^=r>>>13,r=Math.imul(r,3266489909),r^=r>>>16,t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),t^=t>>>16,n^=n>>>16,n=Math.imul(n,2246822507),n^=n>>>13,n=Math.imul(n,3266489909),n^=n>>>16,("00000000"+(n>>>0).toString(16)).slice(-8)+("00000000"+(t>>>0).toString(16)).slice(-8)+("00000000"+(r>>>0).toString(16)).slice(-8)+("00000000"+(e>>>0).toString(16)).slice(-8)}var on=require("obsidian"),fn=class{constructor(i){this.plugin=i;this.editor=null;this.markdownView=null;this.handles=[];this.activeImage=null;this.handleSize=8;this.startX=0;this.startY=0;this.initialWidth=0;this.initialHeight=0;this.currentHandle=null;this.initialAspectRatio=1;this.rafId=null;this.resizeState={isResizing:!1,isDragging:!1,isScrolling:!1};this.resizeBuffer={};this.scrollTimeout=null;this.SCROLL_DEBOUNCE_MS=300;this.lastMouseEvent=null;this.EDGE_SIZE=30;this.handleImageHover=i=>{if(this.resizeState.isScrolling)return;if(!this.isResizingPermitted("drag")){this.cleanupHandles();return}let e=i.target;if(this.lastMouseEvent=i,!e.instanceOf(HTMLImageElement)&&!e.hasClass("image-resize-handle")){this.cleanupHandles();return}let r=this.plugin.app.workspace.getActiveViewOfType(on.MarkdownView);if(!r||!r.containerEl.contains(e)){this.cleanupHandles();return}if(e.matchParent(".map-view-main")){this.cleanupHandles();return}if(!this.resizeState.isResizing){if(e.instanceOf(HTMLImageElement)&&this.isExternalLink(e.src)){this.activeImage=e,e.addClass("image-resize-border"),this.handleEdgeDetection(i,e);return}if(e.instanceOf(HTMLImageElement)&&!this.isExternalLink(e.src)){this.activeImage=e,this.createHandles(e);return}}};this.handleMouseDown=i=>{if(!this.isResizingPermitted("drag"))return;let e=i.target;if(e.hasClass("image-resize-handle")){i.preventDefault(),i.stopPropagation(),this.startResize(i,e),this.resizeState.isDragging=!0;return}if(e.instanceOf(HTMLImageElement)&&e.hasClass("image-resize-border")){i.preventDefault(),i.stopPropagation(),this.startResize(i,e),this.resizeState.isDragging=!0;return}};this.handleMouseMove=i=>{this.resizeState.isDragging&&(this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame(()=>{if(this.activeImage&&this.activeImage.hasClass("image-resize-border")&&this.handleEdgeDetection(i,this.activeImage),!this.resizeState.isResizing||!this.activeImage||!this.editor)return;let e=i.clientX-this.startX,r=i.clientY-this.startY,t=this.initialWidth,n=this.initialHeight,f=10;if(this.currentHandle==="border"){let o=Math.max((this.initialWidth+e)/this.initialWidth,(this.initialHeight+r)/this.initialHeight);t=Math.max(f,this.initialWidth*o),n=Math.max(f,this.initialHeight*o)}else switch(this.currentHandle){case"n":n=Math.max(f,this.initialHeight-r);break;case"s":n=Math.max(f,this.initialHeight+r);break;case"e":t=Math.max(f,this.initialWidth+e);break;case"w":t=Math.max(f,this.initialWidth-e);break;case"nw":case"sw":t=Math.max(f,this.initialWidth-e),n=t/this.initialAspectRatio;break;case"ne":case"se":t=Math.max(f,this.initialWidth+e),n=t/this.initialAspectRatio;break}this.activeImage.style.width=`${Math.round(t)}px`,this.activeImage.style.height=`${Math.round(n)}px`,this.throttledUpdateImageLink(this.activeImage,t,n,this.currentHandle),this.updateCursorPositionDuringResize()}))};this.handleMouseUp=()=>{if(!this.resizeState.isResizing||this.resizeState.isScrolling||!this.activeImage)return;if(this.activeImage.hasClass("image-resize-border"))this.activeImage.removeClass("resizing");else{let r=this.activeImage.matchParent(".image-resize-container");r&&r.removeClass("resizing")}this.currentHandle=null;let i=Math.round(this.activeImage.offsetWidth),e=Math.round(this.activeImage.offsetHeight);this.updateMarkdownLink(this.activeImage,i,e,this.currentHandle),this.cleanupHandles(),this.resizeState.isDragging=!1,this.resizeState.isResizing=!1};this.handleMouseWheel=i=>{var c;if(!this.plugin.settings.isScrollResizeEnabled||!this.checkModifierKey(i))return;let e=i.target,r=null;if(e.tagName==="IMG")r=e;else if(e.hasClass("image-resize-handle")){let d=e.closest(".image-resize-container");d&&(r=d.querySelector("img"))}if(!r||!((c=this.markdownView)!=null&&c.containerEl.contains(r)))return;i.preventDefault(),i.stopPropagation(),this.resizeState.isScrolling=!0,this.activeImage=r;let t=r.getBoundingClientRect();if(!t)return;this.initialWidth=t.width,this.initialHeight=t.height,this.initialAspectRatio=this.initialWidth/this.initialHeight;let{newWidth:n,newHeight:f}=this.resizeImageScrollWheel(i,r);getComputedStyle(r).width.endsWith("%")?r.style.width=`${n}%`:r.style.width=`${n}px`,r.style.height=`${f}px`;let a=this.plugin.app.workspace.getActiveFile();if(!a){console.warn("Could not get active file for image:",r);return}let A=a.path,l=this.getImageName(r);if(!l)return;let k=this.plugin.settings.isImageAlignmentEnabled,u=null;k&&this.plugin.ImageAlignmentManager&&(u=this.plugin.ImageAlignmentManager.getImageHash(A,l));let h=k&&Array.from(r.classList).some(d=>d.startsWith("image-position-"));k&&(this.resizeBuffer[u]={width:n,height:f}),(!k||!h)&&this.throttledUpdateImageLink(r,n,f,null),k&&this.debouncedSaveToCache(r,n,f),this.scrollTimeout&&clearTimeout(this.scrollTimeout),this.scrollTimeout=window.setTimeout(()=>{this.resizeState.isScrolling=!1,this.activeImage=null},this.SCROLL_DEBOUNCE_MS)};this.saveDimensionsToCache=async(i,e,r)=>{this.updateMarkdownLink(i,e,r,null);let t=this.plugin.app.workspace.getActiveFile();if(!t)return;let n=t.path,f=this.getImageName(i);if(!f)return;let o=this.plugin.ImageAlignmentManager.getImageHash(n,f),a=this.resizeBuffer[o];if(a&&this.plugin.settings.isImageAlignmentEnabled&&this.plugin.ImageAlignmentManager){let A=this.plugin.ImageAlignmentManager.getImageAlignment(n,f);A&&await this.plugin.ImageAlignmentManager.saveImageAlignmentToCache(n,f,A.position,`${Math.round(a.width)}px`,`${Math.round(a.height)}px`,A.wrap),delete this.resizeBuffer[o]}};this.throttledUpdateImageLink=this.throttle((e,r,t,n)=>{this.updateMarkdownLink(e,r,t,n)},100),this.resizeSensitivity=this.plugin.settings.resizeSensitivity,this.scrollwheelModifier=this.plugin.settings.scrollwheelModifier,this.debouncedSaveToCache=(0,on.debounce)(this.saveDimensionsToCache,this.SCROLL_DEBOUNCE_MS,!0)}onload(i){this.markdownView=i,this.editor=i.editor,this.plugin.settings.isImageResizeEnbaled&&this.registerEditorEvents()}onunload(){var i;this.rafId&&(cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollTimeout&&(clearTimeout(this.scrollTimeout),this.scrollTimeout=null),(i=this.debouncedSaveToCache)!=null&&i.cancel&&this.debouncedSaveToCache.cancel(),this.cleanupHandles(),this.resizeState={isResizing:!1,isDragging:!1,isScrolling:!1},this.activeImage=null,this.lastMouseEvent=null,this.currentHandle=null,this.handles=[],this.editor=null,this.markdownView=null}onLayoutChange(i){this.cleanupHandles(),this.onload(i),this.lastMouseEvent&&this.handleImageHover(this.lastMouseEvent)}registerEditorEvents(){!this.editor||!this.markdownView||(this.plugin.registerDomEvent(this.markdownView.containerEl,"mouseover",this.handleImageHover),this.plugin.registerDomEvent(document,"mousedown",this.handleMouseDown),this.plugin.registerDomEvent(document,"mousemove",this.handleMouseMove),this.plugin.registerDomEvent(document,"mouseup",this.handleMouseUp),this.plugin.registerDomEvent(this.markdownView.containerEl,"wheel",this.handleMouseWheel,{passive:!1}))}handleEdgeDetection(i,e){if(this.resizeState.isScrolling||i.target&&i.target.hasClass("image-resize-handle"))return;let r=e.getBoundingClientRect(),t=i.clientX-r.left,n=i.clientY-r.top,f=n<=this.EDGE_SIZE,o=n>=r.height-this.EDGE_SIZE,a=t<=this.EDGE_SIZE,A=t>=r.width-this.EDGE_SIZE;f||o||a||A?f&&a||o&&A?e.style.cursor="nwse-resize":f&&A||o&&a?e.style.cursor="nesw-resize":f||o?e.style.cursor="ns-resize":a||A?e.style.cursor="ew-resize":e.style.cursor="se-resize":e.style.cursor="news-resize"}cleanupHandles(){var e;if(this.resizeState.isResizing||!this.activeImage)return;let i=this.activeImage.matchParent(".image-resize-container");if(i){let r=["image-position-left","image-position-center","image-position-right","image-wrap","image-no-wrap","image-converter-aligned"];for(let t of r)i.hasClass(t)&&(this.activeImage.addClass(t),i.removeClass(t));(e=i.parentNode)==null||e.insertBefore(this.activeImage,i),i.detach(),this.handles=[]}this.activeImage.hasClass("image-resize-border")&&(this.activeImage.removeClass("image-resize-border"),this.activeImage.style.cursor="default"),this.activeImage=null,this.lastMouseEvent=null}createHandles(i){var n;this.cleanupHandles(),this.activeImage=i;let e=createEl("div",{cls:"image-resize-container"}),r=["image-position-left","image-position-center","image-position-right","image-wrap","image-no-wrap","image-converter-aligned"];for(let f of r)i.hasClass(f)&&e.addClass(f);(n=i.parentNode)==null||n.insertBefore(e,i),e.appendChild(i);let t=["nw","ne","sw","se","n","s","e","w"];this.handles=t.map(f=>e.createEl("div",{cls:`image-resize-handle image-resize-handle-${f}`,attr:{"data-handle-type":f}}))}startResize(i,e){if(this.resizeState.isResizing=!0,this.activeImage=this.activeImage||e.matchParent("img"),this.activeImage)if(this.activeImage.hasClass("image-resize-border"))this.activeImage.addClass("resizing");else{let t=this.activeImage.matchParent(".image-resize-container");t&&t.addClass("resizing")}else{this.resizeState.isResizing=!1;return}this.currentHandle=e.hasClass("image-resize-border")?"border":e.getAttr("data-handle-type")||null;let r=this.activeImage.getBoundingClientRect();r?(this.startX=i.clientX,this.startY=i.clientY,this.initialWidth=r.width,this.initialHeight=r.height,this.initialAspectRatio=this.initialWidth/this.initialHeight):this.resizeState.isResizing=!1}checkModifierKey(i){if(!this.isResizingPermitted("scroll"))return!1;switch(this.scrollwheelModifier){case"Shift":return i.shiftKey;case"Control":return i.ctrlKey;case"Alt":return i.altKey;case"Meta":return i.metaKey;case"None":return!0;default:return!1}}resizeImageScrollWheel(i,e){let r=Math.sign(i.deltaY),t=this.plugin.settings.resizeSensitivity,n=r<0?1+t:1/(1+t),f,o=getComputedStyle(e).width;e instanceof HTMLVideoElement&&o.endsWith("%")?(f=parseFloat(o)*n,f=Math.max(1,Math.min(f,100))):(f=e.clientWidth*n,f=Math.max(22,f));let a=e.clientWidth/e.clientHeight,A=Math.max(22,f/a);return f=Math.round(f),A=Math.round(A),{newWidth:f,newHeight:A,newLeft:0,newTop:0}}getEndLineOfLink(i,e,r,t){let n=i.getLine(e).substring(r,t),f=e;for(;!n.match(/\]\]|\)/)&&f<i.lastLine();)f++,n=i.getLine(f);return f}getEndOfCallout(i,e){let r=e,t=i.getLine(r);if(!t.trimStart().startsWith(">"))return e;let n=t.trimStart()[0];for(;r<i.lastLine();)if(r++,t=i.getLine(r),t.trimStart()[0]!=n)return r-1;return i.lastLine()}async updateMarkdownLink(i,e,r,t){if(!this.editor||!this.markdownView)return;if(this.markdownView.getState().mode==="preview"){i.style.width=`${Math.round(e)}px`,i.style.height=`${Math.round(r)}px`;return}let o=this.getImageName(i);if(!o){console.warn("Could not get imageName for image:",i);return}let a=this.editor,A=this.isBase64Image(o)?o:this.getFilenameFromPath(o),l=this.plugin.app.workspace.getActiveFile();if(!l){console.warn("Could not get active file for image:",i);return}let k=l.path;if(this.plugin.settings.isImageAlignmentEnabled&&this.plugin.ImageAlignmentManager){let d=this.plugin.ImageAlignmentManager.getImageAlignment(k,o);d&&await this.plugin.ImageAlignmentManager.saveImageAlignmentToCache(k,o,d.position,`${Math.round(e)}px`,`${Math.round(r)}px`,d.wrap)}let u=[],h=null,c=this.plugin.settings.resizeCursorLocation;a.getValue().split(`
|
|
`).forEach((d,b)=>{if(this.isFrontmatter(b,a))return;this.findAllMatches(d).filter(v=>(this.isBase64Image(v.path)?v.path:this.getFilenameFromPath(v.path))===A).forEach(v=>{let w="",p="",m="",C=this.plugin.settings.isImageAlignmentEnabled&&this.plugin.ImageAlignmentManager?this.plugin.ImageAlignmentManager.getImageAlignment(k,o):null,y=(C==null?void 0:C.width)||void 0,Z=(C==null?void 0:C.height)||void 0,_=`${Math.round(e)}x${Math.round(r)}`;if(v.type==="md")this.currentHandle==="border"?(w=`${Math.round(e)}x`,p=`${Math.round(r)}`):["n","s"].includes(t||"")?(w=y||(v.existingWidth!==void 0?`${v.existingWidth}x`:"x"),p=`${Math.round(r)}`,w==="x"&&(w=`${this.initialWidth}x`)):["e","w"].includes(t||"")?(w=`${Math.round(e)}x`,p=Z||(v.existingHeight!==void 0?`${v.existingHeight}`:""),p===""&&(p=`${this.initialHeight}`)):(w=`${Math.round(e)}x`,p=`${Math.round(r)}`),v.caption?m=``:m=``;else{this.currentHandle==="border"?(w=`${Math.round(e)}x`,p=`${Math.round(r)}`):["n","s"].includes(t||"")?(w=y||(v.existingWidth!==void 0?`${v.existingWidth}x`:"x"),p=`${Math.round(r)}`,w==="x"&&(w=`${this.initialWidth}x`)):["e","w"].includes(t||"")?(w=`${Math.round(e)}x`,p=Z||(v.existingHeight!==void 0?`${v.existingHeight}`:""),p===""&&(p=`${this.initialHeight}`)):(w=`${Math.round(e)}x`,p=`${Math.round(r)}`);let x=`${Math.round(e)}x${Math.round(r)}`;v.caption?m=`![[${v.path}${v.spacing.beforeFirstPipe}|${v.caption}${v.spacing.beforeSecondPipe}|${x}]]`:m=`![[${v.path}${v.spacing.beforeFirstPipe}|${x}]]`}if(m){let x=v.index,B=x+v.fullMatch.length;u.push({from:{line:b,ch:x},to:{line:b,ch:B},text:m});let I=b;c==="front"?h={line:b,ch:x}:c==="back"?h={line:b,ch:x+m.length}:c==="below"&&(I=this.getEndLineOfLink(a,b,x,B),I=this.getEndOfCallout(a,I),h={line:I+1,ch:0})}})}),u.length>0&&(a.transaction({changes:u}),h&&this.plugin.settings.resizeCursorLocation!=="none"&&a.setCursor(h))}updateCursorPositionDuringResize(){if(this.plugin.settings.resizeCursorLocation==="none"||!this.markdownView||!this.activeImage||!this.editor)return;let i=this.editor,e=i.getCursor(),r=i.getLine(e.line),t=this.getImageName(this.activeImage);if(!t||!r.includes(t))return;let n=r.indexOf("![["),f=r.indexOf("!["),o=r.search(/\]\]|\)/),a;if(this.plugin.settings.resizeCursorLocation==="front")if(n!==-1||f!==-1)a={line:e.line,ch:Math.max(0,Math.max(n,f))};else return;else if(this.plugin.settings.resizeCursorLocation==="back")if(o!==-1)a={line:e.line,ch:o+(r[o]==="]"?2:1)};else return;else this.plugin.settings.resizeCursorLocation==="below"&&o!==-1&&(a={line:this.getEndLineOfLink(i,e.line,n!==-1?n:f,o)+1,ch:0});a&&!this.areEditorPositionsEqual(e,a)&&i.setCursor(a)}areEditorPositionsEqual(i,e){return i.line===e.line&&i.ch===e.ch}normalizePath(i){try{return decodeURIComponent(i).replace(/\\/g,"/")}catch(e){return i.replace(/\\/g,"/")}}getFilenameFromPath(i){let e=this.normalizePath(i);return e.split("/").pop()||e}isFrontmatter(i,e){let r=!1,t=!1;for(let n=0;n<=i;n++){let f=e.getLine(n);if(n===0&&f==="---"){r=!0,t=!0;continue}if(r&&f==="---"){r=!1;continue}if(n===i&&r&&t)return!0}return!1}findAllMatches(i){var a,A,l,k,u,h,c,d,b;let e=[],r=g=>/^\d+x\d+$/.test(g.trim()),t=/!\[\[([^|\]]+?)(?:\s*\|([^|\]]*?))?(?:\s*\|([^|\]]*))?\]\]/g,n;for(;(n=t.exec(i))!==null;){let g=n[1].trim(),v=(a=n[2])==null?void 0:a.trim(),w=(A=n[3])==null?void 0:A.trim();v&&!w&&r(v)&&(w=v,v=void 0);let p,m;if(w){let C=w.match(/^(\d+)x(\d+)$/);C&&(p=parseInt(C[1],10),m=parseInt(C[2],10))}e.push({type:"wiki",fullMatch:n[0],index:n.index,path:g,caption:v,existingWidth:p,existingHeight:m,spacing:{beforeFirstPipe:((l=n[0].match(/\[\[[^|]+?(\s*)\|/))==null?void 0:l[1])||"",beforeSecondPipe:((k=n[0].match(/\|[^|]*?(\s*)\|/))==null?void 0:k[1])||""}})}let f=/!\[([^\]]*?)(?:\s*\|([^\]|]*?))?(?:\s*\|([^\]|]*))?\]\(([^)]+)\)/g,o;for(;(o=f.exec(i))!==null;){let g=(u=o[1])==null?void 0:u.trim(),v=(h=o[2])==null?void 0:h.trim(),w=(c=o[3])==null?void 0:c.trim(),p=o[4].trim();v&&!w&&r(v)&&(w=v,v=void 0);let m,C;if(w){let y=w.match(/^(\d+)x(\d+)$/);y&&(m=parseInt(y[1],10),C=parseInt(y[2],10))}e.push({type:"md",fullMatch:o[0],index:o.index,path:p,altText:g,caption:v,existingWidth:m,existingHeight:C,spacing:{beforeFirstPipe:((d=o[0].match(/\[([^\]]*?)(\s*)\|/))==null?void 0:d[2])||"",beforeSecondPipe:((b=o[0].match(/\|[^|]*?(\s*)\|/))==null?void 0:b[1])||""}})}return e}getImageName(i){if(!i)return null;let e=i.getAttribute("src");if(!e)return null;if(this.isBase64Image(e)||this.isExternalLink(e))return e;try{e=decodeURIComponent(e);let r=e.split(/[/\\]/);return r[r.length-1].split("?")[0]}catch(r){return console.error("Error processing image path:",r),null}}isExternalLink(i){return i.startsWith("http://")||i.startsWith("https://")}isBase64Image(i){return i.startsWith("data:image")}isResizingPermitted(i){return!this.markdownView||!this.plugin.settings.isImageResizeEnbaled||this.markdownView.getState().mode==="preview"&&!this.plugin.settings.isResizeInReadingModeEnabled?!1:i==="drag"?this.plugin.settings.isDragResizeEnabled:i==="scroll"?this.plugin.settings.isScrollResizeEnabled:!1}throttle(i,e){let r;return(...t)=>{r||(i(...t),r=!0,window.setTimeout(()=>r=!1,e))}}};var G0=require("obsidian"),an=class{constructor(i,e,r,t){this.app=i;this.plugin=e;this.imageProcessor=r;this.folderAndFilenameManagement=t}async processImagesInNote(i){try{let{ProcessCurrentNoteconvertTo:e,ProcessCurrentNotequality:r,ProcessCurrentNoteResizeModalresizeMode:t,ProcessCurrentNoteresizeModaldesiredWidth:n,ProcessCurrentNoteresizeModaldesiredHeight:f,ProcessCurrentNoteresizeModaldesiredLength:o,ProcessCurrentNoteEnlargeOrReduce:a,allowLargerFiles:A,ProcessCurrentNoteSkipFormats:l,ProcessCurrentNoteskipImagesInTargetFormat:k}=this.plugin.settings,u=e==="disabled",h=r===1,c=t==="None",d=e,b=e==="disabled"?"ORIGINAL":e.toUpperCase(),g=1,v=l.toLowerCase().split(",").map(B=>B.trim()).filter(B=>B.length>0),w=[];if(i.extension==="canvas"?w=await this.getImageFilesFromCanvas(i):w=this.getLinkedImageFiles(i),w.length===0){new G0.Notice("No images found in the note.");return}if(w.every(B=>B.extension===(u?B.extension:d)||v.includes(B.extension.toLowerCase()))&&h&&c){u?new G0.Notice("No processing needed: All images are either in skip list or kept in original format with no compression or resizing."):new G0.Notice(`No processing needed: All images are either in skip list or already in ${d.toUpperCase()} format with no compression or resizing.`);return}if(u&&h&&c){new G0.Notice("No processing needed: Original format selected with no compression or resizing.");return}let m=w.filter(B=>this.shouldProcessImage(B,u,d,v,k));if(m.length===0){k?new G0.Notice(`No processing needed: All images are already in ${u?"their original":d.toUpperCase()} format.`):new G0.Notice("No images found that need processing.");return}let C=0,y=this.plugin.addStatusBarItem(),Z=Date.now(),_=m.length;for(let B of m){C++;let I=await this.app.vault.readBinary(B),W=new Blob([I],{type:`image/${B.extension}`}),F=await this.imageProcessor.processImage(W,b,r,g,t,n,f,o,a,A),X=B.basename+"."+b.toLowerCase(),E=B.path.replace(B.name,X);B.path!==E&&await this.app.fileManager.renameFile(B,E);let S=this.app.vault.getAbstractFileByPath(E);if(!S){console.error("Failed to find renamed file:",E);continue}await this.app.vault.modifyBinary(S,F),B.path!==E&&await this.updateLinksInNote(i,B.path,E);let M=((Date.now()-Z)/1e3).toFixed(2);y.setText(`Processing image ${C} of ${_}, elapsed time: ${M} seconds`)}let x=((Date.now()-Z)/1e3).toFixed(2);y.setText(`Finished processing ${C} images, total time: ${x} seconds`),window.setTimeout(()=>{y.remove()},5e3)}catch(e){console.error("Error processing images in current note:",e),new G0.Notice(`Error processing images: ${e.message}`)}}async getImageFilesFromCanvas(i){let e=await this.app.vault.read(i),r=JSON.parse(e),t=[],n=f=>{for(let o of f){if(o.type==="file"&&o.file){let a=this.app.vault.getAbstractFileByPath(o.file);a instanceof G0.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,a.name)&&t.push(a)}o.children&&Array.isArray(o.children)&&n(o.children)}};return r.nodes&&Array.isArray(r.nodes)&&n(r.nodes),t}getLinkedImageFiles(i){let r=this.app.metadataCache.resolvedLinks[i.path];return Object.keys(r).map(t=>this.app.vault.getAbstractFileByPath(t)).filter(t=>t instanceof G0.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,t.name))}async processImagesInFolder(i,e){try{let r=this.app.vault.getAbstractFileByPath(i);if(!(r instanceof G0.TFolder)){new G0.Notice("Error: Invalid folder path.");return}let{ProcessCurrentNoteconvertTo:t,ProcessCurrentNotequality:n,ProcessCurrentNoteResizeModalresizeMode:f,ProcessCurrentNoteresizeModaldesiredWidth:o,ProcessCurrentNoteresizeModaldesiredHeight:a,ProcessCurrentNoteresizeModaldesiredLength:A,ProcessCurrentNoteEnlargeOrReduce:l,allowLargerFiles:k,ProcessCurrentNoteSkipFormats:u}=this.plugin.settings,h=t==="disabled"?"ORIGINAL":t.toUpperCase(),c=1,d=u.toLowerCase().split(",").map(C=>C.trim()).filter(C=>C.length>0),b=this.getImageFiles(r,e);if(b.length===0){new G0.Notice("No images found in the folder.");return}let g=0,v=this.plugin.addStatusBarItem(),w=Date.now(),p=b.length;for(let C of b){if(d.includes(C.extension.toLowerCase())){console.log(`Skipping image ${C.name} (format in skip list)`);continue}g++;let y=C.basename+"."+h.toLowerCase(),Z=C.path.replace(C.name,y),_=await this.app.vault.readBinary(C),x=new Blob([_],{type:`image/${C.extension}`}),B=await this.imageProcessor.processImage(x,h,n,c,f,o,a,A,l,k);C.path!==Z&&await this.app.fileManager.renameFile(C,Z);let I=this.app.vault.getAbstractFileByPath(Z);if(!I){console.error("Failed to find renamed file:",Z);continue}await this.app.vault.modifyBinary(I,B);let W=((Date.now()-w)/1e3).toFixed(2);v.setText(`Processing image ${g} of ${p}, elapsed time: ${W} seconds`)}let m=((Date.now()-w)/1e3).toFixed(2);v.setText(`Finished processing ${g} images, total time: ${m} seconds`),window.setTimeout(()=>{v.remove()},5e3)}catch(r){console.error("Error processing images in folder:",r),new G0.Notice(`Error processing images: ${r.message}`)}}getImageFiles(i,e){let r=[];return i.children.forEach(t=>{t instanceof G0.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,t.name)?r.push(t):e&&t instanceof G0.TFolder&&(r=r.concat(this.getImageFiles(t,e)))}),r}async processAllVaultImages(){var i;try{let{ProcessAllVaultconvertTo:e,ProcessAllVaultquality:r,ProcessAllVaultResizeModalresizeMode:t,ProcessAllVaultResizeModaldesiredWidth:n,ProcessAllVaultResizeModaldesiredHeight:f,ProcessAllVaultResizeModaldesiredLength:o,ProcessAllVaultEnlargeOrReduce:a,allowLargerFiles:A,ProcessAllVaultSkipFormats:l,ProcessAllVaultskipImagesInTargetFormat:k}=this.plugin.settings,u=e==="disabled",h=r===1,c=t==="None",d=e,b=e==="disabled"?"ORIGINAL":e.toUpperCase(),g=1,v=l.toLowerCase().split(",").map(B=>B.trim()).filter(B=>B.length>0),w=await this.getAllImageFiles();if(w.length===0){new G0.Notice("No images found in the vault.");return}if(w.every(B=>B.extension===(u?B.extension:d)||v.includes(B.extension.toLowerCase()))&&h&&c){u?new G0.Notice("No processing needed: All vault images are either in skip list or kept in original format with no compression or resizing."):new G0.Notice(`No processing needed: All vault images are either in skip list or already in ${d.toUpperCase()} format with no compression or resizing.`);return}let m=w.filter(B=>this.shouldProcessImage(B,u,d,v,k));if(m.length===0){k?new G0.Notice(`No processing needed: All vault images are either in ${u?"their original":d.toUpperCase()} format or in skip list.`):new G0.Notice("No images found that need processing.");return}let C=0,y=this.plugin.addStatusBarItem(),Z=Date.now(),_=m.length;for(let B of m){C++;let I=await this.app.vault.readBinary(B),W=new Blob([I],{type:`image/${B.extension}`}),F=await this.imageProcessor.processImage(W,b,r,g,t,n,f,o,a,A),X=B.basename+"."+b.toLowerCase(),E=B.path.replace(B.name,X);B.path!==E&&this.app.vault.getAbstractFileByPath(E)&&(E=await this.folderAndFilenameManagement.handleNameConflicts(((i=B.parent)==null?void 0:i.path)||"",X)),B.path!==E&&await this.app.fileManager.renameFile(B,E);let S=this.app.vault.getAbstractFileByPath(E);if(!S){console.error("Failed to find renamed file:",E);continue}await this.app.vault.modifyBinary(S,F),await this.updateLinksInAllNotes(B.path,E);let M=((Date.now()-Z)/1e3).toFixed(2);y.setText(`Processing image ${C} of ${_}, elapsed time: ${M} seconds`)}let x=((Date.now()-Z)/1e3).toFixed(2);y.setText(`Finished processing ${C} images, total time: ${x} seconds`),window.setTimeout(()=>{y.remove()},5e3)}catch(e){console.error("Error processing images:",e),new G0.Notice(`Error processing images: ${e.message}`)}}async getAllImageFiles(){let i=this.app.vault.getFiles(),e=i.filter(t=>this.plugin.supportedImageFormats.isSupported(void 0,t.name)),r=i.filter(t=>t instanceof G0.TFile&&t.extension==="canvas");for(let t of r){let n=await this.getImagesFromCanvas(t);for(let f of n){let o=this.app.vault.getAbstractFileByPath(f);o instanceof G0.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,o.name)&&(e.find(a=>a.path===o.path)||e.push(o))}}return e}async getImagesFromCanvas(i){let e=[],r=await this.app.vault.read(i),t=JSON.parse(r);if(t.nodes&&Array.isArray(t.nodes))for(let n of t.nodes)n.type==="file"&&n.file&&e.push(n.file);return e}shouldProcessImage(i,e,r,t,n){let f=e?i.extension:r;return t.includes(i.extension.toLowerCase())?(console.log(`Skipping ${i.name}: Format ${i.extension} is in skip list`),!1):n&&i.extension===f?(console.log(`Skipping ${i.name}: Already in ${f} format`),!1):!0}async updateLinksInAllNotes(i,e){let r=this.app.vault.getMarkdownFiles();for(let n of r)await this.updateLinksInNote(n,i,e);let t=this.app.vault.getFiles().filter(n=>n.extension==="canvas");for(let n of t)await this.updateCanvasFileLinks(n,i,e)}async updateLinksInNote(i,e,r){let t=this.escapeRegexCharacters(e),n=this.escapeRegexCharacters(r),f=await this.app.vault.read(i),o=f.replace(new RegExp(t,"g"),n);f!==o&&(await this.app.vault.modify(i,o),console.log(`Links updated in ${i.path}`))}escapeRegexCharacters(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}async updateCanvasFileLinks(i,e,r){try{let t=await this.app.vault.read(i),n=JSON.parse(t),f=o=>{for(let a of o)a.type==="file"&&a.file===e&&(a.file=r),a.children&&Array.isArray(a.children)&&f(a.children)};n.nodes&&Array.isArray(n.nodes)&&(f(n.nodes),await this.app.vault.modify(i,JSON.stringify(n,null,2)))}catch(t){console.error("Error updating canvas file links:",t)}}};var F0=require("obsidian");var sn=class extends F0.Modal{constructor(e,r,t,n){super(e);this.plugin=r;this.folderPath=t;this.batchImageProcessor=n;this.recursive=!1;this.selectedImageSource="direct";this.imageSourceSetting=null;this.qualitySetting=null;this.convertToSetting=null;this.skipFormatsSetting=null;this.resizeModeSetting=null;this.resizeInputSettings=null;this.enlargeReduceSettings=null;this.skipTargetFormatSetting=null;this.resizeInputsDiv=null;this.enlargeReduceDiv=null;this.imageCount=0;this.processedCount=0;this.skippedCount=0;this.updateImageSourceDescription=null}async onOpen(){let{contentEl:e}=this;e.addClass("image-convert-modal"),await this.createUI(e),await this.updateImageCountsAndDisplay()}onClose(){this.imageSourceSetting=null,this.qualitySetting=null,this.convertToSetting=null,this.skipFormatsSetting=null,this.resizeModeSetting=null,this.resizeInputSettings=null,this.enlargeReduceSettings=null,this.skipTargetFormatSetting=null,this.resizeInputsDiv=null,this.enlargeReduceDiv=null,this.updateImageSourceDescription=null;let{contentEl:e}=this;e.empty()}async createUI(e){this.createHeader(e),this.createWarningMessage(e),this.createImageCountsDisplay(e);let r=e.createDiv({cls:"settings-container"});this.createImageSourceSettings(r);let t=r.createDiv({cls:"format-quality-container"});this.createGeneralSettings(t);let n=r.createDiv({cls:"resize-container"});this.createResizeSettings(n);let f=r.createDiv({cls:"skip-container"});this.createSkipSettings(f),this.createProcessButton(r)}createHeader(e){let r=this.folderPath.split("/").pop()||this.folderPath,t=e.createDiv({cls:"modal-header"});t.createEl("h2",{text:"Convert, compress and resize"}),t.createEl("h6",{text:`all images in: /${r}`,cls:"modal-subtitle"})}createWarningMessage(e){e.createEl("p",{cls:"modal-warning",text:"\u26A0\uFE0F This will modify all images in the selected folder and subfolders (if recursive is enabled). Please ensure you have backups."})}createImageCountsDisplay(e){let r=e.createDiv({cls:"image-counts-display-container"}),t=r.createDiv({cls:"image-source-description"});t.id="image-source-description";let n=f=>{let o="No selection.";f==="direct"?o="Processing images directly in the folder.":f==="linked"&&(o="Processing images linked in notes or Canvas files."),t.setText(o)};this.updateImageSourceDescription=n,n(this.selectedImageSource),r.createEl("span",{text:"Total images found: "}),this.imageCountDisplay=r.createEl("span",{text:this.imageCount.toString()}),r.createEl("br"),r.createEl("span",{text:"To be skipped: "}),this.skippedCountDisplay=r.createEl("span",{text:this.skippedCount.toString()}),r.createEl("br"),r.createEl("span",{text:"To be processed: "}),this.processedCountDisplay=r.createEl("span",{text:this.processedCount.toString()})}createImageSourceSettings(e){e.createEl("h4",{text:"Image source"}),new F0.Setting(e).setName("Recursive").setDesc("Process images in all subfolders as well").addToggle(f=>f.setValue(this.recursive).onChange(async o=>{this.recursive=o,await this.updateImageCountsAndDisplay()}));let r=e.createDiv();r.addClass("image-source-setting-container");let t={["direct"]:null,["linked"]:null},n=()=>{Object.entries(t).forEach(([f,o])=>{o&&o.setIcon(this.selectedImageSource===f?"lucide-check-circle":"lucide-circle")})};new F0.Setting(r).setName("Direct images").setDesc("Images directly in the folder").addExtraButton(f=>{t["direct"]=f,f.setIcon(this.selectedImageSource==="direct"?"lucide-check-circle":"lucide-circle").setTooltip(this.selectedImageSource==="direct"?"Selected":"Select").onClick(async()=>{this.selectedImageSource="direct",this.updateImageSourceDescription&&this.updateImageSourceDescription(this.selectedImageSource),await this.updateImageCountsAndDisplay(),n()})}),new F0.Setting(r).setName("Linked images").setDesc("Images linked in notes or Canvas").addExtraButton(f=>{t["linked"]=f,f.setIcon(this.selectedImageSource==="linked"?"lucide-check-circle":"lucide-circle").setTooltip(this.selectedImageSource==="linked"?"Selected":"Select").onClick(async()=>{this.selectedImageSource="linked",this.updateImageSourceDescription&&this.updateImageSourceDescription(this.selectedImageSource),await this.updateImageCountsAndDisplay(),n()})}),e.appendChild(r),this.updateImageSourceDescription&&this.updateImageSourceDescription(this.selectedImageSource),n()}async createGeneralSettings(e){e.createEl("h4",{text:"General"}),this.convertToSetting=new F0.Setting(e).setName("Convert to \u24D8").setDesc("Choose output format. 'Same as original' applies compression/resizing to current format.").setTooltip("Same as original: preserves current format while applying compression/resizing").addDropdown(r=>{r.addOption("disabled","Same as original").addOptions({webp:"WebP",jpg:"JPG",png:"PNG"}).setValue(this.plugin.settings.ProcessCurrentNoteconvertTo).onChange(async t=>{this.plugin.settings.ProcessCurrentNoteconvertTo=t,await this.plugin.saveSettings(),await this.updateImageCountsAndDisplay()})}),this.qualitySetting=new F0.Setting(e).setName("Quality \u24D8").setDesc("Compression level (0-100)").setTooltip(`100: No compression (original quality)
|
|
75: Recommended (good balance)
|
|
0-50: High compression (lower quality)`).addText(r=>{r.setPlaceholder("Enter quality (0-100)").setValue((this.plugin.settings.ProcessCurrentNotequality*100).toString()).onChange(async t=>{let n=parseInt(t,10);!isNaN(n)&&n>=0&&n<=100&&(this.plugin.settings.ProcessCurrentNotequality=n/100,await this.plugin.saveSettings(),await this.updateImageCountsAndDisplay())})})}createSkipSettings(e){e.createEl("h4",{text:"Skip"}),this.skipFormatsSetting=new F0.Setting(e).setName("Skip formats \u24D8").setDesc("Comma-separated list (no dots or spaces, e.g., png,gif).").setTooltip("Comma-separated list of file formats to skip (e.g., tif,tiff,heic). Leave empty to process all formats.").addText(r=>{r.setPlaceholder("png,gif").setValue(this.plugin.settings.ProcessCurrentNoteSkipFormats).onChange(async t=>{this.plugin.settings.ProcessCurrentNoteSkipFormats=t,await this.plugin.saveSettings(),await this.updateImageCountsAndDisplay()})}),this.skipTargetFormatSetting=new F0.Setting(e).setName("Skip images in target format \u24D8").setDesc("Skip compression/resizing if image is already in target format.").setTooltip("If image is already in target format, this allows you to skip its compression, conversion and resizing. Processing of all other formats will be still performed.").addToggle(r=>{r.setValue(this.plugin.settings.ProcessCurrentNoteskipImagesInTargetFormat).onChange(async t=>{this.plugin.settings.ProcessCurrentNoteskipImagesInTargetFormat=t,await this.plugin.saveSettings(),await this.updateImageCountsAndDisplay()})})}async createResizeSettings(e){e.createEl("h4",{text:"Resize"}),this.resizeModeSetting=new F0.Setting(e).setName("Resize mode \u24D8").setDesc("Choose how images should be resized. Note: Results are permanent").setTooltip(`Fit: Maintains aspect ratio within dimensions
|
|
Fill: Exactly matches dimensions
|
|
Longest Edge: Limits the longest side
|
|
Shortest Edge: Limits the shortest side
|
|
Width/Height: Constrains single dimension`).addDropdown(r=>{r.addOptions({None:"None",Fit:"Fit (maintain aspect ratio within dimensions)",Fill:"Fill (exactly match dimensions)",LongestEdge:"Longest edge",ShortestEdge:"Shortest edge",Width:"Width",Height:"Height"}).setValue(this.plugin.settings.ProcessCurrentNoteResizeModalresizeMode).onChange(async t=>{this.plugin.settings.ProcessCurrentNoteResizeModalresizeMode=t,await this.plugin.saveSettings(),this.updateResizeInputVisibility(t),await this.updateImageCountsAndDisplay()})}),this.createEnlargeReduceInputs(e),this.resizeInputsDiv=e.createDiv({cls:"resize-inputs"}),this.updateResizeInputVisibility(this.plugin.settings.ProcessCurrentNoteResizeModalresizeMode)}createEnlargeReduceInputs(e){this.enlargeReduceDiv=e.createDiv({cls:"enlarge-reduce-settings"}),this.createEnlargeReduceSettings()}createProcessButton(e){let r=e.createDiv({cls:"button-container"});new F0.ButtonComponent(r).setButtonText("Process").setCta().onClick(async()=>{this.close(),await this.batchImageProcessor.processImagesInFolder(this.folderPath,this.recursive)})}updateResizeInputVisibility(e){var r,t,n;e==="None"?((r=this.resizeInputsDiv)==null||r.empty(),(t=this.enlargeReduceDiv)==null||t.hide(),this.resizeInputSettings=null,this.enlargeReduceSettings=null):(this.resizeInputSettings?this.updateResizeInputSettings(e):this.createResizeInputSettings(e),this.enlargeReduceSettings||this.createEnlargeReduceSettings(),(n=this.enlargeReduceDiv)==null||n.show())}createEnlargeReduceSettings(){this.enlargeReduceDiv&&(this.enlargeReduceDiv.empty(),this.enlargeReduceSettings=new F0.Setting(this.enlargeReduceDiv).setClass("enlarge-reduce-setting").setName("Enlarge or Reduce \u24D8").setDesc("Reduce and Enlarge: Adjusts all images. Reduce only: Shrinks larger images. Enlarge only: Enlarges smaller images.").setTooltip(`\u2022 Reduce and Enlarge: Adjusts all images to fit specified dimensions
|
|
\u2022 Reduce only: Only shrinks images larger than target
|
|
\u2022 Enlarge only: Only enlarges images smaller than target`).addDropdown(e=>{e.addOptions({Always:"Reduce and Enlarge",Reduce:"Reduce only",Enlarge:"Enlarge only"}).setValue(this.plugin.settings.ProcessCurrentNoteEnlargeOrReduce).onChange(async r=>{this.plugin.settings.ProcessCurrentNoteEnlargeOrReduce=r,await this.plugin.saveSettings()})}))}createResizeInputSettings(e){this.resizeInputsDiv&&(this.resizeInputsDiv.empty(),this.resizeInputSettings=new F0.Setting(this.resizeInputsDiv).setClass("resize-input-setting"),this.updateResizeInputSettings(e))}updateResizeInputSettings(e){if(!this.resizeInputSettings)return;this.resizeInputSettings.clear();let r="",t="";if(["Fit","Fill"].includes(e))r="Resize dimensions",t="Enter the desired width and height in pixels",this.resizeInputSettings.setName(r).setDesc(t).addText(n=>n.setPlaceholder("Width").setValue(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth.toString()).onChange(async f=>{let o=parseInt(f);/^\d+$/.test(f)&&o>0&&(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth=o,await this.plugin.saveSettings())})).addText(n=>n.setPlaceholder("Height").setValue(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight.toString()).onChange(async f=>{let o=parseInt(f);/^\d+$/.test(f)&&o>0&&(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight=o,await this.plugin.saveSettings())}));else{switch(e){case"LongestEdge":case"ShortestEdge":r=`${e}`,t="Enter the desired length in pixels";break;case"Width":r="Width",t="Enter the desired width in pixels";break;case"Height":r="Height",t="Enter the desired height in pixels";break}this.resizeInputSettings.setName(r).setDesc(t).addText(n=>n.setPlaceholder("").setValue(this.getInitialValue(e).toString()).onChange(async f=>{let o=parseInt(f);/^\d+$/.test(f)&&o>0&&await this.updateSettingValue(e,o)}))}}getInitialValue(e){switch(e){case"LongestEdge":case"ShortestEdge":return this.plugin.settings.ProcessCurrentNoteresizeModaldesiredLength;case"Width":return this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth;case"Height":return this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight;default:return 0}}async updateSettingValue(e,r){switch(e){case"LongestEdge":case"ShortestEdge":this.plugin.settings.ProcessCurrentNoteresizeModaldesiredLength=r;break;case"Width":this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth=r;break;case"Height":this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight=r;break}await this.plugin.saveSettings()}async updateImageCountsAndDisplay(){let e=await this.updateImageCounts();this.updateCountDisplays(e)}async updateImageCounts(){let e=this.app.vault.getAbstractFileByPath(this.folderPath);if(!(e instanceof F0.TFolder))return new F0.Notice("Error: Invalid folder path."),{total:0,processed:0,skipped:0};let r=this.plugin.settings.ProcessCurrentNoteSkipFormats.toLowerCase().split(",").map(k=>k.trim()).filter(k=>k.length>0),t=this.plugin.settings.ProcessCurrentNoteconvertTo,n=this.plugin.settings.ProcessCurrentNoteskipImagesInTargetFormat,{directImages:f,linkedImages:o}=await this.getImageFiles(e,this.recursive,this.selectedImageSource),a=0,A=0,l=0;for(let k of f)a++,r.includes(k.extension.toLowerCase())||n&&k.extension.toLowerCase()===t?l++:A++;for(let k of o)a++,r.includes(k.extension.toLowerCase())||n&&k.extension.toLowerCase()===t?l++:A++;return console.log("updateImageCounts:",{total:a,processed:A,skipped:l,directImages:f,linkedImages:o}),{total:a,processed:A,skipped:l}}async getImageFiles(e,r,t){let n=[],f=[];for(let o of e.children)if(o instanceof F0.TFolder){if(r){let{directImages:a,linkedImages:A}=await this.getImageFiles(o,r,t);n.push(...a),f.push(...A)}}else if(o instanceof F0.TFile){if(t==="direct"&&this.plugin.supportedImageFormats.isSupported(void 0,o.name))n.push(o);else if(t==="linked"&&o.extension==="md"){let a=await this.getImagesFromMarkdownFile(o);f.push(...a)}else if(t==="linked"&&o.extension==="canvas"){let a=await this.getImagesFromCanvasFile(o);f.push(...a)}}return console.log("Images found in folder",e.path,":",{directImages:n,linkedImages:f},"recursive:",r,"selectedImageSource:",t),{directImages:n,linkedImages:f}}async getImagesFromMarkdownFile(e){console.log("Getting images from Markdown file:",e.path);let r=[],t=await this.app.vault.read(e),n=this.app.vault,f=/!\[\[([^\]]+?)(?:\|[^\]]+?)?\]\]/g,o;for(;(o=f.exec(t))!==null;){let A=o[1],l=this.app.metadataCache.getFirstLinkpathDest(A,e.path);l instanceof F0.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,l.name)&&r.push(l)}let a=/!\[.*?\]\(([^)]+?)\)/g;for(;(o=a.exec(t))!==null;){let A=o[1];if(!A.startsWith("http")){let l=(0,F0.normalizePath)(n.getRoot().path+"/"+A),k=n.getAbstractFileByPath(l);k instanceof F0.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,k.name)&&(console.log("Found relative linked image:",k.path),r.push(k))}}return console.log("Images found in Markdown file:",r.map(A=>A.path)),r}extractLinkedImageNames(e){let r=/!\[\[([^\]]+?)(?:\|[^\]]+?)?\]\]/g,t=/!\[.*?\]\(([^)]+?)\)/g,n=[],f;for(;(f=r.exec(e))!==null;)n.push(f[1]);for(;(f=t.exec(e))!==null;)n.push(f[1]);return console.log("Image names extracted from Markdown:",n),n}getFullPath(e,r){return e?(0,F0.normalizePath)(e.path+"/"+r):(0,F0.normalizePath)(r)}async getImagesFromCanvasFile(e){let r=[],t=await this.app.vault.read(e),n=JSON.parse(t);if(n.nodes&&Array.isArray(n.nodes)){for(let f of n.nodes)if(f.type==="file"&&f.file){let o=this.app.vault.getAbstractFileByPath(f.file);if(!o){console.warn("Could not find file:",f.file);continue}o instanceof F0.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,o.name)&&r.push(o)}}return r}updateCountDisplays(e){this.imageCount=e.total,this.processedCount=e.processed,this.skippedCount=e.skipped,this.imageCountDisplay.setText(e.total.toString()),this.processedCountDisplay.setText(e.processed.toString()),this.skippedCountDisplay.setText(e.skipped.toString())}};var si=require("obsidian"),Er=class extends si.Modal{constructor(e,r,t,n){super(e);this.plugin=r;this.activeFile=t;this.batchImageProcessor=n;this.imageCount=0;this.processedCount=0;this.skippedCount=0;this.enlargeReduceSettings=null;this.resizeInputSettings=null;this.submitButton=null;this.resizeInputsDiv=null;this.enlargeReduceDiv=null}async onOpen(){let{contentEl:e}=this,r=e.createDiv({cls:"image-convert-modal"}),t=r.createDiv({cls:"modal-header"});t.createEl("h2",{text:"Convert, compress and resize"}),t.createEl("h6",{text:`all images in: ${this.activeFile.basename}.${this.activeFile.extension}`,cls:"modal-subtitle"}),await this.updateImageCounts();let n=e.createDiv({cls:"image-counts-display"});n.createEl("span",{text:"Total Images Found: "}),this.imageCountDisplay=n.createEl("span"),n.createEl("br"),n.createEl("span",{text:"To be Processed: "}),this.processedCountDisplay=n.createEl("span"),n.createEl("br"),n.createEl("span",{text:"Skipped: "}),this.skippedCountDisplay=n.createEl("span"),t.createEl("p",{cls:"modal-warning",text:"\u26A0\uFE0F This will modify all images in the current note. Please ensure you have backups."});let f=r.createDiv({cls:"settings-container"}),o=f.createDiv({cls:"format-quality-container"});this.convertToSetting=new si.Setting(o).setName("Convert to \u24D8 ").setDesc("Choose output format for your images").setTooltip("Same as original: preserves current format while applying compression/resizing").addDropdown(k=>k.addOptions({disabled:"Same as original",webp:"WebP",jpg:"JPG",png:"PNG"}).setValue(this.plugin.settings.ProcessCurrentNoteconvertTo).onChange(async u=>{this.plugin.settings.ProcessCurrentNoteconvertTo=u,await this.plugin.saveSettings(),this.updateImageCountsAndDisplay()})),new si.Setting(o).setName("Quality \u24D8").setDesc("Compression level (0-100)").setTooltip(`100: No compression (original quality)
|
|
75: Recommended (good balance)
|
|
0-50: High compression (lower quality)`).addText(k=>k.setPlaceholder("Enter quality (0-100)").setValue((this.plugin.settings.ProcessCurrentNotequality*100).toString()).onChange(async u=>{let h=parseInt(u);/^\d+$/.test(u)&&h>=0&&h<=100&&(this.plugin.settings.ProcessCurrentNotequality=h/100,await this.plugin.saveSettings())}));let a=f.createDiv({cls:"resize-container"});this.resizeModeSetting=new si.Setting(a).setName("Resize Mode \u24D8").setDesc("Choose how images should be resized. Note: Results are permanent.").setTooltip(`Fit: Maintains aspect ratio within dimensions
|
|
Fill: Exactly matches dimensions
|
|
Longest Edge: Limits the longest side
|
|
Shortest Edge: Limits the shortest side
|
|
Width/Height: Constrains single dimension`).addDropdown(k=>k.addOptions({None:"None",LongestEdge:"Longest Edge",ShortestEdge:"Shortest Edge",Width:"Width",Height:"Height",Fit:"Fit",Fill:"Fill"}).setValue(this.plugin.settings.ProcessCurrentNoteResizeModalresizeMode).onChange(async u=>{this.plugin.settings.ProcessCurrentNoteResizeModalresizeMode=u,await this.plugin.saveSettings(),this.updateResizeInputVisibility(u),this.updateImageCountsAndDisplay()})),this.resizeInputsDiv=a.createDiv({cls:"resize-inputs"}),this.enlargeReduceDiv=a.createDiv({cls:"enlarge-reduce-settings"});let A=f.createDiv({cls:"skip-container"});this.skipFormatsSetting=new si.Setting(A).setName("Skip File Formats \u24D8").setTooltip("Comma-separated list of file formats to skip (e.g., tif,tiff,heic). Leave empty to process all formats.").addText(k=>k.setPlaceholder("tif,tiff,heic").setValue(this.plugin.settings.ProcessCurrentNoteSkipFormats).onChange(async u=>{this.plugin.settings.ProcessCurrentNoteSkipFormats=u,await this.plugin.saveSettings(),this.updateImageCountsAndDisplay()})),this.skipTargetFormatSetting=new si.Setting(A).setName("Skip images in target format \u24D8").setTooltip("If image is already in target format, this allows you to skip its compression, conversion and resizing. Processing of all other formats will be still performed.").addToggle(k=>k.setValue(this.plugin.settings.ProcessCurrentNoteskipImagesInTargetFormat).onChange(async u=>{this.plugin.settings.ProcessCurrentNoteskipImagesInTargetFormat=u,await this.plugin.saveSettings(),this.updateImageCountsAndDisplay()})),this.updateResizeInputVisibility(this.plugin.settings.ProcessCurrentNoteResizeModalresizeMode),await this.updateImageCountsAndDisplay();let l=f.createDiv({cls:"button-container"});this.submitButton=new si.ButtonComponent(l).setButtonText("Submit").onClick(async()=>{this.close(),this.activeFile.extension==="md"||this.activeFile.extension==="canvas"?(await this.batchImageProcessor.processImagesInNote(this.activeFile),await this.refreshActiveNote()):new si.Notice("Error: Active file must be a markdown or canvas file.")})}updateResizeInputVisibility(e){var r,t,n;e==="None"?((r=this.resizeInputsDiv)==null||r.empty(),(t=this.enlargeReduceDiv)==null||t.hide(),this.resizeInputSettings=null,this.enlargeReduceSettings=null):(this.resizeInputSettings?this.updateResizeInputSettings(e):this.createResizeInputSettings(e),this.enlargeReduceSettings||this.createEnlargeReduceSettings(),(n=this.enlargeReduceDiv)==null||n.show())}createEnlargeReduceSettings(){this.enlargeReduceDiv&&(this.enlargeReduceDiv.empty(),this.enlargeReduceSettings=new si.Setting(this.enlargeReduceDiv).setClass("enlarge-reduce-setting").setName("Enlarge or Reduce \u24D8").setDesc("Controls how images are adjusted relative to target size:").setTooltip(`\u2022 Reduce and Enlarge: Adjusts all images to fit specified dimensions
|
|
\u2022 Reduce only: Only shrinks images larger than target
|
|
\u2022 Enlarge only: Only enlarges images smaller than target`).addDropdown(e=>{e.addOptions({Always:"Reduce and Enlarge",Reduce:"Reduce only",Enlarge:"Enlarge only"}).setValue(this.plugin.settings.ProcessCurrentNoteEnlargeOrReduce).onChange(async r=>{this.plugin.settings.ProcessCurrentNoteEnlargeOrReduce=r,await this.plugin.saveSettings()})}))}createResizeInputSettings(e){this.resizeInputsDiv&&(this.resizeInputsDiv.empty(),this.resizeInputSettings=new si.Setting(this.resizeInputsDiv).setClass("resize-input-setting"),this.updateResizeInputSettings(e))}updateResizeInputSettings(e){if(!this.resizeInputSettings)return;this.resizeInputSettings.clear();let r="",t="";if(["Fit","Fill"].includes(e))r="Resize dimensions",t="Enter the desired width and height in pixels",this.resizeInputSettings.setName(r).setDesc(t).addText(n=>n.setPlaceholder("Width").setValue(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth.toString()).onChange(async f=>{let o=parseInt(f);/^\d+$/.test(f)&&o>0&&(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth=o,await this.plugin.saveSettings())})).addText(n=>n.setPlaceholder("Height").setValue(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight.toString()).onChange(async f=>{let o=parseInt(f);/^\d+$/.test(f)&&o>0&&(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight=o,await this.plugin.saveSettings())}));else{switch(e){case"LongestEdge":case"ShortestEdge":r=`${e}`,t="Enter the desired length in pixels";break;case"Width":r="Width",t="Enter the desired width in pixels";break;case"Height":r="Height",t="Enter the desired height in pixels";break}this.resizeInputSettings.setName(r).setDesc(t).addText(n=>n.setPlaceholder("").setValue(this.getInitialValue(e).toString()).onChange(async f=>{let o=parseInt(f);/^\d+$/.test(f)&&o>0&&await this.updateSettingValue(e,o)}))}this.enlargeReduceSettings||this.createEnlargeReduceSettings()}getInitialValue(e){switch(e){case"LongestEdge":case"ShortestEdge":return this.plugin.settings.ProcessCurrentNoteresizeModaldesiredLength;case"Width":return this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth;case"Height":return this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight;default:return 0}}async updateSettingValue(e,r){switch(e){case"LongestEdge":case"ShortestEdge":this.plugin.settings.ProcessCurrentNoteresizeModaldesiredLength=r;break;case"Width":this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth=r;break;case"Height":this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight=r;break}await this.plugin.saveSettings()}async updateImageCountsAndDisplay(){await this.updateImageCounts(),this.updateCountDisplays()}async updateImageCounts(){if(!this.activeFile)return;let e=this.plugin.settings.ProcessCurrentNoteSkipFormats.toLowerCase().split(",").map(n=>n.trim()).filter(n=>n.length>0),r=this.plugin.settings.ProcessCurrentNoteconvertTo.toLowerCase(),t=this.plugin.settings.ProcessCurrentNoteskipImagesInTargetFormat;if(this.activeFile.extension==="canvas"){let n=JSON.parse(await this.app.vault.read(this.activeFile)),f=this.getImagePathsFromCanvas(n);this.imageCount=f.length,this.processedCount=f.filter(o=>{let a=this.app.vault.getAbstractFileByPath(o);return!(!(a instanceof si.TFile)||e.includes(a.extension.toLowerCase())||t&&a.extension.toLowerCase()===r)}).length,this.skippedCount=this.imageCount-this.processedCount}else{let n=this.getLinkedImageFiles(this.activeFile);this.imageCount=n.length,this.processedCount=n.filter(f=>!(e.includes(f.extension.toLowerCase())||t&&f.extension.toLowerCase()===r)).length,this.skippedCount=this.imageCount-this.processedCount}}getImagePathsFromCanvas(e){let r=[];for(let t of e.nodes||[])t.type==="file"&&t.file&&r.push(t.file),t.children&&Array.isArray(t.children)&&(r=r.concat(this.getImagePathsFromCanvas(t)));return r}async refreshActiveNote(){let e=this.app.workspace.getActiveFile();if(e){let r=this.app.workspace.getLeaf();if(r){let t=this.app.workspace.getMostRecentLeaf();if(t){let n=t.getViewState();await t.setViewState({type:"empty",state:{}}),await t.setViewState(n)}await r.openFile(e,{active:!0})}}}getLinkedImageFiles(e){let t=this.app.metadataCache.resolvedLinks[e.path];return Object.keys(t).map(n=>this.app.vault.getAbstractFileByPath(n)).filter(n=>n instanceof si.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,n.name))}updateCountDisplays(){this.imageCountDisplay.setText(this.imageCount.toString()),this.processedCountDisplay.setText(this.processedCount.toString()),this.skippedCountDisplay.setText(this.skippedCount.toString())}onClose(){this.enlargeReduceSettings=null,this.resizeInputSettings=null,this.submitButton=null,this.resizeInputsDiv=null,this.enlargeReduceDiv=null;let{contentEl:e}=this;e.empty()}};var Yi=require("obsidian"),An=class extends Yi.Modal{constructor(e,r,t){super(e);this.plugin=r;this.batchImageProcessor=t;this.enlargeReduceSettings=null;this.resizeInputSettings=null;this.resizeInputsDiv=null;this.enlargeReduceDiv=null;this.modalEl.addClass("image-convert-modal")}onOpen(){let{contentEl:e}=this;this.createUI(e)}onClose(){this.enlargeReduceSettings=null,this.resizeInputSettings=null,this.resizeInputsDiv=null,this.enlargeReduceDiv=null;let{contentEl:e}=this;e.empty()}createUI(e){this.createHeader(e),this.createWarningMessage(e);let r=e.createDiv({cls:"settings-container"}),t=r.createDiv({cls:"format-quality-container"});this.createGeneralSettings(t);let n=r.createDiv({cls:"resize-container"});this.createResizeSettings(n);let f=r.createDiv({cls:"skip-container"});this.createSkipSettings(f),this.createProcessButton(r)}createHeader(e){let r=e.createDiv({cls:"modal-header"});r.createEl("h2",{text:"Convert, compress and resize all images"}),r.createEl("h6",{text:"in the Vault",cls:"modal-subtitle"})}createWarningMessage(e){e.createEl("p",{cls:"modal-warning",text:"\u26A0\uFE0F This will modify all images in the Vault. Please ensure you have backups."})}createGeneralSettings(e){new Yi.Setting(e).setName("Convert to \u24D8").setDesc("Choose output format. 'Same as original' applies compression/resizing to current format.").setTooltip("Same as original: preserves current format while applying compression/resizing").addDropdown(r=>{r.addOption("disabled","Same as original").addOptions({webp:"WebP",jpg:"JPG",png:"PNG"}).setValue(this.plugin.settings.ProcessAllVaultconvertTo).onChange(async t=>{this.plugin.settings.ProcessAllVaultconvertTo=t,await this.plugin.saveSettings()})}),new Yi.Setting(e).setName("Quality \u24D8").setDesc("Compression level (0-100)").setTooltip(`100: No compression (original quality)
|
|
75: Recommended (good balance)
|
|
0-50: High compression (lower quality)`).addText(r=>{r.setPlaceholder("Enter quality (0-100)").setValue((this.plugin.settings.ProcessAllVaultquality*100).toString()).onChange(async t=>{let n=parseInt(t,10);!isNaN(n)&&n>=0&&n<=100&&(this.plugin.settings.ProcessAllVaultquality=n/100,await this.plugin.saveSettings())})})}createResizeSettings(e){new Yi.Setting(e).setName("Resize mode \u24D8").setDesc("Choose how images should be resized. Note: Results are permanent.").setTooltip(`Fit: Maintains aspect ratio within dimensions
|
|
Fill: Exactly matches dimensions
|
|
Longest Edge: Limits the longest side
|
|
Shortest Edge: Limits the shortest side
|
|
Width/Height: Constrains single dimension`).addDropdown(r=>{r.addOptions({None:"None",Fit:"Fit",Fill:"Fill",LongestEdge:"Longest Edge",ShortestEdge:"Shortest Edge",Width:"Width",Height:"Height"}).setValue(this.plugin.settings.ProcessAllVaultResizeModalresizeMode).onChange(async t=>{this.plugin.settings.ProcessAllVaultResizeModalresizeMode=t,await this.plugin.saveSettings(),this.updateResizeInputVisibility(t)})}),this.resizeInputsDiv=e.createDiv({cls:"resize-inputs"}),this.enlargeReduceDiv=e.createDiv({cls:"enlarge-reduce-settings"}),this.updateResizeInputVisibility(this.plugin.settings.ProcessAllVaultResizeModalresizeMode)}createSkipSettings(e){new Yi.Setting(e).setName("Skip formats \u24D8").setDesc("Comma-separated list (no dots or spaces, e.g., png,gif).").setTooltip("Comma-separated list of file formats to skip (e.g., tif,tiff,heic). Leave empty to process all formats.").addText(r=>{r.setPlaceholder("png,gif").setValue(this.plugin.settings.ProcessAllVaultSkipFormats).onChange(async t=>{this.plugin.settings.ProcessAllVaultSkipFormats=t,await this.plugin.saveSettings()})}),new Yi.Setting(e).setName("Skip images in target format \u24D8").setDesc("Skip compression/resizing if image is already in target format.").setTooltip("If image is already in target format, this allows you to skip its compression, conversion and resizing. Processing of all other formats will be still performed.").addToggle(r=>{r.setValue(this.plugin.settings.ProcessAllVaultskipImagesInTargetFormat).onChange(async t=>{this.plugin.settings.ProcessAllVaultskipImagesInTargetFormat=t,await this.plugin.saveSettings()})})}createProcessButton(e){let r=e.createDiv({cls:"button-container"});new Yi.ButtonComponent(r).setButtonText("Process All Images").setCta().onClick(async()=>{this.close(),await this.batchImageProcessor.processAllVaultImages()})}updateResizeInputVisibility(e){var r,t,n;e==="None"?((r=this.resizeInputsDiv)==null||r.empty(),(t=this.enlargeReduceDiv)==null||t.hide(),this.resizeInputSettings=null,this.enlargeReduceSettings=null):(this.resizeInputSettings?this.updateResizeInputSettings(e):this.createResizeInputSettings(e),this.enlargeReduceSettings||this.createEnlargeReduceSettings(),(n=this.enlargeReduceDiv)==null||n.show())}createEnlargeReduceSettings(){this.enlargeReduceDiv&&(this.enlargeReduceDiv.empty(),this.enlargeReduceSettings=new Yi.Setting(this.enlargeReduceDiv).setClass("enlarge-reduce-setting").setName("Enlarge or Reduce \u24D8").setDesc("Reduce and Enlarge: Adjusts all images. Reduce only: Shrinks larger images. Enlarge only: Enlarges smaller images.").setTooltip(`\u2022 Reduce and Enlarge: Adjusts all images to fit specified dimensions
|
|
\u2022 Reduce only: Only shrinks images larger than target
|
|
\u2022 Enlarge only: Only enlarges images smaller than target`).addDropdown(e=>{e.addOptions({Always:"Reduce and Enlarge",Reduce:"Reduce only",Enlarge:"Enlarge only"}).setValue(this.plugin.settings.ProcessAllVaultEnlargeOrReduce).onChange(async r=>{this.plugin.settings.ProcessAllVaultEnlargeOrReduce=r,await this.plugin.saveSettings()})}))}createResizeInputSettings(e){this.resizeInputsDiv&&(this.resizeInputsDiv.empty(),this.resizeInputSettings=new Yi.Setting(this.resizeInputsDiv).setClass("resize-input-setting"),this.updateResizeInputSettings(e))}updateResizeInputSettings(e){if(!this.resizeInputSettings)return;this.resizeInputSettings.clear();let r="",t="";if(["Fit","Fill"].includes(e))r="Resize dimensions",t="Enter the desired width and height in pixels",this.resizeInputSettings.setName(r).setDesc(t).addText(n=>n.setPlaceholder("Width").setValue(this.plugin.settings.ProcessAllVaultResizeModaldesiredWidth.toString()).onChange(async f=>{let o=parseInt(f);/^\d+$/.test(f)&&o>0&&(this.plugin.settings.ProcessAllVaultResizeModaldesiredWidth=o,await this.plugin.saveSettings())})).addText(n=>n.setPlaceholder("Height").setValue(this.plugin.settings.ProcessAllVaultResizeModaldesiredHeight.toString()).onChange(async f=>{let o=parseInt(f);/^\d+$/.test(f)&&o>0&&(this.plugin.settings.ProcessAllVaultResizeModaldesiredHeight=o,await this.plugin.saveSettings())}));else{switch(e){case"LongestEdge":case"ShortestEdge":r=`${e}`,t="Enter the desired length in pixels";break;case"Width":r="Width",t="Enter the desired width in pixels";break;case"Height":r="Height",t="Enter the desired height in pixels";break}this.resizeInputSettings.setName(r).setDesc(t).addText(n=>n.setPlaceholder("").setValue(this.getInitialValue(e).toString()).onChange(async f=>{let o=parseInt(f);/^\d+$/.test(f)&&o>0&&await this.updateSettingValue(e,o)}))}}getInitialValue(e){switch(e){case"LongestEdge":case"ShortestEdge":return this.plugin.settings.ProcessAllVaultResizeModaldesiredLength;case"Width":return this.plugin.settings.ProcessAllVaultResizeModaldesiredWidth;case"Height":return this.plugin.settings.ProcessAllVaultResizeModaldesiredHeight;default:return 0}}async updateSettingValue(e,r){switch(e){case"LongestEdge":case"ShortestEdge":this.plugin.settings.ProcessAllVaultResizeModaldesiredLength=r;break;case"Width":this.plugin.settings.ProcessAllVaultResizeModaldesiredWidth=r;break;case"Height":this.plugin.settings.ProcessAllVaultResizeModaldesiredHeight=r;break}await this.plugin.saveSettings()}};var U1=require("obsidian"),ln=class{constructor(i){this.plugin=i;this.observer=null;this.observerTimeout=null;this.processing=!1;this.initializeObserver(),this.applyCaptionStyles(),this.applyCaptionClass()}initializeObserver(){this.cleanup(),this.observer=new MutationObserver(this.handleMutations.bind(this)),this.startObserving()}startObserving(){if(!this.observer)return;let i={childList:!0,subtree:!0,attributes:!0,attributeFilter:["alt","src","class"]},e=this.plugin.app.workspace.getActiveViewOfType(U1.MarkdownView);e&&this.observer.observe(e.contentEl,i)}handleMutations(i){if(this.processing)return;this.processing=!0,this.observerTimeout&&clearTimeout(this.observerTimeout);let e=i.filter(r=>{let t=r.target;return r.type==="childList"?Array.from(r.addedNodes).some(n=>this.isRelevantNode(n)):r.type==="attributes"?this.isRelevantNode(t):!1});this.observerTimeout=setTimeout(()=>{try{e.length>0&&this.processImageCaptions()}catch(r){console.error("Error processing mutations:",r)}finally{this.processing=!1}},100)}isRelevantNode(i){if(!(i instanceof Element))return!1;let e=i.className;return typeof e!="string"||e.includes("cm-")||e.includes("image-resize")||e.includes("cm-content cm-lineWrapping")?!1:i.matches("div.image-embed, div.callout")||!!i.querySelector("div.image-embed, div.callout")}processImageCaptions(){var i;(i=this.observer)==null||i.disconnect();try{let e=this.plugin.app.workspace.getActiveViewOfType(U1.MarkdownView);e&&e.contentEl.querySelectorAll(".image-embed").forEach(r=>{this.processImageEmbed(r)}),document.querySelectorAll(".callout .image-embed").forEach(r=>{this.processImageEmbed(r,!0)})}finally{this.startObserving()}}processImageEmbed(i,e=!1){var h,c;let r=i.querySelector("img");if(!r)return;let{enableImageCaptions:t,skipCaptionExtensions:n}=this.plugin.settings;if(!t)return;let f=r.width||r.getAttribute("width");f&&i.style.setProperty("--img-width",`${f}px`);let o=i.getAttribute("src")||"",a=r.getAttribute("alt")||"",A=((c=(h=o.split(".").pop())==null?void 0:h.split("?")[0])==null?void 0:c.toLowerCase())||"",l=n.split(",").map(d=>d.trim().toLowerCase()),k=a.trim().toLowerCase()===o.trim().toLowerCase();l.includes(A)||k?(i.removeAttribute("alt"),r.removeAttribute("alt")):e&&(i.setAttribute("data-in-callout","true"),a&&i.setAttribute("alt",a))}applyCaptionClass(){let{enableImageCaptions:i,skipCaptionExtensions:e}=this.plugin.settings,r=e.split(",").map(t=>t.trim().toLowerCase());i?(document.body.classList.add("image-captions-enabled"),document.querySelectorAll(".image-embed").forEach(t=>{var f,o,a,A,l;let n=t.querySelector("img");if(n){let k=(f=t.getAttribute("src"))!=null?f:"",u=(o=n.getAttribute("alt"))!=null?o:"",h=(l=(A=(a=k.split(".").pop())==null?void 0:a.split("?")[0])==null?void 0:A.toLowerCase())!=null?l:"",c=u.trim().toLowerCase()===k.trim().toLowerCase();(r.includes(h)||c)&&(t.removeAttribute("alt"),n.removeAttribute("alt"))}})):document.body.classList.remove("image-captions-enabled")}applyCaptionStyles(){let i="image-caption-styles",e=document.getElementById(i);e||(e=document.createElement("style"),e.id=i,document.head.appendChild(e));let{captionFontSize:r,captionColor:t,captionFontStyle:n,captionBackgroundColor:f,captionPadding:o,captionBorderRadius:a,captionMarginTop:A,captionOpacity:l,captionFontWeight:k,captionTextTransform:u,captionLetterSpacing:h,captionBorder:c,captionAlignment:d}=this.plugin.settings;e.textContent=`
|
|
/* Container styling */
|
|
.image-captions-enabled .internal-embed.image-embed[alt] {
|
|
display: flex !important;
|
|
flex-direction: column;
|
|
align-items: ${d==="center"?"center":d==="left"?"flex-start":"flex-end"};
|
|
justify-content: center;
|
|
width: fit-content;
|
|
}
|
|
|
|
/* Caption styling */
|
|
.image-captions-enabled .image-embed[alt]:after {
|
|
display: block;
|
|
width: var(--img-width);
|
|
font-family: var(--font-interface);
|
|
font-size: ${r||"var(--font-smaller)"};
|
|
color: ${t||"var(--text-gray)"};
|
|
background-color: ${f||"transparent"};
|
|
opacity: ${l||"1"};
|
|
content: attr(alt);
|
|
margin-top: ${A||"4px"};
|
|
padding: ${o||"2px 4px"};
|
|
border-radius: ${a||"0"};
|
|
font-style: ${n||"italic"};
|
|
font-weight: ${k||"normal"};
|
|
text-transform: ${u||"none"};
|
|
letter-spacing: ${h||"normal"};
|
|
border: ${c||"none"};
|
|
text-align: ${d||"center"};
|
|
transition: all 0.2s ease;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
/* Image styling */
|
|
.image-captions-enabled .image-embed[alt] img {
|
|
display: block;
|
|
max-width: 100%;
|
|
height: auto;
|
|
}
|
|
`}refresh(){this.processImageCaptions(),this.applyCaptionClass(),this.applyCaptionStyles()}updateStyles(){this.applyCaptionStyles()}cleanup(){this.observer&&(this.observer.disconnect(),this.observer=null),this.observerTimeout&&(clearTimeout(this.observerTimeout),this.observerTimeout=null)}};var pi=require("obsidian");var Wr=class extends pi.Modal{constructor(e,r,t,n,f){super(e);this.settings=r;this.onApply=t;this.plugin=n;this.conversionQualitySetting=null;this.conversionColorDepthSetting=null;this.selectedGlobalPreset=null;this.customFilenameSetting=null;this.customFilenameText=null;this.customFolderSetting=null;this.customFolderText=null;this.previewContainer=null;this.updateTimeout=null;this.updatePreviews=async()=>{!this.previewContainer||!this.customFolderText||!this.customFilenameText||(this.updateTimeout&&window.clearTimeout(this.updateTimeout),this.updateTimeout=window.setTimeout(async()=>{var e,r;if(this.previewContainer)try{let t=this.app.workspace.getActiveFile(),n=this.app.vault.getFiles().find(l=>l.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)),f=t!=null&&t.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)?t:n,o=((e=this.customFolderText)==null?void 0:e.getValue())||"",a=((r=this.customFilenameText)==null?void 0:r.getValue())||"",A=createEl("div");if(o||a){let l=o?await this.variableProcessor.processTemplate(o,{file:f,activeFile:t}):"",k=a?await this.variableProcessor.processTemplate(a,{file:f,activeFile:t}):"",u=A.createDiv("image-converter-preview-path"),h=[l,k].filter(Boolean).join("/");if(u.createEl("div",{text:"Full path: ",cls:"image-converter-preview-label"}),u.createEl("div",{text:h||"No path specified",cls:"image-converter-preview-value"}),o&&a){let c=u.createEl("div",{cls:"image-converter-preview-component"});c.createEl("span",{text:"Folder: ",cls:"image-converter-preview-label"}),c.createEl("span",{text:l,cls:"image-converter-preview-value"});let d=u.createEl("div",{cls:"image-converter-preview-component"});d.createEl("span",{text:"Filename: ",cls:"image-converter-preview-label"}),d.createEl("span",{text:k,cls:"image-converter-preview-value"})}}else A.createEl("div",{text:"Enter a template to see preview",cls:"image-converter-preview-empty"});this.previewContainer&&(this.previewContainer.empty(),this.previewContainer.append(A))}catch(t){console.error("Preview generation error:",t),this.previewContainer&&(this.previewContainer.empty(),this.previewContainer.createEl("div",{text:"Error generating preview",cls:"image-converter-preview-error"}))}},150))};this.updateFolderPreview=async()=>{var t;if(!this.customFolderText)return;let e=this.customFolderText.getValue(),r=(t=this.customFolderSetting)==null?void 0:t.controlEl.querySelector(".image-converter-image-converter-preview-path");if(!e){r.empty();return}try{let n=this.app.workspace.getActiveFile(),f=this.app.vault.getFiles().find(A=>A.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)),o=n&&n.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)?n:f,a=await this.variableProcessor.processTemplate(e,{file:o,activeFile:n});r.setText(a)}catch(n){console.error("Preview generation error:",n),r.setText("Error generating preview")}};this.variableProcessor=f,this.selectedConversionPreset=this.plugin.getPresetByName(this.settings.selectedConversionPreset,this.settings.conversionPresets,"Conversion"),this.selectedFilenamePreset=this.plugin.getPresetByName(this.settings.selectedFilenamePreset,this.settings.filenamePresets,"Filename"),this.selectedFolderPreset=this.plugin.getPresetByName(this.settings.selectedFolderPreset,this.settings.folderPresets,"Folder"),this.selectedLinkFormatPreset=this.plugin.getPresetByName(this.settings.linkFormatSettings.selectedLinkFormatPreset,this.settings.linkFormatSettings.linkFormatPresets,"LinkFormat"),this.selectedResizePreset=this.plugin.getPresetByName(this.settings.nonDestructiveResizeSettings.selectedResizePreset,this.settings.nonDestructiveResizeSettings.resizePresets,"Resize")}onOpen(){let{contentEl:e}=this;e.empty(),e.addClass("image-converter-preset-selection-modal");let t=e.createDiv("image-converter-main-container").createDiv("image-converter-settings-column");t.createEl("h2",{text:"Image Processing"});let n=t.createDiv("image-converter-preset-section");n.createEl("h3",{text:""}),this.createGlobalPresetDropdown(n);let f=t.createDiv("image-converter-preset-section"),a=f.createDiv("image-converter-section-header").createDiv("image-converter-title-group");a.createEl("h3",{text:"File organization"}),new pi.ButtonComponent(a).setIcon("help-circle").setTooltip("Show available variables").setClass("image-converter-help-button").onClick(()=>this.showAvailableVariables()),f.createEl("p",{cls:"image-converter-section-description",text:"Some default presets are already pre-defined. You can create more presets in the main plugin settings window. After selecting custom made preset a new input field will show pre-filled with template from the preset which you can always manually overwrite."});let A=f.createDiv("image-converter-inputs-container"),l=A.createDiv("image-converter-input-group");this.folderPresetDropdown=this.createPresetDropdown(l,"Folder",this.settings.folderPresets,this.selectedFolderPreset,v=>{this.selectedFolderPreset=this.settings.folderPresets.find(w=>w.name===v)||this.settings.folderPresets[0],this.updatePreviews(),this.updateFolderInputFieldVisibility()}),this.customFolderSetting=new pi.Setting(l).addText(v=>(this.customFolderText=v,v.setPlaceholder("e.g., {YYYY}/{MM}/{notename}").setValue(this.selectedFolderPreset.customTemplate||"").onChange(()=>this.updatePreviews()),v.inputEl.setAttr("spellcheck","false"),v)),this.updateFolderInputFieldVisibility();let k=A.createDiv("image-converter-input-group");this.filenamePresetDropdown=this.createPresetDropdown(k,"Filename",this.settings.filenamePresets,this.selectedFilenamePreset,v=>{this.selectedFilenamePreset=this.settings.filenamePresets.find(w=>w.name===v)||this.settings.filenamePresets[0],this.customFilenameText&&this.customFilenameText.setValue(this.selectedFilenamePreset.customTemplate||""),this.updatePreviews(),this.updateFilenameInputFieldVisibility()}),this.customFilenameSetting=new pi.Setting(k).addText(v=>(this.customFilenameText=v,v.setPlaceholder("e.g., {imagename}-{timestamp}").setValue(this.selectedFilenamePreset.customTemplate||"").onChange(()=>this.updatePreviews()),v.inputEl.setAttr("spellcheck","false"),v)),this.updateFilenameInputFieldVisibility();let u=f.createDiv("image-converter-preview-section"),h=u.createDiv("image-converter-preview-header");h.createEl("span",{cls:"image-converter-preview-icon",text:""}),h.createEl("span",{text:"Path preview",cls:"image-converter-preview-title"}),this.previewContainer=u.createDiv("image-converter-modal-preview-container");let c=t.createDiv("image-converter-preset-section");c.createEl("h3",{text:"Image conversion"});let d=c.createDiv("image-converter-conversion-container");this.conversionPresetDropdown=this.createPresetDropdown(d,"Format",this.settings.conversionPresets,this.selectedConversionPreset,v=>{this.selectedConversionPreset=this.settings.conversionPresets.find(w=>w.name===v)||this.settings.conversionPresets[0],this.updateConversionSettings(d)}),this.updateConversionSettings(d);let b=t.createDiv("image-converter-preset-section");b.createEl("h3",{text:"Additional settings"}),this.linkFormatPresetDropdown=this.createPresetDropdown(b,"Link format",this.settings.linkFormatSettings.linkFormatPresets,this.selectedLinkFormatPreset,v=>{this.selectedLinkFormatPreset=this.settings.linkFormatSettings.linkFormatPresets.find(w=>w.name===v)||this.settings.linkFormatSettings.linkFormatPresets[0]}),this.resizePresetDropdown=this.createPresetDropdown(b,"Resize (non-destructive)",this.settings.nonDestructiveResizeSettings.resizePresets,this.selectedResizePreset,v=>{this.selectedResizePreset=this.settings.nonDestructiveResizeSettings.resizePresets.find(w=>w.name===v)||this.settings.nonDestructiveResizeSettings.resizePresets[0]});let g=t.createDiv("image-converter-action-section");new pi.Setting(g).addButton(v=>{v.setButtonText("Edit presets").onClick(()=>{this.close();let w=this.app.setting;w?(w.open(),w.openTabById(this.plugin.manifest.id)):new pi.Notice("Unable to open settings.")})}),new pi.Setting(g).addButton(v=>{v.setButtonText("Apply").setCta().onClick(()=>{this.onApply(this.selectedConversionPreset,this.selectedFilenamePreset,this.selectedFolderPreset,this.selectedLinkFormatPreset,this.selectedResizePreset),this.close()})})}createPresetDropdown(e,r,t,n,f){return new pi.Setting(e).setName(r).addDropdown(a=>{t.forEach(A=>{a.addOption(A.name,A.name)}),a.setValue(n.name),a.onChange(f)})}updateConversionSettings(e){let r=document.querySelector(".image-converter-conversion-quality-container");r&&r.remove(),this.conversionQualitySetting&&(this.conversionQualitySetting.settingEl.remove(),this.conversionQualitySetting=null),this.conversionColorDepthSetting&&(this.conversionColorDepthSetting.settingEl.remove(),this.conversionColorDepthSetting=null);let t=e.createDiv("image-converter-conversion-quality-container");this.conversionQualitySetting=new pi.Setting(t).setName("Quality").setDesc(`Current: ${this.selectedConversionPreset.quality}%`).addSlider(n=>{n.setLimits(0,100,1).setValue(this.selectedConversionPreset.quality).setDynamicTooltip().onChange(f=>{var o;this.selectedConversionPreset.quality=f,(o=this.conversionQualitySetting)==null||o.setDesc(`Current: ${f}%`)})}),this.selectedConversionPreset.outputFormat==="PNG"&&(this.conversionColorDepthSetting=new pi.Setting(t).setName("Color depth").setDesc(`Current: ${this.selectedConversionPreset.colorDepth*100}%`).addSlider(n=>{n.setLimits(0,1,.1).setValue(this.selectedConversionPreset.colorDepth).setDynamicTooltip().onChange(f=>{var o;this.selectedConversionPreset.colorDepth=f,(o=this.conversionColorDepthSetting)==null||o.setDesc(`Current: ${f*100}%`)})}))}createGlobalPresetDropdown(e){new pi.Setting(e).setName("Global preset").setDesc("Select a global preset to apply multiple settings at once").addDropdown(r=>{r.addOption("none","None"),this.settings.globalPresets.forEach(t=>{r.addOption(t.name,t.name)}),r.setValue(this.selectedGlobalPreset?this.selectedGlobalPreset.name:"none"),r.onChange(t=>{var f;t==="none"?(this.selectedGlobalPreset=null,this.selectedConversionPreset=this.settings.conversionPresets.find(o=>o.name===this.settings.selectedConversionPreset)||this.settings.conversionPresets[0],this.selectedFilenamePreset=this.settings.filenamePresets.find(o=>o.name===this.settings.selectedFilenamePreset)||this.settings.filenamePresets[0],this.selectedFolderPreset=this.settings.folderPresets.find(o=>o.name===this.settings.selectedFolderPreset)||this.settings.folderPresets[0],this.selectedLinkFormatPreset=this.settings.linkFormatSettings.linkFormatPresets.find(o=>o.name===this.settings.linkFormatSettings.selectedLinkFormatPreset)||this.settings.linkFormatSettings.linkFormatPresets[0],this.selectedResizePreset=this.settings.nonDestructiveResizeSettings.resizePresets.find(o=>o.name===this.settings.nonDestructiveResizeSettings.selectedResizePreset)||this.settings.nonDestructiveResizeSettings.resizePresets[0]):(this.selectedGlobalPreset=this.settings.globalPresets.find(o=>o.name===t)||null,this.selectedGlobalPreset&&(this.selectedConversionPreset=this.settings.conversionPresets.find(o=>o.name===this.selectedGlobalPreset.conversionPreset)||this.settings.conversionPresets[0],this.selectedFilenamePreset=this.settings.filenamePresets.find(o=>o.name===this.selectedGlobalPreset.filenamePreset)||this.settings.filenamePresets[0],this.selectedFolderPreset=this.settings.folderPresets.find(o=>o.name===this.selectedGlobalPreset.folderPreset)||this.settings.folderPresets[0],this.selectedLinkFormatPreset=this.settings.linkFormatSettings.linkFormatPresets.find(o=>o.name===this.selectedGlobalPreset.linkFormatPreset)||this.settings.linkFormatSettings.linkFormatPresets[0],this.selectedResizePreset=this.settings.nonDestructiveResizeSettings.resizePresets.find(o=>o.name===this.selectedGlobalPreset.resizePreset)||this.settings.nonDestructiveResizeSettings.resizePresets[0])),this.folderPresetDropdown.components[0].setValue(this.selectedFolderPreset.name),this.filenamePresetDropdown.components[0].setValue(this.selectedFilenamePreset.name),this.conversionPresetDropdown.components[0].setValue(this.selectedConversionPreset.name),this.linkFormatPresetDropdown.components[0].setValue(this.selectedLinkFormatPreset.name),this.resizePresetDropdown.components[0].setValue(this.selectedResizePreset.name);let n=(f=this.conversionPresetDropdown.settingEl.parentElement)==null?void 0:f.querySelector(".image-converter-conversion-quality-container");n&&this.updateConversionSettings(n),this.updateFilenameSettings(e),this.updateFolderPreview(),this.updateFolderInputFieldVisibility(),this.updateFilenameInputFieldVisibility()})})}updateFilenameSettings(e){this.customFilenameText&&this.customFilenameText.setValue(this.selectedFilenamePreset.customTemplate||"")}showAvailableVariables(){new Ar(this.app,this.variableProcessor).open()}updateFolderInputFieldVisibility(){this.customFolderSetting&&(this.selectedFolderPreset.type==="DEFAULT"||this.selectedFolderPreset.type==="ROOT"||this.selectedFolderPreset.type==="CURRENT"||this.selectedFolderPreset.type==="SUBFOLDER"?this.customFolderSetting.settingEl.hide():this.customFolderSetting.settingEl.show())}updateFilenameInputFieldVisibility(){this.customFilenameSetting&&(this.selectedFilenamePreset.name==="Keep original name"||this.selectedFilenamePreset.name==="NoteName-Timestamp"?this.customFilenameSetting.settingEl.hide():this.customFilenameSetting.settingEl.show())}onClose(){this.updateTimeout&&(window.clearTimeout(this.updateTimeout),this.updateTimeout=null),this.conversionQualitySetting=null,this.conversionColorDepthSetting=null,this.customFilenameSetting=null,this.customFilenameText=null,this.customFolderSetting=null,this.customFolderText=null,this.previewContainer=null;let{contentEl:e}=this;e.empty()}};var kn=class extends k0.Plugin{constructor(){super(...arguments);this.ImageAlignmentManager=null;this.imageResizer=null;this.processedImage=null;this.temporaryBuffers=[]}async onload(){await this.loadSettings(),this.addSettingTab(new it(this.app,this)),this.supportedImageFormats=new Dr(this.app),this.settings.enableImageCaptions&&(this.captionManager=new ln(this),this.register(()=>this.captionManager.cleanup())),this.settings.isImageAlignmentEnabled&&(this.ImageAlignmentManager=new nn(this.app,this,this.supportedImageFormats),await this.ImageAlignmentManager.initialize(),this.registerEvent(this.app.workspace.on("file-open",e=>{var r;e&&((r=this.ImageAlignmentManager)==null||r.applyAlignmentsToNote(e.path),this.settings.enableImageCaptions&&this.captionManager.refresh())}))),this.app.workspace.onLayoutReady(()=>{this.initializeComponents(),(this.settings.isImageAlignmentEnabled||this.settings.isImageResizeEnbaled)&&this.registerEvent(this.app.workspace.on("layout-change",()=>{var e,r;if(this.settings.isImageAlignmentEnabled){let t=this.app.workspace.getActiveFile();t&&((e=this.ImageAlignmentManager)==null||e.applyAlignmentsToNote(t.path))}if(this.settings.isImageResizeEnbaled){let t=this.app.workspace.getActiveViewOfType(k0.MarkdownView);t&&((r=this.imageResizer)==null||r.onLayoutChange(t))}this.settings.enableImageCaptions&&this.captionManager.refresh()}))})}async initializeComponents(){if(this.variableProcessor=new tt(this.app,this.settings),this.linkFormatter=new nt(this.app),this.imageProcessor=new rt(this.supportedImageFormats),this.settings.isImageResizeEnbaled){this.imageResizer=new fn(this);let e=this.app.workspace.getActiveViewOfType(k0.MarkdownView);e&&this.imageResizer.onload(e)}this.folderAndFilenameManagement=new Sr(this.app,this.settings,this.supportedImageFormats,this.variableProcessor),this.batchImageProcessor=new an(this.app,this,this.imageProcessor,this.folderAndFilenameManagement),this.settings.enableContextMenu&&(this.contextMenu=new en(this.app,this,this.folderAndFilenameManagement,this.variableProcessor)),this.dropPaste_registerEvents(),this.registerEvent(this.app.workspace.on("file-menu",(e,r)=>{r instanceof k0.TFile&&this.supportedImageFormats.isSupported(void 0,r.name)?e.addItem(t=>{t.setTitle("Process image").setIcon("cog").onClick(()=>{new $2(this.app,this,r).open()})}):r instanceof k0.TFolder?e.addItem(t=>{t.setTitle("Process all images in Folder").setIcon("cog").onClick(()=>{new sn(this.app,this,r.path,this.batchImageProcessor).open()})}):r instanceof k0.TFile&&(r.extension==="md"||r.extension==="canvas")&&e.addItem(t=>{t.setTitle(`Process all images in ${r.extension==="md"?"Note":"Canvas"}`).setIcon("cog").onClick(()=>{new Er(this.app,this,r,this.batchImageProcessor).open()})})})),this.addCommand({id:"process-all-vault-images",name:"Process all vault images",callback:()=>{new An(this.app,this,this.batchImageProcessor).open()}}),this.addCommand({id:"process-all-images-current-note",name:"Process all images in current note",callback:()=>{let e=this.app.workspace.getActiveFile();e?new Er(this.app,this,e,this.batchImageProcessor).open():new k0.Notice("Error: No active file found.")}}),this.addCommand({id:"open-image-converter-settings",name:"Open Image Converter Settings",callback:()=>this.command_openSettingsTab()}),this.addReloadCommand()}async onunload(){this.ImageAlignmentManager&&(this.ImageAlignmentManager.onunload(),this.ImageAlignmentManager=null),this.imageResizer&&(this.imageResizer.onunload(),this.imageResizer=null),this.contextMenu&&this.contextMenu.onunload(),[this.processSingleImageModal,this.processFolderModal,this.processCurrentNote,this.processAllVaultModal].forEach(e=>{e!=null&&e.close&&e.close()}),[this.processSingleImageModal,this.processFolderModal,this.processCurrentNote,this.processAllVaultModal].forEach(e=>{e!=null&&e.close&&e.close()}),document.body.classList.remove("image-captions-enabled")}async loadSettings(){this.settings=Object.assign({},Ci,await this.loadData())}async saveSettings(){await this.saveData(this.settings)}async command_openSettingsTab(){let e=this.app.setting;e?(await e.open(),e.openTabById(this.manifest.id)):new k0.Notice("Unable to open settings. Please check if the settings plugin is enabled.")}addReloadCommand(){this.addCommand({id:"reload-plugin",name:"Reload plugin",callback:async()=>{new k0.Notice("Reloading Image Converter plugin...");try{let e=this.app.plugins;if(e&&e.disablePlugin)await e.disablePlugin(this.manifest.id);else{console.error("Plugins API is not accessible."),new k0.Notice("Failed to reload plugin: Plugins API unavailable.");return}if(await new Promise(r=>setTimeout(r,500)),e&&e.enablePlugin)await e.enablePlugin(this.manifest.id);else{console.error("Plugins API is not accessible."),new k0.Notice("Failed to reload plugin: Plugins API unavailable.");return}new k0.Notice("Image Converter plugin reloaded!")}catch(e){console.error("Error reloading plugin:",e),new k0.Notice("Failed to reload plugin. See console for details.")}}})}dropPaste_registerEvents(){k0.Platform.isMobile||(this.registerEvent(this.app.workspace.on("editor-drop",async(e,r)=>{if(!e.dataTransfer){console.warn("DataTransfer object is null initially. Cannot process drop event.");return}let t=r.posAtMouse(e);if(!t){console.warn("Could not determine drop position");return}let n=[];for(let o=0;o<e.dataTransfer.files.length;o++){let a=e.dataTransfer.files[o];n.push({name:a.name,type:a.type,file:a})}n.some(o=>this.supportedImageFormats.isSupported(o.type,o.name)&&!this.folderAndFilenameManagement.matches_patterns(o.name,this.settings.neverProcessFilenames))&&(e.preventDefault(),await this.handleDrop(n,r,e,t))})),this.registerEvent(this.app.workspace.on("editor-paste",async(e,r)=>{if(!e.clipboardData){console.warn("ClipboardData object is null. Cannot process paste event.");return}let t=r.getCursor(),n=[];for(let o=0;o<e.clipboardData.items.length;o++){let a=e.clipboardData.items[o],A=a.kind==="file"?a.getAsFile():null;n.push({kind:a.kind,type:a.type,file:A})}n.some(o=>o.kind==="file"&&o.file&&this.supportedImageFormats.isSupported(o.type,o.file.name)&&!this.folderAndFilenameManagement.matches_patterns(o.file.name,this.settings.neverProcessFilenames))&&(e.preventDefault(),await this.handlePaste(n,r,t))})))}async handleDrop(e,r,t,n){let f=e.filter(A=>this.supportedImageFormats.isSupported(A.type,A.name)).map(A=>A.file);if(f.length===0)return;let o=this.app.workspace.getActiveFile();if(!o){new k0.Notice("No active file detected.");return}let a=f.map(async A=>{try{let l=this.settings.modalBehavior,k=l==="always";l==="ask"&&(k=await new Promise(y=>{new Ei(this.app,"Show Preset Selection Modal?","Do you want to select presets for this image?","Yes",()=>y(!0)).open()}));let u,h,c,d,b;k?{selectedConversionPreset:u,selectedFilenamePreset:h,selectedFolderPreset:c,selectedLinkFormatPreset:d,selectedResizePreset:b}=await new Promise(y=>{new Wr(this.app,this.settings,(Z,_,x,B,I)=>{y({selectedConversionPreset:Z,selectedFilenamePreset:_,selectedFolderPreset:x,selectedLinkFormatPreset:B,selectedResizePreset:I})},this,this.variableProcessor).open()}):(u=this.getPresetByName(this.settings.selectedConversionPreset,this.settings.conversionPresets,"Conversion"),h=this.getPresetByName(this.settings.selectedFilenamePreset,this.settings.filenamePresets,"Filename"),c=this.getPresetByName(this.settings.selectedFolderPreset,this.settings.folderPresets,"Folder"),d=this.getPresetByName(this.settings.linkFormatSettings.selectedLinkFormatPreset,this.settings.linkFormatSettings.linkFormatPresets,"Link Format"),b=this.getPresetByName(this.settings.nonDestructiveResizeSettings.selectedResizePreset,this.settings.nonDestructiveResizeSettings.resizePresets,"Resize"));let g,v;try{let y=await this.folderAndFilenameManagement.determineDestination(A,o,u,h,c);g=y.destinationPath,v=y.newFilename}catch(y){console.error("Error determining destination and filename:",y),new k0.Notice(`Failed to determine destination or filename for "${A.name}". Check console for details.`);return}try{await this.folderAndFilenameManagement.ensureFolderExists(g)}catch(y){if(!y.message.startsWith("Folder already exists")){console.error("Error creating folder:",y),new k0.Notice(`Failed to create folder "${g}". Check console for details.`);return}}let w=`${g}/${v}`,p=this.app.vault.getAbstractFileByPath(w),m=!1;if(h&&this.folderAndFilenameManagement.should_skip_rename(A.name,h))new k0.Notice(`Skipped renaming/conversion of image "${A.name}" due to skip pattern match.`),m=!0;else if(h&&h.conflictResolution==="increment")try{v=await this.folderAndFilenameManagement.handleNameConflicts(g,v,"increment"),p=this.app.vault.getAbstractFileByPath(`${g}/${v}`)}catch(y){console.error("Error handling filename conflicts:",y),new k0.Notice(`Error incrementing filename for "${A.name}". Check console for details.`);return}let C=this.folderAndFilenameManagement.combinePath(g,v);if(m)p&&this.insertLinkAtCursorPosition(r,p.path,n,d,b);else{if(p&&h&&h.conflictResolution==="reuse"){this.insertLinkAtCursorPosition(r,p.path,n,d,b);return}if(u&&this.folderAndFilenameManagement.should_skip_conversion(A.name,u)){new k0.Notice(`Skipped conversion of image "${A.name}" due to skip pattern match in the conversion preset.`);let y=await A.arrayBuffer(),Z=await this.app.vault.createBinary(C,y);if(!Z){new k0.Notice(`Failed to create file "${v}". Check console for details.`);return}this.insertLinkAtCursorPosition(r,Z.path,n,d,b)}else try{let y=A.size;this.processedImage=await this.imageProcessor.processImage(A,u?u.outputFormat:this.settings.outputFormat,u?u.quality/100:this.settings.quality/100,u?u.colorDepth:this.settings.colorDepth,u?u.resizeMode:this.settings.resizeMode,u?u.desiredWidth:this.settings.desiredWidth,u?u.desiredHeight:this.settings.desiredHeight,u?u.desiredLongestEdge:this.settings.desiredLongestEdge,u?u.enlargeOrReduce:this.settings.enlargeOrReduce,u?u.allowLargerFiles:this.settings.allowLargerFiles,u,this.settings);let Z;if(this.settings.revertToOriginalIfLarger&&this.processedImage.byteLength>y){this.showSizeComparisonNotification(y,this.processedImage.byteLength),new k0.Notice(`Using original image for "${A.name}" as processed image is larger.`);let _=await A.arrayBuffer();Z=await this.app.vault.createBinary(C,_)}else this.showSizeComparisonNotification(y,this.processedImage.byteLength),Z=await this.app.vault.createBinary(C,this.processedImage);await this.insertLinkAtCursorPosition(r,Z.path,n,d,b)}catch(y){console.error("Image processing failed:",y),y instanceof Error?y.message.includes("File already exists")?new k0.Notice(`Failed to process image: File "${v}" already exists.`):y.message.includes("Invalid input file type")?new k0.Notice(`Failed to process image: Invalid input file type for "${A.name}".`):new k0.Notice(`Failed to process image "${A.name}": ${y.message}. Check console for details.`):new k0.Notice(`Failed to process image "${A.name}". Check console for details.`);return}finally{this.clearMemory()}}}catch(l){console.error("An unexpected error occurred:",l),new k0.Notice("An unexpected error occurred. Check console for details.")}});await Promise.all(a),this.settings.enableImageCaptions&&this.captionManager.refresh()}async handlePaste(e,r,t){let n=e.filter(a=>a.kind==="file"&&a.file&&this.supportedImageFormats.isSupported(a.type,a.file.name)).map(a=>a.file).filter(a=>a!==null);if(n.length===0)return;let f=this.app.workspace.getActiveFile();if(!f){new k0.Notice("No active file found!");return}let o=n.map(async a=>{let A=this.settings.modalBehavior,l=A==="always";A==="ask"&&(l=await new Promise(b=>{new Ei(this.app,"Show Preset Selection Modal?","Do you want to select presets for this image?","Yes",()=>b(!0)).open()}));let k,u,h,c,d;l?{selectedConversionPreset:k,selectedFilenamePreset:u,selectedFolderPreset:h,selectedLinkFormatPreset:c,selectedResizePreset:d}=await new Promise(b=>{new Wr(this.app,this.settings,(g,v,w,p,m)=>{b({selectedConversionPreset:g,selectedFilenamePreset:v,selectedFolderPreset:w,selectedLinkFormatPreset:p,selectedResizePreset:m})},this,this.variableProcessor).open()}):(k=this.getPresetByName(this.settings.selectedConversionPreset,this.settings.conversionPresets,"Conversion"),u=this.getPresetByName(this.settings.selectedFilenamePreset,this.settings.filenamePresets,"Filename"),h=this.getPresetByName(this.settings.selectedFolderPreset,this.settings.folderPresets,"Folder"),c=this.getPresetByName(this.settings.linkFormatSettings.selectedLinkFormatPreset,this.settings.linkFormatSettings.linkFormatPresets,"Link Format"),d=this.getPresetByName(this.settings.nonDestructiveResizeSettings.selectedResizePreset,this.settings.nonDestructiveResizeSettings.resizePresets,"Resize"));try{let b,g;try{let C=await this.folderAndFilenameManagement.determineDestination(a,f,k,u,h);b=C.destinationPath,g=C.newFilename}catch(C){console.error("Error determining destination and filename:",C),new k0.Notice(`Failed to determine destination or filename for "${a.name}". Check console for details.`);return}try{await this.folderAndFilenameManagement.ensureFolderExists(b)}catch(C){if(!C.message.startsWith("Folder already exists")){console.error("Error creating folder:",C),new k0.Notice(`Failed to create folder: ${b}`);return}}let v=`${b}/${g}`,w=this.app.vault.getAbstractFileByPath(v),p=!1;if(u&&this.folderAndFilenameManagement.should_skip_rename(a.name,u))new k0.Notice(`Skipped renaming/conversion of image "${a.name}" due to skip pattern match.`),p=!0;else if(u&&u.conflictResolution==="increment")try{g=await this.folderAndFilenameManagement.handleNameConflicts(b,g,"increment"),w=this.app.vault.getAbstractFileByPath(`${b}/${g}`)}catch(C){console.error("Error handling filename conflicts:",C),new k0.Notice(`Error incrementing filename for "${a.name}". Check console for details.`);return}let m=this.folderAndFilenameManagement.combinePath(b,g);if(p)w&&this.insertLinkAtCursorPosition(r,w.path,t,c,d);else{if(w&&u&&u.conflictResolution==="reuse"){this.insertLinkAtCursorPosition(r,w.path,t,c,d);return}if(k&&this.folderAndFilenameManagement.should_skip_conversion(a.name,k)){new k0.Notice(`Skipped conversion of image "${a.name}" due to skip pattern match in the conversion preset.`);let C=await a.arrayBuffer(),y=await this.app.vault.createBinary(m,C);if(!y){new k0.Notice(`Failed to create file: ${g}`);return}this.insertLinkAtCursorPosition(r,y.path,t,c,d)}else try{let C=a.size;this.processedImage=await this.imageProcessor.processImage(a,k?k.outputFormat:this.settings.outputFormat,k?k.quality/100:this.settings.quality/100,k?k.colorDepth:this.settings.colorDepth,k?k.resizeMode:this.settings.resizeMode,k?k.desiredWidth:this.settings.desiredWidth,k?k.desiredHeight:this.settings.desiredHeight,k?k.desiredLongestEdge:this.settings.desiredLongestEdge,k?k.enlargeOrReduce:this.settings.enlargeOrReduce,k?k.allowLargerFiles:this.settings.allowLargerFiles,k,this.settings);let y;if(this.settings.revertToOriginalIfLarger&&this.processedImage.byteLength>C){this.showSizeComparisonNotification(C,this.processedImage.byteLength),new k0.Notice(`Using original image for "${a.name}" as processed image is larger.`);let Z=await a.arrayBuffer();y=await this.app.vault.createBinary(m,Z)}else this.showSizeComparisonNotification(C,this.processedImage.byteLength),y=await this.app.vault.createBinary(m,this.processedImage);if(!y){new k0.Notice(`Failed to create file "${g}". Check console for details.`);return}this.insertLinkAtCursorPosition(r,y.path,t,c,d)}catch(C){console.error("Image processing failed:",C),C instanceof Error?C.message.includes("File already exists")?new k0.Notice(`Failed to process image: File "${g}" already exists.`):C.message.includes("Invalid input file type")?new k0.Notice(`Failed to process image: Invalid input file type for "${a.name}".`):new k0.Notice(`Failed to process image "${a.name}": ${C.message}. Check console for details.`):new k0.Notice(`Failed to process image "${a.name}". Check console for details.`);return}}}catch(b){console.error("An unexpected error occurred:",b),new k0.Notice("An unexpected error occurred. Check console for details.")}finally{this.clearMemory()}});await Promise.all(o),this.settings.enableImageCaptions&&this.captionManager.refresh()}async insertLinkAtCursorPosition(e,r,t,n,f){let o=this.app.workspace.getActiveFile(),a=n||this.settings.linkFormatSettings.linkFormatPresets.find(k=>k.name===this.settings.linkFormatSettings.selectedLinkFormatPreset),A=f||this.settings.nonDestructiveResizeSettings.resizePresets.find(k=>k.name===this.settings.nonDestructiveResizeSettings.selectedResizePreset),l=await this.linkFormatter.formatLink(r,(a==null?void 0:a.linkFormat)||"wikilink",(a==null?void 0:a.pathFormat)||"shortest",o,A);e.replaceRange(l,t),this.settings.dropPasteCursorLocation==="back"&&e.setCursor({line:t.line,ch:t.ch+l.length})}formatFileSize(e){return e<1024?`${e} bytes`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}showSizeComparisonNotification(e,r){if(!this.settings.showSpaceSavedNotification)return;let t=this.formatFileSize(e),n=this.formatFileSize(r),f=((r-e)/e*100).toFixed(1),o=r>e?"+":"",a=`${t} \u2192 ${n} (${o}${f}%)`;new k0.Notice(a)}getPresetByName(e,r,t){let n=r.find(f=>f.name===e);return n||(console.warn(`${t} preset "${e}" not found, using default`),r[0])}clearMemory(){this.processedImage&&(this.processedImage=null),this.temporaryBuffers&&(this.temporaryBuffers.forEach(e=>{e=null}),this.temporaryBuffers=[])}};
|
|
/*! Bundled license information:
|
|
|
|
sortablejs/modular/sortable.esm.js:
|
|
(**!
|
|
* Sortable 1.15.6
|
|
* @author RubaXa <trash@rubaxa.org>
|
|
* @author owenm <owen23355@gmail.com>
|
|
* @license MIT
|
|
*)
|
|
*/
|
|
|
|
/* nosourcemap */ |