pdfjs-dist
Version:
Generic build of Mozilla's PDF.js library.
2 lines • 338 kB
JavaScript
/* THIS FILE IS GENERATED - DO NOT EDIT */
export default function A(A){for(var f,e=new Uint8Array(123),i=25;i>=0;--i)e[48+i]=52+i,e[65+i]=i,e[97+i]=26+i;function r(A,f,i){for(var r,b,a=0,k=f,B=i.length,l=f+(3*B>>2)-("="==i[B-2])-("="==i[B-1]);a<B;a+=4)r=e[i.charCodeAt(a+1)],b=e[i.charCodeAt(a+2)],A[k++]=e[i.charCodeAt(a)]<<2|r>>4,k<l&&(A[k++]=r<<4|b>>2),k<l&&(A[k++]=b<<6|e[i.charCodeAt(a+3)]);return A}e[43]=62,e[47]=63;var b=new ArrayBuffer(16),a=new Int32Array(b),k=(new Float32Array(b),new Float64Array(b));function B(A,f){a[A]=f}function l(){return k[0]}function g(A,e,i){if((A>>>=0)+(i>>>=0)>f.length)throw"trap: invalid memory.fill";f.fill(e,A,A+i)}function o(A,e,i){f.copyWithin(A,e,e+i)}function c(){throw new Error("abort")}return function(A){var e=new ArrayBuffer(16777216),i=new Int8Array(e),b=new Int16Array(e),a=new Int32Array(e),k=new Uint8Array(e),I=new Uint16Array(e),n=new Uint32Array(e),s=new Float32Array(e),G=new Float64Array(e),C=Math.imul,Z=Math.fround,u=(Math.abs,Math.clz32),Q=(Math.min,Math.max,Math.floor),t=Math.ceil,W=(Math.trunc,Math.sqrt,A.a),w=W.a,V=W.b,Y=W.c,H=W.e,F=W.f,v=W.g,m=W.h,E=W.d,y=94048,R=0,J=0,X=0;function d(A,f,e,r){var b,k=0,B=0,l=0;y=b=y-528|0;A:if(A){f:{e:switch(f-1|0){case 0:f=A+12|0;break f;case 1:f=A+16|0,A=A+4|0;break f;case 3:break e;default:break A}f=A+20|0,A=A+8|0}!(f=a[f>>2])|!e||(l=a[A>>2],g(b,0,512),a[b+524>>2]=r,y=A=y-160|0,o(B=A+8|0,25760,144),a[A+52>>2]=b,a[A+28>>2]=b,k=(k=-2-b|0)>>>0>512?512:k,a[A+56>>2]=k,k=b+k|0,a[A+36>>2]=k,a[A+24>>2]=k,Uf(B,e,r),-2!=(0|b)&&(e=a[A+28>>2],i[e-((0|e)==a[A+24>>2])|0]=0),y=A+160|0,i[b+511|0]=0,Ge[0|f](b,l))}y=b+528|0}function U(A){var f=0,e=0,i=0,r=0,b=0;(A|=0)&&(e=b=a[(f=A-4|0)>>2],i=f,(0|(A=-2&(r=a[A-8>>2])))!=(0|r)&&(e=a[(i=f-A|0)+4>>2],r=a[i+8>>2],a[e+8>>2]=r,a[r+4>>2]=e,e=A+b|0),(0|(f=a[(A=f+b|0)>>2]))!=a[(A+f|0)-4>>2]&&(b=a[A+4>>2],A=a[A+8>>2],a[b+8>>2]=A,a[A+4>>2]=b,e=f+e|0),a[i>>2]=e,a[((-4&e)+i|0)-4>>2]=1|e,(f=a[i>>2]-8|0)>>>0<=127?A=(f>>>3|0)-1|0:(A=110+((f>>>29-(e=u(f))^4)-(e<<2)|0)|0,f>>>0<=4095||(A=(A=71+((f>>>30-e^2)-(e<<1)|0)|0)>>>0>=63?63:A)),f=A<<4,a[i+4>>2]=f+27456,f=f+27464|0,a[i+8>>2]=a[f>>2],a[f>>2]=i,a[a[i+8>>2]+4>>2]=i,f=a[7122],e=a[7123],i=31&A,(63&A)>>>0>=32?(A=1<<i,r=0):A=(r=1<<i)-1&1>>>32-i,a[7122]=r|f,a[7123]=A|e)}function h(A,f,e){var r=0;for(a[f>>2]=0,f=f+e|0;(0|e)!=(0|r);)i[0|(f=f-1|0)]=k[0|A],r=r+1|0,A=A+1|0}function D(A,f){return!A|!f?A=0:(A=cA(8,f=C(A,f)))&&Nf(A,0,f),A}function M(A){return A?zA(A):0}function S(A,f,e,i){return f>>>(f=C(i,3))+19&1|A>>>f&170|e>>>f+17&4|A>>>f+16&64|A>>>(i?f+12|0:14)&16}function N(A){return Wf(16,A)}function p(A,f){var e=0,i=0,r=0,b=0,k=0,B=0,l=0,g=0;if(!f)return 0;A:if(A){if(!(f>>>0>4294967239)){i=(B=f>>>0<=8?8:f+3&-4)+8|0,r=a[(b=g=A-4|0)>>2];f:e:{i:{if((0|(e=a[(f=r+b|0)>>2]))!=a[(f+e|0)-4>>2]){if((e=e+r|0)>>>0>=i+16>>>0){r=a[f+4>>2],f=a[f+8>>2],a[r+8>>2]=f,a[f+4>>2]=r,e=e-i|0,a[(f=i+b|0)>>2]=e,a[(f+(-4&e)|0)-4>>2]=1|e,(r=a[f>>2]-8|0)>>>0<=127?k=(r>>>3|0)-1|0:(k=110+((r>>>29-(e=u(r))^4)-(e<<2)|0)|0,r>>>0<=4095||(k=(e=71+((r>>>30-e^2)-(e<<1)|0)|0)>>>0>=63?63:e)),r=(e=k)<<4,a[f+4>>2]=r+27456,r=r+27464|0,a[f+8>>2]=a[r>>2],a[r>>2]=f,a[a[f+8>>2]+4>>2]=f,r=a[7123],f=31&e,(63&e)>>>0>=32?(e=1<<f,k=0):e=(k=1<<f)-1&1>>>32-f,a[7122]=k|a[7122],a[7123]=e|r,a[b>>2]=i,a[(b+(-4&i)|0)-4>>2]=i,e=1;break f}if(e>>>0<i>>>0)break i;i=a[f+4>>2],f=a[f+8>>2],a[i+8>>2]=f,a[f+4>>2]=i,a[b>>2]=e,a[(b+(-4&e)|0)-4>>2]=e,e=1;break f}if(r>>>0>=i+16>>>0){a[b>>2]=i,a[(b+(-4&i)|0)-4>>2]=i,e=r-i|0,a[(f=i+b|0)>>2]=e,a[(f+(-4&e)|0)-4>>2]=1|e,(i=a[f>>2]-8|0)>>>0<=127?e=(i>>>3|0)-1|0:(e=110+((i>>>29-(b=u(i))^4)-(b<<2)|0)|0,i>>>0<=4095||(e=(e=71+((i>>>30-b^2)-(b<<1)|0)|0)>>>0>=63?63:e)),i=e<<4,a[f+4>>2]=i+27456,i=i+27464|0,a[f+8>>2]=a[i>>2],a[i>>2]=f,a[a[f+8>>2]+4>>2]=f,i=a[7123],f=31&e,(63&e)>>>0>=32?(e=1<<f,f=0):(e=(r=1<<f)-1&1>>>32-f,f=r),a[7122]=f|a[7122],a[7123]=e|i,e=1;break f}if(e=1,i>>>0<=r>>>0)break e}e=0}if(e)break A;(f=cA(8,B))&&(aA(f,A,B>>>0<(l=a[g>>2]-8|0)>>>0?B:l),U(A),l=f)}A=l}else A=cA(8,f);return A}function K(A,f,e,i){var r=0,b=0,B=0,l=0,g=0,c=0;if((l=a[A+48>>2])>>>0>=e>>>0)return e&&o(f,a[A+36>>2],e),a[A+36>>2]=a[A+36>>2]+e,a[A+48>>2]=a[A+48>>2]-e,f=a[A+60>>2],f=(i=a[A+56>>2]+e|0)>>>0<e>>>0?f+1|0:f,a[A+56>>2]=i,a[A+60>>2]=f,e;if(4&k[A+68|0])return l&&o(f,a[A+36>>2],l),f=a[A+48>>2],a[A+48>>2]=0,a[A+36>>2]=f+a[A+36>>2],B=a[A+60>>2],B=(e=f)>>>0>(f=a[A+56>>2]+f|0)>>>0?B+1|0:B,a[A+56>>2]=f,a[A+60>>2]=B,l||-1;l?(l&&o(f,a[A+36>>2],l),g=a[A+32>>2],a[A+36>>2]=g,r=a[A+48>>2],a[A+48>>2]=0,b=a[A+60>>2],b=(B=a[A+56>>2]+r|0)>>>0<r>>>0?b+1|0:b,a[A+56>>2]=B,a[A+60>>2]=b,e=e-r|0,f=f+r|0):(g=a[A+32>>2],a[A+36>>2]=g);A:{for(;;){f:{r=a[A>>2],b=a[A+16>>2];e:{if((B=a[A+64>>2])>>>0>e>>>0){if(b=0|Ge[0|b](g,B,r),a[A+48>>2]=b,-1==(0|b))break A;if(e>>>0>b>>>0){b&&o(f,a[A+36>>2],b),g=a[A+32>>2],a[A+36>>2]=g,r=a[A+48>>2];break e}return e&&o(f,a[A+36>>2],e),a[A+36>>2]=a[A+36>>2]+e,a[A+48>>2]=a[A+48>>2]-e,f=a[A+60>>2],f=(i=a[A+56>>2]+e|0)>>>0<e>>>0?f+1|0:f,a[A+56>>2]=i,a[A+60>>2]=f,e+l|0}if(r=0|Ge[0|b](f,e,r),a[A+48>>2]=r,-1==(0|r))break A;if(e>>>0<=r>>>0)break f;g=a[A+32>>2],a[A+36>>2]=g,b=r}a[A+48>>2]=0,B=a[A+60>>2],B=(c=a[A+56>>2]+r|0)>>>0<r>>>0?B+1|0:B,a[A+56>>2]=c,a[A+60>>2]=B,f=f+r|0,e=e-r|0,l=b+l|0;continue}break}return a[A+48>>2]=0,a[A+36>>2]=a[A+32>>2],b=a[A+60>>2],b=(f=a[A+56>>2]+r|0)>>>0<r>>>0?b+1|0:b,a[A+56>>2]=f,a[A+60>>2]=b,r+l|0}return d(i,4,15624,0),a[A+48>>2]=0,a[A+68>>2]=4|a[A+68>>2],l||-1}function z(A){return n[A+16>>2]>31||(MA(A),n[A+16>>2]>31||MA(A)),a[A+8>>2]}function x(A,f,e,i,r,b,a,k){Zf(A,f,e,i,r,b,a,k,1)}function j(A){if(a[A+12>>2])for(a[A+40>>2]=0;a[A+24>>2]>0;);}function P(A){var f,e,i,r=0;return i=r=a[A+12>>2],r|(f=a[A+8>>2])?(r=f-(e=a[A+56>>2])|0,X=i-(a[A+60>>2]+(f>>>0<e>>>0)|0)|0,r):(X=0,0)}function T(A,f){for(var e=0,i=0;(0|f)>0;)(e=a[A+16>>2])||(Hf(A),e=a[A+16>>2]),e=e-1|0,a[A+16>>2]=e,f=f-1|0,i=(a[A+12>>2]>>>e&1)<<f|i;return i}function L(A){var f=0,e=0;if(A){if(a[A+24>>2]){for(;e=a[A+24>>2],!(n[A+16>>2]<=f>>>0);)(e=a[44+(e+C(f,52)|0)>>2])&&U(e),f=f+1|0;U(e)}(f=a[A+28>>2])&&U(f),U(A)}}function O(A){var f=0,e=0,i=0,r=0,b=0,k=0,B=0,l=0,g=0,o=0,c=0;A:{f:{if(!a[A+12>>2]){if(i=1,a[A+4>>2]>0|a[A+8>>2]>1)break f;break A}if(f=1,!(a[A+8>>2]>0)&&a[A+4>>2]<2)break A}nf(r=(e=a[A>>2])+(f<<5)|0,b=a[A+16>>2],k=a[A+20>>2],Z(1.2301740646362305)),nf(e=e+(i<<5)|0,B=a[A+24>>2],l=a[A+28>>2],Z(1.625732421875)),o=r+32|0,g=a[A+8>>2],uA(e,o,b,k,f=(0|(f=(A=a[A+4>>2])-f|0))>(0|g)?g:f,Z(-.4435068666934967)),uA(r,c=e+32|0,B,l,A=(0|A)<(0|(i=g-i|0))?A:i,Z(-.8829110860824585)),uA(e,o,b,k,f,Z(.05298011749982834)),uA(r,c,B,l,A,Z(1.5861343145370483))}}function q(A){var f=0,e=0;if(A){for(;f=a[A+24>>2],!(C(a[A+20>>2],a[A+16>>2])>>>0<=e>>>0);)(f=a[f+(e<<2)>>2])&&U(f),e=e+1|0;U(f),U(A)}}function $(A,f,e){var i=0,r=0;A:{if((0|(i=a[A>>2]))==(0|(r=a[A+4>>2]))){if(i=r+10|0,a[A+4>>2]=i,!(r=p(a[A+8>>2],i<<2)))break A;a[A+8>>2]=r,i=a[A>>2]}else r=a[A+8>>2];return a[(i<<2)+r>>2]=f,a[A>>2]=i+1,1}return U(a[A+8>>2]),a[A>>2]=0,a[A+4>>2]=0,d(e,1,6117,0),0}function _(A,f,e,i,r){var b;if(y=b=y-256|0,!(73728&r|(0|e)<=(0|i))){if(Nf(b,f,(e=(i=e-i|0)>>>0<256)?i:256),!e)for(;bA(A,b,256),(i=i-256|0)>>>0>255;);bA(A,b,i)}y=b+256|0}function AA(A,f,e,i){f|=0,e|=0,i|=0;var r;return a[(A|=0)+48>>2]=0,a[A+36>>2]=a[A+32>>2],r=0|Ge[a[A+28>>2]](f,e,a[A>>2]),i=a[A+68>>2],r?(a[A+56>>2]=f,a[A+60>>2]=e,a[A+68>>2]=-5&i,1):(a[A+68>>2]=4|i,0)}function fA(A,f,e){a[28+((f<<2)+A|0)>>2]=20816+(e<<5)}function eA(A){var f=0,e=0,i=0,r=0,b=0,B=0,l=0,g=0,o=0,c=0,I=0;A:if(!(e=a[A+32>>2])){if((0|(r=a[A+16>>2]))>5)i=r;else{f:{if((0|(b=a[A+20>>2]))>=5)i=a[A>>2],f=a[i>>2],a[A>>2]=i+4,i=b-4|0;else{if(f=-1,(0|b)<=0)break f;for(e=0,i=b;(0|i)>=2;)B=a[A>>2],a[A>>2]=B+1,B=k[0|B],i=i-1|0,a[A+20>>2]=i,f=~(255<<e)&f|B<<e,e=e+8|0;i=a[A>>2],a[A>>2]=i+1,f=(e=15|k[0|i])<<(i=(b<<3)-8|0)|~(255<<i)&f,i=0}a[A+20>>2]=i}i=a[A+24>>2],b=f>>>24|0,a[A+24>>2]=255==(0|b),i=32+(r-(c=((B=255==(0|(e=f>>>8&255)))+(i+(g=255==(0|(l=255&f)))|0)|0)+(o=255==(0|(f=f>>>16&255)))|0)|0)|0,a[A+16>>2]=i,I=a[A+12>>2],b|=(f|(l<<(g?7:8)|e)<<(B?7:8))<<(o?7:8),e=31&(r=32+(c-r|0)|0),(63&r)>>>0>=32?(r=b<<e,b=0):(r=(1<<e)-1&b>>>32-e,b<<=e),a[A+8>>2]=b|a[A+8>>2],a[A+12>>2]=r|I}for(e=0;;){if((0|i)<6|e>>>0>7)break A;l=a[A+28>>2],f=a[20736+(l<<2)>>2],r=a[A+8>>2],(0|(b=a[A+12>>2]))<0?(B=~(-1<<f)<<1,f=1,l=((0|l)>=11?11:l)+1|0,i=i-1|0):(o=r,B=31&(g=63-f|0),B=((B=(63&g)>>>0>=32?b>>>B|0:((1<<B)-1&b)<<32-B|o>>>B)&~(-1<<f))<<1|1,l=((0|l)<=1?1:l)-1|0,i=i-(f=f+1|0)|0),a[A+16>>2]=i,a[A+28>>2]=l,g=r,l=31&f,(63&f)>>>0>=32?(f=r<<l,r=0):(f=(1<<l)-1&g>>>32-l|b<<l,r=g<<l),a[A+8>>2]=r,a[A+12>>2]=f,b=e+1|0,a[A+32>>2]=b,l=a[A+44>>2],r=31&(e=C(e,7)),g=a[A+40>>2],(63&e)>>>0>=32?(f=63<<r,r=0):(f=(1<<r)-1&63>>>32-r,r=63<<r),g&=-1^r,o=(-1^f)&l,f=B>>31,l=B,B=31&e,r=A,(63&e)>>>0>=32?(f=l<<B,e=0):(f=(1<<B)-1&l>>>32-B|f<<B,e=l<<B),a[A+40>>2]=e|g,a[r+44>>2]=f|o,e=b}}return a[A+32>>2]=e-1,e=(b=a[A+44>>2])>>>7|0,i=a[A+40>>2],a[A+40>>2]=(127&b)<<25|i>>>7,a[A+44>>2]=e,127&i}function iA(A,f,e,i,r,b,k,B,l,g,o){var c,I=0,n=0;c=1&e,A=a[A+20>>2]+(f?0-f|0:-1)|0,B&&(I=B,f=i,A&&(f=0,(B=c<<A-1)>>>0>=i>>>0||(n=i-B|0,i=31&A,(63&A)>>>0>=32?(f=-1<<i,i=0):(f=(1<<i)-1&-1>>>32-i,f|=i=-1<<i),f^=-1,f=(i=n+(B=-1^i)|0)>>>0<B>>>0?f+1|0:f,B=i,i=31&A,f=(63&A)>>>0>=32?f>>>i|0:((1<<i)-1&f)<<32-i|B>>>i)),a[I>>2]=f),i=e>>>1|0,l&&(f=r,A&&(f=0,(e=i<<A-1)>>>0>=r>>>0||(f=31&A,r=r-e|0,(63&A)>>>0>=32?(e=-1<<f,f=0):(e=(1<<f)-1&-1>>>32-f,e|=f=-1<<f),B=-1^f,f=-1^e,f=(r=r+B|0)>>>0<B>>>0?f+1|0:f,e=31&A,f=(63&A)>>>0>=32?f>>>e|0:((1<<e)-1&f)<<32-e|r>>>e)),a[l>>2]=f),g&&(f=b,A&&(f=0,(e=c<<A-1)>>>0>=b>>>0||(b=b-e|0,e=31&A,(63&A)>>>0>=32?(f=-1<<e,e=0):(f=(1<<e)-1&-1>>>32-e,f|=e=-1<<e),f^=-1,f=(e=b+(r=-1^e)|0)>>>0<r>>>0?f+1|0:f,r=e,e=31&A,f=(63&A)>>>0>=32?f>>>e|0:((1<<e)-1&f)<<32-e|r>>>e)),a[g>>2]=f),o&&(f=k,A&&(f=0,(e=i<<A-1)>>>0>=k>>>0||(r=k-e|0,e=31&A,(63&A)>>>0>=32?(f=-1<<e,e=0):(f=(1<<e)-1&-1>>>32-e,f|=e=-1<<e),f^=-1,f=(e=r+(i=-1^e)|0)>>>0<i>>>0?f+1|0:f,i=e,e=31&A,f=(63&A)>>>0>=32?f>>>e|0:((1<<e)-1&f)<<32-e|i>>>e)),a[o>>2]=f)}function rA(A,f,e,i,r,b,a,k){return Zf(A,f,e,i,r,b,a,k,0)}function bA(A,f,e){var i=0,r=0,b=0;if(!(32&k[0|A]))A:{if(!(i=a[A+16>>2])){if(Mf(A))break A;i=a[A+16>>2]}if(i-(r=a[A+20>>2])>>>0<e>>>0)Ge[a[A+36>>2]](A,f,e);else{f:{e:if(!(!e|a[A+80>>2]<0)){for(i=e;;){if(10!=k[(b=f+i|0)-1|0]){if(i=i-1|0)continue;break e}break}if(Ge[a[A+36>>2]](A,f,i)>>>0<i>>>0)break A;e=e-i|0,r=a[A+20>>2];break f}b=f}aA(r,b,e),a[A+20>>2]=a[A+20>>2]+e}}}function aA(A,f,e){e&&o(A,f,e)}function kA(A,f,e,i){var r,b=0,k=0,B=0;for(r=a[f>>2],k=a[f+8>>2],b=1;(0|B)!=(0|r);)b=b?!!(0|Ge[a[k>>2]](A,e,i)):0,B=B+1|0,k=k+4|0;return a[f>>2]=0,b}function BA(A,f){var e=0,i=0,r=0,b=0,k=0;if(A){for((e=a[A+4>>2])&&(U(e),a[A+4>>2]=0),e=A;(0|f)!=(0|b);){if(i=a[e+200>>2]){for(r=0;n[e+196>>2]>r>>>0;)(k=a[i+12>>2])&&(U(k),a[i+12>>2]=0),r=r+1|0,i=i+16|0;U(a[e+200>>2]),a[e+200>>2]=0}b=b+1|0,e=e+240|0}U(A)}}function lA(A,f,e,i,r){var b=0,k=0;r=C(r,3),(a[f>>2]&2097168<<r)==16<<r&&(b=0-i|0,k=DA(A),A=a[e>>2],a[e>>2]=((0|k)==(A>>>31|0)?b:i)+A,a[f>>2]=a[f>>2]|1048576<<r)}function gA(A,f,e,i,r,b){var k,B=0,l=0;k=C(b,3),2097168&(B=a[f>>2]>>>k|0)|!(495&B)||(DA(A)&&(B=e,l=0-i|0,e=DA(A),a[B>>2]=e?l:i,i=a[A+124>>2]+2|0,a[(A=f-4|0)>>2]=a[A>>2]|32<<k,a[f+4>>2]=a[f+4>>2]|8<<k,a[f>>2]=a[f>>2]|(e<<19|16)<<k,r|b||(a[(A=f-(i<<2)|0)+4>>2]=32768|a[A+4>>2],a[A>>2]=a[A>>2]|e<<31|65536,a[(A=A-4|0)>>2]=131072|a[A>>2]),3==(0|b)&&(a[(A=(i<<2)+f|0)+4>>2]=1|a[A+4>>2],a[A>>2]=a[A>>2]|e<<18|2,a[(A=A-4|0)>>2]=4|a[A>>2])),a[f>>2]=a[f>>2]|2097152<<k)}function oA(A,f,e){var i;if(a[A+12>>2]){if(i=M(8)){if(a[i+4>>2]=e,a[i>>2]=f,!(f=M(8)))return void U(i);for(a[f>>2]=i,e=C(a[A+4>>2],100),a[A+40>>2]=e;(0|e)<a[A+24>>2];);a[f+4>>2]=a[A+20>>2],a[A+20>>2]=f,a[A+24>>2]=a[A+24>>2]+1,(f=a[A+28>>2])&&(a[a[f>>2]+8>>2]=0,a[A+28>>2]=a[f+4>>2],a[A+32>>2]=a[A+32>>2]-1,U(f))}}else Ge[0|f](e,a[A+36>>2])}function cA(A,f){var e,i,r=0,b=0,k=0,B=0,l=0,g=0,o=0,c=0,I=0,n=0;i=(e=A>>>0<=8?8:A)+48|0;A:{f:{for(;;){if(A-1&A|f>>>0>4294967239)break f;if(b=r=a[7123],l=a[7122],(f=f>>>0<=8?8:f+3&-4)>>>0<=127?k=(f>>>3|0)-1|0:(k=110+((f>>>29-(B=u(f))^4)-(B<<2)|0)|0,f>>>0<=4095||(k=(B=71+((f>>>30-B^2)-(B<<1)|0)|0)>>>0>=63?63:B)),k=31&(g=k),(63&g)>>>0>=32?(B=0,r=r>>>k|0):(B=r>>>k|0,r=((1<<k)-1&r)<<32-k|l>>>k),r|B){for(;;){if((k=B)|r?(B=(b=k-1|0)+1|0,l=b,b=63-(B=32==(0|(B=u(k^(l=-1!=(0|(b=r-1|0))?B:l))))?u(r^b)+32|0:B)|0,X=0-(B>>>0>63)|0):(X=0,b=64),b=31&(l=b),(63&l)>>>0>=32?(B=0,o=k>>>b|0):(B=k>>>b|0,o=((1<<b)-1&k)<<32-b|r>>>b),(0|(k=a[(r=(g=l+g|0)<<4)+27464>>2]))==(0|(b=r+27456|0)))I=a[7123],k=31&(r=l=63&g),r>>>0>=32?(r=0,b=-1>>>k|0):b=(r=-1>>>k|0)|(1<<k)-1<<32-k,b&=-2,k=31&l,l>>>0>=32?(r=b<<k,c=0):(r=(1<<k)-1&b>>>32-k|r<<k,c=b<<k),k=r,r=31&(b=l=0-g&63),b>>>0>=32?(r=-1<<r,b=0):r=(b=-1<<r)|(1<<r)-1&-1>>>32-r,n=-2&b,b=31&l,l>>>0>=32?(l=0,b=r>>>b|0):(l=r>>>b|0,b=((1<<b)-1&r)<<32-b|n>>>b),r=b|c,X=k|l,a[7122]=a[7122]&r,a[7123]=X&I,r=1^o;else{if(r=xA(k,e,f))break A;r=a[k+4>>2],l=a[k+8>>2],a[r+8>>2]=l,a[l+4>>2]=r,a[k+8>>2]=b,a[k+4>>2]=a[b+4>>2],a[b+4>>2]=k,a[a[k+4>>2]+8>>2]=k,g=g+1|0,r=(1&B)<<31|o>>>1,B=B>>>1|0}if(!(r|B))break}l=a[7122],b=a[7123]}k=63-(32==(0|(B=u(b)))?u(l)+32|0:B)|0;e:if(b|l){if(g=a[(r=k<<4)+27464>>2],!(!b&l>>>0<1073741824)&&(B=98,(0|(b=r+27456|0))!=(0|g)))for(;;){if(r=xA(g,e,f))break A;if((0|b)==(0|(g=a[g+8>>2])))break e;if(B=(r=B)-1|0,!r)break}}else g=0;if(B=A>>>0>8,A=e,!yf((B?i:48)+f|0))break}if(g&&(0|(A=27456+(k<<4)|0))!=(0|g))for(;;){if(r=xA(g,e,f))break A;if((0|A)==(0|(g=a[g+8>>2])))break}}r=0}return r}function IA(A){var f=0;A&&((f=a[A+4>>2])&&Ge[0|f](a[A>>2]),U(a[A+32>>2]),a[A+32>>2]=0,U(A))}function nA(A){A&&(Ge[a[(a[A+76>>2]?20:16)+A>>2]](a[A+48>>2]),a[A+48>>2]=0,U(A))}function sA(A){var f=0,e=0,i=0;if(A){if(a[A+5164>>2]){for(;n[A+5160>>2]>f>>>0;)(e=a[a[A+5164>>2]+(f<<3)>>2])&&U(e),f=f+1|0;a[A+5160>>2]=0,U(a[A+5164>>2]),a[A+5164>>2]=0}if((f=a[A+5172>>2])&&(U(f),a[A+5172>>2]=0),(f=a[A+5584>>2])&&(U(f),a[A+5584>>2]=0),(f=a[A+5612>>2])&&(U(f),a[A+5612>>2]=0),(f=a[A+5608>>2])&&(U(f),a[A+5608>>2]=0),(f=a[A+5628>>2])&&(U(f),a[A+5636>>2]=0,a[A+5628>>2]=0,a[A+5632>>2]=0),f=a[A+5616>>2]){for(e=0;n[A+5620>>2]>e>>>0;)(i=a[f+12>>2])&&(U(i),a[f+12>>2]=0),e=e+1|0,f=f+20|0;U(a[A+5616>>2]),a[A+5616>>2]=0}(f=a[A+5604>>2])&&(U(f),a[A+5604>>2]=0),XA(A)}}function GA(A,f,e,i){var r=0,b=0,k=0;if(b=1,(r=a[A+48>>2])>>>0<f+1>>>0){if(k=r+10|0,!(r=p(a[A>>2],C(k,24))))return 0;a[A>>2]=r,g(r+C(a[A+48>>2],24)|0,0,240),a[A+48>>2]=k}return A=a[A>>2]+C(f,24)|0,a[A+16>>2]=0,a[A+20>>2]=0,a[A+8>>2]=0,a[A+12>>2]=0,a[A>>2]=0,a[A+4>>2]=0,4&e||(b=1&e?i?10:1==(0|(f=a[A-12>>2]))||10==(0|f)?2:1:109),a[A+12>>2]=b,1}function CA(A){return n[A+16>>2]>31||(ZA(A),n[A+16>>2]>31||ZA(A)),a[A+8>>2]}function ZA(A){var f,e=0,i=0,r=0,b=0,B=0,l=0,g=0,o=0,c=0;if((f=a[A+16>>2])>>>0<=32){A:if((0|(r=a[A+20>>2]))>=4)e=a[A>>2],i=a[e-3>>2],a[A+20>>2]=r-4,a[A>>2]=e-4;else if(!((0|r)<=0))for(B=24;;){if((0|r)<=0)break A;e=a[A>>2],a[A>>2]=e-1,e=k[0|e],r=r-1|0,a[A+20>>2]=r,i|=e<<B,B=B-8|0}e=a[A+24>>2],g=255&i,a[A+24>>2]=g>>>0>143,l=(b=(o=e?2130706432&~i?8:7:8)+(i>>>0<=2415919103||8323072&~i?8:7)|0)+((c=i>>>16&255)>>>0<=143||32512&~i?8:7)|0,e=i>>>8&255,a[A+16>>2]=l+((e>>>0<=143||127&~i?8:7)+f|0),r=a[A+8>>2],B=a[A+12>>2],e=c<<o|i>>>24|e<<b|g<<l,b=31&f,(63&f)>>>0>=32?(l=e<<b,e=0):(l=(1<<b)-1&e>>>32-b,e<<=b),a[A+8>>2]=e|r,a[A+12>>2]=B|l}}function uA(A,f,e,i,r,b){var a=0,k=0;for(k=e>>>0>(k=i>>>0<r>>>0?i:r)>>>0?e:k,f=(e<<6)+f|0,A=e?f+-64|0:A;(0|e)!=(0|k);)s[(a=f-32|0)>>2]=Z(Z(s[A>>2]+s[f>>2])*b)+s[a>>2],s[(a=f-28|0)>>2]=Z(Z(s[A+4>>2]+s[f+4>>2])*b)+s[a>>2],s[(a=f-24|0)>>2]=Z(Z(s[A+8>>2]+s[f+8>>2])*b)+s[a>>2],s[(a=f-20|0)>>2]=Z(Z(s[A+12>>2]+s[f+12>>2])*b)+s[a>>2],s[(a=f-16|0)>>2]=Z(Z(s[A+16>>2]+s[f+16>>2])*b)+s[a>>2],s[(a=f-12|0)>>2]=Z(Z(s[A+20>>2]+s[f+20>>2])*b)+s[a>>2],s[(a=f-8|0)>>2]=Z(Z(s[A+24>>2]+s[f+24>>2])*b)+s[a>>2],s[(a=f-4|0)>>2]=Z(Z(s[A+28>>2]+s[f+28>>2])*b)+s[a>>2],e=e+1|0,A=f,f=f- -64|0;i>>>0>r>>>0&&(e=f-32|0,b=Z(b+b),s[e>>2]=Z(s[A>>2]*b)+s[e>>2],s[(e=f-28|0)>>2]=Z(s[A+4>>2]*b)+s[e>>2],s[(e=f-24|0)>>2]=Z(s[A+8>>2]*b)+s[e>>2],s[(e=f-20|0)>>2]=Z(s[A+12>>2]*b)+s[e>>2],s[(e=f-16|0)>>2]=Z(s[A+16>>2]*b)+s[e>>2],s[(e=f-12|0)>>2]=Z(s[A+20>>2]*b)+s[e>>2],s[(e=f-8|0)>>2]=Z(s[A+24>>2]*b)+s[e>>2],s[(f=f-4|0)>>2]=Z(s[A+28>>2]*b)+s[f>>2])}function QA(A,f,e,i){var r,b=0,k=0,B=0,l=0,g=0,o=0,c=0,I=0,n=0,s=0,G=0,Z=0,u=0,Q=0,t=0,W=0;r=(k=a[A+8>>2])+a[A+4>>2]|0;A:{if(!a[A+12>>2]){if((0|r)<2)break A;for(c=(0|i)>0?i:0,s=1&r,G=k+1|0,u=r-2>>>1|0,Q=C(e,k)<<2,t=C((Z=r-1|0)>>>1|0,e)<<2;;){if((0|I)==(0|c))break A;for(k=a[f+Q>>2],i=a[f>>2]-(k+1>>1)|0,B=a[A>>2],b=0,o=0;(0|b)!=(0|u);)W=a[(C(g=b+1|0,e)<<2)+f>>2],l=a[(C(b+G|0,e)<<2)+f>>2],a[(n=B+(o<<2)|0)>>2]=i,b=i,i=W-(2+(k+l|0)>>2)|0,a[n+4>>2]=(b+i>>1)+k,o=o+2|0,b=g,k=l;for(a[B+(o<<2)>>2]=i,s?(b=a[f+t>>2]-(k+1>>1)|0,a[B+(Z<<2)>>2]=b,i=i+b>>1,g=-8):g=-4,a[g+(B+(r<<2)|0)>>2]=i+k,b=0;(0|b)!=(0|r);)a[(C(e,b)<<2)+f>>2]=a[B+(b<<2)>>2],b=b+1|0;f=f+4|0,I=I+1|0}}f:switch(r-1|0){case 0:for(A=(0|i)>0?i:0;;){if((0|A)==(0|b))break A;a[f>>2]=a[f>>2]/2,f=f+4|0,b=b+1|0}case 1:for(i=(0|i)>0?i:0,A=a[A>>2],k=C(e,k)<<2;;){if((0|i)==(0|b))break A;l=f+k|0,g=a[f>>2]-(a[l>>2]+1>>1)|0,a[A+4>>2]=g,l=g+a[l>>2]|0,a[A>>2]=l,a[f>>2]=l,a[(e<<2)+f>>2]=a[A+4>>2],f=f+4|0,b=b+1|0}default:break f}if(!((0|r)<3))for(u=1+((s=r-2|0)-!(G=1&r)>>>1|0)|0,Q=(0|i)>0?i:0,Z=C(e,k)<<2,t=C((r>>>1|0)-1|0,e)<<2;;){if((0|I)==(0|Q))break A;for(B=a[A>>2],k=a[(c=f+Z|0)+(e<<2)>>2],b=a[c>>2],i=a[f>>2]-(2+(k+b|0)>>2)|0,a[B>>2]=i+b,o=1,b=1;(0|b)!=(0|u);)W=a[(C(e,b)<<2)+f>>2],l=a[c+(C(b=b+1|0,e)<<2)>>2],a[(n=B+(o<<2)|0)>>2]=i,g=i,i=W-(2+(k+l|0)>>2)|0,a[n+4>>2]=(g+i>>1)+k,o=o+2|0,k=l;for(a[B+(o<<2)>>2]=i,G?b=i+k|0:(b=a[f+t>>2]-(k+1>>1)|0,a[B+(s<<2)>>2]=(b+i>>1)+k),a[(B+(r<<2)|0)-4>>2]=b,b=0;(0|b)!=(0|r);)a[(C(e,b)<<2)+f>>2]=a[B+(b<<2)>>2],b=b+1|0;f=f+4|0,I=I+1|0}}}function tA(A){return Wf(32,A)}function WA(A,f){for(var e=0,i=0;f=f-1|0;)e=(e=e>>>0>(i=a[A+160>>2]-a[A+152>>2]|0)>>>0?e:i)>>>0>(i=a[A+164>>2]-a[A+156>>2]|0)>>>0?e:i,A=A+152|0;return e}function wA(A){var f=0,e=0;A:if(A)for(e=a[A+8>>2],A=a[A+12>>2];;){if((0|f)==(0|e))break A;a[A+12>>2]=0,a[A+4>>2]=999,a[A+8>>2]=0,f=f+1|0,A=A+16|0}}function VA(A){A&&U(A)}function YA(A){var f=0;A&&((f=a[A+8>>2])&&U(f),U(A))}function HA(){var A,f=0;if(A=D(1,12)){if(a[A+4>>2]=10,f=D(10,4),a[A+8>>2]=f,f)return A;U(A)}return 0}function FA(A,f,e){return 0|Ge[a[A+40>>2]](A,f,0,e)}function vA(A,f){var e=0,i=0;A:{if(f>>>0<=31)i=a[A>>2],e=a[A+4>>2];else if(e=a[A>>2],a[A+4>>2]=e,a[A>>2]=0,!(f=f-32|0))break A;a[A>>2]=i<<f,a[A+4>>2]=e<<f|i>>>32-f}}function mA(A,f,e,i,r){var b,k=0,B=0,l=0;y=b=y-272|0,k=a[f>>2],a[b+264>>2]=k,f=a[f+4>>2],a[b>>2]=A,a[b+268>>2]=f,l=!i;A:{f:{e:{i:{if(!(!f&1==(0|k))){for(i=1,f=A;;){if((0|Be(A=f-a[(k=(e<<2)+r|0)>>2]|0,a[b>>2]))>0){if(B=-1^l,l=1,!(1&((0|e)<2|B))){if(k=a[k-8>>2],(0|Be(B=f-8|0,A))>=0)break i;if((0|Be(B-k|0,A))>=0)break i}if(a[((63&i)<<2)+b>>2]=A,EA(k=f=b+264|0,f=Df(f)),i=i+1|0,e=f+e|0,f=A,a[b+268>>2]|1!=a[b+264>>2])continue;break e}break}if(!l)break A;A=f,f=63&i;break f}if(i)break A;f=1;break f}A=f}f=63&i}hf(b,f),PA(A,e,r)}y=b+272|0}function EA(A,f){var e=0,i=0;e=a[A+4>>2];A:{if(f>>>0<=31)i=e,e=a[A>>2];else if(a[A+4>>2]=0,a[A>>2]=e,!(f=f-32|0))break A;a[A+4>>2]=i>>>f,a[A>>2]=i<<32-f|e>>>f}}function yA(A,f,e,r,B,l){A|=0,f|=0,e|=0,r|=0,B|=0,l|=0;var c,G=0,u=0,W=0,w=0,V=0,Y=0,H=0,F=0,v=0,m=0,E=0,R=0,J=0,S=0,z=0,T=0,L=0,$=0,_=0,AA=0,fA=0,eA=0,bA=0,aA=0,kA=0,lA=0,gA=0,cA=0,IA=0,nA=0,GA=0,CA=0,ZA=0,uA=0,wA=0,YA=0,HA=0,FA=0,vA=0,mA=0,EA=0,yA=0,RA=0,JA=0,dA=0,UA=0,DA=Z(0),MA=0,pA=0,KA=0,zA=0,xA=0,jA=0,PA=0,TA=0,LA=0,OA=0,qA=0,$A=0,_A=Z(0),Af=Z(0),ff=0,ef=0,bf=0,af=0,kf=0,lf=0,gf=0,of=Z(0),cf=0,If=0,nf=0,Zf=0,tf=0,Wf=0,wf=0,Vf=0,Yf=0,Hf=0,Ff=0;y=c=y-16|0;A:if(!(!(128&k[A+8|0])|a[A+228>>2]!=(0|f)))if(PA=a[A+180>>2]+C(f,5644)|0,nA=a[PA+5596>>2]){(W=a[A+100>>2])||(W=a[A+96>>2]),G=a[W>>2],V=a[W+4>>2],w=a[W+8>>2],W=a[W+12>>2],u=a[A+60>>2],F=a[A+64>>2],J=a[PA+5600>>2],wA=l,y=MA=y-16|0,eA=a[A+232>>2],a[eA+36>>2]=f,l=a[a[eA+28>>2]+76>>2],a[eA+64>>2]=1,a[eA+60>>2]=W,a[eA+56>>2]=w,a[eA+52>>2]=V,a[eA+48>>2]=G,a[eA+32>>2]=l+C(f,5644),U(a[eA+68>>2]),a[eA+68>>2]=0,l=0;f:{if(u){if(!(l=D(4,a[a[eA+24>>2]+16>>2])))break f;for(;(0|u)!=(0|KA);)a[(a[F+(KA<<2)>>2]<<2)+l>>2]=1,KA=KA+1|0;a[eA+68>>2]=l}V=a[eA+24>>2],f=a[V+16>>2];e:{i:{for(;(0|f)!=(0|bA);){if((a[(bA<<2)+l>>2]||!l)&&(G=a[V+24>>2]+C(bA,52)|0,W=0-!(u=a[G+4>>2])|0,m=Ie(Y=(F=u-1|0)+(w=a[eA+60>>2])|0,w>>>0>Y>>>0?W+1|0:W,u,0),w=0-!(G=a[G>>2])|0,H=Ie(R=(v=G-1|0)+(Y=a[eA+56>>2])|0,Y>>>0>R>>>0?w+1|0:w,G,0),F=Ie(Y=(Y=F)+(F=a[eA+52>>2])|0,Y>>>0<F>>>0?W+1|0:W,u,0),u=a[a[a[eA+20>>2]>>2]+20>>2]+C(bA,76)|0,!((W=a[u+20>>2]-a[u+24>>2]|0)>>>0>31)&&(Y=a[u+12>>2],R=a[u+8>>2],z=a[u+4>>2],((G=Ie($=(kA=v)+(v=a[eA+48>>2])|0,v>>>0>$>>>0?w+1|0:w,G,0))>>>0>=(u=G-a[u>>2]|0)>>>0?u:0)>>>W|0||((u=F-z|0)>>>0<=F>>>0?u:0)>>>W|0||((u=R-H|0)>>>0<=R>>>0?u:0)>>>W|0||((u=Y-m|0)>>>0<=Y>>>0?u:0)>>>W|0))){a[eA+64>>2]=0;break i}bA=bA+1|0}if(a[eA+64>>2]){for(bA=0;;){if(f>>>0<=bA>>>0)break e;l=a[a[a[eA+20>>2]>>2]+20>>2]+C(bA,76)|0,u=a[l+28>>2]+C(a[l+24>>2],152)|0,W=a[u-148>>2],G=a[u-140>>2],w=a[u-152>>2],u=a[u-144>>2];r:{if(F=a[eA+68>>2],a[F+(bA<<2)>>2]||!F){if(le(f=G-W|0,0,u=u-w|0),!(!X|(0|G)==(0|W))){KA=0,d(wA,1,2976,0);break f}if((f=C(f,u))>>>0>=1073741824){KA=0,d(wA,1,2976,0);break f}a[l+44>>2]=f<<2,u=a[l+44>>2];b:{a:{if(f=l,l=a[l+36>>2]){if(G=1,u>>>0<=n[f+48>>2])break b;if(a[f+40>>2])break a}if(l=N(u),a[f+36>>2]=l,G=0,!(l|!(u=a[f+44>>2])))break b;a[f+40>>2]=1,a[f+48>>2]=u,G=1;break b}U(l),l=N(a[f+44>>2]),a[f+36>>2]=l,l?(a[f+40>>2]=1,a[f+48>>2]=a[f+44>>2],G=1):(a[f+48>>2]=0,a[f+40>>2]=0,a[f+44>>2]=0,G=0)}if(!G)break r;V=a[eA+24>>2],f=a[V+16>>2]}bA=bA+1|0;continue}break}KA=0,d(wA,1,2976,0);break f}}for(W=0;;){if((0|f)==(0|W))break e;u=a[V+24>>2],G=a[a[a[eA+20>>2]>>2]+20>>2];i:if(a[(W<<2)+l>>2]||!l){if(F=G+C(W,76)|0,G=a[F>>2],w=u+C(W,52)|0,R=0-!(u=a[w>>2])|0,G=G>>>0>(Y=Ie(m=(v=u-1|0)+(Y=a[eA+48>>2])|0,Y>>>0>m>>>0?R+1|0:R,u,0))>>>0?G:Y,a[F+56>>2]=G,Y=a[F+4>>2],m=0-!(w=a[w+4>>2])|0,Y=Y>>>0>(z=Ie($=(H=w-1|0)+(z=a[eA+52>>2])|0,z>>>0>$>>>0?m+1|0:m,w,0))>>>0?Y:z,a[F+60>>2]=Y,z=a[F+8>>2],u=(u=Ie($=(kA=v)+(v=a[eA+56>>2])|0,v>>>0>$>>>0?R+1|0:R,u,0))>>>0>z>>>0?z:u,a[F+64>>2]=u,R=a[F+12>>2],w=(w=Ie(H=H+(v=a[eA+60>>2])|0,H>>>0<v>>>0?m+1|0:m,w,0))>>>0>R>>>0?R:w,a[F+68>>2]=w,!(w>>>0<Y>>>0|G>>>0>u>>>0))for(z=w-1|0,bA=0-!w|0,$=u-1|0,L=0-!u|0,AA=Y-1|0,T=0-!Y|0,gA=G-1|0,aA=0-!G|0,_=a[F+20>>2],Y=0,w=0;;){if(!w&(0|Y)==(0|_))break i;m=a[F+28>>2]+C(Y,152)|0,u=31&(R=_+(-1^Y)|0),(63&R)>>>0>=32?(G=1<<u,H=0):(G=(v=1<<u)-1&1>>>32-u,H=v),v=G+bA|0,uA=(u=z+H|0)>>>0<z>>>0?v+1|0:v,v=31&R,u=(63&R)>>>0>=32?uA>>>v|0:((1<<v)-1&uA)<<32-v|u>>>v,a[m+148>>2]=u,cA=(u=G+L|0)+1|0,kA=u,uA=(u=H+$|0)>>>0<$>>>0?cA:kA,v=31&R,u=(63&R)>>>0>=32?uA>>>v|0:((1<<v)-1&uA)<<32-v|u>>>v,a[m+144>>2]=u,cA=(u=G+T|0)+1|0,kA=u,uA=(u=H+AA|0)>>>0<AA>>>0?cA:kA,v=31&R,u=(63&R)>>>0>=32?uA>>>v|0:((1<<v)-1&uA)<<32-v|u>>>v,a[m+140>>2]=u,u=G+aA|0,G=(v=H+gA|0)>>>0<gA>>>0?u+1|0:u,u=31&R,G=(63&R)>>>0>=32?G>>>u|0:((1<<u)-1&G)<<32-u|v>>>u,a[m+136>>2]=G,w=(Y=Y+1|0)?w:w+1|0}KA=0,d(wA,1,3366,0);break f}W=W+1|0}}if(KA=0,a[MA+8>>2]=0,f=a[eA+28>>2],(gA=D(1,8))&&(a[gA+4>>2]=f,a[gA>>2]=V),gA){uA=a[a[eA+20>>2]>>2],u=0,y=$=y-144|0,V=a[eA+36>>2],f=C(V,5644),G=a[gA+4>>2],YA=f+a[G+76>>2]|0,ZA=a[YA+420>>2],y=R=y-32|0,_=f+a[G+76>>2]|0,w=a[_+420>>2],GA=a[gA>>2],L=a[(F=GA)+16>>2];e:if(Y=M(C(L,528)))if(m=M(L<<2)){H=a[G+76>>2]+C(V,5644)|0;i:{if(f=D(W=a[H+420>>2]+1|0,240)){for(l=f;;){if((0|W)==(0|E))break i;a[l+236>>2]=wA,v=D(a[F+16>>2],16),a[l+200>>2]=v;r:if(v){for(v=a[F+16>>2],a[l+196>>2]=v,AA=0;v>>>0>AA>>>0;){if(v=a[l+200>>2]+(AA<<4)|0,z=a[H+5584>>2]+C(AA,1080)|0,bA=D(a[z+4>>2],16),a[v+12>>2]=bA,!bA)break r;a[v+8>>2]=a[z+4>>2],AA=AA+1|0,v=a[F+16>>2]}E=E+1|0,l=l+240|0;continue}break}BA(f,W)}f=0}if(f){for(aA=w+1|0,l=Y;(0|u)!=(0|L);)a[m+(u<<2)>>2]=l,u=u+1|0,l=l+528|0;for(AA=0,u=a[5584+(a[G+76>>2]+C(V,5644)|0)>>2],W=a[F+24>>2],w=(V>>>0)/((l=a[G+24>>2])>>>0)|0,l=a[G+4>>2]+C(a[G+12>>2],V-C(l,w)|0)|0,V=a[F>>2],a[R+20>>2]=l>>>0>V>>>0?l:V,l=l>>>0>(V=l+a[G+12>>2]|0)>>>0?-1:V,V=a[F+8>>2],a[R+16>>2]=l>>>0<V>>>0?l:V,l=a[G+8>>2]+C(w,a[G+16>>2])|0,V=a[F+4>>2],a[R+12>>2]=l>>>0>V>>>0?l:V,l=l>>>0>(G=l+a[G+16>>2]|0)>>>0?-1:G,G=a[F+12>>2],a[R+8>>2]=l>>>0<G>>>0?l:G,a[R+24>>2]=0,a[R+28>>2]=0,a[R+4>>2]=2147483647,a[R>>2]=2147483647;n[F+16>>2]>AA>>>0;){for(V=m?a[m+(AA<<2)>>2]:0,w=0-!(l=a[W+4>>2])|0,E=Ie(E=(z=l-1|0)+(G=a[R+8>>2])|0,G>>>0>E>>>0?w+1|0:w,l,0),v=0-!(G=a[W>>2])|0,H=Ie(T=(bA=G-1|0)+(H=a[R+16>>2])|0,H>>>0>T>>>0?v+1|0:v,G,0),l=Ie(T=(kA=z)+(z=a[R+12>>2])|0,z>>>0>T>>>0?w+1|0:w,l,0),G=Ie(z=(w=a[R+20>>2])+bA|0,w>>>0>z>>>0?v+1|0:v,G,0),v=0,FA=u+944|0,vA=u+812|0,lA=E-1|0,yA=0-!E|0,IA=H-1|0,RA=0-!H|0,HA=l-1|0,dA=0-!l|0,CA=G-1|0,UA=0-!G|0,(w=a[u+4>>2])>>>0>n[R+28>>2]&&(a[R+28>>2]=w,w=a[u+4>>2]),E=w;w>>>0>v>>>0;)H=a[(l=v<<2)+FA>>2],z=a[l+vA>>2],V?(a[V+4>>2]=H,a[V>>2]=z,bA=V+8|0):bA=0,(l=z+(E=E-1|0)|0)>>>0>31||(G=a[W>>2])>>>0>-1>>>l>>>0||(V=a[R+4>>2],l=G<<l,a[R+4>>2]=l>>>0>V>>>0?V:l),(l=H+E|0)>>>0>31||(G=a[W+4>>2])>>>0>-1>>>l>>>0||(V=a[R>>2],l=G<<l,a[R>>2]=l>>>0>V>>>0?V:l),V=0,l=31&E,(63&E)>>>0>=32?(G=1<<l,w=0):G=(w=1<<l)-1&1>>>32-l,G=yA+(l=G)|0,cA=(w=lA+(fA=w)|0)>>>0<lA>>>0?G+1|0:G,T=31&E,G=31&H,(63&H)>>>0>=32?(G=1<<G,kA=0):G=(kA=1<<G)-1&1>>>32-G,mA=(w=kA+(cA=(63&E)>>>0>=32?cA>>>T|0:((1<<T)-1&cA)<<32-T|w>>>T)|0)-1|0,w=(w>>>0<kA>>>0?G+1|0:G)-!w|0,G=31&H,T=l+dA|0,T=(kA=fA+HA|0)>>>0<HA>>>0?T+1|0:T,w=(63&H)>>>0>=32?w>>>G|0:((1<<G)-1&w)<<32-G|mA>>>G,G=31&E,T=(0|(G=(63&E)>>>0>=32?T>>>G|0:((1<<G)-1&T)<<32-G|kA>>>G))!=(0|cA)?w-(G>>>H|0)&-1>>>H:0,kA=(G=l+RA|0)+1|0,w=G,cA=(G=fA+IA|0)>>>0<IA>>>0?kA:w,w=G,H=31&E,G=31&z,(63&z)>>>0>=32?(G=1<<G,kA=0):G=(kA=1<<G)-1&1>>>32-G,H=((w=kA+(cA=(63&E)>>>0>=32?cA>>>H|0:((1<<H)-1&cA)<<32-H|w>>>H)|0)>>>0<kA>>>0?G+1|0:G)-!w|0,kA=w-1|0,G=31&z,l=l+UA|0,w=(fA=fA+CA|0)>>>0<CA>>>0?l+1|0:l,l=31&E,G=(63&z)>>>0>=32?H>>>G|0:((1<<G)-1&H)<<32-G|kA>>>G,l=(0|(l=(63&E)>>>0>=32?w>>>l|0:((1<<l)-1&w)<<32-l|fA>>>l))!=(0|cA)?G-(l>>>z|0)&-1>>>z:0,bA&&(a[bA+4>>2]=T,a[bA>>2]=l,V=bA+8|0),(l=C(l,T))>>>0>n[R+24>>2]&&(a[R+24>>2]=l),v=v+1|0,w=a[u+4>>2];AA=AA+1|0,W=W+52|0,u=u+1080|0}if(z=a[R+28>>2],v=a[R+24>>2],u=0,a[f+4>>2]=0,l=a[_+8>>2]+1|0,AA=C(v,L),le(l,0,H=C(AA,z)),X||(l=C(l,H),a[f+8>>2]=l,l=D(l,2),a[f+4>>2]=l,!l)){U(Y),U(m),BA(f,aA);break e}for(G=a[F+24>>2],T=a[R+20>>2],a[f+204>>2]=T,fA=a[R+12>>2],a[f+208>>2]=fA,lA=a[R+16>>2],a[f+212>>2]=lA,IA=a[R+8>>2],a[f+216>>2]=IA,a[f+12>>2]=H,a[f+16>>2]=AA,a[f+20>>2]=v,a[f+24>>2]=1,E=a[f+200>>2],W=G;;){if((0|S)==(0|L)){aA=aA>>>0<=1?1:aA,bA=1;break}for(u=a[m+(S<<2)>>2],a[E>>2]=a[W>>2],a[E+4>>2]=a[W+4>>2],V=a[E+8>>2],l=a[E+12>>2],w=0;(0|w)!=(0|V);)a[l>>2]=a[u>>2],a[l+4>>2]=a[u+4>>2],a[l+8>>2]=a[u+8>>2],a[l+12>>2]=a[u+12>>2],w=w+1|0,l=l+16|0,u=u+16|0;S=S+1|0,W=W+52|0,E=E+16|0}for(V=f;;){i:{if((0|bA)!=(0|aA))for(F=V+240|0,a[V+456>>2]=IA,a[V+452>>2]=lA,a[V+448>>2]=fA,a[V+444>>2]=T,a[V+264>>2]=1,a[V+260>>2]=v,a[V+256>>2]=AA,a[V+252>>2]=H,E=a[V+440>>2],S=0,W=G;;){if((0|S)==(0|L))break i;for(u=a[m+(S<<2)>>2],a[E>>2]=a[W>>2],a[E+4>>2]=a[W+4>>2],HA=a[E+8>>2],l=a[E+12>>2],w=0;(0|w)!=(0|HA);)a[l>>2]=a[u>>2],a[l+4>>2]=a[u+4>>2],a[l+8>>2]=a[u+8>>2],a[l+12>>2]=a[u+12>>2],w=w+1|0,l=l+16|0,u=u+16|0;S=S+1|0,W=W+52|0,E=E+16|0}U(Y),U(m),W=a[_+420>>2]+1|0;r:{if(4&k[_+5640|0])for(l=_+424|0,w=0,u=f;;){if((0|W)==(0|w))break r;G=a[l+36>>2],a[u+44>>2]=1,a[u+84>>2]=G,a[u+48>>2]=a[l>>2],G=a[l+4>>2],a[u+68>>2]=0,a[u+72>>2]=0,a[u+52>>2]=G,a[u+60>>2]=a[l+12>>2],a[u+64>>2]=a[l+16>>2],G=a[_+8>>2],V=a[l+8>>2],a[u+76>>2]=v,a[u+56>>2]=G>>>0>V>>>0?V:G,w=w+1|0,l=l+148|0,u=u+240|0}for(l=0,u=f;;){if((0|l)==(0|W))break r;G=a[_+4>>2],a[u+68>>2]=0,a[u+72>>2]=0,a[u+52>>2]=0,a[u+44>>2]=1,a[u+48>>2]=0,a[u+84>>2]=G,a[u+60>>2]=z,a[u+64>>2]=a[u+196>>2],a[u+56>>2]=a[_+8>>2],a[u+76>>2]=v,l=l+1|0,u=u+240|0}}u=f;break e}l=a[V+8>>2],a[V+244>>2]=a[V+4>>2],a[V+248>>2]=l,bA=bA+1|0,V=F}}U(Y),U(m)}else U(Y);y=R+32|0;e:{i:if(u){R=u,HA=ZA+1|0,F=nA,l=u;r:{b:{a:for(;;){if(n[YA+420>>2]>=EA>>>0){if(-1==a[l+84>>2])break r;if(!(bA=M(a[GA+16>>2]<<2)))break r;for((f=a[GA+16>>2]<<2)&&g(bA,1,f);;){k:{B:{f=0,u=0,W=0,E=0,v=0,w=0,z=0,V=0,H=0,Y=0,AA=0;l:{g:{o:{c:{I:{n:{s:{G:{C:{Z:{u:switch(a[l+84>>2]){case 0:if(!((u=a[l+52>>2])>>>0<(f=a[l+196>>2])>>>0&&(G=a[l+64>>2])>>>0<f+1>>>0)){d(a[l+236>>2],1,8485,0);break o}if(!a[l+44>>2]){v=a[l+36>>2],f=0;break Z}a[l+44>>2]=0,W=a[l+68>>2],f=1;break Z;case 1:if(!((u=a[l+52>>2])>>>0<(f=a[l+196>>2])>>>0&&(G=a[l+64>>2])>>>0<f+1>>>0)){d(a[l+236>>2],1,8530,0);break o}if(!a[l+44>>2]){E=a[l+36>>2],f=0;break n}a[l+44>>2]=0,v=a[l+48>>2],f=1;break n;case 2:if(!((m=a[l+52>>2])>>>0<(V=a[l+196>>2])>>>0&&(dA=a[l+64>>2])>>>0<V+1>>>0)){d(a[l+236>>2],1,8665,0);break o}if(!a[l+44>>2]){Y=a[l+40>>2];break s}for(a[l+228>>2]=0,a[l+232>>2]=0,a[l+44>>2]=0,AA=a[l+200>>2];(0|w)!=(0|V);){for(S=a[(G=AA+(w<<4)|0)+8>>2],f=0;(0|f)!=(0|S);)_=S+(-1^f)|0,L=a[G+12>>2]+(f<<4)|0,(z=_+a[L>>2]|0)>>>0>31||(T=a[G>>2])>>>0>-1>>>z>>>0||(z=T<<z,v=v&&v>>>0<z>>>0?v:z,a[l+228>>2]=v),(z=_+a[L+4>>2]|0)>>>0>31||(_=a[G+4>>2])>>>0>-1>>>z>>>0||(z=_<<z,W=W&&W>>>0<z>>>0?W:z,a[l+232>>2]=W),f=f+1|0;w=w+1|0}if(!v|!W)break I;k[0|l]||(a[l+108>>2]=a[l+208>>2],a[l+100>>2]=a[l+204>>2],a[l+112>>2]=a[l+216>>2],a[l+104>>2]=a[l+212>>2]),W=a[l+48>>2],f=1;break s;case 3:if(!((m=a[l+52>>2])>>>0<(V=a[l+196>>2])>>>0&&(kA=a[l+64>>2])>>>0<V+1>>>0)){d(a[l+236>>2],1,8620,0);break o}if(!a[l+44>>2]){z=(w=a[l+200>>2])+((u=a[l+28>>2])<<4)|0,v=a[l+40>>2];break G}for(a[l+228>>2]=0,a[l+232>>2]=0,a[l+44>>2]=0,w=a[l+200>>2];(0|V)!=(0|H);){for(S=a[(G=(H<<4)+w|0)+8>>2],f=0;(0|f)!=(0|S);)L=S+(-1^f)|0,T=a[G+12>>2]+(f<<4)|0,(_=L+a[T>>2]|0)>>>0>31||(aA=a[G>>2])>>>0>-1>>>_>>>0||(_=aA<<_,W=W&&W>>>0<_>>>0?W:_,a[l+228>>2]=W),(_=L+a[T+4>>2]|0)>>>0>31||(L=a[G+4>>2])>>>0>-1>>>_>>>0||(_=L<<_,E=E&&E>>>0<_>>>0?E:_,a[l+232>>2]=E),f=f+1|0;H=H+1|0}if(!W|!E)break I;k[0|l]?W=a[l+108>>2]:(W=a[l+208>>2],a[l+108>>2]=W,a[l+100>>2]=a[l+204>>2],a[l+112>>2]=a[l+216>>2],a[l+104>>2]=a[l+212>>2]),f=1;break G;case 4:break u;default:break I}if(!((v=a[l+52>>2])>>>0<(W=a[l+196>>2])>>>0&&(dA=a[l+64>>2])>>>0<W+1>>>0)){d(a[l+236>>2],1,8575,0);break I}if(!a[l+44>>2]){v=a[l+28>>2],V=a[l+200>>2]+(v<<4)|0,H=a[l+40>>2];break C}a[l+28>>2]=v,a[l+44>>2]=0,u=1;break C}Z:for(;;){if(f){if(a[l+40>>2]=W,n[l+56>>2]<=W>>>0)break o;w=a[l+48>>2],f=0}else v=v+1|0,f=1;u:for(;;){Q:{t:{W:{w:{if(!f){if(a[l+32>>2]=w,n[l+60>>2]<=w>>>0)break w;a[l+28>>2]=u,f=u,V=0;break Q}if(a[l+36>>2]=v,n[l+76>>2]<=v>>>0){f=a[l+28>>2],V=1;break Q}if((f=((C(a[l+16>>2],a[l+32>>2])+C(a[l+12>>2],a[l+40>>2])|0)+C(a[l+20>>2],a[l+28>>2])|0)+C(a[l+24>>2],v)|0)>>>0>=n[l+8>>2])break c;if(f=a[l+4>>2]+(f<<1)|0,I[f>>1])break W;break g}W=a[l+40>>2]+1|0;break t}f=0;continue Z}f=1;continue Z}for(;;){Q:{t:{W:{if(!V){if(f>>>0>=G>>>0)break W;if(V=a[l+32>>2],Y=a[l+200>>2]+(f<<4)|0,V>>>0>=n[Y+8>>2])break Q;k[0|l]||(f=a[Y+12>>2]+(V<<4)|0,a[l+76>>2]=C(a[f+12>>2],a[f+8>>2])),v=a[l+72>>2],f=1;continue u}f=f+1|0,a[l+28>>2]=f;break t}w=a[l+32>>2]+1|0,f=0;continue u}V=0;continue}V=1}}}}C:for(;;){if(u){if(v>>>0>=dA>>>0)break o;for(a[l+228>>2]=0,a[l+232>>2]=0,V=a[l+200>>2]+(v<<4)|0,G=a[V+8>>2],E=0,W=0,u=0;(0|G)!=(0|u);)m=G+(-1^u)|0,S=a[V+12>>2]+(u<<4)|0,(w=m+a[S>>2]|0)>>>0>31||(z=a[V>>2])>>>0>-1>>>w>>>0||(w=z<<w,W=W&&W>>>0<w>>>0?W:w,a[l+228>>2]=W),(w=m+a[S+4>>2]|0)>>>0>31||(m=a[V+4>>2])>>>0>-1>>>w>>>0||(w=m<<w,E=E&&w>>>0>E>>>0?E:w,a[l+232>>2]=E),u=u+1|0;if(!W|!E)break I;k[0|l]?w=a[l+108>>2]:(w=a[l+208>>2],a[l+108>>2]=w,a[l+100>>2]=a[l+204>>2],a[l+112>>2]=a[l+216>>2],a[l+104>>2]=a[l+212>>2]),u=0}else H=H+1|0,a[l+40>>2]=H,u=1;Z:for(;;){u:{Q:{t:{W:{if(!u){if(a[l+224>>2]=w,n[l+112>>2]<=w>>>0)break W;Y=a[l+100>>2],u=0;break u}if(n[l+56>>2]<=H>>>0){f=a[l+32>>2],u=1;break u}if((u=((C(a[l+16>>2],a[l+32>>2])+C(a[l+12>>2],H)|0)+C(a[l+20>>2],v)|0)+C(a[l+24>>2],a[l+36>>2])|0)>>>0>=n[l+8>>2])break c;if(u=a[l+4>>2]+(u<<1)|0,I[u>>1])break t;b[u>>1]=1,f=1;break l}v=v+1|0,a[l+28>>2]=v;break Q}u=0;continue C}u=1;continue C}for(;;){u:{Q:{t:{if(u)f=f+1|0;else{if(a[l+220>>2]=Y,n[l+104>>2]<=Y>>>0)break t;f=a[l+48>>2]}if(a[l+32>>2]=f,W=a[l+60>>2],((u=a[V+8>>2])>>>0>W>>>0?W:u)>>>0>f>>>0){if(S=a[V>>2],u=31&(m=u+(-1^f)|0),(63&m)>>>0>=32?(G=S<<u,z=0):(G=(1<<u)-1&S>>>32-u,z=S<<u),W=z,u=31&m,(0|(u=(63&m)>>>0>=32?G>>>u|0:((1<<u)-1&G)<<32-u|W>>>u))!=(0|S))break u;if(u=31&m,((W=(63&m)>>>0>=32?-1>>>u|0:(1<<u)-1<<32-u|-1>>>u)&(u=a[V+4>>2]))!=(0|u))break u;if(W=G,E=31&m,(63&m)>>>0>=32?(G=u<<E,aA=0):(G=(1<<E)-1&u>>>32-E,aA=u<<E),CA=aA-1|0,AA=cA=G-!aA|0,kA=(E=a[l+216>>2])>>>0>(_=CA+E|0)>>>0?AA+1|0:AA,E=G,UA=Ie(_,kA,aA,G),kA=AA+1|0,AA=Ie(AA=CA+(ZA=a[l+208>>2])|0,_=ZA>>>0>AA>>>0?kA:cA,aA,G),G=FA=W-!z|0,kA=Ie(L=(lA=z-1|0)+(_=a[l+212>>2])|0,L>>>0<_>>>0?G+1|0:G,z,W),T=G+1|0,_=Ie(G=lA+(vA=a[l+204>>2])|0,_=vA>>>0>G>>>0?T:FA,z,W),IA=a[V+12>>2]+(f<<4)|0,G=31&(L=(yA=a[IA>>2])+m|0),(0|S)!=((G=(63&L)>>>0>=32?-1>>>G|0:(1<<G)-1<<32-G|-1>>>G)&S))break u;if(fA=31&(T=(RA=a[IA+4>>2])+m|0),(63&T)>>>0>=32?(G=u<<fA,mA=0):(G=(1<<fA)-1&u>>>32-fA,mA=u<<fA),fA=31&T,(0|(fA=(63&T)>>>0>=32?G>>>fA|0:((1<<fA)-1&G)<<32-fA|mA>>>fA))!=(0|u))break u;if(mA=!!(ne(fA=a[l+224>>2],mA,G)|X),u=31&T,(63&T)>>>0>=32?(G=-1<<u,T=0):G=(T=-1<<u)|(1<<u)-1&-1>>>32-u,pA=-1^G,u=31&m,(63&m)>>>0>=32?(G=AA<<u,u=0):(G=(1<<u)-1&AA>>>32-u,u=AA<<u),(!(u&(T^=-1)|G&pA)|(0|fA)!=(0|ZA))&mA)break u;if(u=31&L,(63&L)>>>0>=32?(G=S<<u,u=0):(G=(1<<u)-1&S>>>32-u,u=S<<u),S=!!(ne(T=a[l+220>>2],u,G)|X),u=31&L,(63&L)>>>0>=32?(G=-1<<u,L=0):G=(L=-1<<u)|(1<<u)-1&-1>>>32-u,ZA=-1^G,u=31&m,(63&m)>>>0>=32?(G=_<<u,u=0):(G=(1<<u)-1&_>>>32-u,u=_<<u),(!(u&(L^=-1)|G&ZA)|(0|T)!=(0|vA))&S)break u;if(!(u=a[IA+8>>2])|!a[IA+12>>2]|(0|_)==(0|kA)|(0|AA)==(0|UA))break u;H=a[l+68>>2],a[l+40>>2]=H,W=(Ie(G=T+lA|0,m=G>>>0<lA>>>0?FA+1|0:FA,z,W)>>>yA)-(_>>>yA)|0,Hf=l,Ff=C(u,(Ie(G=fA+CA|0,m=G>>>0<fA>>>0?cA+1|0:cA,aA,E)>>>RA)-(AA>>>RA)|0)+W|0,a[Hf+36>>2]=Ff,u=1;continue Z}Y=(u=a[l+220>>2])+(W=a[l+228>>2])-(u>>>0)%(W>>>0)|0;break Q}w=(u=a[l+224>>2])+(W=a[l+232>>2])-(u>>>0)%(W>>>0)|0,u=0;continue Z}u=0;continue}u=1}}}}G:for(;;){if(f){if(a[l+224>>2]=W,n[l+112>>2]<=W>>>0)break o;AA=a[l+100>>2],f=0}else v=v+1|0,a[l+40>>2]=v,f=1;C:for(;;){Z:{u:{Q:{t:{if(!f){if(a[l+220>>2]=AA,n[l+104>>2]<=AA>>>0)break t;a[l+28>>2]=m,u=m,f=0;break Z}if(n[l+56>>2]<=v>>>0){Y=a[l+32>>2],f=1;break Z}if((f=((C(a[l+16>>2],a[l+32>>2])+C(a[l+12>>2],v)|0)+C(a[l+20>>2],u)|0)+C(a[l+24>>2],a[l+36>>2])|0)>>>0>=n[l+8>>2])break c;if(f=a[l+4>>2]+(f<<1)|0,I[f>>1])break Q;break g}W=(f=a[l+224>>2])+(W=a[l+232>>2])-(f>>>0)%(W>>>0)|0;break u}f=0;continue G}f=1;continue G}for(;;){Z:{u:{Q:{if(f)Y=Y+1|0,a[l+32>>2]=Y;else{if(u>>>0>=kA>>>0)break Q;Y=a[l+48>>2],a[l+32>>2]=Y,z=(u<<4)+w|0}if(G=a[l+60>>2],((f=a[z+8>>2])>>>0>G>>>0?G:f)>>>0>Y>>>0){if(_=a[z>>2],f=31&(S=f+(-1^Y)|0),(63&S)>>>0>=32?(G=_<<f,L=0):(G=(1<<f)-1&_>>>32-f,L=_<<f),V=L,f=31&S,(0|(f=(63&S)>>>0>=32?G>>>f|0:((1<<f)-1&G)<<32-f|V>>>f))!=(0|_))break Z;if(f=31&S,((V=(63&S)>>>0>=32?-1>>>f|0:(1<<f)-1<<32-f|-1>>>f)&(f=a[z+4>>2]))!=(0|f))break Z;if(V=G,E=31&S,(63&S)>>>0>=32?(G=f<<E,lA=0):(G=(1<<E)-1&f>>>32-E,lA=f<<E),ZA=lA-1|0,E=FA=G-!lA|0,cA=(H=a[l+216>>2])>>>0>(T=ZA+H|0)>>>0?E+1|0:E,H=G,mA=Ie(T,cA,lA,G),T=E+1|0,T=Ie(E=ZA+(vA=a[l+208>>2])|0,T=vA>>>0>E>>>0?T:FA,lA,G),G=yA=V-!L|0,pA=Ie(aA=(CA=L-1|0)+(E=a[l+212>>2])|0,E>>>0>aA>>>0?G+1|0:G,L,V),E=G+1|0,E=Ie(G=CA+(RA=a[l+204>>2])|0,E=RA>>>0>G>>>0?E:yA,L,V),cA=a[z+12>>2]+(Y<<4)|0,G=31&(aA=(dA=a[cA>>2])+S|0),(0|_)!=((G=(63&aA)>>>0>=32?-1>>>G|0:(1<<G)-1<<32-G|-1>>>G)&_))break Z;if(xA=f,IA=31&(fA=(UA=a[cA+4>>2])+S|0),(63&fA)>>>0>=32?(G=f<<IA,jA=0):(G=(1<<IA)-1&f>>>32-IA,jA=f<<IA),IA=jA,f=31&fA,(0|xA)!=(0|(f=(63&fA)>>>0>=32?G>>>f|0:((1<<f)-1&G)<<32-f|IA>>>f)))break Z;if(jA=!!(ne(IA=a[l+224>>2],jA,G)|X),f=31&fA,(63&fA)>>>0>=32?(G=-1<<f,fA=0):G=(fA=-1<<f)|(1<<f)-1&-1>>>32-f,LA=-1^G,f=31&S,(63&S)>>>0>=32?(G=T<<f,f=0):(G=(1<<f)-1&T>>>32-f,f=T<<f),(!(f&(fA^=-1)|G&LA)|(0|IA)!=(0|vA))&jA)break Z;if(f=31&aA,(63&aA)>>>0>=32?(G=_<<f,f=0):(G=(1<<f)-1&_>>>32-f,f=_<<f),_=!!(ne(fA=a[l+220>>2],f,G)|X),f=31&aA,(63&aA)>>>0>=32?(G=-1<<f,aA=0):G=(aA=-1<<f)|(1<<f)-1&-1>>>32-f,vA=-1^G,f=31&S,(63&S)>>>0>=32?(G=E<<f,f=0):(G=(1<<f)-1&E>>>32-f,f=E<<f),(!(f&(aA^=-1)|G&vA)|(0|fA)!=(0|RA))&_)break Z;if(!(f=a[cA+8>>2])|!a[cA+12>>2]|(0|E)==(0|pA)|(0|T)==(0|mA))break Z;v=a[l+68>>2],a[l+40>>2]=v,G=(Ie(G=fA+CA|0,S=G>>>0<CA>>>0?yA+1|0:yA,L,V)>>>dA)-(E>>>dA)|0,Hf=l,Ff=C(f,(Ie(V=IA+ZA|0,E=V>>>0<IA>>>0?FA+1|0:FA,lA,H)>>>UA)-(T>>>UA)|0)+G|0,a[Hf+36>>2]=Ff,f=1;continue C}u=u+1|0,a[l+28>>2]=u;break u}AA=(f=a[l+220>>2])+(G=a[l+228>>2])-(f>>>0)%(G>>>0)|0,f=0;continue C}f=0;continue}f=1}}}}s:for(;;){if(f){if(a[l+32>>2]=W,n[l+60>>2]<=W>>>0)break o;H=a[l+108>>2],f=0}else Y=Y+1|0,a[l+40>>2]=Y,f=1;G:for(;;){C:{Z:{u:{Q:{if(!f){if(a[l+224>>2]=H,n[l+112>>2]<=H>>>0)break Q;E=a[l+100>>2],f=0;break C}if(n[l+56>>2]<=Y>>>0){u=a[l+28>>2],f=1;break C}if((f=((C(a[l+16>>2],a[l+32>>2])+C(a[l+12>>2],Y)|0)+C(a[l+20>>2],a[l+28>>2])|0)+C(a[l+24>>2],a[l+36>>2])|0)>>>0>=n[l+8>>2])break c;if(f=a[l+4>>2]+(f<<1)|0,I[f>>1])break u;break g}W=a[l+32>>2]+1|0;break Z}f=0;continue s}f=1;continue s}for(;;){C:{Z:{u:{if(f)u=u+1|0,a[l+28>>2]=u;else{if(a[l+220>>2]=E,n[l+104>>2]<=E>>>0)break u;a[l+28>>2]=m,u=m}if(u>>>0<dA>>>0){if(T=a[l+32>>2],L=a[l+200>>2]+(u<<4)|0,T>>>0>=(f=a[L+8>>2])>>>0)break C;if(S=a[L>>2],f=31&(v=f+(-1^T)|0),(63&v)>>>0>=32?(G=S<<f,z=0):(G=(1<<f)-1&S>>>32-f,z=S<<f),V=z,f=31&v,(0|(f=(63&v)>>>0>=32?G>>>f|0:((1<<f)-1&G)<<32-f|V>>>f))!=(0|S))break C;if(f=31&v,((w=(63&v)>>>0>=32?-1>>>f|0:(1<<f)-1<<32-f|-1>>>f)&(f=a[L+4>>2]))!=(0|f))break C;if(V=G,w=31&v,(63&v)>>>0>=32?(G=f<<w,aA=0):(G=(1<<w)-1&f>>>32-w,aA=f<<w),CA=aA-1|0,AA=cA=G-!aA|0,kA=(w=a[l+216>>2])>>>0>(_=CA+w|0)>>>0?AA+1|0:AA,w=G,UA=Ie(_,kA,aA,G),kA=AA+1|0,AA=Ie(AA=CA+(ZA=a[l+208>>2])|0,_=ZA>>>0>AA>>>0?kA:cA,aA,G),G=FA=V-!z|0,kA=Ie(fA=(lA=z-1|0)+(_=a[l+212>>2])|0,_>>>0>fA>>>0?G+1|0:G,z,V),fA=G+1|0,_=Ie(G=lA+(vA=a[l+204>>2])|0,_=vA>>>0>G>>>0?fA:FA,z,V),IA=a[L+12>>2]+(T<<4)|0,G=31&(L=(yA=a[IA>>2])+v|0),(0|S)!=((G=(63&L)>>>0>=32?-1>>>G|0:(1<<G)-1<<32-G|-1>>>G)&S))break C;if(fA=31&(T=(RA=a[IA+4>>2])+v|0),(63&T)>>>0>=32?(G=f<<fA,mA=0):(G=(1<<fA)-1&f>>>32-fA,mA=f<<fA),fA=31&T,(0|(fA=(63&T)>>>0>=32?G>>>fA|0:((1<<fA)-1&G)<<32-fA|mA>>>fA))!=(0|f))break C;if(mA=!!(ne(fA=a[l+224>>2],mA,G)|X),f=31&T,(63&T)>>>0>=32?(G=-1<<f,T=0):G=(T=-1<<f)|(1<<f)-1&-1>>>32-f,pA=-1^G,f=31&v,(63&v)>>>0>=32?(G=AA<<f,f=0):(G=(1<<f)-1&AA>>>32-f,f=AA<<f),(!(f&(T^=-1)|G&pA)|(0|fA)!=(0|ZA))&mA)break C;if(f=31&L,(63&L)>>>0>=32?(G=S<<f,f=0):(G=(1<<f)-1&S>>>32-f,f=S<<f),S=!!(ne(T=a[l+220>>2],f,G)|X),f=31&L,(63&L)>>>0>=32?(G=-1<<f,L=0):G=(L=-1<<f)|(1<<f)-1&-1>>>32-f,ZA=-1^G,f=31&v,(63&v)>>>0>=32?(G=_<<f,f=0):(G=(1<<f)-1&_>>>32-f,f=_<<f),(!(f&(L^=-1)|G&ZA)|(0|T)!=(0|vA))&S)break C;if(!(f=a[IA+8>>2])|!a[IA+12>>2]|(0|_)==(0|kA)|(0|AA)==(0|UA))break C;Y=a[l+68>>2],a[l+40>>2]=Y,G=(Ie(G=T+lA|0,v=G>>>0<lA>>>0?FA+1|0:FA,z,V)>>>yA)-(_>>>yA)|0,Hf=l,Ff=C(f,(Ie(V=fA+CA|0,v=V>>>0<fA>>>0?cA+1|0:cA,aA,w)>>>RA)-(AA>>>RA)|0)+G|0,a[Hf+36>>2]=Ff,f=1;continue G}E=(f=a[l+220>>2])+(G=a[l+228>>2])-(f>>>0)%(G>>>0)|0;break Z}H=(f=a[l+224>>2])+(G=a[l+232>>2])-(f>>>0)%(G>>>0)|0,f=0;continue G}f=0;continue}f=1}}}}n:for(;;){if(f){if(a[l+32>>2]=v,n[l+60>>2]<=v>>>0)break o;W=a[l+68>>2],f=0}else E=E+1|0,f=1;s:for(;;){G:{C:{Z:{u:{if(!f){if(a[l+40>>2]=W,n[l+56>>2]<=W>>>0)break u;a[l+28>>2]=u,f=u,V=0;break G}if(a[l+36>>2]=E,n[l+76>>2]<=E>>>0){f=a[l+28>>2],V=1;break G}if((f=((C(a[l+16>>2],a[l+32>>2])+C(a[l+12>>2],a[l+40>>2])|0)+C(a[l+20>>2],a[l+28>>2])|0)+C(a[l+24>>2],E)|0)>>>0>=n[l+8>>2])break c;if(f=a[l+4>>2]+(f<<1)|0,I[f>>1])break Z;break g}v=a[l+32>>2]+1|0;break C}f=0;continue n}f=1;continue n}for(;;){G:{C:{Z:{if(!V){if(f>>>0>=G>>>0)break Z;if(V=a[l+32>>2],w=a[l+200>>2]+(f<<4)|0,V>>>0>=n[w+8>>2])break G;k[0|l]||(f=a[w+12>>2]+(V<<4)|0,a[l+76>>2]=C(a[f+12>>2],a[f+8>>2])),E=a[l+72>>2],f=1;continue s}f=f+1|0,a[l+28>>2]=f;break C}W=a[l+40>>2]+1|0,f=0;continue s}V=0;continue}V=1}}}}f=0;break l}d(a[l+236>>2],1,1345,0)}f=0;break l}b[f>>1]=1,f=1}if(f){l:if(!(n[l+40>>2]>=n[YA+12>>2]||(f=a[l+32>>2],u=a[uA+20>>2]+C(a[l+28>>2],76)|0,f>>>0>=n[u+24>>2]))){for(G=(W=a[u+28>>2]+C(f,152)|0)+28|0,f=0;;){if(n[W+24>>2]<=f>>>0)break l;if(u=C(f,36),f=f+1|0,u=a[(V=G+u|0)+20>>2]+C(a[l+36>>2],40)|0,hA(eA,a[l+28>>2],a[l+32>>2],a[V+16>>2],a[u>>2],a[u+4>>2],a[u+8>>2],a[u+12>>2]))break}if(a[bA+(a[l+28>>2]<<2)>>2]=0,a[$+136>>2]=0,!Bf(gA,uA,YA,l,$+140|0,F,$+136|0,J,wA))break b;if(f=a[l+32>>2],w=a[l+28>>2],S=a[$+136>>2],a[$+140>>2]){for(AA=0,a[$+136>>2]=0,w=(m=a[28+(a[uA+20>>2]+C(w,76)|0)>>2]+C(f,152)|0)+28|0,_=F+J|0,E=J-S|0,V=L=F+S|0,u=0;n[m+24>>2]>AA>>>0;){g:if(!(a[w+8>>2]==a[w>>2]|a[w+12>>2]==a[w+4>>2]))for(f=a[w+20>>2]+C(a[l+36>>2],40)|0,T=C(a[f+20>>2],a[f+16>>2]),f=a[f+24>>2],W=0;;){if((0|W)==(0|T))break g;if(v=a[f+36>>2]){if(u|a[f+64>>2])a[f+52>>2]=0,H=64,G=1;else{Y=a[f>>2];o:{if(u=a[f+40>>2]){if(Y=C(u,24)+Y|0,a[Y-20>>2]!=a[Y-12>>2]){Y=Y-24|0;break o}G=u+1|0}else G=1;a[f+40>>2]=G}o:{for(;;){c:{if(!((H=a[Y+20>>2])>>>0<=(-1^V)>>>0&_>>>0>=V+H>>>0)){if(u=a[l+28>>2],G=a[l+32>>2],Y=a[l+36>>2],!a[a[gA+4>>2]+104>>2])break c;a[$+56>>2]=u,a[$+52>>2]=G,a[$+48>>2]=AA,a[$+44>>2]=Y,a[$+40>>2]=W,a[$+36>>2]=E,a[$+32>>2]=H,d(wA,1,14687,$+32|0);break b}if(z=a[f+4>>2],(0|(u=a[f+52>>2]))!=a[f+56>>2])G=v;else{if(!(z=p(z,(u=u<<1|1)<<3))){d(wA,1,1024,0);break b}a[f+56>>2]=u,a[f+4>>2]=z,u=a[f+52>>2],H=a[Y+20>>2],G=a[f+36>>2]}if(a[(v=(u<<3)+z|0)+4>>2]=H,a[v>>2]=V,a[f+52>>2]=u+1,a[Y>>2]=a[Y>>2]+H,z=(u=a[Y+16>>2])+a[Y+4>>2]|0,a[Y+4>>2]=z,v=G-u|0,a[f+36>>2]=v,a[Y+8>>2]=z,V=V+H|0,z=0,(0|G)==(0|u))break o;a[f+40>>2]=a[f+40>>2]+1,Y=Y+24|0;continue}break}a[$+24>>2]=u,a[$+20>>2]=G,a[$+16>>2]=AA,a[$+12>>2]=Y,a[$+8>>2]=W,a[$+4>>2]=E,a[$>>2]=H,d(wA,2,14687,$),a[f+52>>2]=0,a[f+64>>2]=1,z=1}u=z,H=44,G=a[f+40>>2]}a[f+H>>2]=G}f=f+68|0,W=W+1|0}AA=AA+1|0,w=w+36|0}S=(u?E:V-L|0)+S|0,w=a[l+28>>2],f=a[l+32>>2]}W=a[GA+24>>2]+C(w,52)|0,u=a[W+36>>2],a[W+36>>2]=f>>>0>u>>>0?f:u;break k}if(a[$+136>>2]=0,!Bf(gA,uA,YA,l,$+140|0,F,$+136|0,J,wA))break b;if(w=a[l+28>>2],S=a[$+136>>2],!a[$+140>>2])break k;for(E=a[l+32>>2],v=(f=a[28+(a[uA+20>>2]+C(w,76)|0)>>2]+C(E,152)|0)+28|0,L=a[f+24>>2],W=J-S|0,V=0,AA=0;;){if((0|AA)==(0|L)){W=V;break B}l:if(!(a[v+8>>2]==a[v>>2]|a[v+12>>2]==a[v+4>>2]))for(m=a[l+36>>2],f=a[v+20>>2]+C(m,40)|0,T=C(a[f+20>>2],a[f+16>>2]),z=a[f+24>>2],G=0;;){if((0|G)==(0|T))break l;g:if(u=a[z+36>>2]){f=a[z>>2];o:{c:{if(H=a[z+40>>2]){if(f=C(H,24)+f|0,a[f-20>>2]!=a[f-12>>2]){f=f-24|0;break c}H=H+1|0}else H=1;Y=0;break o}Y=1}for(;;)if(Y){o:{c:{if(!((V=(Y=a[f+20>>2])+V|0)>>>0>=Y>>>0&W>>>0>=V>>>0)){if(a[a[gA+4>>2]+104>>2])break c;a[$+88>>2]=w,a[$+84>>2]=E,a[$+80>>2]=AA,a[$+76>>2]=m,a[$+72>>2]=G,a[$+68>>2]=W,a[$+64>>2]=Y,d(wA,2,14602,$- -64|0),w=a[l+28>>2];break B}if(_=a[f+16>>2],a[f+4>>2]=_+a[f+4>>2],Y=u-_|0,a[z+36>>2]=Y,(0|u)==(0|_))break g;H=H+1|0,f=f+24|0,u=Y;break o}a[$+120>>2]=w,a[$+116>>2]=E,a[$+112>>2]=AA,a[$+108>>2]=m,a[$+104>>2]=G,a[$+100>>2]=W,a[$+96>>2]=Y,d(wA,1,14602,$+96|0);break b}Y=0}else a[z+40>>2]=H,Y=1}G=G+1|0,z=z+68|0}AA=AA+1|0,v=v+36|0}}U(bA),EA=EA+1|0,l=l+240|0;continue a}S=W+S|0}a[bA+(w<<2)>>2]&&(f=a[GA+24>>2]+C(w,52)|0,a[f+36>>2]||(a[f+36>>2]=a[24+(a[uA+20>>2]+C(w,76)|0)>>2]-1)),J=J-S|0,F=F+S|0}}break}BA(R,HA),a[MA+8>>2]=F-nA,f=1;break e}BA(R,HA),U(bA);break i}BA(R,HA)}f=0}if(y=$+144|0,VA(gA),f){for(v=a[a[eA+32>>2]+5584>>2],w=a[a[eA+20>>2]>>2],E=a[w+20>>2],a[MA+12>>2]=1,bA=0,f=a[eA+32>>2],nA=a[v+16>>2]>>>4&1&a[f+12>>2]==a[f+8>>2];;){e:if(!(n[w+16>>2]<=bA>>>0)){if(f=a[eA+68>>2],a[f+(bA<<2)>>2]||!f){for(m=MA+12|0,F=0,J=a[eA+44>>2];;){i:if(!(n[E+24>>2]<=F>>>0)){for(H=(V=a[E+28>>2]+C(F,152)|0)+28|0,Y=0;n[V+24>>2]>Y>>>0;){for(W=H+C(Y,36)|0,G=0;C(a[V+20>>2],a[V+16>>2])>>>0>G>>>0;){R=0;r:{if(u=a[W+20>>2]+C(G,40)|0,!hA(eA,a[E+16>>2],F,a[W+16>>2],a[u>>2],a[u+4>>2],a[u+8>>2],a[u+12>>2]))for(;;){if(C(a[u+20>>2],a[u+16>>2])>>>0<=R>>>0)break r;f=a[u+24>>2]+C(R,68)|0,(l=a[f+60>>2])&&(U(l),a[f+60>>2]=0),R=R+1|0}for(;;){if(C(a[u+20>>2],a[u+16>>2])>>>0<=R>>>0)break r;l=a[u+24>>2]+C(R,68)|0;b:if(hA(eA,a[E+16>>2],F,a[W+16>>2],a[l+8>>2],a[l+12>>2],a[l+16>>2],a[l+20>>2])){if(a[eA+64>>2]||!(a[l+60>>2]|a[l+16>>2]==a[l+8>>2]|a[l+20>>2]==a[l+12>>2])){if(!(f=D(1,44))){a[MA+12>>2]=0;break i}if(S=a[eA+64>>2],a[f+36>>2]=0,a[f+28>>2]=m,a[f+20>>2]=v,a[f+16>>2]=E,a[f+12>>2]=W,a[f+8>>2]=l,a[f+4>>2]=F,a[f>>2]=S,a[f+40>>2]=nA,a[f+32>>2]=wA,a[f+24>>2]=a[J+4>>2]>1,oA(J,14,f),!a[MA+12>>2])break i}}else{if(!(f=a[l+60>>2]))break b;U(f),a[l+60>>2]=0}R=R+1|0}}G=G+1|0}Y=Y+1|0}F=F+1|0;continue}break}if(!a[MA+12>>2])break e}v=v+1080|0,E=E+76|0,bA=bA+1|0;continue}break}if(j(a[eA+44>>2]),a[MA+12>>2]){e:{if(!a[eA+64>>2])for(bA=0;;){if(v=a[eA+24>>2],n[v+16>>2]<=bA>>>0)break e;if(f=a[a[a[eA+20>>2]>>2]+20>>2]+C(bA,76)|0,l=a[f+28>>2]+C(a[36+(a[v+24>>2]+C(bA,52)|0)>>2],152)|0,u=a[l+136>>2],W=a[l+144>>2],G=a[l+140>>2],l=a[l+148>>2],U(a[f+52>>2]),a[f+52>>2]=0,V=a[eA+68>>2],!((0|u)==(0|W)|(0|l)==(0|G)|(a[V+(bA<<2)>>2]?0:V))){if(le(l=l-G|0,0,u=W-u|0),X){d(wA,1,2976,0);break f}if((l=C(l,u))>>>0>=1073741824){d(wA,1,2976,0);break f}if(G=f,f=N(l<<2),a[G+52>>2]=f,!f){d(wA,1,2976,0);break f}}bA=bA+1|0}v=a[eA+24>>2]}v=a[v+24>>2],E=a[a[eA+32>>2]+5584>>2],kf=a[a[eA+20>>2]>>2],V=a[kf+20>>2],bA=0;e:{for(;n[kf+16>>2]>bA>>>0;){f=a[eA+68>>2];i:if(a[f+(bA<<2)>>2]||!f){if(W=a[v+36>>2]+1|0,1==a[E+20>>2]){y=L=y+-64|0;r:{b:{a:{if(a[eA+64>>2]){if(u=1,1==(0|W))break r;if(f=(G=a[V+28>>2])+C(a[V+24>>2],152)|0,(0|(l=a[f-144>>2]))==(0|(f=a[f-152>>2])))break r;if(J=a[G+4>>2],w=a[G+12>>2],F=a[G>>2],Y=a[G+8>>2],R=a[eA+44>>2],nA=a[R+4>>2],u=0,(m=WA(G,W))>>>0>134217727)break r;if(S=tA(z=m<<5),a[L+24>>2]=S,!S)break r;for(m=l-f|0,J=w-J|0,l=Y-F|0,a[L+8>>2]=S,u=1;;){if(!(W=W-1|0))break b;H=a[V+36>>2],a[L+16>>2]=J,a[L+32>>2]=l,F=a[G+156>>2],Y=a[G+164>>2],f=a[G+160>>2],w=a[G+152>>2],a[L+36>>2]=(0|w)%2,w=f-w|0,a[L+28>>2]=w-l,f=0;k:{if(!(!(AA=(0|nA)<2)&(F=Y-F|0)>>>0>1))for(;;){if((0|f)==(0|F))break k;Cf(L+24|0,H+(C(f,m)<<2)|0),f=f+1|0}for(gA=(Y=F>>>0<nA>>>0?F:nA)-1|0,$=(F>>>0)/(Y>>>0)|0,l=0;;){if((0|l)!=(0|Y)){if(!(f=M(36)))break a;if(_=a[L+36>>2],a[f+8>>2]=a[L+32>>2],a[f+12>>2]=_,_=a[L+28>>2],a[f>>2]=a[L+24>>2],a[f+4>>2]=_,a[f+24>>2]=H,a[f+20>>2]=m,a[f+16>>2]=w,a[f+28>>2]=C(l,$),_=(0|l)==(0|gA),l=l+1|0,a[f+32>>2]=_?F:C($,l),_=tA(z),a[f>>2]=_,_){oA(R,10,f);continue}u=0,j(R),U(f);break b}break}j(R)}if(Y=G+152|0,a[L+12>>2]=F-J,a[L+20>>2]=a[G+156>>2]%2,f=0,!AA&w>>>0>1){for($=(G=w>>>0<nA>>>0?w:nA)-1|0,J=(w>>>0)/(G>>>0)|0,l=0;;){if((0|l)!=(0|G)){if(!(f=M(36)))break a;if(AA=a[L+20>>2],a[f+8>>2]=a[L+16>>2],a[f+12>>2]=AA,AA=a[L+12>>2],a[f>>2]=a[L+8>>2],a[f+4>>2]=AA,a[f+24>>2]=H,a[f+20>>2]=m,a[f+16>>2]=F,a[f+28>>2]=C(l,J),AA=(0|l)==(0|$),l=l+1|0,a[f+32>>2]=AA?w:C(J,l),AA=tA(z),a[f>>2]=AA,AA){oA(R,11,f);continue}u=0,j(R),U(f);break b}break}j(R)}else{for(;(l=f+8|0)>>>0<=w>>>0;)QA(L+8|0,H+(f<<2)|0,m,8),f=l;if(G=Y,J=F,(l=w)>>>0<=f>>>0)continue;QA(L+8|0,H+(f<<2)|0,m,l-f|0)}G=Y,l=w,J=F}}if(u=1,GA=(T=a[V+28>>2])+C(W,152)|0,a[(kA=GA-152|0)>>2]==a[GA-144>>2])break r;if(a[(mA=GA-148|0)>>2]==a[GA-140>>2])break r;if(f=a[T+4>>2],l=a[T+12>>2],G=a[T>>2],J=a[T+8>>2],FA=a[V+68>>2],vA=a[V+64>>2],yA=a[V+60>>2],RA=a[V+56>>2],u=0,!(fA=Gf(V,W)))break r;if(u=1,1==(0|W)){f=a[GA-16>>2],l=a[kA>>2],W=a[mA>>2],G=a[GA-8>>2],x(fA,f-l|0,a[GA-12>>2]-W|0,G-l|0,a[GA-4>>2]-W|0,a[V+52>>2],1,G-f|0),q(fA);break r}k:{if(!((u=WA(T,W))>>>0>=268435456)&&(H=tA(u<<4))){R=l-f|0,u=J-G|0,If=W>>>0<=1?1:W,CA=H+4|0,cA=1;B:{l:for(;;){if((0|cA)==(0|If))break B;for(f=a[T+156>>2],G=a[T+164>>2],l=a[T+152>>2],W=a[T+160>>2],iA(V,cA,0,RA,yA,vA,FA,L+24|0,L+8|0,L+60|0,L+56|0),iA(V,cA,1,RA,yA,vA,FA,L+52|0,0,L+48|0,0),iA(V,cA,2,RA,yA,vA,FA,0,L+44|0,0,L+40|0),lA=(J=(F=(J=(F=(J=a[L+48>>2])-(w=a[T+180>>2])|0)>>>0<=J>>>0?F:0)+2|0)>>>0<J>>>0?-1:F)>>>0<(aA=(nA=W-l|0)-u|0)>>>0?J:aA,HA=u>>>0>(W=(W=(W=a[L+60>>2])>>>0>=(F=W-(J=a[T+216>>2])|0)>>>0?F:0)>>>0>(F=W+2|0)>>>0?-1:F)>>>0?W:u,ZA=nA>>>0>(pA=(l=((EA=(0|l)%2|0)?lA:HA)<<1)>>>0>(W=(EA?HA:lA)<<1|1)>>>0?l:W)>>>0?pA:nA,Y=(l=(l=a[L+52>>2])>>>0>=(W=l-w|0)>>>0?W:0)>>>0>=(W=l-2|0)>>>0?W:0,F=(l=(l=a[L+24>>2])>>>0>=(W=l-J|0)>>>0?W:0)>>>0>=(W=l-2|0)>>>0?W:0,z=(l=(EA?Y:F)<<1)>>>0<(W=(EA?F:Y)<<1|1)>>>0?l:W,W=w=(l=(l=a[L+8>>2])>>>0>=(W=l-(m=a[T+184>>2])|0)>>>0?W:0)>>>0>=(W=l-2|0)>>>0?W:0,S=J=(l=(l=a[L+44>>2])>>>0>=(J=l-($=a[T+220>>2])|0)>>>0?J:0)>>>0>=(J=l-2|0)>>>0?J:0,l=IA=(l=(l=(l=a[L+56>>2])>>>0>=(m=l-m|0)>>>0?m:0)>>>0>(m=l+2|0)>>>0?-1:m)>>>0<R>>>0?l:R,G=AA=($=(m=(m=a[L+40>>2])>>>0>=($=m-$|0)>>>0?$:0)>>>0>($=m+2|0)>>>0?-1:$)>>>0<(YA=(m=G-f|0)-R|0)>>>0?$:YA,(dA=(0|f)%2|0)&&(S=W,G=l,W=J,l=AA),T=T+152|0,UA=H+(F<<3)|0,TA=(f=H+(aA<<3)|0)-4|0,ff=($=(0|F)<(0|aA))?UA+4|0:TA,_=(0|Y)>(0|(gA=(0|(gA=u-1|0))>(0|lA)?lA:gA))?Y:gA,nf=(l=(l<<=1)>>>0>(G=G<<1|1)>>>0?l:G)>>>0<m>>>0?l:m,jA=(l=W<<1)>>>0<(W=S<<1|1)>>>0?l:W,gA=0,OA=(0|u)>1|(0|aA)>0,ef=(CA-(l=EA<<2)|0)+(Y<<3)|0,zA=l+UA|0,JA=(0|aA)>(0|HA)?HA:aA,bf=(0|Y)<(0|lA)?lA:Y,Zf=u+lA|0,tf=u+Y|0,LA=R+AA|0,lf=R+J|0,Wf=H+(z<<2)|0,wf=!u&1==(0|aA),uA=(l=H+(u<<3)|0)-8|0,qA=l-4|0,$A=f-8|0,Vf=(gf=H+(ZA<<2)|0)-4|0,xA=(H+(($?F:aA)<<3)|0)-4|0;;){if((0|($=gA))!=(0|m)){if(!($>>>0<IA>>>0&w>>>0<=$>>>0|$>>>0<LA>>>0&$>>>0>=lf>>>0)){gA=$+1|0;continue}nA>>>0>pA>>>0&&(a[Vf>>2]=0,a[gf>>2]=0),x(fA,F,$,HA,gA=$+1|0,zA,2,0),x(fA,tf,$,Zf,gA,ef,2,0);g:{if(!EA){if(!OA)break g;o:if(!((0|F)>=(0|HA))){c:{if((0|F)>0)f=a[xA>>2];else if(W=f=a[CA>>2],(0|F)<0)break c;W=f,f=a[ff>>2]}for(a[UA>>2]=a[UA>>2]-(2+(f+W|0)>>2),W=F;(0|JA)>(0|(f=W+1|0));)a[(l=H+(f<<3)|0)>>2]=a[l>>2]-(2+(a[4+(H+(W<<3)|0)>>2]+a[l+4>>2]|0)>>2),W=f;for(;;){if((0|f)>=(0|HA))break o;W=a[(l=H+(f<<3)|0)>>2];c:{if((0|f)>0)S=a[(H+(((0|f)<(0|aA)?f:aA)<<3)|0)-4>>2];else if(S=a[CA>>2],G=CA,(0|f)<0)break c;G=TA,(0|f)>=(0|aA)||(G=4+(H+(f<<3)|0)|0)}a[l>>2]=W-(2+(a[G>>2]+S|0)>>2),f=f+1|0}}if((0|lA)<=(0|(f=Y)))break g;for(;;){if((0|f)!=(0|_)){l=H+(f<<3)|0,f=f+1|0,a[l+4>>2]=a[l+4>>2]+(a[H+(f<<3)>>2]+a[l>>2]>>1);continue}for(f=_;;){if((0|f)>=(0|lA))break g;l=uA;o:{if((0|f)>=0)S=a[((0|f)<(0|u)?H+(f<<3):l)>>2],W=f+1|0;else{if(S=a[H>>2],-1!=(0|f)){W=f+1|0,l=H;break o}W=0}(0|u)<=(0|W)||(l=H+(W<<3)|0)}a[(f=H+(f<<3)|0)+4>>2]=a[f+4>>2]+(a[l>>2]+S>>1),f=W}}}if(f=F,wf)a[H>>2]=a[H>>2]/2;else for(;;){if(!((0|f)>=(0|HA))){W=a[(l=H+(f<<3)|0)+4>>2],S=$A;o:{if((0|f)>=0)G=a[((0|f)<(0|aA)?l:$A)>>2],f=f+1|0;else{if(G=a[H>>2],-1!=(0|f)){f=f+1|0,S=H;break o}f=0}(0|f)>=(0|aA)||(S=H+(f<<3)|0)}a[l+4>>2]=W-(2+(a[S>>2]+G|0)>>2);continue}for(f=Y;;){if((0|f)==(0|bf))break g;G=a[(W=H+(f<<3)|0)>>2];o:{c:{if((0|f)<0)l=a[CA>>2];else if(l=a[((0|f)<(0|u)?W+4:qA)>>2],f)break c;S=CA;break o}S=(0|f)>(0|u)?qA:W-4|0}a[W>>2]=G+(a[S>>2]+l>>1),f=f+1|0}}}if(rA(fA,z,$,ZA,gA,Wf,1,0))continue}else for(F=(0|(f=(0|(f=R-1|0))>(0|AA)?AA:f))<(0|J)?J:f,HA=(0|R)>1|(0|YA)>0,EA=($=H+(w<<5)|0)+(dA<<4)|0,UA=(H+(4-(dA<<2)<<2)|0)+(J<<5)|0,pA=(0|IA)<(0|YA)?IA:YA,gA=(0|J)<(0|AA)?AA:J,qA=(0|w)<(0|IA)?IA:w,$A=H+(jA<<4)|0,TA=!R&1==(0|YA),_=(f=H+(R<<5)|0)-32|0,uA=(l=H+(YA<<5)|0)-16|0,ff=f-16|0,aA=l-32|0,ef=(H+(((OA=(0|w)<(0|YA))?w:YA)<<5)|0)-16|0;;){g:{o:{c:{if((Y=z)>>>0<ZA>>>0){if(x(fA,Y,w,z=Y+((f=ZA-Y|0)>>>0>=4?4:f)|0,IA,EA,1,8),x(fA,Y,lf,z,LA,UA,1,8),dA)break c;if(!HA)break g;if(f=0,(0|w)>=(0|IA))break o;for(;;){if(4!=(0|f)){G=a[(u=(l=f<<2)+$|0)>>2];I:{if((0|w)>0)W=a[l+ef>>2];else if(W=a[(l=H+(f<<2)|0)+16>>2],!((0|w)>=0)){S=l+16|0;break I}S=(l=f<<2)+uA|0,OA&&(S=16+(l+$|0)|0)}l=S,a[u>>2]=G-(2+(a[l>>2]+W|0)>>2),f=f+1|0;continue}f=w;I:for(;;){if((0|pA)>(0|(l=f+1|0)))for(W=H+(l<<5)|0,G=H+(f<<5)|0,f=0;;){if(4==(0|f)){f=l;continue I}a[(u=(S=f<<2)+W|0)>>2]=a[u>>2]-(2+(a[16+(G+S|0)>>2]+a[u+16>>2]|0)>>2),f=f+1|0;continue}break}for(;;){if((0|l)>=(0|IA))break o;for(u=H+(l<<5)|0,S=(H+(((G=(0|l)<(0|YA))?l:YA)<<5)|0)-16|0,f=0;4!=(0|f);){zA=a[(lA=(W=f<<2)+u|0)>>2];I:{if((0|l)>0)W=a[W+S>>2];else if(W=a[(JA=H+(f<<2)|0)+16>>2],!((0|l)>=0)){xA=JA+16|0;break I}xA=(JA=f<<2)+uA|0,G&&(xA=16+(u+JA|0)|0)}JA=xA,a[lA>>2]=zA-(2+(a[JA>>2]+W|0)>>2),f=f+1|0}l=l+1|0}}}cA=cA+1|0,u=nA,R=m;continue l}if(f=0,l=w,TA)for(;;){if(4==(0|f))break g;a[(l=H+(f<<2)|0)>>2]=a[l>>2]/2,f=f+1|0}c:for(;;){if((0|l)==(0|qA))for(u=J;;){if((0|u)==(0|gA))break g;for(lA=(S=H+(u<<5)|0)-16|0,f=0;4!=(0|f);){zA=a[(W=(l=f<<2)+S|0)>>2];I:{n:{if((0|u)<0)G=a[16+(l+H|0)>>2];else if(JA=l+ff|0,G=a[((0|u)<(0|R)?W+16:JA)>>2],u)break n;l=16+(l+H|0)|0;break I}l=(0|u)>(0|R)?JA:l+lA|0}a[W>>2]=zA+(a[l>>2]+G>>1),f=f+1|0}u=u+1|0}for(zA=H+(l<<5)|0,JA=H+((u=l+1|0)<<5)|0,f=0;;){if(4==(0|f)){l=u;continue c}bf=a[(lA=(G=f<<2)+zA|0)+16>>2];I:{if((0|l)>=0)W=a[((0|l)<(0|YA)?lA:G+aA)>>2];else if(W=a[(S=G+H|0)>>2],-1!=(0|l))break I;(0|u)>=(0|YA)?S=G+aA|0:S=G+JA|0}a[lA+16>>2]=bf-(2+(a[S>>2]+W|0)>>2),f=f+1|0;continue}}}if(!((0|AA)<=(0|(G=J))))for(;;){if((0|G)!=(0|F)){for(W=(u=H+(G<<5)|0)+32|0,f=0;4!=(0|f);)a[(l=(S=f<<2)+u|0)+16>>2]=a[l+16>>2]+(a[W+S>>2]+a[l>>2]>>1),f=f+1|0;G=G+1|0;continue}l=F;o:for(;;){if((0|l)==(0|gA))break g;for(S=H+(l<<5)|0,lA=(0|l)<(0|R)?S:_,zA=H+((G=l+1|0)<<5)|0,f=0;;){if(4==(0|f)){l=G;continue o}c:{if((0|l)>=0)u=a[lA+(f<<2)>>2];else if(u=a[(W=H+(f<<2)|0)>>2],-1!=(0|l))break c;(0|G)>=(0|R)?W=_+(f<<2)|0:W=zA+(f<<2)|0}a[(JA=S+(f<<2)|0)+16>>2]=a[JA+16>>2]+(a[W>>2]+u>>1),f=f+1|0;continue}}}}if(!rA(fA,Y,jA,z,nf,$A,1,4))break}break}break}q(fA),U(H);break k}U(H),u=1,f=a[GA-16>>2],l=a[kA>>2],W=a[mA>>2],G=a[GA-8>>2],x(fA,f-l|0,a[GA-12>>2]-W|0,G-l|0,a[GA-4>>2]-W|0,a[V+52>>2],1,G-f|0),q(fA);break r}q(fA)}u=0;break r}u=0,j(R)}U(S)}if(y=L- -64|0,u)break i;break e}R=W,y=m=y-96|0;r:{b:{a:{if(a[eA+64>>2]){if(f=(u=a[V+28>>2])+C(a[V+24>>2],152)|0,G=a[f-152>>2],S=1,$=a[eA+44>>2],AA=a[$+4>>2],1==(0|W))break r;if(f=a[f-144>>2],l=a[u+4>>2],J=a[u+12>>2],w=a[u>>2],F=a[u+8>>2],S=0,(W=WA(u,W))>>>0>134217727)break r;if(z=N(_=W<<5),a[m+64>>2]=z,!z)break r;J=J-l|0,l=F-w|0,a[m+32>>2]=z,S=1,uA=(W=AA>>>1|0)>>>0<=2?2:W,aA=(H=f-G|0)<<5,fA=C(H,28),YA=C(H,24),GA=C(H,20),lA=H<<4,IA=C(H,12),HA=H<<3;k:for(;;){if(!(R=R-1|0))break b;G=a[V+36>>2],a[m+40>>2]=J,a[m+72>>2]=l,w=a[u+156>>2],F=a[u+164>>2],W=a[u+160>>2],f=a[u+152>>2],Y=0,a[m+88>>2]=0,a[m+84>>2]=l,a[m+80>>2]=0,CA=(0|f)%2|0,a[m+76>>2]=CA,gA=(W=W-f|0)-l|0,a[m+92>>2]=gA,a[m+68>>2]=gA,nA=F-w|0;B:{l:{if(cA=(0|AA)<2)f=G;else if(f=G,nA>>>0>15)break l;for(;;){if(nA>>>0<=(7|Y)>>>0)break B;for(NA(l=m- -64|0,f,H,8),O(l),w=0,F=0;(0|W)!=(0|F);)gA=z+(F<<5)|0,s[(l=(F<<2)+f|0)>>2]=s[gA>>2],s[l+(H<<2)>>2]=s[gA+4>>2],s[l+HA>>2]=s[gA+8>>2],s[l+IA>>2]=s[gA+12>>2],F=F+1|0;for(;(0|W)!=(0|w);)F=z+(w<<5)|0,s[(l=(w<<2)+f|0)+lA>>2]=s[F+16>>2],s[l+GA>>2]=s[F+20>>2],s[l+YA>>2]=s[F+24>>2],s[l+fA>>2]=s[F+28>>2],w=w+1|0;Y=Y+8|0,f=f+aA|0}}for(T=(nA>>>0)/((L=(w=nA>>>3|0)>>>0<AA>>>0?w:AA)>>>0)&-8,Y=-8&nA,F=0;;){if((0|F)!=(0|L)){if(!(w=M(48)))break a;if(EA=N(_),a[w>>2]=EA,EA){a[w+40>>2]=f,a[w+36>>2]=H,a[w+32>>2]=W,a[w+28>>2]=gA,a[w+24>>2]=0,a[w+20>>2]=l,a[w+16>>2]=0,a[w+12>>2]=CA,a[w+8>>2]=l,a[w+4>>2]=gA,kA=Y-C(F,T)|0,EA=(0|L)==(0|(F=F+1|0))?kA:T,a[w+44>>2]=EA,oA($,12,w),f=(C(H,EA)<<2)+f|0;continue}S=0,j($),U(w);break b}break}j($)}B:if(!(Y>>>0>=nA>>>0))for(NA(l=m- -64|0,f,H,F=nA-Y|0),O(l),Y=0;;){if((0|W)==(0|Y))break B;for(l=(Y<<2)+f|0,gA=z+(Y<<5)|0,w=0;(0|w)!=(0|F);)s[l+(C(w,H)<<2)>>2]=s[gA+(w<<2)>>2],w=w+1|0;Y=Y+1|0}l=nA-J|0,a[m+36>>2]=l,f=a[u+156>>2],a[m+60>>2]=l,a[m+56>>2]=0,a[m+52>>2]=J,a[m+48>>2]=0,gA=(0|f)%2|0,a[m+44>>2]=gA;B:{if(!(!cA&W>>>0>15))for(F=W;;){if(F>>>0<8)break B;for(SA(f=m+32|0,G,H,8),O(f),w=0;(0|w)!=(0|nA);)J=a[(f=z+(w<<5)|0)+28>>2],l=(C(w,H)<<2)+G|0,a[l+24>>2]=a[f+24>>2],a[l+28>>2]=J,J=a[f+20>>2],a[l+16>>2]=a[f+16>>2],a[l+20>>2]=J,J=a[f+12>>2],a[l+8>>2]=a[f+8>>2],a[l+12>>2]=J,J=a[f+4>>2],a[l>>2]=a[f>>2],a[l+4>>2]=J,w=w+1|0;F=F-8|0,G=G+32|0}for(Y=(W>>>0)/((w=(f=W>>>3|0)>>>0<uA>>>0?f:uA)>>>0)&-8,L=-8&W,F=0;;){if((0|w)!=(0|F)){if(!(f=M(48)))break a;if(T=N(_),a[f>>2]=T,T){a[f+40>>2]=G,a[f+36>>2]=H,a[f+32>>2]=nA,a[f+28>>2]=l,a[f+24>>2]=0,a[f+20>>2]=J,a[f+16>>2]=0,a[f+12>>2]=gA,a[f+8>>2]=J,a[f+4>>2]=l,kA=L-C(Y,F)|0,T=(0|w)==(0|(F=F+1|0))?kA:Y,a[f+44>>2]=T,oA($,13,f),G=(T<<2)+G|0;continue}S=0,j($),U(f);break b}break}j($)}if(u=u+152|0,J=nA,f=7&(l=W))for(SA(W=m+32|0,G,H,f),f<<=2,O(W),w=0;;){if((0|w)==(0|J))continue k;f&&o((C(w,H)<<2)+G|0,z+(w<<5)|0,f),w=w+1|0}}}if(S=1,z=(F=a[V+28>>2])+C(R,152)|0,a[(aA=z-152|0)>>2]==a[z-144>>2])break r;if(a[(fA=z-148|0)>>2]==a[z-140>>2])break r;if(f=a[F+4>>2],l=a[F+12>>2],u=a[F>>2],W=a[F+8>>2],gA=a[V+68>>2],_=a[V+64>>2],uA=a[V+60>>2],L=a[V+56>>2],S=0,!(H=Gf(V,R)))break r;if(S=1,1==(0|R)){f=a[z-16>>2],l=a[aA>>2],u=a[fA>>2],W=a[z-8>>2],x(H,f-l|0,a[z-12>>2]-u|0,W-l|0,a[z-4>>2]-u|0,a[V+52>>2],1,W-f|0),q(H);break r}k:{if(!((G=WA(F,R))>>>0>=134217728)&&($=N(G<<5),a[m+64>>2]=$,$)){w=l-f|0,l=W-u|0,cA=R>>>0<=1?1:R,a[m+32>>2]=$,EA=$+32|0;B:{l:for(;;){if((0|S)==(0|cA))break B;for(a[m+72>>2]=l,a[m+40>>2]=w,G=a[F+160>>2],f=a[F+152>>2],u=a[F+164>>2],YA=(0|(W=a[F+156>>2]))%2|0,a[m+44>>2]=YA,u=(W=u-W|0)-w|0,a[m+36>>2]=u,AA=(0|f)%2|0,a[m+76>>2]=AA,f=(G=G-f|0)-l|0,a[m+68>>2]=f,iA(V,S,0,L,uA,_,gA,m+28|0,m+24|0,m+20|0,m+16|0),iA(V,S,1,L,uA,_,gA,m+12|0,0,m+8|0,0),iA(V,S,2,L,uA,_,gA,0,m+4|0,0,m),GA=f>>>0>(J=(R=(J=(R=(J=a[m+8>>2])-(Y=a[F+180>>2])|0)>>>0<=J>>>0?R:0)+4|0)>>>0<J>>>0?-1:R)>>>0?J:f,lA=(f=(f=(f=a[m+20>>2])>>>0>=(R=f-(J=a[F+216>>2])|0)>>>0?R:0)>>>0>(R=f+4|0)>>>0?-1:R)>>>0<l>>>0?f:l,IA=(AA?GA:lA)<<1,HA=(f=(f=a[m+12>>2])>>>0>=(l=f-Y|0)>>>0?l:0)>>>0>=(l=f-4|0)>>>0?l:0,CA=(f=(f=a[m+28>>2])>>>0>=(l=f-J|0)>>>0?l:0)>>>0>=(l=f-4|0)>>>0?l:0,l=(f=(AA?HA:CA)<<1)>>>0<(l=(AA?CA:HA)<<1|1)>>>0?f:l,f=a[F+184>>2],T=(R=(J=a[m>>2])-(Y=a[F+220>>2])|0)>>>0<=J>>>0?R:0,a[m>>2]=T,R=(R=(J=a[m+16>>2])-f|0)>>>0<=J>>>0?R:0,a[m+16>>2]=R,Y=(Y=(J=a[m+4>>2])-Y|0)>>>0<=J>>>0?Y:0,a[m+4>>2]=Y,f=(f=(J=a[m+24>>2])-f|0)>>>0<=J>>>0?f:0,a[m+24>>2]=f,f=J=f>>>0>=(J=f-4|0)>>>0?J:0,Y=nA=Y>>>0>=(nA=Y-4|0)>>>0?nA:0,R=w>>>0>(R=R>>>0>(ZA=R+4|0)>>>0?-1:ZA)>>>0?R:w,u=T=u>>>0>(T=T>>>0>(ZA=T+4|0)>>>0?-1:ZA)>>>0?T:u,AA=G>>>0>(AA=(AA=(AA?lA:GA)<<1|1)>>>0<IA>>>0?IA:AA)>>>0?AA:G,F=F+152|0,a[m+92>>2]=GA,a[m+88>>2]=HA,a[m+84>>2]=lA,a[m+80>>2]=CA,YA?(f=Y,Y=J,u=R,kA=T):kA=R,IA=(u=(u=u<<1|1)>>>0<(GA=kA<<1)>>>0?GA:u)>>>0<W>>>0?u:W,GA=(f<<=1)>>>0<(u=Y<<1|1)>>>0?f:u,u=w+T|0,Y=w+nA|0,lA=$+(l<<5)|0,w=0;;){g:{o:{if((f=7|w)>>>0<W>>>0){if(w>>>0<R>>>0&f>>>0>=J>>>0|u>>>0>w>>>0&f>>>0>=Y>>>0)break o;w=w+8|0;continue}if(!(!(w>>>0<R>>>0&f>>>0>=J>>>0)&(f>>>0<Y>>>0|u>>>0<=w>>>0)|W>>>0<=w>>>0||(sf(f=m- -64|0,H,w,W-w|0),O(f),rA(H,l,w,AA,W,lA,8,1))))break g;for(a[m+60>>2]=T,a[m+52>>2]=R,a[m+56>>2]=nA,w=(EA-(f=YA<<5)|0)+(nA<<6)|0,a[m+48>>2]=J,nA=(f+$|0)+(J<<6)|0,T=$+(GA<<5)|0;;){if(l>>>0<AA>>>0){if(x(H,l,J,f=((f=AA-l|0)>>>0>=8?8:f)+l|0,R,nA,1,16),x(H,l,Y,f,u,w,1,16),O(m+32|0),f=rA(H,l,GA,f,IA,T,1,8),l=l+8|0,f)continue;break g}break}S=S+1|0,l=G,w=W;continue l}if(sf(f=m- -64|0,H,w,8),O(f),rA(H,l,f=w,AA,w=w+8|0,lA,8,1))continue}break}break}q(H),U($);break k}S=1,f=a[z-16>>2],l=a[aA>>2],u=a[fA>>2],W=a[z-8>>2],x(H,f-l|0,a[z-12>>2]-u|0,W-l|0,a[z-4>>2]-u|0,a[V+52>>2],1,W-f|0),q(H),U($);break r}q(H)}S=0;break r}S=0,j($)}U(z)}if(y=m+96|0,!S)break e}E=E+1080|0,v=v+52|0,V=V+76|0,bA=bA+1|0}f=a[eA+32>>2],F=a[f+16>>2];i:if(!(a[eA+68>>2]|!F)){u=a[a[eA+20>>2]>>2],E=a[u+20>>2],G=a[E+28>>2];r:{b:{if(V=a[eA+64>>2]){if((W=a[u+16>>2])>>>0<3)break r;if(!((0|(l=a[E+24>>2]))==a[E+100>>2]&(0|l)==a[E+176>>2])){d(wA,1,10083,0);break f}if(J=a[a[eA+24>>2]+24>>2],!((0|(w=a[J+36>>2]))!=a[J+88>>2]|(0|w)!=a[J+140>>2])&&(J=C(l,152),l=C(a[(l=J+G|0)-140>>2]-a[l-148>>2]|0,a[l-144>>2]-a[l-152>>2]|0),G=J+a[E+104>>2]|0,(0|l)==(0|C(a[G-140>>2]-a[G-148>>2]|0,a[G-144>>2]-a[G-152>>2]|0))&&(G=J+a[E+180>>2]|0,(0|C(a[G-140>>2]-a[G-148>>2]|0,a[G-144>>2]-a[G-152>>2]|0))==(0|l))))break b;d(wA,1,10083,0);break f}if((W=a[u+16>>2])>>>0<3)break r;if(J=a[a[eA+24>>2]+24>>2],(0|(l=a[J+36>>2]))!=a[J+88>>2]||(0|(J=a[J+140>>2]))!=(0|l)||(w=C(l,152),l=C(a[(l=G+w|0)+148>>2]-a[l+140>>2]|0,a[l+144>>2]-a[l+136>>2]|0),G=w+a[E+104>>2]|0,(0|l)!=(0|C(a[G+148>>2]-a[G+140>>2]|0,a[G+144>>2]-a[G+136>>2]|0))||(G=a[E+180>>2]+C(J,152)|0,(0|C(a[G+148>>2]-a[G+140>>2]|0,a[G+144>>2]-a[G+136>>2]|0))!=(0|l)))){d(wA,1,10083,0);break f}}if(2==(0|F)){if(!a[f+5608>>2])break i;if(!(G=M(W<<2)))break e;for(u=a[u+16>>2],v=0;(0|u)!=(0|v);)a[G+(v<<2)>>2]=a[(a[eA+64>>2]?36:52)+E>>2],v=v+1|0,E=E+76|0;if(f=a[f+5608>>2],E=0,W=0,J=M(u<<3)){F=J+(u<<2)|0;b:for(;;){if(R=0,(0|l)!=(0|E))for(;;){if((0|u)==(0|R)){for(W=0,V=f;(0|u)!=(0|W);){for(R=0,a[(Y=(w=W<<2)+F|0)>>2]=0,DA=Z(0);(0|u)!=(0|R);)DA=Z(Z(s[V>>2]*s[J+(R<<2)>>2])+DA),s[Y>>2]=DA,R=R+1|0,V=V+4|0;w=a[(Y=G+w|0)>>2],a[Y>>2]=w+4,s[w>>2]=DA,W=W+1|0}E=E+1|0;continue b}s[(W=R<<2)+J>>2]=s[a[G+W>>2]>>2],R=R+1|0;continue}break}U(J),W=1}if(f=W,U(G),!f)break e;break i}if(1==a[a[f+5584>>2]+20>>2]){if(V){Qf(a[E+36>>2],a[E+112>>2],a[E+188>>2],l);break i}Qf(a[E+52>>2],a[E+128>>2],a[E+204>>2],l);break i}if(V){uf(a[E+36>>2],a[E+112>>2],a[E+188>>2],l);break i}uf(a[E+52>>2],a[E+128>>2],a[E+204>>2],l);break i}a[MA>>2]=W,d(wA,1,10144,MA)}for(u=a[a[eA+24>>2]+24>>2],f=a[a[eA+32>>2]+5584>>2],m=a[a[eA+20>>2]>>2],G=a[m+20>>2],KA=1,w=0;;){if(n[m+16>>2]<=w>>>0)break f;i:if(l=a[eA+68>>2],(a[l+(w<<2)>>2]||!l)&&(V=(l=a[G+28>>2])+C(a[u+36>>2],152)|0,a[eA+64>>2]?(W=l+C(a[G+24>>2],152)|0,l=a[V+8>>2]-a[V>>2]|0,W=a[W-144>>2]-(l+a[W-152>>2]|0)|0,R=a[V+12>>2]-a[V+4>>2]|0,F=36):(R=a[V+148>>2]-a[V+140>>2]|0,l=a[V+144>>2]-a[V+136>>2]|0,W=0,F=52),V=a[u+24>>2],a[u+32>>2]?(E=(V=1<<V-1)-1|0,J=0-V|0):(E=~(-1<<V),J=0),!(!l|!R))){if(bA=a[G+F>>2],V=0,1!=a[f+20>>2])for(nA=J>>31;;){if(v=0,(0|V)==(0|R))break i;for(;(0|l)!=(0|v);)F=E,(DA=s[bA>>2])>Z(2147483648)||(F=J,DA<Z(-2147483648)||(Y=(F=a[f+1076>>2])>>31,_A=Z(Q(DA)),(of=Z(DA-_A))<Z(.5)?Af=_A:(Af=DA=Z(t(DA)),of>Z(.5)||(DA=Z(_A*Z(.5)),Af=Z(DA-Z(Q(DA)))==Z(0)?_A:Af)),Y=((H=~~Af)>>31)+Y|0,S=(0|(Y=H>>>0>(F=F+H|0)>>>0?Y+1|0:Y))<0?1:F>>>0<E>>>0&(0|Y)<=0,F=F>>>0<J>>>0&(0|Y)<=(0|nA)|(0|Y)<(0|nA)?J:S?F:E)),a[bA>>2]=F,v=v+1|0,bA=bA+4|0;V=V+1|0,bA=(W<<2)+bA|0}for(;;){if(v=0,(0|V)==(0|R))break i;for(;(0|l)!=(0|v);)F=a[f+1076>>2]+a[bA>>2]|0,a[bA>>2]=(0|F)<(0|J)?J:(0|F)<(0|E)?F:E,v=v+1|0,bA=bA+4|0;V=V+1|0,bA=(W<<2)+bA|0}}G=G+76|0,f=f+1080|0,u=u+52|0,w=w+1|0}}}}}}if(y=MA+16|0,KA){if(e){f:if(!(-1==(0|(f=rf(w=a[A+232>>2],1)))|f>>>0>r>>>0))for(f=a[w+24>>2],l=a[f+24>>2],V=a[a[a[w+20>>2]>>2]+20>>2],Yf=1;;){if(n[f+16>>2]<=cf>>>0)break f;r=7&(f=a[l+24>>2]),W=f>>>3|0,f=(u=a[V+28>>2])+C(a[l+36>>2],152)|0,a[w+64>>2]?(G=u+C(a[V+24>>2],152)|0,u=a[f+8>>2]-a[f>>2]|0,G=a[G-144>>2]-(u+a[G-152>>2]|0)|0,J=a[f+12>>2]-a[f+4>>2]|0,f=36):(J=a[f+148>>2]-a[f+140>>2]|0,u=a[f+144>>2]-a[f+136>>2]|0,G=0,f=52),f=a[f+V>>2];e:{i:switch((W+!!(0|r)|0)-1|0){case 0:if(W=0,a[l+32>>2])for(;;){if(r=0,(0|W)==(0|J))break e;for(;(0|r)!=(0|u);)i[0|e]=a[f>>2],r=r+1|0,e=e+1|0,f=f+4|0;W=W+1|0,f=(G<<2)+f|0}for(;;){if(r=0,(0|W)==(0|J))break e;for(;(0|r)!=(0|u);)i[0|e]=a[f>>2],r=r+1|0,e=e+1|0,f=f+4|0;W=W+1|0,f=(G<<2)+f|0}case 2:case 3:for(u<<=2,r=0;;){if((0|r)==(0|J))break e;u&&o(e,f,u),f=(f+u|0)+(G<<2)|0,r=r+1|0,e=e+u|0}case 1:break i;default:break e}if(W=0,a[l+32>>2])for(;;){if(r=0,(0|W)==(0|J))break e;for(;(0|r)!=(0|u);)b[e>>1]=a[f>>2],r=r+1|0,e=e+2|0,f=f+4|0;W=W+1|0,f=(G<<2)+f|0}for(;;){if(r=0,(0|W)==(0|J))break e;for(;(0|r)!=(0|u);)b[e>>1]=a[f>>2],r=r+1|0,e=e+2|0,f=f+4|0;W=W+1|0,f=(G<<2)+f|0}}cf=cf+1|0,V=V+76|0,l=l+52|0,f=a[w+24>>2]}if(!Yf)break A;XA(PA)}i[A+92|0]=254&k[A+92|0],a[A+8>>2]=-129&a[A+8>>2],af=1,e=P(B),f=a[A+8>>2],!(e|X)&64==(0|f)|256==(0|f)||(2==(0|K(B,c+10|0,2,wA))?(h(c+10|0,c+12|0,2),65424!=(0|(f=a[c+12>>2]))&&(65497!=(0|f)?P(B)|X?(af=0,d(wA,1,8300,0)):(a[A+8>>2]=64,d(wA,2,8413,0)):(a[A+8>>2]=256,a[A+228>>2]=0))):(d(wA,a[A+208>>2]?1:2,2466,0),af=!a[A+208>>2]))}else sA(PA),a[A+8>>2]=32768|a[A+8>>2],d(wA,1,11445,0)}else sA(PA);return y=c+16|0,0|af}function RA(A){var f=0,e=0,i=0;for(e=24896;(i=a[(f=e)>>2])&&(e=f+12|0,(0|A)!=(0|i)););return f}function JA(A,f,e,r,b,c,I,G,u,Q,t){A|=0,f|=0,e|=0,r|=0,b|=0,c|=0,I|=0,G|=0,u|=0,Q|=0,t|=0;var W,w=0,V=0,Y=0,H=0,F=0,v=0,m=0,E=0,R=0,J=0,S=0,N=0,z=0,x=0,j=0,T=0,L=0,O=0,q=0,$=0,_=0,fA=0,eA=0,iA=0,rA=0,bA=0,aA=0,kA=0,BA=0,lA=0,gA=0,oA=0,cA=0,IA=0,nA=0,sA=0,GA=0,CA=0,ZA=0,uA=0,QA=0,tA=0,WA=0,wA=0,VA=0,YA=0,HA=0,vA=0,mA=0,EA=0,yA=0,JA=0,XA=0,dA=0,UA=Z(0);y=W=y-80|0,a[W+40>>2]=65424,V=a[A+128>>2],v=a[A+132>>2],F=65424;A:{if(8!=(0|(w=a[A+8>>2]))){if(Y=0,256!=(0|w))break A;a[W+40>>2]=65497,F=65497}v=C(V,v);f:{e:{i:{for(;;){r:{b:{a:{k:{if(!(1&i[A+92|0]|65497==(0|F))){if((w=a[A+84>>2])&&!(w>>>0<=(V=a[A+80>>2])>>>0)){if(w=a[A+88>>2]+(V<<3)|0,m=a[w>>2],w=a[w+4>>2],a[A+80>>2]=V+1,!AA(Q,m,w,t)){d(t,1,5434,0),Y=0;break A}if(2!=(0|K(Q,a[A+16>>2],2,t))){d(t,1,2466,0),Y=0;break A}if(h(a[A+16>>2],W+40|0,2),F=65424,65424!=a[W+40>>2]){d(t,1,4067,0),Y=0;break A}}B:{for(;;){if(65427==(0|F))break B;if(P(Q)|X){if(2!=(0|K(Q,a[A+16>>2],2,t))){d(t,1,2466,0),Y=0;break A}if(h(a[A+16>>2],W+36|0,2),n[W+36>>2]<=1){d(t,1,6042,0),Y=0;break A}if(32896!=a[W+40>>2]||P(Q)|X){if(16&(w=a[A+8>>2])){if(F=a[W+36>>2],V=a[A+24>>2]){if((m=F+2|0)>>>0>V>>>0){d(t,1,8364,0),Y=0;break A}a[A+24>>2]=V-m}}else F=a[W+36>>2];if(F=F-2|0,a[W+36>>2]=F,V=RA(a[W+40>>2]),!(w&a[V+4>>2])){d(t,1,5391,0),Y=0;break A}if(n[A+20>>2]>=F>>>0)E=a[A+16>>2];else{if(w=P(Q),w=(0|(m=X))<0?1:w>>>0<F>>>0&(0|m)<=0){d(t,1,5791,0),Y=0;break A}if(!(E=p(a[A+16>>2],a[W+36>>2]))){U(a[A+16>>2]),a[A+16>>2]=0,a[A+20>>2]=0,d(t,1,4967,0),Y=0;break A}a[A+16>>2]=E,F=a[W+36>>2],a[A+20>>2]=F}if((0|(w=K(Q,E,F,t)))!=a[W+36>>2]){d(t,1,2466,0),Y=0;break A}if(!(m=a[V+8>>2])){d(t,1,11719,0),Y=0;break A}if(!(0|Ge[0|m](A,a[A+16>>2],w,t))){a[W+32>>2]=a[W+40>>2],d(t,1,13953,W+32|0),Y=0;break A}if(w=a[W+36>>2],!fe(a[A+228>>2],a[A+224>>2],a[V>>2],(a[Q+56>>2]-w|0)-4|0,0,w+4|0)){d(t,1,3857,0),Y=0;break A}if(65424==a[V>>2]&&(V=(a[Q+56>>2]-a[W+36>>2]|0)-4|0,w=a[A+48>>2],(w=(0|(m=a[A+52>>2]))>0?1:(0|m)>=0&w>>>0>=V>>>0)||(a[A+48>>2]=V,a[A+52>>2]=0)),4&k[A+92|0]){if(V=FA(Q,a[A+24>>2],t),!X&a[A+24>>2]==(0|V)){F=65427,a[W+40>>2]=65427;continue}d(t,1,2466,0),Y=0;break A}if(2!=(0|K(Q,a[A+16>>2],2,t))){d(t,1,2466,0),Y=0;break A}h(a[A+16>>2],W+40|0,2),F=a[W+40>>2];continue}}break}a[A+8>>2]=64}if(!(!(P(Q)|X)&64==a[A+8>>2])){if(!(4&(V=k[A+92|0]))){V=C(a[A+228>>2],5644),w=a[A+180>>2];B:{if(a[A+56>>2])F=P(Q);else if((F=a[A+24>>2])>>>0<2)break B;F=F-2|0,a[A+24>>2]=F}if(V=w+V|0,!F)break k;if(w=P(Q),w=(0|(m=X))<0?1:w>>>0<F>>>0&(0|m)<=0){if(a[A+208>>2]){d(t,1,5836,0),Y=0;break A}d(t,2,5836,0)}if((w=a[A+24>>2])>>>0>=4294967294){d(t,1,1474,0),Y=0;break A}if(m=a[V+5596>>2]){if((Y=a[V+5600>>2])>>>0>-3-w>>>0){d(t,1,1188,0),Y=0;break A}if(w=p(m,2+(w+Y|0)|0)){a[V+5596>>2]=w;break k}U(a[V+5596>>2]),a[V+5596>>2]=0}else if(w=M(w+2|0),a[V+5596>>2]=w,w)break k;d(t,1,6170,0),Y=0;break A}a[A+8>>2]=8,i[A+92|0]=250&V;break a}F=a[W+40>>2]}if(256==a[A+8>>2]|65497!=(0|F))break i;a[A+228>>2]=0;break r}if(m=w=a[Q+60>>2],S=(Y=a[Q+56>>2])-2|0,N=w-(Y>>>0<2)|0,L=a[A+224>>2],E=a[A+228>>2],w=a[L+40>>2]+C(E,40)|0,(H=a[w+16>>2])&&((J=a[w+12>>2])>>>0>=n[w+4>>2]||(w=H+C(J,24)|0,a[w+8>>2]=S,a[w+12>>2]=N,H=(H=Y)+(Y=a[A+24>>2])|0,a[w+16>>2]=H,a[w+20>>2]=H>>>0<Y>>>0?m+1|0:m)),!fe(E,L,65427,S,N,a[A+24>>2]+2|0)){d(t,1,3857,0),Y=0;break A}k:{if(F){if(w=8,(0|(F=K(Q,a[V+5596>>2]+a[V+5600>>2]|0,a[A+24>>2],t)))==a[A+24>>2])break k;if(w=64,-1!=(0|F))break k;d(t,1,2466,0),Y=0;break A}F=0,w=a[A+24>>2]?64:8}if(a[A+8>>2]=w,a[V+5600>>2]=a[V+5600>>2]+F,!(1&i[A+92|0])&&(V=a[A+44>>2],!(a[A+76>>2]|(0|V)<0|(0|V)!=a[A+228>>2])&&KA(Q)&&(w=a[A+228>>2],m=a[A+180>>2]+C(w,5644)|0,V=a[m+5592>>2],w=a[a[A+224>>2]+40>>2]+C(w,40)|0,(0|V)==a[w+4>>2]&&!(V>>>0<=(m=a[m+5588>>2]+1|0)>>>0)))){if(V=a[w+16>>2]+C(m,24)|0,w=a[V>>2],V=a[V+4>>2],!((0|w)==a[Q+56>>2]&(0|V)==a[Q+60>>2]||AA(Q,w,V,t))){d(t,1,5434,0),Y=0;break A}if(2!=(0|K(Q,a[A+16>>2],2,t))){d(t,1,2466,0),Y=0;break A}if(h(a[A+16>>2],W+40|0,2),65424==a[W+40>>2])break b;d(t,1,4067,0),Y=0;break A}if(1==(9&(V=k[A+92|0]))&&(i[A+92|0]=8|V,w=a[A+228>>2],1!=a[5592+(a[A+180>>2]+C(w,5644)|0)>>2]&&KA(Q)&&(m=V=a[Q+60>>2],-1!=(V&(Y=a[Q+56>>2]))))){k:{for(;;){if(E=1,2!=(0|K(Q,V=W+70|0,2,t)))break k;if(h(V,W- -64|0,2),65424!=a[W+64>>2])break k;if(F=2466,2!=(0|K(Q,V,2,t)))break e;if(h(V,W+60|0,2),10!=a[W+60>>2]){F=6042;break e}if(a[W+60>>2]=8,(0|(V=K(Q,S=W+70|0,8,t)))!=a[W+60>>2])break e;if(!Ae(S,V,W+56|0,W+52|0,W+48|0,W+44|0,t))break f;if((0|w)!=a[W+56>>2]){if((V=a[W+52>>2])>>>0<14)break k;if(V=V-12|0,a[W+52>>2]=V,V=FA(Q,V,t),!X&a[W+52>>2]==(0|V))continue;break k}break}E=a[W+48>>2]!=a[W+44>>2]}if(!mf(Q,Y,m,t))break f;if(!E){for(i[A+92|0]=238&k[A+92|0]|16,F=0;(0|F)!=(0|v);)V=a[A+180>>2]+C(F,5644)|0,(w=a[V+5592>>2])&&(a[V+5592>>2]=w+1),F=F+1|0;d(t,2,9029,0)}}}if(!(1&i[A+92|0])){if(2!=(0|K(Q,a[A+16>>2],2,t))){a:if((0|v)==(a[A+228>>2]+1|0)){for(Q=0;;){if((0|Q)==(0|v))break a;if(V=a[A+180>>2]+C(Q,5644)|0,!(a[V+5588>>2]|a[V+5592>>2]))break;Q=Q+1|0}a[W+16>>2]=Q,d(t,4,10998,W+16|0),a[A+228>>2]=Q,a[W+40>>2]=65497;break r}d(t,1,2466,0),Y=0;break A}h(a[A+16>>2],W+40|0,2)}}F=a[W+40>>2];continue}break}a[A+8>>2]=256}Q=a[A+228>>2],V=a[A+180>>2];i:{r:if(!(1&i[A+92|0]))for(w=Q>>>0>v>>>0?Q:v,F=V+C(Q,5644)|0;;){b:{if((0|Q)!=(0|w)){if(!a[F+5596>>2])break b;w=Q}if((0|w)!=(0|v))break r;a[u>>2]=0;break i}Q=Q+1|0,a[A+228>>2]=Q,F=F+5644|0}r:{b:{if(V=V+C(Q,5644)|0,a[V+5172>>2])A=6831;else{if(!(2&k[V+5640|0]))break r;for(v=a[V+5160>>2],Q=0,F=0;(0|Q)!=(0|v);)F=a[4+(a[V+5164>>2]+(Q<<3)|0)>>2]+F|0,Q=Q+1|0;if(Q=M(F),a[V+5172>>2]=Q,Q)break b;A=4003}d(t,1,A,0),d(t,1,8053,0),Y=0;break A}for(a[V+5180>>2]=F,Q=0,F=0;n[V+5160>>2]>Q>>>0;)w=(v=Q<<3)+a[V+5164>>2]|0,(m=a[w>>2])&&((w=a[w+4>>2])&&o(a[V+5172>>2]+F|0,m,w),w=v+a[V+5164>>2]|0,m=a[w+4>>2],U(a[w>>2]),v=v+a[V+5164>>2]|0,a[v>>2]=0,a[v+4>>2]=0,F=F+m|0),Q=Q+1|0;a[V+5160>>2]=0,U(a[V+5164>>2]),a[V+5164>>2]=0,a[V+5168>>2]=a[V+5172>>2],a[V+5176>>2]=a[V+5180>>2],Q=a[A+228>>2]}m=t,v=a[A+232>>2],iA=a[v+28>>2],_=a[5584+(a[iA+76>>2]+C(Q,5644)|0)>>2],V=a[v+24>>2],rA=a[V+24>>2],w=(Q>>>0)/((Y=a[iA+24>>2])>>>0)|0,fA=a[a[v+20>>2]>>2],S=a[iA+12>>2],v=(Q=a[iA+4>>2]+C(S,Q-C(w,Y)|0)|0)>>>0>(v=a[V>>2])>>>0?Q:v,a[fA>>2]=v,Q=(Q=Q>>>0>(Y=Q+S|0)>>>0?-1:Y)>>>0<(Y=a[V+8>>2])>>>0?Q:Y,a[fA+8>>2]=Q;r:{b:if((0|Q)>(0|v)&(0|v)>=0)if(E=a[fA+20>>2],v=a[iA+16>>2],t=(Q=a[iA+8>>2]+C(w,v)|0)>>>0>(t=a[V+4>>2])>>>0?Q:t,a[fA+4>>2]=t,Q=(Q=Q>>>0>(v=Q+v|0)>>>0?-1:v)>>>0<(V=a[V+12>>2])>>>0?Q:V,a[fA+12>>2]=Q,(0|Q)>(0|t)&(0|t)>=0){a:{k:{B:{l:{if(a[_+4>>2])for(QA=1;;){if(n[fA+16>>2]<=nA>>>0)break l;a[rA+36>>2]=0,Y=(Q=a[rA>>2])-1|0,w=(S=(V=Q>>31)-!Q|0)+((t=a[fA>>2])>>31)|0,XA=E,dA=ce(v=Y+t|0,t>>>0>v>>>0?w+1|0:w,Q,V),a[XA>>2]=dA,w=(t=a[rA+4>>2])-1|0,H=(F=(v=t>>31)-!t|0)+((N=a[fA+4>>2])>>31)|0,XA=E,dA=ce(L=w+N|0,N>>>0>L>>>0?H+1|0:H,t,v),a[XA+4>>2]=dA,H=Y,S=((Y=a[fA+8>>2])>>31)+S|0,XA=E,dA=ce(N=H+Y|0,Y>>>0>N>>>0?S+1|0:S,Q,V),a[XA+8>>2]=dA,Q=a[fA+12>>2],a[E+16>>2]=nA,V=F+(Q>>31)|0,XA=E,dA=ce(Q=Q+w|0,V=Q>>>0<w>>>0?V+1|0:V,t,v),a[XA+12>>2]=dA,Q=a[_+4>>2],a[E+20>>2]=Q,t=a[iA+80>>2],a[E+24>>2]=Q>>>0<t>>>0?1:Q-t|0,U(a[E+52>>2]),a[E+68>>2]=0,a[E+60>>2]=0,a[E+64>>2]=0,a[E+52>>2]=0,a[E+56>>2]=0,Q=C(Q,152);g:if(t=a[E+28>>2]){if(!(Q>>>0<=n[E+32>>2])){if(!(t=p(t,Q))){d(m,1,3084,0),U(a[E+28>>2]),a[E+28>>2]=0,a[E+32>>2]=0;break b}a[E+28>>2]=t,(v=Q-(V=a[E+32>>2])|0)&&g(t+V|0,0,v),a[E+32>>2]=Q}}else{if(t=M(Q),a[E+28>>2]=t,!t)break B;if(a[E+32>>2]=Q,!Q)break g;g(t,0,Q)}for(tA=_+944|0,WA=_+812|0,gA=_+28|0,F=a[E+28>>2],bA=0,H=Q=a[E+20>>2];H>>>0>bA>>>0;){if(t=31&(v=Q-1|0),(63&v)>>>0>=32?(w=-1<<t,V=0):w=(V=-1<<t)|(1<<t)-1&-1>>>32-t,S=-1^V,w=(V=-1^w)+((Y=a[E>>2])>>31)|0,Y=(t=S+Y|0)>>>0<Y>>>0?w+1|0:w,w=31&v,N=(63&v)>>>0>=32?Y>>w:((1<<w)-1&Y)<<32-w|t>>>w,a[F>>2]=N,Y=((w=a[E+4>>2])>>31)+V|0,Y=(t=w+S|0)>>>0<w>>>0?Y+1|0:Y,w=31&v,L=(63&v)>>>0>=32?Y>>w:((1<<w)-1&Y)<<32-w|t>>>w,a[F+4>>2]=L,Y=((w=a[E+8>>2])>>31)+V|0,Y=(t=w+S|0)>>>0<w>>>0?Y+1|0:Y,w=31&v,J=H=(63&v)>>>0>=32?Y>>w:((1<<w)-1&Y)<<32-w|t>>>w,a[F+8>>2]=H,Y=((w=a[E+12>>2])>>31)+V|0,Y=(t=w+S|0)>>>0<w>>>0?Y+1|0:Y,w=31&v,(63&v)>>>0>=32?Y>>=w:Y=((1<<w)-1&Y)<<32-w|t>>>w,a[F+12>>2]=Y,j=H>>31,t=31&(O=a[(q=bA<<2)+WA>>2]),(63&O)>>>0>=32?(w=1<<t,z=0):w=(z=1<<t)-1&1>>>32-t,w=w+j|0,w=((t=H+z|0)>>>0<z>>>0?w+1|0:w)-!t|0,H=t-1|0,t=31&O,(0|(z=(t=(63&O)>>>0>=32?w>>t:((1<<t)-1&w)<<32-t|H>>>t)<<O))<0)break a;if(eA=Y>>31,t=31&(j=a[q+tA>>2]),(63&j)>>>0>=32?(w=-1<<t,H=0):w=(H=-1<<t)|(1<<t)-1&-1>>>32-t,w=(-1^w)+eA|0,w=(t=-1^H)>>>0>(H=t+Y|0)>>>0?w+1|0:w,t=31&j,t=(63&j)>>>0>=32?w>>t:((1<<t)-1&w)<<32-t|H>>>t,(0|(t<<=j))<0)break a;if(kA=L&-1<<j,w=(0|Y)!=(0|L)?t-kA>>j:0,a[F+20>>2]=w,BA=N&-1<<O,t=(0|J)!=(0|N)?z-BA>>O:0,a[F+16>>2]=t,Y=!t,le(t,0,w),!(!X|Y))break k;if((oA=C(t,w))>>>0>=107374183)break k;for(eA=C(oA,40),bA?(j=j-1|0,O=O-1|0,w=t=kA>>31,Y=t+1|0,kA=(1&((t=kA+1|0)?w:Y))<<31|t>>>1,w=t=BA>>31,Y=t+1|0,BA=(1&((t=BA+1|0)?w:Y))<<31|t>>>1,t=3):t=1,a[F+24>>2]=t,wA=1<<j,VA=1<<O,J=F+28|0,N=Q,w=31&Q,(63&Q)>>>0>=32?(w=1<<w,Q=0):w=(Q=1<<w)-1&1>>>32-w,GA=Q,L=w,Q=31&(q=(Q=a[_+12>>2])>>>0<j>>>0?Q:j),(63&q)>>>0>=32?(w=-1<<Q,Y=0):w=(Y=-1<<Q)|(1<<Q)-1&-1>>>32-Q,YA=-1^Y,HA=-1^w,Q=31&(z=(Q=a[_+8>>2])>>>0<O>>>0?Q:O),(63&z)>>>0>=32?(w=-1<<Q,Y=0):w=(Y=-1<<Q)|(1<<Q)-1&-1>>>32-Q,vA=-1^Y,mA=-1^w,cA=0;t>>>0>cA>>>0;){bA?(t=(H=cA+1|0)>>>1|0,Q=31&v,(63&v)>>>0>=32?(w=t<<Q,Q=0):(w=(1<<Q)-1&t>>>32-Q,Q=t<<Q),w=(-1^w)+L|0,w=(t=(t=-1^Q)>>>0>(x=t+GA|0)>>>0?w+1|0:w)+((Y=a[E+4>>2])>>31)|0,Y=(Q=x+Y|0)>>>0<Y>>>0?w+1|0:w,w=31&N,$=(63&N)>>>0>=32?Y>>w:((1<<w)-1&Y)<<32-w|Q>>>w,Y=1&H,Q=31&v,(63&v)>>>0>=32?(w=Y<<Q,Q=0):(w=(1<<Q)-1&Y>>>32-Q,Q=Y<<Q),w=(-1^w)+L|0,w=(Y=(Q=(Y=-1^Q)+GA|0)>>>0<Y>>>0?w+1|0:w)+((T=a[E>>2])>>31)|0,T=(R=Q+T|0)>>>0<T>>>0?w+1|0:w,w=31&N,w=(63&N)>>>0>=32?T>>w:((1<<w)-1&T)<<32-w|R>>>w,R=N):(w=((t=a[E+4>>2])>>31)+V|0,w=(Q=t+S|0)>>>0<t>>>0?w+1|0:w,t=31&v,$=(63&v)>>>0>=32?w>>t:((1<<t)-1&w)<<32-t|Q>>>t,w=((t=a[E>>2])>>31)+V|0,w=(Q=t+S|0)>>>0<t>>>0?w+1|0:w,t=31&v,(63&v)>>>0>=32?w>>=t:w=((1<<t)-1&w)<<32-t|Q>>>t,H=0,Y=V,x=Q=S,t=V,R=v),IA=(aA=a[E+8>>2])>>31,T=a[E+12>>2],a[J+4>>2]=$,a[J>>2]=w,a[J+16>>2]=H,$=(t=(T>>31)+t|0)+1|0,w=t,x=T>>>0>(t=x+T|0)>>>0?$:w,w=31&R,t=(63&R)>>>0>=32?x>>w:((1<<w)-1&x)<<32-w|t>>>w,a[J+12>>2]=t,t=Y+IA|0,w=(Q=Q+aA|0)>>>0<aA>>>0?t+1|0:t,t=31&R,Q=(63&R)>>>0>=32?w>>t:((1<<t)-1&w)<<32-t|Q>>>t,a[J+8>>2]=Q,lA=1,Q=a[gA>>2];g:if((0|(H=(a[rA+24>>2]+(!a[_+20>>2]|!H?0:3==(0|H)?2:1)|0)-Q|0))>=1024){if(lA=898846567431158e293,H>>>0<2047){H=H-1023|0;break g}lA=1/0,H=(H>>>0>=3069?3069:H)-2046|0}else(0|H)>-1023||(lA=2004168360008973e-307,H>>>0>4294965304?H=H+969|0:(lA=0,H=(H>>>0<=4294964336?-2960:H)+1938|0));EA=.00048828125*+a[gA+4>>2]+1,t=H+1023<<20,B(0,0),B(1,0|t),XA=J,UA=Z(EA*(lA*+l())),s[XA+32>>2]=UA,a[J+28>>2]=(Q+a[_+804>>2]|0)-1;g:{o:if((Q=a[J+20>>2])|!oA){if(eA>>>0<=n[J+24>>2])break g;if(!(Q=p(Q,eA))){d(m,1,2848,0),U(a[J+20>>2]),a[J+20>>2]=0,a[J+24>>2]=0;break b}a[J+20>>2]=Q,(w=eA-(t=a[J+24>>2])|0)&&g(Q+t|0,0,w)}else{if(Q=M(eA),a[J+20>>2]=Q,!Q){d(m,1,2848,0);break b}if(!eA)break o;g(Q,0,eA)}a[J+24>>2]=eA}for(t=a[J+20>>2],Y=0;(0|Y)!=(0|oA);){if(w=a[F+16>>2],x=(0|(w=(Y-C(Q=(Y>>>0)/(w>>>0)|0,w)<<O)+BA|0))>(0|(H=a[J>>2]))?w:H,a[t>>2]=x,$=(0|(Q=(Q<<j)+kA|0))>(0|(H=a[J+4>>2]))?Q:H,a[t+4>>2]=$,w=(0|(w=w+VA|0))<(0|(H=a[J+8>>2]))?w:H,a[t+8>>2]=w,H=(0|(Q=Q+wA|0))<(0|(H=a[J+12>>2]))?Q:H,a[t+12>>2]=H,T=(Q=(w>>31)+mA|0)+1|0,R=Q,R=w>>>0>(Q=w+vA|0)>>>0?T:R,w=31&z,R=(Q=(63&z)>>>0>=32?R>>w:((1<<w)-1&R)<<32-w|Q>>>w)-(T=x>>z)<<z>>z,a[t+16>>2]=R,x=(Q=(H>>31)+HA|0)+1|0,w=Q,H=(Q=H+YA|0)>>>0<H>>>0?x:w,w=31&q,Q=(Q=(63&q)>>>0>=32?H>>w:((1<<w)-1&H)<<32-w|Q>>>w)-($>>=q)<<q>>q,a[t+20>>2]=Q,le(x=C(Q,R),0,68),X){d(m,1,2929,0);break b}Q=C(x,68);g:{o:if((w=a[t+24>>2])|!x){if(Q>>>0<=n[t+28>>2])break g;if(!(w=p(w,Q))){U(a[t+24>>2]),a[t+24>>2]=0,a[t+28>>2]=0,d(m,1,2543,0);break b}a[t+24>>2]=w,(R=Q-(H=a[t+28>>2])|0)&&g(w+H|0,0,R)}else{if(w=M(Q),a[t+24>>2]=w,!w)break B;if(!Q)break o;g(w,0,Q)}a[t+28>>2]=Q}for(Q=a[t+20>>2],w=a[t+16>>2],Q=(H=a[t+32>>2])?wf(H,w,Q,m):Vf(w,Q,m),a[t+32>>2]=Q,Q=a[t+20>>2],w=a[t+16>>2],Q=(H=a[t+36>>2])?wf(H,w,Q,m):Vf(w,Q,m),a[t+36>>2]=Q,Q=0;(0|Q)!=(0|x);){if(aA=(R=(H=(Q>>>0)/((w=a[t+16>>2])>>>0)|0)+$|0)<<q,IA=R+1<<q,CA=(w=(Q-C(w,H)|0)+T|0)<<z,ZA=w+1<<z,w=a[t+24>>2]+C(Q,68)|0,sA=a[w>>2]){for(yA=a[w+56>>2],JA=a[w+4>>2],uA=a[w+48>>2],U(a[w+60>>2]),H=0,g(w+8|0,0,60),a[w+48>>2]=uA,a[w>>2]=sA;(0|H)!=(0|uA);)R=C(H,24)+sA|0,a[R+16>>2]=0,a[R+20>>2]=0,a[R+8>>2]=0,a[R+12>>2]=0,a[R>>2]=0,a[R+4>>2]=0,H=H+1|0;a[w+56>>2]=yA,a[w+4>>2]=JA}else{if(H=D(10,24),a[w>>2]=H,!H)break B;a[w+48>>2]=10}H=a[t>>2],a[w+8>>2]=(0|H)<(0|CA)?CA:H,H=a[t+4>>2],a[w+12>>2]=(0|H)<(0|aA)?aA:H,H=a[t+8>>2],a[w+16>>2]=(0|H)>(0|ZA)?ZA:H,H=w,w=a[t+12>>2],a[H+20>>2]=(0|w)>(0|IA)?IA:w,Q=Q+1|0}Y=Y+1|0,t=t+40|0}t=a[F+24>>2],gA=gA+8|0,J=J+36|0,cA=cA+1|0}bA=bA+1|0,F=F+152|0,H=a[E+20>>2],Q=v}nA=nA+1|0,rA=rA+52|0,E=E+76|0,_=_+1080|0}d(m,1,5352,0)}Q=QA;break r}Q=0;break r}d(m,1,2976,0);break b}d(m,1,2367,0)}else d(m,1,6638,0);else d(t,1,6676,0);Q=0}if(!Q){d(m,1,3662,0),Y=0;break A}if(Q=a[A+228>>2],a[W+4>>2]=C(a[A+128>>2],a[A+132>>2]),a[W>>2]=Q+1,d(m,4,11819,W),a[f>>2]=a[A+228>>2],a[u>>2]=1,e&&(f=rf(a[A+232>>2],0),a[e>>2]=f,Y=0,-1==(0|f)))break A;f=a[a[a[A+232>>2]+20>>2]>>2],a[r>>2]=a[f>>2],a[b>>2]=a[f+4>>2],a[c>>2]=a[f+8>>2],a[I>>2]=a[f+12>>2],a[G>>2]=a[f+16>>2],a[A+8>>2]=128|a[A+8>>2]}Y=1;break A}d(t,1,F,0)}d(t,1,3696,0),Y=0}return y=W+80|0,0|(A=Y)}function XA(A){var f;(f=a[A+5596>>2])&&(U(f),a[A+5596>>2]=0,a[A+5600>>2]=0)}function dA(A){var f=0,e=0,i=0,r=0,b=0;if(A|=0){if(a[A>>2]?((f=a[A+12>>2])&&(sA(f),U(a[A+12>>2]),a[A+12>>2]=0),(f=a[A+16>>2])&&(U(f),a[A+16>>2]=0,a[A+20>>2]=0),U(a[A+64>>2]),a[A+60>>2]=0,a[A+64>>2]=0,U(a[A+72>>2]),a[A+72>>2]=0,U(a[A+88>>2]),a[A+88>>2]=0):((f=a[A+44>>2])&&(U(f),a[A+44>>2]=0),(f=a[A+32>>2])&&(U(f),a[A+32>>2]=0,a[A+36>>2]=0),(f=a[A+52>>2])&&(U(f),a[A+52>>2]=0,a[A+56>>2]=0)),af(a[A+232>>2]),e=a[A+180>>2]){for(f=C(a[A+128>>2],a[A+132>>2]);(0|f)!=(0|r);)r=r+1|0,sA(e),e=e+5644|0;U(a[A+180>>2]),a[A+180>>2]=0}if(a[A+140>>2]){for(r=0;n[A+136>>2]>r>>>0;)(f=a[a[A+140>>2]+(r<<3)>>2])&&U(f),r=r+1|0;a[A+136>>2]=0,U(a[A+140>>2]),a[A+140>>2]=0}if(U(a[A+160>>2]),a[A+144>>2]=0,a[A+160>>2]=0,U(a[A+124>>2]),a[A+124>>2]=0,2&k[A+212|0]||U(a[A+192>>2]),g(A+104|0,0,112),YA(a[A+216>>2]),a[A+216>>2]=0,YA(a[A+220>>2]),a[A+216>>2]=0,i=a[A+224>>2]){if((f=a[i+28>>2])&&(U(f),a[i+28>>2]=0),e=a[i+40>>2]){for(;n[i+36>>2]>b>>>0;)r=C(b,40),(f=a[36+(r+e|0)>>2])&&(U(f),e=a[i+40>>2],a[36+(r+e|0)>>2]=0),(f=a[16+(e+r|0)>>2])&&(U(f),e=a[i+40>>2],a[16+(r+e|0)>>2]=0),(f=a[24+(e+r|0)>>2])&&(U(f),e=a[i+40>>2],a[24+(r+e|0)>>2]=0),b=b+1|0;U(e),a[i+40>>2]=0}U(i)}if(a[A+224>>2]=0,L(a[A+96>>2]),a[A+96>>2]=0,L(a[A+100>>2]),a[A+100>>2]=0,i=a[A+236>>2]){A:if(a[i+8>>2])for(j(i),a[i+16>>2]=1,U(a[i>>2]),e=a[i+28>>2];;){if(!e)break A;f=a[e+4>>2],U(e),a[i+28>>2]=f,e=f}if(r=a[i+36>>2]){for(e=0;f=a[r>>2],!(a[r+4>>2]<=(0|e));)b=f+C(e,12)|0,(f=a[b+8>>2])&&Ge[0|f](a[b+4>>2]),e=e+1|0;U(f),U(r)}U(i)}a[A+236>>2]=0,U(A)}}function UA(){return D(1,36)}function hA(A,f,e,i,r,b,k,B){var l,g=0,o=0,c=0,I=0,n=0,s=0,G=0,Z=0,u=0,Q=0,t=0;return n=a[a[A+24>>2]+24>>2]+C(f,52)|0,o=(c=(I=a[n+4>>2])-1|0)+(G=a[A+60>>2])|0,g=Z=0-!I|0,l=a[a[a[A+20>>2]>>2]+20>>2]+C(f,76)|0,s=a[l+12>>2],u=(g=Ie(o,o>>>0<G>>>0?g+1|0:g,I,0))>>>0>s>>>0?s:g,s=(n=(o=a[n>>2])-1|0)+(Q=a[A+56>>2])|0,g=G=0-!o|0,t=a[l+8>>2],s=(g=Ie(s,s>>>0<Q>>>0?g+1|0:g,o,0))>>>0>t>>>0?t:g,g=Z,t=a[l+4>>2],c=(g=Ie(c=(Q=a[A+52>>2])+c|0,c>>>0<Q>>>0?g+1|0:g,I,0))>>>0<t>>>0?t:g,g=G,Z=a[l>>2],g=(g=Ie(I=(I=n)+(n=a[A+48>>2])|0,I>>>0<n>>>0?g+1|0:g,o,0))>>>0<Z>>>0?Z:g,I=0,Z=a[20+(a[a[A+32>>2]+5584>>2]+C(f,1080)|0)>>2],(e=a[l+20>>2]+(e?0-e|0:-1)|0)?((o=(1&i)<<(n=e-1|0))>>>0<g>>>0&&(A=31&e,I=g-o|0,(63&e)>>>0>=32?(g=-1<<A,A=0):g=(f=(1<<A)-1&-1>>>32-A)|(A=-1<<A),g^=-1,g=(A=I+(f=-1^A)|0)>>>0<f>>>0?g+1|0:g,f=A,A=31&e,I=(63&e)>>>0>=32?g>>>A|0:((1<<A)-1&g)<<32-A|f>>>A),A=0,f=0,(i=i>>>1<<n)>>>0<c>>>0&&(f=31&e,(63&e)>>>0>=32?(g=-1<<f,f=0):(g=(1<<f)-1&-1>>>32-f,g|=f=-1<<f),g^=-1,g=(f=(G=c-i|0)+(c=-1^f)|0)>>>0<c>>>0?g+1|0:g,c=f,f=31&e,f=(63&e)>>>0>=32?g>>>f|0:((1<<f)-1&g)<<32-f|c>>>f),o>>>0<s>>>0&&(A=31&e,(63&e)>>>0>=32?(g=-1<<A,A=0):(g=(1<<A)-1&-1>>>32-A,g|=A=-1<<A),g^=-1,g=(A=(c=s-o|0)+(o=-1^A)|0)>>>0<o>>>0?g+1|0:g,o=A,A=31&e,A=(63&e)>>>0>=32?g>>>A|0:((1<<A)-1&g)<<32-A|o>>>A),i>>>0>=u>>>0?u=0:(c=u-i|0,i=31&e,(63&e)>>>0>=32?(g=-1<<i,i=0):(g=(1<<i)-1&-1>>>32-i,g|=i=-1<<i),g^=-1,g=(i=c+(o=-1^i)|0)>>>0<o>>>0?g+1|0:g,o=i,i=31&e,u=(63&e)>>>0>=32?g>>>i|0:((1<<i)-1&g)<<32-i|o>>>i)):(A=s,I=g,f=c),i=(A>>>0>(i=(e=1==(0|Z)?2:3)+A|0)>>>0?-1:i)>>>0>r>>>0,i&=((A=e+u|0)>>>0<u>>>0?-1:A)>>>0>b>>>0,(i&=((A=I-e|0)>>>0<=I>>>0?A:0)>>>0<k>>>0)&((A=f-e|0)>>>0<=f>>>0?A:0)>>>0<B>>>0}function DA(A){var f,e=0,i=0,r=0,b=0;f=a[A>>2];A:if(e=a[A+8>>2])r=f;else{if(r=255,b=a[A+16>>2],i=k[0|b],255!=(0|f))e=8;else{if(e=8,i>>>0>143)break A;e=7}a[A>>2]=i,a[A+16>>2]=b+1,r=i}return i=A,A=e-1|0,a[i+8>>2]=A,r>>>A&1}function MA(A){var f,e,i,r,b,B=0,l=0,g=0,o=0,c=0,I=0;A:if((0|(l=a[A+24>>2]))>=4)B=a[A>>2],g=a[B>>2],a[A+24>>2]=l-4,a[A>>2]=B+4;else if(g=a[A+28>>2]?-1:0,!((0|l)<=0))for(;;){if((0|l)<=0)break A;B=a[A>>2],a[A>>2]=B+1,B=k[0|B],l=l-1|0,a[A+24>>2]=l,g=~(255<<c)&g|B<<c,c=c+8|0}B=a[A+20>>2],e=g>>>24|0,a[A+20>>2]=255==(0|e),I=(b=(i=B?7:8)+(255==(0|(r=255&g))?7:8)|0)+(255==(0|(o=g>>>8&255))?7:8)|0,f=a[A+16>>2],B=g>>>16&255,a[A+16>>2]=I+(f+(255==(0|B)?7:8)|0),l=a[A+8>>2],c=a[A+12>>2],B=r|o<<i|B<<b|e<<I,o=31&f,(63&f)>>>0>=32?(I=B<<o,B=0):(I=(1<<o)-1&B>>>32-o,B<<=o),a[A+8>>2]=B|l,a[A+12>>2]=c|I}function SA(A,f,e,i){var r,b,k=0,B=0,l=0;for(B=(k=a[A+16>>2])>>>0>(B=a[A+20>>2])>>>0?k:B,i<<=2,b=(r=a[A>>2])+((l=a[A+12>>2])<<5)|0;(0|k)!=(0|B);)i&&o((k<<6)+b|0,(C(e,k)<<2)+f|0,i),k=k+1|0;for(B=(k=a[A+24>>2])>>>0>(B=a[A+28>>2])>>>0?k:B,l=32+(r-(l<<5)|0)|0,A=(C(a[A+8>>2],e)<<2)+f|0;(0|k)!=(0|B);)i&&o(l+(k<<6)|0,A+(C(e,k)<<2)|0,i),k=k+1|0}function NA(A,f,e,i){var r,b,k,B,l,g,o,c=0,I=0,n=0,G=0,C=0,Z=0,u=0,Q=0;for(r=A+28|0,b=A+24|0,G=A+20|0,I=A+16|0,Z=(C=a[A>>2])+(n=a[A+12>>2]<<5)|0,C=32+(C-n|0)|0,n=0,k=i>>>0<8,B=a[A+8>>2]<<2,l=3==(0|i),g=4==(0|i),o=7==(0|i);2!=(0|n);){I=a[I>>2],G=(A=a[G>>2])>>>0<I>>>0?I:A,Q=(u=e<<2)+f|0;A:{if(!(15&Z|15&f|k))for(;;){if((0|I)==(0|G))break A;s[(A=(I<<6)+Z|0)>>2]=s[(I<<2)+f>>2],c=e+I|0,s[A+4>>2]=s[(c<<2)+f>>2],c=e+c|0,s[A+8>>2]=s[(c<<2)+f>>2],c=e+c|0,s[A+12>>2]=s[(c<<2)+f>>2],c=e+c|0,s[A+16>>2]=s[(c<<2)+f>>2],c=e+c<<2,s[A+20>>2]=s[c+f>>2],c=c+Q|0,s[A+24>>2]=s[c>>2],s[A+28>>2]=s[c+u>>2],I=I+1|0}for(;;){if((0|I)==(0|G))break A;s[(A=(I<<6)+Z|0)>>2]=s[(I<<2)+f>>2],1!=(0|i)&&(c=e+I|0,s[A+4>>2]=s[(c<<2)+f>>2],2!=(0|i)&&(c=e+c|0,s[A+8>>2]=s[(c<<2)+f>>2],l||(c=e+c|0,s[A+12>>2]=s[(c<<2)+f>>2],g||(c=e+c|0,s[A+16>>2]=s[(c<<2)+f>>2],5!=(0|i)&&(c=e+c<<2,s[A+20>>2]=s[c+f>>2],6!=(0|i)&&(c=c+Q|0,s[A+24>>2]=s[c>>2],o||(s[A+28>>2]=s[c+u>>2]))))))),I=I+1|0}}n=n+1|0,f=f+B|0,I=b,G=r,Z=C}}function pA(A){var f=0;A&&((f=a[A+12>>2])&&(U(f),a[A+12>>2]=0),U(A))}function KA(A){return 2!=a[A+28>>2]}function zA(A){return 0|cA(8,A|=0)}function xA(A,f,e){var i=0,r=0,b=0,k=0;return(i=((r=A+4|0)+f|0)-1&0-f)+e>>>0<=((f=a[A>>2])+A|0)-4>>>0?(b=a[A+4>>2],k=a[A+8>>2],a[b+8>>2]=k,a[k+4>>2]=b,(0|i)!=(0|r)&&(i=i-r|0,b=A-(-2&a[A-4>>2])|0,r=i+a[b>>2]|0,a[b>>2]=r,a[(b+(-4&r)|0)-4>>2]=r,f=f-i|0,a[(A=A+i|0)>>2]=f),e+24>>>0<=f>>>0?(f=(f-e|0)-8|0,a[(r=A+e|0)+8>>2]=f,a[((k=r+8|0)+(-4&f)|0)-4>>2]=1|f,(i=a[r+8>>2]-8|0)>>>0<=127?f=(i>>>3|0)-1|0:(f=110+((i>>>29-(b=u(i))^4)-(b<<2)|0)|0,i>>>0<=4095||(f=(f=71+((i>>>30-b^2)-(b<<1)|0)|0)>>>0>=63?63:f)),i=f<<4,a[r+12>>2]=i+27456,i=i+27464|0,a[r+16>>2]=a[i>>2],a[i>>2]=k,a[a[r+16>>2]+4>>2]=k,i=a[7122],b=a[7123],r=31&f,(63&f)>>>0>=32?(f=1<<r,k=0):f=(k=1<<r)-1&1>>>32-r,a[7122]=k|i,a[7123]=f|b,f=e+8|0,a[A>>2]=f,e=(-4&f)+A|0):e=A+f|0,a[e-4>>2]=f,A=A+4|0):A=0,A}function jA(A){return A?(a[6557]=A,-1):0}function PA(A,f,e){var i,r=0,b=0,k=0,B=0;if(y=i=y-256|0,a[i>>2]=A,(0|f)>=2){for(k=1;!((0|Be(r=a[i>>2],A=(b=A-8|0)-a[((B=f-2|0)<<2)+e>>2]|0))>=0&&(0|Be(r,b))>=0)&&(r=((63&k)<<2)+i|0,k=k+1|0,(0|Be(A,b))>=0?(a[r>>2]=A,f=f-1|0):(a[r>>2]=b,A=b,f=B),(0|f)>1););A=63&k}else A=1;hf(i,A),y=i+256|0}function TA(A,f,e){var i;y=i=y-16|0,a[i+12>>2]=e,Uf(A,f,e),y=i+16|0}function LA(A,f,e,r,b){for(var k=0,B=0,l=0,g=0,o=0,c=0;(0|b)!=(0|g);)o=(0|(k=a[(B=g<<2)+e>>2]))>=0?k>>>0>=255?255:k:0,c=(0|(k=a[f+B>>2]))>=0?k>>>0>=255?255:k:0,l=(0|(l=a[(k=A+B|0)>>2]))>=0?l>>>0>=255?255:l:0,B=r?(0|(B=a[r+B>>2]))>=0?B>>>0>=255?255:B:0:255,i[k+3|0]=B,i[k+2|0]=o,i[k+1|0]=c,i[0|k]=l,g=g+1|0}function OA(A,f,e,i){return 1}function qA(A,f,e,i){var r=0,k=0,B=0;A:{f:{if((k=(B=a[A+24>>2])+1|0)>>>0<=(r=a[A+32>>2])>>>0)r=a[A+28>>2];else{if(k=~~Z(Z(r>>>0)+Z(100))>>>0,a[A+32>>2]=k,!(r=p(a[A+28>>2],C(k,24))))break f;a[A+28>>2]=r,k=(B=a[A+24>>2])+1|0}r=C(B,24)+r|0,a[r+16>>2]=i,a[r+8>>2]=e,a[r+12>>2]=e>>31,b[r>>1]=f,f=1;break A}U(a[A+28>>2]),a[A+28>>2]=0,a[A+32>>2]=0,k=0,f=0}return a[A+24>>2]=k,f}function $A(A,f,e,i){A|=0,f|=0,e|=0,i|=0;var r,b=0;r=UA(),a[f+96>>2]=r;A:{if(r){if(!$(a[f+220>>2],18,i)||!$(a[f+220>>2],19,i))break A;if(!kA(f,a[f+220>>2],A,i))break A;if(!$(a[f+216>>2],20,i)||!$(a[f+216>>2],21,i))break A;if(!kA(f,a[f+216>>2],A,i))break A;A=UA(),a[e>>2]=A,A&&(ef(a[f+96>>2],A),b=1)}return 0|b}return L(a[f+96>>2]),a[f+96>>2]=0,0}function _A(A,f,e){return 1}function Af(A,f){f|=0,(A|=0)&&(a[A+208>>2]=f,f&&(i[A+92|0]=8|k[A+92|0]))}function ff(A,f){!(A|=0)|!(f|=0)||(a[A+188>>2]=a[f+4>>2],a[A+184>>2]=a[f>>2],a[A+248>>2]=2&a[f+8248>>2])}function ef(A,f){var e=0,i=0,r=0;if(a[f>>2]=a[A>>2],a[f+4>>2]=a[A+4>>2],a[f+8>>2]=a[A+8>>2],a[f+12>>2]=a[A+12>>2],a[f+24>>2]){for(;i=a[f+24>>2],!(n[f+16>>2]<=e>>>0);)(i=a[44+(i+C(e,52)|0)>>2])&&U(i),e=e+1|0;U(i),a[f+24>>2]=0}if(e=a[A+16>>2],a[f+16>>2]=e,i=M(C(e,52)),a[f+24>>2]=i,i){for(e=0;n[f+16>>2]>e>>>0;)o((r=C(e,52))+i|0,a[A+24>>2]+r|0,52),i=a[f+24>>2],a[44+(r+i|0)>>2]=0,e=e+1|0;a[f+20>>2]=a[A+20>>2],e=a[A+32>>2],a[f+32>>2]=e;A:{if(e){if(e=M(e),a[f+28>>2]=e,!e)return a[f+28>>2]=0,void(a[f+32>>2]=0);if(!(f=a[A+32>>2]))break A;return void o(e,a[A+28>>2],f)}a[f+28>>2]=0}}else a[f+16>>2]=0,a[f+24>>2]=0}function rf(A,f){var e,i=0,r=0,b=0,k=0,B=0,l=0,g=0,o=0,c=0;for(i=a[A+24>>2],e=a[i+16>>2],B=a[i+24>>2],k=a[a[a[A+20>>2]>>2]+20>>2];;){A:{if((0|o)==(0|e))return l;if(i=a[k+28>>2]+C(a[k+24>>2],152)|0,a[A+64>>2]|!f?(r=-148,b=-140,g=a[i-144>>2]-a[i-152>>2]|0):(r=-12,b=-4,g=a[i-8>>2]-a[i-16>>2]|0),c=a[B+24>>2],i=(b=a[i+b>>2])-(r=a[i+r>>2])|0,r=(0|r)!=(0|b),le(g,0,i),!(X&&r||(le(r=3==(0|(r=(c>>>3|0)+!!(7&c)|0))?4:r,0,i=C(i,g)),X&&r))){if((i=C(i,r))>>>0>(-1^l)>>>0)break A;o=o+1|0,k=k+76|0,B=B+52|0,l=i+l|0;continue}}break}return-1}function bf(A){return a[A+12>>2]==a[A+4>>2]|a[A+8>>2]==a[A>>2]}function af(A){var f=0,e=0,r=0,b=0,k=0,B=0,l=0,g=0,o=0,c=0,I=0,s=0;if(A){if(f=a[A+20>>2]){if(b=a[f>>2]){for(c=1&i[A+40|0]?16:17,e=a[b+20>>2];n[b+16>>2]>o>>>0;){if(k=a[e+28>>2]){for(I=n[e+32>>2]/152|0,B=0;(0|B)!=(0|I);){for(r=k+28|0,l=0;3!=(0|l);){if(f=a[r+20>>2]){for(s=n[r+24>>2]/40|0,g=0;(0|g)!=(0|s);)pA(a[f+32>>2]),a[f+32>>2]=0,pA(a[f+36>>2]),a[f+36>>2]=0,Ge[0|c](f),g=g+1|0,f=f+40|0;U(a[r+20>>2]),a[r+20>>2]=0}l=l+1|0,r=r+36|0}B=B+1|0,k=k+152|0}U(a[e+28>>2]),a[e+28>>2]=0}a[e+40>>2]&&(f=a[e+36>>2])&&(U(f),a[e+44>>2]=0,a[e+48>>2]=0,a[e+36>>2]=0,a[e+40>>2]=0),U(a[e+52>>2]),o=o+1|0,e=e+76|0}U(a[b+20>>2]),a[b+20>>2]=0,U(a[a[A+20>>2]>>2]),f=a[A+20>>2],a[f>>2]=0}U(f),a[A+20>>2]=0}U(a[A+68>>2]),U(A)}}function kf(A){for(var f=0;A>>>0>=2;)f=f+1|0,A=A>>>1|0;return f}function Bf(A,f,e,r,b,B,l,g,o){var c,I,s=0,G=0,Z=0,u=0,Q=0,t=0,W=0,w=0,V=0,Y=0,H=0,F=0;y=c=y-32|0,a[c+24>>2]=B,I=a[28+(a[f+20>>2]+C(a[r+28>>2],76)|0)>>2]+C(a[r+32>>2],152)|0,s=a[A+4>>2];A:{f:if(!a[r+40>>2])for(G=I+28|0;;){if(n[I+24>>2]<=t>>>0)break f;e:if(!bf(G)){if((A=a[r+36>>2])>>>0>=n[G+24>>2]/40>>>0){d(o,1,2830,0),A=0;break A}for(A=a[G+20>>2]+C(A,40)|0,wA(a[A+32>>2]),wA(a[A+36>>2]),Z=C(a[A+20>>2],a[A+16>>2]),A=a[A+24>>2],f=0;;){if((0|f)==(0|Z))break e;a[A+40>>2]=0,a[A+44>>2]=0,f=f+1|0,A=A+68|0}}t=t+1|0,G=G+36|0}A=B,2&k[0|e]&&(g>>>0<=5?d(o,2,4190,0):255==k[0|B]&145==k[B+1|0]?(A=B+6|0,a[c+24>>2]=A):d(o,2,4232,0));f:if(Z=M(20)){if(1&i[s+108|0]?(W=s+40|0,A=a[s+40>>2],g=s+44|0):2&k[e+5640|0]?(W=e+5168|0,A=a[e+5168>>2],g=e+5180|0):(a[c+28>>2]=(B+g|0)-A,W=c+24|0,g=c+28|0),f=a[g>>2],a[Z+12>>2]=0,a[Z+16>>2]=0,a[Z+8>>2]=A,a[Z>>2]=A,a[Z+4>>2]=A+f,!T(Z,1)){if(Yf(Z),f=Ff(Z),VA(Z),A=A+f|0,f=a[W>>2],r=a[g>>2],4&k[0|e]){if(f+(r-A|0)>>>0<=1){d(o,1,4416,0),A=0;break A}if(!(255==k[0|A]&146==k[A+1|0])){d(o,1,4395,0),A=0;break A}A=A+2|0}A=A-f|0,a[g>>2]=r-A,a[W>>2]=A+f,a[b>>2]=0,a[l>>2]=a[c+24>>2]-B,A=1;break A}for(w=I+28|0;;){e:{i:{if(n[I+24>>2]>Y>>>0){if(f=a[r+36>>2],s=a[w+20>>2],bf(w))break i;for(V=C(f,40)+s|0,F=C(a[V+20>>2],a[V+16>>2]),s=a[V+24>>2],t=0;;){if((0|t)==(0|F))break i;r:{if(f=a[s+40>>2]?T(Z,1):tf(Z,a[V+32>>2],t,a[r+40>>2]+1|0)){if(!a[s+40>>2]){for(f=0;G=f,f=f+1|0,!tf(Z,a[V+36>>2],t,G););f=a[w+28>>2],a[s+32>>2]=3,a[s+24>>2]=f,a[s+28>>2]=1+(f-G|0)}for(f=1,(G=!T(Z,1))||(f=2,(G=!T(Z,1))||(f=3==(0|(f=T(Z,2)))?31==(0|(f=T(Z,5)))?T(Z,7)+37|0:f+6|0:f+3|0)),a[s+36>>2]=f,f=0;G=f,f=f+1|0,T(Z,1););a[s+32>>2]=G+a[s+32>>2];b:{if(!(f=a[s+40>>2])){if(G=0,GA(s,0,a[16+(a[e+5584>>2]+C(a[r+28>>2],1080)|0)>>2],1))break b;break e}if(G=f-1|0,u=a[s>>2]+C(G,24)|0,a[u+4>>2]==a[u+12>>2]&&(G=f,!GA(s,f,a[16+(a[e+5584>>2]+C(a[r+28>>2],1080)|0)>>2],0)))break e}if(f=a[s+36>>2],64&k[16+(a[e+5584>>2]+C(a[r+28>>2],1080)|0)|0])for(;;){if(Q=C(G,24),u=G?f:1,a[16+(Q+a[s>>2]|0)>>2]=u,(u=kf(u)+a[s+32>>2]|0)>>>0>=33){a[c+16>>2]=u,d(o,1,15529,c+16|0);break e}if(u=T(Z,u),Q=Q+a[s>>2]|0,a[Q+20>>2]=u,(0|(f=f-a[Q+16>>2]|0))<=0)break r;if(!GA(s,G=G+1|0,a[16+(a[e+5584>>2]+C(a[r+28>>2],1080)|0)>>2],0))break e}for(;;){if(u=(H=C(G,24))+a[s>>2]|0,Q=(0|f)>(0|(Q=a[u+12>>2]-a[u+4>>2]|0))?Q:f,a[u+16>>2]=Q,(u=kf(Q)+a[s+32>>2]|0)>>>0>=33){a[c>>2]=u,d(o,1,15529,c);break e}if(u=T(Z,u),Q=H+a[s>>2]|0,a[Q+20>>2]=u,(0|(f=f-a[Q+16>>2]|0))<=0)break r;if(!GA(s,G=G+1|0,a[16+(a[e+5584>>2]+C(a[r+28>>2],1080)|0)>>2],0))break}break e}a[s+36>>2]=0}t=t+1|0,s=s+68|0}}if(!Yf(Z))break e;if(f=Ff(Z),VA(Z),f=A+f|0,A=a[W>>2],4&k[0|e]){if(A+(a[g>>2]-f|0)>>>0<=1){d(o,1,4416,0),A=0;break A}if(!(255==k[0|f]&146==k[f+1|0])){d(o,1,4395,0),A=0;break A}f=f+2|0}if((0|A)==(0|f))break f;a[g>>2]=a[g>>2]+(A-f|0),a[W>>2]=f,a[b>>2]=1,a[l>>2]=a[c+24>>2]-B,A=1;break A}w=w+36|0,Y=Y+1|0;continue}break}VA(Z)}A=0}return y=c+32|0,A}function lf(A,f,e,i,r,b){var B=0,l=0,g=0,o=0,c=0,I=0,n=0,s=0,G=0;if(s=C(r,3),!(2097168&(B=a[f>>2]>>>s|0))){if(c=(n=A+28|0)+(k[a[A+108>>2]+(495&B)|0]<<2)|0,a[A+104>>2]=c,o=a[c>>2],l=a[o>>2],B=a[A+4>>2]-l|0,a[A+4>>2]=B,(g=a[A>>2])>>>16>>>0<l>>>0){for(I=a[o+4>>2],a[A+4>>2]=l,B=B>>>0<l>>>0,a[c>>2]=a[o+(B?8:12)>>2],o=B?I:!I,B=a[A+8>>2];;){A:if(!B)if(I=(B=a[A+16>>2])+1|0,c=k[B+1|0],255!=k[0|B])a[A+16>>2]=I,B=8,g=(c<<8)+g|0;else{if(c>>>0>=144){a[A+12>>2]=a[A+12>>2]+1,g=g+65280|0,B=8;break A}a[A+16>>2]=I,g=(c<<9)+g|0,B=7}if(B=B-1|0,a[A+8>>2]=B,g<<=1,a[A>>2]=g,l<<=1,a[A+4>>2]=l,!(l>>>0<32768))break}B=l}else if(g=g-(l<<16)|0,a[A>>2]=g,32768&B)o=a[o+4>>2];else for(I=a[o+4>>2],l=B>>>0<l>>>0,a[c>>2]=a[o+(l?12:8)>>2],o=l?!I:I,l=a[A+8>>2];;){A:if(!l)if(I=(l=a[A+16>>2])+1|0,c=k[l+1|0],255!=k[0|l])a[A+16>>2]=I,l=8,g=(c<<8)+g|0;else{if(c>>>0>=144){a[A+12>>2]=a[A+12>>2]+1,g=g+65280|0,l=8;break A}a[A+16>>2]=I,g=(c<<9)+g|0,l=7}if(l=l-1|0,a[A+8>>2]=l,g<<=1,a[A>>2]=g,B<<=1,a[A+4>>2]=B,!(B>>>0<32768))break}if(o){if(l=n,n=f-4|0,G=S(a[f>>2],a[n>>2],a[f+4>>2],r),I=l+(k[G+24368|0]<<2)|0,a[A+104>>2]=I,c=a[I>>2],B=B-(l=a[c>>2])|0,a[A+4>>2]=B,g>>>16>>>0<l>>>0)for(o=a[c+4>>2],a[A+4>>2]=l,B=B>>>0<l>>>0,a[I>>2]=a[c+(B?8:12)>>2],c=B?o:!o,B=a[A+8>>2];;){A:if(!B)if(I=(B=a[A+16>>2])+1|0,o=k[B+1|0],255!=k[0|B])a[A+16>>2]=I,B=8,g=(o<<8)+g|0;else{if(o>>>0>=144){a[A+12>>2]=a[A+12>>2]+1,g=g+65280|0,B=8;break A}a[A+16>>2]=I,g=(o<<9)+g|0,B=7}if(B=B-1|0,a[A+8>>2]=B,g<<=1,a[A>>2]=g,l<<=1,a[A+4>>2]=l,!(l>>>0<32768))break}else if(o=g-(l<<16)|0,a[A>>2]=o,32768&B)c=a[c+4>>2];else for(g=a[c+4>>2],l=B>>>0<l>>>0,a[I>>2]=a[c+(l?12:8)>>2],c=l?!g:g,g=a[A+8>>2];;){A:if(!g)if(I=(g=a[A+16>>2])+1|0,l=k[g+1|0],255!=k[0|g])a[A+16>>2]=I,g=8,o=(l<<8)+o|0;else{if(l>>>0>=144){a[A+12>>2]=a[A+12>>2]+1,o=o+65280|0,g=8;break A}a[A+16>>2]=I,o=(l<<9)+o|0,g=7}if(g=g-1|0,a[A+8>>2]=g,o<<=1,a[A>>2]=o,B<<=1,a[A+4>>2]=B,!(B>>>0<32768))break}l=e,e=k[G+24624|0],a[l>>2]=(0|e)==(0|c)?i:0-i|0,a[n>>2]=a[n>>2]|32<<s,i=e^c,a[f>>2]=a[f>>2]|(i<<19|16)<<s,a[f+4>>2]=a[f+4>>2]|8<<s,r|b||(e=(-2-a[A+124>>2]<<2)+f|0,a[e+4>>2]=32768|a[e+4>>2],a[e>>2]=a[e>>2]|i<<31|65536,a[(e=e-4|0)>>2]=131072|a[e>>2]),3==(0|r)&&(A=(a[A+124>>2]<<2)+f|0,a[A+4>>2]=4|a[A+4>>2],a[A+12>>2]=1|a[A+12>>2],a[A+8>>2]=a[A+8>>2]|i<<18|2)}}}function gf(A,f,e,i,r,b,B){var l=0,g=0,o=0,c=0,I=0,n=0,s=0,G=0,Z=0;if(s=C(r,3),!(2097168&(l=a[f>>2]>>>s|0))&&(l&=495)){if(I=(G=A+28|0)+(k[l+a[A+108>>2]|0]<<2)|0,a[A+104>>2]=I,c=a[I>>2],o=a[c>>2],l=a[A+4>>2]-o|0,a[A+4>>2]=l,(g=a[A>>2])>>>16>>>0<o>>>0){for(n=a[c+4>>2],a[A+4>>2]=o,l=l>>>0<o>>>0,a[I>>2]=a[c+(l?8:12)>>2],c=l?n:!n,l=a[A+8>>2];;){A:if(!l)if(n=(l=a[A+16>>2])+1|0,I=k[l+1|0],255!=k[0|l])a[A+16>>2]=n,l=8,g=(I<<8)+g|0;else{if(I>>>0>=144){a[A+12>>2]=a[A+12>>2]+1,g=g+65280|0,l=8;break A}a[A+16>>2]=n,g=(I<<9)+g|0,l=7}if(l=l-1|0,a[A+8>>2]=l,g<<=1,a[A>>2]=g,o<<=1,a[A+4>>2]=o,!(o>>>0<32768))break}l=o}else if(g=g-(o<<16)|0,a[A>>2]=g,32768&l)c=a[c+4>>2];else for(n=a[c+4>>2],o=l>>>0<o>>>0,a[I>>2]=a[c+(o?12:8)>>2],c=o?!n:n,o=a[A+8>>2];;){A:if(!o)if(n=(o=a[A+16>>2])+1|0,I=k[o+1|0],255!=k[0|o])a[A+16>>2]=n,o=8,g=(I<<8)+g|0;else{if(I>>>0>=144){a[A+12>>2]=a[A+12>>2]+1,g=g+65280|0,o=8;break A}a[A+16>>2]=n,g=(I<<9)+g|0,o=7}if(o=o-1|0,a[A+8>>2]=o,g<<=1,a[A>>2]=g,l<<=1,a[A+4>>2]=l,!(l>>>0<32768))break}if(c){if(Z=f-4|0,c=S(a[f>>2],a[Z>>2],a[f+4>>2],r),n=G+(k[c+24368|0]<<2)|0,a[A+104>>2]=n,I=a[n>>2],l=l-(o=a[I>>2])|0,a[A+4>>2]=l,G=k[c+24624|0],g>>>16>>>0<o>>>0)for(c=a[I+4>>2],a[A+4>>2]=o,l=l>>>0<o>>>0,a[n>>2]=a[I+(l?8:12)>>2],I=l?c:!c,l=a[A+8>>2];;){A:if(!l)if(n=(l=a[A+16>>2])+1|0,c=k[l+1|0],255!=k[0|l])a[A+16>>2]=n,l=8,g=(c<<8)+g|0;else{if(c>>>0>=144){a[A+12>>2]=a[A+12>>2]+1,g=g+65280|0,l=8;break A}a[A+16>>2]=n,g=(c<<9)+g|0,l=7}if(l=l-1|0,a[A+8>>2]=l,g<<=1,a[A>>2]=g,o<<=1,a[A+4>>2]=o,!(o>>>0<32768))break}else if(c=g-(o<<16)|0,a[A>>2]=c,32768&l)I=a[I+4>>2];else for(g=a[I+4>>2],o=l>>>0<o>>>0,a[n>>2]=a[I+(o?12:8)>>2],I=o?!g:g,g=a[A+8>>2];;){A:if(!g)if(n=(g=a[A+16>>2])+1|0,o=k[g+1|0],255!=k[0|g])a[A+16>>2]=n,g=8,c=(o<<8)+c|0;else{if(o>>>0>=144){a[A+12>>2]=a[A+12>>2]+1,c=c+65280|0,g=8;break A}a[A+16>>2]=n,c=(o<<9)+c|0,g=7}if(g=g-1|0,a[A+8>>2]=g,c<<=1,a[A>>2]=c,l<<=1,a[A+4>>2]=l,!(l>>>0<32768))break}a[e>>2]=(0|I)==(0|G)?i:0-i|0,a[Z>>2]=a[Z>>2]|32<<s,e=I^G,a[f>>2]=a[f>>2]|(e<<19|16)<<s,a[f+4>>2]=a[f+4>>2]|8<<s,r|B||(a[(A=f-(b<<2)|0)+4>>2]=32768|a[A+4>>2],a[A>>2]=a[A>>2]|e<<31|65536,a[(A=A-4|0)>>2]=131072|a[A>>2]),3==(0|r)&&(a[(A=(b<<2)+f|0)+4>>2]=1|a[A+4>>2],a[A>>2]=a[A>>2]|e<<18|2,a[(A=A-4|0)>>2]=4|a[A>>2])}a[f>>2]=a[f>>2]|2097152<<s}}function of(A){var f=0;A&&((f=a[A+116>>2])&&(U(f),a[A+116>>2]=0),(f=a[A+120>>2])&&(U(f),a[A+120>>2]=0),U(a[A+148>>2]),U(A))}function cf(A){var f;for(f=A+28|0,A=0;19!=(0|A);)a[(A<<2)+f>>2]=20816,A=A+1|0}function If(A,f,e,i){var r,b=0,B=0,l=0,g=0,o=0,c=0,I=0,n=0;for(a[A+8>>2]=0,a[A+12>>2]=0,a[A>>2]=f,a[A+16>>2]=0,a[A+20>>2]=0,a[A+28>>2]=i,a[A+24>>2]=e,r=4-(3&f)|0;(0|g)!=(0|r);)o=e-1|0,a[A+24>>2]=o,(0|e)<=0?e=i:(l=f+1|0,a[A>>2]=l,e=k[0|f],f=l),l=255==(0|e),a[A+20>>2]=l,c=(b?7:8)+B|0,a[A+16>>2]=c,b=31&B,(63&B)>>>0>=32?(B=e<<b,e=0):(B=(1<<b)-1&e>>>32-b,e<<=b),I|=e,n=e=B|n,a[A+8>>2]=I,a[A+12>>2]=e,g=g+1|0,b=l,B=c,e=o;MA(A)}function nf(A,f,e,i){var r;for(r=f>>>0<e>>>0?e:f;(0|f)!=(0|r);)s[(e=(f<<6)+A|0)>>2]=i*s[e>>2],s[e+4>>2]=i*s[e+4>>2],s[e+8>>2]=i*s[e+8>>2],s[e+12>>2]=i*s[e+12>>2],s[e+16>>2]=i*s[e+16>>2],s[e+20>>2]=i*s[e+20>>2],s[e+24>>2]=i*s[e+24>>2],s[e+28>>2]=i*s[e+28>>2],f=f+1|0}function sf(A,f,e,i){for(var r=0,b=0,k=0,B=0,l=0,g=0;(0|i)!=(0|b);)B=(k=e+b|0)+1|0,l=b<<2,x(f,r=a[A+16>>2],k,a[A+20>>2],B,l+((a[A>>2]+(a[A+12>>2]<<5)|0)+(r<<6)|0)|0,16,0),x(f,(r=a[A+8>>2])+(g=a[A+24>>2])|0,k,a[A+28>>2]+r|0,B,32+(((a[A>>2]-(a[A+12>>2]<<5)|0)+(g<<6)|0)+l|0)|0,16,0),b=b+1|0}function Gf(A,f){var e=0,i=0,r=0,b=0,k=0,B=0,l=0,g=0,o=0,c=0,I=0,s=0,G=0,Z=0,u=0,Q=0,t=0,W=0;i=a[A+28>>2]+C(f,152)|0;A:{if(!(!(e=a[i-144>>2]-a[i-152>>2]|0)|!(r=a[i-140>>2]-a[i-148>>2]|0)|!(k=e>>>0>=64?64:e)|!(b=r>>>0>=64?64:r)|k>>>0>4294967295/(b>>>0)>>>2>>>0)){if(i=D(1,28),a[i+12>>2]=b,a[i+8>>2]=k,a[i+4>>2]=r,a[i>>2]=e,r=Ie((B=r+b|0)-1|0,(r=r>>>0>B>>>0)-!B|0,b,0),a[i+20>>2]=r,e=Ie((b=e+k|0)-1|0,(e=e>>>0>b>>>0)-!b|0,k,0),a[i+16>>2]=e,le(r,0,e),!X&&(e=D(4,C(e,r)),a[i+24>>2]=e,e))break A;U(i)}i=0}if(i){for(;;){if((0|f)==(0|s))return i;W=(o=(G=C(s,152))+a[A+28>>2]|0)+28|0,e=0;A:{for(;n[o+24>>2]>e>>>0;){for(r=C(e,36)+W|0,b=0;C(a[o+20>>2],a[o+16>>2])>>>0>b>>>0;){for(Z=a[r+20>>2]+C(b,40)|0,k=0;C(a[Z+20>>2],a[Z+16>>2])>>>0>k>>>0;){if(B=a[Z+24>>2]+C(k,68)|0,(u=a[B+60>>2])&&(c=(l=a[B+8>>2])-a[r>>2]|0,I=(Q=a[B+12>>2])-a[r+4>>2]|0,1&(g=a[r+16>>2])&&(t=a[A+28>>2]+G|0,c=(c+a[t-144>>2]|0)-a[t-152>>2]|0),2&g&&(g=a[A+28>>2]+G|0,I=(I+a[g-140>>2]|0)-a[g-148>>2]|0),!rA(i,c,I,c+(l=a[B+16>>2]-l|0)|0,(a[B+20>>2]-Q|0)+I|0,u,1,l)))break A;k=k+1|0}b=b+1|0}e=e+1|0}s=s+1|0;continue}break}q(i)}return 0}function Cf(A,f){var e,i=0,r=0,b=0,k=0,B=0,l=0,g=0,c=0,I=0,n=0,s=0,G=0;e=(i=a[A+8>>2])+a[A+4>>2]|0;A:{if(!a[A+12>>2]){if((0|e)<2)break A;for(g=1+(e-2>>>1|0)|0,r=a[(c=(i<<2)+f|0)>>2],i=a[f>>2]-(r+1>>1)|0,b=a[A>>2],A=1;(0|A)!=(0|g);)I=a[(B=A<<2)+f>>2],B=a[B+c>>2],a[(n=b+(k<<2)|0)>>2]=i,l=i,i=I-(2+(r+B|0)>>2)|0,a[n+4>>2]=(l+i>>1)+r,A=A+1|0,k=k+2|0,r=B;if(a[b+(k<<2)>>2]=i,1&e?(A=a[((B=e-1|0)<<1)+f>>2]-(r+1>>1)|0,a[b+(B<<2)>>2]=A,i=A+i>>1,l=-8):l=-4,a[l+((A=e<<2)+b|0)>>2]=i+r,!A)break A;return void o(f,b,A)}f:switch(e-1|0){case 0:return void(a[f>>2]=a[f>>2]/2);case 1:return A=a[A>>2],i=(i<<2)+f|0,r=a[f>>2]-(a[i>>2]+1>>1)|0,a[A+4>>2]=r,a[A>>2]=r+a[i>>2],i=a[A+4>>2],a[f>>2]=a[A>>2],void(a[f+4>>2]=i);default:break f}if(!((0|e)<3)){for(b=a[A>>2],r=a[(g=(i<<2)+f|0)+4>>2],A=a[g>>2],i=a[f>>2]-(2+(r+A|0)>>2)|0,a[b>>2]=i+A,n=1+((c=e-2|0)-!(I=1&e)>>>1|0)|0,k=1,A=1;(0|A)!=(0|n);)G=a[(A<<2)+f>>2],B=a[g+((A=A+1|0)<<2)>>2],a[(s=b+(k<<2)|0)>>2]=i,l=i,i=G-(2+(r+B|0)>>2)|0,a[s+4>>2]=(l+i>>1)+r,k=k+2|0,r=B;a[b+(k<<2)>>2]=i,I?k=i+r|0:(k=a[((e<<1)+f|0)-4>>2]-(r+1>>1)|0,a[b+(c<<2)>>2]=(k+i>>1)+r),a[((A=e<<2)+b|0)-4>>2]=k,A&&o(f,b,A)}}}function Zf(A,f,e,i,r,b,k,B,l){var c,I=0,s=0,G=0,Z=0,u=0,Q=0,t=0,W=0,w=0,V=0,Y=0,H=0,F=0,v=0,m=0,E=0,y=0,R=0;v=1,c=a[A+8>>2],(w=a[A>>2])>>>0<i>>>0|f>>>0>=i>>>0|f>>>0>=w>>>0|e>>>0>=r>>>0||(w=a[A+4>>2])>>>0<=e>>>0||(W=r>>>0<=w>>>0);A:if(W){H=(e>>>0)/n[A+12>>2]|0,m=8!=(0|k),w=e;f:for(;;){if(r>>>0<=w>>>0)break A;for(I=W=a[A+12>>2],y=2==(0|k)&1==(0|(t=(I=(0|e)==(0|w)?I-((e>>>0)%(I>>>0)|0)|0:I)>>>0<(s=r-w|0)>>>0?I:s)),E=C(W-I|0,c),Y=(C(w-e|0,B)<<2)+b|0,R=(C(F=(f>>>0)/(c>>>0)|0,c)-f|0)+c|0,W=f;;){e:{i:{if(i>>>0>W>>>0){if(u=(I=(0|f)==(0|W)?R:c)>>>0<(s=i-W|0)>>>0?I:s,s=c-I|0,I=a[(G=F<<2)+(a[A+24>>2]+(C(a[A+16>>2],H)<<2)|0)>>2],!l)break i;if(!I){if(I=W-f|0,1==(0|k))for(G=u<<2,s=(I<<2)+Y|0,I=0;;){if((0|I)==(0|t))break e;G&&g(s,0,G),I=I+1|0,s=(B<<2)+s|0}for(s=(C(k,I)<<2)+Y|0,G=0;;){if(I=0,(0|G)==(0|t))break e;for(;(0|I)!=(0|u);)a[(C(k,I)<<2)+s>>2]=0,I=I+1|0;G=G+1|0,s=(B<<2)+s|0}}if(s=((E<<2)+I|0)+(s<<2)|0,I=W-f|0,1==(0|k)){if(I=(I<<2)+Y|0,G=0,4!=(0|u))for(Z=u<<2;;){if((0|G)==(0|t))break e;Z&&o(I,s,Z),G=G+1|0,s=(c<<2)+s|0,I=(B<<2)+I|0}for(;;){if((0|G)==(0|t))break e;Z=a[s+12>>2],a[I+8>>2]=a[s+8>>2],a[I+12>>2]=Z,Z=a[s+4>>2],a[I>>2]=a[s>>2],a[I+4>>2]=Z,G=G+1|0,s=(c<<2)+s|0,I=(B<<2)+I|0}}if(G=(C(k,I)<<2)+Y|0,I=0,1==(0|u))for(;;){if((0|I)==(0|t))break e;a[G>>2]=a[s>>2],I=I+1|0,s=(c<<2)+s|0,G=(B<<2)+G|0}if(y){for(Z=-4&u;I>>>0<Z>>>0;)a[(I<<3)+G>>2]=a[(I<<2)+s>>2],a[((V=1|I)<<3)+G>>2]=a[(V<<2)+s>>2],a[((V=2|I)<<3)+G>>2]=a[(V<<2)+s>>2],a[((V=3|I)<<3)+G>>2]=a[(V<<2)+s>>2],I=I+4|0;for(;;){if(I>>>0>=u>>>0)break e;a[(I<<3)+G>>2]=a[(I<<2)+s>>2],I=I+1|0}}if(Z=0,!(u>>>0<8|m))for(V=-4&u;;){if(I=0,(0|Z)==(0|t))break e;for(;I>>>0<V>>>0;)a[(I<<5)+G>>2]=a[(I<<2)+s>>2],a[((Q=1|I)<<5)+G>>2]=a[(Q<<2)+s>>2],a[((Q=2|I)<<5)+G>>2]=a[(Q<<2)+s>>2],a[((Q=3|I)<<5)+G>>2]=a[(Q<<2)+s>>2],I=I+4|0;for(;I>>>0<u>>>0;)a[(I<<5)+G>>2]=a[(I<<2)+s>>2],I=I+1|0;Z=Z+1|0,s=(c<<2)+s|0,G=(B<<2)+G|0}for(;;){if(I=0,(0|Z)==(0|t))break e;for(;(0|I)!=(0|u);)a[(C(k,I)<<2)+G>>2]=a[(I<<2)+s>>2],I=I+1|0;Z=Z+1|0,s=(c<<2)+s|0,G=(B<<2)+G|0}}w=t+w|0,H=H+1|0;continue f}if(!I){if(!(I=D(1,C(a[A+8>>2],a[A+12>>2])<<2))){v=0;break A}a[G+(a[A+24>>2]+(C(a[A+16>>2],H)<<2)|0)>>2]=I}if(s=((E<<2)+I|0)+(s<<2)|0,I=W-f|0,1==(0|k)){if(I=(I<<2)+Y|0,G=0,4!=(0|u))for(Z=u<<2;;){if((0|G)==(0|t))break e;Z&&o(s,I,Z),G=G+1|0,I=(B<<2)+I|0,s=(c<<2)+s|0}for(;;){if((0|G)==(0|t))break e;Z=a[I+12>>2],a[s+8>>2]=a[I+8>>2],a[s+12>>2]=Z,Z=a[I+4>>2],a[s>>2]=a[I>>2],a[s+4>>2]=Z,G=G+1|0,I=(B<<2)+I|0,s=(c<<2)+s|0}}if(G=(C(k,I)<<2)+Y|0,I=0,1==(0|u))for(;;){if((0|I)==(0|t))break e;a[s>>2]=a[G>>2],I=I+1|0,s=(c<<2)+s|0,G=(B<<2)+G|0}if(Z=0,!(u>>>0<8|m))for(V=-4&u;;){if(I=0,(0|Z)==(0|t))break e;for(;I>>>0<V>>>0;)a[(I<<2)+s>>2]=a[(I<<5)+G>>2],a[((Q=1|I)<<2)+s>>2]=a[(Q<<5)+G>>2],a[((Q=2|I)<<2)+s>>2]=a[(Q<<5)+G>>2],a[((Q=3|I)<<2)+s>>2]=a[(Q<<5)+G>>2],I=I+4|0;for(;I>>>0<u>>>0;)a[(I<<2)+s>>2]=a[(I<<5)+G>>2],I=I+1|0;Z=Z+1|0,s=(c<<2)+s|0,G=(B<<2)+G|0}for(;;){if(I=0,(0|Z)==(0|t))break e;for(;(0|I)!=(0|u);)a[(I<<2)+s>>2]=a[(C(k,I)<<2)+G>>2],I=I+1|0;Z=Z+1|0,s=(c<<2)+s|0,G=(B<<2)+G|0}}W=u+W|0,F=F+1|0}}}return v}function uf(A,f,e,i){for(var r=0,b=0,a=Z(0),k=0,B=Z(0),l=0,g=Z(0);(0|i)!=(0|b);)B=s[(k=(r=b<<2)+f|0)>>2],a=s[(l=A+r|0)>>2],g=s[(r=e+r|0)>>2],s[l>>2]=Z(g*Z(1.4019999504089355))+a,s[k>>2]=Z(a+Z(B*Z(-.3441300094127655)))+Z(g*Z(-.714139997959137)),s[r>>2]=a+Z(B*Z(1.7719999551773071)),b=b+1|0}function Qf(A,f,e,i){for(var r=0,b=0,k=0,B=0,l=0,g=0,o=0;(0|i)!=(0|b);)k=(r=b<<2)+A|0,l=a[(B=e+r|0)>>2],o=a[(g=f+r|0)>>2],r=a[k>>2]-(l+o>>2)|0,a[k>>2]=r+l,a[g>>2]=r,a[B>>2]=r+o,b=b+1|0}function tf(A,f,e,i){var r,b=0,k=0;for(y=r=y-128|0,f=a[f+12>>2]+(e<<4)|0,b=r;;){if(!(e=a[f>>2])){for(;;){for((0|k)>(0|(e=a[f+8>>2]))&&(a[f+8>>2]=k,e=k);!(a[f+4>>2]<=(0|e)|(0|e)>=(0|i));)T(A,1)?a[f+4>>2]=e:e=e+1|0;if(a[f+8>>2]=e,(0|b)==(0|r))break;f=a[(b=b-4|0)>>2],k=e}y=r+128|0,A=a[f+4>>2]<(0|i);break}a[b>>2]=f,b=b+4|0,f=e}return A}function Wf(A,f){var e;return y=e=y-16|0,f?(3&A?A=28:(A=cA(A,f),a[e+12>>2]=A,A=A?0:48),A=A?0:a[e+12>>2]):A=0,y=e+16|0,A}function wf(A,f,e,i){var r,b=0,k=0,B=0,l=0,o=0,c=0,I=0,s=0;y=r=y-256|0;A:{if(A){f:{if(!(a[A>>2]==(0|f)&a[A+4>>2]==(0|e))){for(a[A+4>>2]=e,a[A>>2]=f,a[r>>2]=e,a[r+128>>2]=f,I=f,k=f,B=e,l=e;s=o,l=(l+1|0)/2|0,a[(c=(o=o+1|0)<<2)+r>>2]=l,k=(k+1|0)/2|0,a[c+(r+128|0)>>2]=k,b=(c=C(B,I))+b|0,B=l,I=k,c>>>0>1;);if(a[A+8>>2]=b,!b)break f;if((B=b<<4)>>>0>n[A+16>>2]){if(!(f=p(a[A+12>>2],B))){d(i,1,6445,0);break f}a[A+12>>2]=f,(i=B-(e=a[A+16>>2])|0)&&g(f+e|0,0,i),a[A+16>>2]=B,e=a[A+4>>2],f=a[A>>2]}for(i=0,l=B=(b=a[A+12>>2])+(C(f,e)<<4)|0;(0|i)!=(0|s);){for(o=0,I=(0|(f=a[(e=i<<2)+r>>2]))>0?f:0,c=f-1|0,e=e+(r+128|0)|0;(0|o)!=(0|I);){for(k=f=a[e>>2];(0|k)>0;)a[b>>2]=l,1==(0|k)?b=b+16|0:(a[b+16>>2]=l,b=b+32|0),k=k-2|0,l=l+16|0;f=(k=1&((0|o)==(0|c)|o))?l:(f<<4)+B|0,l=k?l:B,o=o+1|0,B=f}i=i+1|0}a[b>>2]=0}wA(A);break A}pA(A)}A=0}return y=r+256|0,A}function Vf(A,f,e){var i,r=0,b=0,k=0,B=0,l=0,g=0,o=0,c=0,I=0;if(y=i=y-256|0,r=D(1,20)){for(a[r+4>>2]=f,a[r>>2]=A,a[i>>2]=f,a[i+128>>2]=A,b=A,k=f;o=l,k=(k+1|0)/2|0,a[(g=(l=l+1|0)<<2)+i>>2]=k,b=(b+1|0)/2|0,a[g+(i+128|0)>>2]=b,B=(g=C(A,f))+B|0,f=k,A=b,g>>>0>1;);if(a[r+8>>2]=B,B)if(f=D(B,16),a[r+12>>2]=f,f){for(a[r+16>>2]=a[r+8>>2]<<4,l=0,k=B=(C(a[r+4>>2],a[r>>2])<<4)+f|0;(0|l)!=(0|o);){for(A=0,g=(0|(e=a[(b=l<<2)+i>>2]))>0?e:0,c=e-1|0,I=b+(i+128|0)|0;(0|A)!=(0|g);){for(b=e=a[I>>2];(0|b)>0;)a[f>>2]=k,1==(0|b)?f=f+16|0:(a[f+16>>2]=k,f=f+32|0),b=b-2|0,k=k+16|0;e=(b=1&((0|A)==(0|c)|A))?k:(e<<4)+B|0,k=b?k:B,A=A+1|0,B=e}l=l+1|0}a[f>>2]=0,wA(r)}else d(e,1,3558,0),U(r),r=0;else U(r),r=0}else d(e,1,6407,0),r=0;return y=i+256|0,r}function Yf(A){return 255!=k[A+12|0]||Hf(A)?(a[A+16>>2]=0,1):0}function Hf(A){var f,e;return f=a[A+12>>2]<<8&65280,a[A+12>>2]=f,a[A+16>>2]=65280==(0|f)?7:8,(e=a[A+8>>2])>>>0<n[A+4>>2]?(a[A+8>>2]=e+1,a[A+12>>2]=k[0|e]|f,A=1):A=0,A}function Ff(A){return a[A+8>>2]-a[A>>2]|0}function vf(){var A=0,f=0;A:{if(A=D(1,44)){if(a[A+16>>2]=0,f=D(1,8),a[A+36>>2]=f,f)break A;U(A)}A=0}return A}function mf(A,f,e,i){return 0|Ge[a[A+44>>2]](A,f,e,i)}function Ef(A,f,e,r){for(r=f+r|0,f=0;(0|f)!=(0|e);)i[0|r]=k[0|A],f=f+1|0,r=r-1|0,A=A+1|0}function yf(A){var f=0,e=0,i=0,r=0,b=0,k=0,B=0;r=(A=(e=A+7&-8)+7|0)>>>0<7;A:{f:{if(!((A=(i=-8&A)+(f=a[6551])|0)>>>0<i>>>0?r+1|0:r)){if(A>>>0<=Ce()<<16>>>0)break f;if(0|Y(0|A))break f}a[6557]=48,f=-1;break A}a[6551]=A}if(-1!=(0|(r=f))){a[(A=r+e|0)-4>>2]=16,a[(b=A-16|0)>>2]=16;A:{if((0|(i=(f=a[7120])?a[f+8>>2]:0))!=(0|r))a[r>>2]=16,a[r+8>>2]=A,a[r+4>>2]=f,a[r+12>>2]=16,a[7120]=r,A=r+16|0;else{if(i=-2&a[r-4>>2],B=a[(k=r-i|0)-4>>2],a[f+8>>2]=A,1&a[((A=k-(f=-2&B)|0)+a[A>>2]|0)-4>>2]){b=a[A+4>>2],k=a[A+8>>2],a[b+8>>2]=k,a[k+4>>2]=b,f=(f+(e+i|0)|0)-16|0,a[A>>2]=f;break A}A=r-16|0}f=b-A|0,a[A>>2]=f}a[((-4&f)+A|0)-4>>2]=1|f,(e=a[A>>2]-8|0)>>>0<=127?f=(e>>>3|0)-1|0:(f=110+((e>>>29-(i=u(e))^4)-(i<<2)|0)|0,e>>>0<=4095||(f=(f=71+((e>>>30-i^2)-(i<<1)|0)|0)>>>0>=63?63:f)),e=f<<4,a[A+4>>2]=e+27456,e=e+27464|0,a[A+8>>2]=a[e>>2],a[e>>2]=A,a[a[A+8>>2]+4>>2]=A,e=a[7123],A=31&f,(63&f)>>>0>=32?(f=1<<A,i=0):f=(i=1<<A)-1&1>>>32-A,a[7122]=i|a[7122],a[7123]=f|e}return-1!=(0|r)}function Rf(A,f){if(!A)return 0;A:{f:{if(A){if(f>>>0<=127)break f;if(a[a[6550]>>2]){if(f>>>0<=2047){i[A+1|0]=63&f|128,i[0|A]=f>>>6|192,A=2;break A}if(!(57344!=(-8192&f)&f>>>0>=55296)){i[A+2|0]=63&f|128,i[0|A]=f>>>12|224,i[A+1|0]=f>>>6&63|128,A=3;break A}if(f-65536>>>0<=1048575){i[A+3|0]=63&f|128,i[0|A]=f>>>18|240,i[A+2|0]=f>>>6&63|128,i[A+1|0]=f>>>12&63|128,A=4;break A}}else if(57216==(-128&f))break f;a[6557]=25,A=-1}else A=1;break A}i[0|A]=f,A=1}return A}function Jf(A,f,e){A:switch(f-9|0){case 0:return f=a[e>>2],a[e>>2]=f+4,void(a[A>>2]=a[f>>2]);case 6:return f=a[e>>2],a[e>>2]=f+4,f=b[f>>1],a[A>>2]=f,void(a[A+4>>2]=f>>31);case 7:return f=a[e>>2],a[e>>2]=f+4,a[A>>2]=I[f>>1],void(a[A+4>>2]=0);case 8:return f=a[e>>2],a[e>>2]=f+4,f=i[0|f],a[A>>2]=f,void(a[A+4>>2]=f>>31);case 9:return f=a[e>>2],a[e>>2]=f+4,a[A>>2]=k[0|f],void(a[A+4>>2]=0);case 16:return f=a[e>>2]+7&-8,a[e>>2]=f+8,void(G[A>>3]=G[f>>3]);case 17:c();default:return;case 1:case 4:case 14:return f=a[e>>2],a[e>>2]=f+4,f=a[f>>2],a[A>>2]=f,void(a[A+4>>2]=f>>31);case 2:case 5:case 11:case 15:return f=a[e>>2],a[e>>2]=f+4,a[A>>2]=a[f>>2],void(a[A+4>>2]=0);case 3:case 10:case 12:case 13:break A}f=a[e>>2]+7&-8,a[e>>2]=f+8,e=a[f+4>>2],a[A>>2]=a[f>>2],a[A+4>>2]=e}function Xf(A){var f=0,e=0,r=0,b=0,k=0;if(r=a[A>>2],(f=i[0|r]-48|0)>>>0>9)return 0;for(;b=-1,e>>>0<=214748364&&(b=(2147483647^(e=C(e,10)))>>>0<f>>>0?-1:e+f|0),f=r+1|0,a[A>>2]=f,k=i[r+1|0],e=b,r=f,(f=k-48|0)>>>0<10;);return e}function df(A,f,e,r,B){var l,g,o,I,n=0,s=0,G=0,Z=0,u=0,Q=0,t=0,W=0,w=0,V=0,Y=0,H=0,F=0,v=0,m=0,E=0,R=0,J=0;y=l=y+-64|0,a[l+60>>2]=f,o=l+41|0,I=l+39|0,g=l+40|0;A:{f:{e:{i:{r:for(;;){f=0;b:for(;;){if((2147483647^t)<(0|f))break i;t=f+t|0;a:{k:{B:{l:{if(G=a[l+60>>2],s=k[0|(f=G)])for(;;){g:{o:if(n=255&s){if(37!=(0|n))break g;for(s=f;;){if(37!=k[s+1|0]){Z=s;break o}if(f=f+1|0,n=k[s+2|0],s=Z=s+2|0,37!=(0|n))break}}else Z=f;if(a[l+60>>2]=Z,(0|(f=f-G|0))>(0|(E=2147483647^t)))break i;if(A&&bA(A,G,f),f)continue b;f=Z+1|0,Y=-1,n=i[Z+1|0]-48|0,36!=k[Z+2|0]|n>>>0>9||(v=1,Y=n,f=Z+3|0),a[l+60>>2]=f,w=0;o:if((Z=(s=i[0|f])-32|0)>>>0>31)n=f;else if(n=f,75913&(Z=1<<Z))for(;;){if(n=f+1|0,a[l+60>>2]=n,w|=Z,(Z=(s=i[f+1|0])-32|0)>>>0>=32)break o;if(f=n,!(75913&(Z=1<<Z)))break}o:if(42!=(0|s)){if((0|(V=Xf(l+60|0)))<0)break i;f=a[l+60>>2]}else{if(f=i[n+1|0]-48|0,36!=k[n+2|0]|f>>>0>9){if(v)break l;if(f=n+1|0,!A){a[l+60>>2]=f,v=0,V=0;break o}n=a[e>>2],a[e>>2]=n+4,V=a[n>>2],s=0}else A?f=a[(f<<3)+r>>2]:(a[(f<<2)+B>>2]=10,f=0),V=f,f=n+3|0,s=1;if(v=s,a[l+60>>2]=f,(0|V)>=0)break o;V=0-V|0,w|=8192}if(n=0,u=-1,F=0,46==k[0|f])if(42!=k[f+1|0])a[l+60>>2]=f+1,u=Xf(l+60|0),f=a[l+60>>2],F=1;else{if(s=i[f+2|0]-48|0,36!=k[f+3|0]|s>>>0>9){if(v)break l;f=f+2|0,u=0,A&&(s=a[e>>2],a[e>>2]=s+4,u=a[s>>2])}else f=f+4|0,A?u=a[(s<<3)+r>>2]:(a[(s<<2)+B>>2]=10,u=0);a[l+60>>2]=f,F=(0|u)>=0}for(;;){if(Q=n,Z=28,W=f,(s=i[0|f])-123>>>0<4294967238)break e;if(f=f+1|0,!(((n=k[25215+(s+C(n,58)|0)|0])-1&255)>>>0<8))break}a[l+60>>2]=f;o:if(27==(0|n)){if((0|Y)>=0)break e;if(f=0,!A)continue b}else{if(!n)break e;if((0|Y)>=0){if(!A){a[(Y<<2)+B>>2]=n;continue r}n=a[(f=(Y<<3)+r|0)+4>>2],a[l+48>>2]=a[f>>2],a[l+52>>2]=n;break o}if(!A)break a;Jf(l+48|0,n,e)}if(32&k[0|A])break f;s=-65537&w,n=8192&w?s:w,w=0,Y=1072,Z=g;o:{c:{I:{n:{s:{G:{C:{Z:{u:{Q:{t:{W:{w:{V:{Y:{H:{F:switch(f=(W=k[0|W])<<24>>24,(f=Q&&3==(15&W)?-45&f:f)-88|0){case 0:case 32:break w;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 k;case 9:case 13:case 14:case 15:break o;case 11:break Z;case 12:case 17:break t;case 22:break Y;case 23:break W;case 24:break V;case 27:break C;case 29:break H;default:break F}F:switch(f-65|0){case 1:case 3:break k;case 0:case 4:case 5:case 6:break o;case 2:break G;default:break F}if(83==(0|f))break s;break k}W=a[l+48>>2],H=a[l+52>>2],Y=1072;break Q}f=0;Y:switch(0|Q){case 0:case 1:case 6:a[a[l+48>>2]>>2]=t;continue b;case 2:n=a[l+48>>2],a[n>>2]=t,a[n+4>>2]=t>>31;continue b;case 3:b[a[l+48>>2]>>1]=t;continue b;case 4:i[a[l+48>>2]]=t;continue b;case 7:break Y;default:continue b}n=a[l+48>>2],a[n>>2]=t,a[n+4>>2]=t>>31;continue b}u=u>>>0<=8?8:u,n|=8,f=120}if(s=g,H=G=a[l+52>>2],G|(Q=W=a[l+48>>2]))for(m=32&f;i[0|(s=s-1|0)]=m|k[25744+(15&Q)|0],(Q=(15&G)<<28|Q>>>4)|(G=G>>>4|0););if(G=s,!(8&n)|!(W|H))break u;Y=1072+(f>>>4|0)|0,w=2;break u}if(f=g,H=G=a[l+52>>2],G|(Q=W=a[l+48>>2]))for(;i[0|(f=f-1|0)]=7&Q|48,(Q=(7&G)<<29|Q>>>3)|(G=G>>>3|0););if(G=f,!(8&n))break u;u=(0|(f=o-f|0))<(0|u)?u:f;break u}W=a[l+48>>2],H=f=a[l+52>>2],(0|f)<0?(H=f=0-(!!(0|W)+f|0)|0,W=0-W|0,a[l+48>>2]=W,a[l+52>>2]=f,w=1,Y=1072):2048&n?(w=1,Y=1073):Y=(w=1&n)?1074:1072}if(f=g,Q=W,1==(0|(G=H))|G>>>0>1)for(;R=f=f-1|0,J=(m=Q)-le(Q=Ie(Q,s=G,10,0),G=X,10)|48,i[0|R]=J,s>>>0>9;);if(!G&(s=Q)>>>0>=10|G)for(;G=s,s=(s>>>0)/10|0,i[0|(f=f-1|0)]=G-C(s,10)|48,G>>>0>99;);s&&(i[0|(f=f-1|0)]=48|s),G=f}if((0|u)<0&F)break i;if(n=F?-65537&n:n,!(0!=(W|H)|u)){G=g,u=0;break k}u=(0|(f=!(W|H)+(g-G|0)|0))<(0|u)?u:f;break k}f=k[l+48|0];break B}Z=!!(0|(n=Q=u>>>0>=2147483647?2147483647:u));C:{Z:{u:{Q:if(!(!(3&(f=G=(f=a[l+48>>2])||1680))|!n))for(;;){if(!k[0|f])break u;if(Z=!!(0|(n=n-1|0)),!(3&(f=f+1|0)))break Q;if(!n)break}if(!Z)break Z;if(!(!k[0|f]|n>>>0<4))for(;;){if(-2139062144!=(-2139062144&(16843008-(Z=a[f>>2])|Z)))break u;if(f=f+4|0,!((n=n-4|0)>>>0>3))break}if(!n)break Z}for(;;){if(!k[0|f])break C;if(f=f+1|0,!(n=n-1|0))break}}f=0}if(Z=(f=f?f-G|0:Q)+G|0,(0|u)>=0){n=s,u=f;break k}if(n=s,u=f,k[0|Z])break i;break k}if((f=a[l+48>>2])|a[l+52>>2])break n;f=0;break B}if(u){s=a[l+48>>2];break I}f=0,_(A,32,V,0,n);break c}a[l+12>>2]=0,a[l+8>>2]=f,s=l+8|0,a[l+48>>2]=s,u=-1}for(f=0;;){if(G=a[s>>2]){if((0|(G=Rf(l+4|0,G)))<0)break f;if(!(G>>>0>u-f>>>0)&&(s=s+4|0,u>>>0>(f=f+G|0)>>>0))continue}break}if(Z=61,(0|f)<0)break e;if(_(A,32,V,f,n),f)for(Z=0,s=a[l+48>>2];;){if(!(G=a[s>>2]))break c;if((Z=(G=Rf(u=l+4|0,G))+Z|0)>>>0>f>>>0)break c;if(bA(A,u,G),s=s+4|0,!(f>>>0>Z>>>0))break}else f=0}_(A,32,V,f,8192^n),f=(0|f)<(0|V)?V:f;continue b}if((0|u)<0&F)break i;c()}s=k[f+1|0],f=f+1|0}if(A)break A;if(!v)break a;for(f=1;;){if(A=a[(f<<2)+B>>2]){if(Jf((f<<3)+r|0,A,e),t=1,10!=(0|(f=f+1|0)))continue;break A}break}if(f>>>0>=10){t=1;break A}for(;;){if(a[(f<<2)+B>>2])break l;if(t=1,10==(0|(f=f+1|0)))break}break A}Z=28;break e}i[l+39|0]=f,u=1,G=I,n=s}if((0|(u=(0|u)>(0|(Q=Z-G|0))?u:Q))>(2147483647^w))break i;if(Z=61,E>>>0<(f=(0|(s=u+w|0))<(0|V)?V:s)>>>0)break e;_(A,32,f,s,n),bA(A,Y,w),_(A,48,f,s,65536^n),_(A,48,u,Q,0),bA(A,G,Q),_(A,32,f,s,8192^n);continue}break}break}t=0;break A}Z=61}a[6557]=Z}t=-1}return y=l- -64|0,t}function Uf(A,f,e){var i,r=0;if(y=i=y-208|0,a[i+204>>2]=e,g(e=i+160|0,0,40),a[i+200>>2]=a[i+204>>2],(0|df(0,f,i+200|0,i+80|0,e))>=0){e=a[A>>2],a[A>>2]=-33&e;A:{f:{if(a[A+48>>2]){if(a[A+16>>2])break f}else a[A+48>>2]=80,a[A+28>>2]=0,a[A+16>>2]=0,a[A+20>>2]=0,r=a[A+44>>2],a[A+44>>2]=i;if(Mf(A))break A}df(A,f,i+200|0,i+80|0,i+160|0)}r&&(Ge[a[A+36>>2]](A,0,0),a[A+48>>2]=0,a[A+44>>2]=r,a[A+28>>2]=0,a[A+16>>2]=0,a[A+20>>2]=0),a[A>>2]=a[A>>2]|32&e}y=i+208|0}function hf(A,f){var e,i=0,r=0,b=0,k=0,B=0;if(i=8,y=e=y-256|0,f>>>0>=2)for(a[(B=(f<<2)+A|0)>>2]=e;;){for(b=i>>>0>=256?256:i,aA(a[B>>2],a[A>>2],b),r=0;k=(r<<2)+A|0,r=r+1|0,aA(a[k>>2],a[(r<<2)+A>>2],b),a[k>>2]=a[k>>2]+b,(0|f)!=(0|r););if(!(i=i-b|0))break}y=e+256|0}function Df(A){var f;return 1!=(0|(f=a[A>>2]))?oe(f-1|0):(A=a[A+4>>2])?32|oe(A):0}function Mf(A){var f=0;return f=a[A+72>>2],a[A+72>>2]=f-1|f,8&(f=a[A>>2])?(a[A>>2]=32|f,-1):(a[A+4>>2]=0,a[A+8>>2]=0,f=a[A+44>>2],a[A+28>>2]=f,a[A+20>>2]=f,a[A+16>>2]=f+a[A+48>>2],0)}function Sf(A,f){var e=0,i=0;for(i=a[A+32>>2],a[A+36>>2]=i,e=a[A+48>>2];e;){if(-1==(0|(e=0|Ge[a[A+20>>2]](i,e,a[A>>2]))))return a[A+68>>2]=8|a[A+68>>2],d(f,4,15598,0),0;i=e+a[A+36>>2]|0,a[A+36>>2]=i,e=a[A+48>>2]-e|0,a[A+48>>2]=e}return a[A+36>>2]=a[A+32>>2],1}function Nf(A,f,e){e&&g(A,f,e)}function pf(A){var f=0,e=0,i=0;A:{for(;;){if(6==(0|f))break A;if(e=f<<3,f=f+1|0,a[e+25216>>2]==(0|A))break}i=e+25216|0}return i}function Kf(A){var f=0,e=0;(A|=0)&&(dA(a[A>>2]),a[A>>2]=0,(f=a[A+72>>2])&&(U(f),a[A+72>>2]=0),(f=a[A+68>>2])&&(U(f),a[A+68>>2]=0),(f=a[A+108>>2])&&(U(f),a[A+108>>2]=0),(f=a[A+116>>2])&&((e=a[f>>2])&&(U(e),f=a[A+116>>2],a[f>>2]=0),U(f),a[A+116>>2]=0),(f=a[A+120>>2])&&((e=a[f+12>>2])&&(U(e),f=a[A+120>>2],a[f+12>>2]=0),(e=a[f+4>>2])&&(U(e),f=a[A+120>>2],a[f+4>>2]=0),(e=a[f+8>>2])&&(U(e),f=a[A+120>>2],a[f+8>>2]=0),(e=a[f>>2])&&(U(e),f=a[A+120>>2],a[f>>2]=0),U(f),a[A+120>>2]=0),(f=a[A+4>>2])&&(YA(f),a[A+4>>2]=0),(f=a[A+8>>2])&&(YA(f),a[A+8>>2]=0),U(A))}function zf(A,f){var e,i=0,r=0,b=0,k=0;y=e=y-32|0;A:{if(r=a[A+60>>2])for(b=1;;){if(i>>>0>=r>>>0)break A;k=a[a[A+64>>2]+(i<<2)>>2],a[44+(a[a[A+100>>2]+24>>2]+C(k,52)|0)>>2]||(a[e+16>>2]=k,d(f,2,7598,e+16|0),r=a[A+60>>2],b=0),i=i+1|0}for(b=1;;){if(r=a[A+100>>2],n[r+16>>2]<=i>>>0)break A;a[44+(a[r+24>>2]+C(i,52)|0)>>2]||(a[e>>2]=i,d(f,2,7598,e),b=0),i=i+1|0}}return i=1,b||(d(f,1,2891,0),i=0),y=e+32|0,i}function xf(A,f){var e,i=0,r=0,b=0,k=0,B=0,l=0,c=0,I=0,s=0,G=0,Z=0,u=0,Q=0,t=0,W=0,w=0,V=0,Y=0,H=0;for(I=a[f+24>>2],e=a[A+24>>2],w=a[e+24>>2],Q=a[a[a[A+20>>2]>>2]+20>>2];;){A:{if(!(n[e+16>>2]<=V>>>0)){f=a[w+36>>2],a[I+36>>2]=f,f=(b=a[Q+28>>2])+C(f,152)|0;f:if((Y=a[A+64>>2])?(b=b+C(a[Q+24>>2],152)|0,t=a[b-144>>2]-a[b-152>>2]|0,k=f+12|0,r=f+4|0,b=a[f+8>>2],f=a[f>>2],i=36):(k=f+148|0,r=f+140|0,t=(b=a[f+144>>2])-(f=a[f+136>>2])|0,i=52),H=a[i+Q>>2]){r=a[r>>2],Z=a[k>>2],c=b-f|0,i=31&(k=a[I+40>>2]),(63&k)>>>0>=32?(i=-1<<i,B=0):i=(B=-1<<i)|(1<<i)-1&-1>>>32-i,i=l=-1^i,s=(B=(G=-1^B)+(s=a[I+20>>2])|0)>>>0<s>>>0?i+1|0:i,i=31&k,B=(63&k)>>>0>=32?s>>>i|0:((1<<i)-1&s)<<32-i|B>>>i,G=(i=a[I+16>>2])>>>0>(s=i+G|0)>>>0?l+1|0:l,l=31&k,k=(i=a[I+8>>2])+(l=(63&k)>>>0>=32?G>>>l|0:((1<<l)-1&G)<<32-l|s>>>l)|0;e:if(f>>>0>l>>>0){if(G=f-l|0,l=0,k>>>0>=b>>>0){f=c,W=0;break e}W=c-(f=k-f|0)|0}else l=l-f|0,k>>>0>=b>>>0?(f=c-l|0,G=0,W=0):(G=0,f=i,W=b-k|0);b=Z-r|0,s=(c=a[I+12>>2])+B|0;e:if(r>>>0>B>>>0){if(B=r-B|0,k=0,u=0,s>>>0>=Z>>>0)break e;u=(u=b)-(b=s-r|0)|0}else k=B-r|0,s>>>0>=Z>>>0?(b=b-k|0,B=0,u=0):(B=0,b=c,u=Z-s|0);if(Z=0,(k|l|(r=u)|W|f|b)<0)break A;e:{i:{if(!((r=a[I+44>>2])|(k=C(k,t)+l|0)|(B=C(i,B)+G|0)|(0|i)!=(0|t)|(0|f)!=(0|i))){if((0|b)!=(0|c))break i;f=(Y?36:52)+Q|0,a[I+44>>2]=a[f>>2],a[f>>2]=0;break f}if(r)break e}if(r=!c,le(c,0,i),X|r)break A;if((i=C(i,c))>>>0>1073741823)break A;if(r=N(i<<2),a[I+44>>2]=r,!r)break A;(0|(i=a[I+8>>2]))==(0|f)&(0|(c=a[I+12>>2]))==(0|b)||((i=C(i,c)<<2)&&g(r,0,i),r=a[I+44>>2])}for(c=f<<2,i=(k<<2)+H|0,r=(B<<2)+r|0,f=0;;){if((0|f)==(0|b))break f;c&&o(r,i,c),f=f+1|0,i=(t<<2)+i|0,r=(a[I+8>>2]<<2)+r|0}}Q=Q+76|0,w=w+52|0,I=I+52|0,V=V+1|0;continue}Z=1}break}return Z}function jf(A,f,e){return-1}function Pf(A,f,e,i,r){var b,k=0,B=0,l=0;y=b=y-16|0,A=16==a[A+8>>2]?a[A+180>>2]+C(a[A+228>>2],5644)|0:a[A+12>>2];A:if(k=a[i>>2]){A=a[A+5584>>2],a[i>>2]=k-1,h(e,b+12|0,1),B=C(f,1080)+A|0,A=a[b+12>>2],a[B+804>>2]=A>>>5,f=31&A,a[B+24>>2]=f,e=e+1|0;f:{e:{i:{r:{b:{a:{k:switch(0|f){case 0:k=a[i>>2];break a;case 1:break b;default:break k}k=a[i>>2]>>>1|0}if(k>>>0>=98&&(a[b+4>>2]=97,a[b+8>>2]=97,a[b>>2]=k,d(r,2,16050,b),f=a[B+24>>2]),!f)break r;f=k}for(r=B+28|0,A=0;;){if((0|A)==(0|f))break i;h(e,b+12|0,2),A>>>0<=96&&(k=r+(A<<3)|0,l=a[b+12>>2],a[k+4>>2]=2047&l,a[k>>2]=l>>>11),e=e+2|0,A=A+1|0}}for(f=B+28|0,A=0;(0|A)!=(0|k);)h(e,b+12|0,1),A>>>0<=96&&(r=a[b+12>>2],a[(l=f+(A<<3)|0)+4>>2]=0,a[l>>2]=r>>>3),e=e+1|0,A=A+1|0;if((A=a[i>>2])>>>0<k>>>0)break f;A=A-k|0;break e}if((A=a[i>>2])>>>0<(f<<=1)>>>0)break f;A=A-f|0}if(a[i>>2]=A,f=1,1!=a[B+24>>2])break A;for(e=B+28|0,A=1;;){if(97==(0|A))break A;i=e+(A<<3)|0,r=a[B+28>>2]-((A-1>>>0)/3|0)|0,a[i>>2]=(0|r)>0?r:0,a[i+4>>2]=a[B+32>>2],A=A+1|0}}f=0}else f=0,d(r,1,2636,0);return y=b+16|0,f}function Tf(A,f,e,r,b){var B,l=0,g=0,o=0,c=0,I=0;y=B=y-32|0,l=16==a[A+8>>2]?a[A+180>>2]+C(a[A+228>>2],5644)|0:a[A+12>>2];A:if(n[r>>2]<=4)d(b,1,2601,0),A=0;else if(h(e,(l=a[l+5584>>2]+C(f,1080)|0)+4|0,1),g=a[l+4>>2]+1|0,a[l+4>>2]=g,g>>>0>=34)a[B+4>>2]=33,a[B>>2]=g,d(b,1,7629,B),A=0;else if((o=a[A+184>>2])>>>0>=g>>>0)a[B+24>>2]=g,a[B+20>>2]=o,a[B+16>>2]=f,d(b,1,16417,B+16|0),a[A+8>>2]=32768|a[A+8>>2],A=0;else if(h(e+1|0,l+8|0,1),a[l+8>>2]=a[l+8>>2]+2,h(e+2|0,l+12|0,1),A=a[l+12>>2]+2|0,a[l+12>>2]=A,!((f=a[l+8>>2])>>>0>10|A>>>0>10)&A+f>>>0<13)if(h(e+3|0,l+16|0,1),128&k[l+16|0])d(b,1,6558,0),A=0;else if(h(e+4|0,l+20|0,1),n[l+20>>2]>=2)d(b,1,6493,0),A=0;else{A=a[r>>2]-5|0,a[r>>2]=A;f:{e:{if(!(1&i[0|l]))for(f=l+944|0,e=l+812|0,r=a[l+4>>2],A=0;;){if(A>>>0>=r>>>0)break e;a[(b=A<<2)+e>>2]=15,a[f+b>>2]=15,A=A+1|0}if(A>>>0<(f=a[l+4>>2])>>>0)break f;for(e=e+5|0,o=l+944|0,I=l+812|0,A=0;;){if(A>>>0<f>>>0){if(h(e,B+28|0,1),!A|((g=15&(f=a[B+28>>2]))?f>>>0>=16:0)){e=e+1|0,a[(c=A<<2)+I>>2]=g,a[o+c>>2]=f>>>4,A=A+1|0,f=a[l+4>>2];continue}d(b,1,6019,0),A=0;break A}break}a[r>>2]=a[r>>2]-f}A=1;break A}d(b,1,2601,0),A=0}else d(b,1,5462,0),A=0;return y=B+32|0,A}function Lf(A,f,e){f|=0,e|=0;var i=0,r=0,b=0,k=0;a[(A|=0)+184>>2]=f;A:if((i=a[A+96>>2])&&(b=a[i+24>>2])&&!(!(r=a[A+12>>2])|!a[r+5584>>2])){for(r=a[i+16>>2],i=0,k=1;;){if((0|i)==(0|r))break A;if(n[4+(a[a[A+12>>2]+5584>>2]+C(i,1080)|0)>>2]<=f>>>0){d(e,1,9171,0);break}a[40+(C(i,52)+b|0)>>2]=f,i=i+1|0}k=0}return 0|k}function Of(A,f,e,i){A|=0,f|=0,i|=0;var r=0,b=0,k=0,B=0,l=0,g=0,c=0,I=0,s=0,G=0,Z=0,u=0,Q=0,t=0,W=0,w=0,V=0,Y=0,H=0,F=0,v=0;if(e|=0){if((r=a[A+184>>2])&&!(!(b=a[A+96>>2])|!a[b+16>>2]|a[a[b+24>>2]+40>>2]!=(0|r))&&(l=a[e+16>>2])&&(B=a[e+24>>2],!(a[B+40>>2]|a[B+44>>2]))){for(b=0;(0|b)!=(0|l);)a[40+(C(b,52)+B|0)>>2]=r,b=b+1|0;A:for(y=s=y-32|0,Y=a[e+16>>2],B=a[e+24>>2],t=1;;){f:{if((0|Q)!=(0|Y))if(!((0|(b=a[e>>2]))<0||(0|(l=a[e+4>>2]))<0||(0|(k=a[e+8>>2]))<0)&&(0|(W=a[e+12>>2]))>=0){if(I=Ie((g=b+(r=a[B>>2])|0)-1|0,(b=b>>>0>g>>>0)-!g|0,r,0),a[B+16>>2]=I,w=Ie((b=l+(g=a[B+4>>2])|0)-1|0,(l=l>>>0>b>>>0)-!b|0,g,0),a[B+20>>2]=w,b=31&(l=a[B+40>>2]),(63&l)>>>0>=32?(b=1<<b,G=0):b=(G=1<<b)-1&1>>>32-b,V=G-1|0,Z=u=r>>31,c=(c=k)>>>0>(k=r+k|0)>>>0?Z+1|0:Z,u=(r=(Z=b-!G|0)+((k=ce(k-1|0,c-!k|0,r,u))>>31)|0)+1|0,c=r,u=k>>>0>(r=k+V|0)>>>0?u:c,k=31&l,H=(c=(I>>31)+Z|0)+1|0,F=c,I=I>>>0>(c=I+V|0)>>>0?H:F,k=r=(63&l)>>>0>=32?u>>k:((1<<k)-1&u)<<32-k|r>>>k,r=31&l,(0|(r=k-(r=(63&l)>>>0>=32?I>>r:((1<<r)-1&I)<<32-r|c>>>r)|0))<0)a[s+4>>2]=r,a[s>>2]=Q,d(i,1,13504,s);else{if(a[B+8>>2]=r,c=(r=k=g>>31)+1|0,c=(r=((g=ce((r=g+W|0)-1|0,(I=r>>>0<W>>>0?c:k)-!r|0,g,k))>>31)+Z|0)+1|0,k=r,k=g>>>0>(r=g+V|0)>>>0?c:k,g=31&l,Z=(b=b+(w>>31)|0)+1|0,c=b,I=(b=G+w|0)-1|0,k=r=(63&l)>>>0>=32?k>>g:((1<<g)-1&k)<<32-g|r>>>g,r=(G=b>>>0<G>>>0?Z:c)-!b|0,b=31&l,(63&l)>>>0>=32?r>>=b:r=((1<<b)-1&r)<<32-b|I>>>b,(0|(b=k-r|0))>=0)break f;a[s+20>>2]=b,a[s+16>>2]=Q,d(i,1,13573,s+16|0)}t=0}else t=0,d(i,1,6714,0);y=s+32|0;break A}a[B+12>>2]=b,Q=Q+1|0,B=B+52|0}if(!t)return 0}if(((b=a[A+100>>2])||(b=UA(),a[A+100>>2]=b,b))&&(ef(e,b),$(a[A+216>>2],22,i))){if(!kA(A,a[A+216>>2],f,i))return L(a[A+96>>2]),a[A+96>>2]=0,0;A:f:{if(!(f=a[A+60>>2]))for(b=1,f=0;;){if(n[e+16>>2]<=f>>>0)break f;r=(i=C(f,52))+a[e+24>>2]|0,a[r+36>>2]=a[36+(i+a[a[A+100>>2]+24>>2]|0)>>2],U(a[r+44>>2]),r=i+a[e+24>>2]|0,i=i+a[a[A+100>>2]+24>>2]|0,a[r+44>>2]=a[i+44>>2],a[i+44>>2]=0,f=f+1|0}if(b=M(C(f,52)))for(f=0;;){if(!(n[e+16>>2]<=f>>>0)){i=C(f,52),U(a[44+(i+a[e+24>>2]|0)>>2]),a[44+(i+a[e+24>>2]|0)>>2]=0,f=f+1|0;continue}for(i=0,f=0;;){if(n[A+60>>2]<=f>>>0){for(;n[e+16>>2]>i>>>0;)f=C(i,52),U(a[44+(f+a[a[A+100>>2]+24>>2]|0)>>2]),a[44+(f+a[a[A+100>>2]+24>>2]|0)>>2]=0,i=i+1|0;a[e+16>>2]=a[A+60>>2],U(a[e+24>>2]),a[e+24>>2]=b,b=1;break A}o(r=b+C(f,52)|0,(B=C(a[a[A+64>>2]+(f<<2)>>2],52))+a[a[A+100>>2]+24>>2]|0,52),B=B+a[a[A+100>>2]+24>>2]|0,a[r+36>>2]=a[B+36>>2],a[r+44>>2]=a[B+44>>2],a[B+44>>2]=0,f=f+1|0;continue}}L(a[A+96>>2]),b=0,a[A+96>>2]=0}v=b}}return 0|v}function qf(){var A=0,f=0,e=0;A:{if(f=D(1,256)){a[f>>2]=1,a[f+208>>2]=1,i[f+212|0]=6|k[f+212|0],A=D(1,5644),a[f+12>>2]=A;f:if(A&&(A=D(1,1e3),a[f+16>>2]=A,A)){a[f+48>>2]=0,a[f+52>>2]=0,a[f+44>>2]=-1,a[f+20>>2]=1e3;e:{if(A=D(1,48)){if(a[A+24>>2]=0,a[A+32>>2]=100,e=D(100,24),a[A+28>>2]=e,e)break e;U(A)}a[f+224>>2]=0;break f}if(a[A+40>>2]=0,a[f+224>>2]=A,A=HA(),a[f+220>>2]=A,A&&(A=HA(),a[f+216>>2]=A,A)){if(A=vf(),a[f+236>>2]=A,A)break A;if(A=vf(),a[f+236>>2]=A,A)break A}}dA(f)}return 0}return f}function $f(A,f,e,i){f|=0,e|=0,i|=0;var r,b=0,k=0,B=0,l=0,g=0;y=r=y-32|0;A:if(b=a[(A|=0)+96>>2]){if(b=D(4,a[b+16>>2])){for(;(0|f)!=(0|B);){if((k=a[(B<<2)+e>>2])>>>0>=n[a[A+96>>2]+16>>2]){a[r+16>>2]=k,d(i,1,2437,r+16|0),U(b);break A}if(a[(l=b+(k<<2)|0)>>2]){a[r>>2]=k,d(i,1,3481,r),U(b);break A}a[l>>2]=1,B=B+1|0}U(b),U(a[A+64>>2]);f:if(f){if(b=M(i=f<<2),a[A+64>>2]=b,!b){a[A+60>>2]=0;break A}if(!i)break f;o(b,e,i)}else a[A+64>>2]=0;a[A+60>>2]=f,g=1}}else d(i,1,13746,0);return y=r+32|0,0|g}function _f(A,f){Ef(A,f,4,3)}function Ae(A,f,e,i,r,b,a){return 8!=(0|f)?(d(a,1,4041,0),0):(h(A,e,2),h(A+2|0,i,4),h(A+6|0,r,1),h(A+7|0,b,1),1)}function fe(A,f,e,i,r,k){var B=0,l=0,g=0,o=0,c=0,I=0;A:{if(g=a[f+40>>2],c=C(A,40),(o=(B=a[(l=g+c|0)+20>>2])+1|0)>>>0<=(I=a[l+28>>2])>>>0)l=a[l+24>>2];else{if(B=~~Z(Z(I>>>0)+Z(100))>>>0,a[l+28>>2]=B,l=p(a[l+24>>2],C(B,24)),B=c+(g=a[f+40>>2])|0,!l)break A;a[B+24>>2]=l,o=(B=a[B+20>>2])+1|0}return f=C(B,24)+l|0,a[f+16>>2]=k,a[f+8>>2]=i,a[f+12>>2]=i>>31,b[f>>1]=e,A=C(A,40)+g|0,a[A+20>>2]=o,65424==(0|e)&&(f=a[A+16>>2])&&((e=a[A+4>>2])>>>0<=(A=a[A+12>>2])>>>0||(A=f+C(A,24)|0,a[A>>2]=i,a[A+4>>2]=r)),1}return U(a[B+24>>2]),A=a[f+40>>2]+C(A,40)|0,a[A+28>>2]=0,a[A+20>>2]=0,a[A+24>>2]=0,0}function ee(A,f){Ef(A,f,8,7)}function ie(A,f){return 0}function re(A){c()}function be(A,f,e){c()}function ae(A,f,e,i,r){c()}function ke(A,f,e,i,r,b,a){c()}function Be(A,f){f|=0;var e,i;return((e=a[(A|=0)>>2])>>>0>(i=a[f>>2])>>>0&(0|(A=a[A+4>>2]))>=(0|(f=a[f+4>>2]))|(0|A)>(0|f))-(e>>>0<i>>>0&(0|A)<=(0|f)|(0|A)<(0|f))|0}function le(A,f,e){var i,r,b,a,k=0;return a=C(i=e>>>16|0,k=A>>>16|0),A=(65535&(k=((b=C(r=65535&e,A&=65535))>>>16|0)+C(k,r)|0))+C(A,i)|0,X=a+C(f,e)+(k>>>16)+(A>>>16)|0,65535&b|A<<16}function ge(A,f,e,i){var r=0,b=0,a=0,k=0,B=0,l=0,g=0,o=0,c=0,I=0;A:{f:{e:{i:{r:{b:{a:{k:{B:{l:{if(r=f){if(!e)break l;if(!i)break B;if((r=u(i)-u(r)|0)>>>0<=31)break k;break f}if(1==(0|i)|i>>>0>1)break f;return R=A-C(f=(A>>>0)/(e>>>0)|0,e)|0,J=0,X=0,f}if(!A)break a;if(!i)break b;if((b=i-1|0)&i)break b;return R=A,J=r&b,A=r>>>oe(i)|0,X=0,A}if(!((b=e-1|0)&e))break r;a=0-(g=(u(e)+33|0)-u(r)|0)|0;break e}g=r+1|0,a=63-r|0;break e}return R=0,J=r-C(A=(r>>>0)/(i>>>0)|0,i)|0,X=0,A}if((r=u(i)-u(r)|0)>>>0<31)break i;break f}if(R=A&b,J=0,1==(0|e))break A;return i=31&(e=oe(e)),(63&e)>>>0>=32?(r=0,A=f>>>i|0):(r=f>>>i|0,A=((1<<i)-1&f)<<32-i|A>>>i),X=r,A}g=r+1|0,a=63-r|0}if(b=A,k=31&(r=63&g),(63&r)>>>0>=32?(r=0,b=f>>>k|0):(r=f>>>k|0,b=((1<<k)-1&f)<<32-k|b>>>k),k=63&a,a=A,B=31&k,(63&k)>>>0>=32?(l=A<<B,A=0):(l=(1<<B)-1&a>>>32-B|f<<B,A=a<<B),f=l,g)for(a=i-1|0,a=-1!=(0|(o=e-1|0))?a+1|0:a,k=o;o=r=r<<1|b>>>31,B=a-(r+((b=b<<1|f>>>31)>>>0>k>>>0)|0)|0,b=(r=b)-(B=e&(l=c=B>>31))|0,r=o-((i&l)+(r>>>0<B>>>0)|0)|0,l=f<<1|A>>>31,A=I|A<<1,f=l,I=o=1&c,g=g-1|0;);return R=b,J=r,X=l=f<<1|A>>>31,A=o|A<<1}R=A,J=f,A=0,f=0}return X=f,A}function oe(A){return A?31-u(A-1^A)|0:32}function ce(A,f,e,i){var r=0;return e=Ie((A^=r=f>>31)-r|0,r=(f^r)-((A>>>0<r>>>0)+r|0)|0,(e^=A=i>>31)-A|0,(A^i)-((A>>>0>e>>>0)+A|0)|0),X=((A=(f^=i)>>31)^X)-(((f>>=31)>>>0>(e^=f)>>>0)+A|0)|0,i=e-f|0}function Ie(A,f,e,i){return A=ge(A,f,e,i)}function ne(A,f,e){return ge(A,0,f,e),X=J,R}function se(A){for(var f=0;A;)A&=A-1,f=f+1|0;return f}r(f=k,1024,"Y2Fubm90IGFsbG9jYXRlIG9wal90Y2Rfc2VnX2RhdGFfY2h1bmtfdCogYXJyYXkALSsgICAwWDB4AFVua25vd24gZm9ybWF0AEZhaWxlZCB0byBzZXR1cCB0aGUgcmVkdWN0aW9uIGZhY3RvcgBGYWlsZWQgdG8gc2V0dXAgdGhlIGRlY29kZXIARmFpbGVkIHRvIHJlYWQgdGhlIGhlYWRlcgAqbF90aWxlX2xlbiA+IFVJTlRfTUFYIC0gT1BKX0NPTU1PTl9DQkxLX0RBVEFfRVhUUkEgLSBwX2oyay0+bV9zcGVjaWZpY19wYXJhbS5tX2RlY29kZXIubV9zb3RfbGVuZ3RoAEZhaWxlZCB0byB1cHNhbXBsZSB0aGUgaW1hZ2UARmFpbGVkIHRvIGRlY29kZSB0aGUgaW1hZ2UASW52YWxpZCBhY2Nlc3MgdG8gcGktPmluY2x1ZGUAL3RtcC9vcGVuanBlZy9zcmMvYmluL2NvbW1vbi9jb2xvci5jAEFMTF9DUFVTAE9QSl9OVU1fVEhSRUFEUwBPSlBfRE9fTk9UX0RJU1BMQVlfVElMRV9JTkRFWF9JRl9UTE0AcF9qMmstPm1fc3BlY2lmaWNfcGFyYW0ubV9kZWNvZGVyLm1fc290X2xlbmd0aCA+IFVJTlRfTUFYIC0gT1BKX0NPTU1PTl9DQkxLX0RBVEFfRVhUUkEACQkJIHByZWNjaW50c2l6ZSAodyxoKT0ACQkJIHN0ZXBzaXplcyAobSxlKT0AU09UIG1hcmtlciBmb3IgdGlsZSAldSBkZWNsYXJlcyBtb3JlIHRpbGUtcGFydHMgdGhhbiBmb3VuZCBpbiBUTE0gbWFya2VyLgAobnVsbCkAKCVkLCVkKSAAJXN9CgAJCSB9CgBbREVWXSBEdW1wIGFuIGltYWdlX2NvbXBfaGVhZGVyIHN0cnVjdCB7CgBbREVWXSBEdW1wIGFuIGltYWdlX2hlYWRlciBzdHJ1Y3QgewoASW1hZ2UgaW5mbyB7CgAJIGRlZmF1bHQgdGlsZSB7CgAlcwkgY29tcG9uZW50ICVkIHsKAAkJIGNvbXAgJWQgewoACSBUaWxlIGluZGV4OiB7CgAJIE1hcmtlciBsaXN0OiB7CgBDb2Rlc3RyZWFtIGluZGV4IGZyb20gbWFpbiBoZWFkZXI6IHsKAENvZGVzdHJlYW0gaW5mbyBmcm9tIG1haW4gaGVhZGVyOiB7CgBTdHJlYW0gZXJyb3Igd2hpbGUgcmVhZGluZyBKUDIgSGVhZGVyIGJveAoARm91bmQgYSBtaXNwbGFjZWQgJyVjJWMlYyVjJyBib3ggb3V0c2lkZSBqcDJoIGJveAoATWFsZm9ybWVkIEpQMiBmaWxlIGZvcm1hdDogZmlyc3QgYm94IG11c3QgYmUgSlBFRyAyMDAwIHNpZ25hdHVyZSBib3gKAE1hbGZvcm1lZCBKUDIgZmlsZSBmb3JtYXQ6IHNlY29uZCBib3ggbXVzdCBiZSBmaWxlIHR5cGUgYm94CgBOb3QgZW5vdWdoIG1lbW9yeSB0byBoYW5kbGUganBlZzIwMDAgYm94CgBOb3QgZW5vdWdoIG1lbW9yeSB3aXRoIEZUWVAgQm94CgBBIG1hcmtlciBJRCB3YXMgZXhwZWN0ZWQgKDB4ZmYtLSkgaW5zdGVhZCBvZiAlLjh4CgAJCSBtY3Q9JXgKAAkJCSBjYmxrc3R5PSUjeAoACQkJIGNzdHk9JSN4CgAJCSBwcmc9JSN4CgBJbnRlZ2VyIG92ZXJmbG93CgAJIHRkeD0ldSwgdGR5PSV1CgAJIHR3PSV1LCB0aD0ldQoACSB0eDA9JXUsIHR5MD0ldQoASW52YWxpZCBjb21wb25lbnQgaW5kZXg6ICV1CgBTdHJlYW0gdG9vIHNob3J0CgBNYXJrZXIgaGFuZGxlciBmdW5jdGlvbiBmYWlsZWQgdG8gcmVhZCB0aGUgbWFya2VyIHNlZ21lbnQKAE5vdCBlbm91Z2ggbWVtb3J5IGZvciBjdXJyZW50IHByZWNpbmN0IGNvZGVibG9jayBlbGVtZW50CgBFcnJvciByZWFkaW5nIFNQQ29kIFNQQ29jIGVsZW1lbnQKAEVycm9yIHJlYWRpbmcgU1FjZCBvciBTUWNjIGVsZW1lbnQKAEEgQlBDQyBoZWFkZXIgYm94IGlzIGF2YWlsYWJsZSBhbHRob3VnaCBCUEMgZ2l2ZW4gYnkgdGhlIElIRFIgYm94ICglZCkgaW5kaWNhdGUgY29tcG9uZW50cyBiaXQgZGVwdGggaXMgY29uc3RhbnQKAEVycm9yIHdpdGggU0laIG1hcmtlcjogaWxsZWdhbCB0aWxlIG9mZnNldAoASW52YWxpZCBwcmVjaW5jdAoATm90IGVub3VnaCBtZW1vcnkgdG8gaGFuZGxlIGJhbmQgcHJlY2ludHMKAEZhaWxlZCB0byBkZWNvZGUgYWxsIHVzZWQgY29tcG9uZW50cwoAU2l6ZSBvZiBjb2RlIGJsb2NrIGRhdGEgZXhjZWVkcyBzeXN0ZW0gbGltaXRzCgBTaXplIG9mIHRpbGUgZGF0YSBleGNlZWRzIHN5c3RlbSBsaW1pdHMKAENhbm5vdCB0YWtlIGluIGNoYXJnZSBtdWx0aXBsZSBNQ1QgbWFya2VycwoAQ29ycnVwdGVkIFBQTSBtYXJrZXJzCgBOb3QgZW5vdWdoIG1lbW9yeSBmb3IgdGlsZSByZXNvbHV0aW9ucwoAQ2Fubm90IHRha2UgaW4gY2hhcmdlIG11bHRpcGxlIGNvbGxlY3Rpb25zCgBJbnZhbGlkIFBDTFIgYm94LiBSZXBvcnRzIDAgcGFsZXR0ZSBjb2x1bW5zCgBXZSBkbyBub3Qgc3VwcG9ydCBST0kgaW4gZGVjb2RpbmcgSFQgY29kZWJsb2NrcwoAQ2Fubm90IGhhbmRsZSBib3ggb2YgdW5kZWZpbmVkIHNpemVzCgBDYW5ub3QgdGFrZSBpbiBjaGFyZ2UgY29sbGVjdGlvbnMgd2l0aG91dCBzYW1lIG51bWJlciBvZiBpbmRpeGVzCgBJbnZhbGlkIHRpbGVjLT53aW5feHh4IHZhbHVlcwoAQ2Fubm90IGhhbmRsZSBib3ggb2YgbGVzcyB0aGFuIDggYnl0ZXMKAENhbm5vdCBoYW5kbGUgWEwgYm94IG9mIGxlc3MgdGhhbiAxNiBieXRlcwoAQ29tcG9uZW50IGluZGV4ICV1IHVzZWQgc2V2ZXJhbCB0aW1lcwoASW52YWxpZCBQQ0xSIGJveC4gUmVwb3J0cyAlZCBlbnRyaWVzCgBOb3QgZW5vdWdoIG1lbW9yeSB0byBjcmVhdGUgVGFnLXRyZWUgbm9kZXMKAENhbm5vdCB0YWtlIGluIGNoYXJnZSBtY3QgZGF0YSB3aXRoaW4gbXVsdGlwbGUgTUNUIHJlY29yZHMKAENhbm5vdCBkZWNvZGUgdGlsZSwgbWVtb3J5IGVycm9yCgBvcGpfajJrX2FwcGx5X25iX3RpbGVfcGFydHNfY29ycmVjdGlvbiBlcnJvcgoAUHJvYmxlbSB3aXRoIHNraXBwaW5nIEpQRUcyMDAwIGJveCwgc3RyZWFtIGVycm9yCgBQcm9ibGVtIHdpdGggcmVhZGluZyBKUEVHMjAwMCBib3gsIHN0cmVhbSBlcnJvcgoAVW5rbm93biBtYXJrZXIKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGFkZCB0bCBtYXJrZXIKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGFkZCBtaCBtYXJrZXIKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHRha2UgaW4gY2hhcmdlIFNJWiBtYXJrZXIKAEVycm9yIHJlYWRpbmcgUFBUIG1hcmtlcgoATm90IGVub3VnaCBtZW1vcnkgdG8gcmVhZCBQUFQgbWFya2VyCgBFcnJvciByZWFkaW5nIFNPVCBtYXJrZXIKAERpZCBub3QgZ2V0IGV4cGVjdGVkIFNPVCBtYXJrZXIKAEVycm9yIHJlYWRpbmcgUExUIG1hcmtlcgoARXJyb3IgcmVhZGluZyBNQ1QgbWFya2VyCgBOb3QgZW5vdWdoIG1lbW9yeSB0byByZWFkIE1DVCBtYXJrZXIKAE5vdCBlbm91Z2ggc3BhY2UgZm9yIGV4cGVjdGVkIFNPUCBtYXJrZXIKAEV4cGVjdGVkIFNPUCBtYXJrZXIKAEVycm9yIHJlYWRpbmcgTUNPIG1hcmtlcgoARXJyb3IgcmVhZGluZyBSR04gbWFya2VyCgBFcnJvciByZWFkaW5nIFBQTSBtYXJrZXIKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlYWQgUFBNIG1hcmtlcgoARXJyb3IgcmVhZGluZyBQTE0gbWFya2VyCgBFeHBlY3RlZCBFUEggbWFya2VyCgBOb3QgZW5vdWdoIHNwYWNlIGZvciByZXF1aXJlZCBFUEggbWFya2VyCgBFcnJvciByZWFkaW5nIENSRyBtYXJrZXIKAFVua25vd24gcHJvZ3Jlc3Npb24gb3JkZXIgaW4gQ09EIG1hcmtlcgoAVW5rbm93biBTY29kIHZhbHVlIGluIENPRCBtYXJrZXIKAEVycm9yIHJlYWRpbmcgQ09EIG1hcmtlcgoARXJyb3IgcmVhZGluZyBRQ0QgbWFya2VyCgBDcnJvciByZWFkaW5nIENCRCBtYXJrZXIKAEVycm9yIHJlYWRpbmcgUE9DIG1hcmtlcgoARXJyb3IgcmVhZGluZyBDT0MgbWFya2VyCgBFcnJvciByZWFkaW5nIFFDQyBtYXJrZXIKAEVycm9yIHJlYWRpbmcgTUNDIG1hcmtlcgoATm90IGVub3VnaCBtZW1vcnkgdG8gcmVhZCBNQ0MgbWFya2VyCgByZXF1aXJlZCBTSVogbWFya2VyIG5vdCBmb3VuZCBpbiBtYWluIGhlYWRlcgoAcmVxdWlyZWQgQ09EIG1hcmtlciBub3QgZm91bmQgaW4gbWFpbiBoZWFkZXIKAHJlcXVpcmVkIFFDRCBtYXJrZXIgbm90IGZvdW5kIGluIG1haW4gaGVhZGVyCgBOb3QgZW5vdWdoIG1lbW9yeSB0byBoYW5kbGUganBlZzIwMDAgZmlsZSBoZWFkZXIKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlYWQgaGVhZGVyCgBFcnJvciB3aXRoIEpQIFNpZ25hdHVyZSA6IGJhZCBtYWdpYyBudW1iZXIKAEluIFNPVCBtYXJrZXIsIFRQU290ICglZCkgaXMgbm90IHZhbGlkIHJlZ2FyZHMgdG8gdGhlIGN1cnJlbnQgbnVtYmVyIG9mIHRpbGUtcGFydCAoJWQpLCBnaXZpbmcgdXAKAEluIFNPVCBtYXJrZXIsIFRQU290ICglZCkgaXMgbm90IHZhbGlkIHJlZ2FyZHMgdG8gdGhlIHByZXZpb3VzIG51bWJlciBvZiB0aWxlLXBhcnQgKCVkKSwgZ2l2aW5nIHVwCgBJbiBTT1QgbWFya2VyLCBUUFNvdCAoJWQpIGlzIG5vdCB2YWxpZCByZWdhcmRzIHRvIHRoZSBjdXJyZW50IG51bWJlciBvZiB0aWxlLXBhcnQgKGhlYWRlcikgKCVkKSwgZ2l2aW5nIHVwCgB0aWxlcyByZXF1aXJlIGF0IGxlYXN0IG9uZSByZXNvbHV0aW9uCgBNYXJrZXIgaXMgbm90IGNvbXBsaWFudCB3aXRoIGl0cyBwb3NpdGlvbgoAUHJvYmxlbSB3aXRoIHNlZWsgZnVuY3Rpb24KAEVycm9yIHJlYWRpbmcgU1BDb2QgU1BDb2MgZWxlbWVudCwgSW52YWxpZCBjYmxrdy9jYmxraCBjb21iaW5hdGlvbgoASW52YWxpZCBtdWx0aXBsZSBjb21wb25lbnQgdHJhbnNmb3JtYXRpb24KAENhbm5vdCB0YWtlIGluIGNoYXJnZSBjb2xsZWN0aW9ucyBvdGhlciB0aGFuIGFycmF5IGRlY29ycmVsYXRpb24KAFRvbyBsYXJnZSB2YWx1ZSBmb3IgTnBwbQoATm90IGVub3VnaCBieXRlcyB0byByZWFkIE5wcG0KAGJhZCBwbGFjZWQganBlZyBjb2Rlc3RyZWFtCgAJIE1haW4gaGVhZGVyIHN0YXJ0IHBvc2l0aW9uPSVsbGkKCSBNYWluIGhlYWRlciBlbmQgcG9zaXRpb249JWxsaQoATWFya2VyIHNpemUgaW5jb25zaXN0ZW50IHdpdGggc3RyZWFtIGxlbmd0aAoAVGlsZSBwYXJ0IGxlbmd0aCBzaXplIGluY29uc2lzdGVudCB3aXRoIHN0cmVhbSBsZW5ndGgKAENhbm5vdCB0YWtlIGluIGNoYXJnZSBtdWx0aXBsZSBkYXRhIHNwYW5uaW5nCgBXcm9uZyBmbGFnCgBFcnJvciB3aXRoIEZUWVAgc2lnbmF0dXJlIEJveCBzaXplCgBFcnJvciB3aXRoIEpQIHNpZ25hdHVyZSBCb3ggc2l6ZQoASW52YWxpZCBwcmVjaW5jdCBzaXplCgBJbmNvbnNpc3RlbnQgbWFya2VyIHNpemUKAEludmFsaWQgbWFya2VyIHNpemUKAEVycm9yIHdpdGggU0laIG1hcmtlciBzaXplCgBOb3QgZW5vdWdoIG1lbW9yeSB0byBhZGQgYSBuZXcgdmFsaWRhdGlvbiBwcm9jZWR1cmUKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGRlY29kZSB0aWxlCgBGYWlsZWQgdG8gZGVjb2RlIHRoZSBjb2Rlc3RyZWFtIGluIHRoZSBKUDIgZmlsZQoAQ2Fubm90IHRha2UgaW4gY2hhcmdlIGNvbGxlY3Rpb25zIHdpdGggaW5kaXggc2h1ZmZsZQoAQ2Fubm90IGFsbG9jYXRlIFRpZXIgMSBoYW5kbGUKAE5vIGRlY29kZWQgYXJlYSBwYXJhbWV0ZXJzLCBzZXQgdGhlIGRlY29kZWQgYXJlYSB0byB0aGUgd2hvbGUgaW1hZ2UKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGNyZWF0ZSBUYWctdHJlZQoATm90IGVub3VnaCBtZW1vcnkgdG8gcmVpbml0aWFsaXplIHRoZSB0YWcgdHJlZQoARXJyb3IgcmVhZGluZyBTUENvZCBTUENvYyBlbGVtZW50LCBJbnZhbGlkIHRyYW5zZm9ybWF0aW9uIGZvdW5kCgBFcnJvciByZWFkaW5nIFNQQ29kIFNQQ29jIGVsZW1lbnQuIFVuc3VwcG9ydGVkIE1peGVkIEhUIGNvZGUtYmxvY2sgc3R5bGUgZm91bmQKAFRpbGUgWSBjb29yZGluYXRlcyBhcmUgbm90IHN1cHBvcnRlZAoAVGlsZSBYIGNvb3JkaW5hdGVzIGFyZSBub3Qgc3VwcG9ydGVkCgBJbWFnZSBjb29yZGluYXRlcyBhYm92ZSBJTlRfTUFYIGFyZSBub3Qgc3VwcG9ydGVkCgBKUEVHMjAwMCBIZWFkZXIgYm94IG5vdCByZWFkIHlldCwgJyVjJWMlYyVjJyBib3ggd2lsbCBiZSBpZ25vcmVkCgBvcGpfajJrX21lcmdlX3BwdCgpIGhhcyBhbHJlYWR5IGJlZW4gY2FsbGVkCgBvcGpfajJrX2J1aWxkX3RwX2luZGV4X2Zyb21fdGxtKCk6IHRpbGUgaW5kZXggYWxsb2NhdGlvbiBmYWlsZWQKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlYWQgU09UIG1hcmtlci4gVGlsZSBpbmRleCBhbGxvY2F0aW9uIGZhaWxlZAoASWdub3JpbmcgaWhkciBib3guIEZpcnN0IGloZHIgYm94IGFscmVhZHkgcmVhZAoAWnBwdCAldSBhbHJlYWR5IHJlYWQKAFpwcG0gJXUgYWxyZWFkeSByZWFkCgBQVEVSTSBjaGVjayBmYWlsdXJlOiAlZCBzeW50aGVzaXplZCAweEZGIG1hcmtlcnMgcmVhZAoACQkJIGNibGt3PTJeJWQKAAkJCSBjYmxraD0yXiVkCgAJCQkgcW50c3R5PSVkCgAlcyBkeD0lZCwgZHk9JWQKAAkJCSByb2lzaGlmdD0lZAoACQkJIG51bWdiaXRzPSVkCgAJCSBudW1sYXllcnM9JWQKACVzIG51bWNvbXBzPSVkCgBvcGpfanAyX2FwcGx5X2NkZWY6IGFjbj0lZCwgbnVtY29tcHM9JWQKAG9wal9qcDJfYXBwbHlfY2RlZjogY249JWQsIG51bWNvbXBzPSVkCgAJCQkgbnVtcmVzb2x1dGlvbnM9JWQKAAkJIHR5cGU9JSN4LCBwb3M9JWxsaSwgbGVuPSVkCgAlcyBzZ25kPSVkCgAJCQkgcW1mYmlkPSVkCgAlcyBwcmVjPSVkCgAJCSBuYiBvZiB0aWxlLXBhcnQgaW4gdGlsZSBbJWRdPSVkCgAlcyB4MT0lZCwgeTE9JWQKACVzIHgwPSVkLCB5MD0lZAoARmFpbGVkIHRvIGRlY29kZSB0aWxlICVkLyVkCgBTZXR0aW5nIGRlY29kaW5nIGFyZWEgdG8gJWQsJWQsJWQsJWQKAEZhaWxlZCB0byBkZWNvZGUgY29tcG9uZW50ICVkCgBJbnZhbGlkIHZhbHVlIGZvciBudW1yZXNvbHV0aW9ucyA6ICVkLCBtYXggdmFsdWUgaXMgc2V0IGluIG9wZW5qcGVnLmggYXQgJWQKAEludmFsaWQgY29tcG9uZW50IG51bWJlcjogJWQsIHJlZ2FyZGluZyB0aGUgbnVtYmVyIG9mIGNvbXBvbmVudHMgJWQKAFRvbyBtYW55IFBPQ3MgJWQKAG9wal9qMmtfcmVhZF90bG0oKTogaW52YWxpZCB0aWxlIG51bWJlciAlZAoASW52YWxpZCB0aWxlIG51bWJlciAlZAoASW52YWxpZCB0aWxlIHBhcnQgaW5kZXggZm9yIHRpbGUgbnVtYmVyICVkLiBHb3QgJWQsIGV4cGVjdGVkICVkCgBFcnJvciB3aXRoIFNJWiBtYXJrZXI6IG51bWJlciBvZiBjb21wb25lbnQgaXMgaWxsZWdhbCAtPiAlZAoATm90IGVub3VnaCBtZW1vcnkgZm9yIGNpZWxhYgoAQ2Fubm90IGFsbG9jYXRlIGNibGstPmRlY29kZWRfZGF0YQoARmFpbGVkIHRvIG1lcmdlIFBQVCBkYXRhCgBGYWlsZWQgdG8gbWVyZ2UgUFBNIGRhdGEKAEludmFsaWQgbnVtYmVyIG9mIGxheWVycyBpbiBDT0QgbWFya2VyIDogJWQgbm90IGluIHJhbmdlIFsxLTY1NTM1XQoAJXM6JWQ6Y29sb3JfY215a190b19yZ2IKCUNBTiBOT1QgQ09OVkVSVAoAJXM6JWQ6Y29sb3JfZXN5Y2NfdG9fcmdiCglDQU4gTk9UIENPTlZFUlQKACVzOiVkOmNvbG9yX3N5Y2NfdG9fcmdiCglDQU4gTk9UIENPTlZFUlQKAFN0cmVhbSB0b28gc2hvcnQsIGV4cGVjdGVkIFNPVAoAVW5hYmxlIHRvIHNldCB0MSBoYW5kbGUgYXMgVExTCgBTb3QgbGVuZ3RoIGlzIGxlc3MgdGhhbiBtYXJrZXIgc2l6ZSArIG1hcmtlciBJRAoAU3RyZWFtIGRvZXMgbm90IGVuZCB3aXRoIEVPQwoAQ2Fubm90IGhhbmRsZSBib3ggc2l6ZXMgaGlnaGVyIHRoYW4gMl4zMgoAb3BqX3BpX25leHRfbHJjcCgpOiBpbnZhbGlkIGNvbXBubzAvY29tcG5vMQoAb3BqX3BpX25leHRfcmxjcCgpOiBpbnZhbGlkIGNvbXBubzAvY29tcG5vMQoAb3BqX3BpX25leHRfY3BybCgpOiBpbnZhbGlkIGNvbXBubzAvY29tcG5vMQoAb3BqX3BpX25leHRfcGNybCgpOiBpbnZhbGlkIGNvbXBubzAvY29tcG5vMQoAb3BqX3BpX25leHRfcnBjbCgpOiBpbnZhbGlkIGNvbXBubzAvY29tcG5vMQoAb3BqX3QxX2RlY29kZV9jYmxrKCk6IHVuc3VwcG9ydGVkIGJwbm9fcGx1c19vbmUgPSAlZCA+PSAzMQoARmFpbGVkIHRvIGRlY29kZSB0aWxlIDEvMQoASW5zdWZmaWNpZW50IGRhdGEgZm9yIENNQVAgYm94LgoATmVlZCB0byByZWFkIGEgUENMUiBib3ggYmVmb3JlIHRoZSBDTUFQIGJveC4KAEluc3VmZmljaWVudCBkYXRhIGZvciBDREVGIGJveC4KAE51bWJlciBvZiBjaGFubmVsIGRlc2NyaXB0aW9uIGlzIGVxdWFsIHRvIHplcm8gaW4gQ0RFRiBib3guCgBTdHJlYW0gZXJyb3Igd2hpbGUgcmVhZGluZyBKUDIgSGVhZGVyIGJveDogbm8gJ2loZHInIGJveC4KAE5vbiBjb25mb3JtYW50IGNvZGVzdHJlYW0gVFBzb3Q9PVROc290LgoAU3RyZWFtIGVycm9yIHdoaWxlIHJlYWRpbmcgSlAyIEhlYWRlciBib3g6IGJveCBsZW5ndGggaXMgaW5jb25zaXN0ZW50LgoAQm94IGxlbmd0aCBpcyBpbmNvbnNpc3RlbnQuCgBSZXNvbHV0aW9uIGZhY3RvciBpcyBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gcmVzb2x1dGlvbiBpbiB0aGUgY29tcG9uZW50LgoAQ29tcG9uZW50IG1hcHBpbmcgc2VlbXMgd3JvbmcuIFRyeWluZyB0byBjb3JyZWN0LgoAb3BqX2oya19idWlsZF90cF9pbmRleF9mcm9tX3RsbSgpOiB0aWxlICVkIGhhcyBubyByZWdpc3RlcmVkIHRpbGUtcGFydCBpbiBUTE0gbWFya2VyIHNlZ21lbnRzLgoAb3BqX2oya19yZWFkX3RsbSgpOiB0b28gbWFueSBUTE0gbWFya2Vycy4KAG9wal9qMmtfcmVhZF90bG0oKTogY2Fubm90IGFsbG9jYXRlIG1fdGlsZV9wYXJ0X2luZm9zLgoASW5jb21wbGV0ZSBjaGFubmVsIGRlZmluaXRpb25zLgoATWFsZm9ybWVkIEhUIGNvZGVibG9jay4gSW52YWxpZCBjb2RlYmxvY2sgbGVuZ3RoIHZhbHVlcy4KAFdlIGRvIG5vdCBzdXBwb3J0IG1vcmUgdGhhbiAzIGNvZGluZyBwYXNzZXMgaW4gYW4gSFQgY29kZWJsb2NrOyBUaGlzIGNvZGVibG9ja3MgaGFzICVkIHBhc3Nlcy4KAE1hbGZvcm1lZCBIVCBjb2RlYmxvY2suIERlY29kaW5nIHRoaXMgY29kZWJsb2NrIGlzIHN0b3BwZWQuIFRoZXJlIGFyZSAlZCB6ZXJvIGJpdHBsYW5lcyBpbiAlZCBiaXRwbGFuZXMuCgBDYW5ub3QgdGFrZSBpbiBjaGFyZ2UgbXVsdGlwbGUgdHJhbnNmb3JtYXRpb24gc3RhZ2VzLgoAVW5rbm93biBtYXJrZXIgaGFzIGJlZW4gZGV0ZWN0ZWQgYW5kIGdlbmVyYXRlZCBlcnJvci4KAENvZGVjIHByb3ZpZGVkIHRvIHRoZSBvcGpfc2V0dXBfZGVjb2RlciBmdW5jdGlvbiBpcyBub3QgYSBkZWNvbXByZXNzb3IgaGFuZGxlci4KAENvZGVjIHByb3ZpZGVkIHRvIHRoZSBvcGpfcmVhZF9oZWFkZXIgZnVuY3Rpb24gaXMgbm90IGEgZGVjb21wcmVzc29yIGhhbmRsZXIuCgBFcnJvciByZWFkaW5nIFRMTSBtYXJrZXIuCgBUaWxlcyBkb24ndCBhbGwgaGF2ZSB0aGUgc2FtZSBkaW1lbnNpb24uIFNraXAgdGhlIE1DVCBzdGVwLgoATnVtYmVyIG9mIGNvbXBvbmVudHMgKCVkKSBpcyBpbmNvbnNpc3RlbnQgd2l0aCBhIE1DVC4gU2tpcCB0aGUgTUNUIHN0ZXAuCgBKUDIgYm94IHdoaWNoIGFyZSBhZnRlciB0aGUgY29kZXN0cmVhbSB3aWxsIG5vdCBiZSByZWFkIGJ5IHRoaXMgZnVuY3Rpb24uCgBNYWxmb3JtZWQgSFQgY29kZWJsb2NrLiBXaGVuIHRoZSBudW1iZXIgb2YgemVybyBwbGFuZXMgYml0cGxhbmVzIGlzIGVxdWFsIHRvIHRoZSBudW1iZXIgb2YgYml0cGxhbmVzLCBvbmx5IHRoZSBjbGVhbnVwIHBhc3MgbWFrZXMgc2Vuc2UsIGJ1dCB3ZSBoYXZlICVkIHBhc3NlcyBpbiB0aGlzIGNvZGVibG9jay4gVGhlcmVmb3JlLCBvbmx5IHRoZSBjbGVhbnVwIHBhc3Mgd2lsbCBiZSBkZWNvZGVkLiBUaGlzIG1lc3NhZ2Ugd2lsbCBub3QgYmUgZGlzcGxheWVkIGFnYWluLgoASW1hZ2UgaGFzIGxlc3MgY29tcG9uZW50cyB0aGFuIGNvZGVzdHJlYW0uCgBOZWVkIHRvIGRlY29kZSB0aGUgbWFpbiBoZWFkZXIgYmVmb3JlIGJlZ2luIHRvIGRlY29kZSB0aGUgcmVtYWluaW5nIGNvZGVzdHJlYW0uCgBQc290IHZhbHVlIG9mIHRoZSBjdXJyZW50IHRpbGUtcGFydCBpcyBlcXVhbCB0byB6ZXJvLCB3ZSBhc3N1bWluZyBpdCBpcyB0aGUgbGFzdCB0aWxlLXBhcnQgb2YgdGhlIGNvZGVzdHJlYW0uCgBBIG1hbGZvcm1lZCBjb2RlYmxvY2sgdGhhdCBoYXMgbW9yZSB0aGFuIG9uZSBjb2RpbmcgcGFzcywgYnV0IHplcm8gbGVuZ3RoIGZvciAybmQgYW5kIHBvdGVudGlhbGx5IHRoZSAzcmQgcGFzcyBpbiBhbiBIVCBjb2RlYmxvY2suCgAJCQkgdGlsZS1wYXJ0WyVkXTogc3Rhcl9wb3M9JWxsaSwgZW5kX2hlYWRlcj0lbGxpLCBlbmRfcG9zPSVsbGkuCgBUaWxlICV1IGhhcyBUUHNvdCA9PSAwIGFuZCBUTnNvdCA9PSAwLCBidXQgbm8gb3RoZXIgdGlsZS1wYXJ0cyB3ZXJlIGZvdW5kLiBFT0MgaXMgYWxzbyBtaXNzaW5nLgoAQ29tcG9uZW50ICVkIGRvZXNuJ3QgaGF2ZSBhIG1hcHBpbmcuCgBvcGpfajJrX3JlYWRfdGxtKCk6IFRMTSBtYXJrZXIgbm90IG9mIGV4cGVjdGVkIHNpemUuCgBBIGNvbmZvcm1pbmcgSlAyIHJlYWRlciBzaGFsbCBpZ25vcmUgYWxsIENvbG91ciBTcGVjaWZpY2F0aW9uIGJveGVzIGFmdGVyIHRoZSBmaXJzdCwgc28gd2UgaWdub3JlIHRoaXMgb25lLgoAVGhlIHNpZ25hdHVyZSBib3ggbXVzdCBiZSB0aGUgZmlyc3QgYm94IGluIHRoZSBmaWxlLgoAVGhlICBib3ggbXVzdCBiZSB0aGUgZmlyc3QgYm94IGluIHRoZSBmaWxlLgoAVGhlIGZ0eXAgYm94IG11c3QgYmUgdGhlIHNlY29uZCBib3ggaW4gdGhlIGZpbGUuCgBGYWlsZWQgdG8gZGVjb2RlLgoATWFsZm9ybWVkIEhUIGNvZGVibG9jay4gSW5jb3JyZWN0IE1FTCBzZWdtZW50IHNlcXVlbmNlLgoAQ29tcG9uZW50ICVkIGlzIG1hcHBlZCB0d2ljZS4KAG9wal9qMmtfcmVhZF90bG0oKTogU1QgPSAzIGlzIGludmFsaWQuCgBPbmx5IG9uZSBDTUFQIGJveCBpcyBhbGxvd2VkLgoAV2UgbmVlZCBhbiBpbWFnZSBwcmV2aW91c2x5IGNyZWF0ZWQuCgBJSERSIGJveF9taXNzaW5nLiBSZXF1aXJlZC4KAEpQMkggYm94IG1pc3NpbmcuIFJlcXVpcmVkLgoATm90IHN1cmUgaG93IHRoYXQgaGFwcGVuZWQuCgBNYWluIGhlYWRlciBoYXMgYmVlbiBjb3JyZWN0bHkgZGVjb2RlZC4KAFRpbGUgJWQvJWQgaGFzIGJlZW4gZGVjb2RlZC4KAEhlYWRlciBvZiB0aWxlICVkIC8gJWQgaGFzIGJlZW4gcmVhZC4KAEVtcHR5IFNPVCBtYXJrZXIgZGV0ZWN0ZWQ6IFBzb3Q9JWQuCgBEaXJlY3QgdXNlIGF0ICMlZCBob3dldmVyIHBjb2w9JWQuCgBJbXBsZW1lbnRhdGlvbiBsaW1pdGF0aW9uOiBmb3IgcGFsZXR0ZSBtYXBwaW5nLCBwY29sWyVkXSBzaG91bGQgYmUgZXF1YWwgdG8gJWQsIGJ1dCBpcyBlcXVhbCB0byAlZC4KAEludmFsaWQgY29tcG9uZW50L3BhbGV0dGUgaW5kZXggZm9yIGRpcmVjdCBtYXBwaW5nICVkLgoASW52YWxpZCB2YWx1ZSBmb3IgY21hcFslZF0ubXR5cCA9ICVkLgoAUHNvdCB2YWx1ZSBpcyBub3QgY29ycmVjdCByZWdhcmRzIHRvIHRoZSBKUEVHMjAwMCBub3JtOiAlZC4KAE1hbGZvcm1lZCBIVCBjb2RlYmxvY2suIFZMQyBjb2RlIHByb2R1Y2VzIHNpZ25pZmljYW50IHNhbXBsZXMgb3V0c2lkZSB0aGUgY29kZWJsb2NrIGFyZWEuCgBVbmV4cGVjdGVkIE9PTS4KADMyIGJpdHMgYXJlIG5vdCBlbm91Z2ggdG8gZGVjb2RlIHRoaXMgY29kZWJsb2NrLCBzaW5jZSB0aGUgbnVtYmVyIG9mIGJpdHBsYW5lLCAlZCwgaXMgbGFyZ2VyIHRoYW4gMzAuCgBCb3R0b20gcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3kxPSVkKSBzaG91bGQgYmUgPiAwLgoAUmlnaHQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gxPSVkKSBzaG91bGQgYmUgPiAwLgoAVXAgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3kwPSVkKSBzaG91bGQgYmUgPj0gMC4KAExlZnQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gwPSVkKSBzaG91bGQgYmUgPj0gMC4KAEVycm9yIHJlYWRpbmcgUFBUIG1hcmtlcjogcGFja2V0IGhlYWRlciBoYXZlIGJlZW4gcHJldmlvdXNseSBmb3VuZCBpbiB0aGUgbWFpbiBoZWFkZXIgKFBQTSBtYXJrZXIpLgoAU3RhcnQgdG8gcmVhZCBqMmsgbWFpbiBoZWFkZXIgKCVsbGQpLgoAQm90dG9tIHBvc2l0aW9uIG9mIHRoZSBkZWNvZGVkIGFyZWEgKHJlZ2lvbl95MT0lZCkgaXMgb3V0c2lkZSB0aGUgaW1hZ2UgYXJlYSAoWXNpej0lZCkuCgBVcCBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feTA9JWQpIGlzIG91dHNpZGUgdGhlIGltYWdlIGFyZWEgKFlzaXo9JWQpLgoAUmlnaHQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gxPSVkKSBpcyBvdXRzaWRlIHRoZSBpbWFnZSBhcmVhIChYc2l6PSVkKS4KAExlZnQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gwPSVkKSBpcyBvdXRzaWRlIHRoZSBpbWFnZSBhcmVhIChYc2l6PSVkKS4KAEJvdHRvbSBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feTE9JWQpIGlzIG91dHNpZGUgdGhlIGltYWdlIGFyZWEgKFlPc2l6PSVkKS4KAFVwIHBvc2l0aW9uIG9mIHRoZSBkZWNvZGVkIGFyZWEgKHJlZ2lvbl95MD0lZCkgaXMgb3V0c2lkZSB0aGUgaW1hZ2UgYXJlYSAoWU9zaXo9JWQpLgoAUmlnaHQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gxPSVkKSBpcyBvdXRzaWRlIHRoZSBpbWFnZSBhcmVhIChYT3Npej0lZCkuCgBMZWZ0IHBvc2l0aW9uIG9mIHRoZSBkZWNvZGVkIGFyZWEgKHJlZ2lvbl94MD0lZCkgaXMgb3V0c2lkZSB0aGUgaW1hZ2UgYXJlYSAoWE9zaXo9JWQpLgoAU2l6ZSB4IG9mIHRoZSBkZWNvZGVkIGNvbXBvbmVudCBpbWFnZSBpcyBpbmNvcnJlY3QgKGNvbXBbJWRdLnc9JWQpLgoAU2l6ZSB5IG9mIHRoZSBkZWNvZGVkIGNvbXBvbmVudCBpbWFnZSBpcyBpbmNvcnJlY3QgKGNvbXBbJWRdLmg9JWQpLgoAVGlsZSByZWFkLCBkZWNvZGVkIGFuZCB1cGRhdGVkIGlzIG5vdCB0aGUgZGVzaXJlZCBvbmUgKCVkIHZzICVkKS4KAEludmFsaWQgY29tcG9uZW50IGluZGV4ICVkICg+PSAlZCkuCgBvcGpfcmVhZF9oZWFkZXIoKSBzaG91bGQgYmUgY2FsbGVkIGJlZm9yZSBvcGpfc2V0X2RlY29kZWRfY29tcG9uZW50cygpLgoATWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZSBpbiBvcGpfanAyX2FwcGx5X3BjbHIoKS4KAGltYWdlLT5jb21wc1slZF0uZGF0YSA9PSBOVUxMIGluIG9wal9qcDJfYXBwbHlfcGNscigpLgoAaW52YWxpZCBib3ggc2l6ZSAlZCAoJXgpCgBGYWlsIHRvIHJlYWQgdGhlIGN1cnJlbnQgbWFya2VyIHNlZ21lbnQgKCUjeCkKAEVycm9yIHdpdGggU0laIG1hcmtlcjogSUhEUiB3KCV1KSBoKCV1KSB2cy4gU0laIHcoJXUpIGgoJXUpCgBFcnJvciByZWFkaW5nIENPQyBtYXJrZXIgKGJhZCBudW1iZXIgb2YgY29tcG9uZW50cykKAEludmFsaWQgbnVtYmVyIG9mIHRpbGVzIDogJXUgeCAldSAobWF4aW11bSBmaXhlZCBieSBqcGVnMjAwMCBub3JtIGlzIDY1NTM1IHRpbGVzKQoASW52YWxpZCBudW1iZXIgb2YgY29tcG9uZW50cyAoaWhkcikKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGhhbmRsZSBpbWFnZSBoZWFkZXIgKGloZHIpCgBXcm9uZyB2YWx1ZXMgZm9yOiB3KCVkKSBoKCVkKSBudW1jb21wcyglZCkgKGloZHIpCgBJbnZhbGlkIHZhbHVlcyBmb3IgY29tcCA9ICVkIDogZHg9JXUgZHk9JXUgKHNob3VsZCBiZSBiZXR3ZWVuIDEgYW5kIDI1NSBhY2NvcmRpbmcgdG8gdGhlIEpQRUcyMDAwIG5vcm0pCgBCYWQgaW1hZ2UgaGVhZGVyIGJveCAoYmFkIHNpemUpCgBCYWQgQ09MUiBoZWFkZXIgYm94IChiYWQgc2l6ZSkKAEJhZCBCUENDIGhlYWRlciBib3ggKGJhZCBzaXplKQoARXJyb3Igd2l0aCBTSVogbWFya2VyOiBuZWdhdGl2ZSBvciB6ZXJvIGltYWdlIHNpemUgKCVsbGQgeCAlbGxkKQoAc2tpcDogc2VnbWVudCB0b28gbG9uZyAoJWQpIHdpdGggbWF4ICglZCkgZm9yIGNvZGVibG9jayAlZCAocD0lZCwgYj0lZCwgcj0lZCwgYz0lZCkKAHJlYWQ6IHNlZ21lbnQgdG9vIGxvbmcgKCVkKSB3aXRoIG1heCAoJWQpIGZvciBjb2RlYmxvY2sgJWQgKHA9JWQsIGI9JWQsIHI9JWQsIGM9JWQpCgBEZXNwaXRlIEpQMiBCUEMhPTI1NSwgcHJlY2lzaW9uIGFuZC9vciBzZ25kIHZhbHVlcyBmb3IgY29tcFslZF0gaXMgZGlmZmVyZW50IHRoYW4gY29tcFswXToKICAgICAgICBbMF0gcHJlYyglZCkgc2duZCglZCkgWyVkXSBwcmVjKCVkKSBzZ25kKCVkKQoAYmFkIGNvbXBvbmVudCBudW1iZXIgaW4gUkdOICglZCB3aGVuIHRoZXJlIGFyZSBvbmx5ICVkKQoARXJyb3Igd2l0aCBTSVogbWFya2VyOiBudW1iZXIgb2YgY29tcG9uZW50IGlzIG5vdCBjb21wYXRpYmxlIHdpdGggdGhlIHJlbWFpbmluZyBudW1iZXIgb2YgcGFyYW1ldGVycyAoICVkIHZzICVkKQoARXJyb3Igd2l0aCBTSVogbWFya2VyOiBpbnZhbGlkIHRpbGUgc2l6ZSAodGR4OiAlZCwgdGR5OiAlZCkKAEJhZCBDT0xSIGhlYWRlciBib3ggKGJhZCBzaXplOiAlZCkKAEJhZCBDT0xSIGhlYWRlciBib3ggKENJRUxhYiwgYmFkIHNpemU6ICVkKQoAUFRFUk0gY2hlY2sgZmFpbHVyZTogJWQgcmVtYWluaW5nIGJ5dGVzIGluIGNvZGUgYmxvY2sgKCVkIHVzZWQgLyAlZCkKAE1hbGZvcm1lZCBIVCBjb2RlYmxvY2suIE9uZSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbiBpcyBub3QgbWV0OiAyIDw9IFNjdXAgPD0gbWluKExjdXAsIDQwNzkpCgBJbnZhbGlkIHZhbHVlcyBmb3IgY29tcCA9ICVkIDogcHJlYz0ldSAoc2hvdWxkIGJlIGJldHdlZW4gMSBhbmQgMzggYWNjb3JkaW5nIHRvIHRoZSBKUEVHMjAwMCBub3JtLiBPcGVuSnBlZyBvbmx5IHN1cHBvcnRzIHVwIHRvIDMxKQoASW52YWxpZCBiaXQgbnVtYmVyICVkIGluIG9wal90Ml9yZWFkX3BhY2tldF9oZWFkZXIoKQoAU3RyZWFtIGVycm9yIQoARXJyb3Igb24gd3JpdGluZyBzdHJlYW0hCgBTdHJlYW0gcmVhY2hlZCBpdHMgZW5kICEKAEV4cGVjdGVkIGEgU09DIG1hcmtlciAKAEludmFsaWQgYm94IHNpemUgJWQgZm9yIGJveCAnJWMlYyVjJWMnLiBOZWVkICVkIGJ5dGVzLCAlZCBieXRlcyByZW1haW5pbmcgCgBNYWxmb3JtZWQgSFQgY29kZWJsb2NrLiBEZWNvZGluZyB0aGlzIGNvZGVibG9jayBpcyBzdG9wcGVkLiBVX3EgaXMgbGFyZ2VyIHRoYW4gemVybyBiaXRwbGFuZXMgKyAxIAoATWFsZm9ybWVkIEhUIGNvZGVibG9jay4gRGVjb2RpbmcgdGhpcyBjb2RlYmxvY2sgaXMgc3RvcHBlZC4gVV9xIGlzbGFyZ2VyIHRoYW4gYml0cGxhbmVzICsgMSAKAENPTFIgQk9YIG1ldGggdmFsdWUgaXMgbm90IGEgcmVndWxhciB2YWx1ZSAoJWQpLCBzbyB3ZSB3aWxsIGlnbm9yZSB0aGUgZW50aXJlIENvbG91ciBTcGVjaWZpY2F0aW9uIGJveC4gCgBXaGlsZSByZWFkaW5nIENDUF9RTlRTVFkgZWxlbWVudCBpbnNpZGUgUUNEIG9yIFFDQyBtYXJrZXIgc2VnbWVudCwgbnVtYmVyIG9mIHN1YmJhbmRzICglZCkgaXMgZ3JlYXRlciB0byBPUEpfSjJLX01BWEJBTkRTICglZCkuIFNvIHdlIGxpbWl0IHRoZSBudW1iZXIgb2YgZWxlbWVudHMgc3RvcmVkIHRvIE9QSl9KMktfTUFYQkFORFMgKCVkKSBhbmQgc2tpcCB0aGUgcmVzdC4gCgBKUDIgSUhEUiBib3g6IGNvbXByZXNzaW9uIHR5cGUgaW5kaWNhdGUgdGhhdCB0aGUgZmlsZSBpcyBub3QgYSBjb25mb3JtaW5nIEpQMiBmaWxlICglZCkgCgBUaWxlIGluZGV4IHByb3ZpZGVkIGJ5IHRoZSB1c2VyIGlzIGluY29ycmVjdCAlZCAobWF4ID0gJWQpIAoARXJyb3IgZGVjb2RpbmcgY29tcG9uZW50ICVkLgpUaGUgbnVtYmVyIG9mIHJlc29sdXRpb25zIHRvIHJlbW92ZSAoJWQpIGlzIGdyZWF0ZXIgb3IgZXF1YWwgdGhhbiB0aGUgbnVtYmVyIG9mIHJlc29sdXRpb25zIG9mIHRoaXMgY29tcG9uZW50ICglZCkKTW9kaWZ5IHRoZSBjcF9yZWR1Y2UgcGFyYW1ldGVyLgoKAEltYWdlIGRhdGEgaGFzIGJlZW4gdXBkYXRlZCB3aXRoIHRpbGUgJWQuCgoAACMApQBDAGYAgwDuqBQA39gjAL4QQwD/9YMAfiBVAF9RIwA1AEMATkSDAM7EFADPzCMA/uJDAP+ZgwCWAMUAPzEjAKUAQwBeRIMAzsgUAN8RIwD+9EMA//yDAJ4AVQB3ACMANQBDAP/xgwCuiBQAtwAjAP74QwDv5IMAjojFAB8RIwClAEMAZgCDAO6oFADfVCMAvhBDAO8igwB+IFUAfyIjADUAQwBORIMAzsQUAL8RIwD+4kMA9wCDAJYAxQA/IiMApQBDAF5EgwDOyBQA1wAjAP70QwD/uoMAngBVAG8AIwA1AEMA/+aDAK6IFACvoiMA/vhDAOcAgwCOiMUALyICAMUAhAB+IAIAzsQkAPcAAgD+okQAVgACAJ4AFADXAAIAvhCEAGYAAgCuiCQA3xECAO6oRAA2AAIAjogUAB8RAgDFAIQAbgACAM6IJAD/iAIA/rhEAE5EAgCWABQAtwACAP7khABeRAIApgAkAOcAAgDeVEQALiICAD4AFAB3AAIAxQCEAH4gAgDOxCQA//ECAP6iRABWAAIAngAUAL8RAgC+EIQAZgACAK6IJADvIgIA7qhEADYAAgCOiBQAfyICAMUAhABuAAIAzogkAO/kAgD+uEQATkQCAJYAFACvogIA/uSEAF5EAgCmACQA39gCAN5URAAuIgIAPgAUAF9RAgBVAIQAZgACAN6IJAD/MgIA/hFEAE5EAgCuABQAtwACAH4xhABeUQIAxgAkANcAAgDuIEQAHhECAJ4AFAB3AAIAVQCEAF5UAgDORCQA5wACAP7xRAA2AAIApgAUAF9VAgD+dIQAPhECAL4gJAB/dAIA3sREAP/4AgCWABQALyICAFUAhABmAAIA3ogkAPcAAgD+EUQATkQCAK4AFACPiAIAfjGEAF5RAgDGACQAz8gCAO4gRAAeEQIAngAUAG8AAgBVAIQAXlQCAM5EJADf0QIA/vFEADYAAgCmABQAfyICAP50hAA+EQIAviAkAL8iAgDexEQA7yICAJYAFAA/MgMA3tT99P/8FAA+EVUAj4gDAL4yhQDnACUAXlH+qn9yAwDORP3470QUAH5kRQCvogMApgBdVd+Z/fE2AP71b2IDAN7R/fT/5hQAfnFVAL+xAwCuiIUA39UlAE5E/vJ/ZgMAxgD9+O/iFABeVEUAnxEDAJYAXVXPyP3xHhHuyGcAAwDe1P30//MUAD4RVQC/EQMAvjKFAN/YJQBeUf6qLyIDAM5E/fj3ABQAfmRFAJ+YAwCmAF1V1wD98TYA/vVvRAMA3tH99P+5FAB+cVUAtwADAK6IhQDf3CUATkT+8ncAAwDGAP347+QUAF5URQB/cwMAlgBdVb+4/fEeEe7IPzICAKUAhAB+QAIA3hAkAN8RAgD+ckQAVgACAK6oFAC/sgIAlgCEAGYAAgDGACQA5wACAO7IRAAuIgIAjogUAHcAAgClAIQAbgACAM6IJAD3AAIA/pFEADYAAgCuohQAr6oCAP64hABeAAIAvgAkAM/EAgDuREQA//QCAD4iFAAfEQIApQCEAH5AAgDeECQA/5kCAP5yRABWAAIArqgUALcAAgCWAIQAZgACAMYAJADXAAIA7shEAC4iAgCOiBQAT0QCAKUAhABuAAIAzogkAO/iAgD+kUQANgACAK6iFAB/RAIA/riEAF4AAgC+ACQAnwACAO5ERAD/dgIAPiIUAD8xAwDGAIUA/9n98n5k/vG/mQMArqIlAO9m/fRWAO7if3MDAL6YRQD3AP34ZgD+dp+IAwCOiBUA39WlAC4i3phPRAMAvrKFAP/8/fJuIpYAtwADAK6qJQDf0f30NgDe1G9kAwCuqEUA7+r9+F5E7uh/cQMAPjIVAM/EpQD/+s6IPzEDAMYAhQD/d/3yfmT+8b+zAwCuoiUA5wD99FYA7uJ3AAMAvphFAO/k/fhmAP52f2YDAI6IFQDXAKUALiLemD8zAwC+soUA/3X98m4ilgCfkQMArqolAN+Z/fQ2AN7UX1EDAK6oRQDv7P34XkTu6H9yAwA+MhUAv7GlAP/zzogfEQMA3lT98h4RFAB+ZP74z8wDAL6RRQDvIiUALiL+84+IAwDGAIUA9wAUAF4R/vyvqAMApgA1AN/I/fE+Mf5mb2QDAM7I/fL/9RQAZgD+9L+6AwCuIkUA5wAlAD4y/up/cwMAvrKFAN9VFABWAH5xnxEDAJYANQDPxP3xPjPu6E9EAwDeVP3yHhEUAH5k/vi/mQMAvpFFAO/iJQAuIv7zf2YDAMYAhQDv5BQAXhH+/J+YAwCmADUA1wD98T4x/mZvIgMAzsj98v+5FABmAP70twADAK4iRQDf0SUAPjL+6ncAAwC+soUA7+wUAFYAfnF/cgMAlgA1AL+4/fE+M+7oX1T88d7R/frXAPz4FgD9/390/PR+cf3zv7P88u/q7uhPRPzxriIFAL+4/Pj3AP78dwD89F4R/fV/dfzy39ju4j8z/PG+sv36z4j8+P/7/f9/c/z0bgD987cA/PLvZv75PzH88Z4ABQC/uvz4//3+9mcA/PQmAP31j4j88t/c3tQvIvzx3tH9+s/E/PgWAP3/f3L89H5x/fO/mfzy7+zu6EcA/PGuIgUApwD8+P/3/vxXAPz0XhH99ZcA/PLf1e7iNwD88b6y/frHAPz4//79/39m/PRuAP3zr6j88ucA/vk/MvzxngAFAL+x/Pjv5P72X1T89CYA/fWHAPzy35ne1B8REwBlAEMA3gCDAI2IIwBORBMApQBDAK6IgwA1ACMA1wATAMUAQwCeAIMAVQAjAC4iEwCVAEMAfgCDAP4QIwB3ABMAZQBDAM6IgwCNiCMAHhETAKUAQwBeAIMANQAjAOcAEwDFAEMAvgCDAFUAIwD/ERMAlQBDAD4AgwDuQCMAr6ITAGUAQwDeAIMAjYgjAE5EEwClAEMAroiDADUAIwDvRBMAxQBDAJ4AgwBVACMALiITAJUAQwB+AIMA/hAjALcAEwBlAEMAzoiDAI2IIwAeERMApQBDAF4AgwA1ACMAz8QTAMUAQwC+AIMAVQAjAPcAEwCVAEMAPgCDAO5AIwBvAAEAhAABAFYAAQAUAAEA1wABACQAAQCWAAEARQABAHcAAQCEAAEAxgABABQAAQCPiAEAJAABAPcAAQA1AAEALyIBAIQAAQD+QAEAFAABALcAAQAkAAEAvwABAEUAAQBnAAEAhAABAKYAAQAUAAEAT0QBACQAAQDnAAEANQABAD8RAQCEAAEAVgABABQAAQDPAAEAJAABAJYAAQBFAAEAbwABAIQAAQDGAAEAFAABAJ8AAQAkAAEA7wABADUAAQA/MgEAhAABAP5AAQAUAAEArwABACQAAQD/RAEARQABAF8AAQCEAAEApgABABQAAQB/AAEAJAABAN8AAQA1AAEAHxEBACQAAQBWAAEAhQABAL8AAQAUAAEA9wABAMYAAQB3AAEAJAABAP/4AQBFAAEAfwABABQAAQDfAAEApgABAD8xAQAkAAEALiIBAIUAAQC3AAEAFAABAO9EAQCuogEAZwABACQAAQD/UQEARQABAJcAAQAUAAEAzwABADYAAQA/IgEAJAABAFYAAQCFAAEAv7IBABQAAQDvQAEAxgABAG8AAQAkAAEA/3IBAEUAAQCfAAEAFAABANcAAQCmAAEAT0QBACQAAQAuIgEAhQABAK+oAQAUAAEA5wABAK6iAQBfAAEAJAABAP9EAQBFAAEAj4gBABQAAQCvqgEANgABAB8RAgD++CQAVgACALYAhQD/ZgIAzgAUAB4RAgCWADUAr6gCAPYAJAA+MQIApgBFAL+zAgC+shQA//UCAGYAflFfVAIA/vIkAC4iAgCuIoUA70QCAMYAFAD/9AIAdgA1AH9EAgDeQCQAPjICAJ4ARQDXAAIAvogUAP/6AgBeEf7xT0QCAP74JABWAAIAtgCFAO/IAgDOABQAHhECAJYANQCPiAIA9gAkAD4xAgCmAEUA30QCAL6yFAD/qAIAZgB+UW8AAgD+8iQALiICAK4ihQDnAAIAxgAUAO/iAgB2ADUAf3ICAN5AJAA+MgIAngBFAL+xAgC+iBQA/3MCAF4R/vE/MwEAhAABAO4gAQDFAAEAz8QBAEQAAQD/MgEAFQABAI+IAQCEAAEAZgABACUAAQCvAAEARAABAO8iAQCmAAEAXwABAIQAAQBORAEAxQABAM/MAQBEAAEA9wABABUAAQBvAAEAhAABAFYAAQAlAAEAnwABAEQAAQDfAAEA/jABAC8iAQCEAAEA7iABAMUAAQDPyAEARAABAP8RAQAVAAEAdwABAIQAAQBmAAEAJQABAH8AAQBEAAEA5wABAKYAAQA3AAEAhAABAE5EAQDFAAEAtwABAEQAAQC/AAEAFQABAD8AAQCEAAEAVgABACUAAQCXAAEARAABANcAAQD+MAEAHxECAO6oRACOiAIA1gDFAP/zAgD+/CUAPgACALYAVQDf2AIA/vhEAGYAAgB+IIUA/5kCAOYA9QA2AAIApgAVAJ8AAgD+8kQAdgACAM5ExQD/dgIA/vElAE5EAgCuAFUAz8gCAP70RABeRAIAvhCFAO/kAgDeVPUAHhECAJYAFQAvIgIA7qhEAI6IAgDWAMUA//oCAP78JQA+AAIAtgBVAL8RAgD++EQAZgACAH4ghQDvIgIA5gD1ADYAAgCmABUAfyICAP7yRAB2AAIAzkTFAP/VAgD+8SUATkQCAK4AVQBvAAIA/vREAF5EAgC+EIUA3xECAN5U9QAeEQIAlgAVAF9RAwD2ABQAHhFEAI6IpQDf1AMArqJVAP92JAA+IrYAr6oDAOYAFAD/9UQAZgCFAM/MAwCeAMUA70QkADYA/vh/MQMA7ugUAP/xRAB2AKUAz8QDAH4iVQDf0SQATkT+9F9RAwDWABQA7+JEAF5EhQC/IgMAlgDFAN/IJAAuIv7ybyIDAPYAFAAeEUQAjoilAL+xAwCuolUA/zMkAD4itgCvqAMA5gAUAP+5RABmAIUAv6gDAJ4AxQDv5CQANgD++G9kAwDu6BQA//xEAHYApQDPyAMAfiJVAO/qJABORP70f3QDANYAFAD/+kQAXkSFAL+yAwCWAMUA30QkAC4i/vI/MfMA/vr98TYABAC+MnUA3xHzAN5U/fLv5NUAfnH+/H9z8wD+8/34HhEEAJYAVQC/sfMAzgC1AN/Y/fRmAP65X1TzAP52/fEmAAQApgB1AJ8A8wCuAP3y//fVAEYA/vV/dPMA5gD9+BYABACGAFUAj4jzAMYAtQDv4v30XhHuqD8R8wD++v3xNgAEAL4ydQDf0fMA3lT98v/71QB+cf78f0TzAP7z/fgeEQQAlgBVAH9y8wDOALUA7yL99GYA/rlPRPMA/nb98SYABACmAHUAvxHzAK4A/fL//9UARgD+9T8y8wDmAP34FgAEAIYAVQBvAPMAxgC1AL+4/fReEe6oLyI="),r(f,20748,"AQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAwAAAAMAAAAEAAAABQAAALchQiFnIUIhERERETMzMzN3d3d3AAAAAAAAAAABVgAAAAAAAHBRAACAUQAAAVYAAAEAAACAUQAAcFEAAAE0AAAAAAAAkFEAABBSAAABNAAAAQAAAKBRAAAgUgAAARgAAAAAAACwUQAAcFIAAAEYAAABAAAAwFEAAIBSAADBCgAAAAAAANBRAADQUgAAwQoAAAEAAADgUQAA4FIAACEFAAAAAAAA8FEAAPBUAAAhBQAAAQAAAABSAAAAVQAAIQIAAAAAAAAQVgAAcFUAACECAAABAAAAIFYAAIBVAAABVgAAAAAAADBSAAAgUgAAAVYAAAEAAABAUgAAEFIAAAFUAAAAAAAAUFIAABBTAAABVAAAAQAAAGBSAAAgUwAAAUgAAAAAAABwUgAAEFMAAAFIAAABAAAAgFIAACBTAAABOAAAAAAAAJBSAAAQUwAAATgAAAEAAACgUgAAIFMAAAEwAAAAAAAAsFIAAHBTAAABMAAAAQAAAMBSAACAUwAAASQAAAAAAADQUgAAkFMAAAEkAAABAAAA4FIAAKBTAAABHAAAAAAAAPBSAADQUwAAARwAAAEAAAAAUwAA4FMAAAEWAAAAAAAA8FQAAPBTAAABFgAAAQAAAABVAAAAVAAAAVYAAAAAAAAwUwAAIFMAAAFWAAABAAAAQFMAABBTAAABVAAAAAAAAFBTAAAQUwAAAVQAAAEAAABgUwAAIFMAAAFRAAAAAAAAcFMAADBTAAABUQAAAQAAAIBTAABAUwAAAUgAAAAAAACQUwAAUFMAAAFIAAABAAAAoFMAAGBTAAABOAAAAAAAALBTAABwUwAAATgAAAEAAADAUwAAgFMAAAE0AAAAAAAA0FMAAJBTAAABNAAAAQAAAOBTAACgUwAAATAAAAAAAADwUwAAsFMAAAEwAAABAAAAAFQAAMBTAAABKAAAAAAAABBUAACwUwAAASgAAAEAAAAgVAAAwFMAAAEkAAAAAAAAMFQAANBTAAABJAAAAQAAAEBUAADgUwAAASIAAAAAAABQVAAA8FMAAAEiAAABAAAAYFQAAABUAAABHAAAAAAAAHBUAAAQVAAAARwAAAEAAACAVAAAIFQAAAEYAAAAAAAAkFQAADBUAAABGAAAAQAAAKBUAABAVAAAARYAAAAAAACwVAAAUFQAAAEWAAABAAAAwFQAAGBUAAABFAAAAAAAANBUAABwVAAAARQAAAEAAADgVAAAgFQAAAESAAAAAAAA8FQAAJBUAAABEgAAAQAAAABVAACgVAAAAREAAAAAAAAQVQAAsFQAAAERAAABAAAAIFUAAMBUAADBCgAAAAAAADBVAADQVAAAwQoAAAEAAABAVQAA4FQAAMEJAAAAAAAAUFUAAPBUAADBCQAAAQAAAGBVAAAAVQAAoQgAAAAAAABwVQAAEFUAAKEIAAABAAAAgFUAACBVAAAhBQAAAAAAAJBVAAAwVQAAIQUAAAEAAACgVQAAQFUAAEEEAAAAAAAAsFUAAFBVAABBBAAAAQAAAMBVAABgVQAAoQIAAAAAAADQVQAAcFUAAKECAAABAAAA4FUAAIBVAAAhAgAAAAAAAPBVAACQVQAAIQIAAAEAAAAAVgAAoFUAAEEBAAAAAAAAEFYAALBVAABBAQAAAQAAACBWAADAVQAAEQEAAAAAAAAwVgAA0FUAABEBAAABAAAAQFYAAOBVAACFAAAAAAAAAFBWAADwVQAAhQAAAAEAAABgVgAAAFYAAEkAAAAAAAAAcFYAABBWAABJAAAAAQAAAIBWAAAgVgAAJQAAAAAAAACQVgAAMFYAACUAAAABAAAAoFYAAEBWAAAVAAAAAAAAALBWAABQVgAAFQAAAAEAAADAVgAAYFYAAAkAAAAAAAAA0FYAAHBWAAAJAAAAAQAAAOBWAACAVgAABQAAAAAAAADwVgAAkFYAAAUAAAABAAAAAFcAAKBWAAABAAAAAAAAAPBWAACwVgAAAQAAAAEAAAAAVwAAwFYAAAFWAAAAAAAAEFcAABBXAAABVgAAAQAAACBXAAAgVwAAAAEDAwECAwMFBgcHBgYHBwABAwMBAgMDBQYHBwYGBwcFBgcHBgYHBwgICAgICAgIBQYHBwYGBwcICAgICAgICAECAwMCAgMDBgYHBwYGBwcBAgMDAgIDAwYGBwcGBgcHBgYHBwYGBwcICAgICAgICAYGBwcGBgcHCAgICAgICAgDAwQEAwMEBAcHBwcHBwcHAwMEBAMDBAQHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgHBwcHBwcHBwgICAgICAgIAwMEBAMDBAQHBwcHBwcHBwMDBAQDAwQEBwcHBwcHBwcHBwcHBwcHBwgICAgICAgIBwcHBwcHBwcICAgICAgICAECAwMCAgMDBgYHBwYGBwcBAgMDAgIDAwYGBwcGBgcHBgYHBwYGBwcICAgICAgICAYGBwcGBgcHCAgICAgICAgCAgMDAgIDAwYGBwcGBgcHAgIDAwICAwMGBgcHBgYHBwYGBwcGBgcHCAgICAgICAgGBgcHBgYHBwgICAgICAgIAwMEBAMDBAQHBwcHBwcHBwMDBAQDAwQEBwcHBwcHBwcHBwcHBwcHBwgICAgICAgIBwcHBwcHBwcICAgICAgICAMDBAQDAwQEBwcHBwcHBwcDAwQEAwMEBAcHBwcHBwcHBwcHBwcHBwcICAgICAgICAcHBwcHBwcHCAgICAgICAgAAQUGAQIGBgMDBwcDAwcHAAEFBgECBgYDAwcHAwMHBwMDBwcDAwcHBAQHBwQEBwcDAwcHAwMHBwQEBwcEBAcHAQIGBgICBgYDAwcHAwMHBwECBgYCAgYGAwMHBwMDBwcDAwcHAwMHBwQEBwcEBAcHAwMHBwMDBwcEBAcHBAQHBwUGCAgGBggIBwcICAcHCAgFBggIBgYICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgGBggIBgYICAcHCAgHBwgIBgYICAYGCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIAQIGBgICBgYDAwcHAwMHBwECBgYCAgYGAwMHBwMDBwcDAwcHAwMHBwQEBwcEBAcHAwMHBwMDBwcEBAcHBAQHBwICBgYCAgYGAwMHBwMDBwcCAgYGAgIGBgMDBwcDAwcHAwMHBwMDBwcEBAcHBAQHBwMDBwcDAwcHBAQHBwQEBwcGBggIBgYICAcHCAgHBwgIBgYICAYGCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBgYICAYGCAgHBwgIBwcICAYGCAgGBggIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAABAwMBAgMDBQYHBwYGBwcAAQMDAQIDAwUGBwcGBgcHBQYHBwYGBwcICAgICAgICAUGBwcGBgcHCAgICAgICAgBAgMDAgIDAwYGBwcGBgcHAQIDAwICAwMGBgcHBgYHBwYGBwcGBgcHCAgICAgICAgGBgcHBgYHBwgICAgICAgIAwMEBAMDBAQHBwcHBwcHBwMDBAQDAwQEBwcHBwcHBwcHBwcHBwcHBwgICAgICAgIBwcHBwcHBwcICAgICAgICAMDBAQDAwQEBwcHBwcHBwcDAwQEAwMEBAcHBwcHBwcHBwcHBwcHBwcICAgICAgICAcHBwcHBwcHCAgICAgICAgBAgMDAgIDAwYGBwcGBgcHAQIDAwICAwMGBgcHBgYHBwYGBwcGBgcHCAgICAgICAgGBgcHBgYHBwgICAgICAgIAgIDAwICAwMGBgcHBgYHBwICAwMCAgMDBgYHBwYGBwcGBgcHBgYHBwgICAgICAgIBgYHBwYGBwcICAgICAgICAMDBAQDAwQEBwcHBwcHBwcDAwQEAwMEBAcHBwcHBwcHBwcHBwcHBwcICAgICAgICAcHBwcHBwcHCAgICAgICAgDAwQEAwMEBAcHBwcHBwcHAwMEBAMDBAQHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgHBwcHBwcHBwgICAgICAgIAAMBBAMGBAcBBAIFBAcFBwADAQQDBgQHAQQCBQQHBQcBBAIFBAcFBwIFAgUFBwUHAQQCBQQHBQcCBQIFBQcFBwMGBAcGCAcIBAcFBwcIBwgDBgQHBggHCAQHBQcHCAcIBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgBBAIFBAcFBwIFAgUFBwUHAQQCBQQHBQcCBQIFBQcFBwIFAgUFBwUHAgUCBQUHBQcCBQIFBQcFBwIFAgUFBwUHBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAUHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAMGBAcGCAcIBAcFBwcIBwgDBgQHBggHCAQHBQcHCAcIBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgGCAcICAgICAcIBwgICAgIBggHCAgICAgHCAcICAgICAcIBwgICAgIBwgHCAgICAgHCAcICAgICAcIBwgICAgIBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAUHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAcIBwgICAgIBwgHCAgICAgHCAcICAgICAcIBwgICAgIBwgHCAgICAgHCAcICAgICAcIBwgICAgIBwgHCAgICAgJCQoKCQkKCgwMDQsMDA0LCQkKCgkJCgoMDAsNDAwLDQwMDQ0MDAsLDAkNCgkMCgsMDAsLDAwNDQwJCwoJDAoNCQkKCgkJCgoMDA0LDAwNCwkJCgoJCQoKDAwLDQwMCw0MDA0NDAwLCwwJDQoJDAoLDAwLCwwMDQ0MCQsKCQwKDQoKCgoKCgoKDQsNCw0LDQsKCgkJCgoJCQ0LDAwNCwwMDQ0NDQsLCwsNCg0KCgsKCw0NDAwLCwwMDQoMCQoLCQwKCgkJCgoJCQsNDAwLDQwMCgoKCgoKCgoLDQsNCw0LDQsLDAwNDQwMCwoMCQoNCQwLCwsLDQ0NDQsKCwoKDQoN"),r(f,24633,"AQABAAEAAQAAAQEAAAEBAAEAAQABAAEAAAAAAQEBAQAAAAAAAQABAAAAAAEBAQEAAAABAAEBAQ=="),r(f,24697,"AQABAAEAAQAAAQEAAAEBAAEAAQABAAEAAAAAAQEBAQAAAAAAAQABAAAAAAEBAQEAAAABAAEBAQ=="),r(f,24761,"AQABAAEAAQ=="),r(f,24777,"AQABAAEAAQAAAAABAQEBAAAAAAABAAEAAAAAAQEBAQAAAAAAAQABAQEAAAEBAAAAAQABAAEAAQEBAQEBAQEBAAEAAQABAAEAAAAAAQEBAQABAAABAQABAAAAAAEBAQEAAQABAQEBAQIAAAAEAAAABAAAAAgAAACQ/wAADAAAABkAAABS/wAAFAAAABoAAABT/wAAFAAAABsAAABe/wAAFAAAABwAAABc/wAAFAAAAB0AAABd/wAAFAAAAB4AAABf/wAAFAAAAB8AAABR/wAAAgAAACAAAABV/wAABAAAACEAAABX/wAABAAAACIAAABY/wAAEAAAACMAAABg/wAABAAAACQAAABh/wAAEAAAACUAAACR/w=="),r(f,25064,"Y/8AAAQAAAAmAAAAZP8AABQAAAAnAAAAdP8AABQAAAAoAAAAeP8AAAQAAAApAAAAUP8AAAQAAAAqAAAAWf8AAAQAAAArAAAAdf8AABQAAAAsAAAAd/8AABQAAAAtAAAAAAAAABQ="),r(f,25184,"ICBQai8AAABweXRmMAAAAGgycGox"),r(f,25216,"cmRoaTIAAABybG9jMwAAAGNjcGI0AAAAcmxjcDUAAABwYW1jNgAAAGZlZGM3AAAAOGUAAMhl"),r(f,25280,"GQALABkZGQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAAZAAoKGRkZAwoHAAEACQsYAAAJBgsAAAsABhkAAAAZGRk="),r(f,25361,"DgAAAAAAAAAAGQALDRkZGQANAAACAAkOAAAACQAOAAAO"),r(f,25419,"DA=="),r(f,25431,"EwAAAAATAAAAAAkMAAAAAAAMAAAM"),r(f,25477,"EA=="),r(f,25489,"DwAAAAQPAAAAAAkQAAAAAAAQAAAQ"),r(f,25535,"Eg=="),r(f,25547,"EQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoa"),r(f,25602,"GgAAABoaGgAAAAAAAAk="),r(f,25651,"FA=="),r(f,25663,"FwAAAAAXAAAAAAkUAAAAAAAUAAAU"),r(f,25709,"Fg=="),r(f,25721,"FQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVG"),r(f,25796,"ZA=="),r(f,25836,"//////////8="),r(f,25905,"IAAAAAAAAAU="),r(f,25924,"Xw=="),r(f,25948,"YAAAAGEAAAAwZw=="),r(f,25972,"Ag=="),r(f,25988,"//////////8="),r(f,26056,"BQ=="),r(f,26068,"Yg=="),r(f,26092,"YAAAAGMAAAA4ZwAAAAQ="),r(f,26116,"AQ=="),r(f,26132,"/////wo="),r(f,26200,"mGYAAGBvAQ==");var Ge=[null,function(A,f){},function(A,f,e){return 0},function(A,f,e){return X=-1,-1},jf,jf,AA,function(A,f,e,i){return f|=0,e|=0,Sf(A|=0,i|=0)&&(a[A+48>>2]=0,a[A+36>>2]=a[A+32>>2],0|Ge[a[A+28>>2]](f,e,a[A>>2]))?(a[A+56>>2]=f,a[A+60>>2]=e,1):(a[A+68>>2]=8|a[A+68>>2],0)},function(A,f,e,i){f|=0,e|=0,i|=0;var r=0,b=0,B=0,l=0,g=0,o=0,c=0;if((r=a[(A|=0)+48>>2])>>>0>=f>>>0)return a[A+48>>2]=r-f,a[A+36>>2]=a[A+36>>2]+f,b=e+a[A+60>>2]|0,b=(i=f+a[A+56>>2]|0)>>>0<f>>>0?b+1|0:b,a[A+56>>2]=i,a[A+60>>2]=b,X=e,0|f;if(4&k[A+68|0])return a[A+48>>2]=0,a[A+36>>2]=a[A+36>>2]+r,l=a[A+60>>2],f=(e=a[A+56>>2])+r|0,a[A+56>>2]=f,a[A+60>>2]=f>>>0<e>>>0?l+1|0:l,X=r?0:-1,0|(r||-1);for(r&&(a[A+48>>2]=0,a[A+36>>2]=a[A+32>>2],B=r,f=f-r|0);r=a[A+56>>2],g=a[A+60>>2],!(!f&(0|e)<=0|(0|e)<0);){if(b=e+l|0,b=g+((c=f+B|0)>>>0<B>>>0?b+1|0:b)|0,(0|(b=(g=r)>>>0>(r=r+c|0)>>>0?b+1|0:b))==(0|(o=a[A+12>>2]))&r>>>0>n[A+8>>2]|b>>>0>o>>>0)return d(i,4,15624,0),f=l+a[A+60>>2]|0,f=(e=B+a[A+56>>2]|0)>>>0<B>>>0?f+1|0:f,a[A+56>>2]=e,a[A+60>>2]=f,AA(A,i=a[A+8>>2],B=a[A+12>>2],A),a[A+68>>2]=4|a[A+68>>2],X=(A=(0|e)==(0|i)&(0|f)==(0|B))?-1:B-((e>>>0>i>>>0)+f|0)|0,0|(r=A?-1:i-e|0);if(b=0|Ge[a[A+24>>2]](f,e,a[A>>2]),g=r=X,-1==(b&r))return d(i,4,15624,0),a[A+68>>2]=4|a[A+68>>2],b=l+a[A+60>>2]|0,b=(f=B+a[A+56>>2]|0)>>>0<B>>>0?b+1|0:b,a[A+56>>2]=f,a[A+60>>2]=b,X=(A=!(B|l))?-1:l,0|(f=A?-1:B);l=l+g|0,l=(B=b+B|0)>>>0<b>>>0?l+1|0:l,r=f,f=f-b|0,e=e-((b>>>0>r>>>0)+g|0)|0}return f=l+g|0,f=(e=r+B|0)>>>0<r>>>0?f+1|0:f,a[A+56>>2]=e,a[A+60>>2]=f,X=l,0|B},function(A,f,e,i){f|=0,e|=0,i|=0;var r=0,b=0,B=0,l=0,g=0;r=-1,b=-1;A:{if(!(8&k[(A|=0)+68|0])){if(!Sf(A,i))break A;for(r=0,b=0;!!f&(0|e)>=0|(0|e)>0;){if(B=0|Ge[a[A+24>>2]](f,e,a[A>>2]),g=l=X,-1==(B&l))return d(i,4,15583,0),a[A+68>>2]=8|a[A+68>>2],f=b+a[A+60>>2]|0,f=(e=r+a[A+56>>2]|0)>>>0<r>>>0?f+1|0:f,a[A+56>>2]=e,a[A+60>>2]=f,X=(A=!(b|r))?-1:b,0|(f=A?-1:r);b=b+g|0,b=(r=r+B|0)>>>0<B>>>0?b+1|0:b,l=f,f=f-B|0,e=e-(g+(B>>>0>l>>>0)|0)|0}f=b+a[A+60>>2]|0,f=(e=r+a[A+56>>2]|0)>>>0<r>>>0?f+1|0:f,a[A+56>>2]=e,a[A+60>>2]=f}return X=b,0|r}return a[A+48>>2]=0,a[A+68>>2]=8|a[A+68>>2],X=-1,-1},function(A,f){for(f|=0,f=a[(A|=0)+28>>2];n[A+32>>2]>f>>>0;)Cf(A,a[A+24>>2]+(C(a[A+20>>2],f)<<2)|0),f=f+1|0;U(a[A>>2]),U(A)},function(A,f){f|=0;var e=0,i=0;for(f=a[(A|=0)+28>>2];(e=a[A+32>>2])>>>0>=(i=f+8|0)>>>0;)QA(A,a[A+24>>2]+(f<<2)|0,a[A+20>>2],8),f=i;f>>>0<e>>>0&&QA(A,a[A+24>>2]+(f<<2)|0,a[A+20>>2],e-f|0),U(a[A>>2]),U(A)},function(A,f){f|=0;var e,i,r,b,k,B,l,g=0,o=0,c=0,I=0,G=0,Z=0,u=0;for(e=(f=a[(A|=0)+36>>2])<<5,i=C(f,28),r=C(f,24),b=C(f,20),k=f<<4,B=C(f,12),l=f<<3,c=a[A+40>>2];(Z=Z+8|0)>>>0<=n[A+44>>2];){for(NA(A,c,a[A+36>>2],8),O(A),u=a[A+32>>2],I=0,g=0;(0|g)!=(0|u);)o=(g<<2)+c|0,G=a[A>>2]+(g<<5)|0,s[o>>2]=s[G>>2],s[o+(f<<2)>>2]=s[G+4>>2],s[o+l>>2]=s[G+8>>2],s[o+B>>2]=s[G+12>>2],g=g+1|0;for(;(0|I)!=(0|u);)g=(I<<2)+c|0,o=a[A>>2]+(I<<5)|0,s[g+k>>2]=s[o+16>>2],s[g+b>>2]=s[o+20>>2],s[g+r>>2]=s[o+24>>2],s[g+i>>2]=s[o+28>>2],I=I+1|0;c=c+e|0}U(a[A>>2]),U(A)},function(A,f){f|=0;var e=0,i=0,r=0,b=0,k=0;for(b=a[(A|=0)+40>>2];(k=k+8|0)>>>0<=n[A+44>>2];){for(SA(A,b,a[A+36>>2],8),O(A),f=0;n[A+32>>2]>f>>>0;)e=a[A>>2]+(f<<5)|0,r=a[e+28>>2],i=(C(a[A+36>>2],f)<<2)+b|0,a[i+24>>2]=a[e+24>>2],a[i+28>>2]=r,r=a[e+20>>2],a[i+16>>2]=a[e+16>>2],a[i+20>>2]=r,r=a[e+12>>2],a[i+8>>2]=a[e+8>>2],a[i+12>>2]=r,r=a[e+4>>2],a[i>>2]=a[e>>2],a[i+4>>2]=r,f=f+1|0;b=b+32|0}U(a[A>>2]),U(A)},function(A,f){A|=0,f|=0;var e,r,B=0,l=0,c=0,G=0,Q=0,t=0,W=0,w=0,V=0,Y=0,H=0,F=0,v=0,m=0,E=0,R=0,J=0,X=0,h=0,M=0,K=0,x=0,j=0,P=0,T=0,L=0,O=0,q=0,$=0,_=0,AA=0,iA=0,rA=0,bA=0,aA=0,kA=0,BA=0,oA=0,cA=0,IA=0,nA=0,sA=0,GA=0,uA=0,QA=0,tA=0,WA=0,wA=0,VA=0,YA=0,HA=0,FA=Z(0),vA=0,mA=0,EA=0;y=r=y-96|0,e=a[A+8>>2];A:{f:{e:{i:{r:if(a[A>>2])(B=a[e+60>>2])&&(U(B),a[e+60>>2]=0);else{if(B=N(G=C(a[e+16>>2]-a[e+8>>2]|0,a[e+20>>2]-a[e+12>>2]|0)<<2),a[e+60>>2]=B,!B){d(a[A+32>>2],1,8017,0),B=A+28|0;break i}if(!G)break r;g(B,0,G)}if(wA=a[A+16>>2],B=a[wA+28>>2]+C(a[wA+24>>2],152)|0,mA=a[B-152>>2],EA=a[B-144>>2],VA=a[A+20>>2],YA=a[A+12>>2],vA=a[A+4>>2],!a[a[A+28>>2]>>2])break A;B=A+28|0,v=(0|(G=a[f+4>>2]))>0?G:0,G=0;r:{for(;;){if((0|G)==(0|v))break r;if(Y=C(G,12),G=G+1|0,Y=a[f>>2]+Y|0,!a[Y>>2])break}Q=a[Y+4>>2]}if(!Q){if((Q=D(1,156))&&(a[Q+140>>2]=0),!Q){d(a[A+32>>2],1,6307,0);break i}G=0;r:{if(2147483647!=(0|(l=a[f+4>>2]))){for(v=(0|l)>0?l:0,Y=a[f>>2];;){if((0|G)!=(0|v)){if(c=Y+C(G,12)|0,a[c>>2]){G=G+1|0;continue}(v=a[c+8>>2])&&(Ge[0|v](a[c+4>>2]),Y=a[f>>2]),f=Y+C(G,12)|0,a[f+8>>2]=15,a[f+4>>2]=Q,f=1;break r}break}if(Y=p(Y,C(l,12)+12|0)){a[f>>2]=Y,G=a[f+4>>2],Y=Y+C(G,12)|0,a[Y+8>>2]=15,a[Y+4>>2]=Q,a[Y>>2]=0,a[f+4>>2]=G+1,f=1;break r}}f=0}if(!f){d(a[A+32>>2],1,8332,0),of(Q);break i}}if(a[Q+144>>2]=a[A+24>>2],aA=a[A+40>>2],IA=a[A+36>>2],_=a[A+32>>2],l=a[VA+808>>2],f=a[YA+16>>2],64&(nA=a[VA+16>>2])){y=v=y-304|0;r:{b:{a:{k:{B:{l:{g:{o:{c:{if(l){if(!IA)break c;d(_,1,3213,0);break r}X=a[Q+116>>2],c=a[e+20>>2]-a[e+12>>2]|0,Y=a[e+16>>2]-a[e+8>>2]|0;I:{if((f=C(c,Y))>>>0>n[Q+132>>2]){if(U(X),X=N(G=f<<2),a[Q+116>>2]=X,!X)break b;a[Q+132>>2]=f}else{if(!X)break I;G=f<<2}G&&g(X,0,G)}if(f=a[Q+120>>2],n[Q+136>>2]<=2639&&(U(f),f=N(10560),a[Q+120>>2]=f,!f))break b;if(a[Q+136>>2]=2640,X=0,g(f,0,10560),a[Q+128>>2]=c,a[Q+124>>2]=Y,!(t=a[e+24>>2])){X=1;break r}for(cA=8&nA,f=a[e+52>>2],c=a[e+28>>2];(0|f)!=(0|X);)M=a[4+(a[e+4>>2]+(X<<3)|0)>>2]+M|0,X=X+1|0;I:{if(!(!a[Q+144>>2]&f>>>0<=1)){if(H=a[Q+148>>2],n[Q+152>>2]<M>>>0){if(!(H=p(H,M)))break b;a[Q+152>>2]=M,a[Q+148>>2]=H}else if(!H)break b;for(M=0,X=0;;){if(n[e+52>>2]<=X>>>0)break I;G=(Y=X<<3)+a[e+4>>2]|0,(f=a[G+4>>2])&&o(H+M|0,a[G>>2],f),X=X+1|0,M=a[4+(Y+a[e+4>>2]|0)>>2]+M|0}}if(X=1,1!=(0|f))break r;H=a[a[e+4>>2]>>2]}X=0,f=0,l=0,(Y=a[e+40>>2])&&(G=a[e>>2],f=a[G+8>>2],l=0,1!=(0|Y)&&(l=a[G+32>>2])),c=t-c|0,(f=f+l|0)?(X=1,Y=a[e>>2],R=a[Y>>2],G=0,1!=(0|f)?G=a[Y+24>>2]:X=0):G=0,V=c+1|0,E=a[Q+116>>2],j=a[Q+120>>2],l=a[e+12>>2],t=a[e+20>>2],c=a[e+8>>2],Y=a[e+16>>2];I:{if(!(!X|G)){if(!IA)break I;d(_,2,10800,0),f=1;break o}if(f>>>0<4)break o;if(IA){a[v+112>>2]=f,d(_,1,9584,v+112|0);break b}a[v+96>>2]=f,d(_,1,9584,v+96|0);break b}if(d(_,2,10800,0),(X=a[e+24>>2])>>>0>30)break g;if($=1,V>>>0<=X>>>0)break B;break a}d(_,1,3213,0);break r}if((X=a[e+24>>2])>>>0<=30)break l;if(IA){a[v+32>>2]=a[e+24>>2],d(_,1,12296,v+32|0);break b}}a[v>>2]=X,d(_,1,12296,v);break b}if(V>>>0>X>>>0)break k;if((0|V)!=(0|X)|f>>>0<2)$=f;else{if($=1,k[26224])break B;if(IA){k[26224]||(i[26224]=1,a[v+80>>2]=f,d(_,2,10293,v+80|0));break B}i[26224]=1,a[v+64>>2]=f,d(_,2,10293,v- -64|0)}}if(!(!(R>>>0<2|R>>>0>M>>>0)&G+R>>>0<=M>>>0)){if(IA){X=0,d(_,1,9526,0);break r}X=0,d(_,1,9526,0);break r}if(!(!((aA=(f=k[(F=H+R|0)-1|0])<<4|15&(W=k[F-2|0]))>>>0<2|255==(0|f))&(0|R)>=(0|aA))){if(IA){X=0,d(_,1,15299,0);break r}X=0,d(_,1,15299,0);break r}q=j+1584|0,AA=j+1056|0,tA=j+528|0,sA=t-l|0,P=Y-c|0,nA=V+1|0,bA=a[e+28>>2],a[v+272>>2]=0,a[v+280>>2]=0,a[v+264>>2]=0,a[v+268>>2]=0,a[v+296>>2]=0,a[v+300>>2]=0,a[v+284>>2]=0,a[v+288>>2]=0,M=F-aA|0,a[v+256>>2]=M,X=aA-1|0,a[v+276>>2]=X,V=4-(3&M)|0,c=0,t=0,f=0;B:{for(;;){if((0|f)==(0|V))break B;if(k[0|M]>143&&c)break;oA=8-c|0,c=m,x=31&oA,(63&oA)>>>0>=32?(w=c<<x,m=0):(w=(1<<x)-1&c>>>32-x|w<<x,m=c<<x),Y=(0|X)<=0?255:k[0|M],m|=Y=1==(0|X)?15|Y:Y,f=f+1|0,t=t+oA|0,M=((0|X)>0)+M|0,c=255==(0|Y),X=X-1|0}if(IA){X=0,d(_,1,11464,0);break r}X=0,d(_,1,11464,0);break r}for(a[v+280>>2]=c,a[v+256>>2]=M,a[v+276>>2]=X,l=aA-2|0,a[v+244>>2]=l,f=W>>>0>143,a[v+248>>2]=f,X=F-3|0,a[v+224>>2]=X,Y=W>>>4|0,W=0,V=Y,a[v+232>>2]=V,a[v+236>>2]=0,a[v+272>>2]=t,Y=m,t=31&(c=64-t|0),(63&c)>>>0>=32?(h=Y<<t,w=0):(h=(1<<t)-1&Y>>>32-t|w<<t,w=Y<<t),a[v+264>>2]=w,a[v+268>>2]=h,M=7&~V?4:3,a[v+240>>2]=M,w=l>>>0>(Y=1+(3&X)|0)>>>0?Y:l,c=0;(0|c)!=(0|w);)Y=k[0|X],m=1&f,c=c+1|0,X=X-1|0,f=Y>>>0>143,t=31&M,(63&M)>>>0>=32?(x=Y<<t,h=0):(x=(1<<t)-1&Y>>>32-t,h=Y<<t),V|=h,W|=x,M=(m?127&~Y?8:7:8)+M|0;if(a[v+248>>2]=f,a[v+240>>2]=M,a[v+232>>2]=V,a[v+236>>2]=W,a[v+224>>2]=X,a[v+244>>2]=l-w,ZA(v+224|0),If(v+192|0,H,R-aA|0,255),aA=0,!($>>>0<2)&&(If(v+160|0,F,G,0),aA=0,2!=(0|$))){for(a[v+152>>2]=1,M=0,a[v+144>>2]=0,V=0,W=0,a[v+136>>2]=0,a[v+140>>2]=0,a[v+148>>2]=G,l=(G+F|0)-1|0,a[v+128>>2]=l,w=1+(3&l)|0,c=1,X=0;(0|w)!=(0|X);)Y=G-1|0,a[v+148>>2]=Y,(0|G)<=0?m=0:(f=l-1|0,a[v+128>>2]=f,m=k[0|l],l=f),f=m>>>0>143,a[v+152>>2]=f,t=31&M,(63&M)>>>0>=32?(G=m<<t,h=0):(G=(1<<t)-1&m>>>32-t,h=m<<t),V|=h,W=G|=W,a[v+136>>2]=V,a[v+140>>2]=G,M=(1&c?127&~m?8:7:8)+M|0,a[v+144>>2]=M,X=X+1|0,c=f,G=Y;ZA(v+128|0),aA=1}for(i[j+2112|0]=0,kA=bA-1|0,Y=eA(v+256|0),t=0,c=E,H=0,f=oA=j+2112|0,G=j;;){if((0|t)>=(0|P)){GA=C(P,12),iA=P<<3,WA=3<<(f=bA-2|0),J=1<<f,HA=4+(P+7>>>1&2147483644)|0,V=2;B:for(;;){if(F=V,(0|V)<(0|sA)){for(K=k[j+2112|0],l=0,i[j+2112|0]=0,H=4&V?tA:j,V=V+2|0,uA=-17&uA^2,f=E+(C(F,P)<<2)|0,BA=0,c=oA;(0|l)<(0|P);){bA=255&K,G=k[c+1|0]>>>5&4|bA>>>7|BA,M=I[18688+(G<<8|(127&CA(v+224|0))<<1)>>1],G||(M=-1==(0|(G=Y-2|0))?M:0,Y=(0|Y)>1?G:eA(v+256|0)),w=a[v+232>>2],m=a[v+236>>2],G=a[v+240>>2],h=a[H>>2]|(M>>>4&3|M>>>2&48)<<uA,a[H>>2]=h,BA=(T=64&M)>>>5|(R=128&M)>>>6,W=(K=G)-(G=7&M)|0,x=m>>>G|0,m=((1<<G)-1&m)<<32-G|w>>>G,w=x,X=0,(0|P)>(2|l)&&(G=k[c+2|0]>>>5&4|k[c+1|0]>>>7|BA,X=I[18688+(G<<8|(127&m)<<1)>>1],G||(X=-1==(0|(G=Y-2|0))?X:0,Y=(0|Y)>1?G:eA(v+256|0)),BA=2&(X>>>5|X>>>6),W=W-(G=7&X)|0,w=(t=w)>>>G|0,m=((1<<G)-1&t)<<32-G|m>>>G),a[H>>2]=h|(X<<2&768|48&X)<<uA+4,G=1,t=1;l:{g:{o:switch(0|(K=X>>>2&2|M>>>3&1)){case 0:break l;case 3:break g;default:break o}x=1+((~(-1<<(O=(G=k[20788+(7&m)|0])>>>2&7))&m>>>(h=3&G))+(G>>>5|0)|0)|0,G=(t=1==(0|K))?1:x,t=t?x:1,K=h+O|0;break l}QA=k[20788+(7&m)|0],K=(x=(rA=k[20788+(7&(G=m>>>(t=3&QA)|0))|0])>>>2&7)+((h=QA>>>2&7)+(t+(O=3&rA)|0)|0)|0,t=1+(((G=G>>>O|0)&~(-1<<h))+(QA>>>5|0)|0)|0,G=1+((~(-1<<x)&G>>>h)+(rA>>>5|0)|0)|0}if(a[v+240>>2]=W-K,W=31&K,(63&K)>>>0>=32?(h=0,w=w>>>W|0):(h=w>>>W|0,w=((1<<W)-1&w)<<32-W|m>>>W),a[v+232>>2]=w,a[v+236>>2]=h,(W=240&M)-1&W&&(t=((w=(w=127&bA)>>>0>(m=127&k[c+1|0])>>>0?w:m)>>>0>=(m=w-2|0)>>>0?m:0)+t|0),(w=240&X)-1&w&&(h=G,m=127&k[c+1|0],G=h+((G=(G=127&k[c+2|0])>>>0<m>>>0?m:G)>>>0>2?G-2|0:0)|0),!(t>>>0<=nA>>>0&G>>>0<=nA>>>0)){if(IA){X=0,d(_,1,15850,0);break r}X=0,d(_,1,15850,0);break r}if(K=k[c+2|0],i[c+1|0]=0,i[c+2|0]=0,h=w|W>>>4,w=(0|(m=l+4|0))<=(0|P)?255:255>>>(m-P<<1)|0,h&(-1^(rA=(0|V)>(0|sA)?85&w:w))){if(IA){X=0,d(_,1,12188,0);break r}X=0,d(_,1,12188,0);break r}l:{if(16&M)W=z(v+192|0),bA=t-(M>>>12&1)|0,a[v+208>>2]=a[v+208>>2]-bA,x=a[v+204>>2],w=a[v+200>>2],O=31&bA,(63&bA)>>>0>=32?(h=0,w=x>>>O|0):(h=x>>>O|0,w=((1<<O)-1&x)<<32-O|w>>>O),a[v+200>>2]=w,a[v+204>>2]=h,W=2+(W&~(-1<<bA)|(M>>>8&1)<<bA|1)<<kA|W<<31;else if(W=0,!(1&rA))break l;a[f>>2]=W}32&M?(W=z(v+192|0),bA=t-(M>>>13&1)|0,a[v+208>>2]=a[v+208>>2]-bA,x=a[v+204>>2],w=a[v+200>>2],O=31&bA,(63&bA)>>>0>=32?(h=0,w=x>>>O|0):(h=x>>>O|0,w=((1<<O)-1&x)<<32-O|w>>>O),a[v+200>>2]=w,a[v+204>>2]=h,w=W&~(-1<<bA)|(M>>>9&1)<<bA|1,a[(P<<2)+f>>2]=w+2<<kA|W<<31,W=32-u(w)|0,w=127&k[0|c],i[0|c]=128|(W>>>0>w>>>0?W:w)):2&rA&&(a[(P<<2)+f>>2]=0),bA=f+4|0;l:{if(T)W=z(v+192|0),T=t-(M>>>14&1)|0,a[v+208>>2]=a[v+208>>2]-T,x=a[v+204>>2],w=a[v+200>>2],O=31&T,(63&T)>>>0>=32?(h=0,w=x>>>O|0):(h=x>>>O|0,w=((1<<O)-1&x)<<32-O|w>>>O),a[v+200>>2]=w,a[v+204>>2]=h,W=2+(W&~(-1<<T)|(M>>>10&1)<<T|1)<<kA|W<<31;else if(W=0,!(4&rA))break l;a[bA>>2]=W}R?(W=z(v+192|0),x=t-(M>>>15|0)|0,a[v+208>>2]=a[v+208>>2]-x,t=a[v+204>>2],w=a[v+200>>2],R=31&x,(63&x)>>>0>=32?(h=0,w=t>>>R|0):(h=t>>>R|0,w=((1<<R)-1&t)<<32-R|w>>>R),a[v+200>>2]=w,a[v+204>>2]=h,w=W&~(-1<<x)|(M>>>11&1)<<x|1,a[bA+(P<<2)>>2]=w+2<<kA|W<<31,i[c+1|0]=-96-u(w)):8&rA&&(a[bA+(P<<2)>>2]=0),x=f+8|0;l:{if(16&X)t=z(v+192|0),R=G-(X>>>12&1)|0,a[v+208>>2]=a[v+208>>2]-R,W=a[v+204>>2],w=a[v+200>>2],T=31&R,(63&R)>>>0>=32?(h=0,w=W>>>T|0):(h=W>>>T|0,w=((1<<T)-1&W)<<32-T|w>>>T),a[v+200>>2]=w,a[v+204>>2]=h,t=2+(t&~(-1<<R)|(X>>>8&1)<<R|1)<<kA|t<<31;else if(t=0,!(16&rA))break l;a[x>>2]=t}32&X?(t=z(v+192|0),R=G-(X>>>13&1)|0,a[v+208>>2]=a[v+208>>2]-R,W=a[v+204>>2],w=a[v+200>>2],T=31&R,(63&R)>>>0>=32?(h=0,w=W>>>T|0):(h=W>>>T|0,w=((1<<T)-1&W)<<32-T|w>>>T),a[v+200>>2]=w,a[v+204>>2]=h,w=t&~(-1<<R)|(X>>>9&1)<<R|1,a[x+(P<<2)>>2]=w+2<<kA|t<<31,t=32-u(w)|0,w=127&k[c+1|0],i[c+1|0]=128|(t>>>0>w>>>0?t:w)):32&rA&&(a[x+(P<<2)>>2]=0),x=f+12|0;l:{if(64&X)t=z(v+192|0),R=G-(X>>>14&1)|0,a[v+208>>2]=a[v+208>>2]-R,W=a[v+204>>2],w=a[v+200>>2],T=31&R,(63&R)>>>0>=32?(h=0,w=W>>>T|0):(h=W>>>T|0,w=((1<<T)-1&W)<<32-T|w>>>T),a[v+200>>2]=w,a[v+204>>2]=h,t=2+(t&~(-1<<R)|(X>>>10&1)<<R|1)<<kA|t<<31;else if(t=0,!(64&rA))break l;a[x>>2]=t}c=c+2|0,128&X?(w=z(v+192|0),W=G-(X>>>15|0)|0,a[v+208>>2]=a[v+208>>2]-W,t=a[v+204>>2],G=a[v+200>>2],R=31&W,(63&W)>>>0>=32?(h=0,G=t>>>R|0):(h=t>>>R|0,G=((1<<R)-1&t)<<32-R|G>>>R),a[v+200>>2]=G,a[v+204>>2]=h,G=w&~(-1<<W)|(X>>>11&1)<<W|1,a[x+(P<<2)>>2]=G+2<<kA|w<<31,i[0|c]=-96-u(G)):rA>>>0<128||(a[x+(P<<2)>>2]=0),uA^=16,H=(4&l)+H|0,f=f+16|0,l=m}if(!(2&F)|$>>>0<2)continue;l=4&V;l:if(aA)for(K=l?j:tA,G=E+(C(P,F-2|0)<<2)|0,H=0;;){if((0|H)>=(0|P))break l;X=CA(v+128|0);g:if(w=a[K>>2])for(M=G+(H<<2)|0,t=0,c=15;;){if(8==(0|t))break g;c&w&&((m=286331153&c)&w&&(a[M>>2]=J|a[M>>2]^(1&~X)<<kA,X=X>>>1|0),w&m<<1&&(a[(f=(P<<2)+M|0)>>2]=J|a[f>>2]^(1&~X)<<kA,X=X>>>1|0),w&m<<2&&(a[(f=M+iA|0)>>2]=J|a[f>>2]^(1&~X)<<kA,X=X>>>1|0),w&m<<3&&(a[(f=M+GA|0)>>2]=J|a[f>>2]^(1&~X)<<kA,X=X>>>1|0)),M=M+4|0,t=t+1|0,c<<=4}K=K+4|0,f=a[v+144>>2],m=se(w),a[v+144>>2]=f-m,c=a[v+140>>2],f=a[v+136>>2],w=31&m,(63&m)>>>0>=32?(h=0,f=c>>>w|0):(h=c>>>w|0,f=((1<<w)-1&c)<<32-w|f>>>w),a[v+136>>2]=f,a[v+140>>2]=h,H=H+8|0}for(X=0,M=R=l?j:tA,c=BA=l?AA:q,f=0;(0|f)<(0|P);)G=X>>>28|0,G=(X=a[M>>2])|G|X<<4|X>>>4,a[c>>2]=G,G|=a[M+4>>2]<<28,a[c>>2]=(G>>>1&2004318071|G<<1&-286331154|G)&~X,c=c+4|0,f=f+8|0,M=M+4|0;if(F>>>0<6)continue;for(H=0,f=x=l?tA:j,X=K=l?q:AA,t=R,c=0;(0|c)<(0|P);)G=t+4|0,w=a[X>>2],m=a[t>>2],cA||(w|=(m|m<<4|H>>>28|m>>>4|a[G>>2]<<28)<<3&-2004318072),a[X>>2]=(-1^a[f>>2])&w,f=f+4|0,X=X+4|0,c=c+8|0,t=G,H=m;for(bA=E+(C(P,F-6|0)<<2)|0,L=0,l=x;;){l:{if((0|P)>(0|L)){if(!(c=a[K>>2])){t=0;break l}for(T=P-L|0,F=bA+(L<<2)|0,t=0,W=0;;){if(W>>>0>7)break l;for(O=(0|P)>((m=W+4|0)+L|0)?m:T,X=z(v+160|0),QA=-1^a[l>>2],M=0,G=H=15<<(h=W<<2),f=W;(0|f)<(0|O);)c&G&&((rA=286331153&G)&c&&(1&X&&(t|=rA,c|=QA&50<<(f<<2)),M=M+1|0,X=X>>>1|0),(w=rA<<1)&c&&(1&X&&(t|=w,c|=QA&116<<(f<<2)),M=M+1|0,X=X>>>1|0),(w=rA<<2)&c&&(1&X&&(t|=w,c|=QA&232<<(f<<2)),M=M+1|0,X=X>>>1|0),(w=rA<<3)&c&&(1&X&&(t|=w,c|=QA&192<<(f<<2)),M=M+1|0,X=X>>>1|0)),G<<=4,f=f+1|0;g:if(t>>>h&65535)for(f=F+h|0,G=W;;){if((0|G)>=(0|O))break g;t&H&&((h=286331153&H)&t&&(a[f>>2]=WA|a[f>>2]|X<<31,M=M+1|0,X=X>>>1|0),h<<1&t&&(a[(w=(P<<2)+f|0)>>2]=WA|a[w>>2]|X<<31,M=M+1|0,X=X>>>1|0),h<<2&t&&(a[(w=f+iA|0)>>2]=WA|a[w>>2]|X<<31,M=M+1|0,X=X>>>1|0),h<<3&t&&(a[(w=f+GA|0)>>2]=WA|a[w>>2]|X<<31,M=M+1|0,X=X>>>1|0)),H<<=4,f=f+4|0,G=G+1|0}a[v+176>>2]=a[v+176>>2]-M,G=a[v+172>>2],f=a[v+168>>2],w=31&M,(63&M)>>>0>=32?(h=0,f=G>>>w|0):(h=G>>>w|0,f=((1<<w)-1&G)<<32-w|f>>>w),a[v+168>>2]=f,a[v+172>>2]=h,f=4!=(0|W),W=m,f||(a[K+4>>2]=a[K+4>>2]|(t>>>27&14|t>>>29|t>>>28)&~a[l+4>>2])}}if(!HA)continue B;g(x,0,HA);continue B}G=(c=(m=a[l>>2]|t)>>>3&286331153)>>>4|c<<4|c,L&&(a[(f=BA-4|0)>>2]=a[f>>2]|~a[R-4>>2]&c<<28),a[BA>>2]=a[BA>>2]|G&(-1^a[R>>2]),a[BA+4>>2]=a[BA+4>>2]|~a[R+4>>2]&m>>>31,K=K+4|0,l=l+4|0,L=L+8|0,BA=BA+4|0,R=R+4|0}}break}B:if(!($>>>0<2)){l:if(aA&(m=(3&sA)-1|0)>>>0<2)for(G=4&sA?tA:j,Y=E+(C(P,16777212&sA)<<2)|0,H=0;;){if((0|H)>=(0|P))break l;X=CA(v+128|0);g:if(l=a[G>>2])for(M=Y+(H<<2)|0,t=0,c=15;;){if(8==(0|t))break g;c&l&&((w=286331153&c)&l&&(a[M>>2]=J|a[M>>2]^(1&~X)<<kA,X=X>>>1|0),l&w<<1&&(a[(f=(P<<2)+M|0)>>2]=J|a[f>>2]^(1&~X)<<kA,X=X>>>1|0),l&w<<2&&(a[(f=M+iA|0)>>2]=J|a[f>>2]^(1&~X)<<kA,X=X>>>1|0),l&w<<3&&(a[(f=M+GA|0)>>2]=J|a[f>>2]^(1&~X)<<kA,X=X>>>1|0)),M=M+4|0,t=t+1|0,c<<=4}G=G+4|0,f=a[v+144>>2],c=se(l),a[v+144>>2]=f-c,w=a[v+140>>2],f=a[v+136>>2],t=31&c,(63&c)>>>0>=32?(h=0,f=w>>>t|0):(h=w>>>t|0,f=((1<<t)-1&w)<<32-t|f>>>t),a[v+136>>2]=f,a[v+140>>2]=h,H=H+8|0}l:if(!(m>>>0>1))for(M=(f=4&sA)?q:AA,c=f?tA:j,X=0,f=0;;){if((0|f)>=(0|P))break l;G=X>>>28|0,G=(X=a[c>>2])|G|X<<4|X>>>4,a[M>>2]=G,G|=a[c+4>>2]<<28,a[M>>2]=(G>>>1&2004318071|G<<1&-286331154|G)&~X,M=M+4|0,f=f+8|0,c=c+4|0}R=(0|sA)>6?(sA-(sA+1&3)|0)-3|0:0;l:for(;;){if((0|R)>=(0|sA))break B;g:{if((f=(G=sA-R|0)-1|0)>>>0>=3){if(uA=-1,(0|G)<5)break g;for(f=(G=4&R)?j:tA,X=G?q:AA,t=G?tA:j,H=0,c=0;;){if((0|c)>=(0|P))break g;G=f+4|0,m=a[X>>2],Y=a[f>>2],cA||(m|=(Y|Y<<4|H>>>28|Y>>>4|a[G>>2]<<28)<<3&-2004318072),a[X>>2]=m&(-1^a[t>>2]),t=t+4|0,X=X+4|0,c=c+8|0,f=G,H=Y}}uA=a[20796+(f<<2)>>2]}for(l=(f=4&R)?AA:q,L=f?j:tA,W=f?q:AA,T=f?tA:j,x=E+(C(R,P)<<2)|0,K=0;;){g:{if((0|K)<(0|P)){if(!(c=a[W>>2]&uA)){t=0;break g}for(oA=P-K|0,V=x+(K<<2)|0,t=0,m=0;;){if(m>>>0>7)break g;for(F=(0|P)>((Y=m+4|0)+K|0)?Y:oA,X=z(v+160|0),h=(-1^a[T>>2])&uA,M=0,G=H=15<<(aA=m<<2),f=m;(0|f)<(0|F);)c&G&&(($=286331153&G)&c&&(1&X&&(t|=$,c|=h&50<<(f<<2)),M=M+1|0,X=X>>>1|0),(w=$<<1)&c&&(1&X&&(t|=w,c|=h&116<<(f<<2)),M=M+1|0,X=X>>>1|0),(w=$<<2)&c&&(1&X&&(t|=w,c|=h&232<<(f<<2)),M=M+1|0,X=X>>>1|0),(w=$<<3)&c&&(1&X&&(t|=w,c|=h&192<<(f<<2)),M=M+1|0,X=X>>>1|0)),G<<=4,f=f+1|0;o:if(t>>>aA&65535)for(f=V+aA|0,G=m;;){if((0|G)>=(0|F))break o;t&H&&((aA=286331153&H)&t&&(a[f>>2]=WA|a[f>>2]|X<<31,M=M+1|0,X=X>>>1|0),aA<<1&t&&(a[(w=(P<<2)+f|0)>>2]=WA|a[w>>2]|X<<31,M=M+1|0,X=X>>>1|0),aA<<2&t&&(a[(w=f+iA|0)>>2]=WA|a[w>>2]|X<<31,M=M+1|0,X=X>>>1|0),aA<<3&t&&(a[(w=f+GA|0)>>2]=WA|a[w>>2]|X<<31,M=M+1|0,X=X>>>1|0)),H<<=4,f=f+4|0,G=G+1|0}a[v+176>>2]=a[v+176>>2]-M,G=a[v+172>>2],f=a[v+168>>2],w=31&M,(63&M)>>>0>=32?(h=0,f=G>>>w|0):(h=G>>>w|0,f=((1<<w)-1&G)<<32-w|f>>>w),a[v+168>>2]=f,a[v+172>>2]=h,f=4!=(0|m),m=Y,f||(a[W+4>>2]=a[W+4>>2]|(t>>>27&14|t>>>29|t>>>28)&~a[T+4>>2])}}R=R+4|0;continue l}G=(m=(Y=a[T>>2]|t)>>>3&286331153)>>>4|m<<4|m,K&&(a[(f=l-4|0)>>2]=a[f>>2]|~a[L-4>>2]&m<<28),a[l>>2]=a[l>>2]|G&(-1^a[L>>2]),a[l+4>>2]=a[l+4>>2]|~a[L+4>>2]&Y>>>31,W=W+4|0,T=T+4|0,K=K+8|0,l=l+4|0,L=L+4|0}}}for(m=(0|sA)>0?sA:0,Y=(0|P)>0?P:0,X=1,l=0;;){if((0|l)==(0|m))break r;for(M=E+(C(l,P)<<2)|0,c=0;(0|c)!=(0|Y);)f=2147483647&(G=a[M>>2]),a[M>>2]=(0|G)<0?0-f|0:f,M=M+4|0,c=c+1|0;l=l+1|0}}M=I[16640+(H<<8|(127&CA(v+224|0))<<1)>>1],H||(M=-1==(0|(m=Y-2|0))?M:0,Y=(0|Y)>1?m:eA(v+256|0)),l=a[v+232>>2],w=a[v+236>>2],m=a[v+240>>2],T=M>>>4|0,W=a[G>>2]|(3&T|M>>>2&48)<<uA,a[G>>2]=W,H=M>>>5&7|(F=16&M)>>>4,BA=(V=m)-(m=7&M)|0,h=w>>>m|0,m=((1<<m)-1&w)<<32-m|l>>>m,w=h,V=m,X=0,(0|P)>(2|t)&&(X=I[16640+(H<<8|(127&V)<<1)>>1],H||(X=-1==(0|(l=Y-2|0))?X:0,Y=(0|Y)>1?l:eA(v+256|0)),BA=BA-(l=7&X)|0,H=X>>>4&1|X>>>5&7,V=w,w=w>>>l|0,V=m=((1<<l)-1&V)<<32-l|m>>>l),a[G>>2]=W|(X<<2&768|48&X)<<uA+4,K=1,R=1;B:{l:{g:{o:switch(0|(l=X>>>2&2|M>>>3&1)){case 0:break B;case 3:break o;default:break g}if(W=(0|Y)>1,Y=l=Y-2|0,W||(Y=eA(v+256|0)),rA=(h=V)>>>(V=3&(O=k[20788+(7&V)|0]))|0,-1!=(0|l)){if(R=1+(O>>>5|0)|0,3==(0|V)){R=R+(~(-1<<(l=O>>>2&7))&rA>>>1)|0,K=1&rA|2,l=l+4|0;break l}l=((K=(h=O>>>2&7)+V|0)+(V=3&(x=k[20788+(7&rA)|0]))|0)+(W=x>>>2&7)|0,R=R+((V=rA>>>V|0)&~(-1<<h))|0,K=1+((~(-1<<W)&V>>>h)+(x>>>5|0)|0)|0;break l}l=((K=(h=O>>>2&7)+V|0)+(V=3&(x=k[20788+(7&rA)|0]))|0)+(W=x>>>2&7)|0,R=3+(((V=rA>>>V|0)&~(-1<<h))+(O>>>5|0)|0)|0,K=3+((~(-1<<W)&V>>>h)+(x>>>5|0)|0)|0;break l}V=1+((h=(W=k[20788+(7&V)|0])>>>5|0)+(~(-1<<(x=W>>>2&7))&V>>>(W&=3))|0)|0,K=(l=1==(0|l))?1:V,R=l?V:1,l=W+x|0}if(!(R>>>0<=nA>>>0&K>>>0<=nA>>>0)){if(IA){X=0,d(_,1,15750,0);break r}X=0,d(_,1,15750,0);break r}}if(a[v+240>>2]=BA-l,V=31&l,(63&l)>>>0>=32?(x=0,w=w>>>V|0):(x=w>>>V|0,w=((1<<V)-1&w)<<32-V|m>>>V),a[v+232>>2]=w,a[v+236>>2]=x,m=(0|(w=t+4|0))<=(0|P)?255:255>>>(w-P<<1)|0,(V=240&X|15&T)&(-1^(T=(0|sA)>1?m:85&m))){if(IA){X=0,d(_,1,12188,0);break r}X=0,d(_,1,12188,0);break r}B:{if(F)l=z(v+192|0),W=R-(M>>>12&1)|0,a[v+208>>2]=a[v+208>>2]-W,V=a[v+204>>2],m=a[v+200>>2],F=31&W,(63&W)>>>0>=32?(x=0,m=V>>>F|0):(x=V>>>F|0,m=((1<<F)-1&V)<<32-F|m>>>F),a[v+200>>2]=m,a[v+204>>2]=x,BA=2+(l&~(-1<<W)|(M>>>8&1)<<W|1)<<kA|l<<31;else if(BA=0,!(1&T))break B;a[c>>2]=BA}32&M?(l=z(v+192|0),W=R-(M>>>13&1)|0,a[v+208>>2]=a[v+208>>2]-W,V=a[v+204>>2],m=a[v+200>>2],F=31&W,(63&W)>>>0>=32?(x=0,m=V>>>F|0):(x=V>>>F|0,m=((1<<F)-1&V)<<32-F|m>>>F),a[v+200>>2]=m,a[v+204>>2]=x,m=l&~(-1<<W)|(M>>>9&1)<<W|1,a[(P<<2)+c>>2]=m+2<<kA|l<<31,l=32-u(m)|0,m=127&k[0|f],i[0|f]=128|(l>>>0>m>>>0?l:m)):2&T&&(a[(P<<2)+c>>2]=0),W=c+4|0;B:{if(64&M)l=z(v+192|0),F=R-(M>>>14&1)|0,a[v+208>>2]=a[v+208>>2]-F,V=a[v+204>>2],m=a[v+200>>2],h=31&F,(63&F)>>>0>=32?(x=0,m=V>>>h|0):(x=V>>>h|0,m=((1<<h)-1&V)<<32-h|m>>>h),a[v+200>>2]=m,a[v+204>>2]=x,m=2+(l&~(-1<<F)|(M>>>10&1)<<F|1)<<kA|l<<31;else if(m=0,!(4&T))break B;a[W>>2]=m}i[f+1|0]=0,128&M?(l=z(v+192|0),F=R-(M>>>15|0)|0,a[v+208>>2]=a[v+208>>2]-F,V=a[v+204>>2],m=a[v+200>>2],h=31&F,(63&F)>>>0>=32?(x=0,m=V>>>h|0):(x=V>>>h|0,m=((1<<h)-1&V)<<32-h|m>>>h),a[v+200>>2]=m,a[v+204>>2]=x,m=l&~(-1<<F)|(M>>>11&1)<<F|1,a[W+(P<<2)>>2]=m+2<<kA|l<<31,i[f+1|0]=-96-u(m)):8&T&&(a[W+(P<<2)>>2]=0),W=c+8|0;B:{if(16&X)l=z(v+192|0),F=K-(X>>>12&1)|0,a[v+208>>2]=a[v+208>>2]-F,V=a[v+204>>2],m=a[v+200>>2],h=31&F,(63&F)>>>0>=32?(x=0,m=V>>>h|0):(x=V>>>h|0,m=((1<<h)-1&V)<<32-h|m>>>h),a[v+200>>2]=m,a[v+204>>2]=x,R=2+(l&~(-1<<F)|(X>>>8&1)<<F|1)<<kA|l<<31;else if(R=0,!(16&T))break B;a[W>>2]=R}32&X?(l=z(v+192|0),F=K-(X>>>13&1)|0,a[v+208>>2]=a[v+208>>2]-F,V=a[v+204>>2],m=a[v+200>>2],h=31&F,(63&F)>>>0>=32?(x=0,m=V>>>h|0):(x=V>>>h|0,m=((1<<h)-1&V)<<32-h|m>>>h),a[v+200>>2]=m,a[v+204>>2]=x,m=l&~(-1<<F)|(X>>>9&1)<<F|1,a[W+(P<<2)>>2]=m+2<<kA|l<<31,l=32-u(m)|0,m=127&k[f+1|0],i[f+1|0]=128|(l>>>0>m>>>0?l:m)):32&T&&(a[W+(P<<2)>>2]=0),W=c+12|0;B:{if(64&X)l=z(v+192|0),F=K-(X>>>14&1)|0,a[v+208>>2]=a[v+208>>2]-F,V=a[v+204>>2],m=a[v+200>>2],h=31&F,(63&F)>>>0>=32?(x=0,m=V>>>h|0):(x=V>>>h|0,m=((1<<h)-1&V)<<32-h|m>>>h),a[v+200>>2]=m,a[v+204>>2]=x,R=2+(l&~(-1<<F)|(X>>>10&1)<<F|1)<<kA|l<<31;else if(R=0,!(64&T))break B;a[W>>2]=R}i[0|(f=f+2|0)]=0,128&X?(l=z(v+192|0),F=K-(X>>>15|0)|0,a[v+208>>2]=a[v+208>>2]-F,V=a[v+204>>2],m=a[v+200>>2],h=31&F,(63&F)>>>0>=32?(x=0,m=V>>>h|0):(x=V>>>h|0,m=((1<<h)-1&V)<<32-h|m>>>h),a[v+200>>2]=m,a[v+204>>2]=x,m=l&~(-1<<F)|(X>>>11&1)<<F|1,a[W+(P<<2)>>2]=m+2<<kA|l<<31,i[0|f]=-96-u(m)):T>>>0<128||(a[W+(P<<2)>>2]=0),uA^=16,G=(4&t)+G|0,c=c+16|0,t=w}}if(IA){a[v+52>>2]=a[e+24>>2],a[v+48>>2]=V,d(_,1,9680,v+48|0);break b}}a[v+20>>2]=X,a[v+16>>2]=V,d(_,1,9680,v+16|0)}X=0}if(y=v+304|0,X)break f}else{a[Q+108>>2]=22320+(f<<9),f=a[Q+116>>2];r:{b:{c=a[e+16>>2]-a[e+8>>2]|0,w=a[e+20>>2]-a[e+12>>2]|0;a:{if((G=C(c,w))>>>0>n[Q+132>>2]){if(U(f),f=N(G<<2),a[Q+116>>2]=f,!f)break b;a[Q+132>>2]=G}else if(!f)break a;(G<<=2)&&g(f,0,G)}if(G=a[Q+120>>2],(f=C(V=c+2|0,(m=w+3>>>2|0)+2|0))>>>0<=n[Q+136>>2])$=f<<2;else if(U(G),G=N($=f<<2),a[Q+120>>2]=G,!G)break b;for(a[Q+136>>2]=f,f=0,$&&g(G,0,$),G=v=a[Q+120>>2];(0|f)!=(0|V);)a[G>>2]=1226833920,f=f+1|0,G=G+4|0;for(G=v+(C(V,m+1|0)<<2)|0,f=0;(0|f)!=(0|V);)a[G>>2]=1226833920,f=f+1|0,G=G+4|0;a:if(f=3&w)for(Y=1==(0|f)?1224736768:2==(0|f)?1207959552:1073741824,G=v+(C(V,m)<<2)|0,f=0;;){if((0|f)==(0|V))break a;a[G>>2]=Y,f=f+1|0,G=G+4|0}a[Q+128>>2]=w,a[Q+124>>2]=c,f=1;break r}f=0}if(f){r:{if((0|($=l+a[e+28>>2]|0))>=31){if(!IA)break r;a[r+16>>2]=$,d(_,2,8710,r+16|0);break i}if(cf(Q),fA(Q,18,46),fA(Q,17,3),fA(Q,0,4),a[e+64>>2])break f;b:{if(!((G=a[e+52>>2])>>>0<=1&(!a[Q+144>>2]|1!=(0|G)))){for(f=0;(0|G)!=(0|t);)f=a[4+(a[e+4>>2]+(t<<3)|0)>>2]+f|0,t=t+1|0;if((Y=f+2|0)>>>0>n[Q+152>>2]){if(!(G=p(a[Q+148>>2],Y)))break i;a[Q+148>>2]=G,i[0|(f=f+G|0)]=0,i[f+1|0]=0,a[Q+152>>2]=Y}for(HA=a[Q+148>>2],t=0,f=0;;){if(n[e+52>>2]<=t>>>0)break b;G=(Y=t<<3)+a[e+4>>2]|0,(B=a[G+4>>2])&&o(f+HA|0,a[G>>2],B),t=t+1|0,f=a[4+(Y+a[e+4>>2]|0)>>2]+f|0}}if(1!=(0|G))break f;HA=a[a[e+4>>2]>>2]}(f=a[e+60>>2])&&(x=a[Q+116>>2],a[Q+116>>2]=f),O=8&nA,GA=Q+28|0,oA=!(2&nA),M=2;b:for(;;){if(n[e+44>>2]<=BA>>>0)break e;if(Y=bA+HA|0,T=a[e>>2]+C(BA,24)|0,B=a[T>>2],QA=nA&M>>>0<2&(a[e+28>>2]-4|0)>=(0|$))a[Q+20>>2]=Y,f=B+Y|0,a[Q+24>>2]=f,b[Q+112>>1]=k[0|f]|k[f+1|0]<<8,i[0|f]=255,i[a[Q+24>>2]+1|0]=255,a[Q+8>>2]=0,a[Q>>2]=0,a[Q+16>>2]=Y;else{a[Q+20>>2]=Y,f=B+Y|0,a[Q+24>>2]=f,b[Q+112>>1]=k[0|f]|k[f+1|0]<<8,i[0|f]=255,i[a[Q+24>>2]+1|0]=255,a[Q+104>>2]=Q+28,a[Q+16>>2]=Y,a[Q+12>>2]=0,f=B?k[0|Y]<<16:16711680,a[Q>>2]=f,t=1,B=Y+1|0,G=k[Y+1|0];a:if(255!=k[0|Y])a[Q+16>>2]=B,f|=G<<8;else{if(G>>>0>=144){a[Q+12>>2]=1,f|=65280;break a}a[Q+16>>2]=B,t=0,f=f+(G<<9)|0}a[Q+8>>2]=t,a[Q+4>>2]=32768,a[Q>>2]=f<<7}for(X=oA|QA,bA=a[T>>2]+bA|0,rA=0;;){a:{k:{if(!((0|$)<=0|n[T+8>>2]<=rA>>>0)){B:switch(M-1|0){default:if(QA){for(l=(f=1<<$)>>>1|f,w=a[Q+124>>2],v=C(w,12),Y=w<<3,t=12+((G=w<<2)+a[Q+120>>2]|0)|0,f=a[Q+116>>2],c=0;(-4&(H=a[Q+128>>2]))>>>0>c>>>0;){for(B=0;(0|B)!=(0|w);)a[t>>2]&&(gA(Q,t,f,l,O,0),gA(Q,t,f+G|0,l,0,1),gA(Q,t,f+Y|0,l,0,2),gA(Q,t,f+v|0,l,0,3)),f=f+4|0,t=t+4|0,B=B+1|0;f=f+v|0,t=t+8|0,c=c+4|0}if(m=0,c>>>0>=H>>>0)break a;for(;;){if(B=0,(0|w)==(0|m))break a;for(;H-c>>>0>B>>>0;)gA(Q,t,(C(B,w)<<2)+f|0,l,O,B),B=B+1|0,H=a[Q+128>>2];f=f+4|0,t=t+4|0,m=m+1|0}}J=0;l:{g:{o:{if(!(64!=(0|(iA=a[Q+124>>2]))|64!=a[Q+128>>2])){if(v=0-(w=(f=1<<$)>>>1|f)|0,j=Q+28|0,c=a[Q+120>>2]+268|0,t=a[Q+8>>2],f=a[Q+4>>2],G=a[Q>>2],H=a[Q+104>>2],m=a[Q+116>>2],8&nA)break o;for(;;){if(R=0,J>>>0>63)break g;for(;64!=(0|R);){if(Y=a[c>>2]){if(!(2097168&Y)&&(B=495&Y)){if(H=j+(k[B+a[Q+108>>2]|0]<<2)|0,W=a[H>>2],f=f-(B=a[W>>2])|0,G>>>16>>>0<B>>>0){for(V=a[W+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[W+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?V:!V}else if(G=G-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[W+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(l=S(Y,a[(F=c-4|0)>>2],a[c+4>>2],0),H=j+(k[l+24368|0]<<2)|0,E=a[H>>2],f=f-(B=a[E>>2])|0,V=k[l+24624|0],G>>>16>>>0<B>>>0){for(W=a[E+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[E+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,E=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,l=l?W:!W}else if(G=G-(B<<16)|0,32768&f)l=a[E+4>>2];else{for(W=a[E+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[E+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,E=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}l=B?!W:W}a[m>>2]=(0|V)==(0|l)?w:v,a[F>>2]=32|a[F>>2],a[c+4>>2]=8|a[c+4>>2],a[(B=c-268|0)>>2]=131072|a[B>>2],a[(B=c-260|0)>>2]=32768|a[B>>2],h=B=c-264|0,K=a[B>>2],B=l^V,a[h>>2]=K|B<<31|65536,Y=B<<19|Y|16}Y|=2097152}if(!(!(3960&Y)|16777344&Y)){if(H=j+(k[a[Q+108>>2]+(Y>>>3&495)|0]<<2)|0,W=a[H>>2],f=f-(B=a[W>>2])|0,G>>>16>>>0<B>>>0){for(V=a[W+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[W+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?V:!V}else if(G=G-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[W+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(l=S(Y,a[(F=c-4|0)>>2],a[c+4>>2],1),H=j+(k[l+24368|0]<<2)|0,E=a[H>>2],f=f-(B=a[E>>2])|0,V=k[l+24624|0],G>>>16>>>0<B>>>0){for(W=a[E+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[E+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,E=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?W:!W}else if(G=G-(B<<16)|0,32768&f)B=a[E+4>>2];else{for(W=a[E+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[E+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,E=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!W:W}a[m+256>>2]=(0|V)==(0|B)?w:v,a[F>>2]=256|a[F>>2],a[c+4>>2]=64|a[c+4>>2],Y=(B^V)<<22|Y|128}Y|=16777216}if(!(!(31680&Y)|134218752&Y)){if(H=j+(k[a[Q+108>>2]+(Y>>>6&495)|0]<<2)|0,W=a[H>>2],f=f-(B=a[W>>2])|0,G>>>16>>>0<B>>>0){for(V=a[W+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[W+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?V:!V}else if(G=G-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[W+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(l=S(Y,a[(F=c-4|0)>>2],a[c+4>>2],2),H=j+(k[l+24368|0]<<2)|0,E=a[H>>2],f=f-(B=a[E>>2])|0,V=k[l+24624|0],G>>>16>>>0<B>>>0){for(W=a[E+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[E+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,E=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?W:!W}else if(G=G-(B<<16)|0,32768&f)B=a[E+4>>2];else{for(W=a[E+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[E+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,E=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!W:W}a[m+512>>2]=(0|V)==(0|B)?w:v,a[F>>2]=2048|a[F>>2],a[c+4>>2]=512|a[c+4>>2],Y=(B^V)<<25|Y|1024}Y|=134217728}if(!(!(253440&Y)|1073750016&Y)){if(H=j+(k[a[Q+108>>2]+(Y>>>9&495)|0]<<2)|0,W=a[H>>2],f=f-(B=a[W>>2])|0,G>>>16>>>0<B>>>0){for(V=a[W+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[W+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?V:!V}else if(G=G-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[W+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(l=S(Y,a[(F=c-4|0)>>2],a[c+4>>2],3),H=j+(k[l+24368|0]<<2)|0,E=a[H>>2],f=f-(B=a[E>>2])|0,V=k[l+24624|0],G>>>16>>>0<B>>>0){for(W=a[E+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[E+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,E=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?W:!W}else if(G=G-(B<<16)|0,32768&f)B=a[E+4>>2];else{for(W=a[E+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[E+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,E=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!W:W}a[m+768>>2]=(0|V)==(0|B)?w:v,a[F>>2]=16384|a[F>>2],a[c+4>>2]=4096|a[c+4>>2],a[c+260>>2]=4|a[c+260>>2],a[c+268>>2]=1|a[c+268>>2],B^=V,a[c+264>>2]=a[c+264>>2]|B<<18|2,Y=B<<28|Y|8192}Y|=1073741824}a[c>>2]=Y}c=c+4|0,m=m+4|0,R=R+1|0}c=c+8|0,m=m+768|0,J=J+4|0}}if(v=0-(w=(f=1<<$)>>>1|f)|0,cA=C(iA,12),h=iA<<3,K=Q+28|0,c=12+((j=iA<<2)+a[Q+120>>2]|0)|0,t=a[Q+8>>2],f=a[Q+4>>2],G=a[Q>>2],H=a[Q+104>>2],m=a[Q+116>>2],!(8&nA)){for(;(-4&(Y=a[Q+128>>2]))>>>0>J>>>0;){for(L=0;(0|L)!=(0|iA);){if(Y=a[c>>2]){if(!(2097168&Y)&&(B=495&Y)){if(H=K+(k[B+a[Q+108>>2]|0]<<2)|0,W=a[H>>2],f=f-(B=a[W>>2])|0,G>>>16>>>0<B>>>0){for(V=a[W+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[W+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?V:!V}else if(G=G-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[W+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(l=S(Y,a[(F=c-4|0)>>2],a[c+4>>2],0),H=K+(k[l+24368|0]<<2)|0,E=a[H>>2],f=f-(B=a[E>>2])|0,V=k[l+24624|0],G>>>16>>>0<B>>>0){for(W=a[E+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[E+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,E=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,l=l?W:!W}else if(G=G-(B<<16)|0,32768&f)l=a[E+4>>2];else{for(W=a[E+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[E+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,E=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}l=B?!W:W}a[m>>2]=(0|V)==(0|l)?w:v,a[F>>2]=32|a[F>>2],a[c+4>>2]=8|a[c+4>>2],B=(-2-a[Q+124>>2]<<2)+c|0,a[B+4>>2]=32768|a[B+4>>2],l^=V,a[B>>2]=a[B>>2]|l<<31|65536,a[(B=B-4|0)>>2]=131072|a[B>>2],Y=l<<19|Y|16}Y|=2097152}if(!(!(3960&Y)|16777344&Y)){if(H=K+(k[a[Q+108>>2]+(Y>>>3&495)|0]<<2)|0,W=a[H>>2],f=f-(B=a[W>>2])|0,G>>>16>>>0<B>>>0){for(V=a[W+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[W+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?V:!V}else if(G=G-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[W+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(l=S(Y,a[(E=c-4|0)>>2],a[c+4>>2],1),H=K+(k[l+24368|0]<<2)|0,R=a[H>>2],f=f-(B=a[R>>2])|0,W=m+j|0,V=k[l+24624|0],G>>>16>>>0<B>>>0){for(F=a[R+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[R+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,R=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(R<<8)+G|0;else{if(R>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(R<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?F:!F}else if(G=G-(B<<16)|0,32768&f)B=a[R+4>>2];else{for(F=a[R+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[R+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,R=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(R<<8)+G|0;else{if(R>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(R<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!F:F}a[W>>2]=(0|V)==(0|B)?w:v,a[E>>2]=256|a[E>>2],a[c+4>>2]=64|a[c+4>>2],Y=(B^V)<<22|Y|128}Y|=16777216}if(!(!(31680&Y)|134218752&Y)){if(H=K+(k[a[Q+108>>2]+(Y>>>6&495)|0]<<2)|0,W=a[H>>2],f=f-(B=a[W>>2])|0,G>>>16>>>0<B>>>0){for(V=a[W+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[W+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?V:!V}else if(G=G-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[W+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(l=S(Y,a[(E=c-4|0)>>2],a[c+4>>2],2),H=K+(k[l+24368|0]<<2)|0,R=a[H>>2],f=f-(B=a[R>>2])|0,W=m+h|0,V=k[l+24624|0],G>>>16>>>0<B>>>0){for(F=a[R+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[R+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,R=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(R<<8)+G|0;else{if(R>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(R<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?F:!F}else if(G=G-(B<<16)|0,32768&f)B=a[R+4>>2];else{for(F=a[R+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[R+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,R=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(R<<8)+G|0;else{if(R>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(R<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!F:F}a[W>>2]=(0|V)==(0|B)?w:v,a[E>>2]=2048|a[E>>2],a[c+4>>2]=512|a[c+4>>2],Y=(B^V)<<25|Y|1024}Y|=134217728}if(!(!(253440&Y)|1073750016&Y)){if(H=K+(k[a[Q+108>>2]+(Y>>>9&495)|0]<<2)|0,W=a[H>>2],f=f-(B=a[W>>2])|0,G>>>16>>>0<B>>>0){for(V=a[W+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[W+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?V:!V}else if(G=G-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[W+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(l=S(Y,a[(E=c-4|0)>>2],a[c+4>>2],3),H=K+(k[l+24368|0]<<2)|0,R=a[H>>2],f=f-(B=a[R>>2])|0,W=m+cA|0,V=k[l+24624|0],G>>>16>>>0<B>>>0){for(F=a[R+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[R+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,R=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(R<<8)+G|0;else{if(R>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(R<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?F:!F}else if(G=G-(B<<16)|0,32768&f)B=a[R+4>>2];else{for(F=a[R+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[R+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,R=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(R<<8)+G|0;else{if(R>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(R<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!F:F}a[W>>2]=(0|V)==(0|B)?w:v,a[E>>2]=16384|a[E>>2],a[c+4>>2]=4096|a[c+4>>2],l=(a[Q+124>>2]<<2)+c|0,a[l+4>>2]=4|a[l+4>>2],a[l+12>>2]=1|a[l+12>>2],B^=V,a[l+8>>2]=a[l+8>>2]|B<<18|2,Y=B<<28|Y|8192}Y|=1073741824}a[c>>2]=Y}c=c+4|0,m=m+4|0,L=L+1|0}c=c+8|0,m=m+cA|0,J=J+4|0}if(a[Q+8>>2]=t,a[Q+4>>2]=f,a[Q>>2]=G,a[Q+104>>2]=H,Y>>>0<=J>>>0)break l;for(G=0;;){if(t=0,(0|G)==(0|iA))break l;for(;Y-J>>>0>t>>>0;)gf(Q,c,(C(t,iA)<<2)+m|0,w,t,a[Q+124>>2]+2|0,0),t=t+1|0,Y=a[Q+128>>2];c=c+4|0,m=m+4|0,G=G+1|0}}for(;(-4&(Y=a[Q+128>>2]))>>>0>J>>>0;){for(L=0;(0|L)!=(0|iA);){if(Y=a[c>>2]){if(!(2097168&Y)&&(B=495&Y)){if(H=K+(k[B+a[Q+108>>2]|0]<<2)|0,W=a[H>>2],f=f-(B=a[W>>2])|0,G>>>16>>>0<B>>>0){for(V=a[W+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[W+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?V:!V}else if(G=G-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[W+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(l=S(Y,a[(F=c-4|0)>>2],a[c+4>>2],0),H=K+(k[l+24368|0]<<2)|0,E=a[H>>2],f=f-(B=a[E>>2])|0,V=k[l+24624|0],G>>>16>>>0<B>>>0){for(W=a[E+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[E+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,E=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?W:!W}else if(G=G-(B<<16)|0,32768&f)B=a[E+4>>2];else{for(W=a[E+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[E+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,E=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!W:W}a[m>>2]=(0|V)==(0|B)?w:v,a[F>>2]=32|a[F>>2],a[c+4>>2]=8|a[c+4>>2],Y=(B^V)<<19|Y|16}Y|=2097152}if(!(!(3960&Y)|16777344&Y)){if(H=K+(k[a[Q+108>>2]+(Y>>>3&495)|0]<<2)|0,W=a[H>>2],f=f-(B=a[W>>2])|0,G>>>16>>>0<B>>>0){for(V=a[W+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[W+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?V:!V}else if(G=G-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[W+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(l=S(Y,a[(E=c-4|0)>>2],a[c+4>>2],1),H=K+(k[l+24368|0]<<2)|0,R=a[H>>2],f=f-(B=a[R>>2])|0,W=m+j|0,V=k[l+24624|0],G>>>16>>>0<B>>>0){for(F=a[R+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[R+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,R=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(R<<8)+G|0;else{if(R>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(R<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?F:!F}else if(G=G-(B<<16)|0,32768&f)B=a[R+4>>2];else{for(F=a[R+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[R+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,R=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(R<<8)+G|0;else{if(R>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(R<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!F:F}a[W>>2]=(0|V)==(0|B)?w:v,a[E>>2]=256|a[E>>2],a[c+4>>2]=64|a[c+4>>2],Y=(B^V)<<22|Y|128}Y|=16777216}if(!(!(31680&Y)|134218752&Y)){if(H=K+(k[a[Q+108>>2]+(Y>>>6&495)|0]<<2)|0,W=a[H>>2],f=f-(B=a[W>>2])|0,G>>>16>>>0<B>>>0){for(V=a[W+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[W+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?V:!V}else if(G=G-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[W+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(l=S(Y,a[(E=c-4|0)>>2],a[c+4>>2],2),H=K+(k[l+24368|0]<<2)|0,R=a[H>>2],f=f-(B=a[R>>2])|0,W=m+h|0,V=k[l+24624|0],G>>>16>>>0<B>>>0){for(F=a[R+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[R+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,R=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(R<<8)+G|0;else{if(R>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(R<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?F:!F}else if(G=G-(B<<16)|0,32768&f)B=a[R+4>>2];else{for(F=a[R+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[R+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,R=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(R<<8)+G|0;else{if(R>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(R<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!F:F}a[W>>2]=(0|V)==(0|B)?w:v,a[E>>2]=2048|a[E>>2],a[c+4>>2]=512|a[c+4>>2],Y=(B^V)<<25|Y|1024}Y|=134217728}if(!(!(253440&Y)|1073750016&Y)){if(H=K+(k[a[Q+108>>2]+(Y>>>9&495)|0]<<2)|0,W=a[H>>2],f=f-(B=a[W>>2])|0,G>>>16>>>0<B>>>0){for(V=a[W+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[W+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?V:!V}else if(G=G-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[W+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(l=S(Y,a[(E=c-4|0)>>2],a[c+4>>2],3),H=K+(k[l+24368|0]<<2)|0,R=a[H>>2],f=f-(B=a[R>>2])|0,W=m+cA|0,V=k[l+24624|0],G>>>16>>>0<B>>>0){for(F=a[R+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[R+(l?8:12)>>2];;){c:if(!t)if(f=(t=a[Q+16>>2])+1|0,R=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(R<<8)+G|0;else{if(R>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=f,G=(R<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?F:!F}else if(G=G-(B<<16)|0,32768&f)B=a[R+4>>2];else{for(F=a[R+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[R+(B?12:8)>>2];;){c:if(!t)if(t=(l=a[Q+16>>2])+1|0,R=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(R<<8)+G|0;else{if(R>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break c}a[Q+16>>2]=t,G=(R<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!F:F}a[W>>2]=(0|V)==(0|B)?w:v,a[E>>2]=16384|a[E>>2],a[c+4>>2]=4096|a[c+4>>2],l=(a[Q+124>>2]<<2)+c|0,a[l+4>>2]=4|a[l+4>>2],a[l+12>>2]=1|a[l+12>>2],B^=V,a[l+8>>2]=a[l+8>>2]|B<<18|2,Y=B<<28|Y|8192}Y|=1073741824}a[c>>2]=Y}c=c+4|0,m=m+4|0,L=L+1|0}c=c+8|0,m=m+cA|0,J=J+4|0}if(a[Q+8>>2]=t,a[Q+4>>2]=f,a[Q>>2]=G,a[Q+104>>2]=H,Y>>>0<=J>>>0)break l;for(G=0;;){if(t=0,(0|G)==(0|iA))break l;for(;Y-J>>>0>t>>>0;)gf(Q,c,(C(t,iA)<<2)+m|0,w,t,a[Q+124>>2]+2|0,1),t=t+1|0,Y=a[Q+128>>2];c=c+4|0,m=m+4|0,G=G+1|0}}for(;;){if(R=0,J>>>0>63)break g;for(;64!=(0|R);){if(Y=a[c>>2]){if(!(2097168&Y)&&(B=495&Y)){if(H=j+(k[B+a[Q+108>>2]|0]<<2)|0,W=a[H>>2],f=f-(B=a[W>>2])|0,G>>>16>>>0<B>>>0){for(V=a[W+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[W+(l?8:12)>>2];;){o:if(!t)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break o}a[Q+16>>2]=f,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?V:!V}else if(G=G-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[W+(B?12:8)>>2];;){o:if(!t)if(t=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break o}a[Q+16>>2]=t,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(l=S(Y,a[(F=c-4|0)>>2],a[c+4>>2],0),H=j+(k[l+24368|0]<<2)|0,E=a[H>>2],f=f-(B=a[E>>2])|0,V=k[l+24624|0],G>>>16>>>0<B>>>0){for(W=a[E+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[E+(l?8:12)>>2];;){o:if(!t)if(f=(t=a[Q+16>>2])+1|0,E=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break o}a[Q+16>>2]=f,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?W:!W}else if(G=G-(B<<16)|0,32768&f)B=a[E+4>>2];else{for(W=a[E+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[E+(B?12:8)>>2];;){o:if(!t)if(t=(l=a[Q+16>>2])+1|0,E=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break o}a[Q+16>>2]=t,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!W:W}a[m>>2]=(0|V)==(0|B)?w:v,a[F>>2]=32|a[F>>2],a[c+4>>2]=8|a[c+4>>2],Y=(B^V)<<19|Y|16}Y|=2097152}if(!(!(3960&Y)|16777344&Y)){if(H=j+(k[a[Q+108>>2]+(Y>>>3&495)|0]<<2)|0,W=a[H>>2],f=f-(B=a[W>>2])|0,G>>>16>>>0<B>>>0){for(V=a[W+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[W+(l?8:12)>>2];;){o:if(!t)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break o}a[Q+16>>2]=f,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?V:!V}else if(G=G-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[W+(B?12:8)>>2];;){o:if(!t)if(t=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break o}a[Q+16>>2]=t,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(l=S(Y,a[(F=c-4|0)>>2],a[c+4>>2],1),H=j+(k[l+24368|0]<<2)|0,E=a[H>>2],f=f-(B=a[E>>2])|0,V=k[l+24624|0],G>>>16>>>0<B>>>0){for(W=a[E+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[E+(l?8:12)>>2];;){o:if(!t)if(f=(t=a[Q+16>>2])+1|0,E=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break o}a[Q+16>>2]=f,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?W:!W}else if(G=G-(B<<16)|0,32768&f)B=a[E+4>>2];else{for(W=a[E+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[E+(B?12:8)>>2];;){o:if(!t)if(t=(l=a[Q+16>>2])+1|0,E=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break o}a[Q+16>>2]=t,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!W:W}a[m+256>>2]=(0|V)==(0|B)?w:v,a[F>>2]=256|a[F>>2],a[c+4>>2]=64|a[c+4>>2],Y=(B^V)<<22|Y|128}Y|=16777216}if(!(!(31680&Y)|134218752&Y)){if(H=j+(k[a[Q+108>>2]+(Y>>>6&495)|0]<<2)|0,W=a[H>>2],f=f-(B=a[W>>2])|0,G>>>16>>>0<B>>>0){for(V=a[W+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[W+(l?8:12)>>2];;){o:if(!t)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break o}a[Q+16>>2]=f,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?V:!V}else if(G=G-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[W+(B?12:8)>>2];;){o:if(!t)if(t=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break o}a[Q+16>>2]=t,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(l=S(Y,a[(F=c-4|0)>>2],a[c+4>>2],2),H=j+(k[l+24368|0]<<2)|0,E=a[H>>2],f=f-(B=a[E>>2])|0,V=k[l+24624|0],G>>>16>>>0<B>>>0){for(W=a[E+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[E+(l?8:12)>>2];;){o:if(!t)if(f=(t=a[Q+16>>2])+1|0,E=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break o}a[Q+16>>2]=f,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?W:!W}else if(G=G-(B<<16)|0,32768&f)B=a[E+4>>2];else{for(W=a[E+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[E+(B?12:8)>>2];;){o:if(!t)if(t=(l=a[Q+16>>2])+1|0,E=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break o}a[Q+16>>2]=t,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!W:W}a[m+512>>2]=(0|V)==(0|B)?w:v,a[F>>2]=2048|a[F>>2],a[c+4>>2]=512|a[c+4>>2],Y=(B^V)<<25|Y|1024}Y|=134217728}if(!(!(253440&Y)|1073750016&Y)){if(H=j+(k[a[Q+108>>2]+(Y>>>9&495)|0]<<2)|0,W=a[H>>2],f=f-(B=a[W>>2])|0,G>>>16>>>0<B>>>0){for(V=a[W+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[W+(l?8:12)>>2];;){o:if(!t)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break o}a[Q+16>>2]=f,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?V:!V}else if(G=G-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[W+(B?12:8)>>2];;){o:if(!t)if(t=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(W<<8)+G|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break o}a[Q+16>>2]=t,G=(W<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(l=S(Y,a[(F=c-4|0)>>2],a[c+4>>2],3),H=j+(k[l+24368|0]<<2)|0,E=a[H>>2],f=f-(B=a[E>>2])|0,V=k[l+24624|0],G>>>16>>>0<B>>>0){for(W=a[E+4>>2],l=f>>>0<B>>>0,a[H>>2]=a[E+(l?8:12)>>2];;){o:if(!t)if(f=(t=a[Q+16>>2])+1|0,E=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break o}a[Q+16>>2]=f,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((B<<=1)>>>0<32768))break}f=B,B=l?W:!W}else if(G=G-(B<<16)|0,32768&f)B=a[E+4>>2];else{for(W=a[E+4>>2],B=f>>>0<B>>>0,a[H>>2]=a[E+(B?12:8)>>2];;){o:if(!t)if(t=(l=a[Q+16>>2])+1|0,E=k[l+1|0],255!=k[0|l])a[Q+16>>2]=t,t=8,G=(E<<8)+G|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,G=G+65280|0,t=8;break o}a[Q+16>>2]=t,G=(E<<9)+G|0,t=7}if(t=t-1|0,G<<=1,!((f<<=1)>>>0<32768))break}B=B?!W:W}a[m+768>>2]=(0|V)==(0|B)?w:v,a[F>>2]=16384|a[F>>2],a[c+4>>2]=4096|a[c+4>>2],a[c+260>>2]=4|a[c+260>>2],a[c+268>>2]=1|a[c+268>>2],B^=V,a[c+264>>2]=a[c+264>>2]|B<<18|2,Y=B<<28|Y|8192}Y|=1073741824}a[c>>2]=Y}c=c+4|0,m=m+4|0,R=R+1|0}c=c+8|0,m=m+768|0,J=J+4|0}}a[Q+8>>2]=t,a[Q+4>>2]=f,a[Q>>2]=G,a[Q+104>>2]=H}break a;case 0:if(QA){for(l=a[Q+124>>2],v=C(l,12),Y=l<<3,w=1<<$>>>1|0,t=12+((G=l<<2)+a[Q+120>>2]|0)|0,f=a[Q+116>>2],c=0;(-4&(H=a[Q+128>>2]))>>>0>c>>>0;){for(B=0;(0|l)!=(0|B);)a[t>>2]&&(lA(Q,t,f,w,0),lA(Q,t,f+G|0,w,1),lA(Q,t,f+Y|0,w,2),lA(Q,t,f+v|0,w,3)),f=f+4|0,t=t+4|0,B=B+1|0;f=f+v|0,t=t+8|0,c=c+4|0}if(m=0,c>>>0>=H>>>0)break a;for(;;){if(B=0,(0|l)==(0|m))break a;for(;H-c>>>0>B>>>0;)lA(Q,t,(C(l,B)<<2)+f|0,w,B),B=B+1|0,H=a[Q+128>>2];f=f+4|0,t=t+4|0,m=m+1|0}}if(64!=(0|(R=a[Q+124>>2]))){t=a[Q+8>>2],B=a[Q+4>>2],f=a[Q>>2],c=a[Q+104>>2],G=a[Q+120>>2],H=a[Q+116>>2];break k}if(t=a[Q+8>>2],B=a[Q+4>>2],f=a[Q>>2],c=a[Q+104>>2],G=a[Q+120>>2],H=a[Q+116>>2],64!=a[Q+128>>2])break k;for(m=G+268|0,J=0,F=0-(E=1<<$>>>1|0)|0;J>>>0<=63;){for(l=0;64!=(0|l);){if(Y=a[m>>2]){if(16==(2097168&Y)){if(w=a[(c=GA+((1048576&Y?16:495&Y?15:14)<<2)|0)>>2],B=B-(G=a[w>>2])|0,f>>>16>>>0<G>>>0){for(V=a[w+4>>2],v=G>>>0>B>>>0,a[c>>2]=a[w+(v?8:12)>>2];;){l:if(!t)if(B=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=B,t=8,f=(W<<8)+f|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,f=f+65280|0,t=8;break l}a[Q+16>>2]=B,f=(W<<9)+f|0,t=7}if(t=t-1|0,f<<=1,!((G<<=1)>>>0<32768))break}B=G,v=v?V:!V}else if(f=f-(G<<16)|0,32768&B)v=a[w+4>>2];else{for(V=a[w+4>>2],G=G>>>0>B>>>0,a[c>>2]=a[w+(G?12:8)>>2];;){l:if(!t)if(v=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=v,t=8,f=(W<<8)+f|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,f=f+65280|0,t=8;break l}a[Q+16>>2]=v,f=(W<<9)+f|0,t=7}if(t=t-1|0,f<<=1,!((B<<=1)>>>0<32768))break}v=G?!V:V}G=a[H>>2],a[H>>2]=((0|v)==(G>>>31|0)?F:E)+G,Y|=1048576}if(128==(16777344&Y)){if(w=a[(c=GA+((8388608&Y?16:3960&Y?15:14)<<2)|0)>>2],B=B-(G=a[w>>2])|0,f>>>16>>>0<G>>>0){for(V=a[w+4>>2],v=G>>>0>B>>>0,a[c>>2]=a[w+(v?8:12)>>2];;){l:if(!t)if(B=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=B,t=8,f=(W<<8)+f|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,f=f+65280|0,t=8;break l}a[Q+16>>2]=B,f=(W<<9)+f|0,t=7}if(t=t-1|0,f<<=1,!((G<<=1)>>>0<32768))break}B=G,v=v?V:!V}else if(f=f-(G<<16)|0,32768&B)v=a[w+4>>2];else{for(V=a[w+4>>2],G=G>>>0>B>>>0,a[c>>2]=a[w+(G?12:8)>>2];;){l:if(!t)if(v=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=v,t=8,f=(W<<8)+f|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,f=f+65280|0,t=8;break l}a[Q+16>>2]=v,f=(W<<9)+f|0,t=7}if(t=t-1|0,f<<=1,!((B<<=1)>>>0<32768))break}v=G?!V:V}G=a[H+256>>2],a[H+256>>2]=((0|v)==(G>>>31|0)?F:E)+G,Y|=8388608}if(1024==(134218752&Y)){if(w=a[(c=GA+((67108864&Y?16:31680&Y?15:14)<<2)|0)>>2],B=B-(G=a[w>>2])|0,f>>>16>>>0<G>>>0){for(V=a[w+4>>2],v=G>>>0>B>>>0,a[c>>2]=a[w+(v?8:12)>>2];;){l:if(!t)if(B=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=B,t=8,f=(W<<8)+f|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,f=f+65280|0,t=8;break l}a[Q+16>>2]=B,f=(W<<9)+f|0,t=7}if(t=t-1|0,f<<=1,!((G<<=1)>>>0<32768))break}B=G,v=v?V:!V}else if(f=f-(G<<16)|0,32768&B)v=a[w+4>>2];else{for(V=a[w+4>>2],G=G>>>0>B>>>0,a[c>>2]=a[w+(G?12:8)>>2];;){l:if(!t)if(v=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=v,t=8,f=(W<<8)+f|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,f=f+65280|0,t=8;break l}a[Q+16>>2]=v,f=(W<<9)+f|0,t=7}if(t=t-1|0,f<<=1,!((B<<=1)>>>0<32768))break}v=G?!V:V}G=a[H+512>>2],a[H+512>>2]=((0|v)==(G>>>31|0)?F:E)+G,Y|=67108864}if(8192==(1073750016&Y)){if(w=a[(c=GA+((536870912&Y?16:253440&Y?15:14)<<2)|0)>>2],B=B-(G=a[w>>2])|0,f>>>16>>>0<G>>>0){for(V=a[w+4>>2],v=G>>>0>B>>>0,a[c>>2]=a[w+(v?8:12)>>2];;){l:if(!t)if(B=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=B,t=8,f=(W<<8)+f|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,f=f+65280|0,t=8;break l}a[Q+16>>2]=B,f=(W<<9)+f|0,t=7}if(t=t-1|0,f<<=1,!((G<<=1)>>>0<32768))break}B=G,v=v?V:!V}else if(f=f-(G<<16)|0,32768&B)v=a[w+4>>2];else{for(V=a[w+4>>2],G=G>>>0>B>>>0,a[c>>2]=a[w+(G?12:8)>>2];;){l:if(!t)if(v=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=v,t=8,f=(W<<8)+f|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,f=f+65280|0,t=8;break l}a[Q+16>>2]=v,f=(W<<9)+f|0,t=7}if(t=t-1|0,f<<=1,!((B<<=1)>>>0<32768))break}v=G?!V:V}G=a[H+768>>2],a[H+768>>2]=((0|v)==(G>>>31|0)?F:E)+G,Y|=536870912}a[m>>2]=Y}m=m+4|0,H=H+4|0,l=l+1|0}m=m+8|0,H=H+768|0,J=J+4|0}a[Q+8>>2]=t,a[Q+4>>2]=B,a[Q>>2]=f,a[Q+104>>2]=c;break a;case 1:break B}L=0;B:{l:{g:{if(!(64!=(0|(cA=a[Q+124>>2]))|64!=a[Q+128>>2])){if(j=0-(h=(f=1<<$)>>>1|f)|0,m=Q+100|0,v=Q+96|0,R=Q+28|0,J=a[Q+120>>2]+268|0,l=a[Q+8>>2],f=a[Q+4>>2],c=a[Q>>2],t=a[Q+104>>2],Y=a[Q+116>>2],8&nA)break g;for(;;){if(E=0,L>>>0>63)break l;for(;64!=(0|E);){o:{c:{if(G=a[J>>2]){if(!(2097168&G)){if(t=R+(k[a[Q+108>>2]+(495&G)|0]<<2)|0,W=a[t>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[t>>2]=a[W+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[t>>2]=a[W+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(V=S(G,a[(H=J-4|0)>>2],a[J+4>>2],0),t=R+(k[V+24368|0]<<2)|0,F=a[t>>2],f=f-(B=a[F>>2])|0,c>>>16>>>0<B>>>0){for(W=a[F+4>>2],w=f>>>0<B>>>0,a[t>>2]=a[F+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,W=w?W:!W}else if(c=c-(B<<16)|0,32768&f)W=a[F+4>>2];else{for(W=a[F+4>>2],B=f>>>0<B>>>0,a[t>>2]=a[F+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}W=B?!W:W}w=k[V+24624|0],a[Y>>2]=(0|W)==(0|w)?h:j,a[H>>2]=32|a[H>>2],a[J+4>>2]=8|a[J+4>>2],a[(B=J-268|0)>>2]=131072|a[B>>2],a[(B=J-260|0)>>2]=32768|a[B>>2],V=B=J-264|0,K=a[B>>2],B=W^w,a[V>>2]=K|B<<31|65536,G=B<<19|G|16}}if(!(16777344&G)){if(t=R+(k[a[Q+108>>2]+(G>>>3&495)|0]<<2)|0,W=a[t>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[t>>2]=a[W+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[t>>2]=a[W+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(V=S(G,a[(H=J-4|0)>>2],a[J+4>>2],1),t=R+(k[V+24368|0]<<2)|0,F=a[t>>2],f=f-(B=a[F>>2])|0,c>>>16>>>0<B>>>0){for(W=a[F+4>>2],w=f>>>0<B>>>0,a[t>>2]=a[F+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,w=w?W:!W}else if(c=c-(B<<16)|0,32768&f)w=a[F+4>>2];else{for(W=a[F+4>>2],B=f>>>0<B>>>0,a[t>>2]=a[F+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=B?!W:W}B=k[V+24624|0],a[Y+256>>2]=(0|w)==(0|B)?h:j,a[H>>2]=256|a[H>>2],a[J+4>>2]=64|a[J+4>>2],G=(B^w)<<22|G|128}}if(!(134218752&G)){if(t=R+(k[a[Q+108>>2]+(G>>>6&495)|0]<<2)|0,W=a[t>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[t>>2]=a[W+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[t>>2]=a[W+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(V=S(G,a[(H=J-4|0)>>2],a[J+4>>2],2),t=R+(k[V+24368|0]<<2)|0,F=a[t>>2],f=f-(B=a[F>>2])|0,c>>>16>>>0<B>>>0){for(W=a[F+4>>2],w=f>>>0<B>>>0,a[t>>2]=a[F+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,w=w?W:!W}else if(c=c-(B<<16)|0,32768&f)w=a[F+4>>2];else{for(W=a[F+4>>2],B=f>>>0<B>>>0,a[t>>2]=a[F+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=B?!W:W}B=k[V+24624|0],a[Y+512>>2]=(0|w)==(0|B)?h:j,a[H>>2]=2048|a[H>>2],a[J+4>>2]=512|a[J+4>>2],G=(B^w)<<25|G|1024}}if(1073750016&G)break c;if(t=R+(k[a[Q+108>>2]+(G>>>9&495)|0]<<2)|0,W=a[t>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[t>>2]=a[W+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[t>>2]=a[W+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(!B)break c}else{if(w=a[v>>2],f=f-(G=a[w>>2])|0,c>>>16>>>0<G>>>0){for(t=a[w+4>>2],B=f>>>0<G>>>0,a[v>>2]=a[w+(B?8:12)>>2];;){I:if(!l)if(f=(w=a[Q+16>>2])+1|0,V=k[w+1|0],255!=k[0|w])a[Q+16>>2]=f,l=8,c=(V<<8)+c|0;else{if(V>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(V<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,B=B?t:!t}else if(c=c-(G<<16)|0,32768&f)B=a[w+4>>2];else{for(t=a[w+4>>2],B=f>>>0<G>>>0,a[v>>2]=a[w+(B?12:8)>>2];;){I:if(!l)if(G=(w=a[Q+16>>2])+1|0,V=k[w+1|0],255!=k[0|w])a[Q+16>>2]=G,l=8,c=(V<<8)+c|0;else{if(V>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=G,c=(V<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!t:t}if(!B){t=v;break o}if(B=a[m>>2],f=f-(G=a[B>>2])|0,c>>>16>>>0<G>>>0){for(V=a[B+4>>2],B=a[((w=f>>>0<G>>>0)?8:12)+B>>2],a[m>>2]=B;;){I:if(!l)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,w=w?V:!V}else if(c=c-(G<<16)|0,32768&f)w=a[B+4>>2];else{for(V=a[B+4>>2],B=a[((G=f>>>0<G>>>0)?12:8)+B>>2],a[m>>2]=B;;){I:if(!l)if(w=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=G?!V:V}if(f=f-(G=a[B>>2])|0,c>>>16>>>0<G>>>0){for(V=a[B+4>>2],K=B,B=f>>>0<G>>>0,a[m>>2]=a[K+(B?8:12)>>2];;){I:if(!l)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,B=B?V:!V}else if(c=c-(G<<16)|0,32768&f)B=a[B+4>>2];else{for(V=a[B+4>>2],K=B,B=f>>>0<G>>>0,a[m>>2]=a[K+(B?12:8)>>2];;){I:if(!l)if(G=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=G,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=G,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}G=0,t=m;I:{n:{s:{G:{C:switch(B|w<<1){case 0:if(W=J-4|0,w=a[J+4>>2]>>>17&4|a[W>>2]>>>19&1,B=R+(k[w+24368|0]<<2)|0,t=a[B>>2],f=f-(G=a[t>>2])|0,c>>>16>>>0<G>>>0){for(V=a[t+4>>2],K=B,B=f>>>0<G>>>0,a[K>>2]=a[t+(B?8:12)>>2];;){Z:if(!l)if(f=(t=a[Q+16>>2])+1|0,H=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break Z}a[Q+16>>2]=f,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,t=B?V:!V}else if(c=c-(G<<16)|0,32768&f)t=a[t+4>>2];else{for(V=a[t+4>>2],K=B,B=f>>>0<G>>>0,a[K>>2]=a[t+(B?12:8)>>2];;){Z:if(!l)if(G=(t=a[Q+16>>2])+1|0,H=k[t+1|0],255!=k[0|t])a[Q+16>>2]=G,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break Z}a[Q+16>>2]=G,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}t=B?!V:V}if(G=k[w+24624|0],a[Y>>2]=(0|t)==(0|G)?h:j,a[W>>2]=32|a[W>>2],a[J+4>>2]=8|a[J+4>>2],a[(B=J-268|0)>>2]=131072|a[B>>2],a[(B=J-260|0)>>2]=32768|a[B>>2],w=B=J-264|0,V=a[B>>2],B=G^t,a[w>>2]=V|B<<31|65536,w=B<<19,AA=a[Q+108>>2],B=R+(k[AA+2|0]<<2)|0,t=a[B>>2],f=f-(G=a[t>>2])|0,c>>>16>>>0<G>>>0){for(V=a[t+4>>2],K=B,B=f>>>0<G>>>0,a[K>>2]=a[t+(B?8:12)>>2];;){Z:if(!l)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break Z}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,B=B?V:!V}else if(c=c-(G<<16)|0,32768&f)B=a[t+4>>2];else{for(V=a[t+4>>2],K=B,B=f>>>0<G>>>0,a[K>>2]=a[t+(B?12:8)>>2];;){Z:if(!l)if(G=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=G,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break Z}a[Q+16>>2]=G,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(G=16|w,!B)break G;break;case 1:break C;case 2:break s;case 3:break I;default:break c}if(t=S(G,a[(W=J-4|0)>>2],a[J+4>>2],1),w=R+(k[t+24368|0]<<2)|0,H=a[w>>2],f=f-(B=a[H>>2])|0,c>>>16>>>0<B>>>0){for(V=a[H+4>>2],K=w,w=f>>>0<B>>>0,a[K>>2]=a[H+(w?8:12)>>2];;){C:if(!l)if(f=(l=a[Q+16>>2])+1|0,H=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break C}a[Q+16>>2]=f,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,w=w?V:!V}else if(c=c-(B<<16)|0,32768&f)w=a[H+4>>2];else{for(V=a[H+4>>2],B=f>>>0<B>>>0,a[w>>2]=a[H+(B?12:8)>>2];;){C:if(!l)if(w=(l=a[Q+16>>2])+1|0,H=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break C}a[Q+16>>2]=w,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=B?!V:V}B=k[t+24624|0],a[Y+256>>2]=(0|w)==(0|B)?h:j,a[W>>2]=256|a[W>>2],a[J+4>>2]=64|a[J+4>>2],AA=a[Q+108>>2],G=(B^w)<<22|G|128}if(w=R+(k[(G>>>6&495)+AA|0]<<2)|0,t=a[w>>2],f=f-(B=a[t>>2])|0,c>>>16>>>0<B>>>0){for(V=a[t+4>>2],K=w,w=f>>>0<B>>>0,a[K>>2]=a[t+(w?8:12)>>2];;){G:if(!l)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break G}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[t+4>>2];else{for(V=a[t+4>>2],B=f>>>0<B>>>0,a[w>>2]=a[t+(B?12:8)>>2];;){G:if(!l)if(w=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break G}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(!B)break n}if(t=S(G,a[(W=J-4|0)>>2],a[J+4>>2],2),w=R+(k[t+24368|0]<<2)|0,H=a[w>>2],f=f-(B=a[H>>2])|0,c>>>16>>>0<B>>>0){for(V=a[H+4>>2],K=w,w=f>>>0<B>>>0,a[K>>2]=a[H+(w?8:12)>>2];;){s:if(!l)if(f=(l=a[Q+16>>2])+1|0,H=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break s}a[Q+16>>2]=f,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,w=w?V:!V}else if(c=c-(B<<16)|0,32768&f)w=a[H+4>>2];else{for(V=a[H+4>>2],B=f>>>0<B>>>0,a[w>>2]=a[H+(B?12:8)>>2];;){s:if(!l)if(w=(l=a[Q+16>>2])+1|0,H=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break s}a[Q+16>>2]=w,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=B?!V:V}B=k[t+24624|0],a[Y+512>>2]=(0|w)==(0|B)?h:j,a[W>>2]=2048|a[W>>2],a[J+4>>2]=512|a[J+4>>2],G=(B^w)<<25|G|1024,AA=a[Q+108>>2]}if(t=R+(k[(G>>>9&495)+AA|0]<<2)|0,W=a[t>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[t>>2]=a[W+(w?8:12)>>2];;){n:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break n}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[t>>2]=a[W+(B?12:8)>>2];;){n:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break n}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(!B)break c}}if(V=S(G,a[(H=J-4|0)>>2],a[J+4>>2],3),t=R+(k[V+24368|0]<<2)|0,F=a[t>>2],f=f-(B=a[F>>2])|0,c>>>16>>>0<B>>>0){for(W=a[F+4>>2],w=f>>>0<B>>>0,a[t>>2]=a[F+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,w=w?W:!W}else if(c=c-(B<<16)|0,32768&f)w=a[F+4>>2];else{for(W=a[F+4>>2],B=f>>>0<B>>>0,a[t>>2]=a[F+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=B?!W:W}B=k[V+24624|0],a[Y+768>>2]=(0|w)==(0|B)?h:j,a[H>>2]=16384|a[H>>2],a[J+4>>2]=4096|a[J+4>>2],a[J+260>>2]=4|a[J+260>>2],a[J+268>>2]=1|a[J+268>>2],B^=w,a[J+264>>2]=a[J+264>>2]|B<<18|2,G=B<<28|G|8192}a[J>>2]=-1226833921&G}J=J+4|0,Y=Y+4|0,E=E+1|0}J=J+8|0,Y=Y+768|0,L=L+4|0}}if(iA=0-(K=(f=1<<$)>>>1|f)|0,m=Q+100|0,v=Q+96|0,h=C(cA,12),j=cA<<3,q=Q+28|0,J=12+((E=cA<<2)+a[Q+120>>2]|0)|0,l=a[Q+8>>2],f=a[Q+4>>2],c=a[Q>>2],Y=a[Q+104>>2],t=a[Q+116>>2],!(8&nA)){for(;(-4&(B=a[Q+128>>2]))>>>0>L>>>0;){for(AA=0;(0|AA)!=(0|cA);){o:{c:{if(G=a[J>>2]){if(!(2097168&G)){if(Y=q+(k[a[Q+108>>2]+(495&G)|0]<<2)|0,W=a[Y>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[Y>>2]=a[W+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[W+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(V=S(G,a[(H=J-4|0)>>2],a[J+4>>2],0),Y=q+(k[V+24368|0]<<2)|0,F=a[Y>>2],f=f-(B=a[F>>2])|0,c>>>16>>>0<B>>>0){for(W=a[F+4>>2],w=f>>>0<B>>>0,a[Y>>2]=a[F+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,w=w?W:!W}else if(c=c-(B<<16)|0,32768&f)w=a[F+4>>2];else{for(W=a[F+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[F+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=B?!W:W}B=k[V+24624|0],a[t>>2]=(0|w)==(0|B)?K:iA,a[H>>2]=32|a[H>>2],a[J+4>>2]=8|a[J+4>>2],V=(-2-a[Q+124>>2]<<2)+J|0,a[V+4>>2]=32768|a[V+4>>2],w^=B,a[V>>2]=a[V>>2]|w<<31|65536,a[(B=V-4|0)>>2]=131072|a[B>>2],G=w<<19|G|16}}if(!(16777344&G)){if(Y=q+(k[a[Q+108>>2]+(G>>>3&495)|0]<<2)|0,W=a[Y>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[Y>>2]=a[W+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[W+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(V=S(G,a[(H=J-4|0)>>2],a[J+4>>2],1),Y=q+(k[V+24368|0]<<2)|0,F=a[Y>>2],f=f-(B=a[F>>2])|0,R=t+E|0,c>>>16>>>0<B>>>0){for(W=a[F+4>>2],w=f>>>0<B>>>0,a[Y>>2]=a[F+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,w=w?W:!W}else if(c=c-(B<<16)|0,32768&f)w=a[F+4>>2];else{for(W=a[F+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[F+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=B?!W:W}B=k[V+24624|0],a[R>>2]=(0|w)==(0|B)?K:iA,a[H>>2]=256|a[H>>2],a[J+4>>2]=64|a[J+4>>2],G=(B^w)<<22|G|128}}if(!(134218752&G)){if(Y=q+(k[a[Q+108>>2]+(G>>>6&495)|0]<<2)|0,W=a[Y>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[Y>>2]=a[W+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[W+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(V=S(G,a[(H=J-4|0)>>2],a[J+4>>2],2),Y=q+(k[V+24368|0]<<2)|0,F=a[Y>>2],f=f-(B=a[F>>2])|0,R=t+j|0,c>>>16>>>0<B>>>0){for(W=a[F+4>>2],w=f>>>0<B>>>0,a[Y>>2]=a[F+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,w=w?W:!W}else if(c=c-(B<<16)|0,32768&f)w=a[F+4>>2];else{for(W=a[F+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[F+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=B?!W:W}B=k[V+24624|0],a[R>>2]=(0|w)==(0|B)?K:iA,a[H>>2]=2048|a[H>>2],a[J+4>>2]=512|a[J+4>>2],G=(B^w)<<25|G|1024}}if(1073750016&G)break c;if(Y=q+(k[a[Q+108>>2]+(G>>>9&495)|0]<<2)|0,W=a[Y>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[Y>>2]=a[W+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[W+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(!B)break c}else{if(Y=a[v>>2],f=f-(G=a[Y>>2])|0,c>>>16>>>0<G>>>0){for(w=a[Y+4>>2],B=f>>>0<G>>>0,a[v>>2]=a[Y+(B?8:12)>>2];;){I:if(!l)if(f=(Y=a[Q+16>>2])+1|0,V=k[Y+1|0],255!=k[0|Y])a[Q+16>>2]=f,l=8,c=(V<<8)+c|0;else{if(V>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(V<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,B=B?w:!w}else if(c=c-(G<<16)|0,32768&f)B=a[Y+4>>2];else{for(w=a[Y+4>>2],B=f>>>0<G>>>0,a[v>>2]=a[Y+(B?12:8)>>2];;){I:if(!l)if(G=(Y=a[Q+16>>2])+1|0,V=k[Y+1|0],255!=k[0|Y])a[Q+16>>2]=G,l=8,c=(V<<8)+c|0;else{if(V>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=G,c=(V<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!w:w}if(!B){Y=v;break o}if(B=a[m>>2],f=f-(G=a[B>>2])|0,c>>>16>>>0<G>>>0){for(V=a[B+4>>2],B=a[((Y=f>>>0<G>>>0)?8:12)+B>>2],a[m>>2]=B;;){I:if(!l)if(f=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,w=Y?V:!V}else if(c=c-(G<<16)|0,32768&f)w=a[B+4>>2];else{for(V=a[B+4>>2],B=a[((G=f>>>0<G>>>0)?12:8)+B>>2],a[m>>2]=B;;){I:if(!l)if(Y=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=Y,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=Y,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=G?!V:V}if(f=f-(G=a[B>>2])|0,c>>>16>>>0<G>>>0){for(V=a[B+4>>2],Y=B,B=f>>>0<G>>>0,a[m>>2]=a[Y+(B?8:12)>>2];;){I:if(!l)if(f=(Y=a[Q+16>>2])+1|0,W=k[Y+1|0],255!=k[0|Y])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,B=B?V:!V}else if(c=c-(G<<16)|0,32768&f)B=a[B+4>>2];else{for(V=a[B+4>>2],Y=B,B=f>>>0<G>>>0,a[m>>2]=a[Y+(B?12:8)>>2];;){I:if(!l)if(G=(Y=a[Q+16>>2])+1|0,W=k[Y+1|0],255!=k[0|Y])a[Q+16>>2]=G,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=G,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}G=0,Y=m;I:{n:{s:{G:{C:switch(B|w<<1){case 0:if(W=J-4|0,Y=a[J+4>>2]>>>17&4|a[W>>2]>>>19&1,B=q+(k[Y+24368|0]<<2)|0,w=a[B>>2],f=f-(G=a[w>>2])|0,c>>>16>>>0<G>>>0){for(V=a[w+4>>2],H=B,B=f>>>0<G>>>0,a[H>>2]=a[w+(B?8:12)>>2];;){Z:if(!l)if(f=(w=a[Q+16>>2])+1|0,H=k[w+1|0],255!=k[0|w])a[Q+16>>2]=f,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break Z}a[Q+16>>2]=f,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,G=B?V:!V}else if(c=c-(G<<16)|0,32768&f)G=a[w+4>>2];else{for(V=a[w+4>>2],H=B,B=f>>>0<G>>>0,a[H>>2]=a[w+(B?12:8)>>2];;){Z:if(!l)if(G=(w=a[Q+16>>2])+1|0,H=k[w+1|0],255!=k[0|w])a[Q+16>>2]=G,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break Z}a[Q+16>>2]=G,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}G=B?!V:V}if(B=k[Y+24624|0],a[t>>2]=(0|G)==(0|B)?K:iA,a[W>>2]=32|a[W>>2],a[J+4>>2]=8|a[J+4>>2],Y=(-2-a[Q+124>>2]<<2)+J|0,a[Y+4>>2]=32768|a[Y+4>>2],G^=B,a[Y>>2]=a[Y>>2]|G<<31|65536,a[(B=Y-4|0)>>2]=131072|a[B>>2],Y=G<<19,R=a[Q+108>>2],B=q+(k[R+2|0]<<2)|0,w=a[B>>2],f=f-(G=a[w>>2])|0,c>>>16>>>0<G>>>0){for(V=a[w+4>>2],W=B,B=f>>>0<G>>>0,a[W>>2]=a[w+(B?8:12)>>2];;){Z:if(!l)if(f=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break Z}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,B=B?V:!V}else if(c=c-(G<<16)|0,32768&f)B=a[w+4>>2];else{for(V=a[w+4>>2],W=B,B=f>>>0<G>>>0,a[W>>2]=a[w+(B?12:8)>>2];;){Z:if(!l)if(G=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=G,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break Z}a[Q+16>>2]=G,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(G=16|Y,!B)break G;break;case 1:break C;case 2:break s;case 3:break I;default:break c}if(w=S(G,a[(W=J-4|0)>>2],a[J+4>>2],1),Y=q+(k[w+24368|0]<<2)|0,H=a[Y>>2],f=f-(B=a[H>>2])|0,F=t+E|0,c>>>16>>>0<B>>>0){for(V=a[H+4>>2],R=Y,Y=f>>>0<B>>>0,a[R>>2]=a[H+(Y?8:12)>>2];;){C:if(!l)if(f=(l=a[Q+16>>2])+1|0,H=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break C}a[Q+16>>2]=f,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,Y=Y?V:!V}else if(c=c-(B<<16)|0,32768&f)Y=a[H+4>>2];else{for(V=a[H+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[H+(B?12:8)>>2];;){C:if(!l)if(Y=(l=a[Q+16>>2])+1|0,H=k[l+1|0],255!=k[0|l])a[Q+16>>2]=Y,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break C}a[Q+16>>2]=Y,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}Y=B?!V:V}B=k[w+24624|0],a[F>>2]=(0|Y)==(0|B)?K:iA,a[W>>2]=256|a[W>>2],a[J+4>>2]=64|a[J+4>>2],R=a[Q+108>>2],G=(B^Y)<<22|G|128}if(Y=q+(k[(G>>>6&495)+R|0]<<2)|0,w=a[Y>>2],f=f-(B=a[w>>2])|0,c>>>16>>>0<B>>>0){for(V=a[w+4>>2],W=Y,Y=f>>>0<B>>>0,a[W>>2]=a[w+(Y?8:12)>>2];;){G:if(!l)if(f=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break G}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=Y?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[w+4>>2];else{for(V=a[w+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[w+(B?12:8)>>2];;){G:if(!l)if(Y=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=Y,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break G}a[Q+16>>2]=Y,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(!B)break n}if(w=S(G,a[(W=J-4|0)>>2],a[J+4>>2],2),Y=q+(k[w+24368|0]<<2)|0,H=a[Y>>2],f=f-(B=a[H>>2])|0,F=t+j|0,c>>>16>>>0<B>>>0){for(V=a[H+4>>2],R=Y,Y=f>>>0<B>>>0,a[R>>2]=a[H+(Y?8:12)>>2];;){s:if(!l)if(f=(l=a[Q+16>>2])+1|0,H=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break s}a[Q+16>>2]=f,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,Y=Y?V:!V}else if(c=c-(B<<16)|0,32768&f)Y=a[H+4>>2];else{for(V=a[H+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[H+(B?12:8)>>2];;){s:if(!l)if(Y=(l=a[Q+16>>2])+1|0,H=k[l+1|0],255!=k[0|l])a[Q+16>>2]=Y,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break s}a[Q+16>>2]=Y,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}Y=B?!V:V}B=k[w+24624|0],a[F>>2]=(0|Y)==(0|B)?K:iA,a[W>>2]=2048|a[W>>2],a[J+4>>2]=512|a[J+4>>2],G=(B^Y)<<25|G|1024,R=a[Q+108>>2]}if(Y=q+(k[(G>>>9&495)+R|0]<<2)|0,W=a[Y>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[Y>>2]=a[W+(w?8:12)>>2];;){n:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break n}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[W+(B?12:8)>>2];;){n:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break n}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(!B)break c}}if(V=S(G,a[(H=J-4|0)>>2],a[J+4>>2],3),Y=q+(k[V+24368|0]<<2)|0,F=a[Y>>2],f=f-(B=a[F>>2])|0,R=t+h|0,c>>>16>>>0<B>>>0){for(W=a[F+4>>2],w=f>>>0<B>>>0,a[Y>>2]=a[F+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,w=w?W:!W}else if(c=c-(B<<16)|0,32768&f)w=a[F+4>>2];else{for(W=a[F+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[F+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=B?!W:W}B=k[V+24624|0],a[R>>2]=(0|w)==(0|B)?K:iA,a[H>>2]=16384|a[H>>2],a[J+4>>2]=4096|a[J+4>>2],V=(a[Q+124>>2]<<2)+J|0,a[V+4>>2]=4|a[V+4>>2],a[V+12>>2]=1|a[V+12>>2],B^=w,a[V+8>>2]=a[V+8>>2]|B<<18|2,G=B<<28|G|8192}a[J>>2]=-1226833921&G}J=J+4|0,t=t+4|0,AA=AA+1|0}J=J+8|0,t=t+h|0,L=L+4|0}if(a[Q+8>>2]=l,a[Q+4>>2]=f,a[Q>>2]=c,a[Q+104>>2]=Y,B>>>0<=L>>>0)break B;for(c=0;;){if(l=0,(0|c)==(0|cA))break B;for(;a[Q+128>>2]-L>>>0>l>>>0;)lf(Q,J,(C(l,cA)<<2)+t|0,K,l,0),l=l+1|0;a[J>>2]=-1226833921&a[J>>2],t=t+4|0,J=J+4|0,c=c+1|0}}for(;(-4&(B=a[Q+128>>2]))>>>0>L>>>0;){for(AA=0;(0|AA)!=(0|cA);){o:{c:{if(G=a[J>>2]){if(!(2097168&G)){if(Y=q+(k[a[Q+108>>2]+(495&G)|0]<<2)|0,W=a[Y>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[Y>>2]=a[W+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[W+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(V=S(G,a[(H=J-4|0)>>2],a[J+4>>2],0),Y=q+(k[V+24368|0]<<2)|0,F=a[Y>>2],f=f-(B=a[F>>2])|0,c>>>16>>>0<B>>>0){for(W=a[F+4>>2],w=f>>>0<B>>>0,a[Y>>2]=a[F+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,w=w?W:!W}else if(c=c-(B<<16)|0,32768&f)w=a[F+4>>2];else{for(W=a[F+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[F+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=B?!W:W}B=k[V+24624|0],a[t>>2]=(0|w)==(0|B)?K:iA,a[H>>2]=32|a[H>>2],a[J+4>>2]=8|a[J+4>>2],G=(B^w)<<19|G|16}}if(!(16777344&G)){if(Y=q+(k[a[Q+108>>2]+(G>>>3&495)|0]<<2)|0,W=a[Y>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[Y>>2]=a[W+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[W+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(V=S(G,a[(H=J-4|0)>>2],a[J+4>>2],1),Y=q+(k[V+24368|0]<<2)|0,F=a[Y>>2],f=f-(B=a[F>>2])|0,R=t+E|0,c>>>16>>>0<B>>>0){for(W=a[F+4>>2],w=f>>>0<B>>>0,a[Y>>2]=a[F+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,w=w?W:!W}else if(c=c-(B<<16)|0,32768&f)w=a[F+4>>2];else{for(W=a[F+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[F+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=B?!W:W}B=k[V+24624|0],a[R>>2]=(0|w)==(0|B)?K:iA,a[H>>2]=256|a[H>>2],a[J+4>>2]=64|a[J+4>>2],G=(B^w)<<22|G|128}}if(!(134218752&G)){if(Y=q+(k[a[Q+108>>2]+(G>>>6&495)|0]<<2)|0,W=a[Y>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[Y>>2]=a[W+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[W+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(V=S(G,a[(H=J-4|0)>>2],a[J+4>>2],2),Y=q+(k[V+24368|0]<<2)|0,F=a[Y>>2],f=f-(B=a[F>>2])|0,R=t+j|0,c>>>16>>>0<B>>>0){for(W=a[F+4>>2],w=f>>>0<B>>>0,a[Y>>2]=a[F+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,w=w?W:!W}else if(c=c-(B<<16)|0,32768&f)w=a[F+4>>2];else{for(W=a[F+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[F+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=B?!W:W}B=k[V+24624|0],a[R>>2]=(0|w)==(0|B)?K:iA,a[H>>2]=2048|a[H>>2],a[J+4>>2]=512|a[J+4>>2],G=(B^w)<<25|G|1024}}if(1073750016&G)break c;if(Y=q+(k[a[Q+108>>2]+(G>>>9&495)|0]<<2)|0,W=a[Y>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[Y>>2]=a[W+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[W+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(!B)break c}else{if(Y=a[v>>2],f=f-(G=a[Y>>2])|0,c>>>16>>>0<G>>>0){for(w=a[Y+4>>2],B=f>>>0<G>>>0,a[v>>2]=a[Y+(B?8:12)>>2];;){I:if(!l)if(f=(Y=a[Q+16>>2])+1|0,V=k[Y+1|0],255!=k[0|Y])a[Q+16>>2]=f,l=8,c=(V<<8)+c|0;else{if(V>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(V<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,B=B?w:!w}else if(c=c-(G<<16)|0,32768&f)B=a[Y+4>>2];else{for(w=a[Y+4>>2],B=f>>>0<G>>>0,a[v>>2]=a[Y+(B?12:8)>>2];;){I:if(!l)if(G=(Y=a[Q+16>>2])+1|0,V=k[Y+1|0],255!=k[0|Y])a[Q+16>>2]=G,l=8,c=(V<<8)+c|0;else{if(V>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=G,c=(V<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!w:w}if(!B){Y=v;break o}if(B=a[m>>2],f=f-(G=a[B>>2])|0,c>>>16>>>0<G>>>0){for(V=a[B+4>>2],B=a[((Y=f>>>0<G>>>0)?8:12)+B>>2],a[m>>2]=B;;){I:if(!l)if(f=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,w=Y?V:!V}else if(c=c-(G<<16)|0,32768&f)w=a[B+4>>2];else{for(V=a[B+4>>2],B=a[((G=f>>>0<G>>>0)?12:8)+B>>2],a[m>>2]=B;;){I:if(!l)if(Y=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=Y,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=Y,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=G?!V:V}if(f=f-(G=a[B>>2])|0,c>>>16>>>0<G>>>0){for(V=a[B+4>>2],Y=B,B=f>>>0<G>>>0,a[m>>2]=a[Y+(B?8:12)>>2];;){I:if(!l)if(f=(Y=a[Q+16>>2])+1|0,W=k[Y+1|0],255!=k[0|Y])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,B=B?V:!V}else if(c=c-(G<<16)|0,32768&f)B=a[B+4>>2];else{for(V=a[B+4>>2],Y=B,B=f>>>0<G>>>0,a[m>>2]=a[Y+(B?12:8)>>2];;){I:if(!l)if(G=(Y=a[Q+16>>2])+1|0,W=k[Y+1|0],255!=k[0|Y])a[Q+16>>2]=G,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=G,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}G=0,Y=m;I:{n:{s:{G:{C:switch(B|w<<1){case 0:if(W=J-4|0,Y=a[J+4>>2]>>>17&4|a[W>>2]>>>19&1,B=q+(k[Y+24368|0]<<2)|0,w=a[B>>2],f=f-(G=a[w>>2])|0,c>>>16>>>0<G>>>0){for(V=a[w+4>>2],H=B,B=f>>>0<G>>>0,a[H>>2]=a[w+(B?8:12)>>2];;){Z:if(!l)if(f=(w=a[Q+16>>2])+1|0,H=k[w+1|0],255!=k[0|w])a[Q+16>>2]=f,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break Z}a[Q+16>>2]=f,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,G=B?V:!V}else if(c=c-(G<<16)|0,32768&f)G=a[w+4>>2];else{for(V=a[w+4>>2],H=B,B=f>>>0<G>>>0,a[H>>2]=a[w+(B?12:8)>>2];;){Z:if(!l)if(G=(w=a[Q+16>>2])+1|0,H=k[w+1|0],255!=k[0|w])a[Q+16>>2]=G,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break Z}a[Q+16>>2]=G,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}G=B?!V:V}if(B=k[Y+24624|0],a[t>>2]=(0|G)==(0|B)?K:iA,a[W>>2]=32|a[W>>2],a[J+4>>2]=8|a[J+4>>2],Y=(G^B)<<19,R=a[Q+108>>2],B=q+(k[R+2|0]<<2)|0,w=a[B>>2],f=f-(G=a[w>>2])|0,c>>>16>>>0<G>>>0){for(V=a[w+4>>2],W=B,B=f>>>0<G>>>0,a[W>>2]=a[w+(B?8:12)>>2];;){Z:if(!l)if(f=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break Z}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,B=B?V:!V}else if(c=c-(G<<16)|0,32768&f)B=a[w+4>>2];else{for(V=a[w+4>>2],W=B,B=f>>>0<G>>>0,a[W>>2]=a[w+(B?12:8)>>2];;){Z:if(!l)if(G=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=G,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break Z}a[Q+16>>2]=G,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(G=16|Y,!B)break G;break;case 1:break C;case 2:break s;case 3:break I;default:break c}if(w=S(G,a[(W=J-4|0)>>2],a[J+4>>2],1),Y=q+(k[w+24368|0]<<2)|0,H=a[Y>>2],f=f-(B=a[H>>2])|0,F=t+E|0,c>>>16>>>0<B>>>0){for(V=a[H+4>>2],R=Y,Y=f>>>0<B>>>0,a[R>>2]=a[H+(Y?8:12)>>2];;){C:if(!l)if(f=(l=a[Q+16>>2])+1|0,H=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break C}a[Q+16>>2]=f,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,Y=Y?V:!V}else if(c=c-(B<<16)|0,32768&f)Y=a[H+4>>2];else{for(V=a[H+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[H+(B?12:8)>>2];;){C:if(!l)if(Y=(l=a[Q+16>>2])+1|0,H=k[l+1|0],255!=k[0|l])a[Q+16>>2]=Y,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break C}a[Q+16>>2]=Y,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}Y=B?!V:V}B=k[w+24624|0],a[F>>2]=(0|Y)==(0|B)?K:iA,a[W>>2]=256|a[W>>2],a[J+4>>2]=64|a[J+4>>2],R=a[Q+108>>2],G=(B^Y)<<22|G|128}if(Y=q+(k[(G>>>6&495)+R|0]<<2)|0,w=a[Y>>2],f=f-(B=a[w>>2])|0,c>>>16>>>0<B>>>0){for(V=a[w+4>>2],W=Y,Y=f>>>0<B>>>0,a[W>>2]=a[w+(Y?8:12)>>2];;){G:if(!l)if(f=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break G}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=Y?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[w+4>>2];else{for(V=a[w+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[w+(B?12:8)>>2];;){G:if(!l)if(Y=(w=a[Q+16>>2])+1|0,W=k[w+1|0],255!=k[0|w])a[Q+16>>2]=Y,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break G}a[Q+16>>2]=Y,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(!B)break n}if(w=S(G,a[(W=J-4|0)>>2],a[J+4>>2],2),Y=q+(k[w+24368|0]<<2)|0,H=a[Y>>2],f=f-(B=a[H>>2])|0,F=t+j|0,c>>>16>>>0<B>>>0){for(V=a[H+4>>2],R=Y,Y=f>>>0<B>>>0,a[R>>2]=a[H+(Y?8:12)>>2];;){s:if(!l)if(f=(l=a[Q+16>>2])+1|0,H=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break s}a[Q+16>>2]=f,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,Y=Y?V:!V}else if(c=c-(B<<16)|0,32768&f)Y=a[H+4>>2];else{for(V=a[H+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[H+(B?12:8)>>2];;){s:if(!l)if(Y=(l=a[Q+16>>2])+1|0,H=k[l+1|0],255!=k[0|l])a[Q+16>>2]=Y,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break s}a[Q+16>>2]=Y,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}Y=B?!V:V}B=k[w+24624|0],a[F>>2]=(0|Y)==(0|B)?K:iA,a[W>>2]=2048|a[W>>2],a[J+4>>2]=512|a[J+4>>2],G=(B^Y)<<25|G|1024,R=a[Q+108>>2]}if(Y=q+(k[(G>>>9&495)+R|0]<<2)|0,W=a[Y>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[Y>>2]=a[W+(w?8:12)>>2];;){n:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break n}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[W+(B?12:8)>>2];;){n:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break n}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(!B)break c}}if(V=S(G,a[(H=J-4|0)>>2],a[J+4>>2],3),Y=q+(k[V+24368|0]<<2)|0,F=a[Y>>2],f=f-(B=a[F>>2])|0,R=t+h|0,c>>>16>>>0<B>>>0){for(W=a[F+4>>2],w=f>>>0<B>>>0,a[Y>>2]=a[F+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,w=w?W:!W}else if(c=c-(B<<16)|0,32768&f)w=a[F+4>>2];else{for(W=a[F+4>>2],B=f>>>0<B>>>0,a[Y>>2]=a[F+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=B?!W:W}B=k[V+24624|0],a[R>>2]=(0|w)==(0|B)?K:iA,a[H>>2]=16384|a[H>>2],a[J+4>>2]=4096|a[J+4>>2],V=(a[Q+124>>2]<<2)+J|0,a[V+4>>2]=4|a[V+4>>2],a[V+12>>2]=1|a[V+12>>2],B^=w,a[V+8>>2]=a[V+8>>2]|B<<18|2,G=B<<28|G|8192}a[J>>2]=-1226833921&G}J=J+4|0,t=t+4|0,AA=AA+1|0}J=J+8|0,t=t+h|0,L=L+4|0}if(a[Q+8>>2]=l,a[Q+4>>2]=f,a[Q>>2]=c,a[Q+104>>2]=Y,B>>>0<=L>>>0)break B;for(c=0;;){if(l=0,(0|c)==(0|cA))break B;for(;a[Q+128>>2]-L>>>0>l>>>0;)lf(Q,J,(C(l,cA)<<2)+t|0,K,l,1),l=l+1|0;a[J>>2]=-1226833921&a[J>>2],t=t+4|0,J=J+4|0,c=c+1|0}}for(;;){if(E=0,L>>>0>63)break l;for(;64!=(0|E);){g:{o:{if(G=a[J>>2]){if(!(2097168&G)){if(t=R+(k[a[Q+108>>2]+(495&G)|0]<<2)|0,W=a[t>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[t>>2]=a[W+(w?8:12)>>2];;){c:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[t>>2]=a[W+(B?12:8)>>2];;){c:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(V=S(G,a[(H=J-4|0)>>2],a[J+4>>2],0),t=R+(k[V+24368|0]<<2)|0,F=a[t>>2],f=f-(B=a[F>>2])|0,c>>>16>>>0<B>>>0){for(W=a[F+4>>2],w=f>>>0<B>>>0,a[t>>2]=a[F+(w?8:12)>>2];;){c:if(!l)if(f=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=f,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,w=w?W:!W}else if(c=c-(B<<16)|0,32768&f)w=a[F+4>>2];else{for(W=a[F+4>>2],B=f>>>0<B>>>0,a[t>>2]=a[F+(B?12:8)>>2];;){c:if(!l)if(w=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=w,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=B?!W:W}B=k[V+24624|0],a[Y>>2]=(0|w)==(0|B)?h:j,a[H>>2]=32|a[H>>2],a[J+4>>2]=8|a[J+4>>2],G=(B^w)<<19|G|16}}if(!(16777344&G)){if(t=R+(k[a[Q+108>>2]+(G>>>3&495)|0]<<2)|0,W=a[t>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[t>>2]=a[W+(w?8:12)>>2];;){c:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[t>>2]=a[W+(B?12:8)>>2];;){c:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(V=S(G,a[(H=J-4|0)>>2],a[J+4>>2],1),t=R+(k[V+24368|0]<<2)|0,F=a[t>>2],f=f-(B=a[F>>2])|0,c>>>16>>>0<B>>>0){for(W=a[F+4>>2],w=f>>>0<B>>>0,a[t>>2]=a[F+(w?8:12)>>2];;){c:if(!l)if(f=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=f,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,w=w?W:!W}else if(c=c-(B<<16)|0,32768&f)w=a[F+4>>2];else{for(W=a[F+4>>2],B=f>>>0<B>>>0,a[t>>2]=a[F+(B?12:8)>>2];;){c:if(!l)if(w=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=w,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=B?!W:W}B=k[V+24624|0],a[Y+256>>2]=(0|w)==(0|B)?h:j,a[H>>2]=256|a[H>>2],a[J+4>>2]=64|a[J+4>>2],G=(B^w)<<22|G|128}}if(!(134218752&G)){if(t=R+(k[a[Q+108>>2]+(G>>>6&495)|0]<<2)|0,W=a[t>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[t>>2]=a[W+(w?8:12)>>2];;){c:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[t>>2]=a[W+(B?12:8)>>2];;){c:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(B){if(V=S(G,a[(H=J-4|0)>>2],a[J+4>>2],2),t=R+(k[V+24368|0]<<2)|0,F=a[t>>2],f=f-(B=a[F>>2])|0,c>>>16>>>0<B>>>0){for(W=a[F+4>>2],w=f>>>0<B>>>0,a[t>>2]=a[F+(w?8:12)>>2];;){c:if(!l)if(f=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=f,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,w=w?W:!W}else if(c=c-(B<<16)|0,32768&f)w=a[F+4>>2];else{for(W=a[F+4>>2],B=f>>>0<B>>>0,a[t>>2]=a[F+(B?12:8)>>2];;){c:if(!l)if(w=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=w,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=B?!W:W}B=k[V+24624|0],a[Y+512>>2]=(0|w)==(0|B)?h:j,a[H>>2]=2048|a[H>>2],a[J+4>>2]=512|a[J+4>>2],G=(B^w)<<25|G|1024}}if(1073750016&G)break o;if(t=R+(k[a[Q+108>>2]+(G>>>9&495)|0]<<2)|0,W=a[t>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[t>>2]=a[W+(w?8:12)>>2];;){c:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[t>>2]=a[W+(B?12:8)>>2];;){c:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(!B)break o}else{if(w=a[v>>2],f=f-(G=a[w>>2])|0,c>>>16>>>0<G>>>0){for(t=a[w+4>>2],B=f>>>0<G>>>0,a[v>>2]=a[w+(B?8:12)>>2];;){c:if(!l)if(f=(w=a[Q+16>>2])+1|0,V=k[w+1|0],255!=k[0|w])a[Q+16>>2]=f,l=8,c=(V<<8)+c|0;else{if(V>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=f,c=(V<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,B=B?t:!t}else if(c=c-(G<<16)|0,32768&f)B=a[w+4>>2];else{for(t=a[w+4>>2],B=f>>>0<G>>>0,a[v>>2]=a[w+(B?12:8)>>2];;){c:if(!l)if(G=(w=a[Q+16>>2])+1|0,V=k[w+1|0],255!=k[0|w])a[Q+16>>2]=G,l=8,c=(V<<8)+c|0;else{if(V>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=G,c=(V<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!t:t}if(!B){t=v;break g}if(B=a[m>>2],f=f-(G=a[B>>2])|0,c>>>16>>>0<G>>>0){for(V=a[B+4>>2],B=a[((w=f>>>0<G>>>0)?8:12)+B>>2],a[m>>2]=B;;){c:if(!l)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,w=w?V:!V}else if(c=c-(G<<16)|0,32768&f)w=a[B+4>>2];else{for(V=a[B+4>>2],B=a[((G=f>>>0<G>>>0)?12:8)+B>>2],a[m>>2]=B;;){c:if(!l)if(w=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=G?!V:V}if(f=f-(G=a[B>>2])|0,c>>>16>>>0<G>>>0){for(V=a[B+4>>2],K=B,B=f>>>0<G>>>0,a[m>>2]=a[K+(B?8:12)>>2];;){c:if(!l)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,B=B?V:!V}else if(c=c-(G<<16)|0,32768&f)B=a[B+4>>2];else{for(V=a[B+4>>2],K=B,B=f>>>0<G>>>0,a[m>>2]=a[K+(B?12:8)>>2];;){c:if(!l)if(G=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=G,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=G,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}G=0,t=m;c:{I:{n:{s:{G:switch(B|w<<1){case 0:if(W=J-4|0,w=a[J+4>>2]>>>17&4|a[W>>2]>>>19&1,B=R+(k[w+24368|0]<<2)|0,t=a[B>>2],f=f-(G=a[t>>2])|0,c>>>16>>>0<G>>>0){for(V=a[t+4>>2],K=B,B=f>>>0<G>>>0,a[K>>2]=a[t+(B?8:12)>>2];;){C:if(!l)if(f=(t=a[Q+16>>2])+1|0,H=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break C}a[Q+16>>2]=f,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,G=B?V:!V}else if(c=c-(G<<16)|0,32768&f)G=a[t+4>>2];else{for(V=a[t+4>>2],K=B,B=f>>>0<G>>>0,a[K>>2]=a[t+(B?12:8)>>2];;){C:if(!l)if(G=(t=a[Q+16>>2])+1|0,H=k[t+1|0],255!=k[0|t])a[Q+16>>2]=G,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break C}a[Q+16>>2]=G,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}G=B?!V:V}if(B=k[w+24624|0],a[Y>>2]=(0|G)==(0|B)?h:j,a[W>>2]=32|a[W>>2],a[J+4>>2]=8|a[J+4>>2],w=(G^B)<<19,AA=a[Q+108>>2],B=R+(k[AA+2|0]<<2)|0,t=a[B>>2],f=f-(G=a[t>>2])|0,c>>>16>>>0<G>>>0){for(V=a[t+4>>2],K=B,B=f>>>0<G>>>0,a[K>>2]=a[t+(B?8:12)>>2];;){C:if(!l)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break C}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((G<<=1)>>>0<32768))break}f=G,B=B?V:!V}else if(c=c-(G<<16)|0,32768&f)B=a[t+4>>2];else{for(V=a[t+4>>2],K=B,B=f>>>0<G>>>0,a[K>>2]=a[t+(B?12:8)>>2];;){C:if(!l)if(G=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=G,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break C}a[Q+16>>2]=G,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(G=16|w,!B)break s;break;case 1:break G;case 2:break n;case 3:break c;default:break o}if(t=S(G,a[(W=J-4|0)>>2],a[J+4>>2],1),w=R+(k[t+24368|0]<<2)|0,H=a[w>>2],f=f-(B=a[H>>2])|0,c>>>16>>>0<B>>>0){for(V=a[H+4>>2],K=w,w=f>>>0<B>>>0,a[K>>2]=a[H+(w?8:12)>>2];;){G:if(!l)if(f=(l=a[Q+16>>2])+1|0,H=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break G}a[Q+16>>2]=f,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,w=w?V:!V}else if(c=c-(B<<16)|0,32768&f)w=a[H+4>>2];else{for(V=a[H+4>>2],B=f>>>0<B>>>0,a[w>>2]=a[H+(B?12:8)>>2];;){G:if(!l)if(w=(l=a[Q+16>>2])+1|0,H=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break G}a[Q+16>>2]=w,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=B?!V:V}B=k[t+24624|0],a[Y+256>>2]=(0|w)==(0|B)?h:j,a[W>>2]=256|a[W>>2],a[J+4>>2]=64|a[J+4>>2],AA=a[Q+108>>2],G=(B^w)<<22|G|128}if(w=R+(k[(G>>>6&495)+AA|0]<<2)|0,t=a[w>>2],f=f-(B=a[t>>2])|0,c>>>16>>>0<B>>>0){for(V=a[t+4>>2],K=w,w=f>>>0<B>>>0,a[K>>2]=a[t+(w?8:12)>>2];;){s:if(!l)if(f=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break s}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[t+4>>2];else{for(V=a[t+4>>2],B=f>>>0<B>>>0,a[w>>2]=a[t+(B?12:8)>>2];;){s:if(!l)if(w=(t=a[Q+16>>2])+1|0,W=k[t+1|0],255!=k[0|t])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break s}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(!B)break I}if(t=S(G,a[(W=J-4|0)>>2],a[J+4>>2],2),w=R+(k[t+24368|0]<<2)|0,H=a[w>>2],f=f-(B=a[H>>2])|0,c>>>16>>>0<B>>>0){for(V=a[H+4>>2],K=w,w=f>>>0<B>>>0,a[K>>2]=a[H+(w?8:12)>>2];;){n:if(!l)if(f=(l=a[Q+16>>2])+1|0,H=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break n}a[Q+16>>2]=f,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,w=w?V:!V}else if(c=c-(B<<16)|0,32768&f)w=a[H+4>>2];else{for(V=a[H+4>>2],B=f>>>0<B>>>0,a[w>>2]=a[H+(B?12:8)>>2];;){n:if(!l)if(w=(l=a[Q+16>>2])+1|0,H=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(H<<8)+c|0;else{if(H>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break n}a[Q+16>>2]=w,c=(H<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=B?!V:V}B=k[t+24624|0],a[Y+512>>2]=(0|w)==(0|B)?h:j,a[W>>2]=2048|a[W>>2],a[J+4>>2]=512|a[J+4>>2],G=(B^w)<<25|G|1024,AA=a[Q+108>>2]}if(t=R+(k[(G>>>9&495)+AA|0]<<2)|0,W=a[t>>2],f=f-(B=a[W>>2])|0,c>>>16>>>0<B>>>0){for(V=a[W+4>>2],w=f>>>0<B>>>0,a[t>>2]=a[W+(w?8:12)>>2];;){I:if(!l)if(f=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=f,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,B=w?V:!V}else if(c=c-(B<<16)|0,32768&f)B=a[W+4>>2];else{for(V=a[W+4>>2],B=f>>>0<B>>>0,a[t>>2]=a[W+(B?12:8)>>2];;){I:if(!l)if(w=(l=a[Q+16>>2])+1|0,W=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(W<<8)+c|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break I}a[Q+16>>2]=w,c=(W<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}B=B?!V:V}if(!B)break o}}if(V=S(G,a[(H=J-4|0)>>2],a[J+4>>2],3),t=R+(k[V+24368|0]<<2)|0,F=a[t>>2],f=f-(B=a[F>>2])|0,c>>>16>>>0<B>>>0){for(W=a[F+4>>2],w=f>>>0<B>>>0,a[t>>2]=a[F+(w?8:12)>>2];;){c:if(!l)if(f=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=f,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=f,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((B<<=1)>>>0<32768))break}f=B,w=w?W:!W}else if(c=c-(B<<16)|0,32768&f)w=a[F+4>>2];else{for(W=a[F+4>>2],B=f>>>0<B>>>0,a[t>>2]=a[F+(B?12:8)>>2];;){c:if(!l)if(w=(l=a[Q+16>>2])+1|0,F=k[l+1|0],255!=k[0|l])a[Q+16>>2]=w,l=8,c=(F<<8)+c|0;else{if(F>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,c=c+65280|0,l=8;break c}a[Q+16>>2]=w,c=(F<<9)+c|0,l=7}if(l=l-1|0,c<<=1,!((f<<=1)>>>0<32768))break}w=B?!W:W}B=k[V+24624|0],a[Y+768>>2]=(0|w)==(0|B)?h:j,a[H>>2]=16384|a[H>>2],a[J+4>>2]=4096|a[J+4>>2],a[J+260>>2]=4|a[J+260>>2],a[J+268>>2]=1|a[J+268>>2],B^=w,a[J+264>>2]=a[J+264>>2]|B<<18|2,G=B<<28|G|8192}a[J>>2]=-1226833921&G}J=J+4|0,Y=Y+4|0,E=E+1|0}J=J+8|0,Y=Y+768|0,L=L+4|0}}a[Q+8>>2]=l,a[Q+4>>2]=f,a[Q>>2]=c,a[Q+104>>2]=t}if(32&nA){if(a[Q+104>>2]=Q+100,J=a[Q+100>>2],f=a[J>>2],c=a[Q+4>>2]-f|0,a[Q+4>>2]=c,(l=a[Q>>2])>>>16>>>0<f>>>0){for(a[Q+4>>2]=f,J=a[(f>>>0>c>>>0?8:12)+J>>2],a[Q+100>>2]=J,c=a[Q+8>>2];;){B:if(!c)if(B=(G=a[Q+16>>2])+1|0,Y=k[G+1|0],255!=k[0|G])a[Q+16>>2]=B,c=8,l=(Y<<8)+l|0;else{if(Y>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,l=l+65280|0,c=8;break B}a[Q+16>>2]=B,l=(Y<<9)+l|0,c=7}if(c=c-1|0,a[Q+8>>2]=c,l<<=1,a[Q>>2]=l,f<<=1,a[Q+4>>2]=f,!(f>>>0<32768))break}c=f}else if(l=l-(f<<16)|0,a[Q>>2]=l,!(32768&c))for(J=a[(f>>>0>c>>>0?12:8)+J>>2],a[Q+100>>2]=J,f=a[Q+8>>2];;){B:if(!f)if(f=(B=a[Q+16>>2])+1|0,G=k[B+1|0],255!=k[0|B])a[Q+16>>2]=f,f=8,l=(G<<8)+l|0;else{if(G>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,l=l+65280|0,f=8;break B}a[Q+16>>2]=f,l=(G<<9)+l|0,f=7}if(f=f-1|0,a[Q+8>>2]=f,l<<=1,a[Q>>2]=l,c<<=1,a[Q+4>>2]=c,!(c>>>0<32768))break}if(c=c-(f=a[J>>2])|0,a[Q+4>>2]=c,l>>>16>>>0<f>>>0){for(a[Q+4>>2]=f,J=a[(f>>>0>c>>>0?8:12)+J>>2],a[Q+100>>2]=J,c=a[Q+8>>2];;){B:if(!c)if(B=(G=a[Q+16>>2])+1|0,Y=k[G+1|0],255!=k[0|G])a[Q+16>>2]=B,c=8,l=(Y<<8)+l|0;else{if(Y>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,l=l+65280|0,c=8;break B}a[Q+16>>2]=B,l=(Y<<9)+l|0,c=7}if(c=c-1|0,a[Q+8>>2]=c,l<<=1,a[Q>>2]=l,f<<=1,a[Q+4>>2]=f,!(f>>>0<32768))break}c=f}else if(l=l-(f<<16)|0,a[Q>>2]=l,!(32768&c))for(J=a[(f>>>0>c>>>0?12:8)+J>>2],a[Q+100>>2]=J,f=a[Q+8>>2];;){B:if(!f)if(f=(B=a[Q+16>>2])+1|0,G=k[B+1|0],255!=k[0|B])a[Q+16>>2]=f,f=8,l=(G<<8)+l|0;else{if(G>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,l=l+65280|0,f=8;break B}a[Q+16>>2]=f,l=(G<<9)+l|0,f=7}if(f=f-1|0,a[Q+8>>2]=f,l<<=1,a[Q>>2]=l,c<<=1,a[Q+4>>2]=c,!(c>>>0<32768))break}if(c=c-(f=a[J>>2])|0,a[Q+4>>2]=c,l>>>16>>>0<f>>>0){for(a[Q+4>>2]=f,J=a[(f>>>0>c>>>0?8:12)+J>>2],a[Q+100>>2]=J,c=a[Q+8>>2];;){B:if(!c)if(B=(G=a[Q+16>>2])+1|0,Y=k[G+1|0],255!=k[0|G])a[Q+16>>2]=B,c=8,l=(Y<<8)+l|0;else{if(Y>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,l=l+65280|0,c=8;break B}a[Q+16>>2]=B,l=(Y<<9)+l|0,c=7}if(c=c-1|0,a[Q+8>>2]=c,l<<=1,a[Q>>2]=l,f<<=1,a[Q+4>>2]=f,!(f>>>0<32768))break}c=f}else if(l=l-(f<<16)|0,a[Q>>2]=l,!(32768&c))for(J=a[(f>>>0>c>>>0?12:8)+J>>2],a[Q+100>>2]=J,f=a[Q+8>>2];;){B:if(!f)if(f=(B=a[Q+16>>2])+1|0,G=k[B+1|0],255!=k[0|B])a[Q+16>>2]=f,f=8,l=(G<<8)+l|0;else{if(G>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,l=l+65280|0,f=8;break B}a[Q+16>>2]=f,l=(G<<9)+l|0,f=7}if(f=f-1|0,a[Q+8>>2]=f,l<<=1,a[Q>>2]=l,c<<=1,a[Q+4>>2]=c,!(c>>>0<32768))break}if(c=c-(f=a[J>>2])|0,a[Q+4>>2]=c,l>>>16>>>0<f>>>0)for(a[Q+4>>2]=f,a[Q+100>>2]=a[(f>>>0>c>>>0?8:12)+J>>2],c=a[Q+8>>2];;){B:if(!c)if(B=(G=a[Q+16>>2])+1|0,Y=k[G+1|0],255!=k[0|G])a[Q+16>>2]=B,c=8,l=(Y<<8)+l|0;else{if(Y>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,l=l+65280|0,c=8;break B}a[Q+16>>2]=B,l=(Y<<9)+l|0,c=7}if(c=c-1|0,a[Q+8>>2]=c,l<<=1,a[Q>>2]=l,f<<=1,a[Q+4>>2]=f,!(f>>>0<32768))break}else if(B=l-(f<<16)|0,a[Q>>2]=B,!(32768&c))for(a[Q+100>>2]=a[(f>>>0>c>>>0?12:8)+J>>2],l=a[Q+8>>2];;){B:if(!l)if(f=(G=a[Q+16>>2])+1|0,Y=k[G+1|0],255!=k[0|G])a[Q+16>>2]=f,l=8,B=(Y<<8)+B|0;else{if(Y>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,B=B+65280|0,l=8;break B}a[Q+16>>2]=f,B=(Y<<9)+B|0,l=7}if(l=l-1|0,a[Q+8>>2]=l,B<<=1,a[Q>>2]=B,c<<=1,a[Q+4>>2]=c,!(c>>>0<32768))break}}break a}B=a[Q+24>>2],f=I[Q+112>>1],i[0|B]=f,i[B+1|0]=f>>>8,BA=BA+1|0;continue b}for(F=C(R,12),V=R<<3,AA=0,j=0-(h=1<<$>>>1|0)|0,m=12+((w=R<<2)+G|0)|0;(-4&(G=a[Q+128>>2]))>>>0>AA>>>0;){for(l=0;(0|l)!=(0|R);){if(Y=a[m>>2]){if(16==(2097168&Y)){if(E=a[(c=GA+((1048576&Y?16:495&Y?15:14)<<2)|0)>>2],B=B-(G=a[E>>2])|0,f>>>16>>>0<G>>>0){for(W=a[E+4>>2],v=G>>>0>B>>>0,a[c>>2]=a[E+(v?8:12)>>2];;){k:if(!t)if(B=(t=a[Q+16>>2])+1|0,E=k[t+1|0],255!=k[0|t])a[Q+16>>2]=B,t=8,f=(E<<8)+f|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,f=f+65280|0,t=8;break k}a[Q+16>>2]=B,f=(E<<9)+f|0,t=7}if(t=t-1|0,f<<=1,!((G<<=1)>>>0<32768))break}B=G,v=v?W:!W}else if(f=f-(G<<16)|0,32768&B)v=a[E+4>>2];else{for(W=a[E+4>>2],G=G>>>0>B>>>0,a[c>>2]=a[E+(G?12:8)>>2];;){k:if(!t)if(v=(t=a[Q+16>>2])+1|0,E=k[t+1|0],255!=k[0|t])a[Q+16>>2]=v,t=8,f=(E<<8)+f|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,f=f+65280|0,t=8;break k}a[Q+16>>2]=v,f=(E<<9)+f|0,t=7}if(t=t-1|0,f<<=1,!((B<<=1)>>>0<32768))break}v=G?!W:W}G=a[H>>2],a[H>>2]=((0|v)==(G>>>31|0)?j:h)+G,Y|=1048576}if(128==(16777344&Y)){if(E=a[(c=GA+((8388608&Y?16:3960&Y?15:14)<<2)|0)>>2],B=B-(G=a[E>>2])|0,f>>>16>>>0<G>>>0){for(W=a[E+4>>2],v=G>>>0>B>>>0,a[c>>2]=a[E+(v?8:12)>>2];;){k:if(!t)if(B=(t=a[Q+16>>2])+1|0,E=k[t+1|0],255!=k[0|t])a[Q+16>>2]=B,t=8,f=(E<<8)+f|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,f=f+65280|0,t=8;break k}a[Q+16>>2]=B,f=(E<<9)+f|0,t=7}if(t=t-1|0,f<<=1,!((G<<=1)>>>0<32768))break}B=G,W=v?W:!W}else if(f=f-(G<<16)|0,32768&B)W=a[E+4>>2];else{for(W=a[E+4>>2],G=G>>>0>B>>>0,a[c>>2]=a[E+(G?12:8)>>2];;){k:if(!t)if(v=(t=a[Q+16>>2])+1|0,E=k[t+1|0],255!=k[0|t])a[Q+16>>2]=v,t=8,f=(E<<8)+f|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,f=f+65280|0,t=8;break k}a[Q+16>>2]=v,f=(E<<9)+f|0,t=7}if(t=t-1|0,f<<=1,!((B<<=1)>>>0<32768))break}W=G?!W:W}v=a[(G=w+H|0)>>2],a[G>>2]=v+((0|W)==(v>>>31|0)?j:h),Y|=8388608}if(1024==(134218752&Y)){if(E=a[(c=GA+((67108864&Y?16:31680&Y?15:14)<<2)|0)>>2],B=B-(G=a[E>>2])|0,f>>>16>>>0<G>>>0){for(W=a[E+4>>2],v=G>>>0>B>>>0,a[c>>2]=a[E+(v?8:12)>>2];;){k:if(!t)if(B=(t=a[Q+16>>2])+1|0,E=k[t+1|0],255!=k[0|t])a[Q+16>>2]=B,t=8,f=(E<<8)+f|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,f=f+65280|0,t=8;break k}a[Q+16>>2]=B,f=(E<<9)+f|0,t=7}if(t=t-1|0,f<<=1,!((G<<=1)>>>0<32768))break}B=G,W=v?W:!W}else if(f=f-(G<<16)|0,32768&B)W=a[E+4>>2];else{for(W=a[E+4>>2],G=G>>>0>B>>>0,a[c>>2]=a[E+(G?12:8)>>2];;){k:if(!t)if(v=(t=a[Q+16>>2])+1|0,E=k[t+1|0],255!=k[0|t])a[Q+16>>2]=v,t=8,f=(E<<8)+f|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,f=f+65280|0,t=8;break k}a[Q+16>>2]=v,f=(E<<9)+f|0,t=7}if(t=t-1|0,f<<=1,!((B<<=1)>>>0<32768))break}W=G?!W:W}v=a[(G=V+H|0)>>2],a[G>>2]=v+((0|W)==(v>>>31|0)?j:h),Y|=67108864}if(8192==(1073750016&Y)){if(E=a[(c=GA+((536870912&Y?16:253440&Y?15:14)<<2)|0)>>2],B=B-(G=a[E>>2])|0,f>>>16>>>0<G>>>0){for(W=a[E+4>>2],v=G>>>0>B>>>0,a[c>>2]=a[E+(v?8:12)>>2];;){k:if(!t)if(B=(t=a[Q+16>>2])+1|0,E=k[t+1|0],255!=k[0|t])a[Q+16>>2]=B,t=8,f=(E<<8)+f|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,f=f+65280|0,t=8;break k}a[Q+16>>2]=B,f=(E<<9)+f|0,t=7}if(t=t-1|0,f<<=1,!((G<<=1)>>>0<32768))break}B=G,W=v?W:!W}else if(f=f-(G<<16)|0,32768&B)W=a[E+4>>2];else{for(W=a[E+4>>2],G=G>>>0>B>>>0,a[c>>2]=a[E+(G?12:8)>>2];;){k:if(!t)if(v=(t=a[Q+16>>2])+1|0,E=k[t+1|0],255!=k[0|t])a[Q+16>>2]=v,t=8,f=(E<<8)+f|0;else{if(E>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,f=f+65280|0,t=8;break k}a[Q+16>>2]=v,f=(E<<9)+f|0,t=7}if(t=t-1|0,f<<=1,!((B<<=1)>>>0<32768))break}W=G?!W:W}v=a[(G=H+F|0)>>2],a[G>>2]=v+((0|W)==(v>>>31|0)?j:h),Y|=536870912}a[m>>2]=Y}m=m+4|0,H=H+4|0,l=l+1|0}m=m+8|0,H=H+F|0,AA=AA+4|0}if(a[Q+8>>2]=t,a[Q+4>>2]=B,a[Q>>2]=f,a[Q+104>>2]=c,Y=0,!(G>>>0<=AA>>>0))for(;;){if(l=0,(0|Y)==(0|R))break a;for(;G-AA>>>0>l>>>0;){if(((f=a[m>>2])&2097168<<(F=C(l,3)))==16<<F){if(V=(C(l,R)<<2)+H|0,v=GA+((1048576&(f=f>>>F|0)?16:495&f?15:14)<<2)|0,a[Q+104>>2]=v,c=a[v>>2],f=a[c>>2],G=a[Q+4>>2]-f|0,a[Q+4>>2]=G,(B=a[Q>>2])>>>16>>>0<f>>>0){for(w=a[c+4>>2],a[Q+4>>2]=f,G=f>>>0>G>>>0,a[v>>2]=a[c+(G?8:12)>>2],t=a[Q+8>>2];;){k:if(!t)if(v=(c=a[Q+16>>2])+1|0,W=k[c+1|0],255!=k[0|c])a[Q+16>>2]=v,t=8,B=(W<<8)+B|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,B=B+65280|0,t=8;break k}a[Q+16>>2]=v,B=(W<<9)+B|0,t=7}if(t=t-1|0,a[Q+8>>2]=t,B<<=1,a[Q>>2]=B,f<<=1,a[Q+4>>2]=f,!(f>>>0<32768))break}B=G?w:!w}else if(B=B-(f<<16)|0,a[Q>>2]=B,32768&G)B=a[c+4>>2];else{for(w=a[c+4>>2],f=f>>>0>G>>>0,a[v>>2]=a[c+(f?12:8)>>2],t=a[Q+8>>2];;){k:if(!t)if(v=(c=a[Q+16>>2])+1|0,W=k[c+1|0],255!=k[0|c])a[Q+16>>2]=v,t=8,B=(W<<8)+B|0;else{if(W>>>0>=144){a[Q+12>>2]=a[Q+12>>2]+1,B=B+65280|0,t=8;break k}a[Q+16>>2]=v,B=(W<<9)+B|0,t=7}if(t=t-1|0,a[Q+8>>2]=t,B<<=1,a[Q>>2]=B,G<<=1,a[Q+4>>2]=G,!(G>>>0<32768))break}B=f?!w:w}f=a[V>>2],a[V>>2]=((0|B)==(f>>>31|0)?j:h)+f,a[m>>2]=a[m>>2]|1048576<<F,G=a[Q+128>>2]}l=l+1|0}m=m+4|0,H=H+4|0,Y=Y+1|0}}X||(cf(Q),fA(Q,18,46),fA(Q,17,3),fA(Q,0,4)),M=(B=3==(0|(f=M+1|0)))?0:f,rA=rA+1|0,$=$-B|0}}}a[r>>2]=$,d(_,2,8710,r)}}}a[a[B>>2]>>2]=0;break A}e:if(aA){i:{if((B=a[Q+24>>2])>>>0>(G=a[Q+16>>2])+2>>>0){if(!IA)break i;G=a[Q+16>>2],B=a[Q+24>>2],f=a[Q+20>>2],a[r+56>>2]=B-f,a[r+52>>2]=G-f,a[r+48>>2]=(B-G|0)-2,d(_,2,15229,r+48|0);break e}if((f=a[Q+12>>2])>>>0<3)break e;if(IA){a[r+80>>2]=a[Q+12>>2],d(_,2,7101,r+80|0);break e}a[r+64>>2]=f,d(_,2,7101,r- -64|0);break e}f=a[Q+20>>2],a[r+40>>2]=B-f,a[r+36>>2]=G-f,a[r+32>>2]=(B-G|0)-2,d(_,2,15229,r+32|0)}a[e+60>>2]&&(a[Q+116>>2]=x)}Y=a[YA+4>>2],G=a[e+12>>2],c=a[e+8>>2]-a[YA>>2]|0,1&(B=a[YA+16>>2])&&(f=a[wA+28>>2]+C(vA,152)|0,c=(a[f-144>>2]+c|0)-a[f-152>>2]|0),f=G-Y|0,2&B&&(B=f,f=a[wA+28>>2]+C(vA,152)|0,f=(B+a[f-140>>2]|0)-a[f-148>>2]|0),G=(G=V=a[e+60>>2])||a[Q+116>>2],X=a[Q+128>>2],oA=a[Q+124>>2];f:if(w=a[VA+808>>2]){if(l=0,(0|w)>=31)for(;;){if((0|l)==(0|X))break f;for(B=(C(l,oA)<<2)+G|0,t=0;(0|t)!=(0|oA);)a[B+(t<<2)>>2]=0,t=t+1|0;l=l+1|0}for(;;){if((0|l)==(0|X))break f;for(v=(C(l,oA)<<2)+G|0,t=0;(0|t)!=(0|oA);)(B=((B=(m=a[(Y=v+(t<<2)|0)>>2])>>31)^m)-B|0)>>>w|0&&(B=B>>>a[VA+808>>2]|0,a[Y>>2]=(0|m)<0?0-B|0:B),t=t+1|0;l=l+1|0}}if(V){if(B=C(X,oA),1==a[VA+20>>2])for(t=0;;){if((0|B)==(0|t))break A;a[(f=(t<<2)+G|0)>>2]=a[f>>2]/2,t=t+1|0}for(FA=Z(s[YA+32>>2]*Z(.5)),t=0;;){if((0|B)==(0|t))break A;s[G>>2]=FA*Z(a[G>>2]),t=t+1|0,G=G+4|0}}if(H=EA-mA|0,1==a[VA+20>>2])for(w=(a[wA+36>>2]+(C(f,H)<<2)|0)+(c<<2)|0,c=-4&oA,f=0;;){if((0|f)==(0|X))break A;for(V=w+(C(f,H)<<2)|0,l=(C(f,oA)<<2)+G|0,t=0;c>>>0>t>>>0;)v=a[(W=(m=t<<2)+l|0)+8>>2],Y=a[W+12>>2],B=a[W>>2],a[(m=V+m|0)+4>>2]=a[W+4>>2]/2,a[m>>2]=(0|B)/2,a[m+12>>2]=(0|Y)/2,a[m+8>>2]=(0|v)/2,t=t+4|0;for(;t>>>0<oA>>>0;)a[(B=t<<2)+V>>2]=a[l+B>>2]/2,t=t+1|0;f=f+1|0}for(B=(a[wA+36>>2]+(C(f,H)<<2)|0)+(c<<2)|0,FA=Z(s[YA+32>>2]*Z(.5)),Y=0;;){if(t=0,Q=B,(0|Y)==(0|X))break A;for(;(0|t)!=(0|oA);)s[Q>>2]=FA*Z(a[G>>2]),t=t+1|0,Q=Q+4|0,G=G+4|0;Y=Y+1|0,B=(H<<2)+B|0}}U(A),y=r+96|0},function(A){of(A|=0)},function(A){var f=0,e=0,i=0,r=0;if(f=a[(A|=0)+24>>2]){for(r=n[A+28>>2]/68|0;(0|i)!=(0|r);)(e=a[f>>2])&&(U(e),a[f>>2]=0),(e=a[f+4>>2])&&(U(e),a[f+4>>2]=0),U(a[f+60>>2]),a[f+60>>2]=0,i=i+1|0,f=f+68|0;U(a[A+24>>2]),a[A+24>>2]=0}},function(A){var f=0,e=0,i=0,r=0;if(f=a[(A|=0)+24>>2]){for(r=n[A+28>>2]/52|0;(0|i)!=(0|r);)(e=a[f>>2])&&(U(e-1|0),a[f>>2]=0),(e=a[f+4>>2])&&(U(e),a[f+4>>2]=0),(e=a[f+8>>2])&&(U(e),a[f+8>>2]=0),i=i+1|0,f=f+52|0;U(a[A+24>>2]),a[A+24>>2]=0}},_A,function(A,f,e){return!a[(A|=0)+8>>2]&0!=a[A+216>>2]&0!=a[A+220>>2]},function(A,f,e){f|=0,e|=0;var r,b=0,k=0,B=0,l=0,g=0,c=0,s=0,G=0,Z=0;y=r=y+-64|0,a[(A|=0)+8>>2]=1;A:{f:{if(2==(0|K(f,b=r+56|0,2,e))&&(h(b,r+60|0,2),65359==a[r+60>>2])){if(a[A+8>>2]=2,k=(b=a[f+56>>2])-2|0,g=a[f+60>>2]-(b>>>0<2)|0,b=a[A+224>>2],a[b>>2]=k,a[b+4>>2]=g,a[r+32>>2]=k,a[r+36>>2]=g,d(e,4,12763,r+32|0),qA(g=a[A+224>>2],65359,b=a[g>>2],2))break f;d(e,1,3893,0)}d(e,1,15650,0),A=0;break A}if(2==(0|K(f,a[A+16>>2],2,e))){for(h(a[A+16>>2],r+56|0,2),g=0;;){f:if(65424!=(0|(b=a[r+56>>2]))){if(b>>>0<=65279){a[r+16>>2]=b,d(e,1,2262,r+16|0),A=0;break A}e:if(l=RA(b),!(s=a[l>>2]))for(s=2,d(e,2,3841,0);;){i:{r:{if(l=2466,!(b=2!=(0|K(f,a[A+16>>2],2,e)))){if(h(a[A+16>>2],r+60|0,2),(b=a[r+60>>2])>>>0<65280)continue;if(k=RA(b),l=5391,a[k+4>>2]&a[A+8>>2]){if(!(b=a[k>>2]))break i;if(65424==(0|b)){a[r+56>>2]=65424;break f}if(qA(a[A+224>>2],0,a[f+56>>2]-s|0,s))break r;l=3893}}d(e,1,l,0),d(e,1,9841,0),A=0;break A}if(b=a[k>>2],a[r+56>>2]=b,65424==(0|b))break f;l=RA(b),s=a[l>>2];break e}s=s+2|0}if(!(a[l+4>>2]&a[A+8>>2])){d(e,1,5391,0),A=0;break A}if(2!=(0|K(f,a[A+16>>2],2,e))){d(e,1,2466,0),A=0;break A}if(h(a[A+16>>2],r+52|0,2),(b=a[r+52>>2])>>>0<=1){d(e,1,6068,0),A=0;break A}if(k=b-2|0,a[r+52>>2]=k,Z=a[A+16>>2],n[A+20>>2]<k>>>0){if(!(Z=p(Z,k))){U(a[A+16>>2]),a[A+16>>2]=0,a[A+20>>2]=0,d(e,1,4967,0),A=0;break A}a[A+16>>2]=Z,k=a[r+52>>2],a[A+20>>2]=k}if((0|(b=K(f,Z,k,e)))!=a[r+52>>2]){d(e,1,2466,0),A=0;break A}if(!(0|Ge[a[l+8>>2]](A,a[A+16>>2],b,e))){d(e,1,2484,0),A=0;break A}if(k=a[r+52>>2],!qA(a[A+224>>2],a[l>>2],(a[f+56>>2]-k|0)-4|0,k+4|0)){d(e,1,3893,0),A=0;break A}if(2!=(0|K(f,a[A+16>>2],2,e))){d(e,1,2466,0),A=0;break A}B=65372==(0|s)?1:B,g=65362==(0|s)?1:g,c=65361==(0|s)?1:c,h(a[A+16>>2],r+56|0,2);continue}break}if(c)if(g)if(B){f:{e:{if(1&i[A+212|0]){for(s=0,c=0,g=0;n[A+136>>2]>s>>>0;){if(B=a[A+140>>2]+(s<<3)|0,a[B>>2])if(b=(b=g-(k=a[B+4>>2])|0)>>>0<=g>>>0?b:0,k>>>0<=g>>>0)g=b;else for(k=k-g|0,Z=a[B>>2]+g|0,g=b;;){if(k>>>0<4){A=5665;break e}if(h(Z,r+60|0,4),(-1^(G=a[r+60>>2]))>>>0<c>>>0){A=5639;break e}if(g=(b=(B=k-4|0)>>>0<G>>>0)?G-B|0:g,c=c+G|0,k=B-G|0,Z=4+((b?0:G)+Z|0)|0,!(B>>>0>G>>>0))break}s=s+1|0}if(g){d(e,1,3061,0);break f}if(b=M(c),a[A+160>>2]=b,!b){d(e,1,4331,0);break f}for(a[A+148>>2]=c,g=0,l=0,k=0;n[A+136>>2]>g>>>0;){if(B=(G=g<<3)+a[A+140>>2]|0,a[B>>2]){b=a[A+160>>2]+l|0,c=a[B>>2];i:if((B=a[B+4>>2])>>>0<=k>>>0)B&&o(b,c,B),l=B+l|0,k=k-B|0;else{for(k&&o(b,c,k),l=k+l|0,s=B-k|0,k=k+c|0;;){if(s>>>0<=3){d(e,1,5665,0);break f}if(h(k,r+60|0,4),B=k+4|0,k=a[A+160>>2]+l|0,(c=s-4|0)>>>0<(b=a[r+60>>2])>>>0){c&&o(k,B,c),l=c+l|0,k=a[r+60>>2]-c|0;break i}if(b&&o(k,B,b),l=(b=a[r+60>>2])+l|0,k=b+B|0,!(s=c-b|0))break}k=0}U(a[G+a[A+140>>2]>>2]),b=G+a[A+140>>2]|0,a[b>>2]=0,a[b+4>>2]=0}g=g+1|0}a[A+136>>2]=0,a[A+144>>2]=a[A+160>>2],a[A+168>>2]=a[A+148>>2],U(a[A+140>>2]),a[A+140>>2]=0}d(e,4,11748,0),k=l=a[A+224>>2],b=(b=a[f+56>>2])-2|0,g=f=0,a[k+8>>2]=b,a[k+12>>2]=0;i:if(Z=a[A+68>>2]){if(!a[A+76>>2])for(c=a[l+40>>2],k=a[A+72>>2];;){if((0|f)!=(0|Z)){B=I[(f<<3)+k>>1],G=c+C(B,40)|0,a[G>>2]=B,a[G+8>>2]=a[G+8>>2]+1,f=f+1|0;continue}B=a[l+36>>2],l=0,f=0;r:{for(;;){b:{if((0|f)==(0|B))for(;;){if(l>>>0>=Z>>>0)break i;if(B=l<<3,c=a[a[A+224>>2]+40>>2]+C(I[B+k>>1],40)|0,!(s=a[c+16>>2])){if(s=D(a[c+8>>2],24),a[c+16>>2]=s,!s)break b;Z=a[A+68>>2],k=a[A+72>>2]}G=a[c+4>>2],f=C(G,24)+s|0,a[f>>2]=b,a[f+4>>2]=g,b=(B=a[4+(k+B|0)>>2])+b|0,a[f+16>>2]=b,g=b>>>0<B>>>0?g+1|0:g,a[f+20>>2]=g,a[c+4>>2]=G+1,l=l+1|0}if(a[8+(c+C(f,40)|0)>>2]){f=f+1|0;continue}a[r>>2]=f,d(e,1,9298,r);break r}break}d(e,1,6876,0)}for(a[A+76>>2]=1,e=0;;){if(n[A+68>>2]<=e>>>0)break i;f=(b=C(I[a[A+72>>2]+(e<<3)>>1],40))+a[a[A+224>>2]+40>>2]|0,a[f+8>>2]=0,U(a[f+16>>2]),a[16+(b+a[a[A+224>>2]+40>>2]|0)>>2]=0,e=e+1|0}}}else a[A+76>>2]=1;a[A+8>>2]=8,A=1;break A}d(e,1,A,0)}d(e,1,8079,0),A=0}else d(e,1,4871,0),A=0;else d(e,1,4825,0),A=0;else d(e,1,4779,0),A=0}else d(e,1,2466,0),A=0}return y=r- -64|0,0|A},function(A,f,e){f|=0,e|=0;var r,b,B,l,g,c=0,I=0,s=0,G=0,Z=0,u=0,Q=0,t=0;l=(A|=0)+104|0,g=C(a[A+128>>2],a[A+132>>2]),r=a[A+96>>2],f=a[r+16>>2],B=C(f,1080),b=C(f,f)<<2,I=a[A+12>>2],f=a[A+180>>2];A:{for(;(0|Q)!=(0|g);){if(t=a[f+5584>>2],o(f,I,5644),a[f+5608>>2]=0,a[f+5588>>2]=-1,a[f+5168>>2]=0,a[f+5636>>2]=0,a[f+5616>>2]=0,a[f+5624>>2]=0,a[f+5628>>2]=0,a[f+5584>>2]=t,i[f+5640|0]=252&k[f+5640|0],a[I+5608>>2]){if(c=M(b),a[f+5608>>2]=c,!c)break A;b&&o(c,a[I+5608>>2],b)}if(s=M(c=C(a[I+5624>>2],20)),a[f+5616>>2]=s,!s)break A;for(c&&o(s,a[I+5616>>2],c),G=a[f+5616>>2],c=a[I+5616>>2],s=0;n[I+5620>>2]>s>>>0;){if(a[c+12>>2]){if(u=M(a[c+16>>2]),a[G+12>>2]=u,!u)break A;(Z=a[c+16>>2])&&o(u,a[c+12>>2],Z)}a[f+5624>>2]=a[f+5624>>2]+1,s=s+1|0,G=G+20|0,c=c+20|0}if(s=M(c=C(a[I+5636>>2],20)),a[f+5628>>2]=s,!s)break A;for(c&&o(s,a[I+5628>>2],c),u=a[I+5636>>2],a[f+5636>>2]=u,s=a[f+5628>>2],c=a[I+5628>>2],G=0;(0|G)!=(0|u);)(Z=a[c+8>>2])&&(a[s+8>>2]=a[f+5616>>2]+(Z-a[I+5616>>2]|0)),(Z=a[c+12>>2])&&(a[s+12>>2]=a[f+5616>>2]+(Z-a[I+5616>>2]|0)),G=G+1|0,s=s+20|0,c=c+20|0;B&&o(t,a[I+5584>>2],B),Q=Q+1|0,f=f+5644|0}if(f=0,(I=D(1,72))&&(i[I+40|0]=254&k[I+40|0]|1,c=D(1,4),a[I+20>>2]=c,f=I,c||(U(f),f=0)),a[A+232>>2]=f,f)return s=a[A+236>>2],I=0,a[f+28>>2]=l,a[f+24>>2]=r,c=D(1,848),a[a[f+20>>2]>>2]=c,c&&(c=D(a[r+16>>2],76),G=a[a[f+20>>2]>>2],a[G+20>>2]=c,c&&(a[G+16>>2]=a[r+16>>2],I=a[A+188>>2],a[f+44>>2]=s,a[f>>2]=I,I=1)),I?A=1:(af(a[A+232>>2]),a[A+232>>2]=0,d(e,1,3662,0),A=0),0|A}return 0},function(A,f,e){A|=0,f|=0,e|=0;var i,r=0,b=0,k=0,B=0,l=0,g=0,o=0,c=0,I=0,s=0,G=0;y=i=y-80|0,a[i+76>>2]=1;A:{f:{if(!(1!=a[A+128>>2]|1!=a[A+132>>2]|a[A+108>>2]|a[A+112>>2]||(r=a[A+100>>2],a[r>>2]|a[r+4>>2]|a[r+8>>2]!=a[A+116>>2]|a[r+12>>2]!=a[A+120>>2]))){if(!JA(A,i+72|0,0,i+68|0,i- -64|0,i+60|0,i+56|0,i+52|0,i+76|0,f,e))break A;if(!a[i+76>>2])break f;if(!yA(A,a[i+72>>2],0,0,f,e))break f;for(r=a[A+100>>2],b=1;;){if(n[r+16>>2]<=k>>>0)break A;f=C(k,52),U(a[44+(f+a[r+24>>2]|0)>>2]),r=a[A+100>>2],e=f+a[r+24>>2]|0,c=a[A+232>>2],o=a[a[a[c+20>>2]>>2]+20>>2]+C(k,76)|0,a[e+44>>2]=a[o+36>>2],a[e+36>>2]=a[36+(f+a[a[c+24>>2]+24>>2]|0)>>2],a[o+36>>2]=0,k=k+1|0}}if(a[A+80>>2]=0,a[A+84>>2]=0,U(a[A+88>>2]),a[A+88>>2]=0,(a[A+28>>2]|a[A+32>>2]|a[A+36>>2]!=a[A+128>>2]||(o=2,a[A+40>>2]!=a[A+132>>2]))&&(o=2,!a[A+76>>2]&&KA(f))){for(B=a[A+128>>2],l=C(B,a[A+132>>2]),o=0;(0|b)!=(0|l);)r=a[a[A+224>>2]+40>>2]+C(b,40)|0,(k=a[r+4>>2])&&(k=(a[r+16>>2]+C(k,24)|0)-8|0,g=r=a[k>>2],o=(k=(I=r>>>0>o>>>0)&(0|(r=a[k+4>>2]))>=(0|c)|(0|r)>(0|c))?g:o,c=k?r:c),b=b+1|0;for(l=(r=a[A+32>>2])>>>0>(b=a[A+40>>2])>>>0?r:b,k=0;(0|r)!=(0|l);){for(g=(b=a[A+28>>2])>>>0>(g=a[A+36>>2])>>>0?b:g,I=C(C(r,B),40);(0|b)!=(0|g);)k=a[4+((I+a[a[A+224>>2]+40>>2]|0)+C(b,40)|0)>>2]+k|0,b=b+1|0;r=r+1|0}if(r=M(k<<3),a[A+88>>2]=r,!(!k|!r)){for(l=a[A+32>>2],k=0;n[A+40>>2]>l>>>0;){for(r=a[A+28>>2];n[A+36>>2]>r>>>0;){for(B=(a[a[A+224>>2]+40>>2]+C(C(a[A+128>>2],l),40)|0)+C(r,40)|0,g=a[B+4>>2],b=0;(0|b)!=(0|g);)s=a[B+16>>2]+C(b,24)|0,G=a[s+4>>2],I=a[A+88>>2]+(k<<3)|0,a[I>>2]=a[s>>2],a[I+4>>2]=G,b=b+1|0,k=k+1|0;r=r+1|0}l=l+1|0}if(a[A+84>>2]=k,l=a[A+88>>2],y=B=y-208|0,a[B+8>>2]=1,a[B+12>>2]=0,b=k<<3){for(a[B+16>>2]=8,a[B+20>>2]=8,r=2;g=a[(k=(B+16|0)+(r<<2)|0)-4>>2]+(a[k-8>>2]+8|0)|0,a[k>>2]=g,r=r+1|0,b>>>0>g>>>0;);if((0|(r=b-8|0))<=0)r=1;else for(b=r+l|0,k=1,r=1;3&~k?(n[(g=B+16|0)+((k=r-1|0)<<2)>>2]>=b-l>>>0?mA(l,B+8|0,r,0,g):PA(l,r,B+16|0),1!=(0|r)?(vA(B+8|0,k),r=1):(vA(B+8|0,1),r=0)):(PA(l,r,B+16|0),EA(B+8|0,2),r=r+2|0),k=1|a[B+8>>2],a[B+8>>2]=k,b>>>0>(l=l+8|0)>>>0;);if(mA(l,B+8|0,r,0,B+16|0),1!=(0|r)|1!=a[B+8>>2]|a[B+12>>2])for(;(0|r)<=1?(EA(g=b=B+8|0,b=Df(b)),r=r+b|0):(vA(k=B+8|0,2),a[B+8>>2]=7^a[B+8>>2],EA(k,1),mA((I=l-8|0)-a[(g=B+16|0)+((b=r-2|0)<<2)>>2]|0,k,r-1|0,1,g),vA(k,1),a[B+8>>2]=1|a[B+8>>2],mA(I,k,b,1,g),r=b),l=l-8|0,a[B+12>>2]|1!=(0|r)|1!=a[B+8>>2];);}y=B+208|0}c=(o=o+2|0)>>>0<2?c+1|0:c}b=a[A+128>>2],r=0;e:{for(;;){if(!a[a[A+180>>2]+5596>>2]|1!=(0|b)|1!=a[A+132>>2]){if(b=0,!JA(A,i+72|0,0,i+68|0,i- -64|0,i+60|0,i+56|0,i+52|0,i+76|0,f,e))break A;if(!a[i+76>>2])break e;b=a[i+72>>2]}else a[i+72>>2]=0,a[A+228>>2]=0,a[A+8>>2]=128|a[A+8>>2],b=0;B=b+1|0,k=yA(A,b,0,0,f,e),l=C(a[A+128>>2],a[A+132>>2]);i:{if(k){if(a[i+36>>2]=l,a[i+32>>2]=B,d(e,4,11789,i+32|0),xf(a[A+232>>2],a[A+100>>2]))break i}else a[i+4>>2]=l,a[i>>2]=B,d(e,1,7531,i);b=0;break A}if(!(1!=a[A+128>>2]|1!=a[A+132>>2])&&(l=a[A+100>>2],k=a[A+96>>2],a[l>>2]!=a[k>>2]|a[l+4>>2]!=a[k+4>>2]|a[l+8>>2]!=a[k+8>>2]|a[l+12>>2]!=a[k+12>>2])||XA(a[A+180>>2]+C(b,5644)|0),a[i+16>>2]=B,d(e,4,16595,i+16|0),!(P(f)|X)&64==a[A+8>>2])break e;if(r=r+1|0,b=a[A+128>>2],(0|r)==(0|C(b,a[A+132>>2])))break e;if(!(!(B=a[A+84>>2])|(0|B)!=a[A+80>>2]))break}mf(f,o,c,e)}b=zf(A,e);break A}d(e,1,8770,0)}return y=i+80|0,0|b},Be,function(A,f,e){A|=0,f|=0,e|=0;var i,r=0,b=0,k=0,B=0,l=0,g=0,o=0;y=i=y-80|0,a[i+76>>2]=1,k=a[A+44>>2];A:{f:{if(b=a[A+224>>2],!(!(r=a[b+40>>2])|!a[r+16>>2])){e:{if(r=r+C(k,40)|0,!a[r+4>>2]){if(r=a[b+8>>2],b=a[b+12>>2],AA(f,r=r+2|0,b=r>>>0<2?b+1|0:b,e))break e;b=0,d(e,1,5434,0);break A}if(b=a[r+16>>2],!AA(f,a[b>>2],a[b+4>>2],e)){d(e,1,5434,0);break f}if(2!=(0|K(f,a[A+16>>2],2,e))){d(e,1,2466,0);break f}if(h(a[A+16>>2],i+72|0,2),65424!=a[i+72>>2]){d(e,1,4067,0);break f}}256==a[A+8>>2]&&(a[A+8>>2]=8)}for(r=C(a[A+132>>2],a[A+128>>2]),b=0;;){if((0|b)==(0|r)){for(l=k+1|0;;){if(b=0,!JA(A,i+72|0,0,i+68|0,i- -64|0,i+60|0,i+56|0,i+52|0,i+76|0,f,e))break A;e:if(a[i+76>>2]){if(!yA(A,r=a[i+72>>2],0,0,f,e))break A;if(g=a[A+128>>2],o=a[A+132>>2],B=r+1|0,a[i+32>>2]=B,a[i+36>>2]=C(g,o),d(e,4,11789,i+32|0),!xf(a[A+232>>2],a[A+100>>2]))break A;if(XA(a[A+180>>2]+C(r,5644)|0),a[i+16>>2]=B,d(e,4,16595,i+16|0),(0|r)==(0|k)){if(k=a[A+224>>2],r=a[k+8>>2],k=a[k+12>>2],AA(f,r=r+2|0,k=r>>>0<2?k+1|0:k,e))break e;d(e,1,5434,0);break A}a[i+4>>2]=l,a[i>>2]=B,d(e,2,13642,i);continue}break}b=zf(A,e);break A}a[5588+(a[A+180>>2]+C(b,5644)|0)>>2]=-1,b=b+1|0;continue}}b=0}return y=i+80|0,0|b},function(A,f,e,r){A|=0,f|=0,e|=0,r|=0;var b,B=0,l=0,g=0,o=0,c=0;y=b=y-128|0,a[b+120>>2]=0;A:if(Ae(f,e,A+228|0,b+124|0,b+116|0,b+120|0,r))if(l=a[A+228>>2],g=a[A+128>>2],l>>>0>=C(g,a[A+132>>2])>>>0)a[b+112>>2]=l,d(r,1,7837,b+112|0);else if(e=a[A+180>>2]+C(l,5644)|0,o=(l>>>0)/(g>>>0)|0,f=a[b+116>>2],(0|(B=a[A+44>>2]))>=0&(0|B)!=(0|l)||(0|(B=a[e+5588>>2]+1|0))==(0|f)){a[e+5588>>2]=f;f:{e:{if((f=a[b+124>>2])-1>>>0<=12){if(12!=(0|f))break e;a[b+64>>2]=12,d(r,2,11858,b- -64|0),f=a[b+124>>2]}f||(d(r,4,10689,0),a[A+56>>2]=1);i:{r:{b:{a:{if(B=a[e+5592>>2]){if((f=a[b+116>>2])>>>0<B>>>0)break a;a[b+52>>2]=B,a[b+48>>2]=f,d(r,1,5144,b+48|0),a[A+56>>2]=1,B=0;break A}if(f=a[b+120>>2])break b;break i}if(!(f=a[b+120>>2]))break r}if(B=(k[A+92|0]>>>4&1)+f|0,a[b+120>>2]=B,(f=a[b+116>>2])>>>0>(c=a[e+5592>>2])-1>>>0){a[b+20>>2]=c,a[b+16>>2]=f,d(r,1,5045,b+16|0),a[A+56>>2]=1,B=0;break A}if(f>>>0>=B>>>0){a[b+36>>2]=B,a[b+32>>2]=f,d(r,1,5244,b+32|0),a[A+56>>2]=1,B=0;break A}a[e+5592>>2]=B}(a[b+116>>2]+1|0)==(0|B)&&(i[A+92|0]=1|k[A+92|0])}if(f=a[b+124>>2],a[A+8>>2]=16,a[A+24>>2]=a[A+56>>2]?0:f-12|0,-1!=(0|(f=a[A+44>>2]))?(B=a[A+228>>2],i[A+92|0]=251&k[A+92|0]|((0|f)!=(0|B)?4:0)):(e=4,(f=l-C(o,g)|0)>>>0<n[A+28>>2]|f>>>0>=n[A+36>>2]|o>>>0<n[A+32>>2]||(e=o>>>0>=n[A+40>>2]?4:0),i[A+92|0]=251&k[A+92|0]|e,B=a[A+228>>2]),f=a[a[A+224>>2]+40>>2]+C(B,40)|0,a[f>>2]=B,a[f+12>>2]=a[b+116>>2],e=a[b+120>>2],!a[A+76>>2]){if(n[f+4>>2]>=e>>>0)break f;a[b>>2]=B,d(r,2,1606,b),a[A+76>>2]=1,e=a[b+120>>2]}if(f=a[a[A+224>>2]+40>>2],B=a[A+228>>2],l=f+C(B,40)|0,e){if(a[l+4>>2]=e,f=a[b+120>>2],a[l+8>>2]=f,!(e=a[l+16>>2])){if(f=D(f,24),a[16+(a[a[A+224>>2]+40>>2]+C(a[A+228>>2],40)|0)>>2]=f,f)break f;B=0,d(r,1,6941,0);break A}if(f=p(e,C(f,24)),e=a[a[A+224>>2]+40>>2]+C(a[A+228>>2],40)|0,!f){U(a[e+16>>2]),B=0,a[16+(a[a[A+224>>2]+40>>2]+C(a[A+228>>2],40)|0)>>2]=0,d(r,1,6941,0);break A}a[e+16>>2]=f;break f}if(!(e=a[l+16>>2])&&(a[l+8>>2]=10,e=D(10,24),f=a[a[A+224>>2]+40>>2],B=a[A+228>>2],l=f+C(B,40)|0,a[l+16>>2]=e,!e)){B=0,a[l+8>>2]=0,d(r,1,6941,0);break A}if(l=a[b+116>>2],f=C(B,40)+f|0,l>>>0<n[f+8>>2])break f;if(B=1,g=f,f=l+1|0,a[g+8>>2]=f,f=p(e,C(f,24)),e=a[a[A+224>>2]+40>>2]+C(a[A+228>>2],40)|0,!f){U(a[e+16>>2]),B=0,A=a[a[A+224>>2]+40>>2]+C(a[A+228>>2],40)|0,a[A+8>>2]=0,a[A+16>>2]=0,d(r,1,6941,0);break A}a[e+16>>2]=f;break A}a[b+80>>2]=f,d(r,1,12127,b+80|0),B=0;break A}B=1}else a[b+104>>2]=B,a[b+100>>2]=f,a[b+96>>2]=l,d(r,1,7861,b+96|0),B=0;else d(r,1,4041,0);return y=b+128|0,0|B},function(A,f,e,r){f|=0,e|=0,r|=0;var b,B=0,l=0,g=0,c=0,I=0;y=b=y-16|0,c=a[(A|=0)+96>>2],B=16==a[A+8>>2]?a[A+180>>2]+C(a[A+228>>2],5644)|0:a[A+12>>2],i[B+5640|0]=1|k[B+5640|0];A:if(e>>>0<=4)e=0,d(r,1,4559,0);else if(h(f,B,1),n[B>>2]>=8)e=0,d(r,1,4525,0);else if(h(f+1|0,b+8|0,1),l=a[b+8>>2],a[B+4>>2]=l,(0|l)>=5&&(d(r,1,4484,0),a[B+4>>2]=-1),h(f+2|0,B+8|0,2),(g=a[B+8>>2])-65536>>>0<=4294901760)a[b>>2]=g,d(r,1,8105,b),e=0;else if(l=a[A+188>>2],a[B+12>>2]=l||g,h(f+4|0,B+16|0,1),n[B+16>>2]>=2)e=0,d(r,1,5530,0);else{for(l=f+5|0,a[b+12>>2]=e-5,e=a[c+16>>2],f=0;(0|f)!=(0|e);)a[a[B+5584>>2]+C(f,1080)>>2]=1&a[B>>2],f=f+1|0;if(e=0,Tf(A,0,l,b+12|0,r))if(a[b+12>>2])d(r,1,4559,0);else for(f=16==a[A+8>>2]?a[A+180>>2]+C(a[A+228>>2],5644)|0:a[A+12>>2],g=(f=a[f+5584>>2])+944|0,c=f+812|0,I=a[f+4>>2]<<2,e=1,r=1,B=f;;){if(n[a[A+96>>2]+16>>2]<=r>>>0)break A;a[B+1084>>2]=a[f+4>>2],a[B+1088>>2]=a[f+8>>2],a[B+1092>>2]=a[f+12>>2],a[B+1096>>2]=a[f+16>>2],a[B+1100>>2]=a[f+20>>2],(l=!I)||o(B+1892|0,c,I),l||o(B+2024|0,g,I),r=r+1|0,B=B+1080|0}else d(r,1,4559,0)}return y=b+16|0,0|e},function(A,f,e,i){f|=0,e|=0,i|=0;var r,b,k,B=0,l=0;return y=r=y-16|0,B=16==a[(A|=0)+8>>2]?a[A+180>>2]+C(a[A+228>>2],5644)|0:a[A+12>>2],k=a[A+96>>2],(b=n[k+16>>2]<257?1:2)>>>0>=e>>>0?(e=0,d(i,1,4663,0)):(a[r+12>>2]=(-1^b)+e,h(f,r+8|0,b),(l=a[r+8>>2])>>>0>=n[k+16>>2]?(e=0,d(i,1,14061,0)):(e=1,h(f=f+b|0,a[B+5584>>2]+C(l,1080)|0,1),Tf(A,a[r+8>>2],f+1|0,r+12|0,i)?a[r+12>>2]&&(e=0,d(i,1,4663,0)):(e=0,d(i,1,4663,0)))),y=r+16|0,0|e},function(A,f,e,i){f|=0,e|=0,i|=0;var r,b,k=0;return y=r=y-16|0,((k=(b=a[a[(A|=0)+96>>2]+16>>2])>>>0<257?1:2)+2|0)==(0|e)?(e=16==a[A+8>>2]?a[A+180>>2]+C(a[A+228>>2],5644)|0:a[A+12>>2],h(f,r+12|0,k),A=1,h(f=f+k|0,r+8|0,1),(k=a[r+12>>2])>>>0>=b>>>0?(a[r+4>>2]=b,a[r>>2]=k,d(i,1,14917,r),A=0):h(f+1|0,808+(a[e+5584>>2]+C(k,1080)|0)|0,1)):(A=0,d(i,1,4279,0)),y=r+16|0,0|A},function(A,f,e,i){A|=0,f|=0,e|=0,i|=0;var r,b=0,k=0;y=r=y-16|0,a[r+12>>2]=e;A:{if(!(!Pf(A,0,f,r+12|0,i)|a[r+12>>2]))for(f=16==a[A+8>>2]?a[A+180>>2]+C(a[A+228>>2],5644)|0:a[A+12>>2],b=(f=a[f+5584>>2])+28|0,k=1,e=1,i=f;;){if(n[a[A+96>>2]+16>>2]<=e>>>0)break A;a[i+1104>>2]=a[f+24>>2],a[i+1884>>2]=a[f+804>>2],o(i+1108|0,b,776),e=e+1|0,i=i+1080|0}d(i,1,4585,0)}return y=r+16|0,0|k},function(A,f,e,i){f|=0,e|=0,i|=0;var r,b=0,k=0,B=0;y=r=y-16|0;A:{f:{B=r+8|0;e:{if(n[a[(A|=0)+96>>2]+16>>2]<=256){if(e){b=-1,k=1;break e}d(i,1,4689,0),A=0;break A}if(e>>>0<=1)break f;b=-2,k=2}if(h(f,B,k),a[r+12>>2]=e+b,(e=a[r+8>>2])>>>0>=(b=a[a[A+96>>2]+16>>2])>>>0){a[r+4>>2]=b,a[r>>2]=e,d(i,1,7706,r),A=0;break A}if(!Pf(A,e,f+k|0,r+12|0,i)){d(i,1,4689,0),A=0;break A}if(A=1,!a[r+12>>2])break A;d(i,1,4689,0),A=0;break A}d(i,1,4689,0),A=0}return y=r+16|0,0|A},function(A,f,e,r){f|=0,e|=0,r|=0;var b,B,l,g=0,o=0,c=0,I=0;if(y=b=y-16|0,l=a[a[(A|=0)+96>>2]+16>>2],(0|C(g=5+((B=l>>>0<257?1:2)<<1)|0,o=(e>>>0)/(g>>>0)|0))==(0|e)&e>>>0>=g>>>0)if(g=16==a[A+8>>2]?a[A+180>>2]+C(a[A+228>>2],5644)|0:a[A+12>>2],(o=o+(A=4&(e=k[g+5640|0])?a[g+420>>2]+1|0:0)|0)>>>0>=32)a[b>>2]=o,d(r,1,7775,b),A=0;else{for(i[g+5640|0]=4|e,r=A>>>0>o>>>0?A:o,e=424+(g+C(A,148)|0)|0;(0|A)!=(0|r);)h(f,e,1),h(f=f+1|0,e+4|0,B),h(f=f+B|0,e+8|0,2),c=a[e+8>>2],I=a[g+8>>2],a[e+8>>2]=c>>>0<I>>>0?c:I,h(f+2|0,e+12|0,1),h(f=f+3|0,e+16|0,B),h(f=f+B|0,b+12|0,1),a[e+36>>2]=a[b+12>>2],c=a[e+16>>2],a[e+16>>2]=c>>>0<l>>>0?c:l,A=A+1|0,e=e+148|0,f=f+1|0;a[g+420>>2]=o-1,A=1}else d(r,1,4637,0),A=0;return y=b+16|0,0|A},function(A,f,e,i){A|=0,f|=0,i|=0;var r,B=0,l=0,g=0,o=0,c=0,I=0,s=0,G=0,Z=0,u=0,Q=0,t=0,W=0,w=0,V=0,Y=0,H=0,F=0;y=r=y-160|0;A:if((e|=0)>>>0<=35)f=0,d(i,1,6089,0);else if(o=a[A+96>>2],(0|C(c=((e=e-36|0)>>>0)/3|0,3))==(0|e)){h(f,e=r+156|0,2),b[A+104>>1]=a[r+156>>2],h(f+2|0,o+8|0,4),h(f+6|0,o+12|0,4),h(f+10|0,o,4),h(f+14|0,o+4|0,4),h(f+18|0,A+116|0,4),h(f+22|0,A+120|0,4),h(f+26|0,A+108|0,4),h(f+30|0,A+112|0,4),h(f+34|0,e,2);f:{e:{if((e=a[r+156>>2])>>>0<=16384){if(a[o+16>>2]=e,(0|e)!=(0|c)){a[r+132>>2]=c,a[r+128>>2]=e,d(i,1,14974,r+128|0);break e}if(!((e=a[o+4>>2])>>>0<(l=a[o+12>>2])>>>0&(I=a[o+8>>2])>>>0>(B=a[o>>2])>>>0)){a[r+120>>2]=l-e,a[r+124>>2]=0-(e>>>0>l>>>0),a[r+112>>2]=I-B,a[r+116>>2]=0-(B>>>0>I>>>0),d(i,1,14536,r+112|0);break e}if(g=a[A+116>>2],!(s=a[A+120>>2])||!g){a[r+4>>2]=s,a[r>>2]=g,d(i,1,15088,r);break e}if((G=a[A+108>>2])>>>0>B>>>0||B>>>0>=((g=g+G|0)>>>0<G>>>0?-1:g)>>>0||(g=a[A+112>>2])>>>0>e>>>0||!((g>>>0>(s=g+s|0)>>>0?-1:s)>>>0>e>>>0)){f=0,d(i,1,2786,0);break A}if(!a[A+248>>2]&&(g=a[A+240>>2])&&(s=a[A+244>>2])&&!((0|(B=I-B|0))==(0|g)&(0|(e=l-e|0))==(0|s))){a[r+108>>2]=e,a[r+104>>2]=B,a[r+100>>2]=s,a[r+96>>2]=g,d(i,1,14e3,r+96|0);break e}if(e=D(c,52),a[o+24>>2]=e,!e)break f;for(u=A+104|0,f=f+36|0,s=r- -64|0,g=0,B=0,c=0;n[o+16>>2]>g>>>0;){if(h(f,r+152|0,1),l=(I=a[r+152>>2])>>>7|0,a[e+32>>2]=l,I=1+(127&I)|0,a[e+24>>2]=I,a[A+248>>2]||(g?4&k[A+212|0]|(0|B)==(0|I)&(0|l)==(0|c)||(a[r+68>>2]=l,a[s>>2]=I,a[r+60>>2]=g,a[r+56>>2]=c,a[r+52>>2]=B,a[r+48>>2]=g,d(i,2,14772,r+48|0)):(B=I,c=l)),h(f+1|0,l=r+152|0,1),a[e>>2]=a[r+152>>2],h(f+2|0,l,1),l=a[r+152>>2],a[e+4>>2]=l,!(l-256>>>0>4294967040&(I=a[e>>2])-256>>>0>=4294967041)){a[r+24>>2]=l,a[r+20>>2]=I,a[r+16>>2]=g,d(i,1,14334,r+16|0);break e}if((l=a[e+24>>2])>>>0>=32){a[r+36>>2]=l,a[r+32>>2]=g,d(i,1,15396,r+32|0);break e}f=f+3|0,a[e+36>>2]=0,a[e+40>>2]=a[A+184>>2],g=g+1|0,e=e+52|0}if(f=0,!(l=a[A+116>>2]))break A;if(!(c=a[A+120>>2]))break A;if(G=a[o+8>>2],B=I=0,Q=a[A+112>>2],e=Ie(e=(s=a[o+12>>2]-Q|0)+(g=c-1|0)|0,B=s>>>0>e>>>0?B+1|0:B,c,0),a[A+132>>2]=e,Z=G-(t=a[A+108>>2])|0,B=G=0,W=Z,B=Ie(Z=Z+(s=l-1|0)|0,B=W>>>0>Z>>>0?B+1|0:B,l,0),a[A+128>>2]=B,!B|!e||!(B>>>0<=65535/(e>>>0)>>>0)){a[r+84>>2]=e,a[r+80>>2]=B,d(i,1,14114,r+80|0);break A}if(Z=C(e,B),2&k[A+92|0]?(a[A+32>>2]=(a[A+32>>2]-Q>>>0)/(c>>>0),a[A+28>>2]=(a[A+28>>2]-t>>>0)/(l>>>0),B=I,e=f=a[A+40>>2]-Q|0,H=A,F=Ie(f=f+g|0,B=e>>>0>f>>>0?B+1|0:B,c,0),a[H+40>>2]=F,B=G,e=f=a[A+36>>2]-t|0,H=A,F=Ie(f=f+s|0,B=e>>>0>f>>>0?B+1|0:B,l,0),a[H+36>>2]=F):(a[A+40>>2]=e,a[A+36>>2]=B,a[A+28>>2]=0,a[A+32>>2]=0),f=D(Z,5644),a[A+180>>2]=f,!f){f=0,d(i,1,3929,0);break A}if(f=D(a[o+16>>2],1080),a[a[A+12>>2]+5584>>2]=f,!a[a[A+12>>2]+5584>>2]){f=0,d(i,1,3929,0);break A}if(f=D(10,20),a[a[A+12>>2]+5616>>2]=f,f=a[A+12>>2],!a[f+5616>>2]){f=0,d(i,1,3929,0);break A}if(a[f+5624>>2]=10,f=D(10,20),a[a[A+12>>2]+5628>>2]=f,f=a[A+12>>2],!a[f+5628>>2]){f=0,d(i,1,3929,0);break A}for(a[f+5636>>2]=10,e=a[o+16>>2],f=0;(0|f)!=(0|e);)B=a[o+24>>2]+C(f,52)|0,a[B+32>>2]||(a[1076+(a[a[A+12>>2]+5584>>2]+C(f,1080)|0)>>2]=1<<a[B+24>>2]-1),f=f+1|0;for(e=a[A+180>>2],f=0;;){if(f>>>0<Z>>>0){if(B=D(a[o+16>>2],1080),a[e+5584>>2]=B,B){f=f+1|0,e=e+5644|0;continue}f=0,d(i,1,3929,0);break A}break}if(f=C(a[A+132>>2],a[A+128>>2]),a[a[A+224>>2]+36>>2]=f,g=D(f,40),i=a[A+224>>2],a[i+40>>2]=g,e=0,!g)break e;for(;;){if(n[i+36>>2]>e>>>0){if(f=0,c=C(e,40),a[(i=c+g|0)+20>>2]=0,a[i+28>>2]=100,B=D(100,24),i=a[A+224>>2],g=a[i+40>>2],a[24+(c+g|0)>>2]=B,e=e+1|0,B)continue;break A}break}for(a[A+8>>2]=4,A=a[u+8>>2],e=a[u+16>>2],I=(f=(f=(f=A+C(e,a[u+28>>2]-1|0)|0)>>>0>(e=f+e|0)>>>0?-1:e)>>>0<(e=a[o+12>>2])>>>0?f:e)-1|0,s=0-!f|0,f=a[u+4>>2],i=a[u+12>>2],g=(e=(e=(e=f+C(i,a[u+24>>2]-1|0)|0)>>>0>(i=e+i|0)>>>0?-1:i)>>>0<(i=a[o+8>>2])>>>0?e:i)-1|0,G=0-!e|0,u=(e=A>>>0>(e=a[o+4>>2])>>>0?A:e)-1|0,Q=0-!e|0,t=(f=(A=a[o>>2])>>>0<f>>>0?f:A)-1|0,Z=0-!f|0,Y=a[o+16>>2],e=a[o+24>>2],f=0;(0|f)!=(0|Y);)B=Q,o=Ie(A=(i=a[e+4>>2])+u|0,A>>>0<i>>>0?B+1|0:B,i,0),a[e+20>>2]=o,B=Z,w=Ie(A=(c=a[e>>2])+t|0,A>>>0<c>>>0?B+1|0:B,c,0),a[e+16>>2]=w,l=31&(A=a[e+40>>2]),(63&A)>>>0>=32?(B=-1<<l,l=0):(B=(1<<l)-1&-1>>>32-l,B|=l=-1<<l),l^=-1,W=B^=-1,B=s,B=Ie(V=i+I|0,B=V>>>0<I>>>0?B+1|0:B,i,0)-o|0,i=W,i=(o=B)>>>0>(B=B+l|0)>>>0?i+1|0:i,o=B,B=31&A,i=(63&A)>>>0>=32?i>>>B|0:((1<<B)-1&i)<<32-B|o>>>B,a[e+12>>2]=i,B=G,i=Ie(i=g+c|0,B=i>>>0<g>>>0?B+1|0:B,c,0)-w|0,B=W,B=(i=i+l|0)>>>0<l>>>0?B+1|0:B,c=i,i=31&A,A=(63&A)>>>0>=32?B>>>i|0:((1<<i)-1&B)<<32-i|c>>>i,a[e+8>>2]=A,f=f+1|0,e=e+52|0;f=1;break A}a[r+144>>2]=e,d(i,1,7926,r+144|0)}f=0;break A}f=0,a[o+16>>2]=0,d(i,1,3929,0)}else f=0,d(i,1,6089,0);return y=r+160|0,0|f},function(A,f,e,i){A|=0,f|=0,i|=0;var r,k=0,B=0,l=0,g=0,o=0,c=0,I=0;y=r=y-32|0,c=1;A:if((e|=0)>>>0<=1)c=0,d(i,1,10056,0);else if(!a[A+76>>2])if(h(f,r+28|0,1),h(f+1|0,r+24|0,1),3!=(0|(l=(B=a[r+24>>2])>>>4&3)))if((0|(e=e-2|0))==(0|C(k=(g=2+(B>>>5&2)|0)+l|0,B=(e>>>0)/(k>>>0)|0))){if(!(e>>>0<k>>>0))if((e=a[A+68>>2])>>>0<=(-1^B)>>>0&&(e=e+B|0)>>>0<536870912)if(o=p(a[A+72>>2],e<<3))for(e=f+2|0,a[A+72>>2]=o,f=0;;){if((0|f)==(0|B))break A;if(l?(h(e,r+20|0,l),e=e+l|0,k=a[r+20>>2]):(k=a[A+68>>2],a[r+20>>2]=k),C(a[A+132>>2],a[A+128>>2])>>>0<=k>>>0){a[A+76>>2]=1,a[r>>2]=k,d(i,2,7793,r);break}h(e,r+16|0,g),k=a[A+68>>2],b[(I=(k<<3)+o|0)>>1]=a[r+20>>2],a[I+4>>2]=a[r+16>>2],a[A+68>>2]=k+1,f=f+1|0,e=e+g|0}else a[A+76>>2]=1,d(i,2,9437,0);else a[A+76>>2]=1,d(i,2,9394,0)}else a[A+76>>2]=1,d(i,2,11133,0);else a[A+76>>2]=1,d(i,2,11552,0);return y=r+32|0,0|c},function(A,f,e,i){return A|=0,i|=0,(e|=0)?A=1:(d(i,1,4369,0),A=0),0|A},function(A,f,e,i){A|=0,f|=0,i|=0;var r=0,b=0,k=0;if(y=A=y-16|0,e|=0){for(h(f,A+12|0,1),k=e-1|0,e=0;(0|e)!=(0|k);)h(f=f+1|0,A+8|0,1),b=(r=a[A+8>>2])<<24>>31&(127&r|b)<<7,e=e+1|0;f=1,b&&(d(i,1,4100,0),f=0)}else d(i,1,4100,0),f=0;return y=A+16|0,0|f},function(A,f,e,r){A|=0,f|=0,r|=0;var b,B=0,l=0,c=0,I=0;y=b=y-16|0;A:if((e|=0)>>>0<=1)d(r,1,4305,0),A=0;else{if(i[A+212|0]=1|k[A+212|0],h(f,b+12|0,1),B=a[A+140>>2]){if(!((l=a[b+12>>2])>>>0<n[A+136>>2])){if(!(l=p(c=B,(B=l+1|0)<<3))){d(r,1,4331,0),A=0;break A}a[A+140>>2]=l,(I=B-(c=a[A+136>>2])<<3)&&g(l+(c<<3)|0,0,I),a[A+136>>2]=B,B=a[A+140>>2]}}else{if(B=D(l=a[b+12>>2]+1|0,8),a[A+140>>2]=B,!B){d(r,1,4331,0),A=0;break A}a[A+136>>2]=l}c=B,B=a[b+12>>2],a[c+(B<<3)>>2]?(a[b>>2]=B,d(r,1,7079,b),A=0):(B=M(e=e-1|0),l=(A=a[A+140>>2])+(a[b+12>>2]<<3)|0,a[l>>2]=B,B?(a[l+4>>2]=e,e&&o(a[A+(a[b+12>>2]<<3)>>2],f+1|0,e),A=1):(d(r,1,4331,0),A=0))}return y=b+16|0,0|A},function(A,f,e,r){A|=0,f|=0,r|=0;var b,B=0,l=0,c=0,I=0;y=b=y-16|0;A:if((e|=0)>>>0<=1)d(r,1,3977,0),A=0;else if(1&i[A+212|0])d(r,1,12662,0),A=0;else{if(A=a[A+180>>2]+C(a[A+228>>2],5644)|0,i[A+5640|0]=2|k[A+5640|0],h(f,b+12|0,1),B=a[A+5164>>2]){if(!((l=a[b+12>>2])>>>0<n[A+5160>>2])){if(!(l=p(c=B,(B=l+1|0)<<3))){d(r,1,4003,0),A=0;break A}a[A+5164>>2]=l,(I=B-(c=a[A+5160>>2])<<3)&&g(l+(c<<3)|0,0,I),a[A+5160>>2]=B,B=a[A+5164>>2]}}else{if(B=D(l=a[b+12>>2]+1|0,8),a[A+5164>>2]=B,!B){d(r,1,4003,0),A=0;break A}a[A+5160>>2]=l}c=B,B=a[b+12>>2],a[c+(B<<3)>>2]?(a[b>>2]=B,d(r,1,7057,b),A=0):(B=M(e=e-1|0),l=(A=a[A+5164>>2])+(a[b+12>>2]<<3)|0,a[l>>2]=B,B?(a[l+4>>2]=e,e&&o(a[A+(a[b+12>>2]<<3)>>2],f+1|0,e),A=1):(d(r,1,4003,0),A=0))}return y=b+16|0,0|A},function(A,f,e,i){return e|=0,i|=0,a[a[(A|=0)+96>>2]+16>>2]<<2!=(0|e)?(d(i,1,4458,0),A=0):A=1,0|A},OA,function(A,f,e,i){f|=0,e|=0,i|=0;var r,b=0,B=0,l=0,c=0,I=0,n=0,s=0,G=0;y=r=y-16|0,b=16==a[(A|=0)+8>>2]?a[A+180>>2]+C(a[A+228>>2],5644)|0:a[A+12>>2];A:if(e>>>0<=1)d(i,1,4126,0),A=0;else{if(h(f,r+12|0,2),a[r+12>>2])d(i,2,3602,0);else{if(e>>>0<=6){d(i,1,4126,0),A=0;break A}h(f+2|0,r+12|0,2),s=f+4|0,B=a[b+5620>>2],n=k[r+12|0],A=l=a[b+5616>>2];f:{for(;(0|B)!=(0|c);){if(a[A+8>>2]==(0|n))break f;c=c+1|0,A=A+20|0}if(a[b+5624>>2]==(0|B)){if(A=B+10|0,a[b+5624>>2]=A,B=p(l,C(A,20)),l=a[b+5616>>2],!B){U(l),a[b+5624>>2]=0,a[b+5616>>2]=0,a[b+5620>>2]=0,d(i,1,4152,0),A=0;break A}e:if((0|B)!=(0|l))for(G=a[b+5632>>2],A=0;;){if((0|A)==(0|G))break e;c=a[b+5628>>2]+C(A,20)|0,(I=a[c+8>>2])&&(a[c+8>>2]=B+(I-l|0)),(I=a[c+12>>2])&&(a[c+12>>2]=B+(I-l|0)),A=A+1|0}a[b+5616>>2]=B,A=a[b+5620>>2],(l=C(a[b+5624>>2]-A|0,20))&&g(B+C(A,20)|0,0,l),l=a[b+5616>>2],B=a[b+5620>>2]}a[b+5620>>2]=B+1,A=C(B,20)+l|0}if((b=a[A+12>>2])&&(U(b),a[A+12>>2]=0,a[A+16>>2]=0),a[A+8>>2]=n,b=a[r+12>>2],a[A>>2]=b>>>10&3,a[A+4>>2]=b>>>8&3,h(s,r+12|0,2),a[r+12>>2])d(i,2,3017,0);else{if(b=M(e=e-6|0),a[A+12>>2]=b,!b){d(i,1,4126,0),A=0;break A}e&&o(b,f+6|0,e),a[A+16>>2]=e}}A=1}return y=r+16|0,0|A},function(A,f,e,i){f|=0,e|=0,i|=0;var r,b,k=0,B=0,l=0,g=0;y=r=y-16|0;A:if(((b=a[a[(A|=0)+96>>2]+16>>2])+2|0)==(0|e))if(h(f,r+12|0,2),a[r+12>>2]==(0|b)){for(f=f+2|0,A=a[a[A+96>>2]+24>>2],e=0,k=1;;){if((0|e)==(0|b))break A;if(h(f,r+8|0,1),g=(l=127&(B=a[r+8>>2]))+1|0,a[A+24>>2]=g,a[A+32>>2]=B>>>7&1,l>>>0>=31){a[r+4>>2]=g,a[r>>2]=e,d(i,1,15396,r);break}e=e+1|0,A=A+52|0,f=f+1|0}k=0}else d(i,1,4611,0);else d(i,1,4611,0);return y=r+16|0,0|k},OA,OA,function(A,f,e,r){f|=0,e|=0,r|=0;var b,B=0,l=0,o=0,c=0,I=0,n=0,s=0,G=0,Z=0;y=b=y-16|0,l=16==a[(A|=0)+8>>2]?a[A+180>>2]+C(a[A+228>>2],5644)|0:a[A+12>>2];A:if(e>>>0<=1)d(r,1,4715,0),A=0;else if(h(f,b+12|0,2),a[b+12>>2])d(r,2,5891,0),A=1;else if(e>>>0<=6)d(r,1,4715,0),A=0;else{h(f+2|0,b+8|0,1),n=f+3|0,s=a[l+5632>>2],B=a[b+8>>2],A=o=a[l+5628>>2];f:{for(;(0|s)!=(0|G);){if(a[A>>2]==(0|B))break f;G=G+1|0,A=A+20|0}if(a[l+5636>>2]!=(0|s))A=s;else{if(A=s+10|0,a[l+5636>>2]=A,!(A=p(o,C(A,20)))){U(a[l+5628>>2]),a[l+5636>>2]=0,a[l+5628>>2]=0,a[l+5632>>2]=0,d(r,1,4741,0),A=0;break A}a[l+5628>>2]=A,B=a[l+5632>>2],(o=C(a[l+5636>>2]-B|0,20))&&g(A+C(B,20)|0,0,o),o=a[l+5628>>2],B=a[b+8>>2],A=a[l+5632>>2]}A=C(A,20)+o|0}if(a[A>>2]=B,h(n,b+12|0,2),a[b+12>>2])d(r,2,5891,0),A=1;else if(h(f+5|0,b+4|0,2),(B=a[b+4>>2])>>>0>=2)d(r,2,3124,0),A=1;else{for(o=e-7|0,e=f+7|0,n=0;;){f:{if(B>>>0>n>>>0){if(o>>>0<=2){d(r,1,4715,0),A=0;break A}if(h(e,b+12|0,1),1!=a[b+12>>2]){d(r,2,5573,0),A=1;break A}if(h(e+1|0,b,2),B=32767&(f=a[b>>2]),a[A+4>>2]=B,(c=o-3|0)>>>0<(f=C(o=1+(f>>>15|0)|0,B)+2|0)>>>0){d(r,1,4715,0),A=0;break A}for(c=c-f|0,f=e+3|0,e=0;e>>>0<B>>>0;){if(h(f,b+12|0,o),a[b+12>>2]!=(0|e)){d(r,2,6253,0),A=1;break A}e=e+1|0,f=f+o|0,B=a[A+4>>2]}if(h(f,b,2),B=32767&(e=a[b>>2]),a[b>>2]=B,a[A+4>>2]!=(0|B)){d(r,2,3300,0),A=1;break A}if((e=C(I=1+(e>>>15|0)|0,B)+3|0)>>>0>c>>>0){d(r,1,4715,0),A=0;break A}for(f=f+2|0,o=c-e|0,e=0;e>>>0<B>>>0;){if(h(f,b+12|0,I),a[b+12>>2]!=(0|e)){d(r,2,6253,0),A=1;break A}e=e+1|0,f=f+I|0,B=a[A+4>>2]}if(h(f,b+12|0,3),c=a[b+12>>2],a[A+8>>2]=0,a[A+12>>2]=0,i[A+16|0]=!(65536&c)|254&k[A+16|0],I=255&c,a[b+8>>2]=I,!I)break f;for(Z=a[l+5620>>2],B=a[l+5616>>2],e=0;(0|e)!=(0|Z);){if((0|I)==a[B+8>>2]){a[A+8>>2]=B;break f}e=e+1|0,B=B+20|0}d(r,1,4715,0),A=0;break A}if(o){d(r,1,4715,0),A=0;break A}if(A=1,(0|s)!=(0|G))break A;a[l+5632>>2]=a[l+5632>>2]+1,A=1;break A}c=c>>>8&255,a[b+8>>2]=c;f:{if(c){for(I=a[l+5620>>2],B=a[l+5616>>2],e=0;;){if((0|e)==(0|I))break f;if((0|c)==a[B+8>>2])break;e=e+1|0,B=B+20|0}a[A+12>>2]=B}e=f+3|0,n=n+1|0,B=a[b+4>>2];continue}break}d(r,1,4715,0),A=0}}return y=b+16|0,0|A},function(A,f,e,i){f|=0,e|=0,i|=0;var r,b=0,k=0,B=0,l=0,g=0,o=0,c=0;y=r=y-16|0,g=16==a[(A|=0)+8>>2]?a[A+180>>2]+C(a[A+228>>2],5644)|0:a[A+12>>2];A:if(e)if(l=a[A+96>>2],b=1,h(f,r+8|0,1),(B=a[r+8>>2])>>>0>=2)d(i,2,9786,0);else if((B+1|0)==(0|e)){f:if(1==(0|B))for(i=a[l+16>>2],e=a[g+5584>>2],b=0;;){if((0|i)==(0|b))break f;a[e+1076>>2]=0,b=b+1|0,e=e+1080|0}for((e=a[g+5608>>2])&&(U(e),a[g+5608>>2]=0);;){if(n[r+8>>2]<=c>>>0){b=1;break A}h(f=f+1|0,r+12|0,1),e=a[g+5632>>2],l=a[g+5628>>2],o=a[A+96>>2],b=0,i=a[r+12>>2];f:{for(;;){if((0|e)==(0|b))break f;if(b=b+1|0,(0|i)==a[l>>2])break}if((0|(e=a[l+4>>2]))==a[o+16>>2]){e:if(k=a[l+8>>2]){if(b=0,B=C(e,e),a[k+16>>2]!=(0|C(B,a[24880+(a[k>>2]<<2)>>2])))break A;if(i=M(B<<2),a[g+5608>>2]=i,!i)break A;e=a[k+12>>2];i:switch(a[k>>2]-1|0){default:for(y=k=y-16|0;(0|b)!=(0|B);)h(e,k+12|0,2),s[i>>2]=n[k+12>>2],b=b+1|0,i=i+4|0,e=e+2|0;y=k+16|0;break e;case 0:for(y=k=y-16|0;(0|b)!=(0|B);)h(e,k+12|0,4),s[i>>2]=n[k+12>>2],b=b+1|0,i=i+4|0,e=e+4|0;y=k+16|0;break e;case 1:for(y=k=y-16|0;(0|b)!=(0|B);)_f(e,k+12|0),s[i>>2]=s[k+12>>2],b=b+1|0,i=i+4|0,e=e+4|0;y=k+16|0;break e;case 2:break i}for(y=k=y-16|0;(0|b)!=(0|B);)ee(e,k+8|0),s[i>>2]=G[k+8>>3],b=b+1|0,i=i+4|0,e=e+8|0;y=k+16|0}if(e=a[l+12>>2]){if(b=0,l=a[o+16>>2],a[e+16>>2]!=(0|C(l,a[24880+(a[e>>2]<<2)>>2])))break A;if(!(B=M(l<<2)))break A;i=a[e+12>>2];e:{i:switch(a[e>>2]-1|0){default:for(b=B,e=0,y=k=y-16|0;(0|e)!=(0|l);)h(i,k+12|0,2),a[b>>2]=a[k+12>>2],e=e+1|0,b=b+4|0,i=i+2|0;break e;case 0:for(b=B,e=0,y=k=y-16|0;(0|e)!=(0|l);)h(i,k+12|0,4),a[b>>2]=a[k+12>>2],e=e+1|0,b=b+4|0,i=i+4|0;break e;case 1:for(b=B,e=0,y=k=y-16|0;(0|e)!=(0|l);)_f(i,k+12|0),a[b>>2]=~~s[k+12>>2],e=e+1|0,b=b+4|0,i=i+4|0;break e;case 2:break i}for(b=B,e=0,y=k=y-16|0;(0|e)!=(0|l);)ee(i,k+8|0),a[b>>2]=~~G[k+8>>3],e=e+1|0,b=b+4|0,i=i+8|0}for(y=k+16|0,l=a[o+16>>2],e=a[g+5584>>2],b=0,i=B;(0|b)!=(0|l);)a[e+1076>>2]=a[i>>2],b=b+1|0,e=e+1080|0,i=i+4|0;U(B)}}}c=c+1|0}}else b=0,d(i,2,4253,0);else d(i,1,4253,0);return y=r+16|0,0|b},function(A,f,e){A|=0,f|=0,e|=0;var i,r=0,b=0,B=0,l=0,g=0,o=0,c=0,I=0,n=0,s=0,G=0,C=0;y=i=y-112|0,c=1024;A:{f:{if(l=D(1,1024)){for(s=i+92|0,I=i+108|0;;){e:{i:{r:if(8==(0|K(f,r=i+104|0,8,e))){h(r,i+88|0,4),h(I,s,4),B=8;b:{a:{k:{B:switch(a[i+88>>2]){case 0:if(r=P(f),b=(0|(b=X))<0?1:r>>>0<4294967288&(0|b)<=0)break k;d(e,1,8443,0);break r;case 1:break B;default:break b}if(8!=(0|K(f,r=i+104|0,8,e)))break r;if(h(r,i+100|0,4),!a[i+100>>2])break a;d(e,1,8443,0);break r}a[i+88>>2]=r+8;break b}h(I,i+88|0,4),B=16}if(1785737827==(0|(g=a[i+92>>2]))){if(4&(f=a[A+100>>2])){a[A+100>>2]=8|f;break r}d(e,1,5696,0),U(l),A=0;break A}if(!(b=a[i+88>>2])){d(e,1,3262,0),U(l),A=0;break A}if(b>>>0<B>>>0){a[i+4>>2]=g,a[i>>2]=b,d(e,1,13927,i);break f}n=0,o=1;b:{a:{if(1718909296!=(0|g)){if(r=25184,1783636e3==(0|g))break b;if(1785737832==(0|g))break a;n=1,o=0,r=0;break b}r=25192;break b}r=25200}if(b=b-B|0,(B=pf(g))|o){if(n&&(a[i+76>>2]=255&g,a[i+64>>2]=g>>>24,a[i+72>>2]=g>>>8&255,a[i+68>>2]=g>>>16&255,d(e,2,2005,i- -64|0),r=B,!(4&k[A+100|0]))){if(r=a[i+92>>2],a[i+16>>2]=r>>>24,a[i+28>>2]=255&r,a[i+20>>2]=r>>>16&255,a[i+24>>2]=r>>>8&255,d(e,2,6765,i+16|0),a[A+100>>2]=2147483647|a[A+100>>2],r=FA(f,b,e),!X&(0|r)==(0|b))continue;d(e,1,3742,0),U(l),A=0;break A}if(B=P(f),B=(0|(o=X))<0?1:(0|o)<=0&b>>>0>B>>>0){r=a[i+88>>2],B=a[i+92>>2],G=i,C=P(f),a[G+56>>2]=C,a[i+52>>2]=b,a[i+48>>2]=255&B,a[i+36>>2]=B>>>24,a[i+32>>2]=r,a[i+44>>2]=B>>>8&255,a[i+40>>2]=B>>>16&255,d(e,1,15674,i+32|0);break f}if(b>>>0<=c>>>0){B=l;break e}if(c=b,B=p(l,b))break e;U(l),d(e,1,2187,0),A=0;break A}if(!(1&(r=a[A+100>>2]))){d(e,1,2056,0),U(l),A=0;break A}if(!(2&r)){d(e,1,2126,0),U(l),A=0;break A}if(a[A+100>>2]=2147483647|r,r=FA(f,b,e),!X&(0|r)==(0|b))continue;if(!(8&k[A+100|0]))break i;d(e,2,3742,0)}U(l),A=1;break A}d(e,1,3742,0),U(l),A=0;break A}if((0|K(f,B,b,e))!=(0|b)){d(e,1,3792,0),U(B),A=0;break A}if(l=B,!(0|Ge[a[r+4>>2]](A,l,b,e)))break}U(l),A=0;break A}d(e,1,4917,0),A=0;break A}U(l),A=0}return y=i+112|0,0|A},function(A,f,e,i){var r;return f|=0,e|=0,i|=0,y=r=y-16|0,a[(A|=0)+100>>2]?(d(i,1,11296,0),A=0):4==(0|e)?(h(f,r+12|0,4),218793738==a[r+12>>2]?(a[A+100>>2]=1|a[A+100>>2],A=1):(d(i,1,5001,0),A=0)):(d(i,1,5985,0),A=0),y=r+16|0,0|A},function(A,f,e,i){f|=0,e|=0,i|=0;var r=0;if(1!=a[(A|=0)+100>>2])return d(i,1,11395,0),0;if(!(e>>>0<=7||(h(f,A+56|0,4),h(f+4|0,A+60|0,4),3&e))){if(r=(e=e-8|0)>>>2|0,a[A+64>>2]=r,e&&(e=D(r,4),a[A+68>>2]=e,!e))return d(i,1,2229,0),0;for(e=f+8|0,i=0;i>>>0<n[A+64>>2];)h(e,a[A+68>>2]+(i<<2)|0,4),i=i+1|0,e=e+4|0;return a[A+100>>2]=2|a[A+100>>2],1}return d(i,1,5949,0),0},function(A,f,e,r){f|=0,e|=0,r|=0;var b,B=0,l=0,g=0,o=0,c=0;y=b=y-16|0;A:if(2&k[(A|=0)+100|0]){a[A+104>>2]=0;f:{e:{for(;e;){if(e>>>0<=7){d(r,1,3397,0);break f}h(f,l=b+12|0,4),B=a[b+12>>2],h(f+4|0,l,4),l=8,g=a[b+12>>2];i:{r:{b:switch(0|B){case 1:if(e>>>0<16){B=3437;break e}if(h(f+8|0,b+8|0,4),a[b+8>>2]){B=8443;break e}if(h(f+12|0,b+12|0,4),B=a[b+12>>2])break r;B=3262;break e;case 0:break b;default:break i}d(r,1,3262,0);break f}l=16}if(B>>>0<l>>>0){d(r,1,9142,0);break f}if(e>>>0<B>>>0){d(r,1,9070,0),A=0;break A}i:{if(o=pf(g)){if(0|Ge[a[o+4>>2]](A,f+l|0,B-l|0,r))break i;A=0;break A}a[A+104>>2]=2147483647|a[A+104>>2]}c=1768449138==(0|g)?1:c,e=e-B|0,f=f+B|0}if(!c){d(r,1,8970,0),A=0;break A}i[A+132|0]=1,a[A+100>>2]=4|a[A+100>>2],A=1;break A}d(r,1,B,0)}d(r,1,1962,0),A=0}else d(r,1,11350,0),A=0;return y=b+16|0,0|A},function(A,f,e,r){f|=0,e|=0,r|=0;var b,B=0,l=0;y=b=y-32|0;A:if(a[(A|=0)+72>>2])d(r,2,7009,0),e=1;else if(14==(0|e)){h(f,A+16|0,4),h(f+4|0,A+12|0,4),h(f+8|0,A+20|0,2),B=a[A+12>>2];f:{if(l=a[A+16>>2],e=a[A+20>>2],l&&(e=a[A+20>>2],B)){if(e)break f;e=0}a[b+8>>2]=e,a[b+4>>2]=l,a[b>>2]=B,d(r,1,14283,b),e=0;break A}e>>>0>=16385?(e=0,d(r,1,14197,0)):(e=D(e,12),a[A+72>>2]=e,e?(e=1,h(f+10|0,A+24|0,1),h(f+11|0,A+28|0,1),7!=(0|(B=a[A+28>>2]))&&(a[b+16>>2]=B,d(r,4,16266,b+16|0)),h(f+12|0,A+32|0,1),h(f+13|0,A+36|0,1),f=a[A>>2],i[f+212|0]=251&k[f+212|0]|(255==a[A+24>>2]?4:0),f=a[A>>2],a[f+240>>2]=a[A+12>>2],a[f+244>>2]=a[A+16>>2],i[A+133|0]=1):(e=0,d(r,1,14234,0)))}else e=0,d(r,1,14439,0);return y=b+32|0,0|e},function(A,f,e,r){A|=0,f|=0,r|=0;var b,B=0,l=0,g=0,o=0,c=0;y=b=y-80|0;A:if((e|=0)>>>0<=2)d(r,1,14472,0);else if(k[A+124|0])d(r,4,11187,0),l=1;else{l=1,h(f,A+40|0,1),h(f+1|0,A+52|0,1),h(f+2|0,A+44|0,1),B=f+3|0;f:{e:{i:{r:{b:switch((g=a[A+40>>2])-1|0){case 0:break b;case 1:break r;default:break i}if(e>>>0<=6){a[b+16>>2]=e,d(r,1,15149,b+16|0),l=0;break A}if(7==(0|e)|14==a[A+48>>2]||(a[b+48>>2]=e,d(r,2,15149,b+48|0)),h(B,A+48|0,4),14!=a[A+48>>2])break f;if(!(B=M(36))){l=0,d(r,1,7987,0);break A}a[B>>2]=14,a[b+64>>2]=0,a[b+56>>2]=0,a[b+72>>2]=0,a[b+60>>2]=0,a[b+68>>2]=0,a[b+76>>2]=0,l=4470064,a[b+52>>2]=4470064,a[B+4>>2]=1145390592;b:{if(7!=(0|e)){if(35==(0|e)){h(f+7|0,b+76|0,4),h(f+11|0,b+72|0,4),h(f+15|0,b+68|0,4),h(f+19|0,b- -64|0,4),h(f+23|0,b+60|0,4),h(f+27|0,b+56|0,4),h(f+31|0,b+52|0,4),a[B+4>>2]=0,l=a[b+52>>2],e=a[b+56>>2],r=a[b+64>>2],o=a[b+68>>2],c=a[b+76>>2],g=a[b+72>>2],f=a[b+60>>2];break b}a[b+32>>2]=e,d(r,2,15185,b+32|0)}e=0,r=0,g=0,f=0}a[B+24>>2]=f,a[B+16>>2]=o,a[B+8>>2]=c,a[B+32>>2]=l,a[B+28>>2]=e,a[B+20>>2]=r,a[B+12>>2]=g,a[A+112>>2]=0,a[A+108>>2]=B;break f}if(f=e-3|0,a[A+112>>2]=f,e=D(1,f),a[A+108>>2]=e,!e)break e;for(e=0,f=(0|f)>0?f:0;;){if((0|f)==(0|e))break f;h(B,b+76|0,1),i[a[A+108>>2]+e|0]=a[b+76>>2],e=e+1|0,B=B+1|0}}if(g>>>0<3)break A;a[b>>2]=g,d(r,4,15944,b);break A}l=0,a[A+112>>2]=0;break A}l=1,i[A+124|0]=1}return y=b+80|0,0|l},function(A,f,e,i){f|=0,e|=0,i|=0;var r,b=0;y=r=y-16|0,255!=(0|(b=a[(A|=0)+24>>2]))&&(a[r>>2]=b,d(i,2,2672,r));A:{if(a[A+20>>2]==(0|e))for(i=0,b=1;;){if(e>>>0<=i>>>0)break A;h(f,8+(a[A+72>>2]+C(i,12)|0)|0,1),i=i+1|0,f=f+1|0,e=a[A+20>>2]}b=0,d(i,1,14504,0)}return y=r+16|0,0|b},function(A,f,e,r){f|=0,e|=0,r|=0;var B,l=0,g=0,o=0,c=0,n=0,s=0,G=0,Z=0;y=B=y-16|0;A:if(!(a[(A|=0)+120>>2]|e>>>0<3))if(h(f,B+12|0,2),(G=I[B+12>>1])-1025>>>0<=4294966271)a[B>>2]=G,d(r,1,3520,B);else if(h(f+2|0,B+12|0,1),c=I[B+12>>1]){if(!(c+3>>>0>e>>>0)&&(o=M(C(c,G)<<2)))if(s=M(c))if(l=M(c))if(g=M(20))for(r=f+3|0,a[g+8>>2]=s,a[g+4>>2]=l,b[g+16>>1]=G,a[g>>2]=o,Z=a[B+12>>2],a[g+12>>2]=0,i[g+18|0]=Z,a[A+120>>2]=g;;){if((0|n)!=(0|c)){h(r,B+12|0,1),i[n+s|0]=1+(127&k[B+12|0]),i[l+n|0]=(128&a[B+12>>2])>>>7,n=n+1|0,r=r+1|0;continue}for(g=0,n=1;;){if(A=0,(65535&g)>>>0>=G>>>0)break A;for(;(l=65535&A)>>>0<c>>>0;){if(((l=(l=k[l+s|0]+7>>>3|0)>>>0>=4?4:l)+(r-f|0)|0)>(0|e)){n=0;break A}h(r,B+12|0,l),a[o>>2]=a[B+12>>2],A=A+1|0,o=o+4|0,r=r+l|0}g=g+1|0}}else U(o),U(s),U(l);else U(o),U(s);else U(o)}else d(r,1,3168,0);return y=B+16|0,0|n},function(A,f,e,r){f|=0,e|=0,r|=0;var B,l=0,g=0,o=0;if(y=B=y-16|0,l=a[(A|=0)+120>>2]){if(a[l+12>>2])d(r,1,11592,0),e=0;else if((l=(o=k[l+18|0])<<2)>>>0>e>>>0)d(r,1,8797,0),e=0;else if(e=0,r=M(l)){for(;(0|e)!=(0|o);)h(f,l=B+12|0,2),b[(g=r+(e<<2)|0)>>1]=a[B+12>>2],h(f+2|0,l,1),i[g+2|0]=a[B+12>>2],h(f+3|0,l,1),i[g+3|0]=a[B+12>>2],e=e+1|0,f=f+4|0;a[a[A+120>>2]+12>>2]=r,e=1}}else d(r,1,8830,0),e=0;return y=B+16|0,0|e},function(A,f,e,i){f|=0,e|=0,i|=0;var r,k=0,B=0,l=0;y=r=y-16|0;A:if(!a[(A|=0)+116>>2])if(e>>>0<=1)d(i,1,8876,0);else if(h(f,r+12|0,2),B=65535&(k=a[r+12>>2])){if(C(B,6)+2>>>0>e>>>0)d(i,1,8876,0);else if(k=M(C(k,6)))if(e=M(8),a[A+116>>2]=e,e)for(a[e>>2]=k,i=a[r+12>>2],b[e+4>>1]=i,e=0,l=1;;){if((65535&i)>>>0<=e>>>0)break A;h(f+2|0,i=r+12|0,2),B=k+C(e,6)|0,b[B>>1]=a[r+12>>2],h(f+4|0,i,2),b[B+2>>1]=a[r+12>>2],h(f=f+6|0,i,2),b[B+4>>1]=a[r+12>>2],e=e+1|0,i=I[a[A+116>>2]+4>>1]}else U(k)}else d(i,1,8909,0);return y=r+16|0,0|l},function(A,f,e){A|=0,f|=0;var i,r=0;return(0|(i=a[(e|=0)+4>>2]))==(0|(r=a[e>>2]+a[e+8>>2]|0))?-1:((f=f>>>0>(r=r-i|0)>>>0?r:f)&&o(A,i,f),a[e+4>>2]=f+a[e+4>>2],0|f)},function(A,f,e){A|=0,f|=0;var i,r=0,b=0,k=0,B=0;for(r=(b=a[(e|=0)+8>>2])>>>0<=1?1:b,i=(k=a[e+4>>2])-a[e>>2]|0;B=r,r<<=1,B-i>>>0<f>>>0;);if((0|b)!=(0|B)){if(!(r=M(B)))return-1;(b=a[e>>2])&&(i&&o(r,b,i),U(a[e>>2])),a[e+8>>2]=B,a[e>>2]=r,k=r+i|0,a[e+4>>2]=k}return f&&o(k,A,f),a[e+4>>2]=a[e+4>>2]+f,0|f},function(A,f,e){A|=0,f|=0;var i,r=0,b=0;return(0|(r=a[(e|=0)+4>>2]))==(0|(b=a[e>>2]+a[e+8>>2]|0))?(X=-1,-1):(a[e+4>>2]=A+r,i=A,r=e=b-r|0,X=(e=(b=A>>>0<e>>>0)&(0|(A=e>>31))>=(0|f)|(0|A)>(0|f))?f:A,0|(r=e?i:r))},function(A,f,e){return A|=0,f|=0,f=a[(e|=0)+8>>2],a[e+4>>2]=a[e>>2]+(A>>>0>f>>>0?f:A),1},re,re,be,_A,Of,Af,ff,dA,$A,ie,$f,Lf,ae,ke,yA,JA,re,re,be,function(A,f,e){f|=0,e|=0;var i=0;return $(a[(A|=0)+8>>2],46,e)&&kA(A,a[A+8>>2],f,e)&&(i=1),0|i},function(A,f,e,r){f|=0,r|=0;var B,l,g,c=0,n=0,s=0,G=0,Z=0,u=0,Q=0,t=0,W=0,w=0,V=0,Y=0;if(!(e|=0))return 0;if(!Of(a[(A|=0)>>2],f,e,r))return d(r,1,6204,0),0;l=e,y=B=y-240|0,t=1,g=A;A:if(!(a[a[A>>2]+60>>2]|a[A+128>>2])){f:{if(e=a[A+116>>2]){A=a[l+16>>2],!(f=a[g+120>>2])|!a[f+12>>2]||(A=k[f+18|0]),c=I[e+4>>1],G=a[e>>2],e=0;e:{for(;;){if((0|e)==(0|c))for(;;){if(!A)break f;for(A=A-1|0,e=0;;){if((0|e)==(0|c))break e;if(s=C(e,6),e=e+1|0,I[s+G>>1]==(0|A))break}}if(s=G+C(e,6)|0,(n=I[s>>1])>>>0>=A>>>0){a[B+180>>2]=A,a[B+176>>2]=n,d(r,1,13709,B+176|0),t=0;break A}if(e=e+1|0,!(((n=I[s+4>>1])+1&65535)>>>0<2|A>>>0>(s=n-1|0)>>>0))break}a[B+164>>2]=A,a[B+160>>2]=s,d(r,1,13709,B+160|0),t=0;break A}t=0,d(r,1,9493,0);break A}f=a[A+120>>2]}f:{e:{i:if(f){if(s=a[f+12>>2]){for(f=k[f+18|0],e=0,A=1;(0|f)!=(0|e);)(c=a[l+16>>2])>>>0<=(G=I[s+(e<<2)>>1])>>>0&&(a[B+148>>2]=c,a[B+144>>2]=G,d(r,1,13709,B+144|0),A=0),e=e+1|0;if(!(G=D(f,4)))break e;for(e=0;;){if((0|f)==(0|e)){r:for(e=0;;){if((0|f)==(0|e))break r;a[(c=e<<2)+G>>2]|!k[2+(c+s|0)|0]||(a[B+48>>2]=e,d(r,1,11095,B+48|0),A=0),e=e+1|0}break}(n=k[(c=s+(e<<2)|0)+2|0])>>>0>=2?(a[B+68>>2]=n,a[B+64>>2]=e,d(r,1,12088,B- -64|0),A=0):(c=k[c+3|0])>>>0>=f>>>0?(a[B+128>>2]=c,d(r,1,12032,B+128|0),A=0):(u=1!=(0|n))|!a[(Q=G+(c<<2)|0)>>2]?n|!c?u|(0|e)==(0|c)?a[Q>>2]=1:(a[B+120>>2]=c,a[B+116>>2]=e,a[B+112>>2]=e,d(r,1,11931,B+112|0),A=0):(a[B+100>>2]=c,a[B+96>>2]=e,d(r,1,11895,B+96|0),A=0):(a[B+80>>2]=c,d(r,1,11521,B+80|0),A=0),e=e+1|0}r:{if(A){if(1!=a[l+16>>2])break r;for(e=0;;){if((0|f)==(0|e))break r;if(A=e<<2,e=e+1|0,!a[A+G>>2])break}for(e=0,d(r,2,9247,0);;){if((0|f)==(0|e))break r;i[(A=s+(e<<2)|0)+3|0]=e,i[A+2|0]=1,e=e+1|0}}U(G),t=0;break A}if(U(G),!(f=a[g+120>>2]))break i}if(s=a[f+12>>2]){c=k[f+18|0],W=a[f>>2],u=a[f+4>>2],Q=a[f+8>>2],A=0;r:{for(;;){if(f=A,(0|A)==(0|c))break r;if(A=A+1|0,!a[44+(a[l+24>>2]+C(I[s+(f<<2)>>1],52)|0)>>2])break}a[B+32>>2]=f,d(r,1,13871,B+32|0),t=0;break A}if(G=a[l+24>>2],!(f=M(C(c,52))))break f;for(e=0;;){if((0|e)!=(0|c)){if(n=I[(A=s+(e<<2)|0)>>1],o(Z=C(k[A+2|0]?k[A+3|0]:e,52)+f|0,A=G+C(n,52)|0,52),n=f+C(e,52)|0,A=N(C(a[A+8>>2],a[A+12>>2])<<2),a[n+44>>2]=A,A){a[n+24>>2]=k[e+Q|0],a[n+32>>2]=k[e+u|0],e=e+1|0;continue}for(;e;)U(a[(f+C(e,52)|0)-8>>2]),e=e-1|0;U(f),t=0,d(r,1,13819,0);break A}break}for(u=I[a[g+120>>2]+16>>1]-1|0,A=0;(0|A)!=(0|c);){e=f+C(A,52)|0,Q=C(a[e+12>>2],a[e+8>>2]),w=a[44+(G+C(I[(n=s+(A<<2)|0)>>1],52)|0)>>2];r:{if(!k[n+2|0])for(n=a[e+44>>2],e=0;;){if((0|e)==(0|Q))break r;a[(Z=e<<2)+n>>2]=a[Z+w>>2],e=e+1|0}for(Z=W+((e=k[n+3|0])<<2)|0,Y=a[44+(f+C(e,52)|0)>>2],e=0;;){if((0|e)==(0|Q))break r;n=a[(V=e<<2)+w>>2],a[Y+V>>2]=a[Z+(C(c,(0|n)>=0?(0|n)<(0|u)?n:u:0)<<2)>>2],e=e+1|0}}A=A+1|0}for(A=a[l+16>>2],e=0;(0|A)!=(0|e);)(s=a[44+(G+C(e,52)|0)>>2])&&U(s),e=e+1|0;U(G),a[l+16>>2]=c,a[l+24>>2]=f}else U(a[f+4>>2]),U(a[a[g+120>>2]+8>>2]),U(a[a[g+120>>2]>>2]),f=a[g+120>>2],(A=a[f+12>>2])&&(U(A),f=a[g+120>>2]),U(f),a[g+120>>2]=0}if(!(A=a[g+116>>2]))break A;for(w=(Q=I[A+4>>1])-1&65535,u=a[A>>2],e=0;(0|e)!=(0|Q);){if(A=a[l+16>>2],s=u+C(e,6)|0,A>>>0<=(c=I[s>>1])>>>0)a[B+20>>2]=A,a[B+16>>2]=c,d(r,2,7328,B+16|0);else if(((f=I[s+4>>1])+1&65535)>>>0<=1)b[48+(a[l+24>>2]+C(c,52)|0)>>1]=I[s+2>>1];else if((n=65535&(G=f-1|0))>>>0>=A>>>0)a[B+4>>2]=A,a[B>>2]=n,d(r,2,7287,B);else{i:if(!(I[s+2>>1]|(0|c)==(0|n)))for(o(A=B+188|0,W=(f=a[l+24>>2])+C(c,52)|0,52),o(W,(Z=f)+(f=C(n,52))|0,52),o(f+a[l+24>>2]|0,A,52),A=e;;){if((0|A)==(0|w))break i;f=G,W=u+C(A=A+1|0,6)|0,(0|(Z=I[W>>1]))!=(0|c)&&(f=c,(0|n)!=(0|Z))||(b[W>>1]=f)}b[48+(a[l+24>>2]+C(c,52)|0)>>1]=I[s+2>>1]}e=e+1|0}A=a[g+116>>2],(f=a[A>>2])&&(U(f),A=a[g+116>>2]),U(A),a[g+116>>2]=0;break A}t=0,d(r,1,12279,0);break A}t=0,d(r,1,13819,0)}return y=B+240|0,0|t},ie,function(A,f,e,i){return f|=0,e|=0,i|=0,0|$f(a[(A|=0)>>2],f,e,i)},function(A,f,e){return f|=0,e|=0,0|Lf(a[(A|=0)>>2],f,e)},ae,ke,function(A,f){f|=0,Af(a[(A|=0)>>2],f)},function(A,f){f|=0,ff(a[(A|=0)>>2],f),i[A+124|0]=0,a[A+128>>2]=1&a[f+8248>>2]},Kf,function(A,f,e,i,r,b){c()},function(A,f,e,i,r,b,a,k,B,l,g){c()},function(A,f,e,i){A|=0,e|=0,i|=0;var r=0;if($(a[(f|=0)+8>>2],46,i)&&kA(f,a[f+4>>2],A,i)&&kA(f,a[f+8>>2],A,i)){if(!k[f+132|0])return d(i,1,11690,0),0;if(!k[f+133|0])return d(i,1,11661,0),0;if(!(!e|!(r=$A(A,a[f>>2],e,i)))&&(e=a[e>>2])){A=1;A:{f:{e:{i:{r:{b:{a:switch((i=a[f+48>>2])-16|0){case 0:break A;case 1:break a;case 2:break b;case 3:case 4:case 5:case 6:case 7:break e;case 8:break r;default:break i}A=2;break A}A=3;break A}A=4;break A}if(12==(0|i))break f}A=-1;break A}A=5}a[e+20>>2]=A,(A=a[f+108>>2])&&(a[e+28>>2]=A,a[e+32>>2]=a[f+112>>2],a[f+108>>2]=0)}}return 0|r},function(A,f){H(0|(A|=0))},function(A,f){w(0|(A|=0))},function(A,f,e){return A|=0,f|=0,0|Ge[0|(e|=0)](A,f)},re,function(A,f,e){f|=0,e|=0;var i,r=0,b=0,k=0,B=0,l=0,g=0;y=i=y-32|0,r=a[(A|=0)+28>>2],a[i+16>>2]=r,b=a[A+20>>2],a[i+28>>2]=e,a[i+24>>2]=f,f=b-r|0,a[i+20>>2]=f,l=f+e|0;A:{f:{k=8|(f=i+16|0),B=f,r=(f=(0|r)==(0|b))?k:B,B=f?1:2;e:{if(jA(0|V(a[A+60>>2],0|r,0|B,i+12|0)))f=r;else for(;;){if((0|(b=a[i+12>>2]))==(0|l))break e;if((0|b)<0){f=r;break f}if(k=b-((g=(k=a[r+4>>2])>>>0<b>>>0)?k:0)|0,a[(f=(g?8:0)+r|0)>>2]=k+a[f>>2],a[(r=(g?12:4)+r|0)>>2]=a[r>>2]-k,l=l-b|0,r=f,B=B-g|0,jA(0|V(a[A+60>>2],0|f,0|B,i+12|0)))break}if(-1!=(0|l))break f}f=a[A+44>>2],a[A+28>>2]=f,a[A+20>>2]=f,a[A+16>>2]=f+a[A+48>>2],A=e;break A}a[A+28>>2]=0,a[A+16>>2]=0,a[A+20>>2]=0,a[A>>2]=32|a[A>>2],A=0,2!=(0|B)&&(A=e-a[f+4>>2]|0)}return y=i+32|0,0|A},function(A,f,e,i){var r;return f|=0,e|=0,i|=0,y=r=y-16|0,A=jA(0|E(a[(A|=0)+60>>2],0|f,0|e,255&i,r+8|0)),y=r+16|0,X=A?-1:a[r+12>>2],0|(A?-1:a[r+8>>2])},re,function(A,f,e,i){return X=0,0},function(A,f,e){f|=0,e|=0;var r,b,k=0,B=0,l=0;return r=a[(A|=0)+84>>2],B=a[r>>2],k=a[r+4>>2],b=a[A+28>>2],(l=k>>>0<(l=a[A+20>>2]-b|0)>>>0?k:l)&&(aA(B,b,l),B=l+a[r>>2]|0,a[r>>2]=B,k=a[r+4>>2]-l|0,a[r+4>>2]=k),(k=e>>>0>k>>>0?k:e)&&(aA(B,f,k),B=k+a[r>>2]|0,a[r>>2]=B,a[r+4>>2]=a[r+4>>2]-k),i[0|B]=0,f=a[A+44>>2],a[A+28>>2]=f,a[A+20>>2]=f,0|e}];function Ce(){return e.byteLength>>16}return{i:Object.create(Object.prototype,{grow:{value:function(A){A|=0;var r=0|Ce(),B=r+A|0;if(r<B&&B<65536&&B<=32768){var l=new ArrayBuffer(B<<16);new Int8Array(l).set(i),i=new Int8Array(l),b=new Int16Array(l),a=new Int32Array(l),k=new Uint8Array(l),I=new Uint16Array(l),n=new Uint32Array(l),s=new Float32Array(l),G=new Float64Array(l),e=l,f=k}return r}},buffer:{get:function(){return e}}}),j:function(){for(var A=0,f=0,e=0;e=(f=A<<4)+27456|0,a[f+27460>>2]=e,a[f+27464>>2]=e,64!=(0|(A=A+1|0)););yf(48),a[6584]=94048,a[6578]=42,a[6585]=65536,a[6586]=a[6476]},k:zA,l:U,m:function(A,f,e,r,b,B,l){A|=0,f|=0,e|=0,r|=0,b|=0,B|=0,l|=0;var c,I=0,s=0,G=0,u=0,Q=0,t=0,W=0,V=0,Y=0,H=0,E=0,R=0,J=0,h=0,S=0,p=0,K=0,z=0,x=0,j=0,P=0,T=0,O=0,q=0,$=0,_=0,AA=0,fA=Z(0),eA=Z(0),iA=Z(0),rA=0,bA=0,aA=0,kA=0,BA=Z(0),lA=Z(0),gA=0,oA=0;y=c=y-8272|0,a[c+16>>2]=0,u=2;A:{f:if(176622093!=(0|(I=a[A>>2]))){if(1375686655!=(0|I)){if(!(201326592!=(0|I)|538988650!=a[A+4>>2])&176622093==a[A+8>>2])break f;w(1082),u=1;break A}u=0}f:{if(I=D(1,96)){a[I+76>>2]=1;e:{i:{r:switch(0|u){case 0:if(a[I+88>>2]=60,a[I+84>>2]=61,a[I+80>>2]=62,a[I+16>>2]=63,a[I+4>>2]=64,a[I+28>>2]=65,a[I+24>>2]=66,a[I+20>>2]=67,a[I>>2]=68,a[I+92>>2]=69,a[I+44>>2]=70,a[I+40>>2]=71,a[I+36>>2]=72,a[I+32>>2]=73,a[I+12>>2]=74,a[I+8>>2]=75,u=qf(),a[I+48>>2]=u,u)break i;break e;case 2:break r;default:break e}a[I+88>>2]=76,a[I+84>>2]=77,a[I+80>>2]=78,a[I+16>>2]=79,a[I+4>>2]=80,a[I+92>>2]=81,a[I+44>>2]=82,a[I+40>>2]=83,a[I+36>>2]=84,a[I+32>>2]=85,a[I+28>>2]=86,a[I+24>>2]=87,a[I+20>>2]=88,a[I+12>>2]=89,a[I+8>>2]=90,a[I>>2]=91;r:{if(u=D(1,136)){if(Y=qf(),a[u>>2]=Y,Y&&(i[u+124|0]=0,a[u+116>>2]=0,a[u+120>>2]=0,a[u+108>>2]=0,a[u+112>>2]=0,Y=HA(),a[u+4>>2]=Y,Y&&(Y=HA(),a[u+8>>2]=Y,Y)))break r;Kf(u)}u=0}if(a[I+48>>2]=u,!u)break e}a[I+72>>2]=1,a[I+64>>2]=1,a[I+60>>2]=0,a[I+52>>2]=0,a[I+56>>2]=0,a[I+68>>2]=1;break f}U(I)}I=0}if(I&&(a[I+60>>2]=0,a[I+72>>2]=0),I&&(a[I+56>>2]=0,a[I+68>>2]=92),I&&(a[I+52>>2]=0,a[I+64>>2]=93),(u=c+20|0)&&(g(u,0,8248),a[u+8248>>2]=0,a[u+8200>>2]=-1,a[u+8204>>2]=-1),r&&(a[c+8268>>2]=1|a[c+8268>>2]),a[c+12>>2]=f,a[c+8>>2]=A,a[c+4>>2]=A,u=1,f=0,(t=c+4|0)&&((A=D(1,72))?(a[A+64>>2]=1048576,Y=M(1048576),a[A+32>>2]=Y,Y?(a[A+36>>2]=Y,a[A+28>>2]=2,a[A+24>>2]=3,a[A+20>>2]=4,a[A+16>>2]=5,a[A+44>>2]=6,a[A+40>>2]=8,a[A+68>>2]=2|a[A+68>>2]):(U(A),A=0)):A=0,A&&(A&&(a[A+4>>2]=0,a[A>>2]=t),A&&(a[A+8>>2]=a[c+12>>2],a[A+12>>2]=0),2&k[A+68|0]&&(a[A+16>>2]=56),A&&(a[A+24>>2]=58),A&&(a[A+28>>2]=59),f=A)),!I|!(A=c+20|0)?A=0:a[I+76>>2]?(Ge[a[I+24>>2]](a[I+48>>2],A),A=1):(d(I+52|0,1,9896,0),A=0),A)if(!f|!I?A=0:a[I+76>>2]?A=0|Ge[a[I>>2]](f,a[I+48>>2],c+16|0,I+52|0):(d(I+52|0,1,9977,0),A=0),A)if(!B||(A=I?0|Ge[a[I+40>>2]](a[I+48>>2],B,I+52|0):0))if(A=a[c+16>>2],(A=!a[I+76>>2]|!I|!f?0:0|Ge[a[I+4>>2]](a[I+48>>2],f,A,I+52|0))&&(A=!a[I+76>>2]|!I|!f?0:0|Ge[a[I+16>>2]](a[I+48>>2],f,I+52|0))){IA(f),nA(I),A=a[c+16>>2],(f=a[A+28>>2])&&(U(f),A=a[c+16>>2],a[A+28>>2]=0,a[A+32>>2]=0),j=a[A+16>>2];f:{e:{i:{if(!e){if(!(!b|4!=(0|j))){H=4,j=4,K=1;break f}r:{if(!(3==(0|(e=a[A+20>>2]))|3!=(0|j))){if(f=a[A+24>>2],a[f>>2]!=a[f+4>>2]|1==a[f+52>>2])break r;a[A+20>>2]=3;break i}if(!(j>>>0>2)){a[A+20>>2]=2;break e}}r:switch(e-3|0){case 2:if(y=e=y-16|0,n[A+16>>2]<4||(f=a[A+24>>2],(0|(B=a[f>>2]))!=a[f+52>>2]|(0|B)!=a[f+104>>2]|(0|B)!=a[f+156>>2]||(0|(B=a[f+4>>2]))!=a[f+56>>2]|(0|B)!=a[f+108>>2]||(0|B)!=a[f+160>>2]))a[e+4>>2]=1053,a[e>>2]=1375,TA(a[6316],8173,e);else{if(u=C(a[f+12>>2],a[f+8>>2]))for(eA=Z(Z(1)/Z(~(-1<<a[f+180>>2])>>>0)),iA=Z(Z(1)/Z(~(-1<<a[f+128>>2])>>>0)),BA=Z(Z(1)/Z(~(-1<<a[f+76>>2])>>>0)),lA=Z(Z(1)/Z(~(-1<<a[f+24>>2])>>>0)),B=a[f+200>>2],I=a[f+148>>2],Y=a[f+96>>2],t=a[f+44>>2],f=0;E=a[(s=(l=f<<2)+I|0)>>2],W=a[(H=l+Y|0)>>2],R=l+t|0,fA=Z(Z(1)-Z(eA*Z(a[B+l>>2]))),a[R>>2]=~~Z(Z(Z(Z(1)-Z(lA*Z(a[R>>2])))*Z(255))*fA),a[H>>2]=~~Z(Z(Z(Z(1)-Z(BA*Z(0|W)))*Z(255))*fA),a[s>>2]=~~Z(Z(Z(Z(1)-Z(iA*Z(0|E)))*Z(255))*fA),(0|u)!=(0|(f=f+1|0)););else B=a[f+200>>2];if(U(B),f=a[A+24>>2],a[f+128>>2]=8,a[f+76>>2]=8,a[f+24>>2]=8,a[f+200>>2]=0,a[A+20>>2]=1,f=a[A+16>>2]-1|0,a[A+16>>2]=f,!(f>>>0<4))for(f=3;o(B=a[A+24>>2]+C(f,52)|0,B+52|0,52),(f=f+1|0)>>>0<n[A+16>>2];);}y=e+16|0;break e;case 0:break i;case 1:break r;default:break e}if(l=0,y=B=y-16|0,n[A+16>>2]<3||(f=a[A+24>>2],(0|(e=a[f>>2]))!=a[f+52>>2]|(0|e)!=a[f+104>>2]||(0|(e=a[f+4>>2]))!=a[f+56>>2]||(0|e)!=a[f+108>>2]))a[B+4>>2]=1115,a[B>>2]=1375,TA(a[6316],8215,B);else{if(u=C(a[f+12>>2],a[f+8>>2]))for(e=~(-1<<(I=a[f+24>>2])),I=1<<I-1,Y=a[f+136>>2]?0:I,I=a[f+84>>2]?0:I,t=a[f+148>>2],s=a[f+96>>2],E=a[f+44>>2];H=(f=l<<2)+E|0,fA=Z(a[(W=f+t|0)>>2]-Y|0),eA=Z(a[(R=f+s|0)>>2]-I|0),iA=Z(a[H>>2]),f=~~Z(Z(Z(fA*Z(1.4019900560379028))+Z(Z(eA*Z(-3680000008898787e-20))+iA))+Z(.5)),a[H>>2]=(0|f)>(0|e)?e:(0|f)>0?f:0,f=~~Z(Z(Z(fA*Z(-.7141128182411194))+Z(Z(iA*Z(1.0003000497817993))+Z(eA*Z(-.34412500262260437))))+Z(.5)),a[R>>2]=(0|f)>(0|e)?e:(0|f)>0?f:0,f=~~Z(Z(Z(fA*Z(-7999999979801942e-21))+Z(Z(iA*Z(.9998229742050171))+Z(eA*Z(1.7720400094985962))))+Z(.5)),a[W>>2]=(0|f)>(0|e)?e:(0|f)>0?f:0,(0|u)!=(0|(l=l+1|0)););a[A+20>>2]=1}y=B+16|0;break e}H=e>>>0>j>>>0?j:e,j=l?e:H,K=1;break f}y=q=y-16|0,e=A;i:if(n[A+16>>2]<=2)a[A+20>>2]=2;else{r:if(A=a[e+24>>2],1==a[A>>2]){b:switch(a[A+52>>2]-1|0){case 1:if(!(2!=a[A+104>>2]|1!=a[A+4>>2]|2!=a[A+56>>2]|2!=a[A+108>>2])){Y=e,A=a[e+24>>2],f=a[A+24>>2],H=a[A+148>>2],S=a[A+96>>2],E=a[A+44>>2],O=a[A+60>>2];a:{k:{B:{if(B=a[A+8>>2],t=a[A+12>>2],!((Q=(I=!(l=N(A=C(B,t)<<2)))|!(u=N(A)))|!(I=N(A)))){if(s=~(-1<<f),W=1<<f-1,_=t-(A=1&a[e+4>>2])|0,AA=1&a[e>>2],!B|!A)break B;for(J=~~(.344*(V=+Z(0-W|0))+.714*V),G=~~(1.772*V),K=~~(1.402*V),f=I,A=u,e=l;Q=(t=a[E>>2])+K|0,a[e>>2]=(0|Q)>=0?(0|s)>(0|Q)?Q:s:0,Q=t-J|0,a[A>>2]=(0|Q)>=0?(0|s)>(0|Q)?Q:s:0,t=G+t|0,a[f>>2]=(0|t)>=0?(0|s)>(0|t)?t:s:0,f=f+4|0,A=A+4|0,e=e+4|0,E=E+4|0,(0|B)!=(0|(R=R+1|0)););break k}U(l),U(u),U(I);break a}e=l,A=u,f=I}if(P=B-AA|0,aA=-2&_){for(x=~~(.344*(V=+Z(0-W|0))+.714*V),t=-2&P,T=~~(1.772*V),rA=~~(1.402*V),K=B<<2;;){if(z=f+K|0,Q=A+K|0,R=e+K|0,J=E+K|0,AA&&(G=(B=a[E>>2])+rA|0,a[e>>2]=(0|G)>=0?(0|s)>(0|G)?G:s:0,G=B-x|0,a[A>>2]=(0|G)>=0?(0|s)>(0|G)?G:s:0,B=B+T|0,a[f>>2]=(0|B)>=0?(0|B)<(0|s)?B:s:0,p=a[S>>2],G=(B=a[J>>2])+~~(1.402*(V=+Z(a[H>>2]-W|0)))|0,a[R>>2]=(0|G)>=0?(0|s)>(0|G)?G:s:0,G=B-~~(.344*(h=+Z(p-W|0))+.714*V)|0,a[Q>>2]=(0|G)>=0?(0|s)>(0|G)?G:s:0,B=B+~~(1.772*h)|0,a[z>>2]=(0|B)>=0?(0|B)<(0|s)?B:s:0,z=z+4|0,Q=Q+4|0,R=R+4|0,J=J+4|0,f=f+4|0,E=E+4|0,e=e+4|0,A=A+4|0),B=0,t){for(;$=a[S>>2],p=(G=a[E>>2])+~~(1.402*(V=+Z(a[H>>2]-W|0)))|0,a[e>>2]=(0|p)>=0?(0|s)>(0|p)?p:s:0,p=G-~~(.344*(h=+Z($-W|0))+.714*V)|0,a[A>>2]=(0|p)>=0?(0|s)>(0|p)?p:s:0,G=G+~~(1.772*h)|0,a[f>>2]=(0|G)>=0?(0|s)>(0|G)?G:s:0,$=a[S>>2],p=(G=a[E+4>>2])+~~(1.402*(V=+Z(a[H>>2]-W|0)))|0,a[e+4>>2]=(0|p)>=0?(0|s)>(0|p)?p:s:0,p=G-~~(.344*(h=+Z($-W|0))+.714*V)|0,a[A+4>>2]=(0|p)>=0?(0|s)>(0|p)?p:s:0,G=G+~~(1.772*h)|0,a[f+4>>2]=(0|G)>=0?(0|s)>(0|G)?G:s:0,$=a[S>>2],p=(G=a[J>>2])+~~(1.402*(V=+Z(a[H>>2]-W|0)))|0,a[R>>2]=(0|p)>=0?(0|s)>(0|p)?p:s:0,p=G-~~(.344*(h=+Z($-W|0))+.714*V)|0,a[Q>>2]=(0|p)>=0?(0|s)>(0|p)?p:s:0,G=G+~~(1.772*h)|0,a[z>>2]=(0|G)>=0?(0|s)>(0|G)?G:s:0,$=a[S>>2],p=(G=a[J+4>>2])+~~(1.402*(V=+Z(a[H>>2]-W|0)))|0,a[R+4>>2]=(0|p)>=0?(0|s)>(0|p)?p:s:0,p=G-~~(.344*(h=+Z($-W|0))+.714*V)|0,a[Q+4>>2]=(0|p)>=0?(0|s)>(0|p)?p:s:0,G=G+~~(1.772*h)|0,a[z+4>>2]=(0|G)>=0?(0|s)>(0|G)?G:s:0,H=H+4|0,S=S+4|0,z=z+8|0,Q=Q+8|0,R=R+8|0,J=J+8|0,f=f+8|0,A=A+8|0,e=e+8|0,E=E+8|0,t>>>0>(B=B+2|0)>>>0;);B=t}if(B>>>0>=P>>>0||(G=a[E>>2],(0|(p=B>>>1|0))!=(0|O)?($=a[S>>2],B=G+~~(1.402*(V=+Z(a[H>>2]-W|0)))|0,a[e>>2]=(0|B)>=0?(0|B)<(0|s)?B:s:0,B=G-~~(.344*(h=+Z($-W|0))+.714*V)|0,a[A>>2]=(0|B)>=0?(0|B)<(0|s)?B:s:0,B=G+~~(1.772*h)|0,a[f>>2]=(0|B)>=0?(0|B)<(0|s)?B:s:0,G=(0|(B=(J=a[J>>2])-~~(.344*(V=+Z(a[S>>2]-W|0))+.714*(h=+Z(a[H>>2]-W|0)))|0))>=0?(0|B)<(0|s)?B:s:0,B=(0|(B=J+~~(1.402*h)|0))>=0?(0|B)<(0|s)?B:s:0,J=J+~~(1.772*V)|0):(B=G+rA|0,a[e>>2]=(0|B)>=0?(0|B)<(0|s)?B:s:0,B=G-x|0,a[A>>2]=(0|B)>=0?(0|B)<(0|s)?B:s:0,B=G+T|0,a[f>>2]=(0|B)>=0?(0|B)<(0|s)?B:s:0,G=(0|(B=(J=a[J>>2])-x|0))>=0?(0|B)<(0|s)?B:s:0,B=(0|(B=J+rA|0))>=0?(0|B)<(0|s)?B:s:0,J=J+T|0),a[R>>2]=B,a[Q>>2]=G,a[z>>2]=(0|J)>=0?(0|s)>(0|J)?J:s:0,f=f+4|0,A=A+4|0,e=e+4|0,E=E+4|0,p>>>0>=O>>>0||(H=H+4|0,S=S+4|0)),f=f+K|0,A=A+K|0,e=e+K|0,E=E+K|0,!(aA>>>0>(kA=kA+2|0)>>>0))break}B=-2&_}else B=0;if(!(B>>>0>=_>>>0)){if(AA&&(t=(B=a[E>>2])+~~(1.402*(V=+Z(0-W|0)))|0,a[e>>2]=(0|t)>=0?(0|s)>(0|t)?t:s:0,t=B-~~(.344*V+.714*V)|0,a[A>>2]=(0|t)>=0?(0|s)>(0|t)?t:s:0,B=B+~~(1.772*V)|0,a[f>>2]=(0|B)>=0?(0|B)<(0|s)?B:s:0,f=f+4|0,E=E+4|0,e=e+4|0,A=A+4|0),R=0,Q=-2&P){for(;J=a[S>>2],t=(B=a[E>>2])+~~(1.402*(V=+Z(a[H>>2]-W|0)))|0,a[e>>2]=(0|t)>=0?(0|s)>(0|t)?t:s:0,t=B-~~(.344*(h=+Z(J-W|0))+.714*V)|0,a[A>>2]=(0|t)>=0?(0|s)>(0|t)?t:s:0,B=B+~~(1.772*h)|0,a[f>>2]=(0|B)>=0?(0|B)<(0|s)?B:s:0,J=a[S>>2],t=(B=a[E+4>>2])+~~(1.402*(V=+Z(a[H>>2]-W|0)))|0,a[e+4>>2]=(0|t)>=0?(0|s)>(0|t)?t:s:0,t=B-~~(.344*(h=+Z(J-W|0))+.714*V)|0,a[A+4>>2]=(0|t)>=0?(0|s)>(0|t)?t:s:0,B=B+~~(1.772*h)|0,a[f+4>>2]=(0|B)>=0?(0|B)<(0|s)?B:s:0,H=H+4|0,S=S+4|0,f=f+8|0,A=A+8|0,e=e+8|0,E=E+8|0,Q>>>0>(R=R+2|0)>>>0;);R=-2&P}R>>>0>=P>>>0||(Q=A,A=a[E>>2],(0|O)!=(R>>>1|0)?(B=a[S>>2],t=e,e=A+~~(1.402*(V=+Z(a[H>>2]-W|0)))|0,a[t>>2]=(0|e)>=0?(0|e)<(0|s)?e:s:0,h=+Z(B-W|0)):(B=e,e=A+~~(1.402*(V=+Z(0-W|0)))|0,a[B>>2]=(0|e)>=0?(0|e)<(0|s)?e:s:0,h=V),e=A-~~(.344*h+.714*V)|0,a[Q>>2]=(0|e)>=0?(0|e)<(0|s)?e:s:0,A=A+~~(1.772*h)|0,a[f>>2]=(0|A)>=0?(0|A)<(0|s)?A:s:0)}U(a[a[Y+24>>2]+44>>2]),A=a[Y+24>>2],a[A+44>>2]=l,U(a[A+96>>2]),A=a[Y+24>>2],a[A+96>>2]=u,U(a[A+148>>2]),A=a[Y+24>>2],a[A+148>>2]=I,f=a[A+8>>2],a[A+112>>2]=f,a[A+60>>2]=f,f=a[A+12>>2],a[A+116>>2]=f,a[A+64>>2]=f,f=a[A>>2],a[A+104>>2]=f,a[A+52>>2]=f,f=a[A+4>>2],a[A+108>>2]=f,a[A+56>>2]=f,a[Y+20>>2]=1}break i}if(2!=a[A+104>>2]|1!=a[A+4>>2]|1!=a[A+56>>2]|1!=a[A+108>>2])break r;if(l=e,A=a[e+24>>2],f=a[A+24>>2],Q=a[A+148>>2],R=a[A+96>>2],E=a[A+44>>2],S=a[A+60>>2],B=a[A+8>>2],K=a[A+12>>2],t=!(u=N(A=C(B,K)<<2)),(t|=!(I=N(A)))|!(Y=N(A)))U(u),U(I),U(Y);else{if(K)for(s=~(-1<<f),z=~~(.344*(V=+Z(0-(H=1<<f-1)|0))+.714*V),t=-2&(AA=B-(_=1&a[e>>2])|0),P=~~(1.772*V),O=~~(1.402*V),e=Y,f=I,A=u;;){if(_&&(W=(B=a[E>>2])+O|0,a[A>>2]=(0|W)>=0?(0|s)>(0|W)?W:s:0,W=B-z|0,a[f>>2]=(0|W)>=0?(0|s)>(0|W)?W:s:0,B=B+P|0,a[e>>2]=(0|B)>=0?(0|B)<(0|s)?B:s:0,f=f+4|0,E=E+4|0,e=e+4|0,A=A+4|0),B=0,t){for(;x=a[R>>2],G=(W=a[E>>2])+~~(1.402*(V=+Z(a[Q>>2]-H|0)))|0,a[A>>2]=(0|G)>=0?(0|s)>(0|G)?G:s:0,G=W-~~(.344*(h=+Z(x-H|0))+.714*V)|0,a[f>>2]=(0|G)>=0?(0|s)>(0|G)?G:s:0,W=W+~~(1.772*h)|0,a[e>>2]=(0|W)>=0?(0|s)>(0|W)?W:s:0,x=a[R>>2],G=(W=a[E+4>>2])+~~(1.402*(V=+Z(a[Q>>2]-H|0)))|0,a[A+4>>2]=(0|G)>=0?(0|s)>(0|G)?G:s:0,G=W-~~(.344*(h=+Z(x-H|0))+.714*V)|0,a[f+4>>2]=(0|G)>=0?(0|s)>(0|G)?G:s:0,W=W+~~(1.772*h)|0,a[e+4>>2]=(0|W)>=0?(0|s)>(0|W)?W:s:0,Q=Q+4|0,R=R+4|0,e=e+8|0,f=f+8|0,A=A+8|0,E=E+8|0,t>>>0>(B=B+2|0)>>>0;);B=t}if(B>>>0>=AA>>>0||(W=a[E>>2],(0|(x=B>>>1|0))!=(0|S)?(B=(0|(B=W-~~(.344*(V=+Z(a[R>>2]-H|0))+.714*(h=+Z(a[Q>>2]-H|0)))|0))>=0?(0|B)<(0|s)?B:s:0,G=(0|(G=W+~~(1.402*h)|0))>=0?(0|s)>(0|G)?G:s:0,T=~~(1.772*V)):(B=(0|(B=W-z|0))>=0?(0|B)<(0|s)?B:s:0,G=(0|(G=W+O|0))>=0?(0|s)>(0|G)?G:s:0,T=P),a[A>>2]=G,a[f>>2]=B,B=W+T|0,a[e>>2]=(0|B)>=0?(0|B)<(0|s)?B:s:0,e=e+4|0,f=f+4|0,A=A+4|0,E=E+4|0,S>>>0<=x>>>0||(Q=Q+4|0,R=R+4|0)),(0|K)==(0|(J=J+1|0)))break}U(a[a[l+24>>2]+44>>2]),A=a[l+24>>2],a[A+44>>2]=u,U(a[A+96>>2]),A=a[l+24>>2],a[A+96>>2]=I,U(a[A+148>>2]),A=a[l+24>>2],a[A+148>>2]=Y,f=a[A+8>>2],a[A+112>>2]=f,a[A+60>>2]=f,f=a[A+12>>2],a[A+116>>2]=f,a[A+64>>2]=f,f=a[A>>2],a[A+104>>2]=f,a[A+52>>2]=f,f=a[A+4>>2],a[A+108>>2]=f,a[A+56>>2]=f,a[l+20>>2]=1}break i;case 0:break b;default:break r}if(!(1!=a[A+104>>2]|1!=a[A+4>>2]|1!=a[A+56>>2]|1!=a[A+108>>2])){if(f=a[A+24>>2],t=a[A+148>>2],G=a[A+96>>2],E=a[A+44>>2],B=!(l=N(A=(s=C(a[A+12>>2],a[A+8>>2]))<<2)),!((B|=!(u=N(A)))|!(I=N(A)))){if(s)for(Y=~(-1<<f),H=1<<f-1,f=I,A=u,B=l;S=a[G>>2],R=(W=a[E>>2])+~~(1.402*(V=+Z(a[t>>2]-H|0)))|0,a[B>>2]=(0|R)>=0?(0|Y)>(0|R)?R:Y:0,R=W-~~(.344*(h=+Z(S-H|0))+.714*V)|0,a[A>>2]=(0|R)>=0?(0|Y)>(0|R)?R:Y:0,W=W+~~(1.772*h)|0,a[f>>2]=(0|W)>=0?(0|W)<(0|Y)?W:Y:0,f=f+4|0,A=A+4|0,B=B+4|0,t=t+4|0,G=G+4|0,E=E+4|0,(0|s)!=(0|(Q=Q+1|0)););U(a[a[e+24>>2]+44>>2]),A=a[e+24>>2],a[A+44>>2]=l,U(a[A+96>>2]),A=a[e+24>>2],a[A+96>>2]=u,U(a[A+148>>2]),a[a[e+24>>2]+148>>2]=I,a[e+20>>2]=1;break i}U(l),U(u),U(I);break i}}a[q+4>>2]=463,a[q>>2]=1375,TA(a[6316],8258,q)}y=q+16|0}A=a[c+16>>2],H=a[A+16>>2],K=0}if(!(!H|r)){for(B=0;;){if(f=a[a[c+16>>2]+24>>2]+C(B,52)|0,8!=(0|(A=a[f+24>>2]))){f:if(A>>>0<8){if(e=C(a[f+12>>2],a[f+8>>2]),a[f+32>>2]){if(!e)break f;for(l=1<<A-1,u=a[f+44>>2],A=0;gA=Q=r=u+(A<<2)|0,oA=ce((r=a[r>>2])<<7,I=r>>31<<7|r>>>25,l,0),a[gA>>2]=oA,(0|e)!=(0|(A=A+1|0)););break f}if(!e)break f;for(r=~(-1<<A),l=a[f+44>>2],A=0;I=Ie(le(a[(u=l+(A<<2)|0)>>2],0,255),X,r,0),a[u>>2]=I,(0|e)!=(0|(A=A+1|0)););}else if(r=A-8|0,e=C(a[f+12>>2],a[f+8>>2]),l=a[f+44>>2],a[f+32>>2]){if(!e)break f;for(A=0;a[(u=l+(A<<2)|0)>>2]=a[u>>2]>>r,(0|e)!=(0|(A=A+1|0)););}else if(e)for(A=0;a[(u=l+(A<<2)|0)>>2]=a[u>>2]>>>r,(0|e)!=(0|(A=A+1|0)););a[f+24>>2]=8}if((0|H)==(0|(B=B+1|0)))break}A=a[c+16>>2]}if(e=a[A+24>>2],f=31&(B=a[e+40>>2]),(63&B)>>>0>=32?(r=-1<<f,l=0):r=(l=-1<<f)|(1<<f)-1&-1>>>32-f,I=-1^l,l=-1^r,Y=(f=I+(u=a[A+12>>2])|0)>>>0<u>>>0?l+1|0:l,r=f,u=31&B,t=(f=(t=a[A+4>>2])+I|0)>>>0<t>>>0?l+1|0:l,z=(63&B)>>>0>=32?Y>>>u|0:((1<<u)-1&Y)<<32-u|r>>>u,r=31&B,s=z-(P=(63&B)>>>0>=32?t>>>r|0:((1<<r)-1&t)<<32-r|f>>>r)|0,R=l+1|0,Y=(f=(r=a[A+8>>2])+I|0)>>>0<r>>>0?R:l,r=f,u=31&B,l=(f=(f=I)+(I=a[A>>2])|0)>>>0<I>>>0?R:l,q=(63&B)>>>0>=32?Y>>>u|0:((1<<u)-1&Y)<<32-u|r>>>u,r=31&B,t=q-(O=(63&B)>>>0>=32?l>>>r|0:((1<<r)-1&l)<<32-r|f>>>r)|0,H){for(_=C(W=t<<2,s),AA=le(s,0,t),R=X;;){if(Y=a[A+24>>2]+C(bA,52)|0,!((0|(f=a[Y+8>>2]))==(0|t)&(0|s)==a[Y+12>>2])){f:{if(!(!f|!a[Y+44>>2]|!a[Y+12>>2]|!a[Y>>2]|!a[Y+4>>2]|!R&AA>>>0>1073741823|R)){if(e=N(_),(E=zA(W))&&e)break f;U(e),U(E)}w(1289),L(a[c+16>>2]),u=1;break A}l=a[Y+40>>2],Q=0-!(r=a[A+4>>2])|0,u=Ie(u=(B=f=r-1|0)+(f=a[Y+4>>2])|0,f>>>0>u>>>0?Q+1|0:Q,f,0);f:if((0|O)==(0|q))l=a[Y+44>>2];else{for(f=31&l,(63&l)>>>0>=32?(r=1<<f,I=0):r=(I=1<<f)-1&1>>>32-f,f=B+I|0,B=r+Q|0,Q=f>>>0<I>>>0?B+1|0:B,B=31&l,B=(63&l)>>>0>=32?Q>>>B|0:((1<<B)-1&Q)<<32-B|f>>>B,T=(f=Q=r-!I|0)+1|0,J=u>>>0>(f=u+(S=I-1|0)|0)>>>0?T:Q,u=31&l,u=(63&l)>>>0>=32?J>>>u|0:((1<<u)-1&J)<<32-u|f>>>u,T=(x=a[Y+8>>2])-1|0,J=(A=a[A>>2])-1|0,r=(A=r+(G=0-!A|0)|0)+1|0,f=A,r=(A=I+J|0)>>>0<I>>>0?r:f,f=31&l,I=(63&l)>>>0>=32?r>>>f|0:((1<<f)-1&r)<<32-f|A>>>f,f=Q+1|0,Q=(A=Ie(A=(r=a[Y>>2])+J|0,A>>>0<r>>>0?G+1|0:G,r,0)+S|0)>>>0<S>>>0?f:Q,f=31&l,l=(63&l)>>>0>=32?Q>>>f|0:((1<<f)-1&Q)<<32-f|A>>>f,A=0,f=0;G=f+1|0,J=E+(A<<2)|0,S=(Q=Ie(Q=A+I|0,S=Q>>>0<I>>>0?G:f,r,0))-l|0,Q=X-(l>>>0>Q>>>0)|0,a[J>>2]=(0|Q)>0|(0|Q)>=0?!Q&S>>>0<x>>>0?S:T:0,(f=(A=A+1|0)?f:G)|(0|A)!=(0|t););if(l=a[Y+44>>2],(0|z)==(0|P))break f;for(r=u,I=B,A=0,f=0,u=e;;){for(B=0,S=(Q=A+I|0)>>>0<A>>>0?f+1|0:f,T=a[Y+8>>2],S=(Q=Ie(Q,S,a[Y+4>>2],0))-r|0,J=a[Y+12>>2],Q=(C(T,(0|(Q=X-(r>>>0>Q>>>0)|0))>0|(0|Q)>=0?!Q&J>>>0>S>>>0?S:J-1|0:0)<<2)+l|0;a[(S=B<<2)+u>>2]=a[Q+(a[E+S>>2]<<2)>>2],(0|t)!=(0|(B=B+1|0)););if(u=u+W|0,!((f=(A=A+1|0)?f:f+1|0)|(0|A)!=(0|s)))break}}U(E),U(l),a[Y+12>>2]=s,a[Y+8>>2]=t,a[Y+44>>2]=e,a[Y>>2]=1,a[Y+4>>2]=1,A=a[c+16>>2]}if((0|(bA=bA+1|0))==(0|H))break}e=a[A+24>>2]}B=C(s,t),f=a[e+44>>2];f:{if(K)if(1!=(0|H)|(0|H)!=(0|j))if(3!=(0|H)|(0|H)!=(0|j)){if(4!=(0|H)|(0|H)!=(0|j)){if(m(0|C(B,j)),!H)break f;for(A=0;v(a[44+(a[a[c+16>>2]+24>>2]+C(A,52)|0)>>2],0|A,0|j,0|B),(0|H)!=(0|(A=A+1|0)););break f}LA(f,a[e+96>>2],a[e+148>>2],a[e+200>>2],B),B<<=2}else{for(u=a[e+96>>2],I=a[e+148>>2],A=0;(0|A)!=(0|B);)e=a[(b=A<<2)+f>>2],r=a[b+u>>2],l=f+C(A,3)|0,b=a[b+I>>2],i[l+2|0]=(0|b)>=0?b>>>0>=255?255:b:0,i[l+1|0]=(0|r)>=0?r>>>0>=255?255:r:0,i[0|l]=(0|e)>=0?e>>>0>=255?255:e:0,A=A+1|0;B=C(B,3)}else for(A=0;(0|A)!=(0|B);)e=a[f+(A<<2)>>2],i[A+f|0]=(0|e)>=0?e>>>0>=255?255:e:0,A=A+1|0;else 2!=a[A+20>>2]?LA(f,a[e+96>>2],a[e+148>>2],0,B):LA(f,f,f,!b|n[A+16>>2]<2?0:a[e+96>>2],B),B<<=2;F(0|f,0|B)}L(a[c+16>>2]),u=0}else w(1318),nA(I),IA(f),L(a[c+16>>2]);else w(1097),IA(f),nA(I),L(a[c+16>>2]);else w(1162),IA(f),nA(I),L(a[c+16>>2]);else w(1134),IA(f),nA(I)}return y=c+8272|0,0|u}}}(A)}