TeaWeb/asm/generated/libopus.js
2018-02-27 17:58:10 +01:00

98 lines
810 KiB
JavaScript

var Module = function(Module) {
Module = Module || {};
(function(a){function f(b,d){for(var n=0;n<d.length;n++){var a=n,c=b;c[0]=d[n];d[a]=c[0]}return d}function g(b){return b instanceof Int8Array||b instanceof Uint8Array||b instanceof Uint8ClampedArray||b instanceof Int16Array||b instanceof Uint16Array||b instanceof Int32Array||b instanceof Uint32Array||b instanceof Float32Array||b instanceof Float64Array}function h(b,d){return b!=b?d:d!=d?b:Math.min(b,d)}function l(b,d){return b!=b?d:d!=d?b:Math.max(b,d)}function k(b,d){if((b|0)!==b)throw new TypeError("Lane index must be an int32");
if(0>b||b>=d)throw new RangeError("Lane index must be in bounds");}function m(b){return b.a.apply(b.a,F)}function u(b,d,n){d=b.a.check(d);for(var a=0;a<n.length;a++)k(n[a],b.b),F[a]=b.a.extractLane(d,n[a]);return m(b)}function v(b,d,n,a){d=b.a.check(d);n=b.a.check(n);for(var c=0;c<a.length;c++)k(a[c],2*b.b),F[c]=a[c]<b.b?b.a.extractLane(d,a[c]):b.a.extractLane(n,a[c]-b.b);return m(b)}function Ra(b){return-b}function Q(b){return~b}function ca(b){return!b}function da(b,d,n){n=b.a.check(n);for(var a=
0;a<b.b;a++)F[a]=d(b.a.extractLane(n,a));return m(b)}function Sa(b,d){return b&d}function Ta(b,d){return b|d}function Ua(b,d){return b^d}function Va(b,d){return b+d}function Wa(b,d){return b-d}function R(b,d){return b*d}function Xa(b,d){return b/d}function D(b,d,n,a){n=b.a.check(n);a=b.a.check(a);for(var c=0;c<b.b;c++)F[c]=d(b.a.extractLane(n,c),b.a.extractLane(a,c));return m(b)}function Ya(b,d){return b==d}function Za(b,d){return b!=d}function $a(b,d){return b<d}function ab(b,d){return b<=d}function bb(b,
d){return b>d}function cb(b,d){return b>=d}function S(b,d,n,a){n=b.a.check(n);a=b.a.check(a);for(var c=0;c<b.b;c++)F[c]=d(b.a.extractLane(n,c),b.a.extractLane(a,c));return m(b.i)}function db(b,d){return b<<d}function eb(b,d){return b>>d}function fb(b,d){return b>>>d}function na(b,d,n,a){n=b.a.check(n);for(var c=0;c<b.b;c++)F[c]=d(b.a.extractLane(n,c),a);return m(b)}function ea(b,d,n,a){if(!g(d))throw new TypeError("The 1st argument must be a typed array.");if((n|0)!==n)throw new TypeError("The 2nd argument must be an Int32.");
var c=d.BYTES_PER_ELEMENT;a*=b.f;if(0>n||n*c+a>d.byteLength)throw new RangeError("The value of index is invalid.");var f=b.a(),y=new Uint8Array(f.c.buffer);n=new Uint8Array(d.buffer,d.byteOffset+n*c,a);for(d=0;d<a;d++)y[d]=n[d];b=b.b*b.f;for(d=a;d<b;d++)y[d]=0;return f}function fa(b,d,a,c,f){if(!g(d))throw new TypeError("The 1st argument must be a typed array.");if((a|0)!==a)throw new TypeError("The 2nd argument must be an Int32.");var n=d.BYTES_PER_ELEMENT;f*=b.f;if(0>a||a*n+f>d.byteLength)throw new RangeError("The value of index is invalid.");
c=b.a.check(c);b=new Uint8Array(c.c.buffer);d=new Uint8Array(d.buffer,d.byteOffset+a*n,f);for(a=0;a<f;a++)d[a]=b[a];return c}"undefined"===typeof a.SIMD&&(a.SIMD={});"undefined"!==typeof module&&(module.exports=a.SIMD);var c=a.SIMD,H=new Float32Array(4),ya=new Float64Array(H.buffer),za=new Int32Array(H.buffer),Aa=new Int16Array(H.buffer),Ba=new Int8Array(H.buffer),Ca=new Uint32Array(H.buffer),Da=new Uint16Array(H.buffer),Ea=new Uint8Array(H.buffer),F=[],G;"undefined"!==typeof Math.imul?G=Math.imul:
G=function(b,d){var a=b&65535,c=d&65535;return a*c+((b>>>16&65535)*c+a*(d>>>16&65535)<<16>>>0)|0};if("undefined"===typeof c.Float32x4||"undefined"===typeof c.Float32x4.extractLane)c.Float32x4=function(b,d,a,y){if(!(this instanceof c.Float32x4))return new c.Float32x4(b,d,a,y);this.c=f(H,new Float32Array([b,d,a,y]))},c.Float32x4.extractLane=function(b,d){b=c.Float32x4.check(b);k(d,4);return b.c[d]};"undefined"===typeof c.Float32x4.swizzle&&(c.Float32x4.swizzle=function(b,d,a,c,f){return u(q,b,[d,a,
c,f])});"undefined"===typeof c.Float32x4.shuffle&&(c.Float32x4.shuffle=function(b,d,a,c,f,g){return v(q,b,d,[a,c,f,g])});if("undefined"===typeof c.Int32x4||"undefined"===typeof c.Int32x4.extractLane)c.Int32x4=function(b,d,a,y){if(!(this instanceof c.Int32x4))return new c.Int32x4(b,d,a,y);this.c=f(za,new Int32Array([b,d,a,y]))},c.Int32x4.extractLane=function(b,d){b=c.Int32x4.check(b);k(d,4);return b.c[d]};"undefined"===typeof c.Int32x4.swizzle&&(c.Int32x4.swizzle=function(b,d,a,c,f){return u(r,b,[d,
a,c,f])});"undefined"===typeof c.Int32x4.shuffle&&(c.Int32x4.shuffle=function(b,d,a,c,f,g){return v(r,b,d,[a,c,f,g])});if("undefined"===typeof c.Int16x8||"undefined"===typeof c.Int16x8.extractLane)c.Int16x8=function(b,d,a,y,U,g,h,C){if(!(this instanceof c.Int16x8))return new c.Int16x8(b,d,a,y,U,g,h,C);this.c=f(Aa,new Int16Array([b,d,a,y,U,g,h,C]))},c.Int16x8.extractLane=function(b,d){b=c.Int16x8.check(b);k(d,8);return b.c[d]};"undefined"===typeof c.Int16x8.swizzle&&(c.Int16x8.swizzle=function(b,d,
a,c,f,g,h,C,k){return u(w,b,[d,a,c,f,g,h,C,k])});"undefined"===typeof c.Int16x8.shuffle&&(c.Int16x8.shuffle=function(b,d,a,c,f,g,h,C,k,l){return v(w,b,d,[a,c,f,g,h,C,k,l])});if("undefined"===typeof c.Int8x16||"undefined"===typeof c.Int8x16.extractLane)c.Int8x16=function(b,d,a,y,U,g,h,C,k,l,m,u,v,q,r,t){if(!(this instanceof c.Int8x16))return new c.Int8x16(b,d,a,y,U,g,h,C,k,l,m,u,v,q,r,t);this.c=f(Ba,new Int8Array([b,d,a,y,U,g,h,C,k,l,m,u,v,q,r,t]))},c.Int8x16.extractLane=function(b,d){b=c.Int8x16.check(b);
k(d,16);return b.c[d]};"undefined"===typeof c.Int8x16.swizzle&&(c.Int8x16.swizzle=function(b,d,a,c,f,g,h,C,k,l,m,v,q,r,t,w,x){return u(A,b,[d,a,c,f,g,h,C,k,l,m,v,q,r,t,w,x])});"undefined"===typeof c.Int8x16.shuffle&&(c.Int8x16.shuffle=function(b,d,a,c,f,g,h,k,l,m,u,q,r,t,w,x,B,z){return v(A,b,d,[a,c,f,g,h,k,l,m,u,q,r,t,w,x,B,z])});if("undefined"===typeof c.Uint32x4||"undefined"===typeof c.Uint32x4.extractLane)c.Uint32x4=function(b,d,a,y){if(!(this instanceof c.Uint32x4))return new c.Uint32x4(b,d,
a,y);this.c=f(Ca,new Uint32Array([b,d,a,y]))},c.Uint32x4.extractLane=function(b,d){b=c.Uint32x4.check(b);k(d,4);return b.c[d]};"undefined"===typeof c.Uint32x4.swizzle&&(c.Uint32x4.swizzle=function(b,d,a,c,f){return u(t,b,[d,a,c,f])});"undefined"===typeof c.Uint32x4.shuffle&&(c.Uint32x4.shuffle=function(b,d,a,c,f,g){return v(t,b,d,[a,c,f,g])});if("undefined"===typeof c.Uint16x8||"undefined"===typeof c.Uint16x8.extractLane)c.Uint16x8=function(b,d,a,y,g,h,k,C){if(!(this instanceof c.Uint16x8))return new c.Uint16x8(b,
d,a,y,g,h,k,C);this.c=f(Da,new Uint16Array([b,d,a,y,g,h,k,C]))},c.Uint16x8.extractLane=function(b,d){b=c.Uint16x8.check(b);k(d,8);return b.c[d]};"undefined"===typeof c.Uint16x8.swizzle&&(c.Uint16x8.swizzle=function(b,d,a,c,f,g,h,k,l){return u(x,b,[d,a,c,f,g,h,k,l])});"undefined"===typeof c.Uint16x8.shuffle&&(c.Uint16x8.shuffle=function(b,d,a,c,f,g,h,k,l,m){return v(x,b,d,[a,c,f,g,h,k,l,m])});if("undefined"===typeof c.Uint8x16||"undefined"===typeof c.Uint8x16.extractLane)c.Uint8x16=function(b,d,a,
y,g,h,k,l,m,u,q,r,t,v,w,x){if(!(this instanceof c.Uint8x16))return new c.Uint8x16(b,d,a,y,g,h,k,l,m,u,q,r,t,v,w,x);this.c=f(Ea,new Uint8Array([b,d,a,y,g,h,k,l,m,u,q,r,t,v,w,x]))},c.Uint8x16.extractLane=function(b,d){b=c.Uint8x16.check(b);k(d,16);return b.c[d]};"undefined"===typeof c.Uint8x16.swizzle&&(c.Uint8x16.swizzle=function(b,d,a,c,f,g,h,k,l,m,q,r,t,v,w,x,z){return u(B,b,[d,a,c,f,g,h,k,l,m,q,r,t,v,w,x,z])});"undefined"===typeof c.Uint8x16.shuffle&&(c.Uint8x16.shuffle=function(b,d,a,c,f,g,h,k,
l,m,q,r,t,u,w,x,z,A){return v(B,b,d,[a,c,f,g,h,k,l,m,q,r,t,u,w,x,z,A])});if("undefined"===typeof c.Bool32x4||"undefined"===typeof c.Bool32x4.extractLane)c.Bool32x4=function(b,d,a,f){if(!(this instanceof c.Bool32x4))return new c.Bool32x4(b,d,a,f);this.c=[!!b,!!d,!!a,!!f]},c.Bool32x4.extractLane=function(b,d){b=c.Bool32x4.check(b);k(d,4);return b.c[d]};if("undefined"===typeof c.Bool16x8||"undefined"===typeof c.Bool16x8.extractLane)c.Bool16x8=function(b,d,a,f,g,h,k,l){if(!(this instanceof c.Bool16x8))return new c.Bool16x8(b,
d,a,f,g,h,k,l);this.c=[!!b,!!d,!!a,!!f,!!g,!!h,!!k,!!l]},c.Bool16x8.extractLane=function(b,d){b=c.Bool16x8.check(b);k(d,8);return b.c[d]};if("undefined"===typeof c.Bool8x16||"undefined"===typeof c.Bool8x16.extractLane)c.Bool8x16=function(b,d,a,f,g,h,k,l,m,q,r,t,u,v,w,x){if(!(this instanceof c.Bool8x16))return new c.Bool8x16(b,d,a,f,g,h,k,l,m,q,r,t,u,v,w,x);this.c=[!!b,!!d,!!a,!!f,!!g,!!h,!!k,!!l,!!m,!!q,!!r,!!t,!!u,!!v,!!w,!!x]},c.Bool8x16.extractLane=function(b,d){b=c.Bool8x16.check(b);k(d,16);return b.c[d]};
var q={name:"Float32x4",a:c.Float32x4,b:4,f:4,buffer:H,view:Float32Array,o:R,h:"check splat replaceLane select equal notEqual lessThan lessThanOrEqual greaterThan greaterThanOrEqual add sub mul div neg abs min max minNum maxNum reciprocalApproximation reciprocalSqrtApproximation sqrt load load1 load2 load3 store store1 store2 store3".split(" ")},r={name:"Int32x4",a:c.Int32x4,b:4,f:4,l:-2147483648,m:2147483647,buffer:za,j:Q,view:Int32Array,o:G,h:"check splat replaceLane select equal notEqual lessThan lessThanOrEqual greaterThan greaterThanOrEqual and or xor not add sub mul neg shiftLeftByScalar shiftRightByScalar load load1 load2 load3 store store1 store2 store3".split(" ")},
w={name:"Int16x8",a:c.Int16x8,b:8,f:2,l:-32768,m:32767,buffer:Aa,j:Q,view:Int16Array,o:R,h:"check splat replaceLane select equal notEqual lessThan lessThanOrEqual greaterThan greaterThanOrEqual and or xor not add sub mul neg shiftLeftByScalar shiftRightByScalar addSaturate subSaturate load store".split(" ")},A={name:"Int8x16",a:c.Int8x16,b:16,f:1,l:-128,m:127,buffer:Ba,j:Q,view:Int8Array,o:R,h:"check splat replaceLane select equal notEqual lessThan lessThanOrEqual greaterThan greaterThanOrEqual and or xor not add sub mul neg shiftLeftByScalar shiftRightByScalar addSaturate subSaturate load store".split(" ")},
t={name:"Uint32x4",a:c.Uint32x4,b:4,f:4,l:0,m:4294967295,v:!0,buffer:Ca,j:Q,view:Uint32Array,o:G,h:"check splat replaceLane select equal notEqual lessThan lessThanOrEqual greaterThan greaterThanOrEqual and or xor not add sub mul shiftLeftByScalar shiftRightByScalar load load1 load2 load3 store store1 store2 store3".split(" ")},x={name:"Uint16x8",a:c.Uint16x8,b:8,f:2,v:!0,l:0,m:65535,buffer:Da,j:Q,view:Uint16Array,o:R,h:"check splat replaceLane select equal notEqual lessThan lessThanOrEqual greaterThan greaterThanOrEqual and or xor not add sub mul shiftLeftByScalar shiftRightByScalar addSaturate subSaturate load store".split(" ")},
B={name:"Uint8x16",a:c.Uint8x16,b:16,f:1,v:!0,l:0,m:255,buffer:Ea,j:Q,view:Uint8Array,o:R,h:"check splat replaceLane select equal notEqual lessThan lessThanOrEqual greaterThan greaterThanOrEqual and or xor not add sub mul shiftLeftByScalar shiftRightByScalar addSaturate subSaturate load store".split(" ")};a={name:"Bool32x4",a:c.Bool32x4,b:4,f:4,j:ca,h:"check splat replaceLane allTrue anyTrue and or xor not".split(" ")};G={name:"Bool16x8",a:c.Bool16x8,b:8,f:2,j:ca,h:"check splat replaceLane allTrue anyTrue and or xor not".split(" ")};
var Fa={name:"Bool8x16",a:c.Bool8x16,b:16,f:1,j:ca,h:"check splat replaceLane allTrue anyTrue and or xor not".split(" ")};q.i=r.i=t.i=a;w.i=x.i=G;A.i=B.i=Fa;q.from=[r,t];r.from=[q,t];w.from=[x];A.from=[B];t.from=[q,r];x.from=[w];B.from=[A];q.g=[r,w,A,t,x,B];r.g=[q,w,A,t,x,B];w.g=[q,r,A,t,x,B];A.g=[q,r,w,t,x,B];t.g=[q,r,w,A,x,B];x.g=[q,r,w,A,t,B];B.g=[q,r,w,A,t,x];a=[q,r,w,A,t,x,B,a,G,Fa];if("undefined"===typeof c.Float64x2||"undefined"===typeof c.Float64x2.extractLane)c.Float64x2=function(b,d){if(!(this instanceof
c.Float64x2))return new c.Float64x2(b,d);this.c=f(ya,new Float64Array([b,d]))},c.Float64x2.extractLane=function(b,d){b=c.Float64x2.check(b);k(d,2);return b.c[d]};"undefined"===typeof c.Float64x2.swizzle&&(c.Float64x2.swizzle=function(b,d,a){return u(z,b,[d,a])});"undefined"===typeof c.Float64x2.shuffle&&(c.Float64x2.shuffle=function(b,d,a,c){return v(z,b,d,[a,c])});if("undefined"===typeof c.Bool64x2||"undefined"===typeof c.Bool64x2.extractLane)c.Bool64x2=function(b,d){if(!(this instanceof c.Bool64x2))return new c.Bool64x2(b,
d);this.c=[!!b,!!d]},c.Bool64x2.extractLane=function(b,d){b=c.Bool64x2.check(b);k(d,2);return b.c[d]};var z={name:"Float64x2",a:c.Float64x2,b:2,f:8,buffer:ya,view:Float64Array,o:R,h:"check splat replaceLane select equal notEqual lessThan lessThanOrEqual greaterThan greaterThanOrEqual add sub mul div neg abs min max minNum maxNum reciprocalApproximation reciprocalSqrtApproximation sqrt load store".split(" ")};z.h.push("load1");z.h.push("store1");G={name:"Bool64x2",a:c.Bool64x2,b:2,f:8,j:ca,h:"check splat replaceLane allTrue anyTrue and or xor not".split(" ")};
z.i=G;q.g.push(z);r.g.push(z);w.g.push(z);A.g.push(z);t.g.push(z);x.g.push(z);B.g.push(z);z.g=[q,r,w,A,t,x,B];a.push(z);a.push(G);var Ga={valueOf:function(b){return function(){throw new TypeError(b.name+" cannot be converted to a number");}},toString:function(b){return function(){var d=b.a.check(this);var a="SIMD."+b.name+"(";a+=b.a.extractLane(d,0);for(var c=1;c<b.b;c++)a+=", "+b.a.extractLane(d,c);return a+")"}},toLocaleString:function(b){return function(){var d=b.a.check(this);var a="SIMD."+b.name+
"(";a+=b.a.extractLane(d,0).toLocaleString();for(var c=1;c<b.b;c++)a+=", "+b.a.extractLane(d,c).toLocaleString();return a+")"}}},gb={check:function(b){return function(d){if(!(d instanceof b.a))throw new TypeError("Argument is not a "+b.name+".");return d}},splat:function(b){return function(d){for(var a=0;a<b.b;a++)F[a]=d;return m(b)}},replaceLane:function(b){return function(d,a,c){d=b.a.check(d);k(a,b.b);for(var f=0;f<b.b;f++)F[f]=b.a.extractLane(d,f);F[a]=c;return m(b)}},allTrue:function(b){return function(a){a:{a=
b.a.check(a);for(var d=0;d<b.b;d++)if(!b.a.extractLane(a,d)){a=!1;break a}a=!0}return a}},anyTrue:function(b){return function(a){a:{a=b.a.check(a);for(var d=0;d<b.b;d++)if(b.a.extractLane(a,d)){a=!0;break a}a=!1}return a}},and:function(b){return function(a,c){return D(b,Sa,a,c)}},or:function(b){return function(a,c){return D(b,Ta,a,c)}},xor:function(b){return function(a,c){return D(b,Ua,a,c)}},not:function(b){return function(a){return da(b,b.j,a)}},equal:function(b){return function(a,c){return S(b,
Ya,a,c)}},notEqual:function(b){return function(a,c){return S(b,Za,a,c)}},lessThan:function(b){return function(a,c){return S(b,$a,a,c)}},lessThanOrEqual:function(b){return function(a,c){return S(b,ab,a,c)}},greaterThan:function(b){return function(a,c){return S(b,bb,a,c)}},greaterThanOrEqual:function(b){return function(a,c){return S(b,cb,a,c)}},add:function(b){return function(a,c){return D(b,Va,a,c)}},sub:function(b){return function(a,c){return D(b,Wa,a,c)}},mul:function(b){return function(a,c){return D(b,
b.o,a,c)}},div:function(b){return function(a,c){return D(b,Xa,a,c)}},neg:function(b){return function(a){return da(b,Ra,a)}},abs:function(b){return function(a){return da(b,Math.abs,a)}},min:function(b){return function(a,c){return D(b,Math.min,a,c)}},max:function(b){return function(a,c){return D(b,Math.max,a,c)}},minNum:function(b){return function(a,c){return D(b,h,a,c)}},maxNum:function(b){return function(a,c){return D(b,l,a,c)}},load:function(b){return function(a,c){return ea(b,a,c,b.b)}},load1:function(b){return function(a,
c){return ea(b,a,c,1)}},load2:function(b){return function(a,c){return ea(b,a,c,2)}},load3:function(b){return function(a,c){return ea(b,a,c,3)}},store:function(b){return function(a,c,f){return fa(b,a,c,f,b.b)}},store1:function(b){return function(a,c,f){return fa(b,a,c,f,1)}},store2:function(b){return function(a,c,f){return fa(b,a,c,f,2)}},store3:function(b){return function(a,c,f){return fa(b,a,c,f,3)}},select:function(b){return function(a,c,f){a=b.i.a.check(a);c=b.a.check(c);f=b.a.check(f);for(var d=
0;d<b.b;d++)F[d]=b.i.a.extractLane(a,d)?b.a.extractLane(c,d):b.a.extractLane(f,d);return m(b)}},reciprocalApproximation:function(b){return function(a){a=b.a.check(a);return b.a.div(b.a.splat(1),a)}},reciprocalSqrtApproximation:function(a){return function(b){b=a.a.check(b);return a.a.reciprocalApproximation(a.a.sqrt(b))}},sqrt:function(a){return function(b){return da(a,Math.sqrt,b)}},shiftLeftByScalar:function(a){return function(b,c){c&=8*a.f-1;return na(a,db,b,c)}},shiftRightByScalar:function(a){return a.v?
function(b,c){c&=8*a.f-1;return na(a,fb,b,c)}:function(b,c){c&=8*a.f-1;return na(a,eb,b,c)}},addSaturate:function(a){function b(b,c){b+=c;c=a.l;var d=a.m;return b<c?c:b>d?d:b}return function(c,d){return D(a,b,c,d)}},subSaturate:function(a){function b(b,c){b-=c;c=a.l;var d=a.m;return b<c?c:b>d?d:b}return function(c,d){return D(a,b,c,d)}}};a.forEach(function(a){var b=a.a,c=b.prototype,f;for(f in Ga)c.hasOwnProperty(f)||(c[f]=Ga[f](a));a.h.forEach(function(c){"undefined"===typeof b[c]&&(b[c]=gb[c](a))});
a.from&&a.from.forEach(function(b){var c="from"+b.name;"undefined"===typeof a.a[c]&&(a.a[c]=function(c){c=b.a.check(c);for(var d=0;d<b.b;d++){var f=Math.trunc(b.a.extractLane(c,d));if(void 0!==a.l&&!(a.l<=f&&f<=a.m))throw new RangeError("Can't convert value");F[d]=f}return m(a)})});a.g&&a.g.forEach(function(b){var c="from"+b.name+"Bits";"undefined"===typeof a.a[c]&&(a.a[c]=function(c){c=b.a.check(c);var d=new a.a;d.c=new a.view(c.c.buffer);return d})})})})("undefined"!==typeof window?window:"object"===
typeof process&&"function"===typeof require&&"object"===typeof global?global:"object"===typeof self?self:this);try{SIMD.Int32x4.check(SIMD.Float64x2.equal(SIMD.Float64x2.splat(5),SIMD.Float64x2.splat(5)))&&(SIMD.Float64x2.B=SIMD.Float64x2.equal,SIMD.Float64x2.equal=function(a,f){a=SIMD.Float64x2.B(a,f);return SIMD.Bool64x2(0!=SIMD.Int32x4.extractLane(a,1),0!=SIMD.Int32x4.extractLane(a,3))},console.error("Warning: Patching up SIMD.Float64x2.equal to return a Bool64x2 instead of Int32x4!"))}catch(a){}
try{SIMD.Int32x4.check(SIMD.Float64x2.notEqual(SIMD.Float64x2.splat(5),SIMD.Float64x2.splat(5)))&&(SIMD.Float64x2.H=SIMD.Float64x2.notEqual,SIMD.Float64x2.notEqual=function(a,f){a=SIMD.Float64x2.H(a,f);return SIMD.Bool64x2(0!=SIMD.Int32x4.extractLane(a,1),0!=SIMD.Int32x4.extractLane(a,3))},console.error("Warning: Patching up SIMD.Float64x2.notEqual to return a Bool64x2 instead of Int32x4!"))}catch(a){}
try{SIMD.Int32x4.check(SIMD.Float64x2.greaterThan(SIMD.Float64x2.splat(5),SIMD.Float64x2.splat(5)))&&(SIMD.Float64x2.C=SIMD.Float64x2.greaterThan,SIMD.Float64x2.greaterThan=function(a,f){a=SIMD.Float64x2.C(a,f);return SIMD.Bool64x2(0!=SIMD.Int32x4.extractLane(a,1),0!=SIMD.Int32x4.extractLane(a,3))},console.error("Warning: Patching up SIMD.Float64x2.greaterThan to return a Bool64x2 instead of Int32x4!"))}catch(a){}
try{SIMD.Int32x4.check(SIMD.Float64x2.greaterThanOrEqual(SIMD.Float64x2.splat(5),SIMD.Float64x2.splat(5)))&&(SIMD.Float64x2.D=SIMD.Float64x2.greaterThanOrEqual,SIMD.Float64x2.greaterThanOrEqual=function(a,f){a=SIMD.Float64x2.D(a,f);return SIMD.Bool64x2(0!=SIMD.Int32x4.extractLane(a,1),0!=SIMD.Int32x4.extractLane(a,3))},console.error("Warning: Patching up SIMD.Float64x2.greaterThanOrEqual to return a Bool64x2 instead of Int32x4!"))}catch(a){}
try{SIMD.Int32x4.check(SIMD.Float64x2.lessThan(SIMD.Float64x2.splat(5),SIMD.Float64x2.splat(5)))&&(SIMD.Float64x2.F=SIMD.Float64x2.lessThan,SIMD.Float64x2.lessThan=function(a,f){a=SIMD.Float64x2.F(a,f);return SIMD.Bool64x2(0!=SIMD.Int32x4.extractLane(a,1),0!=SIMD.Int32x4.extractLane(a,3))},console.error("Warning: Patching up SIMD.Float64x2.lessThan to return a Bool64x2 instead of Int32x4!"))}catch(a){}
try{SIMD.Int32x4.check(SIMD.Float64x2.lessThanOrEqual(SIMD.Float64x2.splat(5),SIMD.Float64x2.splat(5)))&&(SIMD.Float64x2.G=SIMD.Float64x2.lessThanOrEqual,SIMD.Float64x2.lessThanOrEqual=function(a,f){a=SIMD.Float64x2.G(a,f);return SIMD.Bool64x2(0!=SIMD.Int32x4.extractLane(a,1),0!=SIMD.Int32x4.extractLane(a,3))},console.error("Warning: Patching up SIMD.Float64x2.lessThanOrEqual to return a Bool64x2 instead of Int32x4!"))}catch(a){}
SIMD.Int32x4.fromBool64x2Bits||(SIMD.Int32x4.fromBool64x2Bits=function(a){var f=SIMD.Bool64x2.extractLane(a,0)?-1:0;a=SIMD.Bool64x2.extractLane(a,1)?-1:0;return SIMD.Int32x4(f,f,a,a)});var e;e||(e=typeof Module !== 'undefined' ? Module : {});var p={},E;for(E in e)e.hasOwnProperty(E)&&(p[E]=e[E]);e.arguments=[];e.thisProgram="./this.program";e.quit=function(a,f){throw f;};e.preRun=[];e.postRun=[];var I=!1,J=!1,K=!1,aa=!1;
if(e.ENVIRONMENT)if("WEB"===e.ENVIRONMENT)I=!0;else if("WORKER"===e.ENVIRONMENT)J=!0;else if("NODE"===e.ENVIRONMENT)K=!0;else if("SHELL"===e.ENVIRONMENT)aa=!0;else throw Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.");else I="object"===typeof window,J="function"===typeof importScripts,K="object"===typeof process&&"function"===typeof require&&!I&&!J,aa=!I&&!K&&!J;
if(K){var ba,ha;e.read=function(a,f){var g=L(a);g||(ba||(ba=require("fs")),ha||(ha=require("path")),a=ha.normalize(a),g=ba.readFileSync(a));return f?g:g.toString()};e.readBinary=function(a){a=e.read(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};1<process.argv.length&&(e.thisProgram=process.argv[1].replace(/\\/g,"/"));e.arguments=process.argv.slice(2);process.on("uncaughtException",function(a){if(!(a instanceof M))throw a;});process.on("unhandledRejection",function(){process.exit(1)});
e.inspect=function(){return"[Emscripten Module object]"}}else if(aa)"undefined"!=typeof read&&(e.read=function(a){var f=L(a);return f?ia(f):read(a)}),e.readBinary=function(a){var f;if(f=L(a))return f;if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));f=read(a,"binary");assert("object"===typeof f);return f},"undefined"!=typeof scriptArgs?e.arguments=scriptArgs:"undefined"!=typeof arguments&&(e.arguments=arguments),"function"===typeof quit&&(e.quit=function(a){quit(a)});else if(I||
J)e.read=function(a){try{var f=new XMLHttpRequest;f.open("GET",a,!1);f.send(null);return f.responseText}catch(g){if(a=L(a))return ia(a);throw g;}},J&&(e.readBinary=function(a){try{var f=new XMLHttpRequest;f.open("GET",a,!1);f.responseType="arraybuffer";f.send(null);return new Uint8Array(f.response)}catch(g){if(a=L(a))return a;throw g;}}),e.readAsync=function(a,f,g){var h=new XMLHttpRequest;h.open("GET",a,!0);h.responseType="arraybuffer";h.onload=function(){if(200==h.status||0==h.status&&h.response)f(h.response);
else{var l=L(a);l?f(l.buffer):g()}};h.onerror=g;h.send(null)},"undefined"!=typeof arguments&&(e.arguments=arguments),e.setWindowTitle=function(a){document.title=a};e.print="undefined"!==typeof console?console.log.bind(console):"undefined"!==typeof print?print:null;e.printErr="undefined"!==typeof printErr?printErr:"undefined"!==typeof console&&console.warn.bind(console)||e.print;e.print=e.print;e.printErr=e.printErr;for(E in p)p.hasOwnProperty(E)&&(e[E]=p[E]);p=void 0;
function ja(a){var f;f||(f=16);return Math.ceil(a/f)*f}var ka=0;function assert(a,f){a||N("Assertion failed: "+f)}"undefined"!==typeof TextDecoder&&new TextDecoder("utf8");"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");var buffer,O,la,ma,P,oa,pa,qa,ra,sa,ta;ma=P=pa=qa=ra=sa=ta=0;oa=!1;
function ua(){N("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+T+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}var va=e.TOTAL_STACK||5242880,T=e.TOTAL_MEMORY||16777216;
T<va&&e.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+T+"! (TOTAL_STACK="+va+")");e.buffer?buffer=e.buffer:(buffer=new ArrayBuffer(T),e.buffer=buffer);e.HEAP8=new Int8Array(buffer);e.HEAP16=new Int16Array(buffer);e.HEAP32=la=new Int32Array(buffer);e.HEAPU8=O=new Uint8Array(buffer);e.HEAPU16=new Uint16Array(buffer);e.HEAPU32=new Uint32Array(buffer);e.HEAPF32=new Float32Array(buffer);e.HEAPF64=new Float64Array(buffer);la[0]=1668509029;
if(115!==O[2]||99!==O[3])throw"Runtime error: expected the system to be little-endian!";function V(a){for(;0<a.length;){var f=a.shift();if("function"==typeof f)f();else{var g=f.I;"number"===typeof g?void 0===f.u?e.dynCall_v(g):e.dynCall_vi(g,f.u):g(void 0===f.u?null:f.u)}}}var wa=[],xa=[],Ha=[],Ia=[],Ja=[],Ka=!1;function La(){var a=e.preRun.shift();wa.unshift(a)}var Ma=Math.pow,W=0,Na=null,Oa=null;e.preloadedImages={};e.preloadedAudios={};var X=null,Pa="data:application/octet-stream;base64,";ma=8;
P=ma+36208;xa.push();X="data:application/octet-stream;base64,AQAAAAAAAAADAAAAAAAAAAIAAAABAAAABwAAAAAAAAAEAAAAAwAAAAYAAAABAAAABQAAAAIAAAAPAAAAAAAAAAgAAAAHAAAADAAAAAMAAAALAAAABAAAAA4AAAABAAAACQAAAAYAAAANAAAAAgAAAAoAAAAFAAAAAACdPgBAXj4AwAQ+AIDtPgBAiT4AAAAAAMBMPwAAzT0AAAAAbGMAAHRjAACFYwAAlmMAAKVjAAC2YwAAzmMAANxjAAAAAIA/AAAAQAAAQEAAAIBAAACgQAAAwEAAAOBAAAAAQQAAgEEAAMBBAAAQQgAAMEIAAEhCAABgQgAAeEIAAIZCAACQQgAAnkIAALBCAADUQgAABkMAAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAQEAAAEBAAACAQAAAoEAAAMBAAAAAQQAAAEGoAQAAaAQAACQHAADcCQAAkAwAAEAPAADsEQAAVBMAABAUAACEFAAA0BQAAAgVAAAoFQAAQBUAAEwVAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAA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7/9/P+//fz/v/38/7/9/P+//fz/v/38/7/9/P+//fz8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAP/p3AAAaeAAAGQAAACAAAAAAAAAAOnsAAIJ7AACChAAAIAAAABgAAABCiwAARIsAABgAAAACAAAAAQAAAABAykUbTP9SglqzYqJrYHUAAAEAAgADAAQABQAGAAcACAAKAAwADgAQABQAGAAcACIAKAAwADwATgBkAAAAAAAAAAAAAAAAAAAAAAAIAAgACAAIABAAEAAQABUAFQAYAB0AIgAkAP////////////////////8AAAAAAAAAACkAKQApAFIAUgB7AKQAyADeAAAAAAAAAAAAAAAAAAAAAAApACkAKQApAHsAewB7AKQApADwAAoBGwEnASkAKQApACkAKQApACkAKQB7AHsAewB7APAA8ADwAAoBCgExAT4BSAFQAXsAewB7AHsAewB7AHsAewDwAPAA8ADwADEBMQExAT4BPgFXAV8BZgFsAfAA8ADwAPAA8ADwAPAA8AAxATEBMQExAVcBVwFXAV8BXwFyAXgBfgGDAQAADAAYACQAMAAEABAAHAAoADQACAAUACAALAA4AAEADQAZACUAMQAFABEAHQApADUACQAVACEALQA5AAIADgAaACYAMgAGABIAHgAqADYACgAWACIALgA6AAMADwAbACcAMwAHABMAHwArADcACwAXACMALwA7AAAAGAAwAEgAYAAIACAAOABQAGgAEAAoAEAAWABwAAQAHAA0AEwAZAAMACQAPABUAGwAFAAsAEQAXAB0AAEAGQAxAEkAYQAJACEAOQBRAGkAEQApAEEAWQBxAAUAHQA1AE0AZQANACUAPQBVAG0AFQAtAEUAXQB1AAIAGgAyAEoAYgAKACIAOgBSAGoAEgAqAEIAWgByAAYAHgA2AE4AZgAOACYAPgBWAG4AFgAuAEYAXgB2AAMAGwAzAEsAYwALACMAOwBTAGsAEwArAEMAWwBzAAcAHwA3AE8AZwAPACcAPwBXAG8AFwAvAEcAXwB3AAAAMABgAJAAwAAQAEAAcACgANAAIABQAIAAsADgAAQANABkAJQAxAAUAEQAdACkANQAJABUAIQAtADkAAgAOABoAJgAyAAYAEgAeACoANgAKABYAIgAuADoAAwAPABsAJwAzAAcAEwAfACsANwALABcAIwAvADsAAEAMQBhAJEAwQARAEEAcQChANEAIQBRAIEAsQDhAAUANQBlAJUAxQAVAEUAdQClANUAJQBVAIUAtQDlAAkAOQBpAJkAyQAZAEkAeQCpANkAKQBZAIkAuQDpAA0APQBtAJ0AzQAdAE0AfQCtAN0ALQBdAI0AvQDtAAIAMgBiAJIAwgASAEIAcgCiANIAIgBSAIIAsgDiAAYANgBmAJYAxgAWAEYAdgCmANYAJgBWAIYAtgDmAAoAOgBqAJoAygAaAEoAegCqANoAKgBaAIoAugDqAA4APgBuAJ4AzgAeAE4AfgCuAN4ALgBeAI4AvgDuAAMAMwBjAJMAwwATAEMAcwCjANMAIwBTAIMAswDjAAcANwBnAJcAxwAXAEcAdwCnANcAJwBXAIcAtwDnAAsAOwBrAJsAywAbAEsAewCrANsAKwBbAIsAuwDrAA8APwBvAJ8AzwAfAE8AfwCvAN8ALwBfAI8AvwDvAAAAYADAACABgAEgAIAA4ABAAaABQACgAAABYAHAAQgAaADIACgBiAEoAIgA6ABIAagBSACoAAgBaAHIARAAcADQADABkAEwAJAA8ABQAbABUACwABABcAHQARgAeADYADgBmAE4AJgA+ABYAbgBWAC4ABgBeAHYAQQAZADEACQBhAEkAIQA5ABEAaQBRACkAAQBZAHEAQwAbADMACwBjAEsAIwA7ABMAawBTACsAAwBbAHMARQAdADUADQBlAE0AJQA9ABUAbQBVAC0ABQBdAHUARwAfADcADwBnAE8AJwA/ABcAbwBXAC8ABwBfAHcAQEAYQDBACEBgQEhAIEA4QBBAaEBQQChAAEBYQHBAQkAaQDJACkBiQEpAIkA6QBJAakBSQCpAAkBaQHJAREAcQDRADEBkQExAJEA8QBRAbEBUQCxABEBcQHRARkAeQDZADkBmQE5AJkA+QBZAbkBWQC5ABkBeQHZAQUAZQDFACUBhQElAIUA5QBFAaUBRQClAAUBZQHFAQ0AbQDNAC0BjQEtAI0A7QBNAa0BTQCtAA0BbQHNARUAdQDVADUBlQE1AJUA9QBVAbUBVQC1ABUBdQHVAR0AfQDdAD0BnQE9AJ0A/QBdAb0BXQC9AB0BfQHdAQIAYgDCACIBggEiAIIA4gBCAaIBQgCiAAIBYgHCAQoAagDKACoBigEqAIoA6gBKAaoBSgCqAAoBagHKARIAcgDSADIBkgEyAJIA8gBSAbIBUgCyABIBcgHSARoAegDaADoBmgE6AJoA+gBaAboBWgC6ABoBegHaAQYAZgDGACYBhgEmAIYA5gBGAaYBRgCmAAYBZgHGAQ4AbgDOAC4BjgEuAI4A7gBOAa4BTgCuAA4BbgHOARYAdgDWADYBlgE2AJYA9gBWAbYBVgC2ABYBdgHWAR4AfgDeAD4BngE+AJ4A/gBeAb4BXgC+AB4BfgHeAQMAYwDDACMBgwEjAIMA4wBDAaMBQwCjAAMBYwHDAQsAawDLACsBiwErAIsA6wBLAasBSwCrAAsBawHLARMAcwDTADMBkwEzAJMA8wBTAbMBUwCzABMBcwHTARsAewDbADsBmwE7AJsA+wBbAbsBWwC7ABsBewHbAQcAZwDHACcBhwEnAIcA5wBHAacBRwCnAAcBZwHHAQ8AbwDPAC8BjwEvAI8A7wBPAa8BTwCvAA8BbwHPARcAdwDXADcBlwE3AJcA9wBXAbcBVwC3ABcBdwHXAR8AfwDfAD8BnwE/AJ8A/wBfAb8BXwC/AB8BfwHfAbh+mnmaeWZmuH4zc1ELCgkKCQoJ7wjvCAoJ/AgXCe8ISAsUCloJPwkKCeII4gjiCOIIkgi3CSQJJAkKCQoJCgkkCSQJPwkyCZAMzgokCSQJCgniCK0InwjVCJIInAmqCT8JWglaCVoJWgk/CWcJCgmXDfALTwifCOII4gjiCO8ICgnVCNIMRQwUCloJxwitCJ8IkgiSCEIIABAFD60IPAo8CmcJCglaCT8JGghqDKwMPwmtCPkJggkkCQoJdwitCAoNoA2mCpII1QicCTIJPwmfCDUIMgl0CRcJPwlaCXQJdAl0CZwJPwnDDi0OggnfCT8J4gjiCPwInwgACLYMmQyZCh4LjwkXCfwI/AjiCE8IvwzkDMEK9gqPCdUI1QjHCE8INQg5C6ULSQo/CWcJMgmSCMcIxwhCCJkMfQxJChQK4giFCMcIrQitCF0IagzuDLQKZwniCOII4gjvCJIIQghFDMgMnAkNCO8IxAk/CbcJggmFCLMN0gwKCYwKVwqqCT8JWgkkCU8IXw3PDd4L8Av8CJ4HrQjiCOII4ghMDSYNJwh/CjkLMgl0CeIIqgnsCbAOoA2eB2QKUQvfCVoJPwmcCdUI1AvIDLQKSAu0CmoITwjvCLoIxwhvDkkO6QexB2QKjAoUCsQJFwk/CYcMVQ0yCRoISAtICyQJtwnHCHcICg0mDR4L3AoXCWoI4gjvCEIIDQgXCfwIhQh3CIUIPwlJCowKjAr5CWcJggmtCNUIrQitCCQJdAkvCowK3gusDPYKSAuqCRoI/AgKCTIJTAmtCGoITwjvCMQJ6QrpCjwKFAo/CVwOgQ66CC4HhQjBCqYKcQrRCZ8I6QpYDKYK+QkeC9EJhQhaCa0IhQj6AAMABgADAAMAAwAEAAMAAwADAM0BSQ5tC20LbQttC20LbQttC20LbQttC20LkwuTC20LHguQDA0MnAvwC/ALwgvCC8ILkwuTC8ILnAtICx4LHgumClAPrg+lC4cMhwx2C/ALHgsyDKwMbQseCzwK+QncCm0LvA19DMILHwzLC0gLbQttC20LbQtIC0gLSAtIC0gLwQq+E74Tdgv1DTkN8AsNDOkKWAxYDJwLHgvRCewJwQpIC0wRNRCMCsEKnAvCC20LHgulC8sLbQttC20LbQtIC6YKJA7LC5wL8AvwCzkL9grwC5AM5wulC9sM2wylC+4MrwtrFJYT7AkKDcYNOQ19DBYMMA2lC4wKVwp/CukKHgtxCtkTNhQHEkwRnAlRC+cLhwxhDH8KtApICx4L6QoeC4wKMgxIC5MLbQttC20LbQuTC5MLkwuTC20LbQuTC5MLkwtqEIcMpQsfDMILSAtIC20LnAs5C2QLywucC8ILfQw5C7AOsA6sDB8MpQtIC20LSAucC3YL6QrpCh4LSAtIC2QKDg+uD4cMMgysDHYL5wuTC5MLDQweC+kK6QrpCukKFAoFD/APHQ28DRYMtArCC3YLMgwNDB4LHgtXClcKHgv2ChsUHhOZDAUPcQ1hDFELVQ17DYwKFApxCrQKHgv2CsEKDRDNDtsMWAxtC0gLSAttC+kKtArpCrQK6QoeC0gL9grZE74T5wvZDawM8AsNDIALHwxRC7QKtAq0Ch4L6Qo8CtUQ1RAsC98JhwwwDTANAwwDDDAN8AseC1cKFAqmCsEK8AtkC/YKSAu0Cn8KUQsfDE4MTgyQDGEM8AvCC5MLHgsXESoPbQtICx4LSAseCx4LSAtIC0gLHgtIC20LSAseC6ULZAtkC6ULpQvwCzIMkAxODPALwgucC5wLnAttC7QKhRA1EO4M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q2imZmZmhAEAAAAAEBAAUG1Oa7mLZ2XQ1I2LrZl7ZyQAAAAAAAABMAAAAAAAACBEh3t3d2dFYkRneHZ2ZkdihoiduLaZi4bQqPhLvY95ayAxIiIiABEC0uuLe7mJaYZih2i2ZLerhmRGREZCQiKDQKZmRCQCAQCGpmZEIiJChNT2notra1dmZNt9eol2Z4Ryh4lpq2oyIqTWjY+5l3lnwCIAAAAAAAHQbUq7hvmfiWZumnZXZXdlAAIAJCRCRCNgpGZkJAACIaeKrmZkVAICZGt4dyTFGAD//v30DAMCAQD//vzgJgMCAQD//vvROQQCAQD//vTDRQQCAQD/++i4VAcCAQD//vC6Vg4CAQD//u+yWx4FAQD/+OOxZBMCAQD///+cBJr//////+NmD1z//////9VTGEjs/////5ZMIT/W////vnlNKze5////9YlHKzuL/////4NCMkJrwv//pnRMNzV9///59/b19OrSysnIxa5SOzg3Ni4WDAsKCQcAQADLlgDXw6Z9blIAeACAQADongoA5gDz3cC1AKtVAMCAQADNmmYzANWrgFUrAODAoIBgQCAAZCgQBwMBAP369OnUtpaDeG5iVUg8MSggGRMPDQsJCAcGBQQDAgEA0tDOy8fBt6iOaEo0JRsUDgoGBAIA38m3p5iKfG9iWE9GPjgyLCcjHxsYFRIQDgwKCAYEAwIBALywm4p3YUMrGgoApXdQPS8jGxQOCQQAcT8ACAoMEH0zGhIPDAsKCQgHBgUEAwIBAMZpLRYPDAsKCQgHBgUEAwIBANWidFM7KyAYEg8MCQcGBQMCAO+7dDscEAsKCQgHBgUEAwIBAPrlvIdWMx4TDQoIBgUEAwIBAPnr1bmcgGdTQjUqIRoVEQ0KAP75686kdk0uGxAKBwUEAwIBAP/9+e/cv5x3VTklFw8KBgQCAP/9+/bt38uzmHxiSzcoHRUPAP/+/ffcompDKhwSDAkGBAMCAB85a6DNzf///////////////0UvQ2+mzf///////////////1JKT19tgJGgrc3NzeD//+D/4H1KO0Vhjbb//////////////61zVUlMXHORrc3g4P///////6aGcWZlZmt2fYqRm6a2wMDNluC2hmVTT1VheJGtzeD////////gwJZ4ZVxZXWZ2hqC2wODg4P/g4LabhnZtaGZqb3aD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";
var Qa=P;P+=16;function Y(){Y.s||(Y.s=[]);Y.s.push(hb());return Y.s.length-1}assert(!oa);var ib=P;P=P+4+15&-16;ta=ib;pa=qa=ja(P);ra=pa+va;sa=ja(ra);la[ta>>2]=sa;oa=!0;var jb=!1;function ia(a){for(var f=[],g=0;g<a.length;g++){var h=a[g];255<h&&(jb&&assert(!1,"Character code "+h+" ("+String.fromCharCode(h)+") at offset "+g+" not in 0x00-0xFF."),h&=255);f.push(String.fromCharCode(h))}return f.join("")}
var kb="function"===typeof atob?atob:function(a){var f="",g=0;a=a.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(g++));var l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(g++));var k="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(g++));var m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(g++));h=h<<2|l>>4;
l=(l&15)<<4|k>>2;var u=(k&3)<<6|m;f+=String.fromCharCode(h);64!==k&&(f+=String.fromCharCode(l));64!==m&&(f+=String.fromCharCode(u))}while(g<a.length);return f};
function L(a){if(String.prototype.startsWith?a.startsWith(Pa):0===a.indexOf(Pa)){a=a.slice(Pa.length);if("boolean"===typeof K&&K){try{var f=Buffer.from(a,"base64")}catch(k){f=new Buffer(a,"base64")}var g=new Uint8Array(f.buffer,f.byteOffset,f.byteLength)}else try{var h=kb(a),l=new Uint8Array(h.length);for(f=0;f<h.length;++f)l[f]=h.charCodeAt(f);g=l}catch(k){throw Error("Converting base64 string to bytes failed.");}return g}}
e.w={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:Infinity,SIMD:SIMD};
e.A={abort:N,assert:assert,enlargeMemory:function(){ua()},getTotalMemory:function(){return T},abortOnCannotGrowMemory:ua,invoke_diii:function(a,f,g,h){try{return e.dynCall_diii(a,f,g,h)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;e.setThrew(1,0)}},invoke_diiiii:function(a,f,g,h,l,k){try{return e.dynCall_diiiii(a,f,g,h,l,k)}catch(m){if("number"!==typeof m&&"longjmp"!==m)throw m;e.setThrew(1,0)}},invoke_iii:function(a,f,g){try{return e.dynCall_iii(a,f,g)}catch(h){if("number"!==typeof h&&
"longjmp"!==h)throw h;e.setThrew(1,0)}},invoke_viiii:function(a,f,g,h,l){try{e.dynCall_viiii(a,f,g,h,l)}catch(k){if("number"!==typeof k&&"longjmp"!==k)throw k;e.setThrew(1,0)}},invoke_viiiiddd:function(a,f,g,h,l,k,m,u){try{e.dynCall_viiiiddd(a,f,g,h,l,k,m,u)}catch(v){if("number"!==typeof v&&"longjmp"!==v)throw v;e.setThrew(1,0)}},invoke_viiiiii:function(a,f,g,h,l,k,m){try{e.dynCall_viiiiii(a,f,g,h,l,k,m)}catch(u){if("number"!==typeof u&&"longjmp"!==u)throw u;e.setThrew(1,0)}},invoke_viiiiiii:function(a,
f,g,h,l,k,m,u){try{e.dynCall_viiiiiii(a,f,g,h,l,k,m,u)}catch(v){if("number"!==typeof v&&"longjmp"!==v)throw v;e.setThrew(1,0)}},___setErrNo:function(a){e.___errno_location&&(la[e.___errno_location()>>2]=a);return a},_emscripten_memcpy_big:function(a,f,g){O.set(O.subarray(f,f+g),a);return a},_llvm_pow_f64:Ma,_llvm_stackrestore:function(a){var f=Y.s[a];Y.s.splice(a,1);lb(f)},_llvm_stacksave:Y,DYNAMICTOP_PTR:ta,tempDoublePtr:Qa,ABORT:ka,STACKTOP:qa,STACK_MAX:ra,_CELT_INNER_PROD_IMPL:function(){e.printErr("missing function: CELT_INNER_PROD_IMPL");
N(-1)},_COMB_FILTER_CONST_IMPL:function(){e.printErr("missing function: COMB_FILTER_CONST_IMPL");N(-1)},_DUAL_INNER_PROD_IMPL:function(){e.printErr("missing function: DUAL_INNER_PROD_IMPL");N(-1)},_OP_PVQ_SEARCH_IMPL:function(){e.printErr("missing function: OP_PVQ_SEARCH_IMPL");N(-1)},_XCORR_KERNEL_IMPL:function(){e.printErr("missing function: XCORR_KERNEL_IMPL");N(-1)}};// EMSCRIPTEN_START_ASM
var Z=(/** @suppress {uselessCode} */ function(global,env,buffer) {
"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env._CELT_INNER_PROD_IMPL|0;var o=env._COMB_FILTER_CONST_IMPL|0;var p=env._DUAL_INNER_PROD_IMPL|0;var q=env._OP_PVQ_SEARCH_IMPL|0;var r=env._XCORR_KERNEL_IMPL|0;var s=0;var t=0;var u=0;var v=0;var w=global.NaN,x=global.Infinity;var y=0,z=0,A=0,B=0,C=0.0;var D=0;var E=global.Math.floor;var F=global.Math.abs;var G=global.Math.sqrt;var H=global.Math.pow;var I=global.Math.cos;var J=global.Math.sin;var K=global.Math.tan;var L=global.Math.acos;var M=global.Math.asin;var N=global.Math.atan;var O=global.Math.atan2;var P=global.Math.exp;var Q=global.Math.log;var R=global.Math.ceil;var S=global.Math.imul;var T=global.Math.min;var U=global.Math.max;var V=global.Math.clz32;var W=global.Math.fround;var X=env.abort;var Y=env.assert;var Z=env.enlargeMemory;var _=env.getTotalMemory;var $=env.abortOnCannotGrowMemory;var aa=env.invoke_diii;var ba=env.invoke_diiiii;var ca=env.invoke_iii;var da=env.invoke_viiii;var ea=env.invoke_viiiiddd;var fa=env.invoke_viiiiii;var ga=env.invoke_viiiiiii;var ha=env.___setErrNo;var ia=env._emscripten_memcpy_big;var ja=env._llvm_pow_f64;var ka=env._llvm_stackrestore;var la=env._llvm_stacksave;var ma=global.SIMD.Int16x8;var na=global.SIMD.Int32x4;var oa=ma.splat;var pa=ma.check;var qa=ma.extractLane;var ra=ma.replaceLane;var sa=ma.add;var ta=ma.sub;var ua=ma.neg;var va=ma.mul;var wa=ma.equal;var xa=ma.lessThan;var ya=ma.greaterThan;var za=ma.notEqual;var Aa=ma.lessThanOrEqual;var Ba=ma.greaterThanOrEqual;var Ca=ma.select;var Da=ma.swizzle;var Ea=ma.shuffle;var Fa=ma.load;var Ga=ma.store;var Ha=ma.fromInt32x4Bits;var Ia=ma.and;var Ja=ma.xor;var Ka=ma.or;var La=ma.not;var Ma=ma.shiftLeftByScalar;var Na=ma.shiftRightByScalar;var Oa=ma.addSaturate;var Pa=ma.subSaturate;var Qa=na.splat;var Ra=na.check;var Sa=na.extractLane;var Ta=na.replaceLane;var Ua=na.add;var Va=na.sub;var Wa=na.neg;var Xa=na.mul;var Ya=na.equal;var Za=na.lessThan;var _a=na.greaterThan;var $a=na.notEqual;var ab=na.lessThanOrEqual;var bb=na.greaterThanOrEqual;var cb=na.select;var db=na.swizzle;var eb=na.shuffle;var fb=na.load;var gb=na.store;var hb=na.load1;var ib=na.store1;var jb=na.load2;var kb=na.store2;var lb=na.fromInt16x8Bits;var mb=na.and;var nb=na.xor;var ob=na.or;var pb=na.not;var qb=na.shiftLeftByScalar;var rb=na.shiftRightByScalar;var sb=W(0);const tb=W(0);
// EMSCRIPTEN_START_FUNCS
function Bc(a,e,f,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;var A=0.0,B=0.0,C=0,D=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ma=0,na=0,oa=0,pa=0,qa=0;qa=l;l=l+144|0;R=qa+140|0;J=qa+136|0;Q=qa+132|0;W=qa+128|0;da=qa+124|0;X=qa+120|0;ha=qa+116|0;D=qa+112|0;C=qa+108|0;fa=qa+104|0;na=qa+100|0;aa=qa+96|0;ba=qa+92|0;Y=qa+88|0;ca=qa+84|0;ma=qa+80|0;F=qa+76|0;T=qa+72|0;U=qa+68|0;V=qa+64|0;I=qa+60|0;ea=qa+56|0;K=qa+52|0;ja=qa+48|0;ga=qa+44|0;ia=qa+40|0;G=qa+36|0;H=qa+32|0;M=qa+28|0;N=qa+24|0;O=qa+20|0;L=qa+16|0;oa=qa+12|0;Z=qa+8|0;_=qa+4|0;$=qa;c[R>>2]=a;c[J>>2]=e;c[Q>>2]=f;c[W>>2]=h;c[da>>2]=i;c[X>>2]=j;c[ha>>2]=k;c[D>>2]=m;c[C>>2]=n;c[fa>>2]=o;c[na>>2]=p;c[aa>>2]=q;c[ba>>2]=r;c[Y>>2]=s;c[ca>>2]=t;c[ma>>2]=u;c[F>>2]=v;c[T>>2]=w;c[U>>2]=x;c[V>>2]=y;c[I>>2]=z;c[ja>>2]=0;p=S(c[X>>2]|0,c[Q>>2]|0)|0;c[ia>>2]=la()|0;e=l;l=l+((1*(p<<2)|0)+15&-16)|0;p=(S(c[X>>2]|0,c[Q>>2]|0)|0)<<2;a=l;l=l+((1*p|0)+15&-16)|0;wk(c[ha>>2]|0,0,c[Q>>2]<<2|0)|0;g[ga>>2]=-31.899999618530273;c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[da>>2]|0))break;B=+(b[(c[C>>2]|0)+(c[ea>>2]<<1)>>1]|0)*.0625+.5+ +(9-(c[D>>2]|0)|0)-+g[17464+(c[ea>>2]<<2)>>2]+ +(S((c[ea>>2]|0)+5|0,(c[ea>>2]|0)+5|0)|0)*.006200000178068876;g[a+(c[ea>>2]<<2)>>2]=B;c[ea>>2]=(c[ea>>2]|0)+1}c[K>>2]=0;do{c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[da>>2]|0))break;D=S(c[K>>2]|0,c[Q>>2]|0)|0;if(+g[ga>>2]>+g[(c[R>>2]|0)+(D+(c[ea>>2]|0)<<2)>>2]-+g[a+(c[ea>>2]<<2)>>2])A=+g[ga>>2];else{D=S(c[K>>2]|0,c[Q>>2]|0)|0;A=+g[(c[R>>2]|0)+(D+(c[ea>>2]|0)<<2)>>2]-+g[a+(c[ea>>2]<<2)>>2]}g[ga>>2]=A;c[ea>>2]=(c[ea>>2]|0)+1}D=(c[K>>2]|0)+1|0;c[K>>2]=D}while((D|0)<(c[X>>2]|0));x=c[Q>>2]|0;c[G>>2]=la()|0;s=l;l=l+((1*(x<<2)|0)+15&-16)|0;x=l;l=l+((1*(c[Q>>2]<<2)|0)+15&-16)|0;c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[da>>2]|0))break;g[s+(c[ea>>2]<<2)>>2]=+g[(c[R>>2]|0)+(c[ea>>2]<<2)>>2]-+g[a+(c[ea>>2]<<2)>>2];c[ea>>2]=(c[ea>>2]|0)+1}a:do if((c[X>>2]|0)==2){c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[da>>2]|0))break a;if(+g[s+(c[ea>>2]<<2)>>2]>+g[(c[R>>2]|0)+((c[Q>>2]|0)+(c[ea>>2]|0)<<2)>>2]-+g[a+(c[ea>>2]<<2)>>2])A=+g[s+(c[ea>>2]<<2)>>2];else A=+g[(c[R>>2]|0)+((c[Q>>2]|0)+(c[ea>>2]|0)<<2)>>2]-+g[a+(c[ea>>2]<<2)>>2];g[s+(c[ea>>2]<<2)>>2]=A;c[ea>>2]=(c[ea>>2]|0)+1}}while(0);uk(x|0,s|0,(c[da>>2]<<2)+0|0)|0;c[ea>>2]=1;while(1){if((c[ea>>2]|0)>=(c[da>>2]|0))break;j=c[ea>>2]|0;if(+g[s+(c[ea>>2]<<2)>>2]>+g[s+((c[ea>>2]|0)-1<<2)>>2]-2.0)A=+g[s+(j<<2)>>2];else A=+g[s+(j-1<<2)>>2]-2.0;g[s+(c[ea>>2]<<2)>>2]=A;c[ea>>2]=(c[ea>>2]|0)+1}c[ea>>2]=(c[da>>2]|0)-2;while(1){if((c[ea>>2]|0)<0)break;j=c[ea>>2]|0;if(+g[s+(c[ea>>2]<<2)>>2]>+g[s+((c[ea>>2]|0)+1<<2)>>2]-3.0)A=+g[s+(j<<2)>>2];else A=+g[s+(j+1<<2)>>2]-3.0;g[s+(c[ea>>2]<<2)>>2]=A;c[ea>>2]=(c[ea>>2]|0)+-1}c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[da>>2]|0))break;if((0.0>+g[ga>>2]-12.0?0.0:+g[ga>>2]-12.0)>+g[s+(c[ea>>2]<<2)>>2])A=0.0>+g[ga>>2]-12.0?0.0:+g[ga>>2]-12.0;else A=+g[s+(c[ea>>2]<<2)>>2];g[H>>2]=+g[x+(c[ea>>2]<<2)>>2]-A;if(-5.0>(0.0<+g[H>>2]?0.0:+g[H>>2]))A=-5.0;else A=0.0<+g[H>>2]?0.0:+g[H>>2];g[H>>2]=A;if(1>(32>>0-~~+E(+(+g[H>>2]+.5))|0))j=1;else j=32>>0-~~+E(+(+g[H>>2]+.5));c[(c[I>>2]|0)+(c[ea>>2]<<2)>>2]=j;c[ea>>2]=(c[ea>>2]|0)+1}ka(c[G>>2]|0);if((c[ca>>2]|0)>50&(c[Y>>2]|0)>=1^1|(c[F>>2]|0)!=0){c[ea>>2]=c[W>>2];while(1){if((c[ea>>2]|0)>=(c[da>>2]|0))break;c[(c[V>>2]|0)+(c[ea>>2]<<2)>>2]=13;c[ea>>2]=(c[ea>>2]|0)+1}oa=c[ja>>2]|0;pa=c[ma>>2]|0;c[pa>>2]=oa;B=+g[ga>>2];pa=c[ia>>2]|0;ka(pa|0);l=qa;return +B}c[M>>2]=0;c[K>>2]=0;do{c[L>>2]=e+((S(c[K>>2]|0,c[Q>>2]|0)|0)<<2);B=+g[(c[J>>2]|0)+((S(c[K>>2]|0,c[Q>>2]|0)|0)<<2)>>2];g[c[L>>2]>>2]=B;c[ea>>2]=1;while(1){if((c[ea>>2]|0)>=(c[da>>2]|0))break;H=S(c[K>>2]|0,c[Q>>2]|0)|0;I=S(c[K>>2]|0,c[Q>>2]|0)|0;if(+g[(c[J>>2]|0)+(H+(c[ea>>2]|0)<<2)>>2]>+g[(c[J>>2]|0)+(I+(c[ea>>2]|0)-1<<2)>>2]+.5)c[M>>2]=c[ea>>2];I=S(c[K>>2]|0,c[Q>>2]|0)|0;if(+g[(c[L>>2]|0)+((c[ea>>2]|0)-1<<2)>>2]+1.5<+g[(c[J>>2]|0)+(I+(c[ea>>2]|0)<<2)>>2])A=+g[(c[L>>2]|0)+((c[ea>>2]|0)-1<<2)>>2]+1.5;else{I=S(c[K>>2]|0,c[Q>>2]|0)|0;A=+g[(c[J>>2]|0)+(I+(c[ea>>2]|0)<<2)>>2]}g[(c[L>>2]|0)+(c[ea>>2]<<2)>>2]=A;c[ea>>2]=(c[ea>>2]|0)+1}c[ea>>2]=(c[M>>2]|0)-1;while(1){if((c[ea>>2]|0)<0)break;I=S(c[K>>2]|0,c[Q>>2]|0)|0;if(+g[(c[L>>2]|0)+((c[ea>>2]|0)+1<<2)>>2]+2.0<+g[(c[J>>2]|0)+(I+(c[ea>>2]|0)<<2)>>2])A=+g[(c[L>>2]|0)+((c[ea>>2]|0)+1<<2)>>2]+2.0;else{I=S(c[K>>2]|0,c[Q>>2]|0)|0;A=+g[(c[J>>2]|0)+(I+(c[ea>>2]|0)<<2)>>2]}j=c[L>>2]|0;s=c[ea>>2]|0;do if(!(+g[(c[L>>2]|0)+(c[ea>>2]<<2)>>2]<A)){I=S(c[K>>2]|0,c[Q>>2]|0)|0;if(+g[j+(s+1<<2)>>2]+2.0<+g[(c[J>>2]|0)+(I+(c[ea>>2]|0)<<2)>>2]){A=+g[(c[L>>2]|0)+((c[ea>>2]|0)+1<<2)>>2]+2.0;break}else{I=S(c[K>>2]|0,c[Q>>2]|0)|0;A=+g[(c[J>>2]|0)+(I+(c[ea>>2]|0)<<2)>>2];break}}else A=+g[j+(s<<2)>>2];while(0);g[(c[L>>2]|0)+(c[ea>>2]<<2)>>2]=A;c[ea>>2]=(c[ea>>2]|0)+-1}g[N>>2]=1.0;c[ea>>2]=2;while(1){if((c[ea>>2]|0)>=((c[da>>2]|0)-2|0))break;A=+g[(c[L>>2]|0)+(c[ea>>2]<<2)>>2];I=S(c[K>>2]|0,c[Q>>2]|0)|0;B=+Jc((c[J>>2]|0)+(I+(c[ea>>2]|0)-2<<2)|0);if(A>B-+g[N>>2])A=+g[(c[L>>2]|0)+(c[ea>>2]<<2)>>2];else{I=S(c[K>>2]|0,c[Q>>2]|0)|0;A=+Jc((c[J>>2]|0)+(I+(c[ea>>2]|0)-2<<2)|0);A=A-+g[N>>2]}g[(c[L>>2]|0)+(c[ea>>2]<<2)>>2]=A;c[ea>>2]=(c[ea>>2]|0)+1}B=+Kc((c[J>>2]|0)+((S(c[K>>2]|0,c[Q>>2]|0)|0)<<2)|0);g[O>>2]=B-+g[N>>2];if(+g[c[L>>2]>>2]>+g[O>>2])A=+g[c[L>>2]>>2];else A=+g[O>>2];g[c[L>>2]>>2]=A;if(+g[(c[L>>2]|0)+4>>2]>+g[O>>2])A=+g[(c[L>>2]|0)+4>>2];else A=+g[O>>2];g[(c[L>>2]|0)+4>>2]=A;I=S(c[K>>2]|0,c[Q>>2]|0)|0;B=+Kc((c[J>>2]|0)+(I+(c[da>>2]|0)-3<<2)|0);g[O>>2]=B-+g[N>>2];if(+g[(c[L>>2]|0)+((c[da>>2]|0)-2<<2)>>2]>+g[O>>2])A=+g[(c[L>>2]|0)+((c[da>>2]|0)-2<<2)>>2];else A=+g[O>>2];g[(c[L>>2]|0)+((c[da>>2]|0)-2<<2)>>2]=A;if(+g[(c[L>>2]|0)+((c[da>>2]|0)-1<<2)>>2]>+g[O>>2])A=+g[(c[L>>2]|0)+((c[da>>2]|0)-1<<2)>>2];else A=+g[O>>2];g[(c[L>>2]|0)+((c[da>>2]|0)-1<<2)>>2]=A;c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[da>>2]|0))break;if(+g[(c[L>>2]|0)+(c[ea>>2]<<2)>>2]>+g[a+(c[ea>>2]<<2)>>2])j=(c[L>>2]|0)+(c[ea>>2]<<2)|0;else j=a+(c[ea>>2]<<2)|0;g[(c[L>>2]|0)+(c[ea>>2]<<2)>>2]=+g[j>>2];c[ea>>2]=(c[ea>>2]|0)+1}I=(c[K>>2]|0)+1|0;c[K>>2]=I}while((I|0)<(c[X>>2]|0));O=(c[X>>2]|0)==2;c[ea>>2]=c[W>>2];b:do if(O)while(1){if((c[ea>>2]|0)>=(c[da>>2]|0))break b;if(+g[e+((c[Q>>2]|0)+(c[ea>>2]|0)<<2)>>2]>+g[e+(c[ea>>2]<<2)>>2]-4.0)A=+g[e+((c[Q>>2]|0)+(c[ea>>2]|0)<<2)>>2];else A=+g[e+(c[ea>>2]<<2)>>2]-4.0;g[e+((c[Q>>2]|0)+(c[ea>>2]|0)<<2)>>2]=A;if(+g[e+(c[ea>>2]<<2)>>2]>+g[e+((c[Q>>2]|0)+(c[ea>>2]|0)<<2)>>2]-4.0)A=+g[e+(c[ea>>2]<<2)>>2];else A=+g[e+((c[Q>>2]|0)+(c[ea>>2]|0)<<2)>>2]-4.0;g[e+(c[ea>>2]<<2)>>2]=A;if(0.0>+g[(c[R>>2]|0)+(c[ea>>2]<<2)>>2]-+g[e+(c[ea>>2]<<2)>>2])A=0.0;else A=+g[(c[R>>2]|0)+(c[ea>>2]<<2)>>2]-+g[e+(c[ea>>2]<<2)>>2];if(0.0>+g[(c[R>>2]|0)+((c[Q>>2]|0)+(c[ea>>2]|0)<<2)>>2]-+g[e+((c[Q>>2]|0)+(c[ea>>2]|0)<<2)>>2])B=0.0;else B=+g[(c[R>>2]|0)+((c[Q>>2]|0)+(c[ea>>2]|0)<<2)>>2]-+g[e+((c[Q>>2]|0)+(c[ea>>2]|0)<<2)>>2];g[e+(c[ea>>2]<<2)>>2]=(A+B)*.5;c[ea>>2]=(c[ea>>2]|0)+1}else while(1){if((c[ea>>2]|0)>=(c[da>>2]|0))break b;if(0.0>+g[(c[R>>2]|0)+(c[ea>>2]<<2)>>2]-+g[e+(c[ea>>2]<<2)>>2])A=0.0;else A=+g[(c[R>>2]|0)+(c[ea>>2]<<2)>>2]-+g[e+(c[ea>>2]<<2)>>2];g[e+(c[ea>>2]<<2)>>2]=A;c[ea>>2]=(c[ea>>2]|0)+1}while(0);c[ea>>2]=c[W>>2];while(1){if((c[ea>>2]|0)>=(c[da>>2]|0))break;if(+g[e+(c[ea>>2]<<2)>>2]>+g[(c[T>>2]|0)+(c[ea>>2]<<2)>>2])j=e+(c[ea>>2]<<2)|0;else j=(c[T>>2]|0)+(c[ea>>2]<<2)|0;g[e+(c[ea>>2]<<2)>>2]=+g[j>>2];c[ea>>2]=(c[ea>>2]|0)+1}c[ea>>2]=c[W>>2];while(1){if((c[ea>>2]|0)>=(c[da>>2]|0))break;if(+g[e+(c[ea>>2]<<2)>>2]<4.0)A=+g[e+(c[ea>>2]<<2)>>2];else A=4.0;T=~~+E(+(+P(+(.6931471805599453*A))*13.0+.5));c[(c[V>>2]|0)+(c[ea>>2]<<2)>>2]=T;c[ea>>2]=(c[ea>>2]|0)+1}c:do if(!(((c[na>>2]|0)==0|(c[aa>>2]|0)!=0)^1|(c[fa>>2]|0)!=0)){c[ea>>2]=c[W>>2];while(1){if((c[ea>>2]|0)>=(c[da>>2]|0))break c;g[e+(c[ea>>2]<<2)>>2]=+g[e+(c[ea>>2]<<2)>>2]*.5;c[ea>>2]=(c[ea>>2]|0)+1}}while(0);c[ea>>2]=c[W>>2];while(1){if((c[ea>>2]|0)>=(c[da>>2]|0))break;if((c[ea>>2]|0)<8){V=e+(c[ea>>2]<<2)|0;g[V>>2]=+g[V>>2]*2.0}if((c[ea>>2]|0)>=12)g[e+(c[ea>>2]<<2)>>2]=+g[e+(c[ea>>2]<<2)>>2]*.5;c[ea>>2]=(c[ea>>2]|0)+1}d:do if(c[c[U>>2]>>2]|0){c[ea>>2]=c[W>>2];while(1){if((c[ea>>2]|0)>=((19<(c[da>>2]|0)?19:c[da>>2]|0)|0))break d;g[e+(c[ea>>2]<<2)>>2]=+g[e+(c[ea>>2]<<2)>>2]+ +(d[(c[U>>2]|0)+44+(c[ea>>2]|0)>>0]|0)*.015625;c[ea>>2]=(c[ea>>2]|0)+1}}while(0);c[ea>>2]=c[W>>2];while(1){if((c[ea>>2]|0)>=(c[da>>2]|0)){pa=150;break}if(+g[e+(c[ea>>2]<<2)>>2]<4.0)A=+g[e+(c[ea>>2]<<2)>>2];else A=4.0;g[e+(c[ea>>2]<<2)>>2]=A;W=S(c[X>>2]|0,(b[(c[ba>>2]|0)+((c[ea>>2]|0)+1<<1)>>1]|0)-(b[(c[ba>>2]|0)+(c[ea>>2]<<1)>>1]|0)|0)|0;c[oa>>2]=W<<c[Y>>2];do if((c[oa>>2]|0)>=6){A=+g[e+(c[ea>>2]<<2)>>2];if((c[oa>>2]|0)>48){c[Z>>2]=~~(A*8.0);c[_>>2]=((S(c[Z>>2]|0,c[oa>>2]|0)|0)<<3|0)/8|0;break}else{c[Z>>2]=~~(A*+(c[oa>>2]|0)/6.0);c[_>>2]=(c[Z>>2]|0)*6<<3;break}}else{c[Z>>2]=~~+g[e+(c[ea>>2]<<2)>>2];c[_>>2]=(S(c[Z>>2]|0,c[oa>>2]|0)|0)<<3}while(0);if(!(c[na>>2]|0?(c[aa>>2]|0)==0|(c[fa>>2]|0)!=0:0))pa=144;if((pa|0)==144?(pa=0,((c[ja>>2]|0)+(c[_>>2]|0)>>3>>3|0)>((c[ca>>2]<<1|0)/3|0|0)):0)break;c[(c[ha>>2]|0)+(c[ea>>2]<<2)>>2]=c[Z>>2];c[ja>>2]=(c[ja>>2]|0)+(c[_>>2]|0);c[ea>>2]=(c[ea>>2]|0)+1}if((pa|0)==150){oa=c[ja>>2]|0;pa=c[ma>>2]|0;c[pa>>2]=oa;B=+g[ga>>2];pa=c[ia>>2]|0;ka(pa|0);l=qa;return +B}c[$>>2]=((c[ca>>2]<<1|0)/3|0)<<3<<3;c[(c[ha>>2]|0)+(c[ea>>2]<<2)>>2]=(c[$>>2]|0)-(c[ja>>2]|0);c[ja>>2]=c[$>>2];oa=c[ja>>2]|0;pa=c[ma>>2]|0;c[pa>>2]=oa;B=+g[ga>>2];pa=c[ia>>2]|0;ka(pa|0);l=qa;return +B}function Cc(d,e,f,h,i,j,k,m,n,o,p){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=+n;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0;X=l;l=l+144|0;z=X+128|0;R=X+124|0;P=X+120|0;V=X+116|0;Q=X+112|0;u=X+108|0;t=X+104|0;H=X+100|0;Y=X+96|0;B=X+92|0;O=X+88|0;T=X+84|0;I=X+80|0;J=X+76|0;E=X+72|0;G=X+64|0;W=X+60|0;x=X+56|0;U=X+52|0;y=X+48|0;s=X+44|0;A=X+40|0;r=X+36|0;v=X+32|0;w=X+28|0;q=X+24|0;C=X+20|0;D=X+16|0;K=X+12|0;L=X+8|0;M=X+4|0;N=X;c[z>>2]=d;c[R>>2]=e;c[P>>2]=f;c[V>>2]=h;c[Q>>2]=i;c[u>>2]=j;c[t>>2]=k;c[H>>2]=m;g[Y>>2]=n;c[B>>2]=o;c[O>>2]=p;c[W>>2]=0;g[x>>2]=(-.25>.5-+g[Y>>2]?-.25:.5-+g[Y>>2])*.03999999910593033;j=c[R>>2]|0;c[U>>2]=la()|0;p=l;l=l+((1*(j<<2)|0)+15&-16)|0;j=l;l=l+((1*((b[(c[(c[z>>2]|0)+32>>2]|0)+(c[R>>2]<<1)>>1]|0)-(b[(c[(c[z>>2]|0)+32>>2]|0)+((c[R>>2]|0)-1<<1)>>1]|0)<<c[H>>2]<<2)|0)+15&-16)|0;k=l;l=l+((1*((b[(c[(c[z>>2]|0)+32>>2]|0)+(c[R>>2]<<1)>>1]|0)-(b[(c[(c[z>>2]|0)+32>>2]|0)+((c[R>>2]|0)-1<<1)>>1]|0)<<c[H>>2]<<2)|0)+15&-16)|0;f=l;l=l+((1*(c[R>>2]<<2)|0)+15&-16)|0;i=l;l=l+((1*(c[R>>2]<<2)|0)+15&-16)|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[R>>2]|0))break;c[w>>2]=0;c[s>>2]=(b[(c[(c[z>>2]|0)+32>>2]|0)+((c[T>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[z>>2]|0)+32>>2]|0)+(c[T>>2]<<1)>>1]|0)<<c[H>>2];c[A>>2]=((b[(c[(c[z>>2]|0)+32>>2]|0)+((c[T>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[z>>2]|0)+32>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)==1&1;Y=S(c[B>>2]|0,c[t>>2]|0)|0;uk(j|0,(c[u>>2]|0)+(Y+(b[(c[(c[z>>2]|0)+32>>2]|0)+(c[T>>2]<<1)>>1]<<c[H>>2])<<2)|0,(c[s>>2]<<2)+0|0)|0;g[r>>2]=+Ic(j,c[s>>2]|0,c[P>>2]|0?c[H>>2]|0:0,+g[x>>2]);g[v>>2]=+g[r>>2];if(!((c[P>>2]|0)==0|(c[A>>2]|0)!=0)?(uk(k|0,j|0,(c[s>>2]<<2)+0|0)|0,Sb(k,c[s>>2]>>c[H>>2],1<<c[H>>2]),g[r>>2]=+Ic(k,c[s>>2]|0,(c[H>>2]|0)+1|0,+g[x>>2]),+g[r>>2]<+g[v>>2]):0){g[v>>2]=+g[r>>2];c[w>>2]=-1}c[y>>2]=0;while(1){m=(c[P>>2]|0)!=0;if((c[y>>2]|0)>=((c[H>>2]|0)+(((c[P>>2]|0?1:(c[A>>2]|0)!=0)^1)&1)|0))break;if(m)c[q>>2]=(c[H>>2]|0)-(c[y>>2]|0)-1;else c[q>>2]=(c[y>>2]|0)+1;Sb(j,c[s>>2]>>c[y>>2],1<<c[y>>2]);g[r>>2]=+Ic(j,c[s>>2]|0,c[q>>2]|0,+g[x>>2]);if(+g[r>>2]<+g[v>>2]){g[v>>2]=+g[r>>2];c[w>>2]=(c[y>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}h=c[w>>2]|0;Y=S(-2,h)|0;c[p+((m?c[T>>2]|0:c[T>>2]|0)<<2)>>2]=m?h<<1:Y;do if(c[A>>2]|0){if(c[p+(c[T>>2]<<2)>>2]|0?(c[p+(c[T>>2]<<2)>>2]|0)!=(S(-2,c[H>>2]|0)|0):0)break;Y=p+(c[T>>2]<<2)|0;c[Y>>2]=(c[Y>>2]|0)-1}while(0);c[T>>2]=(c[T>>2]|0)+1}c[W>>2]=0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=2)break;c[I>>2]=S(c[c[O>>2]>>2]|0,F((c[p>>2]|0)-(a[25406+(c[H>>2]<<3)+((c[P>>2]<<2)+(c[E>>2]<<1)+0)>>0]<<1)|0)|0)|0;Y=S(c[c[O>>2]>>2]|0,F((c[p>>2]|0)-(a[25406+(c[H>>2]<<3)+((c[P>>2]<<2)+(c[E>>2]<<1)+1)>>0]<<1)|0)|0)|0;c[J>>2]=Y+(c[P>>2]|0?0:c[Q>>2]|0);c[T>>2]=1;while(1){m=c[I>>2]|0;k=c[J>>2]|0;if((c[T>>2]|0)>=(c[R>>2]|0))break;if((m|0)<(k+(c[Q>>2]|0)|0))m=c[I>>2]|0;else m=(c[J>>2]|0)+(c[Q>>2]|0)|0;c[C>>2]=m;if(((c[I>>2]|0)+(c[Q>>2]|0)|0)<(c[J>>2]|0))m=(c[I>>2]|0)+(c[Q>>2]|0)|0;else m=c[J>>2]|0;c[D>>2]=m;c[I>>2]=(c[C>>2]|0)+(S(c[(c[O>>2]|0)+(c[T>>2]<<2)>>2]|0,F((c[p+(c[T>>2]<<2)>>2]|0)-(a[25406+(c[H>>2]<<3)+((c[P>>2]<<2)+(c[E>>2]<<1)+0)>>0]<<1)|0)|0)|0);c[J>>2]=(c[D>>2]|0)+(S(c[(c[O>>2]|0)+(c[T>>2]<<2)>>2]|0,F((c[p+(c[T>>2]<<2)>>2]|0)-(a[25406+(c[H>>2]<<3)+((c[P>>2]<<2)+(c[E>>2]<<1)+1)>>0]<<1)|0)|0)|0);c[T>>2]=(c[T>>2]|0)+1}c[I>>2]=(m|0)<(k|0)?c[I>>2]|0:c[J>>2]|0;c[G+(c[E>>2]<<2)>>2]=c[I>>2];c[E>>2]=(c[E>>2]|0)+1}if(c[P>>2]|0?(c[G+4>>2]|0)<(c[G>>2]|0):0)c[W>>2]=1;c[I>>2]=S(c[c[O>>2]>>2]|0,F((c[p>>2]|0)-(a[25406+(c[H>>2]<<3)+((c[P>>2]<<2)+(c[W>>2]<<1)+0)>>0]<<1)|0)|0)|0;Y=S(c[c[O>>2]>>2]|0,F((c[p>>2]|0)-(a[25406+(c[H>>2]<<3)+((c[P>>2]<<2)+(c[W>>2]<<1)+1)>>0]<<1)|0)|0)|0;c[J>>2]=Y+(c[P>>2]|0?0:c[Q>>2]|0);c[T>>2]=1;while(1){m=c[I>>2]|0;if((c[T>>2]|0)>=(c[R>>2]|0))break;c[M>>2]=m;c[N>>2]=(c[J>>2]|0)+(c[Q>>2]|0);if((c[M>>2]|0)<(c[N>>2]|0)){c[K>>2]=c[M>>2];m=0;k=c[T>>2]|0}else{c[K>>2]=c[N>>2];m=1;k=c[T>>2]|0}c[f+(k<<2)>>2]=m;c[M>>2]=(c[I>>2]|0)+(c[Q>>2]|0);c[N>>2]=c[J>>2];if((c[M>>2]|0)<(c[N>>2]|0)){c[L>>2]=c[M>>2];m=0;k=c[T>>2]|0}else{c[L>>2]=c[N>>2];m=1;k=c[T>>2]|0}c[i+(k<<2)>>2]=m;c[I>>2]=(c[K>>2]|0)+(S(c[(c[O>>2]|0)+(c[T>>2]<<2)>>2]|0,F((c[p+(c[T>>2]<<2)>>2]|0)-(a[25406+(c[H>>2]<<3)+((c[P>>2]<<2)+(c[W>>2]<<1)+0)>>0]<<1)|0)|0)|0);c[J>>2]=(c[L>>2]|0)+(S(c[(c[O>>2]|0)+(c[T>>2]<<2)>>2]|0,F((c[p+(c[T>>2]<<2)>>2]|0)-(a[25406+(c[H>>2]<<3)+((c[P>>2]<<2)+(c[W>>2]<<1)+1)>>0]<<1)|0)|0)|0);c[T>>2]=(c[T>>2]|0)+1}c[(c[V>>2]|0)+((c[R>>2]|0)-1<<2)>>2]=(m|0)<(c[J>>2]|0)?0:1;c[T>>2]=(c[R>>2]|0)-2;while(1){if((c[T>>2]|0)<0)break;m=(c[T>>2]|0)+1|0;if((c[(c[V>>2]|0)+((c[T>>2]|0)+1<<2)>>2]|0)==1){m=c[i+(m<<2)>>2]|0;k=(c[V>>2]|0)+(c[T>>2]<<2)|0}else{m=c[f+(m<<2)>>2]|0;k=(c[V>>2]|0)+(c[T>>2]<<2)|0}c[k>>2]=m;c[T>>2]=(c[T>>2]|0)+-1}Y=c[W>>2]|0;ka(c[U>>2]|0);l=X;return Y|0}function Dc(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;s=y+52|0;o=y+48|0;q=y+44|0;v=y+40|0;j=y+36|0;w=y+32|0;n=y+28|0;m=y+24|0;p=y+20|0;x=y+16|0;u=y+12|0;r=y+8|0;k=y+4|0;t=y;c[s>>2]=b;c[o>>2]=d;c[q>>2]=e;c[v>>2]=f;c[j>>2]=g;c[w>>2]=h;c[n>>2]=i;c[k>>2]=c[(c[n>>2]|0)+4>>2]<<3;c[t>>2]=vc(c[n>>2]|0)|0;c[r>>2]=c[q>>2]|0?2:4;if((c[j>>2]|0)>0)g=((c[t>>2]|0)+(c[r>>2]|0)+1|0)>>>0<=(c[k>>2]|0)>>>0;else g=0;c[x>>2]=g&1;c[k>>2]=(c[k>>2]|0)-(c[x>>2]|0);c[u>>2]=0;c[m>>2]=0;c[p>>2]=c[s>>2];while(1){if((c[p>>2]|0)>=(c[o>>2]|0))break;if(((c[t>>2]|0)+(c[r>>2]|0)|0)>>>0<=(c[k>>2]|0)>>>0){vd(c[n>>2]|0,c[(c[v>>2]|0)+(c[p>>2]<<2)>>2]^c[m>>2],c[r>>2]|0);c[t>>2]=vc(c[n>>2]|0)|0;c[m>>2]=c[(c[v>>2]|0)+(c[p>>2]<<2)>>2];c[u>>2]=c[u>>2]|c[m>>2]}else c[(c[v>>2]|0)+(c[p>>2]<<2)>>2]=c[m>>2];c[r>>2]=c[q>>2]|0?4:5;c[p>>2]=(c[p>>2]|0)+1}if(c[x>>2]|0?(a[25406+(c[j>>2]<<3)+((c[q>>2]<<2)+0+(c[u>>2]|0))>>0]|0)!=(a[25406+(c[j>>2]<<3)+((c[q>>2]<<2)+2+(c[u>>2]|0))>>0]|0):0)vd(c[n>>2]|0,c[w>>2]|0,1);else c[w>>2]=0;c[p>>2]=c[s>>2];while(1){if((c[p>>2]|0)>=(c[o>>2]|0))break;c[(c[v>>2]|0)+(c[p>>2]<<2)>>2]=a[25406+(c[j>>2]<<3)+((c[q>>2]<<2)+(c[w>>2]<<1)+(c[(c[v>>2]|0)+(c[p>>2]<<2)>>2]|0))>>0];c[p>>2]=(c[p>>2]|0)+1}l=y;return}function Ec(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;v=l;l=l+64|0;r=v+48|0;o=v+44|0;i=v+40|0;k=v+36|0;p=v+32|0;u=v+28|0;s=v+24|0;t=v+20|0;q=v+16|0;h=v+12|0;m=v+8|0;j=v+4|0;n=v;c[r>>2]=a;c[o>>2]=d;c[i>>2]=e;c[k>>2]=f;g[s>>2]=1.0000000036274937e-15;g[t>>2]=1.0000000036274937e-15;c[p>>2]=0;while(1){if((c[p>>2]|0)>=13)break;c[q>>2]=b[(c[(c[r>>2]|0)+32>>2]|0)+(c[p>>2]<<1)>>1]<<c[i>>2];while(1){if((c[q>>2]|0)>=(b[(c[(c[r>>2]|0)+32>>2]|0)+((c[p>>2]|0)+1<<1)>>1]<<c[i>>2]|0))break;g[h>>2]=+g[(c[o>>2]|0)+(c[q>>2]<<2)>>2];g[m>>2]=+g[(c[o>>2]|0)+((c[k>>2]|0)+(c[q>>2]|0)<<2)>>2];g[j>>2]=+g[h>>2]+ +g[m>>2];g[n>>2]=+g[h>>2]-+g[m>>2];w=+F(+(+g[h>>2]));g[s>>2]=+g[s>>2]+(w+ +F(+(+g[m>>2])));w=+F(+(+g[j>>2]));g[t>>2]=+g[t>>2]+(w+ +F(+(+g[n>>2])));c[q>>2]=(c[q>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}g[t>>2]=+g[t>>2]*.7071070075035095;c[u>>2]=13;if((c[i>>2]|0)<=1)c[u>>2]=(c[u>>2]|0)-8;l=v;return +((b[(c[(c[r>>2]|0)+32>>2]|0)+26>>1]<<(c[i>>2]|0)+1)+(c[u>>2]|0)|0)*+g[t>>2]>+(b[(c[(c[r>>2]|0)+32>>2]|0)+26>>1]<<(c[i>>2]|0)+1|0)*+g[s>>2]|0}function Fc(a,d,e,f,h,i,j,k,m,o,p,q,r,s){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;o=+o;p=p|0;q=+q;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,R=0,T=0,U=0,V=0,W=0,X=0;X=l;l=l+112|0;N=X+100|0;y=X+96|0;J=X+92|0;L=X+88|0;w=X+84|0;I=X+80|0;x=X+76|0;U=X+72|0;O=X+68|0;T=X+64|0;A=X+60|0;R=X+56|0;t=X+52|0;z=X+48|0;M=X+44|0;P=X+40|0;K=X+36|0;W=X+32|0;V=X+28|0;G=X+24|0;H=X+20|0;u=X+16|0;D=X+12|0;C=X+8|0;v=X+4|0;B=X;c[N>>2]=a;c[y>>2]=d;c[J>>2]=e;c[L>>2]=f;c[w>>2]=h;c[I>>2]=i;c[x>>2]=j;c[U>>2]=k;c[O>>2]=m;g[T>>2]=o;c[A>>2]=p;g[R>>2]=q;c[t>>2]=r;c[z>>2]=s;g[P>>2]=0.0;g[V>>2]=5.0;if((c[t>>2]|0)>=64e3){if((c[t>>2]|0)<8e4){c[u>>2]=(c[t>>2]|0)-64e3>>10;g[V>>2]=+(c[u>>2]|0)*.0625+4.0}}else g[V>>2]=4.0;if((c[I>>2]|0)==2){g[D>>2]=0.0;c[M>>2]=0;while(1){if((c[M>>2]|0)>=8)break;g[v>>2]=+ub[c[n+((c[z>>2]&7)<<2)>>2]&0]((c[y>>2]|0)+(b[(c[(c[N>>2]|0)+32>>2]|0)+(c[M>>2]<<1)>>1]<<c[w>>2]<<2)|0,(c[y>>2]|0)+((c[x>>2]|0)+(b[(c[(c[N>>2]|0)+32>>2]|0)+(c[M>>2]<<1)>>1]<<c[w>>2])<<2)|0,(b[(c[(c[N>>2]|0)+32>>2]|0)+((c[M>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[N>>2]|0)+32>>2]|0)+(c[M>>2]<<1)>>1]|0)<<c[w>>2]);g[D>>2]=+g[D>>2]+ +g[v>>2];c[M>>2]=(c[M>>2]|0)+1}g[D>>2]=+g[D>>2]*.125;if(1.0<+F(+(+g[D>>2])))q=1.0;else q=+F(+(+g[D>>2]));g[D>>2]=q;g[C>>2]=+g[D>>2];c[M>>2]=8;while(1){if((c[M>>2]|0)>=(c[A>>2]|0))break;g[B>>2]=+ub[c[n+((c[z>>2]&7)<<2)>>2]&0]((c[y>>2]|0)+(b[(c[(c[N>>2]|0)+32>>2]|0)+(c[M>>2]<<1)>>1]<<c[w>>2]<<2)|0,(c[y>>2]|0)+((c[x>>2]|0)+(b[(c[(c[N>>2]|0)+32>>2]|0)+(c[M>>2]<<1)>>1]<<c[w>>2])<<2)|0,(b[(c[(c[N>>2]|0)+32>>2]|0)+((c[M>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[N>>2]|0)+32>>2]|0)+(c[M>>2]<<1)>>1]|0)<<c[w>>2]);if(+g[C>>2]<+F(+(+g[B>>2])))q=+g[C>>2];else q=+F(+(+g[B>>2]));g[C>>2]=q;c[M>>2]=(c[M>>2]|0)+1}if(1.0<+F(+(+g[C>>2])))q=1.0;else q=+F(+(+g[C>>2]));g[C>>2]=q;g[G>>2]=+Q(+(1.0010000467300415-+g[D>>2]*+g[D>>2]))*1.4426950408889634;if(+g[G>>2]*.5>+Q(+(1.0010000467300415-+g[C>>2]*+g[C>>2]))*1.4426950408889634)q=+g[G>>2]*.5;else q=+Q(+(1.0010000467300415-+g[C>>2]*+g[C>>2]))*1.4426950408889634;g[H>>2]=q;g[V>>2]=+g[V>>2]+(-4.0>+g[G>>2]*.75?-4.0:+g[G>>2]*.75);if(+g[c[O>>2]>>2]+.25<-(+g[H>>2]*.5))q=+g[c[O>>2]>>2]+.25;else q=-(+g[H>>2]*.5);g[c[O>>2]>>2]=q}c[K>>2]=0;do{c[M>>2]=0;while(1){if((c[M>>2]|0)>=((c[L>>2]|0)-1|0))break;o=+g[(c[J>>2]|0)+((c[M>>2]|0)+(S(c[K>>2]|0,c[(c[N>>2]|0)+8>>2]|0)|0)<<2)>>2];g[P>>2]=+g[P>>2]+o*+(2+(c[M>>2]<<1)-(c[L>>2]|0)|0);c[M>>2]=(c[M>>2]|0)+1}O=(c[K>>2]|0)+1|0;c[K>>2]=O}while((O|0)<(c[I>>2]|0));o=+(S(c[I>>2]|0,(c[L>>2]|0)-1|0)|0);g[P>>2]=+g[P>>2]/o;if(2.0<(+g[P>>2]+1.0)/6.0)q=2.0;else q=(+g[P>>2]+1.0)/6.0;if(!(-2.0>q))if(2.0<(+g[P>>2]+1.0)/6.0)q=2.0;else q=(+g[P>>2]+1.0)/6.0;else q=-2.0;g[V>>2]=+g[V>>2]-q;g[V>>2]=+g[V>>2]-+g[R>>2];g[V>>2]=+g[V>>2]-+g[T>>2]*2.0;if(c[c[U>>2]>>2]|0){if(2.0<(+g[(c[U>>2]|0)+8>>2]+.05000000074505806)*2.0)q=2.0;else q=(+g[(c[U>>2]|0)+8>>2]+.05000000074505806)*2.0;if(!(-2.0>q))if(2.0<(+g[(c[U>>2]|0)+8>>2]+.05000000074505806)*2.0)q=2.0;else q=(+g[(c[U>>2]|0)+8>>2]+.05000000074505806)*2.0;else q=-2.0;g[V>>2]=+g[V>>2]-q}c[W>>2]=~~+E(+(+g[V>>2]+.5));if(0>((10<(c[W>>2]|0)?10:c[W>>2]|0)|0)){V=0;c[W>>2]=V;W=c[W>>2]|0;l=X;return W|0}V=10<(c[W>>2]|0)?10:c[W>>2]|0;c[W>>2]=V;W=c[W>>2]|0;l=X;return W|0}function Gc(a,d,e,f,h,i,j,k,m,n,o,p,q,r,s,t,u,v){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=+n;o=o|0;p=+p;q=q|0;r=+r;s=s|0;t=t|0;u=+u;v=+v;var w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;ba=l;l=l+144|0;da=ba+132|0;C=ba+128|0;Z=ba+124|0;M=ba+120|0;O=ba+116|0;ca=ba+112|0;L=ba+108|0;z=ba+104|0;P=ba+100|0;B=ba+96|0;E=ba+92|0;X=ba+88|0;G=ba+84|0;V=ba+80|0;U=ba+76|0;T=ba+72|0;H=ba+68|0;$=ba+64|0;_=ba+60|0;F=ba+56|0;w=ba+52|0;D=ba+48|0;W=ba+44|0;Q=ba+40|0;x=ba+36|0;y=ba+32|0;A=ba+28|0;K=ba+24|0;J=ba+20|0;I=ba+16|0;R=ba+12|0;N=ba+8|0;Y=ba+4|0;aa=ba;c[da>>2]=a;c[C>>2]=d;c[Z>>2]=e;c[M>>2]=f;c[O>>2]=h;c[ca>>2]=i;c[L>>2]=j;c[z>>2]=k;c[P>>2]=m;g[B>>2]=n;c[E>>2]=o;g[X>>2]=p;c[G>>2]=q;g[V>>2]=r;c[U>>2]=s;c[T>>2]=t;g[H>>2]=u;g[$>>2]=v;c[W>>2]=c[(c[da>>2]|0)+8>>2];c[Q>>2]=c[(c[da>>2]|0)+32>>2];c[w>>2]=c[ca>>2]|0?c[ca>>2]|0:c[W>>2]|0;c[F>>2]=b[(c[Q>>2]|0)+(c[w>>2]<<1)>>1]<<c[M>>2];if((c[L>>2]|0)==2)c[F>>2]=(c[F>>2]|0)+(b[(c[Q>>2]|0)+(((c[z>>2]|0)<(c[w>>2]|0)?c[z>>2]|0:c[w>>2]|0)<<1)>>1]<<c[M>>2]);c[_>>2]=c[Z>>2];if(c[c[C>>2]>>2]|0?+g[(c[C>>2]|0)+16>>2]<.4:0)c[_>>2]=(c[_>>2]|0)-~~(+(c[F>>2]<<3|0)*(.4000000059604645-+g[(c[C>>2]|0)+16>>2]));if((c[L>>2]|0)==2){c[x>>2]=(c[z>>2]|0)<(c[w>>2]|0)?c[z>>2]|0:c[w>>2]|0;c[y>>2]=(b[(c[Q>>2]|0)+(c[x>>2]<<1)>>1]<<c[M>>2])-(c[x>>2]|0);g[A>>2]=+(c[y>>2]|0)*.800000011920929/+(c[F>>2]|0);g[B>>2]=+g[B>>2]<1.0?+g[B>>2]:1.0;if(+g[A>>2]*+(c[_>>2]|0)<(+g[B>>2]-.10000000149011612)*+(c[y>>2]<<3|0)){j=c[_>>2]|0;r=+g[A>>2]}else{j=c[y>>2]<<3;r=+g[B>>2]-.10000000149011612}c[_>>2]=(c[_>>2]|0)-~~(r*+(j|0))}c[_>>2]=(c[_>>2]|0)+((c[E>>2]|0)-(19<<c[M>>2]));g[D>>2]=.04399999976158142;c[_>>2]=(c[_>>2]|0)+~~((+g[X>>2]-+g[D>>2])*+(c[_>>2]|0));if(!(c[U>>2]|0?1:(c[c[C>>2]>>2]|0)==0)){if(0.0>+g[(c[C>>2]|0)+4>>2]-.15000000596046448)r=0.0;else r=+g[(c[C>>2]|0)+4>>2]-.15000000596046448;g[J>>2]=r-.11999999731779099;c[K>>2]=(c[_>>2]|0)+~~(+(c[F>>2]<<3|0)*1.2000000476837158*+g[J>>2]);if(c[G>>2]|0)c[K>>2]=(c[K>>2]|0)+~~(+(c[F>>2]<<3|0)*.800000011920929);c[_>>2]=c[K>>2]}if(!((c[T>>2]|0)==0|(c[U>>2]|0)!=0)){c[I>>2]=(c[_>>2]|0)+~~(+g[H>>2]*+(c[F>>2]<<3|0));if(((c[_>>2]|0)/4|0|0)>(c[I>>2]|0))j=(c[_>>2]|0)/4|0;else j=c[I>>2]|0;c[_>>2]=j}c[N>>2]=b[(c[Q>>2]|0)+((c[W>>2]|0)-2<<1)>>1]<<c[M>>2];p=+((S(c[L>>2]|0,c[N>>2]|0)|0)<<3|0);c[R>>2]=~~(p*+g[V>>2]);c[R>>2]=(c[R>>2]|0)>(c[_>>2]>>2|0)?c[R>>2]|0:c[_>>2]>>2;c[_>>2]=(c[_>>2]|0)<(c[R>>2]|0)?c[_>>2]|0:c[R>>2]|0;if(((c[T>>2]|0)==0|(c[U>>2]|0)!=0)&(c[P>>2]|0)!=0)c[_>>2]=(c[Z>>2]|0)+~~(+((c[_>>2]|0)-(c[Z>>2]|0)|0)*.6700000166893005);if(!((c[T>>2]|0)==0&+g[X>>2]<.20000000298023224)){ca=c[Z>>2]|0;ca=ca<<1;aa=c[_>>2]|0;aa=(ca|0)<(aa|0);ca=c[Z>>2]|0;ca=ca<<1;da=c[_>>2]|0;da=aa?ca:da;c[_>>2]=da;da=c[_>>2]|0;l=ba;return da|0}if(0>((32e3<(96e3-(c[O>>2]|0)|0)?32e3:96e3-(c[O>>2]|0)|0)|0))j=0;else j=32e3<(96e3-(c[O>>2]|0)|0)?32e3:96e3-(c[O>>2]|0)|0;g[Y>>2]=+(j|0)*3.099999958067201e-06;g[aa>>2]=+g[$>>2]*+g[Y>>2];c[_>>2]=(c[_>>2]|0)+~~(+g[aa>>2]*+(c[_>>2]|0));ca=c[Z>>2]|0;ca=ca<<1;aa=c[_>>2]|0;aa=(ca|0)<(aa|0);ca=c[Z>>2]|0;ca=ca<<1;da=c[_>>2]|0;da=aa?ca:da;c[_>>2]=da;da=c[_>>2]|0;l=ba;return da|0}function Hc(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+44>>2]|0}function Ic(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+20|0;i=n+16|0;h=n+12|0;j=n+8|0;k=n+4|0;f=n;c[m>>2]=a;c[i>>2]=b;c[h>>2]=d;g[j>>2]=e;g[f>>2]=0.0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[i>>2]|0))break;e=+F(+(+g[(c[m>>2]|0)+(c[k>>2]<<2)>>2]));g[f>>2]=+g[f>>2]+e;c[k>>2]=(c[k>>2]|0)+1}g[f>>2]=+g[f>>2]+ +(c[h>>2]|0)*+g[j>>2]*+g[f>>2];l=n;return +(+g[f>>2])}function Jc(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+48|0;b=n+32|0;m=n+28|0;d=n+24|0;e=n+20|0;f=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n;c[m>>2]=a;g[f>>2]=+g[(c[m>>2]|0)+8>>2];a=c[m>>2]|0;if(+g[c[m>>2]>>2]>+g[(c[m>>2]|0)+4>>2]){g[d>>2]=+g[a+4>>2];g[e>>2]=+g[c[m>>2]>>2]}else{g[d>>2]=+g[a>>2];g[e>>2]=+g[(c[m>>2]|0)+4>>2]}a=c[m>>2]|0;if(+g[(c[m>>2]|0)+12>>2]>+g[(c[m>>2]|0)+16>>2]){g[h>>2]=+g[a+16>>2];g[i>>2]=+g[(c[m>>2]|0)+12>>2]}else{g[h>>2]=+g[a+12>>2];g[i>>2]=+g[(c[m>>2]|0)+16>>2]}if(+g[d>>2]>+g[h>>2]){g[j>>2]=+g[d>>2];g[d>>2]=+g[h>>2];g[h>>2]=+g[j>>2];g[k>>2]=+g[e>>2];g[e>>2]=+g[i>>2];g[i>>2]=+g[k>>2]}if(+g[f>>2]>+g[e>>2])if(+g[e>>2]<+g[h>>2]){g[b>>2]=+g[f>>2]<+g[h>>2]?+g[f>>2]:+g[h>>2];o=+g[b>>2];l=n;return +o}else{g[b>>2]=+g[i>>2]<+g[e>>2]?+g[i>>2]:+g[e>>2];o=+g[b>>2];l=n;return +o}else if(+g[f>>2]<+g[h>>2]){g[b>>2]=+g[e>>2]<+g[h>>2]?+g[e>>2]:+g[h>>2];o=+g[b>>2];l=n;return +o}else{g[b>>2]=+g[f>>2]<+g[i>>2]?+g[f>>2]:+g[i>>2];o=+g[b>>2];l=n;return +o}return 0.0}function Kc(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0.0;i=l;l=l+32|0;b=i+16|0;h=i+12|0;d=i+8|0;e=i+4|0;f=i;c[h>>2]=a;a=c[h>>2]|0;if(+g[c[h>>2]>>2]>+g[(c[h>>2]|0)+4>>2]){g[d>>2]=+g[a+4>>2];g[e>>2]=+g[c[h>>2]>>2]}else{g[d>>2]=+g[a>>2];g[e>>2]=+g[(c[h>>2]|0)+4>>2]}g[f>>2]=+g[(c[h>>2]|0)+8>>2];if(+g[e>>2]<+g[f>>2]){g[b>>2]=+g[e>>2];j=+g[b>>2];l=i;return +j}if(+g[d>>2]<+g[f>>2]){g[b>>2]=+g[f>>2];j=+g[b>>2];l=i;return +j}else{g[b>>2]=+g[d>>2];j=+g[b>>2];l=i;return +j}return 0.0}function Lc(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Pd(48e3,960,0)|0;a=Mc(c[e>>2]|0,c[d>>2]|0)|0;l=b;return a|0}function Mc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;a=96+((S(c[g>>2]|0,2048+(c[(c[f>>2]|0)+4>>2]|0)|0)|0)-1<<2)|0;c[d>>2]=a+((c[g>>2]|0)*24<<2)+(c[(c[f>>2]|0)+8>>2]<<3<<2);l=e;return c[d>>2]|0}function Nc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;f=i+16|0;h=i+12|0;g=i+8|0;j=i+4|0;e=i;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;b=c[h>>2]|0;a=Pd(48e3,960,0)|0;c[e>>2]=Oc(b,a,c[j>>2]|0)|0;if(c[e>>2]|0){c[f>>2]=c[e>>2];j=c[f>>2]|0;l=i;return j|0}j=jc(c[g>>2]|0)|0;c[(c[h>>2]|0)+16>>2]=j;if(!(c[(c[h>>2]|0)+16>>2]|0)){c[f>>2]=-1;j=c[f>>2]|0;l=i;return j|0}else{c[f>>2]=0;j=c[f>>2]|0;l=i;return j|0}return 0}function Oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+16|0;h=i+12|0;f=i+8|0;e=i+4|0;c[h>>2]=a;c[f>>2]=b;c[e>>2]=d;if((c[e>>2]|0)<0|(c[e>>2]|0)>2){c[g>>2]=-1;h=c[g>>2]|0;l=i;return h|0}if(!(c[h>>2]|0)){c[g>>2]=-7;h=c[g>>2]|0;l=i;return h|0}else{a=c[h>>2]|0;wk(a|0,0,Mc(c[f>>2]|0,c[e>>2]|0)|0)|0;c[c[h>>2]>>2]=c[f>>2];c[(c[h>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];a=c[e>>2]|0;c[(c[h>>2]|0)+8>>2]=a;c[(c[h>>2]|0)+12>>2]=a;c[(c[h>>2]|0)+16>>2]=1;c[(c[h>>2]|0)+20>>2]=0;c[(c[h>>2]|0)+24>>2]=c[(c[c[h>>2]>>2]|0)+12>>2];c[(c[h>>2]|0)+28>>2]=1;c[(c[h>>2]|0)+32>>2]=(c[e>>2]|0)==1&1;a=ze()|0;c[(c[h>>2]|0)+36>>2]=a;Pc(c[h>>2]|0,4028,i)|0;c[g>>2]=0;h=c[g>>2]|0;l=i;return h|0}return 0}function Pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=l;l=l+144|0;J=K+136|0;m=K+132|0;L=K+128|0;e=K+112|0;n=K+104|0;y=K+100|0;r=K+96|0;E=K+92|0;o=K+88|0;A=K+84|0;p=K+80|0;B=K+76|0;q=K+72|0;C=K+68|0;f=K+64|0;h=K+60|0;i=K+56|0;j=K+52|0;k=K+48|0;s=K+44|0;D=K+40|0;t=K+36|0;F=K+32|0;u=K+28|0;G=K+24|0;v=K+20|0;H=K+16|0;w=K+12|0;I=K+8|0;x=K+4|0;z=K;c[m>>2]=a;c[L>>2]=b;c[e>>2]=d;do switch(c[L>>2]|0){case 10010:{I=(c[e>>2]|0)+(4-1)&~(4-1);L=c[I>>2]|0;c[e>>2]=I+4;c[y>>2]=L;c[n>>2]=c[y>>2];if((c[n>>2]|0)>=0?(c[n>>2]|0)<(c[(c[c[m>>2]>>2]|0)+8>>2]|0):0){c[(c[m>>2]|0)+20>>2]=c[n>>2];e=29}else e=30;break}case 10012:{I=(c[e>>2]|0)+(4-1)&~(4-1);L=c[I>>2]|0;c[e>>2]=I+4;c[E>>2]=L;c[r>>2]=c[E>>2];if((c[r>>2]|0)>=1?(c[r>>2]|0)<=(c[(c[c[m>>2]>>2]|0)+8>>2]|0):0){c[(c[m>>2]|0)+24>>2]=c[r>>2];e=29}else e=30;break}case 10008:{I=(c[e>>2]|0)+(4-1)&~(4-1);L=c[I>>2]|0;c[e>>2]=I+4;c[A>>2]=L;c[o>>2]=c[A>>2];if((c[o>>2]|0)<1|(c[o>>2]|0)>2)e=30;else{c[(c[m>>2]|0)+12>>2]=c[o>>2];e=29}break}case 10007:{I=(c[e>>2]|0)+(4-1)&~(4-1);L=c[I>>2]|0;c[e>>2]=I+4;c[B>>2]=L;c[p>>2]=c[B>>2];if(!(c[p>>2]|0))e=30;else{c[c[p>>2]>>2]=c[(c[m>>2]|0)+44>>2];c[(c[m>>2]|0)+44>>2]=0;e=29}break}case 4027:{I=(c[e>>2]|0)+(4-1)&~(4-1);L=c[I>>2]|0;c[e>>2]=I+4;c[C>>2]=L;c[q>>2]=c[C>>2];if(!(c[q>>2]|0))e=30;else{c[c[q>>2]>>2]=(c[(c[m>>2]|0)+4>>2]|0)/(c[(c[m>>2]|0)+16>>2]|0)|0;e=29}break}case 4028:{c[h>>2]=(c[m>>2]|0)+92+((S(2048+(c[(c[m>>2]|0)+4>>2]|0)|0,c[(c[m>>2]|0)+8>>2]|0)|0)<<2);c[i>>2]=(c[h>>2]|0)+((c[(c[m>>2]|0)+8>>2]|0)*24<<2);c[j>>2]=(c[i>>2]|0)+(c[(c[c[m>>2]>>2]|0)+8>>2]<<1<<2);c[k>>2]=(c[j>>2]|0)+(c[(c[c[m>>2]>>2]|0)+8>>2]<<1<<2);wk((c[m>>2]|0)+40|0,0,(Mc(c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0)|0)-((c[m>>2]|0)+40-(c[m>>2]|0))|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[c[m>>2]>>2]|0)+8>>2]<<1|0))break;g[(c[k>>2]|0)+(c[f>>2]<<2)>>2]=-28.0;g[(c[j>>2]|0)+(c[f>>2]<<2)>>2]=-28.0;c[f>>2]=(c[f>>2]|0)+1}c[(c[m>>2]|0)+56>>2]=1;e=29;break}case 4033:{I=(c[e>>2]|0)+(4-1)&~(4-1);L=c[I>>2]|0;c[e>>2]=I+4;c[D>>2]=L;c[s>>2]=c[D>>2];if(!(c[s>>2]|0))e=30;else{c[c[s>>2]>>2]=c[(c[m>>2]|0)+60>>2];e=29}break}case 10015:{I=(c[e>>2]|0)+(4-1)&~(4-1);L=c[I>>2]|0;c[e>>2]=I+4;c[F>>2]=L;c[t>>2]=c[F>>2];if(!(c[t>>2]|0))e=30;else{c[c[t>>2]>>2]=c[c[m>>2]>>2];e=29}break}case 10016:{I=(c[e>>2]|0)+(4-1)&~(4-1);L=c[I>>2]|0;c[e>>2]=I+4;c[G>>2]=L;c[u>>2]=c[G>>2];c[(c[m>>2]|0)+28>>2]=c[u>>2];e=29;break}case 4031:{I=(c[e>>2]|0)+(4-1)&~(4-1);L=c[I>>2]|0;c[e>>2]=I+4;c[H>>2]=L;c[v>>2]=c[H>>2];if(!(c[v>>2]|0))e=30;else{c[c[v>>2]>>2]=c[(c[m>>2]|0)+40>>2];e=29}break}case 4046:{H=(c[e>>2]|0)+(4-1)&~(4-1);L=c[H>>2]|0;c[e>>2]=H+4;c[I>>2]=L;c[w>>2]=c[I>>2];if((c[w>>2]|0)<0|(c[w>>2]|0)>1)e=30;else{c[(c[m>>2]|0)+32>>2]=c[w>>2];e=29}break}case 4047:{I=(c[e>>2]|0)+(4-1)&~(4-1);L=c[I>>2]|0;c[e>>2]=I+4;c[z>>2]=L;c[x>>2]=c[z>>2];if(c[x>>2]|0){c[c[x>>2]>>2]=c[(c[m>>2]|0)+32>>2];e=29}else e=30;break}default:{c[J>>2]=-5;L=c[J>>2]|0;l=K;return L|0}}while(0);if((e|0)==29){c[J>>2]=0;L=c[J>>2]|0;l=K;return L|0}else if((e|0)==30){c[J>>2]=-1;L=c[J>>2]|0;l=K;return L|0}return 0}function Qc(a,d,e,f,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0;ta=l;l=l+304|0;pa=ta+288|0;ra=ta+284|0;n=ta+280|0;fa=ta+276|0;oa=ta+272|0;da=ta+268|0;ba=ta+264|0;_=ta+260|0;$=ta+256|0;ea=ta+252|0;Z=ta+248|0;M=ta+244|0;B=ta+240|0;m=ta+192|0;C=ta+184|0;na=ta+176|0;ua=ta+168|0;ia=ta+164|0;ja=ta+160|0;ma=ta+156|0;W=ta+152|0;K=ta+148|0;Q=ta+144|0;q=ta+140|0;Y=ta+136|0;O=ta+132|0;P=ta+128|0;sa=ta+124|0;ca=ta+120|0;I=ta+116|0;G=ta+112|0;A=ta+108|0;U=ta+104|0;T=ta+100|0;J=ta+96|0;H=ta+92|0;z=ta+88|0;F=ta+84|0;y=ta+80|0;s=ta+76|0;V=ta+72|0;E=ta+68|0;D=ta+64|0;L=ta+60|0;N=ta+56|0;ga=ta+52|0;ha=ta+48|0;R=ta+44|0;u=ta+40|0;p=ta+36|0;o=ta+32|0;qa=ta+28|0;x=ta+24|0;w=ta+20|0;t=ta+16|0;r=ta+12|0;v=ta+8|0;X=ta+4|0;aa=ta;c[ra>>2]=a;c[n>>2]=d;c[fa>>2]=e;c[oa>>2]=f;c[da>>2]=h;c[ba>>2]=i;c[_>>2]=j;c[Y>>2]=c[(c[ra>>2]|0)+8>>2];c[J>>2]=0;c[H>>2]=0;c[D>>2]=0;c[N>>2]=c[(c[ra>>2]|0)+12>>2];c[ga>>2]=c[c[ra>>2]>>2];c[ha>>2]=c[(c[ga>>2]|0)+8>>2];c[R>>2]=c[(c[ga>>2]|0)+4>>2];c[u>>2]=c[(c[ga>>2]|0)+32>>2];c[sa>>2]=c[(c[ra>>2]|0)+20>>2];c[ca>>2]=c[(c[ra>>2]|0)+24>>2];c[da>>2]=S(c[da>>2]|0,c[(c[ra>>2]|0)+16>>2]|0)|0;c[ua>>2]=(c[ra>>2]|0)+92+((S(2048+(c[R>>2]|0)|0,c[Y>>2]|0)|0)<<2);c[ia>>2]=(c[ua>>2]|0)+((c[Y>>2]|0)*24<<2);c[ja>>2]=(c[ia>>2]|0)+(c[ha>>2]<<1<<2);c[ma>>2]=(c[ja>>2]|0)+(c[ha>>2]<<1<<2);c[W>>2]=(c[ma>>2]|0)+(c[ha>>2]<<1<<2);c[O>>2]=0;while(1){if((c[O>>2]|0)>(c[(c[ga>>2]|0)+36>>2]|0))break;if((c[(c[ga>>2]|0)+44>>2]<<c[O>>2]|0)==(c[da>>2]|0))break;c[O>>2]=(c[O>>2]|0)+1}if((c[O>>2]|0)>(c[(c[ga>>2]|0)+36>>2]|0)){c[pa>>2]=-1;ua=c[pa>>2]|0;l=ta;return ua|0}c[P>>2]=1<<c[O>>2];if((c[fa>>2]|0)<0|(c[fa>>2]|0)>1275|(c[oa>>2]|0)==0){c[pa>>2]=-1;ua=c[pa>>2]|0;l=ta;return ua|0}c[Z>>2]=S(c[P>>2]|0,c[(c[ga>>2]|0)+44>>2]|0)|0;c[$>>2]=0;do{ua=(c[ra>>2]|0)+92+((S(c[$>>2]|0,2048+(c[R>>2]|0)|0)|0)<<2)|0;c[C+(c[$>>2]<<2)>>2]=ua;c[na+(c[$>>2]<<2)>>2]=(c[C+(c[$>>2]<<2)>>2]|0)+8192+(0-(c[Z>>2]|0)<<2);ua=(c[$>>2]|0)+1|0;c[$>>2]=ua}while((ua|0)<(c[Y>>2]|0));c[I>>2]=c[ca>>2];if((c[I>>2]|0)>(c[(c[ga>>2]|0)+12>>2]|0))c[I>>2]=c[(c[ga>>2]|0)+12>>2];j=c[ra>>2]|0;if((c[n>>2]|0)==0|(c[fa>>2]|0)<=1){Rc(j,c[Z>>2]|0,c[O>>2]|0);Sc(na,c[oa>>2]|0,c[Z>>2]|0,c[Y>>2]|0,c[(c[ra>>2]|0)+16>>2]|0,(c[ga>>2]|0)+16|0,(c[ra>>2]|0)+84|0,c[_>>2]|0);c[pa>>2]=(c[da>>2]|0)/(c[(c[ra>>2]|0)+16>>2]|0)|0;ua=c[pa>>2]|0;l=ta;return ua|0}c[(c[ra>>2]|0)+56>>2]=(c[j+52>>2]|0)!=0&1;if(!(c[ba>>2]|0)){cd(m,c[n>>2]|0,c[fa>>2]|0);c[ba>>2]=m}a:do if((c[N>>2]|0)==1){c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[ha>>2]|0))break a;if(+g[(c[ia>>2]|0)+(c[ea>>2]<<2)>>2]>+g[(c[ia>>2]|0)+((c[ha>>2]|0)+(c[ea>>2]|0)<<2)>>2])j=c[ea>>2]|0;else j=(c[ha>>2]|0)+(c[ea>>2]|0)|0;g[(c[ia>>2]|0)+(c[ea>>2]<<2)>>2]=+g[(c[ia>>2]|0)+(j<<2)>>2];c[ea>>2]=(c[ea>>2]|0)+1}}while(0);c[z>>2]=c[fa>>2]<<3;c[y>>2]=Tc(c[ba>>2]|0)|0;do if((c[y>>2]|0)<(c[z>>2]|0))if((c[y>>2]|0)==1){c[L>>2]=jd(c[ba>>2]|0,15)|0;break}else{c[L>>2]=0;break}else c[L>>2]=1;while(0);if(c[L>>2]|0){c[y>>2]=c[fa>>2]<<3;n=c[y>>2]|0;n=n-(Tc(c[ba>>2]|0)|0)|0;ua=(c[ba>>2]|0)+20|0;c[ua>>2]=(c[ua>>2]|0)+n}g[T>>2]=0.0;c[U>>2]=0;c[V>>2]=0;if((c[sa>>2]|0)==0?((c[y>>2]|0)+16|0)<=(c[z>>2]|0):0){if(jd(c[ba>>2]|0,1)|0){c[o>>2]=ld(c[ba>>2]|0,6)|0;ua=16<<c[o>>2];c[U>>2]=ua+(md(c[ba>>2]|0,4+(c[o>>2]|0)|0)|0)-1;c[p>>2]=md(c[ba>>2]|0,3)|0;ua=(Tc(c[ba>>2]|0)|0)+2|0;if((ua|0)<=(c[z>>2]|0))c[V>>2]=kd(c[ba>>2]|0,25764,2)|0;g[T>>2]=+((c[p>>2]|0)+1|0)*.09375}c[y>>2]=Tc(c[ba>>2]|0)|0}if((c[O>>2]|0)>0?((c[y>>2]|0)+3|0)<=(c[z>>2]|0):0){c[Q>>2]=jd(c[ba>>2]|0,3)|0;c[y>>2]=Tc(c[ba>>2]|0)|0}else c[Q>>2]=0;if(c[Q>>2]|0)c[K>>2]=c[P>>2];else c[K>>2]=0;if(((c[y>>2]|0)+3|0)<=(c[z>>2]|0))j=jd(c[ba>>2]|0,3)|0;else j=0;c[q>>2]=j;ie(c[ga>>2]|0,c[sa>>2]|0,c[ca>>2]|0,c[ia>>2]|0,c[q>>2]|0,c[ba>>2]|0,c[N>>2]|0,c[O>>2]|0);ua=c[ha>>2]|0;c[qa>>2]=la()|0;a=l;l=l+((1*(ua<<2)|0)+15&-16)|0;Uc(c[sa>>2]|0,c[ca>>2]|0,c[Q>>2]|0,a,c[O>>2]|0,c[ba>>2]|0);c[y>>2]=Tc(c[ba>>2]|0)|0;c[M>>2]=2;if(((c[y>>2]|0)+4|0)<=(c[z>>2]|0))c[M>>2]=kd(c[ba>>2]|0,25767,5)|0;d=l;l=l+((1*(c[ha>>2]<<2)|0)+15&-16)|0;lc(c[ga>>2]|0,d,c[O>>2]|0,c[N>>2]|0);f=l;l=l+((1*(c[ha>>2]<<2)|0)+15&-16)|0;c[s>>2]=6;c[z>>2]=c[z>>2]<<3;c[y>>2]=bd(c[ba>>2]|0)|0;c[ea>>2]=c[sa>>2];while(1){if((c[ea>>2]|0)>=(c[ca>>2]|0))break;j=S(c[N>>2]|0,(b[(c[u>>2]|0)+((c[ea>>2]|0)+1<<1)>>1]|0)-(b[(c[u>>2]|0)+(c[ea>>2]<<1)>>1]|0)|0)|0;c[x>>2]=j<<c[O>>2];j=c[x>>2]|0;if((c[x>>2]<<3|0)<((48>(c[x>>2]|0)?48:c[x>>2]|0)|0))j=j<<3;else j=48>(j|0)?48:c[x>>2]|0;c[w>>2]=j;c[t>>2]=c[s>>2];c[r>>2]=0;while(1){if(((c[y>>2]|0)+(c[t>>2]<<3)|0)>=(c[z>>2]|0))break;if((c[r>>2]|0)>=(c[d+(c[ea>>2]<<2)>>2]|0))break;c[v>>2]=jd(c[ba>>2]|0,c[t>>2]|0)|0;c[y>>2]=bd(c[ba>>2]|0)|0;if(!(c[v>>2]|0))break;c[r>>2]=(c[r>>2]|0)+(c[w>>2]|0);c[z>>2]=(c[z>>2]|0)-(c[w>>2]|0);c[t>>2]=1}c[f+(c[ea>>2]<<2)>>2]=c[r>>2];if((c[r>>2]|0)>0)c[s>>2]=2>((c[s>>2]|0)-1|0)?2:(c[s>>2]|0)-1|0;c[ea>>2]=(c[ea>>2]|0)+1}e=l;l=l+((1*(c[ha>>2]<<2)|0)+15&-16)|0;if(((c[y>>2]|0)+48|0)<=(c[z>>2]|0))j=kd(c[ba>>2]|0,25771,7)|0;else j=5;c[A>>2]=j;ua=c[fa>>2]<<3<<3;c[B>>2]=ua-(bd(c[ba>>2]|0)|0)-1;if((c[Q>>2]|0)!=0&(c[O>>2]|0)>=2)j=(c[B>>2]|0)>=((c[O>>2]|0)+2<<3|0);else j=0;c[E>>2]=j?8:0;c[B>>2]=(c[B>>2]|0)-(c[E>>2]|0);i=l;l=l+((1*(c[ha>>2]<<2)|0)+15&-16)|0;h=l;l=l+((1*(c[ha>>2]<<2)|0)+15&-16)|0;c[G>>2]=me(c[ga>>2]|0,c[sa>>2]|0,c[ca>>2]|0,f,d,c[A>>2]|0,J,H,c[B>>2]|0,F,i,e,h,c[N>>2]|0,c[O>>2]|0,c[ba>>2]|0,0,0,0)|0;je(c[ga>>2]|0,c[sa>>2]|0,c[ca>>2]|0,c[ia>>2]|0,e,c[ba>>2]|0,c[N>>2]|0);c[$>>2]=0;do{vk(c[C+(c[$>>2]<<2)>>2]|0,(c[C+(c[$>>2]<<2)>>2]|0)+(c[Z>>2]<<2)|0,(2048-(c[Z>>2]|0)+((c[R>>2]|0)/2|0)<<2)+0|0)|0;ua=(c[$>>2]|0)+1|0;c[$>>2]=ua}while((ua|0)<(c[Y>>2]|0));ua=S(c[N>>2]|0,c[ha>>2]|0)|0;j=l;l=l+((1*ua|0)+15&-16)|0;ua=(S(c[N>>2]|0,c[Z>>2]|0)|0)<<2;d=l;l=l+((1*ua|0)+15&-16)|0;Tb(0,c[ga>>2]|0,c[sa>>2]|0,c[ca>>2]|0,d,(c[N>>2]|0)==2?d+(c[Z>>2]<<2)|0:0,j,0,i,c[K>>2]|0,c[M>>2]|0,c[H>>2]|0,c[J>>2]|0,a,(c[fa>>2]<<6)-(c[E>>2]|0)|0,c[F>>2]|0,c[ba>>2]|0,c[O>>2]|0,c[G>>2]|0,(c[ra>>2]|0)+40|0,0,c[(c[ra>>2]|0)+36>>2]|0,c[(c[ra>>2]|0)+32>>2]|0);if((c[E>>2]|0)>0)c[D>>2]=md(c[ba>>2]|0,1)|0;H=c[ga>>2]|0;J=c[sa>>2]|0;K=c[ca>>2]|0;M=c[ia>>2]|0;ua=c[fa>>2]<<3;ua=ua-(Tc(c[ba>>2]|0)|0)|0;ke(H,J,K,M,e,h,ua,c[ba>>2]|0,c[N>>2]|0);if(c[D>>2]|0)Pb(c[ga>>2]|0,d,j,c[O>>2]|0,c[N>>2]|0,c[Z>>2]|0,c[sa>>2]|0,c[ca>>2]|0,c[ia>>2]|0,c[ja>>2]|0,c[ma>>2]|0,i,c[(c[ra>>2]|0)+40>>2]|0,c[(c[ra>>2]|0)+36>>2]|0);b:do if(c[L>>2]|0){c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(S(c[N>>2]|0,c[ha>>2]|0)|0))break b;g[(c[ia>>2]|0)+(c[ea>>2]<<2)>>2]=-28.0;c[ea>>2]=(c[ea>>2]|0)+1}}while(0);Vc(c[ga>>2]|0,d,na,c[ia>>2]|0,c[sa>>2]|0,c[I>>2]|0,c[N>>2]|0,c[Y>>2]|0,c[Q>>2]|0,c[O>>2]|0,c[(c[ra>>2]|0)+16>>2]|0,c[L>>2]|0,c[(c[ra>>2]|0)+36>>2]|0);c[$>>2]=0;do{if((c[(c[ra>>2]|0)+60>>2]|0)>15)j=c[(c[ra>>2]|0)+60>>2]|0;else j=15;c[(c[ra>>2]|0)+60>>2]=j;if((c[(c[ra>>2]|0)+64>>2]|0)>15)j=c[(c[ra>>2]|0)+64>>2]|0;else j=15;c[(c[ra>>2]|0)+64>>2]=j;kc(c[na+(c[$>>2]<<2)>>2]|0,c[na+(c[$>>2]<<2)>>2]|0,c[(c[ra>>2]|0)+64>>2]|0,c[(c[ra>>2]|0)+60>>2]|0,c[(c[ga>>2]|0)+44>>2]|0,+g[(c[ra>>2]|0)+72>>2],+g[(c[ra>>2]|0)+68>>2],c[(c[ra>>2]|0)+80>>2]|0,c[(c[ra>>2]|0)+76>>2]|0,c[(c[ga>>2]|0)+60>>2]|0,c[R>>2]|0,c[(c[ra>>2]|0)+36>>2]|0);if(c[O>>2]|0)kc((c[na+(c[$>>2]<<2)>>2]|0)+(c[(c[ga>>2]|0)+44>>2]<<2)|0,(c[na+(c[$>>2]<<2)>>2]|0)+(c[(c[ga>>2]|0)+44>>2]<<2)|0,c[(c[ra>>2]|0)+60>>2]|0,c[U>>2]|0,(c[Z>>2]|0)-(c[(c[ga>>2]|0)+44>>2]|0)|0,+g[(c[ra>>2]|0)+68>>2],+g[T>>2],c[(c[ra>>2]|0)+76>>2]|0,c[V>>2]|0,c[(c[ga>>2]|0)+60>>2]|0,c[R>>2]|0,c[(c[ra>>2]|0)+36>>2]|0);ua=(c[$>>2]|0)+1|0;c[$>>2]=ua}while((ua|0)<(c[Y>>2]|0));c[(c[ra>>2]|0)+64>>2]=c[(c[ra>>2]|0)+60>>2];g[(c[ra>>2]|0)+72>>2]=+g[(c[ra>>2]|0)+68>>2];c[(c[ra>>2]|0)+80>>2]=c[(c[ra>>2]|0)+76>>2];c[(c[ra>>2]|0)+60>>2]=c[U>>2];g[(c[ra>>2]|0)+68>>2]=+g[T>>2];c[(c[ra>>2]|0)+76>>2]=c[V>>2];if(c[O>>2]|0){c[(c[ra>>2]|0)+64>>2]=c[(c[ra>>2]|0)+60>>2];g[(c[ra>>2]|0)+72>>2]=+g[(c[ra>>2]|0)+68>>2];c[(c[ra>>2]|0)+80>>2]=c[(c[ra>>2]|0)+76>>2]}if((c[N>>2]|0)==1)uk((c[ia>>2]|0)+(c[ha>>2]<<2)|0,c[ia>>2]|0,(c[ha>>2]<<2)+0|0)|0;c:do if(c[Q>>2]|0){c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[ha>>2]<<1|0))break c;if(+g[(c[ja>>2]|0)+(c[ea>>2]<<2)>>2]<+g[(c[ia>>2]|0)+(c[ea>>2]<<2)>>2])j=(c[ja>>2]|0)+(c[ea>>2]<<2)|0;else j=(c[ia>>2]|0)+(c[ea>>2]<<2)|0;g[(c[ja>>2]|0)+(c[ea>>2]<<2)>>2]=+g[j>>2];c[ea>>2]=(c[ea>>2]|0)+1}}else{uk(c[ma>>2]|0,c[ja>>2]|0,(c[ha>>2]<<1<<2)+0|0)|0;uk(c[ja>>2]|0,c[ia>>2]|0,(c[ha>>2]<<1<<2)+0|0)|0;if((c[(c[ra>>2]|0)+52>>2]|0)<10)g[X>>2]=+(c[P>>2]|0)*1.0000000474974513e-03;else g[X>>2]=1.0;c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[ha>>2]<<1|0))break c;if(+g[(c[W>>2]|0)+(c[ea>>2]<<2)>>2]+ +g[X>>2]<+g[(c[ia>>2]|0)+(c[ea>>2]<<2)>>2])k=+g[(c[W>>2]|0)+(c[ea>>2]<<2)>>2]+ +g[X>>2];else k=+g[(c[ia>>2]|0)+(c[ea>>2]<<2)>>2];g[(c[W>>2]|0)+(c[ea>>2]<<2)>>2]=k;c[ea>>2]=(c[ea>>2]|0)+1}}while(0);c[$>>2]=0;do{c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[sa>>2]|0))break;ua=S(c[$>>2]|0,c[ha>>2]|0)|0;g[(c[ia>>2]|0)+(ua+(c[ea>>2]|0)<<2)>>2]=0.0;ua=S(c[$>>2]|0,c[ha>>2]|0)|0;g[(c[ma>>2]|0)+(ua+(c[ea>>2]|0)<<2)>>2]=-28.0;ua=S(c[$>>2]|0,c[ha>>2]|0)|0;g[(c[ja>>2]|0)+(ua+(c[ea>>2]|0)<<2)>>2]=-28.0;c[ea>>2]=(c[ea>>2]|0)+1}c[ea>>2]=c[ca>>2];while(1){if((c[ea>>2]|0)>=(c[ha>>2]|0))break;ua=S(c[$>>2]|0,c[ha>>2]|0)|0;g[(c[ia>>2]|0)+(ua+(c[ea>>2]|0)<<2)>>2]=0.0;ua=S(c[$>>2]|0,c[ha>>2]|0)|0;g[(c[ma>>2]|0)+(ua+(c[ea>>2]|0)<<2)>>2]=-28.0;ua=S(c[$>>2]|0,c[ha>>2]|0)|0;g[(c[ja>>2]|0)+(ua+(c[ea>>2]|0)<<2)>>2]=-28.0;c[ea>>2]=(c[ea>>2]|0)+1}ua=(c[$>>2]|0)+1|0;c[$>>2]=ua}while((ua|0)<2);c[(c[ra>>2]|0)+40>>2]=c[(c[ba>>2]|0)+28>>2];Sc(na,c[oa>>2]|0,c[Z>>2]|0,c[Y>>2]|0,c[(c[ra>>2]|0)+16>>2]|0,(c[ga>>2]|0)+16|0,(c[ra>>2]|0)+84|0,c[_>>2]|0);c[(c[ra>>2]|0)+52>>2]=0;ua=Tc(c[ba>>2]|0)|0;if((ua|0)>(c[fa>>2]<<3|0)){c[pa>>2]=-3;c[aa>>2]=1}else{if(Wc(c[ba>>2]|0)|0)c[(c[ra>>2]|0)+44>>2]=1;c[pa>>2]=(c[da>>2]|0)/(c[(c[ra>>2]|0)+16>>2]|0)|0;c[aa>>2]=1}ka(c[qa>>2]|0);ua=c[pa>>2]|0;l=ta;return ua|0}function Rc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=l;l=l+4608|0;ia=ja+4596|0;ca=ja+4592|0;M=ja+4588|0;da=ja+4584|0;fa=ja+4580|0;ba=ja+4576|0;ea=ja+4568|0;Y=ja+4560|0;C=ja+4556|0;X=ja+4552|0;h=ja+4548|0;i=ja+4544|0;N=ja+4540|0;aa=ja+4536|0;W=ja+4532|0;ha=ja+4528|0;$=ja+4524|0;ga=ja+4520|0;j=ja+4516|0;R=ja+4512|0;_=ja+4508|0;U=ja+4504|0;T=ja+4500|0;Q=ja+4496|0;Z=ja+4492|0;V=ja+4488|0;P=ja+4484|0;O=ja+4480|0;x=ja+4476|0;L=ja+4472|0;w=ja+4468|0;A=ja+4464|0;E=ja+4460|0;H=ja+4456|0;k=ja+264|0;t=ja+256|0;r=ja+252|0;o=ja+248|0;s=ja+244|0;z=ja+240|0;y=ja+236|0;B=ja+232|0;q=ja+132|0;m=ja+128|0;n=ja+124|0;u=ja+120|0;v=ja+116|0;I=ja+112|0;D=ja+16|0;p=ja+12|0;J=ja+8|0;F=ja+4|0;K=ja;c[ia>>2]=a;c[ca>>2]=d;c[M>>2]=e;c[ba>>2]=c[(c[ia>>2]|0)+8>>2];c[aa>>2]=c[c[ia>>2]>>2];c[W>>2]=c[(c[aa>>2]|0)+8>>2];c[ha>>2]=c[(c[aa>>2]|0)+4>>2];c[R>>2]=c[(c[aa>>2]|0)+32>>2];c[da>>2]=0;do{a=(c[ia>>2]|0)+92+((S(c[da>>2]|0,2048+(c[ha>>2]|0)|0)|0)<<2)|0;c[ea+(c[da>>2]<<2)>>2]=a;c[Y+(c[da>>2]<<2)>>2]=(c[ea+(c[da>>2]<<2)>>2]|0)+8192+(0-(c[ca>>2]|0)<<2);a=(c[da>>2]|0)+1|0;c[da>>2]=a}while((a|0)<(c[ba>>2]|0));c[C>>2]=(c[ia>>2]|0)+92+((S(2048+(c[ha>>2]|0)|0,c[ba>>2]|0)|0)<<2);c[X>>2]=(c[C>>2]|0)+((c[ba>>2]|0)*24<<2);c[h>>2]=(c[X>>2]|0)+(c[W>>2]<<1<<2);c[i>>2]=(c[h>>2]|0)+(c[W>>2]<<1<<2);c[N>>2]=(c[i>>2]|0)+(c[W>>2]<<1<<2);c[ga>>2]=c[(c[ia>>2]|0)+52>>2];c[$>>2]=c[(c[ia>>2]|0)+20>>2];if((c[ga>>2]|0)>=5|(c[$>>2]|0)!=0)e=1;else e=(c[(c[ia>>2]|0)+56>>2]|0)!=0;c[j>>2]=e&1;if(c[j>>2]|0){c[U>>2]=c[(c[ia>>2]|0)+24>>2];if((c[U>>2]|0)<(c[(c[aa>>2]|0)+12>>2]|0))e=c[U>>2]|0;else e=c[(c[aa>>2]|0)+12>>2]|0;do if((c[$>>2]|0)<=(e|0))if((c[U>>2]|0)<(c[(c[aa>>2]|0)+12>>2]|0)){e=c[U>>2]|0;break}else{e=c[(c[aa>>2]|0)+12>>2]|0;break}else e=c[$>>2]|0;while(0);c[T>>2]=e;L=S(c[ba>>2]|0,c[ca>>2]|0)|0;c[Z>>2]=la()|0;e=l;l=l+((1*(L<<2)|0)+15&-16)|0;g[Q>>2]=(c[ga>>2]|0)==0?1.5:.5;c[da>>2]=0;do{c[fa>>2]=c[$>>2];while(1){if((c[fa>>2]|0)>=(c[U>>2]|0))break;K=S(c[da>>2]|0,c[W>>2]|0)|0;L=S(c[da>>2]|0,c[W>>2]|0)|0;if(+g[(c[N>>2]|0)+(K+(c[fa>>2]|0)<<2)>>2]>+g[(c[X>>2]|0)+(L+(c[fa>>2]|0)<<2)>>2]-+g[Q>>2]){L=S(c[da>>2]|0,c[W>>2]|0)|0;f=+g[(c[N>>2]|0)+(L+(c[fa>>2]|0)<<2)>>2]}else{L=S(c[da>>2]|0,c[W>>2]|0)|0;f=+g[(c[X>>2]|0)+(L+(c[fa>>2]|0)<<2)>>2]-+g[Q>>2]}L=S(c[da>>2]|0,c[W>>2]|0)|0;g[(c[X>>2]|0)+(L+(c[fa>>2]|0)<<2)>>2]=f;c[fa>>2]=(c[fa>>2]|0)+1}L=(c[da>>2]|0)+1|0;c[da>>2]=L}while((L|0)<(c[ba>>2]|0));c[_>>2]=c[(c[ia>>2]|0)+40>>2];c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[ba>>2]|0))break;c[fa>>2]=c[$>>2];while(1){if((c[fa>>2]|0)>=(c[T>>2]|0))break;W=S(c[ca>>2]|0,c[da>>2]|0)|0;c[P>>2]=W+(b[(c[R>>2]|0)+(c[fa>>2]<<1)>>1]<<c[M>>2]);c[O>>2]=(b[(c[R>>2]|0)+((c[fa>>2]|0)+1<<1)>>1]|0)-(b[(c[R>>2]|0)+(c[fa>>2]<<1)>>1]|0)<<c[M>>2];c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[O>>2]|0))break;c[_>>2]=Jb(c[_>>2]|0)|0;g[e+((c[P>>2]|0)+(c[V>>2]|0)<<2)>>2]=+(c[_>>2]>>20|0);c[V>>2]=(c[V>>2]|0)+1}we(e+(c[P>>2]<<2)|0,c[O>>2]|0,1.0,c[(c[ia>>2]|0)+36>>2]|0);c[fa>>2]=(c[fa>>2]|0)+1}c[da>>2]=(c[da>>2]|0)+1}c[(c[ia>>2]|0)+40>>2]=c[_>>2];c[da>>2]=0;do{vk(c[ea+(c[da>>2]<<2)>>2]|0,(c[ea+(c[da>>2]<<2)>>2]|0)+(c[ca>>2]<<2)|0,(2048-(c[ca>>2]|0)+(c[ha>>2]>>1)<<2)+0|0)|0;fa=(c[da>>2]|0)+1|0;c[da>>2]=fa}while((fa|0)<(c[ba>>2]|0));Vc(c[aa>>2]|0,e,Y,c[X>>2]|0,c[$>>2]|0,c[T>>2]|0,c[ba>>2]|0,c[ba>>2]|0,0,c[M>>2]|0,c[(c[ia>>2]|0)+16>>2]|0,0,c[(c[ia>>2]|0)+36>>2]|0);ka(c[Z>>2]|0);ha=c[ga>>2]|0;ha=ha+1|0;ia=c[ia>>2]|0;ia=ia+52|0;c[ia>>2]=ha;l=ja;return}g[A>>2]=1.0;if(!(c[ga>>2]|0)){$=Yc(ea,c[ba>>2]|0,c[(c[ia>>2]|0)+36>>2]|0)|0;c[E>>2]=$;c[(c[ia>>2]|0)+48>>2]=$}else{c[E>>2]=c[(c[ia>>2]|0)+48>>2];g[A>>2]=.800000011920929}c[x>>2]=(c[E>>2]<<1|0)<1024?c[E>>2]<<1:1024;h=c[ha>>2]|0;c[H>>2]=la()|0;d=l;l=l+((1*(h<<2)|0)+15&-16)|0;h=l;l=l+((1*(c[x>>2]<<2)|0)+15&-16)|0;c[w>>2]=k+96;c[L>>2]=c[(c[aa>>2]|0)+60>>2];c[da>>2]=0;do{g[o>>2]=0.0;c[s>>2]=c[ea+(c[da>>2]<<2)>>2];c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=1048)break;g[(c[w>>2]|0)+((c[fa>>2]|0)-24<<2)>>2]=+g[(c[s>>2]|0)+(1e3+(c[fa>>2]|0)<<2)>>2];c[fa>>2]=(c[fa>>2]|0)+1}if(!(c[ga>>2]|0)){$d(c[w>>2]|0,q,c[L>>2]|0,c[ha>>2]|0,24,1024,c[(c[ia>>2]|0)+36>>2]|0)|0;g[q>>2]=+g[q>>2]*1.000100016593933;c[fa>>2]=1;while(1){if((c[fa>>2]|0)>24)break;aa=q+(c[fa>>2]<<2)|0;g[aa>>2]=+g[aa>>2]-+g[q+(c[fa>>2]<<2)>>2]*6.400000711437315e-05*+(c[fa>>2]|0)*+(c[fa>>2]|0);c[fa>>2]=(c[fa>>2]|0)+1}Yd((c[C>>2]|0)+((c[da>>2]|0)*24<<2)|0,q,24)}Zd((c[w>>2]|0)+4096+(0-(c[x>>2]|0)<<2)|0,(c[C>>2]|0)+((c[da>>2]|0)*24<<2)|0,h,c[x>>2]|0,24,c[(c[ia>>2]|0)+36>>2]|0);uk((c[w>>2]|0)+4096+(0-(c[x>>2]|0)<<2)|0,h|0,(c[x>>2]<<2)+0|0)|0;g[m>>2]=1.0;g[n>>2]=1.0;c[u>>2]=c[x>>2]>>1;c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[u>>2]|0))break;g[v>>2]=+g[(c[w>>2]|0)+(1024-(c[u>>2]|0)+(c[fa>>2]|0)<<2)>>2];g[m>>2]=+g[m>>2]+ +g[v>>2]*+g[v>>2];g[v>>2]=+g[(c[w>>2]|0)+(1024-(c[u>>2]<<1)+(c[fa>>2]|0)<<2)>>2];g[n>>2]=+g[n>>2]+ +g[v>>2]*+g[v>>2];c[fa>>2]=(c[fa>>2]|0)+1}g[m>>2]=+g[m>>2]<+g[n>>2]?+g[m>>2]:+g[n>>2];g[t>>2]=+G(+(+g[m>>2]/+g[n>>2]));vk(c[s>>2]|0,(c[s>>2]|0)+(c[ca>>2]<<2)|0,(2048-(c[ca>>2]|0)<<2)+0|0)|0;c[z>>2]=1024-(c[E>>2]|0);c[y>>2]=(c[ca>>2]|0)+(c[ha>>2]|0);g[r>>2]=+g[A>>2]*+g[t>>2];c[B>>2]=0;c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[y>>2]|0))break;if((c[B>>2]|0)>=(c[E>>2]|0)){c[B>>2]=(c[B>>2]|0)-(c[E>>2]|0);g[r>>2]=+g[r>>2]*+g[t>>2]}g[(c[s>>2]|0)+(2048-(c[ca>>2]|0)+(c[fa>>2]|0)<<2)>>2]=+g[r>>2]*+g[(c[w>>2]|0)+((c[z>>2]|0)+(c[B>>2]|0)<<2)>>2];g[I>>2]=+g[(c[s>>2]|0)+(1024-(c[ca>>2]|0)+(c[z>>2]|0)+(c[B>>2]|0)<<2)>>2];g[o>>2]=+g[o>>2]+ +g[I>>2]*+g[I>>2];c[fa>>2]=(c[fa>>2]|0)+1;c[B>>2]=(c[B>>2]|0)+1}c[fa>>2]=0;while(1){e=c[s>>2]|0;if((c[fa>>2]|0)>=24)break;g[D+(c[fa>>2]<<2)>>2]=+g[e+(2048-(c[ca>>2]|0)-1-(c[fa>>2]|0)<<2)>>2];c[fa>>2]=(c[fa>>2]|0)+1}_d(e+8192+(0-(c[ca>>2]|0)<<2)|0,(c[C>>2]|0)+((c[da>>2]|0)*24<<2)|0,(c[s>>2]|0)+8192+(0-(c[ca>>2]|0)<<2)|0,c[y>>2]|0,24,D,c[(c[ia>>2]|0)+36>>2]|0);g[p>>2]=0.0;c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[y>>2]|0))break;g[J>>2]=+g[(c[s>>2]|0)+(2048-(c[ca>>2]|0)+(c[fa>>2]|0)<<2)>>2];g[p>>2]=+g[p>>2]+ +g[J>>2]*+g[J>>2];c[fa>>2]=(c[fa>>2]|0)+1}a:do if(+g[o>>2]>+g[p>>2]*.20000000298023224){if(+g[o>>2]<+g[p>>2]){g[F>>2]=+G(+((+g[o>>2]+1.0)/(+g[p>>2]+1.0)));c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[ha>>2]|0))break;g[K>>2]=1.0-+g[(c[L>>2]|0)+(c[fa>>2]<<2)>>2]*(1.0-+g[F>>2]);g[(c[s>>2]|0)+(2048-(c[ca>>2]|0)+(c[fa>>2]|0)<<2)>>2]=+g[K>>2]*+g[(c[s>>2]|0)+(2048-(c[ca>>2]|0)+(c[fa>>2]|0)<<2)>>2];c[fa>>2]=(c[fa>>2]|0)+1}c[fa>>2]=c[ha>>2];while(1){if((c[fa>>2]|0)>=(c[y>>2]|0))break a;g[(c[s>>2]|0)+(2048-(c[ca>>2]|0)+(c[fa>>2]|0)<<2)>>2]=+g[F>>2]*+g[(c[s>>2]|0)+(2048-(c[ca>>2]|0)+(c[fa>>2]|0)<<2)>>2];c[fa>>2]=(c[fa>>2]|0)+1}}}else{c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[y>>2]|0))break a;g[(c[s>>2]|0)+(2048-(c[ca>>2]|0)+(c[fa>>2]|0)<<2)>>2]=0.0;c[fa>>2]=(c[fa>>2]|0)+1}}while(0);kc(d,(c[s>>2]|0)+8192|0,c[(c[ia>>2]|0)+60>>2]|0,c[(c[ia>>2]|0)+60>>2]|0,c[ha>>2]|0,-+g[(c[ia>>2]|0)+68>>2],-+g[(c[ia>>2]|0)+68>>2],c[(c[ia>>2]|0)+76>>2]|0,c[(c[ia>>2]|0)+76>>2]|0,0,0,c[(c[ia>>2]|0)+36>>2]|0);c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=((c[ha>>2]|0)/2|0|0))break;g[(c[s>>2]|0)+(2048+(c[fa>>2]|0)<<2)>>2]=+g[(c[L>>2]|0)+(c[fa>>2]<<2)>>2]*+g[d+((c[ha>>2]|0)-1-(c[fa>>2]|0)<<2)>>2]+ +g[(c[L>>2]|0)+((c[ha>>2]|0)-(c[fa>>2]|0)-1<<2)>>2]*+g[d+(c[fa>>2]<<2)>>2];c[fa>>2]=(c[fa>>2]|0)+1}aa=(c[da>>2]|0)+1|0;c[da>>2]=aa}while((aa|0)<(c[ba>>2]|0));ka(c[H>>2]|0);ha=c[ga>>2]|0;ha=ha+1|0;ia=c[ia>>2]|0;ia=ia+52|0;c[ia>>2]=ha;l=ja;return}function Sc(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=l;l=l+80|0;t=D+72|0;x=D+68|0;m=D+64|0;k=D+60|0;s=D+56|0;q=D+52|0;w=D+48|0;E=D+44|0;p=D+40|0;n=D+36|0;o=D+32|0;r=D+28|0;y=D+24|0;u=D+20|0;B=D+16|0;C=D+12|0;v=D+8|0;z=D+4|0;A=D;c[t>>2]=a;c[x>>2]=b;c[m>>2]=d;c[k>>2]=e;c[s>>2]=f;c[q>>2]=h;c[w>>2]=i;c[E>>2]=j;c[o>>2]=0;if(!((c[s>>2]|0)==1&(c[k>>2]|0)==2^1|(c[E>>2]|0)!=0)){Xc(c[t>>2]|0,c[x>>2]|0,c[m>>2]|0,+g[c[q>>2]>>2],c[w>>2]|0);l=D;return}E=c[m>>2]|0;c[y>>2]=la()|0;e=l;l=l+((1*(E<<2)|0)+15&-16)|0;g[r>>2]=+g[c[q>>2]>>2];c[n>>2]=(c[m>>2]|0)/(c[s>>2]|0)|0;c[p>>2]=0;do{g[v>>2]=+g[(c[w>>2]|0)+(c[p>>2]<<2)>>2];c[B>>2]=c[(c[t>>2]|0)+(c[p>>2]<<2)>>2];c[C>>2]=(c[x>>2]|0)+(c[p>>2]<<2);E=(c[s>>2]|0)>1;c[u>>2]=0;a:do if(E){while(1){if((c[u>>2]|0)>=(c[m>>2]|0))break;g[z>>2]=+g[(c[B>>2]|0)+(c[u>>2]<<2)>>2]+1.0000000031710769e-30+ +g[v>>2];g[v>>2]=+g[r>>2]*+g[z>>2];g[e+(c[u>>2]<<2)>>2]=+g[z>>2];c[u>>2]=(c[u>>2]|0)+1}c[o>>2]=1}else while(1){if((c[u>>2]|0)>=(c[m>>2]|0))break a;g[A>>2]=+g[(c[B>>2]|0)+(c[u>>2]<<2)>>2]+1.0000000031710769e-30+ +g[v>>2];g[v>>2]=+g[r>>2]*+g[A>>2];g[(c[C>>2]|0)+((S(c[u>>2]|0,c[k>>2]|0)|0)<<2)>>2]=+g[A>>2]*.000030517578125;c[u>>2]=(c[u>>2]|0)+1}while(0);g[(c[w>>2]|0)+(c[p>>2]<<2)>>2]=+g[v>>2];b:do if(c[o>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[n>>2]|0))break b;F=+g[e+((S(c[u>>2]|0,c[s>>2]|0)|0)<<2)>>2]*.000030517578125;g[(c[C>>2]|0)+((S(c[u>>2]|0,c[k>>2]|0)|0)<<2)>>2]=F;c[u>>2]=(c[u>>2]|0)+1}}while(0);E=(c[p>>2]|0)+1|0;c[p>>2]=E}while((E|0)<(c[k>>2]|0));ka(c[y>>2]|0);l=D;return}function Tc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(V(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function Uc(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;r=x+52|0;n=x+48|0;p=x+44|0;u=x+40|0;i=x+36|0;m=x+32|0;o=x+28|0;k=x+24|0;v=x+20|0;w=x+16|0;t=x+12|0;q=x+8|0;j=x+4|0;s=x;c[r>>2]=b;c[n>>2]=d;c[p>>2]=e;c[u>>2]=f;c[i>>2]=g;c[m>>2]=h;c[j>>2]=c[(c[m>>2]|0)+4>>2]<<3;c[s>>2]=Tc(c[m>>2]|0)|0;c[q>>2]=c[p>>2]|0?2:4;if((c[i>>2]|0)>0)g=((c[s>>2]|0)+(c[q>>2]|0)+1|0)>>>0<=(c[j>>2]|0)>>>0;else g=0;c[w>>2]=g&1;c[j>>2]=(c[j>>2]|0)-(c[w>>2]|0);c[k>>2]=0;c[t>>2]=0;c[o>>2]=c[r>>2];while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break;if(((c[s>>2]|0)+(c[q>>2]|0)|0)>>>0<=(c[j>>2]|0)>>>0){f=jd(c[m>>2]|0,c[q>>2]|0)|0;c[k>>2]=c[k>>2]^f;c[s>>2]=Tc(c[m>>2]|0)|0;c[t>>2]=c[t>>2]|c[k>>2]}c[(c[u>>2]|0)+(c[o>>2]<<2)>>2]=c[k>>2];c[q>>2]=c[p>>2]|0?4:5;c[o>>2]=(c[o>>2]|0)+1}c[v>>2]=0;if(c[w>>2]|0?(a[25406+(c[i>>2]<<3)+((c[p>>2]<<2)+0+(c[t>>2]|0))>>0]|0)!=(a[25406+(c[i>>2]<<3)+((c[p>>2]<<2)+2+(c[t>>2]|0))>>0]|0):0)c[v>>2]=jd(c[m>>2]|0,1)|0;c[o>>2]=c[r>>2];while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break;c[(c[u>>2]|0)+(c[o>>2]<<2)>>2]=a[25406+(c[i>>2]<<3)+((c[p>>2]<<2)+(c[v>>2]<<1)+(c[(c[u>>2]|0)+(c[o>>2]<<2)>>2]|0))>>0];c[o>>2]=(c[o>>2]|0)+1}l=x;return}function Vc(a,b,d,e,f,h,i,j,k,m,n,o,p){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=l;l=l+112|0;G=P+100|0;x=P+96|0;J=P+92|0;I=P+88|0;O=P+84|0;C=P+80|0;r=P+76|0;s=P+72|0;Q=P+68|0;t=P+64|0;B=P+60|0;N=P+56|0;y=P+52|0;A=P+48|0;F=P+44|0;u=P+40|0;z=P+36|0;q=P+32|0;v=P+28|0;w=P+24|0;M=P+20|0;H=P+16|0;K=P+12|0;L=P+8|0;D=P+4|0;E=P;c[G>>2]=a;c[x>>2]=b;c[J>>2]=d;c[I>>2]=e;c[O>>2]=f;c[C>>2]=h;c[r>>2]=i;c[s>>2]=j;c[Q>>2]=k;c[t>>2]=m;c[B>>2]=n;c[N>>2]=o;c[y>>2]=p;c[K>>2]=c[(c[G>>2]|0)+4>>2];c[H>>2]=c[(c[G>>2]|0)+8>>2];c[v>>2]=c[(c[G>>2]|0)+44>>2]<<c[t>>2];f=c[v>>2]|0;c[L>>2]=la()|0;i=l;l=l+((1*(f<<2)|0)+15&-16)|0;c[u>>2]=1<<c[t>>2];if(c[Q>>2]|0){c[q>>2]=c[u>>2];c[w>>2]=c[(c[G>>2]|0)+44>>2];c[M>>2]=c[(c[G>>2]|0)+36>>2]}else{c[q>>2]=1;c[w>>2]=c[(c[G>>2]|0)+44>>2]<<c[t>>2];c[M>>2]=(c[(c[G>>2]|0)+36>>2]|0)-(c[t>>2]|0)}a:do if((c[s>>2]|0)==2&(c[r>>2]|0)==1){Ob(c[G>>2]|0,c[x>>2]|0,i,c[I>>2]|0,c[O>>2]|0,c[C>>2]|0,c[u>>2]|0,c[B>>2]|0,c[N>>2]|0);c[D>>2]=(c[(c[J>>2]|0)+4>>2]|0)+(((c[K>>2]|0)/2|0)<<2);uk(c[D>>2]|0,i|0,(c[v>>2]<<2)+0|0)|0;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[q>>2]|0))break;Q=(c[c[J>>2]>>2]|0)+((S(c[w>>2]|0,c[z>>2]|0)|0)<<2)|0;Od((c[G>>2]|0)+64|0,(c[D>>2]|0)+(c[z>>2]<<2)|0,Q,c[(c[G>>2]|0)+60>>2]|0,c[K>>2]|0,c[M>>2]|0,c[q>>2]|0,c[y>>2]|0);c[z>>2]=(c[z>>2]|0)+1}c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[q>>2]|0))break a;Q=(c[(c[J>>2]|0)+4>>2]|0)+((S(c[w>>2]|0,c[z>>2]|0)|0)<<2)|0;Od((c[G>>2]|0)+64|0,i+(c[z>>2]<<2)|0,Q,c[(c[G>>2]|0)+60>>2]|0,c[K>>2]|0,c[M>>2]|0,c[q>>2]|0,c[y>>2]|0);c[z>>2]=(c[z>>2]|0)+1}}else{if(!((c[s>>2]|0)==1&(c[r>>2]|0)==2)){c[A>>2]=0;while(1){E=(c[x>>2]|0)+((S(c[A>>2]|0,c[v>>2]|0)|0)<<2)|0;Q=(c[I>>2]|0)+((S(c[A>>2]|0,c[H>>2]|0)|0)<<2)|0;Ob(c[G>>2]|0,E,i,Q,c[O>>2]|0,c[C>>2]|0,c[u>>2]|0,c[B>>2]|0,c[N>>2]|0);c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[q>>2]|0))break;Q=(c[(c[J>>2]|0)+(c[A>>2]<<2)>>2]|0)+((S(c[w>>2]|0,c[z>>2]|0)|0)<<2)|0;Od((c[G>>2]|0)+64|0,i+(c[z>>2]<<2)|0,Q,c[(c[G>>2]|0)+60>>2]|0,c[K>>2]|0,c[M>>2]|0,c[q>>2]|0,c[y>>2]|0);c[z>>2]=(c[z>>2]|0)+1}Q=(c[A>>2]|0)+1|0;c[A>>2]=Q;if((Q|0)>=(c[s>>2]|0))break a}}c[E>>2]=(c[c[J>>2]>>2]|0)+(((c[K>>2]|0)/2|0)<<2);Ob(c[G>>2]|0,c[x>>2]|0,i,c[I>>2]|0,c[O>>2]|0,c[C>>2]|0,c[u>>2]|0,c[B>>2]|0,c[N>>2]|0);Ob(c[G>>2]|0,(c[x>>2]|0)+(c[v>>2]<<2)|0,c[E>>2]|0,(c[I>>2]|0)+(c[H>>2]<<2)|0,c[O>>2]|0,c[C>>2]|0,c[u>>2]|0,c[B>>2]|0,c[N>>2]|0);c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[v>>2]|0))break;g[i+(c[F>>2]<<2)>>2]=+g[i+(c[F>>2]<<2)>>2]*.5+ +g[(c[E>>2]|0)+(c[F>>2]<<2)>>2]*.5;c[F>>2]=(c[F>>2]|0)+1}c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[q>>2]|0))break a;Q=(c[c[J>>2]>>2]|0)+((S(c[w>>2]|0,c[z>>2]|0)|0)<<2)|0;Od((c[G>>2]|0)+64|0,i+(c[z>>2]<<2)|0,Q,c[(c[G>>2]|0)+60>>2]|0,c[K>>2]|0,c[M>>2]|0,c[q>>2]|0,c[y>>2]|0);c[z>>2]=(c[z>>2]|0)+1}}while(0);c[A>>2]=0;do{c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[v>>2]|0))break;g[(c[(c[J>>2]|0)+(c[A>>2]<<2)>>2]|0)+(c[F>>2]<<2)>>2]=+g[(c[(c[J>>2]|0)+(c[A>>2]<<2)>>2]|0)+(c[F>>2]<<2)>>2];c[F>>2]=(c[F>>2]|0)+1}Q=(c[A>>2]|0)+1|0;c[A>>2]=Q}while((Q|0)<(c[s>>2]|0));ka(c[L>>2]|0);l=P;return}function Wc(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+44>>2]|0}function Xc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+48|0;u=t+44|0;o=t+40|0;h=t+36|0;i=t+32|0;n=t+28|0;r=t+24|0;s=t+20|0;k=t+16|0;m=t+12|0;j=t+8|0;p=t+4|0;q=t;c[u>>2]=a;c[o>>2]=b;c[h>>2]=d;g[i>>2]=e;c[n>>2]=f;c[r>>2]=c[c[u>>2]>>2];c[s>>2]=c[(c[u>>2]|0)+4>>2];g[k>>2]=+g[c[n>>2]>>2];g[m>>2]=+g[(c[n>>2]|0)+4>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;g[p>>2]=+g[(c[r>>2]|0)+(c[j>>2]<<2)>>2]+1.0000000031710769e-30+ +g[k>>2];g[q>>2]=+g[(c[s>>2]|0)+(c[j>>2]<<2)>>2]+1.0000000031710769e-30+ +g[m>>2];g[k>>2]=+g[i>>2]*+g[p>>2];g[m>>2]=+g[i>>2]*+g[q>>2];g[(c[o>>2]|0)+(c[j>>2]<<1<<2)>>2]=+g[p>>2]*.000030517578125;g[(c[o>>2]|0)+((c[j>>2]<<1)+1<<2)>>2]=+g[q>>2]*.000030517578125;c[j>>2]=(c[j>>2]|0)+1}g[c[n>>2]>>2]=+g[k>>2];g[(c[n>>2]|0)+4>>2]=+g[m>>2];l=t;return}function Yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=l;l=l+4112|0;j=f+4108|0;i=f+4104|0;g=f+4100|0;e=f+4096|0;h=f;c[j>>2]=a;c[i>>2]=b;c[g>>2]=d;Qd(c[j>>2]|0,h,2048,c[i>>2]|0,c[g>>2]|0);Td(h+1440|0,h,1328,620,e,c[g>>2]|0);c[e>>2]=720-(c[e>>2]|0);l=f;return c[e>>2]|0}function Zc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;i=f+12|0;h=f+8|0;g=f+4|0;j=f;c[i>>2]=a;c[h>>2]=b;c[g>>2]=d;c[j>>2]=e;b=c[j>>2]|0;a=_c(c[h>>2]|0,c[i>>2]|0)|0;xd(b,a,(c[(c[364+(((c[h>>2]|0)<(c[g>>2]|0)?c[h>>2]|0:c[g>>2]|0)<<2)>>2]|0)+(((c[h>>2]|0)>(c[g>>2]|0)?c[h>>2]|0:c[g>>2]|0)<<2)>>2]|0)+(c[(c[364+(((c[h>>2]|0)<((c[g>>2]|0)+1|0)?c[h>>2]|0:(c[g>>2]|0)+1|0)<<2)>>2]|0)+(((c[h>>2]|0)>((c[g>>2]|0)+1|0)?c[h>>2]|0:(c[g>>2]|0)+1|0)<<2)>>2]|0)|0);l=f;return}function _c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[g>>2]=(c[d>>2]|0)-1;c[f>>2]=(c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)<0&1;c[h>>2]=F(c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;do{c[g>>2]=(c[g>>2]|0)+-1;if(((c[d>>2]|0)-(c[g>>2]|0)|0)<(c[h>>2]|0))a=(c[d>>2]|0)-(c[g>>2]|0)|0;else a=c[h>>2]|0;if(((c[d>>2]|0)-(c[g>>2]|0)|0)>(c[h>>2]|0))b=(c[d>>2]|0)-(c[g>>2]|0)|0;else b=c[h>>2]|0;c[f>>2]=(c[f>>2]|0)+(c[(c[364+(a<<2)>>2]|0)+(b<<2)>>2]|0);b=F(c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+b;if((c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)<0){if(((c[d>>2]|0)-(c[g>>2]|0)|0)<((c[h>>2]|0)+1|0))a=(c[d>>2]|0)-(c[g>>2]|0)|0;else a=(c[h>>2]|0)+1|0;if(((c[d>>2]|0)-(c[g>>2]|0)|0)>((c[h>>2]|0)+1|0))b=(c[d>>2]|0)-(c[g>>2]|0)|0;else b=(c[h>>2]|0)+1|0;c[f>>2]=(c[f>>2]|0)+(c[(c[364+(a<<2)>>2]|0)+(b<<2)>>2]|0)}}while((c[g>>2]|0)>0);l=i;return c[f>>2]|0}function $c(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+16|0;h=g+12|0;j=g+8|0;i=g+4|0;k=g;c[h>>2]=a;c[j>>2]=b;c[i>>2]=d;c[k>>2]=e;d=c[j>>2]|0;b=c[i>>2]|0;a=ld(c[k>>2]|0,(c[(c[364+(((c[j>>2]|0)<(c[i>>2]|0)?c[j>>2]|0:c[i>>2]|0)<<2)>>2]|0)+(((c[j>>2]|0)>(c[i>>2]|0)?c[j>>2]|0:c[i>>2]|0)<<2)>>2]|0)+(c[(c[364+(((c[j>>2]|0)<((c[i>>2]|0)+1|0)?c[j>>2]|0:(c[i>>2]|0)+1|0)<<2)>>2]|0)+(((c[j>>2]|0)>((c[i>>2]|0)+1|0)?c[j>>2]|0:(c[i>>2]|0)+1|0)<<2)>>2]|0)|0)|0;f=+ad(d,b,a,c[h>>2]|0);l=g;return +f}function ad(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0;t=l;l=l+48|0;j=t+36|0;i=t+32|0;h=t+28|0;k=t+24|0;n=t+20|0;q=t+16|0;m=t+12|0;r=t+40|0;s=t+8|0;o=t+4|0;p=t;c[j>>2]=a;c[i>>2]=d;c[h>>2]=e;c[k>>2]=f;g[s>>2]=0.0;while(1){e=c[i>>2]|0;if((c[j>>2]|0)<=2)break;do if((e|0)>=(c[j>>2]|0)){c[p>>2]=c[364+(c[j>>2]<<2)>>2];c[n>>2]=c[(c[p>>2]|0)+((c[i>>2]|0)+1<<2)>>2];c[q>>2]=0-((c[h>>2]|0)>>>0>=(c[n>>2]|0)>>>0&1);c[h>>2]=(c[h>>2]|0)-(c[n>>2]&c[q>>2]);c[m>>2]=c[i>>2];c[o>>2]=c[(c[p>>2]|0)+(c[j>>2]<<2)>>2];a:do if((c[o>>2]|0)>>>0>(c[h>>2]|0)>>>0){c[i>>2]=c[j>>2];do{f=(c[i>>2]|0)+-1|0;c[i>>2]=f;c[n>>2]=c[(c[364+(f<<2)>>2]|0)+(c[j>>2]<<2)>>2]}while((c[n>>2]|0)>>>0>(c[h>>2]|0)>>>0)}else{c[n>>2]=c[(c[p>>2]|0)+(c[i>>2]<<2)>>2];while(1){if((c[n>>2]|0)>>>0<=(c[h>>2]|0)>>>0)break a;c[i>>2]=(c[i>>2]|0)+-1;c[n>>2]=c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]}}while(0);c[h>>2]=(c[h>>2]|0)-(c[n>>2]|0);b[r>>1]=(c[m>>2]|0)-(c[i>>2]|0)+(c[q>>2]|0)^c[q>>2];a=b[r>>1]|0;f=c[k>>2]|0;c[k>>2]=f+4;c[f>>2]=a;g[s>>2]=+g[s>>2]+ +(b[r>>1]|0)*+(b[r>>1]|0)}else{c[n>>2]=c[(c[364+(c[i>>2]<<2)>>2]|0)+(c[j>>2]<<2)>>2];c[o>>2]=c[(c[364+((c[i>>2]|0)+1<<2)>>2]|0)+(c[j>>2]<<2)>>2];if((c[n>>2]|0)>>>0<=(c[h>>2]|0)>>>0?(c[h>>2]|0)>>>0<(c[o>>2]|0)>>>0:0){c[h>>2]=(c[h>>2]|0)-(c[n>>2]|0);f=c[k>>2]|0;c[k>>2]=f+4;c[f>>2]=0;break}c[q>>2]=0-((c[h>>2]|0)>>>0>=(c[o>>2]|0)>>>0&1);c[h>>2]=(c[h>>2]|0)-(c[o>>2]&c[q>>2]);c[m>>2]=c[i>>2];do{f=(c[i>>2]|0)+-1|0;c[i>>2]=f;c[n>>2]=c[(c[364+(f<<2)>>2]|0)+(c[j>>2]<<2)>>2]}while((c[n>>2]|0)>>>0>(c[h>>2]|0)>>>0);c[h>>2]=(c[h>>2]|0)-(c[n>>2]|0);b[r>>1]=(c[m>>2]|0)-(c[i>>2]|0)+(c[q>>2]|0)^c[q>>2];a=b[r>>1]|0;f=c[k>>2]|0;c[k>>2]=f+4;c[f>>2]=a;g[s>>2]=+g[s>>2]+ +(b[r>>1]|0)*+(b[r>>1]|0)}while(0);c[j>>2]=(c[j>>2]|0)+-1}c[n>>2]=(e<<1)+1;c[q>>2]=0-((c[h>>2]|0)>>>0>=(c[n>>2]|0)>>>0&1);c[h>>2]=(c[h>>2]|0)-(c[n>>2]&c[q>>2]);c[m>>2]=c[i>>2];c[i>>2]=((c[h>>2]|0)+1|0)>>>1;if(!(c[i>>2]|0)){p=c[m>>2]|0;o=c[i>>2]|0;o=p-o|0;p=c[q>>2]|0;p=o+p|0;o=c[q>>2]|0;o=p^o;o=o&65535;b[r>>1]=o;o=b[r>>1]|0;o=o<<16>>16;p=c[k>>2]|0;n=p+4|0;c[k>>2]=n;c[p>>2]=o;w=+g[s>>2];p=b[r>>1]|0;u=+(p<<16>>16);p=b[r>>1]|0;v=+(p<<16>>16);v=u*v;v=w+v;g[s>>2]=v;p=c[h>>2]|0;p=0-p|0;c[q>>2]=p;p=c[i>>2]|0;o=c[q>>2]|0;o=p+o|0;p=c[q>>2]|0;p=o^p;p=p&65535;b[r>>1]=p;p=b[r>>1]|0;p=p<<16>>16;q=c[k>>2]|0;c[q>>2]=p;v=+g[s>>2];q=b[r>>1]|0;w=+(q<<16>>16);r=b[r>>1]|0;u=+(r<<16>>16);u=w*u;u=v+u;g[s>>2]=u;u=+g[s>>2];l=t;return +u}c[h>>2]=(c[h>>2]|0)-((c[i>>2]<<1)-1);p=c[m>>2]|0;o=c[i>>2]|0;o=p-o|0;p=c[q>>2]|0;p=o+p|0;o=c[q>>2]|0;o=p^o;o=o&65535;b[r>>1]=o;o=b[r>>1]|0;o=o<<16>>16;p=c[k>>2]|0;n=p+4|0;c[k>>2]=n;c[p>>2]=o;u=+g[s>>2];p=b[r>>1]|0;w=+(p<<16>>16);p=b[r>>1]|0;v=+(p<<16>>16);v=w*v;v=u+v;g[s>>2]=v;p=c[h>>2]|0;p=0-p|0;c[q>>2]=p;p=c[i>>2]|0;o=c[q>>2]|0;o=p+o|0;p=c[q>>2]|0;p=o^p;p=p&65535;b[r>>1]=p;p=b[r>>1]|0;p=p<<16>>16;q=c[k>>2]|0;c[q>>2]=p;v=+g[s>>2];q=b[r>>1]|0;u=+(q<<16>>16);r=b[r>>1]|0;w=+(r<<16>>16);w=u*w;w=v+w;g[s>>2]=w;w=+g[s>>2];l=t;return +w}function bd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=l;l=l+32|0;h=e+16|0;d=e+12|0;g=e+8|0;b=e+4|0;f=e;c[h>>2]=a;c[d>>2]=c[(c[h>>2]|0)+20>>2]<<3;c[b>>2]=32-(V(c[(c[h>>2]|0)+28>>2]|0)|0);c[g>>2]=(c[(c[h>>2]|0)+28>>2]|0)>>>((c[b>>2]|0)-16|0);c[f>>2]=((c[g>>2]|0)>>>12)-8;c[f>>2]=(c[f>>2]|0)+((c[g>>2]|0)>>>0>(c[5512+(c[f>>2]<<2)>>2]|0)>>>0&1);c[b>>2]=(c[b>>2]<<3)+(c[f>>2]|0);l=e;return (c[d>>2]|0)-(c[b>>2]|0)|0}function cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[c[f>>2]>>2]=c[h>>2];c[(c[f>>2]|0)+4>>2]=c[g>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+16>>2]=0;c[(c[f>>2]|0)+20>>2]=9;c[(c[f>>2]|0)+24>>2]=0;c[(c[f>>2]|0)+28>>2]=128;a=dd(c[f>>2]|0)|0;c[(c[f>>2]|0)+40>>2]=a;c[(c[f>>2]|0)+32>>2]=(c[(c[f>>2]|0)+28>>2]|0)-1-(c[(c[f>>2]|0)+40>>2]>>1);c[(c[f>>2]|0)+44>>2]=0;ed(c[f>>2]|0);l=e;return}function dd(a){a=a|0;var b=0,e=0,f=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if((c[(c[b>>2]|0)+24>>2]|0)>>>0>=(c[(c[b>>2]|0)+4>>2]|0)>>>0){b=0;l=e;return b|0}a=c[c[b>>2]>>2]|0;f=(c[b>>2]|0)+24|0;b=c[f>>2]|0;c[f>>2]=b+1;b=d[a+b>>0]|0;l=e;return b|0}function ed(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){if((c[(c[b>>2]|0)+28>>2]|0)>>>0>8388608)break;a=(c[b>>2]|0)+20|0;c[a>>2]=(c[a>>2]|0)+8;a=(c[b>>2]|0)+28|0;c[a>>2]=c[a>>2]<<8;c[d>>2]=c[(c[b>>2]|0)+40>>2];a=dd(c[b>>2]|0)|0;c[(c[b>>2]|0)+40>>2]=a;c[d>>2]=(c[d>>2]<<8|c[(c[b>>2]|0)+40>>2])>>1;c[(c[b>>2]|0)+32>>2]=(c[(c[b>>2]|0)+32>>2]<<8)+(255&~c[d>>2])&2147483647}l=e;return}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;e=f+4|0;d=f;c[g>>2]=a;c[e>>2]=b;a=gd(c[(c[g>>2]|0)+28>>2]|0,c[e>>2]|0)|0;c[(c[g>>2]|0)+36>>2]=a;c[d>>2]=((c[(c[g>>2]|0)+32>>2]|0)>>>0)/((c[(c[g>>2]|0)+36>>2]|0)>>>0)|0;l=f;return (c[e>>2]|0)-((c[d>>2]|0)+1+((c[e>>2]|0)-((c[d>>2]|0)+1)&0-((c[e>>2]|0)>>>0<((c[d>>2]|0)+1|0)>>>0&1)))|0}function gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;e=f+4|0;d=f;c[g>>2]=a;c[e>>2]=b;c[(c[g>>2]|0)+36>>2]=(c[(c[g>>2]|0)+28>>2]|0)>>>(c[e>>2]|0);c[d>>2]=((c[(c[g>>2]|0)+32>>2]|0)>>>0)/((c[(c[g>>2]|0)+36>>2]|0)>>>0)|0;l=f;return (1<<c[e>>2])-((c[d>>2]|0)+1+((1<<c[e>>2])-((c[d>>2]|0)+1)&0-(1<<c[e>>2]>>>0<((c[d>>2]|0)+1|0)>>>0&1)))|0}function id(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;h=j+16|0;g=j+12|0;f=j+8|0;k=j+4|0;i=j;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;c[k>>2]=e;c[i>>2]=S(c[(c[h>>2]|0)+36>>2]|0,(c[k>>2]|0)-(c[f>>2]|0)|0)|0;d=(c[h>>2]|0)+32|0;c[d>>2]=(c[d>>2]|0)-(c[i>>2]|0);d=c[h>>2]|0;if((c[g>>2]|0)>>>0>0){i=S(c[d+36>>2]|0,(c[f>>2]|0)-(c[g>>2]|0)|0)|0;k=c[h>>2]|0;k=k+28|0;c[k>>2]=i;k=c[h>>2]|0;ed(k);l=j;return}else{i=(c[d+28>>2]|0)-(c[i>>2]|0)|0;k=c[h>>2]|0;k=k+28|0;c[k>>2]=i;k=c[h>>2]|0;ed(k);l=j;return}}function jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;d=i+20|0;j=i+16|0;f=i+12|0;e=i+8|0;h=i+4|0;g=i;c[d>>2]=a;c[j>>2]=b;c[f>>2]=c[(c[d>>2]|0)+28>>2];c[e>>2]=c[(c[d>>2]|0)+32>>2];c[h>>2]=(c[f>>2]|0)>>>(c[j>>2]|0);c[g>>2]=(c[e>>2]|0)>>>0<(c[h>>2]|0)>>>0&1;if(!(c[g>>2]|0))c[(c[d>>2]|0)+32>>2]=(c[e>>2]|0)-(c[h>>2]|0);if(c[g>>2]|0){h=c[h>>2]|0;j=c[d>>2]|0;j=j+28|0;c[j>>2]=h;j=c[d>>2]|0;ed(j);j=c[g>>2]|0;l=i;return j|0}else{h=(c[f>>2]|0)-(c[h>>2]|0)|0;j=c[d>>2]|0;j=j+28|0;c[j>>2]=h;j=c[d>>2]|0;ed(j);j=c[g>>2]|0;l=i;return j|0}return 0}function kd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;g=n+28|0;f=n+24|0;o=n+20|0;i=n+16|0;h=n+12|0;k=n+8|0;m=n+4|0;j=n;c[g>>2]=a;c[f>>2]=b;c[o>>2]=e;c[k>>2]=c[(c[g>>2]|0)+28>>2];c[h>>2]=c[(c[g>>2]|0)+32>>2];c[i>>2]=(c[k>>2]|0)>>>(c[o>>2]|0);c[j>>2]=-1;do{c[m>>2]=c[k>>2];b=c[i>>2]|0;a=c[f>>2]|0;o=(c[j>>2]|0)+1|0;c[j>>2]=o;c[k>>2]=S(b,d[a+o>>0]|0)|0}while((c[h>>2]|0)>>>0<(c[k>>2]|0)>>>0);c[(c[g>>2]|0)+32>>2]=(c[h>>2]|0)-(c[k>>2]|0);c[(c[g>>2]|0)+28>>2]=(c[m>>2]|0)-(c[k>>2]|0);ed(c[g>>2]|0);l=n;return c[j>>2]|0}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+24|0;e=k+20|0;d=k+16|0;f=k+12|0;i=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[d>>2]=b;c[d>>2]=(c[d>>2]|0)+-1;c[g>>2]=32-(V(c[d>>2]|0)|0);if((c[g>>2]|0)<=8){c[d>>2]=(c[d>>2]|0)+1;c[i>>2]=fd(c[e>>2]|0,c[d>>2]|0)|0;id(c[e>>2]|0,c[i>>2]|0,(c[i>>2]|0)+1|0,c[d>>2]|0);c[h>>2]=c[i>>2];j=c[h>>2]|0;l=k;return j|0}c[g>>2]=(c[g>>2]|0)-8;c[f>>2]=((c[d>>2]|0)>>>(c[g>>2]|0))+1;c[i>>2]=fd(c[e>>2]|0,c[f>>2]|0)|0;id(c[e>>2]|0,c[i>>2]|0,(c[i>>2]|0)+1|0,c[f>>2]|0);i=c[i>>2]<<c[g>>2];c[j>>2]=i|(md(c[e>>2]|0,c[g>>2]|0)|0);if((c[j>>2]|0)>>>0<=(c[d>>2]|0)>>>0){c[h>>2]=c[j>>2];j=c[h>>2]|0;l=k;return j|0}else{c[(c[e>>2]|0)+44>>2]=1;c[h>>2]=c[d>>2];j=c[h>>2]|0;l=k;return j|0}return 0}function md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+16|0;d=i+12|0;h=i+8|0;f=i+4|0;g=i;c[e>>2]=a;c[d>>2]=b;c[h>>2]=c[(c[e>>2]|0)+12>>2];c[f>>2]=c[(c[e>>2]|0)+16>>2];if((c[f>>2]|0)>>>0<(c[d>>2]|0)>>>0)do{a=nd(c[e>>2]|0)|0;c[h>>2]=c[h>>2]|a<<c[f>>2];c[f>>2]=(c[f>>2]|0)+8}while((c[f>>2]|0)<=24);c[g>>2]=c[h>>2]&(1<<c[d>>2])-1;c[h>>2]=(c[h>>2]|0)>>>(c[d>>2]|0);c[f>>2]=(c[f>>2]|0)-(c[d>>2]|0);c[(c[e>>2]|0)+12>>2]=c[h>>2];c[(c[e>>2]|0)+16>>2]=c[f>>2];h=(c[e>>2]|0)+20|0;c[h>>2]=(c[h>>2]|0)+(c[d>>2]|0);l=i;return c[g>>2]|0}function nd(a){a=a|0;var b=0,e=0,f=0,g=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if((c[(c[b>>2]|0)+8>>2]|0)>>>0>=(c[(c[b>>2]|0)+4>>2]|0)>>>0){b=0;l=e;return b|0}f=c[c[b>>2]>>2]|0;a=c[(c[b>>2]|0)+4>>2]|0;g=(c[b>>2]|0)+8|0;b=(c[g>>2]|0)+1|0;c[g>>2]=b;b=d[f+(a-b)>>0]|0;l=e;return b|0}function od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[c[f>>2]>>2]=c[h>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+16>>2]=0;c[(c[f>>2]|0)+20>>2]=33;c[(c[f>>2]|0)+24>>2]=0;c[(c[f>>2]|0)+28>>2]=-2147483648;c[(c[f>>2]|0)+40>>2]=-1;c[(c[f>>2]|0)+32>>2]=0;c[(c[f>>2]|0)+36>>2]=0;c[(c[f>>2]|0)+4>>2]=c[g>>2];c[(c[f>>2]|0)+44>>2]=0;l=e;return}function pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+16|0;g=k+12|0;f=k+8|0;h=k+4|0;j=k;c[i>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=e;c[j>>2]=qd(c[(c[i>>2]|0)+28>>2]|0,c[h>>2]|0)|0;if((c[g>>2]|0)>>>0>0){h=(c[(c[i>>2]|0)+28>>2]|0)-(S(c[j>>2]|0,(c[h>>2]|0)-(c[g>>2]|0)|0)|0)|0;a=(c[i>>2]|0)+32|0;c[a>>2]=(c[a>>2]|0)+h;j=S(c[j>>2]|0,(c[f>>2]|0)-(c[g>>2]|0)|0)|0;c[(c[i>>2]|0)+28>>2]=j;j=c[i>>2]|0;rd(j);l=k;return}else{a=S(c[j>>2]|0,(c[h>>2]|0)-(c[f>>2]|0)|0)|0;j=(c[i>>2]|0)+28|0;c[j>>2]=(c[j>>2]|0)-a;j=c[i>>2]|0;rd(j);l=k;return}}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function rd(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;while(1){if((c[(c[b>>2]|0)+28>>2]|0)>>>0>8388608)break;sd(c[b>>2]|0,(c[(c[b>>2]|0)+32>>2]|0)>>>23);c[(c[b>>2]|0)+32>>2]=c[(c[b>>2]|0)+32>>2]<<8&2147483647;a=(c[b>>2]|0)+28|0;c[a>>2]=c[a>>2]<<8;a=(c[b>>2]|0)+20|0;c[a>>2]=(c[a>>2]|0)+8}l=d;return}function sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[d>>2]=b;if((c[d>>2]|0)==255){g=(c[e>>2]|0)+36|0;c[g>>2]=(c[g>>2]|0)+1;l=h;return}c[f>>2]=c[d>>2]>>8;if((c[(c[e>>2]|0)+40>>2]|0)>=0){b=td(c[e>>2]|0,(c[(c[e>>2]|0)+40>>2]|0)+(c[f>>2]|0)|0)|0;a=(c[e>>2]|0)+44|0;c[a>>2]=c[a>>2]|b}if((c[(c[e>>2]|0)+36>>2]|0)>>>0>0){c[g>>2]=255+(c[f>>2]|0)&255;do{f=td(c[e>>2]|0,c[g>>2]|0)|0;a=(c[e>>2]|0)+44|0;c[a>>2]=c[a>>2]|f;a=(c[e>>2]|0)+36|0;f=(c[a>>2]|0)+-1|0;c[a>>2]=f}while(f>>>0>0)}c[(c[e>>2]|0)+40>>2]=c[d>>2]&255;l=h;return}function td(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;e=h+4|0;f=h;c[e>>2]=b;c[f>>2]=d;if(((c[(c[e>>2]|0)+24>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){c[g>>2]=-1;g=c[g>>2]|0;l=h;return g|0}else{b=c[f>>2]&255;d=c[c[e>>2]>>2]|0;e=(c[e>>2]|0)+24|0;f=c[e>>2]|0;c[e>>2]=f+1;a[d+f>>0]=b;c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}return 0}function ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[i>>2]=a;c[h>>2]=b;c[g>>2]=d;c[f>>2]=e;c[j>>2]=(c[(c[i>>2]|0)+28>>2]|0)>>>(c[f>>2]|0);if((c[h>>2]|0)>>>0>0){b=(c[(c[i>>2]|0)+28>>2]|0)-(S(c[j>>2]|0,(1<<c[f>>2])-(c[h>>2]|0)|0)|0)|0;a=(c[i>>2]|0)+32|0;c[a>>2]=(c[a>>2]|0)+b;j=S(c[j>>2]|0,(c[g>>2]|0)-(c[h>>2]|0)|0)|0;c[(c[i>>2]|0)+28>>2]=j;j=c[i>>2]|0;rd(j);l=k;return}else{a=S(c[j>>2]|0,(1<<c[f>>2])-(c[g>>2]|0)|0)|0;j=(c[i>>2]|0)+28|0;c[j>>2]=(c[j>>2]|0)-a;j=c[i>>2]|0;rd(j);l=k;return}}function vd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+20|0;f=j+16|0;k=j+12|0;h=j+8|0;i=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;c[k>>2]=d;c[h>>2]=c[(c[e>>2]|0)+28>>2];c[g>>2]=c[(c[e>>2]|0)+32>>2];c[i>>2]=(c[h>>2]|0)>>>(c[k>>2]|0);c[h>>2]=(c[h>>2]|0)-(c[i>>2]|0);if(c[f>>2]|0)c[(c[e>>2]|0)+32>>2]=(c[g>>2]|0)+(c[h>>2]|0);c[(c[e>>2]|0)+28>>2]=c[f>>2]|0?c[i>>2]|0:c[h>>2]|0;rd(c[e>>2]|0);l=j;return}function wd(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;i=k+16|0;h=k+12|0;g=k+8|0;m=k+4|0;j=k;c[i>>2]=a;c[h>>2]=b;c[g>>2]=e;c[m>>2]=f;c[j>>2]=(c[(c[i>>2]|0)+28>>2]|0)>>>(c[m>>2]|0);if((c[h>>2]|0)>0){a=(c[(c[i>>2]|0)+28>>2]|0)-(S(c[j>>2]|0,d[(c[g>>2]|0)+((c[h>>2]|0)-1)>>0]|0)|0)|0;m=(c[i>>2]|0)+32|0;c[m>>2]=(c[m>>2]|0)+a;m=S(c[j>>2]|0,(d[(c[g>>2]|0)+((c[h>>2]|0)-1)>>0]|0)-(d[(c[g>>2]|0)+(c[h>>2]|0)>>0]|0)|0)|0;c[(c[i>>2]|0)+28>>2]=m;m=c[i>>2]|0;rd(m);l=k;return}else{j=S(c[j>>2]|0,d[(c[g>>2]|0)+(c[h>>2]|0)>>0]|0)|0;m=(c[i>>2]|0)+28|0;c[m>>2]=(c[m>>2]|0)-j;m=c[i>>2]|0;rd(m);l=k;return}}function xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+20|0;e=k+16|0;f=k+12|0;i=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;c[f>>2]=(c[f>>2]|0)+-1;c[j>>2]=32-(V(c[f>>2]|0)|0);if((c[j>>2]|0)>8){c[j>>2]=(c[j>>2]|0)-8;c[i>>2]=((c[f>>2]|0)>>>(c[j>>2]|0))+1;c[h>>2]=(c[e>>2]|0)>>>(c[j>>2]|0);pd(c[g>>2]|0,c[h>>2]|0,(c[h>>2]|0)+1|0,c[i>>2]|0);yd(c[g>>2]|0,c[e>>2]&(1<<c[j>>2])-1,c[j>>2]|0);l=k;return}else{pd(c[g>>2]|0,c[e>>2]|0,(c[e>>2]|0)+1|0,(c[f>>2]|0)+1|0);l=k;return}}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+16|0;f=j+12|0;e=j+8|0;i=j+4|0;h=j;c[g>>2]=a;c[f>>2]=b;c[e>>2]=d;c[i>>2]=c[(c[g>>2]|0)+12>>2];c[h>>2]=c[(c[g>>2]|0)+16>>2];if(((c[h>>2]|0)+(c[e>>2]|0)|0)>>>0>32)do{b=zd(c[g>>2]|0,c[i>>2]&255)|0;a=(c[g>>2]|0)+44|0;c[a>>2]=c[a>>2]|b;c[i>>2]=(c[i>>2]|0)>>>8;c[h>>2]=(c[h>>2]|0)-8}while((c[h>>2]|0)>=8);c[i>>2]=c[i>>2]|c[f>>2]<<c[h>>2];c[h>>2]=(c[h>>2]|0)+(c[e>>2]|0);c[(c[g>>2]|0)+12>>2]=c[i>>2];c[(c[g>>2]|0)+16>>2]=c[h>>2];i=(c[g>>2]|0)+20|0;c[i>>2]=(c[i>>2]|0)+(c[e>>2]|0);l=j;return}function zd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h+8|0;e=h+4|0;f=h;c[e>>2]=b;c[f>>2]=d;if(((c[(c[e>>2]|0)+24>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){c[g>>2]=-1;g=c[g>>2]|0;l=h;return g|0}else{i=c[f>>2]&255;b=c[c[e>>2]>>2]|0;d=c[(c[e>>2]|0)+4>>2]|0;e=(c[e>>2]|0)+8|0;f=(c[e>>2]|0)+1|0;c[e>>2]=f;a[b+(d-f)>>0]=i;c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}return 0}function Ad(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+16|0;i=m+12|0;g=m+8|0;k=m+4|0;j=m;c[h>>2]=b;c[i>>2]=e;c[g>>2]=f;c[k>>2]=8-(c[g>>2]|0);c[j>>2]=(1<<c[g>>2])-1<<c[k>>2];f=c[h>>2]|0;if((c[(c[h>>2]|0)+24>>2]|0)>>>0>0){a[c[c[h>>2]>>2]>>0]=(d[c[f>>2]>>0]|0)&~c[j>>2]|c[i>>2]<<c[k>>2];l=m;return}b=c[h>>2]|0;if((c[f+40>>2]|0)>=0){c[(c[h>>2]|0)+40>>2]=c[b+40>>2]&~c[j>>2]|c[i>>2]<<c[k>>2];l=m;return}f=c[h>>2]|0;if((c[b+28>>2]|0)>>>0<=-2147483648>>>(c[g>>2]|0)>>>0){c[(c[h>>2]|0)+32>>2]=c[f+32>>2]&~(c[j>>2]<<23)|c[i>>2]<<23+(c[k>>2]|0);l=m;return}else{c[f+44>>2]=-1;l=m;return}}function Bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;vk((c[c[e>>2]>>2]|0)+(c[f>>2]|0)+(0-(c[(c[e>>2]|0)+8>>2]|0))|0,(c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0)+(0-(c[(c[e>>2]|0)+8>>2]|0))|0,(c[(c[e>>2]|0)+8>>2]|0)+0|0)|0;c[(c[e>>2]|0)+4>>2]=c[f>>2];l=d;return}function Cd(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+20|0;j=k+16|0;i=k+12|0;e=k+8|0;f=k+4|0;h=k;c[g>>2]=b;c[h>>2]=32-(32-(V(c[(c[g>>2]|0)+28>>2]|0)|0));c[e>>2]=2147483647>>>(c[h>>2]|0);c[f>>2]=(c[(c[g>>2]|0)+32>>2]|0)+(c[e>>2]|0)&~c[e>>2];if((c[f>>2]|c[e>>2])>>>0>=((c[(c[g>>2]|0)+32>>2]|0)+(c[(c[g>>2]|0)+28>>2]|0)|0)>>>0){c[h>>2]=(c[h>>2]|0)+1;c[e>>2]=(c[e>>2]|0)>>>1;c[f>>2]=(c[(c[g>>2]|0)+32>>2]|0)+(c[e>>2]|0)&~c[e>>2]}while(1){b=c[g>>2]|0;if((c[h>>2]|0)<=0)break;sd(b,(c[f>>2]|0)>>>23);c[f>>2]=c[f>>2]<<8&2147483647;c[h>>2]=(c[h>>2]|0)-8}if(!((c[b+40>>2]|0)<0?(c[(c[g>>2]|0)+36>>2]|0)>>>0<=0:0))sd(c[g>>2]|0,0);c[j>>2]=c[(c[g>>2]|0)+12>>2];c[i>>2]=c[(c[g>>2]|0)+16>>2];while(1){b=c[g>>2]|0;if((c[i>>2]|0)<8)break;e=zd(b,c[j>>2]&255)|0;f=(c[g>>2]|0)+44|0;c[f>>2]=c[f>>2]|e;c[j>>2]=(c[j>>2]|0)>>>8;c[i>>2]=(c[i>>2]|0)-8}if(c[b+44>>2]|0){l=k;return}wk((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+24>>2]|0)|0,0,(c[(c[g>>2]|0)+4>>2]|0)-(c[(c[g>>2]|0)+24>>2]|0)-(c[(c[g>>2]|0)+8>>2]|0)|0)|0;if((c[i>>2]|0)<=0){l=k;return}if((c[(c[g>>2]|0)+8>>2]|0)>>>0>=(c[(c[g>>2]|0)+4>>2]|0)>>>0){c[(c[g>>2]|0)+44>>2]=-1;l=k;return}c[h>>2]=0-(c[h>>2]|0);if(((c[(c[g>>2]|0)+24>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0)>>>0>=(c[(c[g>>2]|0)+4>>2]|0)>>>0?(c[h>>2]|0)<(c[i>>2]|0):0){c[j>>2]=c[j>>2]&(1<<c[h>>2])-1;c[(c[g>>2]|0)+44>>2]=-1}i=(c[c[g>>2]>>2]|0)+((c[(c[g>>2]|0)+4>>2]|0)-(c[(c[g>>2]|0)+8>>2]|0)-1)|0;a[i>>0]=d[i>>0]|0|c[j>>2]&255;l=k;return}function Dd(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;n=o+60|0;f=o+56|0;j=o+52|0;i=o+48|0;k=o+44|0;e=o+40|0;g=o+8|0;h=o+4|0;m=o;c[n>>2]=a;c[f>>2]=d;if((c[(c[n>>2]|0)+8>>2]|0)>0)d=c[(c[n>>2]|0)+8>>2]|0;else d=0;c[m>>2]=d;c[g>>2]=1;c[e>>2]=0;do{c[k>>2]=b[(c[n>>2]|0)+12+(c[e>>2]<<1<<1)>>1];c[i>>2]=b[(c[n>>2]|0)+12+((c[e>>2]<<1)+1<<1)>>1];a=S(c[g+(c[e>>2]<<2)>>2]|0,c[k>>2]|0)|0;c[g+((c[e>>2]|0)+1<<2)>>2]=a;c[e>>2]=(c[e>>2]|0)+1}while((c[i>>2]|0)!=1);c[i>>2]=b[(c[n>>2]|0)+12+((c[e>>2]<<1)-1<<1)>>1];c[h>>2]=(c[e>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;if(c[h>>2]|0)c[j>>2]=b[(c[n>>2]|0)+12+((c[h>>2]<<1)-1<<1)>>1];else c[j>>2]=1;switch(b[(c[n>>2]|0)+12+(c[h>>2]<<1<<1)>>1]|0){case 2:{Ed(c[f>>2]|0,c[i>>2]|0,c[g+(c[h>>2]<<2)>>2]|0);break}case 4:{Fd(c[f>>2]|0,c[g+(c[h>>2]<<2)>>2]<<c[m>>2],c[n>>2]|0,c[i>>2]|0,c[g+(c[h>>2]<<2)>>2]|0,c[j>>2]|0);break}case 3:{Gd(c[f>>2]|0,c[g+(c[h>>2]<<2)>>2]<<c[m>>2],c[n>>2]|0,c[i>>2]|0,c[g+(c[h>>2]<<2)>>2]|0,c[j>>2]|0);break}case 5:{Hd(c[f>>2]|0,c[g+(c[h>>2]<<2)>>2]<<c[m>>2],c[n>>2]|0,c[i>>2]|0,c[g+(c[h>>2]<<2)>>2]|0,c[j>>2]|0);break}default:{}}c[i>>2]=c[j>>2];c[h>>2]=(c[h>>2]|0)+-1}l=o;return}function Ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+28|0;h=m+20|0;f=m+16|0;i=m+12|0;k=m+8|0;j=m;c[e>>2]=a;c[m+24>>2]=b;c[h>>2]=d;g[k>>2]=.7071067690849304;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;c[f>>2]=(c[e>>2]|0)+32;b=c[f>>2]|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];g[c[f>>2]>>2]=+g[c[e>>2]>>2]-+g[j>>2];g[(c[f>>2]|0)+4>>2]=+g[(c[e>>2]|0)+4>>2]-+g[j+4>>2];b=c[e>>2]|0;g[b>>2]=+g[b>>2]+ +g[j>>2];b=(c[e>>2]|0)+4|0;g[b>>2]=+g[b>>2]+ +g[j+4>>2];g[j>>2]=(+g[(c[f>>2]|0)+8>>2]+ +g[(c[f>>2]|0)+8+4>>2])*+g[k>>2];g[j+4>>2]=(+g[(c[f>>2]|0)+8+4>>2]-+g[(c[f>>2]|0)+8>>2])*+g[k>>2];g[(c[f>>2]|0)+8>>2]=+g[(c[e>>2]|0)+8>>2]-+g[j>>2];g[(c[f>>2]|0)+8+4>>2]=+g[(c[e>>2]|0)+8+4>>2]-+g[j+4>>2];b=(c[e>>2]|0)+8|0;g[b>>2]=+g[b>>2]+ +g[j>>2];b=(c[e>>2]|0)+8+4|0;g[b>>2]=+g[b>>2]+ +g[j+4>>2];g[j>>2]=+g[(c[f>>2]|0)+16+4>>2];g[j+4>>2]=-+g[(c[f>>2]|0)+16>>2];g[(c[f>>2]|0)+16>>2]=+g[(c[e>>2]|0)+16>>2]-+g[j>>2];g[(c[f>>2]|0)+16+4>>2]=+g[(c[e>>2]|0)+16+4>>2]-+g[j+4>>2];b=(c[e>>2]|0)+16|0;g[b>>2]=+g[b>>2]+ +g[j>>2];b=(c[e>>2]|0)+16+4|0;g[b>>2]=+g[b>>2]+ +g[j+4>>2];g[j>>2]=(+g[(c[f>>2]|0)+24+4>>2]-+g[(c[f>>2]|0)+24>>2])*+g[k>>2];g[j+4>>2]=-(+g[(c[f>>2]|0)+24+4>>2]+ +g[(c[f>>2]|0)+24>>2])*+g[k>>2];g[(c[f>>2]|0)+24>>2]=+g[(c[e>>2]|0)+24>>2]-+g[j>>2];g[(c[f>>2]|0)+24+4>>2]=+g[(c[e>>2]|0)+24+4>>2]-+g[j+4>>2];b=(c[e>>2]|0)+24|0;g[b>>2]=+g[b>>2]+ +g[j>>2];b=(c[e>>2]|0)+24+4|0;g[b>>2]=+g[b>>2]+ +g[j+4>>2];c[e>>2]=(c[e>>2]|0)+64;c[i>>2]=(c[i>>2]|0)+1}l=m;return}function Fd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+128|0;i=A+120|0;m=A+116|0;w=A+112|0;p=A+108|0;k=A+104|0;s=A+100|0;n=A+96|0;u=A+88|0;v=A+80|0;o=A+72|0;t=A+24|0;x=A+20|0;y=A+16|0;z=A+12|0;q=A+8|0;r=A+4|0;j=A;c[i>>2]=a;c[m>>2]=b;c[w>>2]=d;c[p>>2]=e;c[k>>2]=f;c[s>>2]=h;if((c[p>>2]|0)==1){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;g[u>>2]=+g[c[i>>2]>>2]-+g[(c[i>>2]|0)+16>>2];g[u+4>>2]=+g[(c[i>>2]|0)+4>>2]-+g[(c[i>>2]|0)+16+4>>2];z=c[i>>2]|0;g[z>>2]=+g[z>>2]+ +g[(c[i>>2]|0)+16>>2];z=(c[i>>2]|0)+4|0;g[z>>2]=+g[z>>2]+ +g[(c[i>>2]|0)+16+4>>2];g[v>>2]=+g[(c[i>>2]|0)+8>>2]+ +g[(c[i>>2]|0)+24>>2];g[v+4>>2]=+g[(c[i>>2]|0)+8+4>>2]+ +g[(c[i>>2]|0)+24+4>>2];g[(c[i>>2]|0)+16>>2]=+g[c[i>>2]>>2]-+g[v>>2];g[(c[i>>2]|0)+16+4>>2]=+g[(c[i>>2]|0)+4>>2]-+g[v+4>>2];z=c[i>>2]|0;g[z>>2]=+g[z>>2]+ +g[v>>2];z=(c[i>>2]|0)+4|0;g[z>>2]=+g[z>>2]+ +g[v+4>>2];g[v>>2]=+g[(c[i>>2]|0)+8>>2]-+g[(c[i>>2]|0)+24>>2];g[v+4>>2]=+g[(c[i>>2]|0)+8+4>>2]-+g[(c[i>>2]|0)+24+4>>2];g[(c[i>>2]|0)+8>>2]=+g[u>>2]+ +g[v+4>>2];g[(c[i>>2]|0)+8+4>>2]=+g[u+4>>2]-+g[v>>2];g[(c[i>>2]|0)+24>>2]=+g[u>>2]-+g[v+4>>2];g[(c[i>>2]|0)+24+4>>2]=+g[u+4>>2]+ +g[v>>2];c[i>>2]=(c[i>>2]|0)+32;c[n>>2]=(c[n>>2]|0)+1}l=A;return}c[q>>2]=c[p>>2]<<1;c[r>>2]=(c[p>>2]|0)*3;c[j>>2]=c[i>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;c[i>>2]=(c[j>>2]|0)+((S(c[n>>2]|0,c[s>>2]|0)|0)<<3);d=c[(c[w>>2]|0)+48>>2]|0;c[x>>2]=d;c[y>>2]=d;c[z>>2]=d;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break;g[t>>2]=+g[(c[i>>2]|0)+(c[p>>2]<<3)>>2]*+g[c[x>>2]>>2]-+g[(c[i>>2]|0)+(c[p>>2]<<3)+4>>2]*+g[(c[x>>2]|0)+4>>2];g[t+4>>2]=+g[(c[i>>2]|0)+(c[p>>2]<<3)>>2]*+g[(c[x>>2]|0)+4>>2]+ +g[(c[i>>2]|0)+(c[p>>2]<<3)+4>>2]*+g[c[x>>2]>>2];g[t+8>>2]=+g[(c[i>>2]|0)+(c[q>>2]<<3)>>2]*+g[c[y>>2]>>2]-+g[(c[i>>2]|0)+(c[q>>2]<<3)+4>>2]*+g[(c[y>>2]|0)+4>>2];g[t+8+4>>2]=+g[(c[i>>2]|0)+(c[q>>2]<<3)>>2]*+g[(c[y>>2]|0)+4>>2]+ +g[(c[i>>2]|0)+(c[q>>2]<<3)+4>>2]*+g[c[y>>2]>>2];g[t+16>>2]=+g[(c[i>>2]|0)+(c[r>>2]<<3)>>2]*+g[c[z>>2]>>2]-+g[(c[i>>2]|0)+(c[r>>2]<<3)+4>>2]*+g[(c[z>>2]|0)+4>>2];g[t+16+4>>2]=+g[(c[i>>2]|0)+(c[r>>2]<<3)>>2]*+g[(c[z>>2]|0)+4>>2]+ +g[(c[i>>2]|0)+(c[r>>2]<<3)+4>>2]*+g[c[z>>2]>>2];g[t+40>>2]=+g[c[i>>2]>>2]-+g[t+8>>2];g[t+40+4>>2]=+g[(c[i>>2]|0)+4>>2]-+g[t+8+4>>2];d=c[i>>2]|0;g[d>>2]=+g[d>>2]+ +g[t+8>>2];d=(c[i>>2]|0)+4|0;g[d>>2]=+g[d>>2]+ +g[t+8+4>>2];g[t+24>>2]=+g[t>>2]+ +g[t+16>>2];g[t+24+4>>2]=+g[t+4>>2]+ +g[t+16+4>>2];g[t+32>>2]=+g[t>>2]-+g[t+16>>2];g[t+32+4>>2]=+g[t+4>>2]-+g[t+16+4>>2];g[(c[i>>2]|0)+(c[q>>2]<<3)>>2]=+g[c[i>>2]>>2]-+g[t+24>>2];g[(c[i>>2]|0)+(c[q>>2]<<3)+4>>2]=+g[(c[i>>2]|0)+4>>2]-+g[t+24+4>>2];c[x>>2]=(c[x>>2]|0)+(c[m>>2]<<3);c[y>>2]=(c[y>>2]|0)+(c[m>>2]<<1<<3);c[z>>2]=(c[z>>2]|0)+((c[m>>2]|0)*3<<3);d=c[i>>2]|0;g[d>>2]=+g[d>>2]+ +g[t+24>>2];d=(c[i>>2]|0)+4|0;g[d>>2]=+g[d>>2]+ +g[t+24+4>>2];g[(c[i>>2]|0)+(c[p>>2]<<3)>>2]=+g[t+40>>2]+ +g[t+32+4>>2];g[(c[i>>2]|0)+(c[p>>2]<<3)+4>>2]=+g[t+40+4>>2]-+g[t+32>>2];g[(c[i>>2]|0)+(c[r>>2]<<3)>>2]=+g[t+40>>2]-+g[t+32+4>>2];g[(c[i>>2]|0)+(c[r>>2]<<3)+4>>2]=+g[t+40+4>>2]+ +g[t+32>>2];c[i>>2]=(c[i>>2]|0)+8;c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}l=A;return}function Gd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+112|0;i=x+96|0;n=x+92|0;u=x+88|0;q=x+84|0;k=x+80|0;s=x+76|0;o=x+72|0;p=x+68|0;r=x+64|0;v=x+60|0;w=x+56|0;t=x+16|0;m=x+8|0;j=x;c[i>>2]=a;c[n>>2]=b;c[u>>2]=d;c[q>>2]=e;c[k>>2]=f;c[s>>2]=h;c[r>>2]=c[q>>2]<<1;c[j>>2]=c[i>>2];d=(c[(c[u>>2]|0)+48>>2]|0)+((S(c[n>>2]|0,c[q>>2]|0)|0)<<3)|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;c[i>>2]=(c[j>>2]|0)+((S(c[o>>2]|0,c[s>>2]|0)|0)<<3);d=c[(c[u>>2]|0)+48>>2]|0;c[w>>2]=d;c[v>>2]=d;c[p>>2]=c[q>>2];do{g[t+8>>2]=+g[(c[i>>2]|0)+(c[q>>2]<<3)>>2]*+g[c[v>>2]>>2]-+g[(c[i>>2]|0)+(c[q>>2]<<3)+4>>2]*+g[(c[v>>2]|0)+4>>2];g[t+8+4>>2]=+g[(c[i>>2]|0)+(c[q>>2]<<3)>>2]*+g[(c[v>>2]|0)+4>>2]+ +g[(c[i>>2]|0)+(c[q>>2]<<3)+4>>2]*+g[c[v>>2]>>2];g[t+16>>2]=+g[(c[i>>2]|0)+(c[r>>2]<<3)>>2]*+g[c[w>>2]>>2]-+g[(c[i>>2]|0)+(c[r>>2]<<3)+4>>2]*+g[(c[w>>2]|0)+4>>2];g[t+16+4>>2]=+g[(c[i>>2]|0)+(c[r>>2]<<3)>>2]*+g[(c[w>>2]|0)+4>>2]+ +g[(c[i>>2]|0)+(c[r>>2]<<3)+4>>2]*+g[c[w>>2]>>2];g[t+24>>2]=+g[t+8>>2]+ +g[t+16>>2];g[t+24+4>>2]=+g[t+8+4>>2]+ +g[t+16+4>>2];g[t>>2]=+g[t+8>>2]-+g[t+16>>2];g[t+4>>2]=+g[t+8+4>>2]-+g[t+16+4>>2];c[v>>2]=(c[v>>2]|0)+(c[n>>2]<<3);c[w>>2]=(c[w>>2]|0)+(c[n>>2]<<1<<3);g[(c[i>>2]|0)+(c[q>>2]<<3)>>2]=+g[c[i>>2]>>2]-+g[t+24>>2]*.5;g[(c[i>>2]|0)+(c[q>>2]<<3)+4>>2]=+g[(c[i>>2]|0)+4>>2]-+g[t+24+4>>2]*.5;g[t>>2]=+g[t>>2]*+g[m+4>>2];d=t+4|0;g[d>>2]=+g[d>>2]*+g[m+4>>2];d=c[i>>2]|0;g[d>>2]=+g[d>>2]+ +g[t+24>>2];d=(c[i>>2]|0)+4|0;g[d>>2]=+g[d>>2]+ +g[t+24+4>>2];g[(c[i>>2]|0)+(c[r>>2]<<3)>>2]=+g[(c[i>>2]|0)+(c[q>>2]<<3)>>2]+ +g[t+4>>2];g[(c[i>>2]|0)+(c[r>>2]<<3)+4>>2]=+g[(c[i>>2]|0)+(c[q>>2]<<3)+4>>2]-+g[t>>2];g[(c[i>>2]|0)+(c[q>>2]<<3)>>2]=+g[(c[i>>2]|0)+(c[q>>2]<<3)>>2]-+g[t+4>>2];g[(c[i>>2]|0)+(c[q>>2]<<3)+4>>2]=+g[(c[i>>2]|0)+(c[q>>2]<<3)+4>>2]+ +g[t>>2];c[i>>2]=(c[i>>2]|0)+8;d=(c[p>>2]|0)+-1|0;c[p>>2]=d}while((d|0)!=0);c[o>>2]=(c[o>>2]|0)+1}l=x;return}function Hd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0;A=l;l=l+192|0;i=A+184|0;r=A+180|0;B=A+176|0;t=A+172|0;q=A+168|0;u=A+164|0;j=A+160|0;k=A+156|0;m=A+152|0;n=A+148|0;o=A+144|0;s=A+140|0;x=A+136|0;v=A+32|0;w=A+24|0;y=A+16|0;z=A+8|0;p=A;c[i>>2]=a;c[r>>2]=b;c[B>>2]=d;c[t>>2]=e;c[q>>2]=f;c[u>>2]=h;c[p>>2]=c[i>>2];d=(c[(c[B>>2]|0)+48>>2]|0)+((S(c[r>>2]|0,c[t>>2]|0)|0)<<3)|0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];d=(c[(c[B>>2]|0)+48>>2]|0)+((S(c[r>>2]<<1,c[t>>2]|0)|0)<<3)|0;c[z>>2]=c[d>>2];c[z+4>>2]=c[d+4>>2];c[w>>2]=c[(c[B>>2]|0)+48>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[q>>2]|0))break;c[i>>2]=(c[p>>2]|0)+((S(c[s>>2]|0,c[u>>2]|0)|0)<<3);c[j>>2]=c[i>>2];c[k>>2]=(c[j>>2]|0)+(c[t>>2]<<3);c[m>>2]=(c[j>>2]|0)+(c[t>>2]<<1<<3);c[n>>2]=(c[j>>2]|0)+((c[t>>2]|0)*3<<3);c[o>>2]=(c[j>>2]|0)+(c[t>>2]<<2<<3);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[t>>2]|0))break;B=c[j>>2]|0;c[v>>2]=c[B>>2];c[v+4>>2]=c[B+4>>2];C=+g[c[k>>2]>>2]*+g[(c[w>>2]|0)+((S(c[x>>2]|0,c[r>>2]|0)|0)<<3)>>2];g[v+8>>2]=C-+g[(c[k>>2]|0)+4>>2]*+g[(c[w>>2]|0)+((S(c[x>>2]|0,c[r>>2]|0)|0)<<3)+4>>2];C=+g[c[k>>2]>>2]*+g[(c[w>>2]|0)+((S(c[x>>2]|0,c[r>>2]|0)|0)<<3)+4>>2];g[v+8+4>>2]=C+ +g[(c[k>>2]|0)+4>>2]*+g[(c[w>>2]|0)+((S(c[x>>2]|0,c[r>>2]|0)|0)<<3)>>2];C=+g[c[m>>2]>>2]*+g[(c[w>>2]|0)+((S(c[x>>2]<<1,c[r>>2]|0)|0)<<3)>>2];g[v+16>>2]=C-+g[(c[m>>2]|0)+4>>2]*+g[(c[w>>2]|0)+((S(c[x>>2]<<1,c[r>>2]|0)|0)<<3)+4>>2];C=+g[c[m>>2]>>2]*+g[(c[w>>2]|0)+((S(c[x>>2]<<1,c[r>>2]|0)|0)<<3)+4>>2];g[v+16+4>>2]=C+ +g[(c[m>>2]|0)+4>>2]*+g[(c[w>>2]|0)+((S(c[x>>2]<<1,c[r>>2]|0)|0)<<3)>>2];C=+g[c[n>>2]>>2]*+g[(c[w>>2]|0)+((S((c[x>>2]|0)*3|0,c[r>>2]|0)|0)<<3)>>2];g[v+24>>2]=C-+g[(c[n>>2]|0)+4>>2]*+g[(c[w>>2]|0)+((S((c[x>>2]|0)*3|0,c[r>>2]|0)|0)<<3)+4>>2];C=+g[c[n>>2]>>2]*+g[(c[w>>2]|0)+((S((c[x>>2]|0)*3|0,c[r>>2]|0)|0)<<3)+4>>2];g[v+24+4>>2]=C+ +g[(c[n>>2]|0)+4>>2]*+g[(c[w>>2]|0)+((S((c[x>>2]|0)*3|0,c[r>>2]|0)|0)<<3)>>2];C=+g[c[o>>2]>>2]*+g[(c[w>>2]|0)+((S(c[x>>2]<<2,c[r>>2]|0)|0)<<3)>>2];g[v+32>>2]=C-+g[(c[o>>2]|0)+4>>2]*+g[(c[w>>2]|0)+((S(c[x>>2]<<2,c[r>>2]|0)|0)<<3)+4>>2];C=+g[c[o>>2]>>2]*+g[(c[w>>2]|0)+((S(c[x>>2]<<2,c[r>>2]|0)|0)<<3)+4>>2];g[v+32+4>>2]=C+ +g[(c[o>>2]|0)+4>>2]*+g[(c[w>>2]|0)+((S(c[x>>2]<<2,c[r>>2]|0)|0)<<3)>>2];g[v+56>>2]=+g[v+8>>2]+ +g[v+32>>2];g[v+56+4>>2]=+g[v+8+4>>2]+ +g[v+32+4>>2];g[v+80>>2]=+g[v+8>>2]-+g[v+32>>2];g[v+80+4>>2]=+g[v+8+4>>2]-+g[v+32+4>>2];g[v+64>>2]=+g[v+16>>2]+ +g[v+24>>2];g[v+64+4>>2]=+g[v+16+4>>2]+ +g[v+24+4>>2];g[v+72>>2]=+g[v+16>>2]-+g[v+24>>2];g[v+72+4>>2]=+g[v+16+4>>2]-+g[v+24+4>>2];g[c[j>>2]>>2]=+g[c[j>>2]>>2]+(+g[v+56>>2]+ +g[v+64>>2]);g[(c[j>>2]|0)+4>>2]=+g[(c[j>>2]|0)+4>>2]+(+g[v+56+4>>2]+ +g[v+64+4>>2]);g[v+40>>2]=+g[v>>2]+(+g[v+56>>2]*+g[y>>2]+ +g[v+64>>2]*+g[z>>2]);g[v+40+4>>2]=+g[v+4>>2]+(+g[v+56+4>>2]*+g[y>>2]+ +g[v+64+4>>2]*+g[z>>2]);g[v+48>>2]=+g[v+80+4>>2]*+g[y+4>>2]+ +g[v+72+4>>2]*+g[z+4>>2];g[v+48+4>>2]=-(+g[v+80>>2]*+g[y+4>>2]+ +g[v+72>>2]*+g[z+4>>2]);g[c[k>>2]>>2]=+g[v+40>>2]-+g[v+48>>2];g[(c[k>>2]|0)+4>>2]=+g[v+40+4>>2]-+g[v+48+4>>2];g[c[o>>2]>>2]=+g[v+40>>2]+ +g[v+48>>2];g[(c[o>>2]|0)+4>>2]=+g[v+40+4>>2]+ +g[v+48+4>>2];g[v+88>>2]=+g[v>>2]+(+g[v+56>>2]*+g[z>>2]+ +g[v+64>>2]*+g[y>>2]);g[v+88+4>>2]=+g[v+4>>2]+(+g[v+56+4>>2]*+g[z>>2]+ +g[v+64+4>>2]*+g[y>>2]);g[v+96>>2]=+g[v+72+4>>2]*+g[y+4>>2]-+g[v+80+4>>2]*+g[z+4>>2];g[v+96+4>>2]=+g[v+80>>2]*+g[z+4>>2]-+g[v+72>>2]*+g[y+4>>2];g[c[m>>2]>>2]=+g[v+88>>2]+ +g[v+96>>2];g[(c[m>>2]|0)+4>>2]=+g[v+88+4>>2]+ +g[v+96+4>>2];g[c[n>>2]>>2]=+g[v+88>>2]-+g[v+96>>2];g[(c[n>>2]|0)+4>>2]=+g[v+88+4>>2]-+g[v+96+4>>2];c[j>>2]=(c[j>>2]|0)+8;c[k>>2]=(c[k>>2]|0)+8;c[m>>2]=(c[m>>2]|0)+8;c[n>>2]=(c[n>>2]|0)+8;c[o>>2]=(c[o>>2]|0)+8;c[x>>2]=(c[x>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1}l=A;return}function Id(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;k=n+24|0;f=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;m=n;c[k>>2]=a;c[f>>2]=d;c[h>>2]=e;g[j>>2]=+g[(c[k>>2]|0)+4>>2];c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[c[k>>2]>>2]|0))break;a=(c[f>>2]|0)+(c[i>>2]<<3)|0;c[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];g[(c[h>>2]|0)+(b[(c[(c[k>>2]|0)+44>>2]|0)+(c[i>>2]<<1)>>1]<<3)>>2]=+g[j>>2]*+g[m>>2];g[(c[h>>2]|0)+(b[(c[(c[k>>2]|0)+44>>2]|0)+(c[i>>2]<<1)>>1]<<3)+4>>2]=+g[j>>2]*+g[m+4>>2];c[i>>2]=(c[i>>2]|0)+1}Dd(c[k>>2]|0,c[h>>2]|0);l=n;return}function Jd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+36|0;p=q+32|0;m=q+28|0;f=q+24|0;k=q+20|0;h=q+16|0;o=q+12|0;n=q+8|0;i=q+4|0;g=q;c[j>>2]=a;c[p>>2]=b;c[m>>2]=d;c[f>>2]=e;c[h>>2]=c[c[p>>2]>>2];c[k>>2]=0;if(!(c[h>>2]|0)){n=c[j>>2]|0;o=c[k>>2]|0;k=c[k>>2]|0;p=c[m>>2]|0;p=k+p|0;ud(n,o,p,15);l=q;return}c[o>>2]=0-((c[h>>2]|0)<0&1);c[h>>2]=(c[h>>2]|0)+(c[o>>2]|0)^c[o>>2];c[k>>2]=c[m>>2];c[m>>2]=Kd(c[m>>2]|0,c[f>>2]|0)|0;c[n>>2]=1;while(1){if((c[m>>2]|0)>>>0>0)a=(c[n>>2]|0)<(c[h>>2]|0);else a=0;e=c[m>>2]|0;if(!a)break;c[m>>2]=e<<1;c[k>>2]=(c[k>>2]|0)+((c[m>>2]|0)+2);c[m>>2]=(S(c[m>>2]|0,c[f>>2]|0)|0)>>>15;c[n>>2]=(c[n>>2]|0)+1}if(e|0){c[m>>2]=(c[m>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+(c[m>>2]&~c[o>>2]);n=c[j>>2]|0;o=c[k>>2]|0;k=c[k>>2]|0;p=c[m>>2]|0;p=k+p|0;ud(n,o,p,15);l=q;return}c[g>>2]=(32768-(c[k>>2]|0)+1-1|0)>>>0;c[g>>2]=(c[g>>2]|0)-(c[o>>2]|0)>>1;if(((c[h>>2]|0)-(c[n>>2]|0)|0)<((c[g>>2]|0)-1|0))e=(c[h>>2]|0)-(c[n>>2]|0)|0;else e=(c[g>>2]|0)-1|0;c[i>>2]=e;c[k>>2]=(c[k>>2]|0)+((c[i>>2]<<1)+1+(c[o>>2]|0));c[m>>2]=1<(32768-(c[k>>2]|0)|0)>>>0?1:32768-(c[k>>2]|0)|0;c[c[p>>2]>>2]=(c[n>>2]|0)+(c[i>>2]|0)+(c[o>>2]|0)^c[o>>2];n=c[j>>2]|0;o=c[k>>2]|0;k=c[k>>2]|0;p=c[m>>2]|0;p=k+p|0;ud(n,o,p,15);l=q;return}function Kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=32736-(c[g>>2]|0);a=(S(c[f>>2]|0,16384-(c[e>>2]|0)|0)|0)>>>15;l=d;return a|0}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;j=m+20|0;f=m+16|0;k=m+12|0;i=m+8|0;h=m+4|0;g=m;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[k>>2]=0;c[h>>2]=hd(c[e>>2]|0,15)|0;c[i>>2]=0;do if((c[h>>2]|0)>>>0>=(c[j>>2]|0)>>>0){c[k>>2]=(c[k>>2]|0)+1;c[i>>2]=c[j>>2];c[j>>2]=(Kd(c[j>>2]|0,c[f>>2]|0)|0)+1;while(1){if((c[j>>2]|0)>>>0>1)d=(c[h>>2]|0)>>>0>=((c[i>>2]|0)+(c[j>>2]<<1)|0)>>>0;else d=0;a=c[j>>2]|0;if(!d)break;c[j>>2]=a<<1;c[i>>2]=(c[i>>2]|0)+(c[j>>2]|0);c[j>>2]=(S((c[j>>2]|0)-2|0,c[f>>2]|0)|0)>>>15;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}if(a>>>0<=1){c[g>>2]=((c[h>>2]|0)-(c[i>>2]|0)|0)>>>1;c[k>>2]=(c[k>>2]|0)+(c[g>>2]|0);c[i>>2]=(c[i>>2]|0)+(c[g>>2]<<1)}if((c[h>>2]|0)>>>0<((c[i>>2]|0)+(c[j>>2]|0)|0)>>>0){c[k>>2]=0-(c[k>>2]|0);break}else{c[i>>2]=(c[i>>2]|0)+(c[j>>2]|0);break}}while(0);a=c[e>>2]|0;d=c[i>>2]|0;if(((c[i>>2]|0)+(c[j>>2]|0)|0)>>>0>=32768){j=32768;id(a,d,j,32768);k=c[k>>2]|0;l=m;return k|0}j=(c[i>>2]|0)+(c[j>>2]|0)|0;id(a,d,j,32768);k=c[k>>2]|0;l=m;return k|0}function Md(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;g=h;c[b>>2]=a;c[f>>2]=0;c[e>>2]=32-(V(c[b>>2]|0)|0)-1>>1;c[d>>2]=1<<c[e>>2];do{c[g>>2]=(c[f>>2]<<1)+(c[d>>2]|0)<<c[e>>2];if((c[g>>2]|0)>>>0<=(c[b>>2]|0)>>>0){c[f>>2]=(c[f>>2]|0)+(c[d>>2]|0);c[b>>2]=(c[b>>2]|0)-(c[g>>2]|0)}c[d>>2]=(c[d>>2]|0)>>>1;c[e>>2]=(c[e>>2]|0)+-1}while((c[e>>2]|0)>=0);l=h;return c[f>>2]|0}function Nd(a,d,e,f,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0.0;V=l;l=l+160|0;W=V+144|0;t=V+140|0;u=V+136|0;G=V+132|0;v=V+128|0;n=V+124|0;A=V+120|0;r=V+112|0;m=V+108|0;o=V+104|0;p=V+100|0;z=V+96|0;F=V+92|0;y=V+88|0;x=V+84|0;J=V+80|0;K=V+76|0;O=V+72|0;H=V+68|0;I=V+64|0;R=V+60|0;B=V+56|0;L=V+48|0;C=V+44|0;D=V+40|0;w=V+36|0;s=V+32|0;T=V+28|0;M=V+24|0;q=V+20|0;P=V+16|0;Q=V+12|0;E=V+8|0;U=V+4|0;N=V;c[W>>2]=a;c[t>>2]=d;c[u>>2]=e;c[G>>2]=f;c[v>>2]=h;c[n>>2]=i;c[A>>2]=j;c[V+116>>2]=k;c[z>>2]=c[(c[W>>2]|0)+8+(c[n>>2]<<2)>>2];g[y>>2]=+g[(c[z>>2]|0)+4>>2];c[m>>2]=c[c[W>>2]>>2];c[F>>2]=c[(c[W>>2]|0)+24>>2];c[r>>2]=0;while(1){k=c[m>>2]>>1;if((c[r>>2]|0)>=(c[n>>2]|0))break;c[m>>2]=k;c[F>>2]=(c[F>>2]|0)+(c[m>>2]<<2);c[r>>2]=(c[r>>2]|0)+1}c[o>>2]=k;c[p>>2]=c[m>>2]>>2;d=c[o>>2]|0;c[x>>2]=la()|0;k=l;l=l+((1*(d<<2)|0)+15&-16)|0;d=l;l=l+((1*(c[p>>2]<<3)|0)+15&-16)|0;c[J>>2]=(c[t>>2]|0)+(c[v>>2]>>1<<2);c[K>>2]=(c[t>>2]|0)+(c[o>>2]<<2)+-4+(c[v>>2]>>1<<2);c[O>>2]=k;c[H>>2]=(c[G>>2]|0)+(c[v>>2]>>1<<2);c[I>>2]=(c[G>>2]|0)+(c[v>>2]>>1<<2)+-4;c[r>>2]=0;while(1){if((c[r>>2]|0)>=((c[v>>2]|0)+3>>2|0))break;X=+g[c[I>>2]>>2]*+g[(c[J>>2]|0)+(c[o>>2]<<2)>>2]+ +g[c[H>>2]>>2]*+g[c[K>>2]>>2];W=c[O>>2]|0;c[O>>2]=W+4;g[W>>2]=X;X=+g[c[H>>2]>>2]*+g[c[J>>2]>>2]-+g[c[I>>2]>>2]*+g[(c[K>>2]|0)+(0-(c[o>>2]|0)<<2)>>2];W=c[O>>2]|0;c[O>>2]=W+4;g[W>>2]=X;c[J>>2]=(c[J>>2]|0)+8;c[K>>2]=(c[K>>2]|0)+-8;c[H>>2]=(c[H>>2]|0)+8;c[I>>2]=(c[I>>2]|0)+-8;c[r>>2]=(c[r>>2]|0)+1}c[H>>2]=c[G>>2];c[I>>2]=(c[G>>2]|0)+(c[v>>2]<<2)+-4;while(1){if((c[r>>2]|0)>=((c[p>>2]|0)-((c[v>>2]|0)+3>>2)|0))break;X=+g[c[K>>2]>>2];W=c[O>>2]|0;c[O>>2]=W+4;g[W>>2]=X;X=+g[c[J>>2]>>2];W=c[O>>2]|0;c[O>>2]=W+4;g[W>>2]=X;c[J>>2]=(c[J>>2]|0)+8;c[K>>2]=(c[K>>2]|0)+-8;c[r>>2]=(c[r>>2]|0)+1}while(1){if((c[r>>2]|0)>=(c[p>>2]|0))break;X=-(+g[c[H>>2]>>2]*+g[(c[J>>2]|0)+(0-(c[o>>2]|0)<<2)>>2])+ +g[c[I>>2]>>2]*+g[c[K>>2]>>2];W=c[O>>2]|0;c[O>>2]=W+4;g[W>>2]=X;X=+g[c[I>>2]>>2]*+g[c[J>>2]>>2]+ +g[c[H>>2]>>2]*+g[(c[K>>2]|0)+(c[o>>2]<<2)>>2];W=c[O>>2]|0;c[O>>2]=W+4;g[W>>2]=X;c[J>>2]=(c[J>>2]|0)+8;c[K>>2]=(c[K>>2]|0)+-8;c[H>>2]=(c[H>>2]|0)+8;c[I>>2]=(c[I>>2]|0)+-8;c[r>>2]=(c[r>>2]|0)+1}c[R>>2]=k;c[B>>2]=c[F>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[p>>2]|0))break;g[C>>2]=+g[(c[B>>2]|0)+(c[r>>2]<<2)>>2];g[D>>2]=+g[(c[B>>2]|0)+((c[p>>2]|0)+(c[r>>2]|0)<<2)>>2];W=c[R>>2]|0;c[R>>2]=W+4;g[w>>2]=+g[W>>2];W=c[R>>2]|0;c[R>>2]=W+4;g[s>>2]=+g[W>>2];g[T>>2]=+g[w>>2]*+g[C>>2]-+g[s>>2]*+g[D>>2];g[M>>2]=+g[s>>2]*+g[C>>2]+ +g[w>>2]*+g[D>>2];g[L>>2]=+g[T>>2];g[L+4>>2]=+g[M>>2];g[L>>2]=+g[y>>2]*+g[L>>2];g[L+4>>2]=+g[y>>2]*+g[L+4>>2];W=d+(b[(c[(c[z>>2]|0)+44>>2]|0)+(c[r>>2]<<1)>>1]<<3)|0;c[W>>2]=c[L>>2];c[W+4>>2]=c[L+4>>2];c[r>>2]=(c[r>>2]|0)+1}Dd(c[z>>2]|0,d);c[q>>2]=d;c[P>>2]=c[u>>2];c[Q>>2]=(c[u>>2]|0)+((S(c[A>>2]|0,(c[o>>2]|0)-1|0)|0)<<2);c[E>>2]=c[F>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[p>>2]|0))break;g[U>>2]=+g[(c[q>>2]|0)+4>>2]*+g[(c[E>>2]|0)+((c[p>>2]|0)+(c[r>>2]|0)<<2)>>2]-+g[c[q>>2]>>2]*+g[(c[E>>2]|0)+(c[r>>2]<<2)>>2];g[N>>2]=+g[c[q>>2]>>2]*+g[(c[E>>2]|0)+((c[p>>2]|0)+(c[r>>2]|0)<<2)>>2]+ +g[(c[q>>2]|0)+4>>2]*+g[(c[E>>2]|0)+(c[r>>2]<<2)>>2];g[c[P>>2]>>2]=+g[U>>2];g[c[Q>>2]>>2]=+g[N>>2];c[q>>2]=(c[q>>2]|0)+8;c[P>>2]=(c[P>>2]|0)+(c[A>>2]<<1<<2);c[Q>>2]=(c[Q>>2]|0)+(0-(c[A>>2]<<1)<<2);c[r>>2]=(c[r>>2]|0)+1}ka(c[x>>2]|0);l=V;return}function Od(a,d,e,f,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0.0;W=l;l=l+144|0;t=W+140|0;s=W+136|0;u=W+132|0;F=W+128|0;v=W+124|0;y=W+120|0;z=W+116|0;q=W+108|0;m=W+104|0;n=W+100|0;o=W+96|0;E=W+92|0;K=W+88|0;M=W+84|0;P=W+80|0;A=W+76|0;p=W+72|0;x=W+68|0;U=W+64|0;N=W+60|0;Q=W+56|0;R=W+52|0;D=W+48|0;w=W+44|0;r=W+40|0;V=W+36|0;O=W+32|0;B=W+28|0;C=W+24|0;L=W+20|0;T=W+16|0;G=W+12|0;H=W+8|0;I=W+4|0;J=W;c[t>>2]=a;c[s>>2]=d;c[u>>2]=e;c[F>>2]=f;c[v>>2]=h;c[y>>2]=i;c[z>>2]=j;c[W+112>>2]=k;c[m>>2]=c[c[t>>2]>>2];c[E>>2]=c[(c[t>>2]|0)+24>>2];c[q>>2]=0;while(1){k=c[m>>2]>>1;if((c[q>>2]|0)>=(c[y>>2]|0))break;c[m>>2]=k;c[E>>2]=(c[E>>2]|0)+(c[m>>2]<<2);c[q>>2]=(c[q>>2]|0)+1}c[n>>2]=k;c[o>>2]=c[m>>2]>>2;c[K>>2]=c[s>>2];c[M>>2]=(c[s>>2]|0)+((S(c[z>>2]|0,(c[n>>2]|0)-1|0)|0)<<2);c[P>>2]=(c[u>>2]|0)+(c[v>>2]>>1<<2);c[A>>2]=c[E>>2];c[p>>2]=c[(c[(c[t>>2]|0)+8+(c[y>>2]<<2)>>2]|0)+44>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[o>>2]|0))break;s=c[p>>2]|0;c[p>>2]=s+2;c[x>>2]=b[s>>1];g[U>>2]=+g[c[M>>2]>>2]*+g[(c[A>>2]|0)+(c[q>>2]<<2)>>2]+ +g[c[K>>2]>>2]*+g[(c[A>>2]|0)+((c[o>>2]|0)+(c[q>>2]|0)<<2)>>2];g[N>>2]=+g[c[K>>2]>>2]*+g[(c[A>>2]|0)+(c[q>>2]<<2)>>2]-+g[c[M>>2]>>2]*+g[(c[A>>2]|0)+((c[o>>2]|0)+(c[q>>2]|0)<<2)>>2];g[(c[P>>2]|0)+((c[x>>2]<<1)+1<<2)>>2]=+g[U>>2];g[(c[P>>2]|0)+(c[x>>2]<<1<<2)>>2]=+g[N>>2];c[K>>2]=(c[K>>2]|0)+(c[z>>2]<<1<<2);c[M>>2]=(c[M>>2]|0)+(0-(c[z>>2]<<1)<<2);c[q>>2]=(c[q>>2]|0)+1}Dd(c[(c[t>>2]|0)+8+(c[y>>2]<<2)>>2]|0,(c[u>>2]|0)+(c[v>>2]>>1<<2)|0);c[Q>>2]=(c[u>>2]|0)+(c[v>>2]>>1<<2);c[R>>2]=(c[u>>2]|0)+(c[v>>2]>>1<<2)+(c[n>>2]<<2)+-8;c[D>>2]=c[E>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=((c[o>>2]|0)+1>>1|0))break;g[w>>2]=+g[(c[Q>>2]|0)+4>>2];g[r>>2]=+g[c[Q>>2]>>2];g[B>>2]=+g[(c[D>>2]|0)+(c[q>>2]<<2)>>2];g[C>>2]=+g[(c[D>>2]|0)+((c[o>>2]|0)+(c[q>>2]|0)<<2)>>2];g[V>>2]=+g[w>>2]*+g[B>>2]+ +g[r>>2]*+g[C>>2];g[O>>2]=+g[w>>2]*+g[C>>2]-+g[r>>2]*+g[B>>2];g[w>>2]=+g[(c[R>>2]|0)+4>>2];g[r>>2]=+g[c[R>>2]>>2];g[c[Q>>2]>>2]=+g[V>>2];g[(c[R>>2]|0)+4>>2]=+g[O>>2];g[B>>2]=+g[(c[D>>2]|0)+((c[o>>2]|0)-(c[q>>2]|0)-1<<2)>>2];g[C>>2]=+g[(c[D>>2]|0)+((c[n>>2]|0)-(c[q>>2]|0)-1<<2)>>2];g[V>>2]=+g[w>>2]*+g[B>>2]+ +g[r>>2]*+g[C>>2];g[O>>2]=+g[w>>2]*+g[C>>2]-+g[r>>2]*+g[B>>2];g[c[R>>2]>>2]=+g[V>>2];g[(c[Q>>2]|0)+4>>2]=+g[O>>2];c[Q>>2]=(c[Q>>2]|0)+8;c[R>>2]=(c[R>>2]|0)+-8;c[q>>2]=(c[q>>2]|0)+1}c[L>>2]=(c[u>>2]|0)+(c[v>>2]<<2)+-4;c[T>>2]=c[u>>2];c[G>>2]=c[F>>2];c[H>>2]=(c[F>>2]|0)+(c[v>>2]<<2)+-4;c[q>>2]=0;while(1){if((c[q>>2]|0)>=((c[v>>2]|0)/2|0|0))break;g[I>>2]=+g[c[L>>2]>>2];g[J>>2]=+g[c[T>>2]>>2];X=+g[c[H>>2]>>2]*+g[J>>2]-+g[c[G>>2]>>2]*+g[I>>2];V=c[T>>2]|0;c[T>>2]=V+4;g[V>>2]=X;X=+g[c[G>>2]>>2]*+g[J>>2]+ +g[c[H>>2]>>2]*+g[I>>2];V=c[L>>2]|0;c[L>>2]=V+-4;g[V>>2]=X;c[G>>2]=(c[G>>2]|0)+4;c[H>>2]=(c[H>>2]|0)+-4;c[q>>2]=(c[q>>2]|0)+1}l=W;return}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;i=k+4|0;g=k;c[e>>2]=a;c[f>>2]=b;c[h>>2]=d;c[i>>2]=0;a:while(1){if((c[i>>2]|0)>=1){a=12;break}c[g>>2]=0;while(1){if((c[g>>2]|0)>=4)break;if((c[e>>2]|0)==(c[c[5544+(c[i>>2]<<2)>>2]>>2]|0)?(c[f>>2]<<c[g>>2]|0)==(S(c[(c[5544+(c[i>>2]<<2)>>2]|0)+44>>2]|0,c[(c[5544+(c[i>>2]<<2)>>2]|0)+40>>2]|0)|0):0){a=7;break a}c[g>>2]=(c[g>>2]|0)+1}c[i>>2]=(c[i>>2]|0)+1}if((a|0)==7){if(c[h>>2]|0)c[c[h>>2]>>2]=0;c[j>>2]=c[5544+(c[i>>2]<<2)>>2];j=c[j>>2]|0;l=k;return j|0}else if((a|0)==12){if(c[h>>2]|0)c[c[h>>2]>>2]=-1;c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}return 0}function Qd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+96|0;r=t+84|0;s=t+80|0;n=t+76|0;h=t+72|0;j=t+68|0;m=t+64|0;i=t+44|0;q=t+40|0;o=t+24|0;p=t+4|0;k=t;c[r>>2]=a;c[s>>2]=b;c[n>>2]=d;c[h>>2]=e;c[j>>2]=f;g[q>>2]=1.0;g[k>>2]=.800000011920929;c[m>>2]=1;while(1){e=c[c[r>>2]>>2]|0;if((c[m>>2]|0)>=(c[n>>2]>>1|0))break;g[(c[s>>2]|0)+(c[m>>2]<<2)>>2]=((+g[e+((c[m>>2]<<1)-1<<2)>>2]+ +g[(c[c[r>>2]>>2]|0)+((c[m>>2]<<1)+1<<2)>>2])*.5+ +g[(c[c[r>>2]>>2]|0)+(c[m>>2]<<1<<2)>>2])*.5;c[m>>2]=(c[m>>2]|0)+1}g[c[s>>2]>>2]=(+g[e+4>>2]*.5+ +g[c[c[r>>2]>>2]>>2])*.5;if((c[h>>2]|0)==2){c[m>>2]=1;while(1){e=c[(c[r>>2]|0)+4>>2]|0;if((c[m>>2]|0)>=(c[n>>2]>>1|0))break;h=(c[s>>2]|0)+(c[m>>2]<<2)|0;g[h>>2]=+g[h>>2]+((+g[e+((c[m>>2]<<1)-1<<2)>>2]+ +g[(c[(c[r>>2]|0)+4>>2]|0)+((c[m>>2]<<1)+1<<2)>>2])*.5+ +g[(c[(c[r>>2]|0)+4>>2]|0)+(c[m>>2]<<1<<2)>>2])*.5;c[m>>2]=(c[m>>2]|0)+1}h=c[s>>2]|0;g[h>>2]=+g[h>>2]+(+g[e+4>>2]*.5+ +g[c[(c[r>>2]|0)+4>>2]>>2])*.5}$d(c[s>>2]|0,i,0,0,4,c[n>>2]>>1,c[j>>2]|0)|0;g[i>>2]=+g[i>>2]*1.000100016593933;c[m>>2]=1;while(1){if((c[m>>2]|0)>4)break;r=i+(c[m>>2]<<2)|0;g[r>>2]=+g[r>>2]-+g[i+(c[m>>2]<<2)>>2]*(+(c[m>>2]|0)*.00800000037997961)*(+(c[m>>2]|0)*.00800000037997961);c[m>>2]=(c[m>>2]|0)+1}Yd(o,i,4);c[m>>2]=0;while(1){if((c[m>>2]|0)>=4)break;g[q>>2]=+g[q>>2]*.8999999761581421;g[o+(c[m>>2]<<2)>>2]=+g[o+(c[m>>2]<<2)>>2]*+g[q>>2];c[m>>2]=(c[m>>2]|0)+1}g[p>>2]=+g[o>>2]+.800000011920929;g[p+4>>2]=+g[o+4>>2]+ +g[k>>2]*+g[o>>2];g[p+8>>2]=+g[o+8>>2]+ +g[k>>2]*+g[o+4>>2];g[p+12>>2]=+g[o+12>>2]+ +g[k>>2]*+g[o+8>>2];g[p+16>>2]=+g[k>>2]*+g[o+12>>2];Rd(c[s>>2]|0,p,c[n>>2]>>1);l=t;return}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+64|0;t=u+56|0;v=u+52|0;e=u+48|0;f=u+44|0;n=u+40|0;o=u+36|0;p=u+32|0;q=u+28|0;r=u+24|0;h=u+20|0;i=u+16|0;j=u+12|0;k=u+8|0;m=u+4|0;s=u;c[t>>2]=a;c[v>>2]=b;c[e>>2]=d;g[n>>2]=+g[c[v>>2]>>2];g[o>>2]=+g[(c[v>>2]|0)+4>>2];g[p>>2]=+g[(c[v>>2]|0)+8>>2];g[q>>2]=+g[(c[v>>2]|0)+12>>2];g[r>>2]=+g[(c[v>>2]|0)+16>>2];g[h>>2]=0.0;g[i>>2]=0.0;g[j>>2]=0.0;g[k>>2]=0.0;g[m>>2]=0.0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[e>>2]|0))break;g[s>>2]=+g[(c[t>>2]|0)+(c[f>>2]<<2)>>2];g[s>>2]=+g[s>>2]+ +g[n>>2]*+g[h>>2];g[s>>2]=+g[s>>2]+ +g[o>>2]*+g[i>>2];g[s>>2]=+g[s>>2]+ +g[p>>2]*+g[j>>2];g[s>>2]=+g[s>>2]+ +g[q>>2]*+g[k>>2];g[s>>2]=+g[s>>2]+ +g[r>>2]*+g[m>>2];g[m>>2]=+g[k>>2];g[k>>2]=+g[j>>2];g[j>>2]=+g[i>>2];g[i>>2]=+g[h>>2];g[h>>2]=+g[(c[t>>2]|0)+(c[f>>2]<<2)>>2];g[(c[t>>2]|0)+(c[f>>2]<<2)>>2]=+g[s>>2];c[f>>2]=(c[f>>2]|0)+1}l=u;return}function Sd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,o=0,p=0,q=0,s=0,t=0,u=0;u=l;l=l+64|0;i=u+48|0;j=u+44|0;t=u+40|0;o=u+36|0;p=u+32|0;k=u+28|0;m=u+24|0;q=u+8|0;s=u;c[i>>2]=a;c[j>>2]=b;c[t>>2]=d;c[o>>2]=e;c[p>>2]=f;c[k>>2]=h;c[m>>2]=0;while(1){if((c[m>>2]|0)>=((c[p>>2]|0)-3|0))break;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;xb[c[r+((c[k>>2]&7)<<2)>>2]&0](c[i>>2]|0,(c[j>>2]|0)+(c[m>>2]<<2)|0,q,c[o>>2]|0);g[(c[t>>2]|0)+(c[m>>2]<<2)>>2]=+g[q>>2];g[(c[t>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=+g[q+4>>2];g[(c[t>>2]|0)+((c[m>>2]|0)+2<<2)>>2]=+g[q+8>>2];g[(c[t>>2]|0)+((c[m>>2]|0)+3<<2)>>2]=+g[q+12>>2];c[m>>2]=(c[m>>2]|0)+4}while(1){if((c[m>>2]|0)>=(c[p>>2]|0))break;g[s>>2]=+ub[c[n+((c[k>>2]&7)<<2)>>2]&0](c[i>>2]|0,(c[j>>2]|0)+(c[m>>2]<<2)|0,c[o>>2]|0);g[(c[t>>2]|0)+(c[m>>2]<<2)>>2]=+g[s>>2];c[m>>2]=(c[m>>2]|0)+1}l=u;return}function Td(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+80|0;y=A+64|0;z=A+60|0;s=A+56|0;t=A+52|0;v=A+48|0;j=A+44|0;p=A+40|0;q=A+36|0;r=A+32|0;m=A+24|0;u=A+20|0;w=A+16|0;x=A+12|0;i=A+8|0;k=A+4|0;o=A;c[y>>2]=a;c[z>>2]=b;c[s>>2]=d;c[t>>2]=e;c[v>>2]=f;c[j>>2]=h;c[m>>2]=0;c[m+4>>2]=0;c[r>>2]=(c[s>>2]|0)+(c[t>>2]|0);d=c[s>>2]>>2;c[w>>2]=la()|0;h=l;l=l+((1*(d<<2)|0)+15&-16)|0;d=l;l=l+((1*(c[r>>2]>>2<<2)|0)+15&-16)|0;e=l;l=l+((1*(c[t>>2]>>1<<2)|0)+15&-16)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[s>>2]>>2|0))break;g[h+(c[q>>2]<<2)>>2]=+g[(c[y>>2]|0)+(c[q>>2]<<1<<2)>>2];c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[r>>2]>>2|0))break;g[d+(c[q>>2]<<2)>>2]=+g[(c[z>>2]|0)+(c[q>>2]<<1<<2)>>2];c[q>>2]=(c[q>>2]|0)+1}Sd(h,d,e,c[s>>2]>>2,c[t>>2]>>2,c[j>>2]|0);Ud(e,d,c[s>>2]>>2,c[t>>2]>>2,m);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[t>>2]>>1|0))break;g[e+(c[p>>2]<<2)>>2]=0.0;if(!((F((c[p>>2]|0)-(c[m>>2]<<1)|0)|0)>2?(F((c[p>>2]|0)-(c[m+4>>2]<<1)|0)|0)>2:0)){g[x>>2]=+ub[c[n+((c[j>>2]&7)<<2)>>2]&0](c[y>>2]|0,(c[z>>2]|0)+(c[p>>2]<<2)|0,c[s>>2]>>1);g[e+(c[p>>2]<<2)>>2]=-1.0>+g[x>>2]?-1.0:+g[x>>2]}c[p>>2]=(c[p>>2]|0)+1}Ud(e,c[z>>2]|0,c[s>>2]>>1,c[t>>2]>>1,m);if((c[m>>2]|0)>0?(c[m>>2]|0)<((c[t>>2]>>1)-1|0):0){g[i>>2]=+g[e+((c[m>>2]|0)-1<<2)>>2];g[k>>2]=+g[e+(c[m>>2]<<2)>>2];g[o>>2]=+g[e+((c[m>>2]|0)+1<<2)>>2];if(+g[o>>2]-+g[i>>2]>(+g[k>>2]-+g[i>>2])*.699999988079071){c[u>>2]=1;z=c[m>>2]|0;z=z<<1;y=c[u>>2]|0;y=z-y|0;z=c[v>>2]|0;c[z>>2]=y;z=c[w>>2]|0;ka(z|0);l=A;return}if(+g[i>>2]-+g[o>>2]>(+g[k>>2]-+g[o>>2])*.699999988079071){c[u>>2]=-1;z=c[m>>2]|0;z=z<<1;y=c[u>>2]|0;y=z-y|0;z=c[v>>2]|0;c[z>>2]=y;z=c[w>>2]|0;ka(z|0);l=A;return}else{c[u>>2]=0;z=c[m>>2]|0;z=z<<1;y=c[u>>2]|0;y=z-y|0;z=c[v>>2]|0;c[z>>2]=y;z=c[w>>2]|0;ka(z|0);l=A;return}}c[u>>2]=0;z=c[m>>2]|0;z=z<<1;y=c[u>>2]|0;y=z-y|0;z=c[v>>2]|0;c[z>>2]=y;z=c[w>>2]|0;ka(z|0);l=A;return}function Ud(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;r=u+52|0;t=u+48|0;o=u+44|0;p=u+40|0;m=u+36|0;n=u+32|0;h=u+28|0;i=u+24|0;k=u+16|0;j=u+8|0;q=u+4|0;s=u;c[r>>2]=a;c[t>>2]=b;c[o>>2]=d;c[p>>2]=e;c[m>>2]=f;g[i>>2]=1.0;g[k>>2]=-1.0;g[k+4>>2]=-1.0;g[j>>2]=0.0;g[j+4>>2]=0.0;c[c[m>>2]>>2]=0;c[(c[m>>2]|0)+4>>2]=1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[o>>2]|0))break;g[i>>2]=+g[i>>2]+ +g[(c[t>>2]|0)+(c[h>>2]<<2)>>2]*+g[(c[t>>2]|0)+(c[h>>2]<<2)>>2];c[h>>2]=(c[h>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[p>>2]|0))break;if(+g[(c[r>>2]|0)+(c[n>>2]<<2)>>2]>0.0?(g[s>>2]=+g[(c[r>>2]|0)+(c[n>>2]<<2)>>2],g[s>>2]=+g[s>>2]*9.999999960041972e-13,g[q>>2]=+g[s>>2]*+g[s>>2],+g[q>>2]*+g[j+4>>2]>+g[k+4>>2]*+g[i>>2]):0){if(+g[q>>2]*+g[j>>2]>+g[k>>2]*+g[i>>2]){g[k+4>>2]=+g[k>>2];g[j+4>>2]=+g[j>>2];c[(c[m>>2]|0)+4>>2]=c[c[m>>2]>>2];g[k>>2]=+g[q>>2];g[j>>2]=+g[i>>2];f=c[n>>2]|0;h=c[m>>2]|0}else{g[k+4>>2]=+g[q>>2];g[j+4>>2]=+g[i>>2];f=c[n>>2]|0;h=(c[m>>2]|0)+4|0}c[h>>2]=f}g[i>>2]=+g[i>>2]+(+g[(c[t>>2]|0)+((c[n>>2]|0)+(c[o>>2]|0)<<2)>>2]*+g[(c[t>>2]|0)+((c[n>>2]|0)+(c[o>>2]|0)<<2)>>2]-+g[(c[t>>2]|0)+(c[n>>2]<<2)>>2]*+g[(c[t>>2]|0)+(c[n>>2]<<2)>>2]);g[i>>2]=1.0>+g[i>>2]?1.0:+g[i>>2];c[n>>2]=(c[n>>2]|0)+1}l=u;return}
function mh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;j=m+20|0;i=m+16|0;g=m+12|0;h=m+8|0;n=m+4|0;k=m;c[i>>2]=b;c[g>>2]=d;c[h>>2]=e;c[n>>2]=f;wk(c[i>>2]|0,0,300)|0;d=(c[g>>2]|0)!=8e3&(c[g>>2]|0)!=12e3&(c[g>>2]|0)!=16e3;do if(c[n>>2]|0){if(!(d&(c[g>>2]|0)!=24e3&(c[g>>2]|0)!=48e3)?!((c[h>>2]|0)!=8e3&(c[h>>2]|0)!=12e3&(c[h>>2]|0)!=16e3):0){d=c[i>>2]|0;e=a[30682+((((c[g>>2]>>12)-((c[g>>2]|0)>16e3&1)>>((c[g>>2]|0)>24e3&1))-1|0)*3|0)+(((c[h>>2]>>12)-((c[h>>2]|0)>16e3&1)>>((c[h>>2]|0)>24e3&1))-1)>>0]|0;break}c[j>>2]=-1;n=c[j>>2]|0;l=m;return n|0}else{if(!d?!((c[h>>2]|0)!=8e3&(c[h>>2]|0)!=12e3&(c[h>>2]|0)!=16e3&(c[h>>2]|0)!=24e3&(c[h>>2]|0)!=48e3):0){d=c[i>>2]|0;e=a[30697+((((c[g>>2]>>12)-((c[g>>2]|0)>16e3&1)>>((c[g>>2]|0)>24e3&1))-1|0)*5|0)+(((c[h>>2]>>12)-((c[h>>2]|0)>16e3&1)>>((c[h>>2]|0)>24e3&1))-1)>>0]|0;break}c[j>>2]=-1;n=c[j>>2]|0;l=m;return n|0}while(0);c[d+292>>2]=e;c[(c[i>>2]|0)+284>>2]=(c[g>>2]|0)/1e3|0;c[(c[i>>2]|0)+288>>2]=(c[h>>2]|0)/1e3|0;c[(c[i>>2]|0)+268>>2]=(c[(c[i>>2]|0)+284>>2]|0)*10;c[k>>2]=0;e=c[h>>2]|0;b=c[g>>2]|0;do if((c[h>>2]|0)>(c[g>>2]|0)){d=(c[i>>2]|0)+264|0;if((e|0)==(b<<1|0)){c[d>>2]=1;break}else{c[d>>2]=2;c[k>>2]=1;break}}else{d=(c[i>>2]|0)+264|0;if((e|0)>=(b|0)){c[d>>2]=0;break}c[d>>2]=3;if((c[h>>2]<<2|0)==((c[g>>2]|0)*3|0)){c[(c[i>>2]|0)+280>>2]=3;c[(c[i>>2]|0)+276>>2]=18;c[(c[i>>2]|0)+296>>2]=25020;break}if(((c[h>>2]|0)*3|0)==(c[g>>2]<<1|0)){c[(c[i>>2]|0)+280>>2]=2;c[(c[i>>2]|0)+276>>2]=18;c[(c[i>>2]|0)+296>>2]=25078;break}if((c[h>>2]<<1|0)==(c[g>>2]|0)){c[(c[i>>2]|0)+280>>2]=1;c[(c[i>>2]|0)+276>>2]=24;c[(c[i>>2]|0)+296>>2]=25118;break}if(((c[h>>2]|0)*3|0)==(c[g>>2]|0)){c[(c[i>>2]|0)+280>>2]=1;c[(c[i>>2]|0)+276>>2]=36;c[(c[i>>2]|0)+296>>2]=25146;break}if((c[h>>2]<<2|0)==(c[g>>2]|0)){c[(c[i>>2]|0)+280>>2]=1;c[(c[i>>2]|0)+276>>2]=36;c[(c[i>>2]|0)+296>>2]=25186;break}if(((c[h>>2]|0)*6|0)==(c[g>>2]|0)){c[(c[i>>2]|0)+280>>2]=1;c[(c[i>>2]|0)+276>>2]=36;c[(c[i>>2]|0)+296>>2]=25226;break}c[j>>2]=-1;n=c[j>>2]|0;l=m;return n|0}while(0);c[(c[i>>2]|0)+272>>2]=((c[g>>2]<<14+(c[k>>2]|0)|0)/(c[h>>2]|0)|0)<<2;while(1){n=S(c[(c[i>>2]|0)+272>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;n=n+((S(c[(c[i>>2]|0)+272>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16)|0;n=n+(S(c[(c[i>>2]|0)+272>>2]|0,(c[h>>2]>>15)+1>>1)|0)|0;if((n|0)>=(c[g>>2]<<c[k>>2]|0))break;n=(c[i>>2]|0)+272|0;c[n>>2]=(c[n>>2]|0)+1}c[j>>2]=0;n=c[j>>2]|0;l=m;return n|0}function nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;j=k+12|0;g=k+8|0;h=k+4|0;i=k;c[f>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=(c[(c[f>>2]|0)+284>>2]|0)-(c[(c[f>>2]|0)+292>>2]|0);uk((c[f>>2]|0)+168+(c[(c[f>>2]|0)+292>>2]<<1)|0,c[g>>2]|0,c[i>>2]<<1|0)|0;switch(c[(c[f>>2]|0)+264>>2]|0){case 1:{wh(c[f>>2]|0,c[j>>2]|0,(c[f>>2]|0)+168|0,c[(c[f>>2]|0)+284>>2]|0);wh(c[f>>2]|0,(c[j>>2]|0)+(c[(c[f>>2]|0)+288>>2]<<1)|0,(c[g>>2]|0)+(c[i>>2]<<1)|0,(c[h>>2]|0)-(c[(c[f>>2]|0)+284>>2]|0)|0);break}case 2:{th(c[f>>2]|0,c[j>>2]|0,(c[f>>2]|0)+168|0,c[(c[f>>2]|0)+284>>2]|0);th(c[f>>2]|0,(c[j>>2]|0)+(c[(c[f>>2]|0)+288>>2]<<1)|0,(c[g>>2]|0)+(c[i>>2]<<1)|0,(c[h>>2]|0)-(c[(c[f>>2]|0)+284>>2]|0)|0);break}case 3:{rh(c[f>>2]|0,c[j>>2]|0,(c[f>>2]|0)+168|0,c[(c[f>>2]|0)+284>>2]|0);rh(c[f>>2]|0,(c[j>>2]|0)+(c[(c[f>>2]|0)+288>>2]<<1)|0,(c[g>>2]|0)+(c[i>>2]<<1)|0,(c[h>>2]|0)-(c[(c[f>>2]|0)+284>>2]|0)|0);break}default:{uk(c[j>>2]|0,(c[f>>2]|0)+168|0,c[(c[f>>2]|0)+284>>2]<<1|0)|0;uk((c[j>>2]|0)+(c[(c[f>>2]|0)+288>>2]<<1)|0,(c[g>>2]|0)+(c[i>>2]<<1)|0,(c[h>>2]|0)-(c[(c[f>>2]|0)+284>>2]|0)<<1|0)|0}}uk((c[f>>2]|0)+168|0,(c[g>>2]|0)+((c[h>>2]|0)-(c[(c[f>>2]|0)+292>>2]|0)<<1)|0,c[(c[f>>2]|0)+292>>2]<<1|0)|0;l=k;return 0}function oh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+1968|0;g=q+1964|0;o=q+1960|0;k=q+1956|0;m=q+1952|0;n=q+1948|0;j=q+1944|0;p=q+1940|0;i=q+1936|0;h=q;c[g>>2]=a;c[o>>2]=d;c[k>>2]=e;c[m>>2]=f;d=c[g>>2]|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];while(1){c[n>>2]=(c[m>>2]|0)<480?c[m>>2]|0:480;qh((c[g>>2]|0)+16|0,h+16|0,c[k>>2]|0,25266,c[n>>2]|0);c[i>>2]=h;c[j>>2]=c[n>>2];while(1){if((c[j>>2]|0)<=2)break;d=S(c[c[i>>2]>>2]>>16,b[12635]|0)|0;c[p>>2]=d+((S(c[c[i>>2]>>2]&65535,b[12635]|0)|0)>>16);d=S(c[(c[i>>2]|0)+4>>2]>>16,b[12636]|0)|0;c[p>>2]=(c[p>>2]|0)+(d+((S(c[(c[i>>2]|0)+4>>2]&65535,b[12636]|0)|0)>>16));d=S(c[(c[i>>2]|0)+8>>2]>>16,b[12638]|0)|0;c[p>>2]=(c[p>>2]|0)+(d+((S(c[(c[i>>2]|0)+8>>2]&65535,b[12638]|0)|0)>>16));d=S(c[(c[i>>2]|0)+12>>2]>>16,b[12637]|0)|0;c[p>>2]=(c[p>>2]|0)+(d+((S(c[(c[i>>2]|0)+12>>2]&65535,b[12637]|0)|0)>>16));if(((c[p>>2]>>5)+1>>1|0)<=32767)if(((c[p>>2]>>5)+1>>1|0)<-32768)a=-32768;else a=(c[p>>2]>>5)+1>>1;else a=32767;d=c[o>>2]|0;c[o>>2]=d+2;b[d>>1]=a;d=S(c[(c[i>>2]|0)+4>>2]>>16,b[12637]|0)|0;c[p>>2]=d+((S(c[(c[i>>2]|0)+4>>2]&65535,b[12637]|0)|0)>>16);d=S(c[(c[i>>2]|0)+8>>2]>>16,b[12638]|0)|0;c[p>>2]=(c[p>>2]|0)+(d+((S(c[(c[i>>2]|0)+8>>2]&65535,b[12638]|0)|0)>>16));d=S(c[(c[i>>2]|0)+12>>2]>>16,b[12636]|0)|0;c[p>>2]=(c[p>>2]|0)+(d+((S(c[(c[i>>2]|0)+12>>2]&65535,b[12636]|0)|0)>>16));d=S(c[(c[i>>2]|0)+16>>2]>>16,b[12635]|0)|0;c[p>>2]=(c[p>>2]|0)+(d+((S(c[(c[i>>2]|0)+16>>2]&65535,b[12635]|0)|0)>>16));if(((c[p>>2]>>5)+1>>1|0)<=32767)if(((c[p>>2]>>5)+1>>1|0)<-32768)a=-32768;else a=(c[p>>2]>>5)+1>>1;else a=32767;d=c[o>>2]|0;c[o>>2]=d+2;b[d>>1]=a;c[i>>2]=(c[i>>2]|0)+12;c[j>>2]=(c[j>>2]|0)-3}c[k>>2]=(c[k>>2]|0)+(c[n>>2]<<1);c[m>>2]=(c[m>>2]|0)-(c[n>>2]|0);if((c[m>>2]|0)<=0)break;d=h+(c[n>>2]<<2)|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2]}p=c[g>>2]|0;o=h+(c[n>>2]<<2)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];l=q;return}function ph(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;g=q+36|0;o=q+32|0;j=q+28|0;r=q+24|0;m=q+20|0;n=q+16|0;k=q+12|0;p=q+8|0;i=q+4|0;h=q;c[g>>2]=a;c[o>>2]=d;c[j>>2]=e;c[r>>2]=f;c[n>>2]=c[r>>2]>>1;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[k>>2]=b[(c[j>>2]|0)+(c[m>>2]<<1<<1)>>1]<<10;c[i>>2]=(c[k>>2]|0)-(c[c[g>>2]>>2]|0);r=S(c[i>>2]>>16,-25727)|0;c[h>>2]=(c[i>>2]|0)+(r+((S(c[i>>2]&65535,-25727)|0)>>16));c[p>>2]=(c[c[g>>2]>>2]|0)+(c[h>>2]|0);c[c[g>>2]>>2]=(c[k>>2]|0)+(c[h>>2]|0);c[k>>2]=b[(c[j>>2]|0)+((c[m>>2]<<1)+1<<1)>>1]<<10;c[i>>2]=(c[k>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0);c[h>>2]=((c[i>>2]>>16)*9872|0)+((c[i>>2]&65535)*9872>>16);c[p>>2]=(c[p>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[h>>2]|0);c[(c[g>>2]|0)+4>>2]=(c[k>>2]|0)+(c[h>>2]|0);if(((c[p>>2]>>10)+1>>1|0)<=32767)if(((c[p>>2]>>10)+1>>1|0)<-32768)a=-32768;else a=(c[p>>2]>>10)+1>>1;else a=32767;b[(c[o>>2]|0)+(c[m>>2]<<1)>>1]=a;c[m>>2]=(c[m>>2]|0)+1}l=q;return}function qh(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+24|0;o=p+20|0;j=p+16|0;h=p+12|0;m=p+8|0;k=p+4|0;n=p;c[i>>2]=a;c[o>>2]=d;c[j>>2]=e;c[h>>2]=f;c[m>>2]=g;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;c[n>>2]=(c[c[i>>2]>>2]|0)+(b[(c[j>>2]|0)+(c[k>>2]<<1)>>1]<<8);c[(c[o>>2]|0)+(c[k>>2]<<2)>>2]=c[n>>2];c[n>>2]=c[n>>2]<<2;d=S(c[n>>2]>>16,b[c[h>>2]>>1]|0)|0;d=(c[(c[i>>2]|0)+4>>2]|0)+(d+((S(c[n>>2]&65535,b[c[h>>2]>>1]|0)|0)>>16))|0;c[c[i>>2]>>2]=d;d=S(c[n>>2]>>16,b[(c[h>>2]|0)+2>>1]|0)|0;d=d+((S(c[n>>2]&65535,b[(c[h>>2]|0)+2>>1]|0)|0)>>16)|0;c[(c[i>>2]|0)+4>>2]=d;c[k>>2]=(c[k>>2]|0)+1}l=p;return}function rh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;q=p+36|0;n=p+32|0;h=p+28|0;i=p+24|0;g=p+20|0;m=p+16|0;k=p+12|0;j=p+8|0;f=p+4|0;o=p;c[q>>2]=a;c[n>>2]=b;c[h>>2]=d;c[i>>2]=e;c[g>>2]=c[q>>2];b=(c[(c[g>>2]|0)+268>>2]|0)+(c[(c[g>>2]|0)+276>>2]|0)|0;c[o>>2]=la()|0;d=l;l=l+((1*(b<<2)|0)+15&-16)|0;uk(d|0,(c[g>>2]|0)+24|0,c[(c[g>>2]|0)+276>>2]<<2|0)|0;c[f>>2]=(c[(c[g>>2]|0)+296>>2]|0)+4;c[j>>2]=c[(c[g>>2]|0)+272>>2];while(1){if((c[i>>2]|0)<(c[(c[g>>2]|0)+268>>2]|0))a=c[i>>2]|0;else a=c[(c[g>>2]|0)+268>>2]|0;c[m>>2]=a;qh(c[g>>2]|0,d+(c[(c[g>>2]|0)+276>>2]<<2)|0,c[h>>2]|0,c[(c[g>>2]|0)+296>>2]|0,c[m>>2]|0);c[k>>2]=c[m>>2]<<16;c[n>>2]=sh(c[n>>2]|0,d,c[f>>2]|0,c[(c[g>>2]|0)+276>>2]|0,c[(c[g>>2]|0)+280>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(c[m>>2]<<1);c[i>>2]=(c[i>>2]|0)-(c[m>>2]|0);if((c[i>>2]|0)<=1)break;uk(d|0,d+(c[m>>2]<<2)|0,c[(c[g>>2]|0)+276>>2]<<2|0)|0}uk((c[g>>2]|0)+24|0,d+(c[m>>2]<<2)|0,c[(c[g>>2]|0)+276>>2]<<2|0)|0;ka(c[o>>2]|0);l=p;return}function sh(a,d,e,f,g,h,i){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;t=v+44|0;o=v+40|0;n=v+36|0;w=v+32|0;j=v+28|0;s=v+24|0;r=v+20|0;q=v+16|0;u=v+12|0;p=v+8|0;k=v+4|0;m=v;c[t>>2]=a;c[o>>2]=d;c[n>>2]=e;c[w>>2]=f;c[j>>2]=g;c[s>>2]=h;c[r>>2]=i;switch(c[w>>2]|0){case 18:{c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[s>>2]|0))break;c[p>>2]=(c[o>>2]|0)+(c[q>>2]>>16<<2);w=S((c[q>>2]&65535)>>16,(c[j>>2]&65535)<<16>>16)|0;c[k>>2]=w+((S(c[q>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16);c[m>>2]=(c[n>>2]|0)+((c[k>>2]|0)*9<<1);w=S(c[c[p>>2]>>2]>>16,b[c[m>>2]>>1]|0)|0;c[u>>2]=w+((S(c[c[p>>2]>>2]&65535,b[c[m>>2]>>1]|0)|0)>>16);w=S(c[(c[p>>2]|0)+4>>2]>>16,b[(c[m>>2]|0)+2>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S(c[(c[p>>2]|0)+4>>2]&65535,b[(c[m>>2]|0)+2>>1]|0)|0)>>16));w=S(c[(c[p>>2]|0)+8>>2]>>16,b[(c[m>>2]|0)+4>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S(c[(c[p>>2]|0)+8>>2]&65535,b[(c[m>>2]|0)+4>>1]|0)|0)>>16));w=S(c[(c[p>>2]|0)+12>>2]>>16,b[(c[m>>2]|0)+6>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S(c[(c[p>>2]|0)+12>>2]&65535,b[(c[m>>2]|0)+6>>1]|0)|0)>>16));w=S(c[(c[p>>2]|0)+16>>2]>>16,b[(c[m>>2]|0)+8>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S(c[(c[p>>2]|0)+16>>2]&65535,b[(c[m>>2]|0)+8>>1]|0)|0)>>16));w=S(c[(c[p>>2]|0)+20>>2]>>16,b[(c[m>>2]|0)+10>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S(c[(c[p>>2]|0)+20>>2]&65535,b[(c[m>>2]|0)+10>>1]|0)|0)>>16));w=S(c[(c[p>>2]|0)+24>>2]>>16,b[(c[m>>2]|0)+12>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S(c[(c[p>>2]|0)+24>>2]&65535,b[(c[m>>2]|0)+12>>1]|0)|0)>>16));w=S(c[(c[p>>2]|0)+28>>2]>>16,b[(c[m>>2]|0)+14>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S(c[(c[p>>2]|0)+28>>2]&65535,b[(c[m>>2]|0)+14>>1]|0)|0)>>16));w=S(c[(c[p>>2]|0)+32>>2]>>16,b[(c[m>>2]|0)+16>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S(c[(c[p>>2]|0)+32>>2]&65535,b[(c[m>>2]|0)+16>>1]|0)|0)>>16));c[m>>2]=(c[n>>2]|0)+(((c[j>>2]|0)-1-(c[k>>2]|0)|0)*9<<1);w=S(c[(c[p>>2]|0)+68>>2]>>16,b[c[m>>2]>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S(c[(c[p>>2]|0)+68>>2]&65535,b[c[m>>2]>>1]|0)|0)>>16));w=S(c[(c[p>>2]|0)+64>>2]>>16,b[(c[m>>2]|0)+2>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S(c[(c[p>>2]|0)+64>>2]&65535,b[(c[m>>2]|0)+2>>1]|0)|0)>>16));w=S(c[(c[p>>2]|0)+60>>2]>>16,b[(c[m>>2]|0)+4>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S(c[(c[p>>2]|0)+60>>2]&65535,b[(c[m>>2]|0)+4>>1]|0)|0)>>16));w=S(c[(c[p>>2]|0)+56>>2]>>16,b[(c[m>>2]|0)+6>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S(c[(c[p>>2]|0)+56>>2]&65535,b[(c[m>>2]|0)+6>>1]|0)|0)>>16));w=S(c[(c[p>>2]|0)+52>>2]>>16,b[(c[m>>2]|0)+8>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S(c[(c[p>>2]|0)+52>>2]&65535,b[(c[m>>2]|0)+8>>1]|0)|0)>>16));w=S(c[(c[p>>2]|0)+48>>2]>>16,b[(c[m>>2]|0)+10>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S(c[(c[p>>2]|0)+48>>2]&65535,b[(c[m>>2]|0)+10>>1]|0)|0)>>16));w=S(c[(c[p>>2]|0)+44>>2]>>16,b[(c[m>>2]|0)+12>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S(c[(c[p>>2]|0)+44>>2]&65535,b[(c[m>>2]|0)+12>>1]|0)|0)>>16));w=S(c[(c[p>>2]|0)+40>>2]>>16,b[(c[m>>2]|0)+14>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S(c[(c[p>>2]|0)+40>>2]&65535,b[(c[m>>2]|0)+14>>1]|0)|0)>>16));w=S(c[(c[p>>2]|0)+36>>2]>>16,b[(c[m>>2]|0)+16>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S(c[(c[p>>2]|0)+36>>2]&65535,b[(c[m>>2]|0)+16>>1]|0)|0)>>16));if(((c[u>>2]>>5)+1>>1|0)<=32767)if(((c[u>>2]>>5)+1>>1|0)<-32768)e=-32768;else e=(c[u>>2]>>5)+1>>1;else e=32767;w=c[t>>2]|0;c[t>>2]=w+2;b[w>>1]=e;c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0)}w=c[t>>2]|0;l=v;return w|0}case 24:{c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[s>>2]|0))break;c[p>>2]=(c[o>>2]|0)+(c[q>>2]>>16<<2);w=S((c[c[p>>2]>>2]|0)+(c[(c[p>>2]|0)+92>>2]|0)>>16,b[c[n>>2]>>1]|0)|0;c[u>>2]=w+((S((c[c[p>>2]>>2]|0)+(c[(c[p>>2]|0)+92>>2]|0)&65535,b[c[n>>2]>>1]|0)|0)>>16);w=S((c[(c[p>>2]|0)+4>>2]|0)+(c[(c[p>>2]|0)+88>>2]|0)>>16,b[(c[n>>2]|0)+2>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+4>>2]|0)+(c[(c[p>>2]|0)+88>>2]|0)&65535,b[(c[n>>2]|0)+2>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+8>>2]|0)+(c[(c[p>>2]|0)+84>>2]|0)>>16,b[(c[n>>2]|0)+4>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+8>>2]|0)+(c[(c[p>>2]|0)+84>>2]|0)&65535,b[(c[n>>2]|0)+4>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+12>>2]|0)+(c[(c[p>>2]|0)+80>>2]|0)>>16,b[(c[n>>2]|0)+6>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+12>>2]|0)+(c[(c[p>>2]|0)+80>>2]|0)&65535,b[(c[n>>2]|0)+6>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+76>>2]|0)>>16,b[(c[n>>2]|0)+8>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+76>>2]|0)&65535,b[(c[n>>2]|0)+8>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+20>>2]|0)+(c[(c[p>>2]|0)+72>>2]|0)>>16,b[(c[n>>2]|0)+10>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+20>>2]|0)+(c[(c[p>>2]|0)+72>>2]|0)&65535,b[(c[n>>2]|0)+10>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+24>>2]|0)+(c[(c[p>>2]|0)+68>>2]|0)>>16,b[(c[n>>2]|0)+12>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+24>>2]|0)+(c[(c[p>>2]|0)+68>>2]|0)&65535,b[(c[n>>2]|0)+12>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+28>>2]|0)+(c[(c[p>>2]|0)+64>>2]|0)>>16,b[(c[n>>2]|0)+14>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+28>>2]|0)+(c[(c[p>>2]|0)+64>>2]|0)&65535,b[(c[n>>2]|0)+14>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+32>>2]|0)+(c[(c[p>>2]|0)+60>>2]|0)>>16,b[(c[n>>2]|0)+16>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+32>>2]|0)+(c[(c[p>>2]|0)+60>>2]|0)&65535,b[(c[n>>2]|0)+16>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+36>>2]|0)+(c[(c[p>>2]|0)+56>>2]|0)>>16,b[(c[n>>2]|0)+18>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+36>>2]|0)+(c[(c[p>>2]|0)+56>>2]|0)&65535,b[(c[n>>2]|0)+18>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+40>>2]|0)+(c[(c[p>>2]|0)+52>>2]|0)>>16,b[(c[n>>2]|0)+20>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+40>>2]|0)+(c[(c[p>>2]|0)+52>>2]|0)&65535,b[(c[n>>2]|0)+20>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+44>>2]|0)+(c[(c[p>>2]|0)+48>>2]|0)>>16,b[(c[n>>2]|0)+22>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+44>>2]|0)+(c[(c[p>>2]|0)+48>>2]|0)&65535,b[(c[n>>2]|0)+22>>1]|0)|0)>>16));if(((c[u>>2]>>5)+1>>1|0)<=32767)if(((c[u>>2]>>5)+1>>1|0)<-32768)e=-32768;else e=(c[u>>2]>>5)+1>>1;else e=32767;w=c[t>>2]|0;c[t>>2]=w+2;b[w>>1]=e;c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0)}w=c[t>>2]|0;l=v;return w|0}case 36:{c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[s>>2]|0))break;c[p>>2]=(c[o>>2]|0)+(c[q>>2]>>16<<2);w=S((c[c[p>>2]>>2]|0)+(c[(c[p>>2]|0)+140>>2]|0)>>16,b[c[n>>2]>>1]|0)|0;c[u>>2]=w+((S((c[c[p>>2]>>2]|0)+(c[(c[p>>2]|0)+140>>2]|0)&65535,b[c[n>>2]>>1]|0)|0)>>16);w=S((c[(c[p>>2]|0)+4>>2]|0)+(c[(c[p>>2]|0)+136>>2]|0)>>16,b[(c[n>>2]|0)+2>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+4>>2]|0)+(c[(c[p>>2]|0)+136>>2]|0)&65535,b[(c[n>>2]|0)+2>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+8>>2]|0)+(c[(c[p>>2]|0)+132>>2]|0)>>16,b[(c[n>>2]|0)+4>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+8>>2]|0)+(c[(c[p>>2]|0)+132>>2]|0)&65535,b[(c[n>>2]|0)+4>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+12>>2]|0)+(c[(c[p>>2]|0)+128>>2]|0)>>16,b[(c[n>>2]|0)+6>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+12>>2]|0)+(c[(c[p>>2]|0)+128>>2]|0)&65535,b[(c[n>>2]|0)+6>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+124>>2]|0)>>16,b[(c[n>>2]|0)+8>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+124>>2]|0)&65535,b[(c[n>>2]|0)+8>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+20>>2]|0)+(c[(c[p>>2]|0)+120>>2]|0)>>16,b[(c[n>>2]|0)+10>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+20>>2]|0)+(c[(c[p>>2]|0)+120>>2]|0)&65535,b[(c[n>>2]|0)+10>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+24>>2]|0)+(c[(c[p>>2]|0)+116>>2]|0)>>16,b[(c[n>>2]|0)+12>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+24>>2]|0)+(c[(c[p>>2]|0)+116>>2]|0)&65535,b[(c[n>>2]|0)+12>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+28>>2]|0)+(c[(c[p>>2]|0)+112>>2]|0)>>16,b[(c[n>>2]|0)+14>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+28>>2]|0)+(c[(c[p>>2]|0)+112>>2]|0)&65535,b[(c[n>>2]|0)+14>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+32>>2]|0)+(c[(c[p>>2]|0)+108>>2]|0)>>16,b[(c[n>>2]|0)+16>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+32>>2]|0)+(c[(c[p>>2]|0)+108>>2]|0)&65535,b[(c[n>>2]|0)+16>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+36>>2]|0)+(c[(c[p>>2]|0)+104>>2]|0)>>16,b[(c[n>>2]|0)+18>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+36>>2]|0)+(c[(c[p>>2]|0)+104>>2]|0)&65535,b[(c[n>>2]|0)+18>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+40>>2]|0)+(c[(c[p>>2]|0)+100>>2]|0)>>16,b[(c[n>>2]|0)+20>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+40>>2]|0)+(c[(c[p>>2]|0)+100>>2]|0)&65535,b[(c[n>>2]|0)+20>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+44>>2]|0)+(c[(c[p>>2]|0)+96>>2]|0)>>16,b[(c[n>>2]|0)+22>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+44>>2]|0)+(c[(c[p>>2]|0)+96>>2]|0)&65535,b[(c[n>>2]|0)+22>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+48>>2]|0)+(c[(c[p>>2]|0)+92>>2]|0)>>16,b[(c[n>>2]|0)+24>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+48>>2]|0)+(c[(c[p>>2]|0)+92>>2]|0)&65535,b[(c[n>>2]|0)+24>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+52>>2]|0)+(c[(c[p>>2]|0)+88>>2]|0)>>16,b[(c[n>>2]|0)+26>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+52>>2]|0)+(c[(c[p>>2]|0)+88>>2]|0)&65535,b[(c[n>>2]|0)+26>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+84>>2]|0)>>16,b[(c[n>>2]|0)+28>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+84>>2]|0)&65535,b[(c[n>>2]|0)+28>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+60>>2]|0)+(c[(c[p>>2]|0)+80>>2]|0)>>16,b[(c[n>>2]|0)+30>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+60>>2]|0)+(c[(c[p>>2]|0)+80>>2]|0)&65535,b[(c[n>>2]|0)+30>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+64>>2]|0)+(c[(c[p>>2]|0)+76>>2]|0)>>16,b[(c[n>>2]|0)+32>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+64>>2]|0)+(c[(c[p>>2]|0)+76>>2]|0)&65535,b[(c[n>>2]|0)+32>>1]|0)|0)>>16));w=S((c[(c[p>>2]|0)+68>>2]|0)+(c[(c[p>>2]|0)+72>>2]|0)>>16,b[(c[n>>2]|0)+34>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((S((c[(c[p>>2]|0)+68>>2]|0)+(c[(c[p>>2]|0)+72>>2]|0)&65535,b[(c[n>>2]|0)+34>>1]|0)|0)>>16));if(((c[u>>2]>>5)+1>>1|0)<=32767)if(((c[u>>2]>>5)+1>>1|0)<-32768)e=-32768;else e=(c[u>>2]>>5)+1>>1;else e=32767;w=c[t>>2]|0;c[t>>2]=w+2;b[w>>1]=e;c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0)}w=c[t>>2]|0;l=v;return w|0}default:{w=c[t>>2]|0;l=v;return w|0}}return 0}function th(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;q=p+32|0;n=p+28|0;h=p+24|0;i=p+20|0;g=p+16|0;m=p+12|0;k=p+8|0;j=p+4|0;o=p;c[q>>2]=a;c[n>>2]=d;c[h>>2]=e;c[i>>2]=f;c[g>>2]=c[q>>2];d=(c[(c[g>>2]|0)+268>>2]<<1)+8|0;c[o>>2]=la()|0;e=l;l=l+((1*(d<<1)|0)+15&-16)|0;d=(c[g>>2]|0)+24|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;b[e+4>>1]=b[d+4>>1]|0;b[e+6>>1]=b[d+6>>1]|0;b[e+8>>1]=b[d+8>>1]|0;b[e+10>>1]=b[d+10>>1]|0;b[e+12>>1]=b[d+12>>1]|0;b[e+14>>1]=b[d+14>>1]|0;c[j>>2]=c[(c[g>>2]|0)+272>>2];while(1){if((c[i>>2]|0)<(c[(c[g>>2]|0)+268>>2]|0))a=c[i>>2]|0;else a=c[(c[g>>2]|0)+268>>2]|0;c[m>>2]=a;vh(c[g>>2]|0,e+16|0,c[h>>2]|0,c[m>>2]|0);c[k>>2]=c[m>>2]<<17;c[n>>2]=uh(c[n>>2]|0,e,c[k>>2]|0,c[j>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(c[m>>2]<<1);c[i>>2]=(c[i>>2]|0)-(c[m>>2]|0);if((c[i>>2]|0)<=0)break;q=e+(c[m>>2]<<1<<1)|0;b[e>>1]=b[q>>1]|0;b[e+2>>1]=b[q+2>>1]|0;b[e+4>>1]=b[q+4>>1]|0;b[e+6>>1]=b[q+6>>1]|0;b[e+8>>1]=b[q+8>>1]|0;b[e+10>>1]=b[q+10>>1]|0;b[e+12>>1]=b[q+12>>1]|0;b[e+14>>1]=b[q+14>>1]|0}q=(c[g>>2]|0)+24|0;n=e+(c[m>>2]<<1<<1)|0;b[q>>1]=b[n>>1]|0;b[q+2>>1]=b[n+2>>1]|0;b[q+4>>1]=b[n+4>>1]|0;b[q+6>>1]=b[n+6>>1]|0;b[q+8>>1]=b[n+8>>1]|0;b[q+10>>1]=b[n+10>>1]|0;b[q+12>>1]=b[n+12>>1]|0;b[q+14>>1]=b[n+14>>1]|0;ka(c[o>>2]|0);l=p;return}function uh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p+28|0;g=p+24|0;k=p+20|0;j=p+16|0;i=p+12|0;n=p+8|0;h=p+4|0;o=p;c[m>>2]=a;c[g>>2]=d;c[k>>2]=e;c[j>>2]=f;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[k>>2]|0))break;c[o>>2]=(((c[i>>2]&65535)>>16)*12|0)+((c[i>>2]&65535)*12>>16);c[h>>2]=(c[g>>2]|0)+(c[i>>2]>>16<<1);c[n>>2]=S(b[c[h>>2]>>1]|0,b[25278+(c[o>>2]<<3)>>1]|0)|0;c[n>>2]=(c[n>>2]|0)+(S(b[(c[h>>2]|0)+2>>1]|0,b[25278+(c[o>>2]<<3)+2>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+(S(b[(c[h>>2]|0)+4>>1]|0,b[25278+(c[o>>2]<<3)+4>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+(S(b[(c[h>>2]|0)+6>>1]|0,b[25278+(c[o>>2]<<3)+6>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+(S(b[(c[h>>2]|0)+8>>1]|0,b[25278+(11-(c[o>>2]|0)<<3)+6>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+(S(b[(c[h>>2]|0)+10>>1]|0,b[25278+(11-(c[o>>2]|0)<<3)+4>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+(S(b[(c[h>>2]|0)+12>>1]|0,b[25278+(11-(c[o>>2]|0)<<3)+2>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+(S(b[(c[h>>2]|0)+14>>1]|0,b[25278+(11-(c[o>>2]|0)<<3)>>1]|0)|0);if(((c[n>>2]>>14)+1>>1|0)<=32767)if(((c[n>>2]>>14)+1>>1|0)<-32768)d=-32768;else d=(c[n>>2]>>14)+1>>1;else d=32767;a=c[m>>2]|0;c[m>>2]=a+2;b[a>>1]=d;c[i>>2]=(c[i>>2]|0)+(c[j>>2]|0)}l=p;return c[m>>2]|0}function vh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;g=r+36|0;o=r+32|0;j=r+28|0;n=r+24|0;m=r+20|0;k=r+16|0;p=r+12|0;q=r+8|0;i=r+4|0;h=r;c[g>>2]=a;c[o>>2]=d;c[j>>2]=e;c[n>>2]=f;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[k>>2]=b[(c[j>>2]|0)+(c[m>>2]<<1)>>1]<<10;c[i>>2]=(c[k>>2]|0)-(c[c[g>>2]>>2]|0);d=S(c[i>>2]>>16,b[12504]|0)|0;c[h>>2]=d+((S(c[i>>2]&65535,b[12504]|0)|0)>>16);c[p>>2]=(c[c[g>>2]>>2]|0)+(c[h>>2]|0);c[c[g>>2]>>2]=(c[k>>2]|0)+(c[h>>2]|0);c[i>>2]=(c[p>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0);d=S(c[i>>2]>>16,b[12505]|0)|0;c[h>>2]=d+((S(c[i>>2]&65535,b[12505]|0)|0)>>16);c[q>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]|0);c[(c[g>>2]|0)+4>>2]=(c[p>>2]|0)+(c[h>>2]|0);c[i>>2]=(c[q>>2]|0)-(c[(c[g>>2]|0)+8>>2]|0);d=S(c[i>>2]>>16,b[12506]|0)|0;c[h>>2]=(c[i>>2]|0)+(d+((S(c[i>>2]&65535,b[12506]|0)|0)>>16));c[p>>2]=(c[(c[g>>2]|0)+8>>2]|0)+(c[h>>2]|0);c[(c[g>>2]|0)+8>>2]=(c[q>>2]|0)+(c[h>>2]|0);if(((c[p>>2]>>9)+1>>1|0)<=32767)if(((c[p>>2]>>9)+1>>1|0)<-32768)a=-32768;else a=(c[p>>2]>>9)+1>>1;else a=32767;b[(c[o>>2]|0)+(c[m>>2]<<1<<1)>>1]=a;c[i>>2]=(c[k>>2]|0)-(c[(c[g>>2]|0)+12>>2]|0);d=S(c[i>>2]>>16,b[12507]|0)|0;c[h>>2]=d+((S(c[i>>2]&65535,b[12507]|0)|0)>>16);c[p>>2]=(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]|0);c[(c[g>>2]|0)+12>>2]=(c[k>>2]|0)+(c[h>>2]|0);c[i>>2]=(c[p>>2]|0)-(c[(c[g>>2]|0)+16>>2]|0);d=S(c[i>>2]>>16,b[12508]|0)|0;c[h>>2]=d+((S(c[i>>2]&65535,b[12508]|0)|0)>>16);c[q>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]|0);c[(c[g>>2]|0)+16>>2]=(c[p>>2]|0)+(c[h>>2]|0);c[i>>2]=(c[q>>2]|0)-(c[(c[g>>2]|0)+20>>2]|0);d=S(c[i>>2]>>16,b[12509]|0)|0;c[h>>2]=(c[i>>2]|0)+(d+((S(c[i>>2]&65535,b[12509]|0)|0)>>16));c[p>>2]=(c[(c[g>>2]|0)+20>>2]|0)+(c[h>>2]|0);c[(c[g>>2]|0)+20>>2]=(c[q>>2]|0)+(c[h>>2]|0);if(((c[p>>2]>>9)+1>>1|0)<=32767)if(((c[p>>2]>>9)+1>>1|0)<-32768)a=-32768;else a=(c[p>>2]>>9)+1>>1;else a=32767;b[(c[o>>2]|0)+((c[m>>2]<<1)+1<<1)>>1]=a;c[m>>2]=(c[m>>2]|0)+1}l=r;return}function wh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+32|0;k=f+16|0;i=f+12|0;h=f+8|0;g=f+4|0;j=f;c[k>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;c[j>>2]=c[k>>2];vh(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0);l=f;return}function xh(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f+8|0;b=f+4|0;d=f;c[b>>2]=a;a=c[b>>2]|0;if((c[b>>2]|0)<0){c[b>>2]=0-a;if((c[b>>2]|0)>=192){c[e>>2]=0;e=c[e>>2]|0;l=f;return e|0}else{c[d>>2]=c[b>>2]>>5;c[e>>2]=(c[17952+(c[d>>2]<<2)>>2]|0)-(S((c[17976+(c[d>>2]<<2)>>2]&65535)<<16>>16,(c[b>>2]&31)<<16>>16)|0);e=c[e>>2]|0;l=f;return e|0}}else if((a|0)>=192){c[e>>2]=32767;e=c[e>>2]|0;l=f;return e|0}else{c[d>>2]=c[b>>2]>>5;c[e>>2]=(c[18e3+(c[d>>2]<<2)>>2]|0)+(S((c[17976+(c[d>>2]<<2)>>2]&65535)<<16>>16,(c[b>>2]&31)<<16>>16)|0);e=c[e>>2]|0;l=f;return e|0}return 0}function yh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+24|0;j=n+20|0;g=n+16|0;f=n+12|0;m=n+8|0;i=n+4|0;k=n;c[h>>2]=a;c[j>>2]=b;c[g>>2]=d;c[f>>2]=e;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[f>>2]|0))break;c[(c[j>>2]|0)+(c[i>>2]<<2)>>2]=c[i>>2];c[i>>2]=(c[i>>2]|0)+1}c[i>>2]=1;while(1){if((c[i>>2]|0)>=(c[f>>2]|0))break;c[m>>2]=c[(c[h>>2]|0)+(c[i>>2]<<2)>>2];c[k>>2]=(c[i>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;if((c[m>>2]|0)>=(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0))break;c[(c[h>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[j>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[(c[j>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+-1}c[(c[h>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[m>>2];c[(c[j>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[i>>2];c[i>>2]=(c[i>>2]|0)+1}c[i>>2]=c[f>>2];while(1){if((c[i>>2]|0)>=(c[g>>2]|0))break;c[m>>2]=c[(c[h>>2]|0)+(c[i>>2]<<2)>>2];if((c[m>>2]|0)<(c[(c[h>>2]|0)+((c[f>>2]|0)-1<<2)>>2]|0)){c[k>>2]=(c[f>>2]|0)-2;while(1){if((c[k>>2]|0)<0)break;if((c[m>>2]|0)>=(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0))break;c[(c[h>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[j>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[(c[j>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+-1}c[(c[h>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[m>>2];c[(c[j>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[i>>2]}c[i>>2]=(c[i>>2]|0)+1}l=n;return}function zh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;f=j+16|0;e=j+12|0;i=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=d;c[g>>2]=1;while(1){if((c[g>>2]|0)>=(c[e>>2]|0))break;c[i>>2]=b[(c[f>>2]|0)+(c[g>>2]<<1)>>1];c[h>>2]=(c[g>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;if((c[i>>2]|0)>=(b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0))break;b[(c[f>>2]|0)+((c[h>>2]|0)+1<<1)>>1]=b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0;c[h>>2]=(c[h>>2]|0)+-1}b[(c[f>>2]|0)+((c[h>>2]|0)+1<<1)>>1]=c[i>>2];c[g>>2]=(c[g>>2]|0)+1}l=j;return}function Ah(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;g=p+28|0;n=p+24|0;o=p+20|0;i=p+16|0;h=p+12|0;m=p+8|0;k=p+4|0;j=p;c[g>>2]=a;c[n>>2]=d;c[o>>2]=e;c[i>>2]=f;c[m>>2]=31-(Bh(c[i>>2]|0)|0);c[j>>2]=c[i>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=((c[i>>2]|0)-1|0))break;c[k>>2]=S(b[(c[o>>2]|0)+(c[h>>2]<<1)>>1]|0,b[(c[o>>2]|0)+(c[h>>2]<<1)>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(S(b[(c[o>>2]|0)+((c[h>>2]|0)+1<<1)>>1]|0,b[(c[o>>2]|0)+((c[h>>2]|0)+1<<1)>>1]|0)|0);c[j>>2]=(c[j>>2]|0)+((c[k>>2]|0)>>>(c[m>>2]|0));c[h>>2]=(c[h>>2]|0)+2}if((c[h>>2]|0)<(c[i>>2]|0)){c[k>>2]=S(b[(c[o>>2]|0)+(c[h>>2]<<1)>>1]|0,b[(c[o>>2]|0)+(c[h>>2]<<1)>>1]|0)|0;c[j>>2]=(c[j>>2]|0)+((c[k>>2]|0)>>>(c[m>>2]|0))}e=(c[m>>2]|0)+3|0;c[m>>2]=Ch(0,e-(Bh(c[j>>2]|0)|0)|0)|0;c[j>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=((c[i>>2]|0)-1|0))break;c[k>>2]=S(b[(c[o>>2]|0)+(c[h>>2]<<1)>>1]|0,b[(c[o>>2]|0)+(c[h>>2]<<1)>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(S(b[(c[o>>2]|0)+((c[h>>2]|0)+1<<1)>>1]|0,b[(c[o>>2]|0)+((c[h>>2]|0)+1<<1)>>1]|0)|0);c[j>>2]=(c[j>>2]|0)+((c[k>>2]|0)>>>(c[m>>2]|0));c[h>>2]=(c[h>>2]|0)+2}if((c[h>>2]|0)>=(c[i>>2]|0)){o=c[m>>2]|0;e=c[n>>2]|0;c[e>>2]=o;e=c[j>>2]|0;o=c[g>>2]|0;c[o>>2]=e;l=p;return}c[k>>2]=S(b[(c[o>>2]|0)+(c[h>>2]<<1)>>1]|0,b[(c[o>>2]|0)+(c[h>>2]<<1)>>1]|0)|0;c[j>>2]=(c[j>>2]|0)+((c[k>>2]|0)>>>(c[m>>2]|0));o=c[m>>2]|0;e=c[n>>2]|0;c[e>>2]=o;e=c[j>>2]|0;o=c[g>>2]|0;c[o>>2]=e;l=p;return}function Bh(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(V(c[b>>2]|0)|0))|0;l=d;return b|0}function Ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Dh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;i=k+40|0;h=k+36|0;g=k+32|0;e=k+8|0;f=k+4|0;j=k;c[i>>2]=a;c[h>>2]=d;c[g>>2]=kd(c[i>>2]|0,29167,8)|0;c[e+8>>2]=(c[g>>2]|0)/5|0;c[e+12+8>>2]=(c[g>>2]|0)-((c[e+8>>2]|0)*5|0);c[g>>2]=0;while(1){if((c[g>>2]|0)>=2)break;a=kd(c[i>>2]|0,29220,8)|0;c[e+((c[g>>2]|0)*12|0)>>2]=a;a=kd(c[i>>2]|0,29227,8)|0;c[e+((c[g>>2]|0)*12|0)+4>>2]=a;c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=0;while(1){if((c[g>>2]|0)>=2)break;i=e+((c[g>>2]|0)*12|0)|0;c[i>>2]=(c[i>>2]|0)+((c[e+((c[g>>2]|0)*12|0)+8>>2]|0)*3|0);c[f>>2]=b[24704+(c[e+((c[g>>2]|0)*12|0)>>2]<<1)>>1];c[j>>2]=(((b[24704+((c[e+((c[g>>2]|0)*12|0)>>2]|0)+1<<1)>>1]|0)-(c[f>>2]|0)>>16)*6554|0)+(((b[24704+((c[e+((c[g>>2]|0)*12|0)>>2]|0)+1<<1)>>1]|0)-(c[f>>2]|0)&65535)*6554>>16);i=(c[f>>2]|0)+(S((c[j>>2]&65535)<<16>>16,((c[e+((c[g>>2]|0)*12|0)+4>>2]<<1)+1&65535)<<16>>16)|0)|0;c[(c[h>>2]|0)+(c[g>>2]<<2)>>2]=i;c[g>>2]=(c[g>>2]|0)+1}j=c[h>>2]|0;c[j>>2]=(c[j>>2]|0)-(c[(c[h>>2]|0)+4>>2]|0);l=k;return}function Eh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=kd(c[f>>2]|0,29192,8)|0;c[c[e>>2]>>2]=a;l=d;return}function Fh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;e=h+4|0;f=h;c[g>>2]=b;c[e>>2]=d;c[f>>2]=((a[(c[e>>2]|0)+2>>0]|0)*5|0)+(a[(c[e>>2]|0)+3+2>>0]|0);wd(c[g>>2]|0,c[f>>2]|0,29167,8);c[f>>2]=0;while(1){if((c[f>>2]|0)>=2)break;wd(c[g>>2]|0,a[(c[e>>2]|0)+((c[f>>2]|0)*3|0)>>0]|0,29220,8);wd(c[g>>2]|0,a[(c[e>>2]|0)+((c[f>>2]|0)*3|0)+1>>0]|0,29227,8);c[f>>2]=(c[f>>2]|0)+1}l=h;return}function Gh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;wd(c[g>>2]|0,a[f>>0]|0,29192,8);l=e;return}function Hh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=l;l=l+64|0;q=r+52|0;u=r+48|0;t=r+44|0;o=r+40|0;s=r+36|0;n=r+32|0;m=r+28|0;v=r+24|0;w=r+20|0;i=r+16|0;j=r+12|0;h=r+8|0;p=r+4|0;k=r;c[q>>2]=a;c[u>>2]=b;c[t>>2]=d;c[o>>2]=e;c[s>>2]=f;c[n>>2]=g;Ah(i,v,c[u>>2]|0,c[s>>2]|0);Ah(j,w,c[t>>2]|0,c[s>>2]|0);c[m>>2]=Ih(c[v>>2]|0,c[w>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[m>>2]&1);c[j>>2]=c[j>>2]>>(c[m>>2]|0)-(c[w>>2]|0);c[i>>2]=c[i>>2]>>(c[m>>2]|0)-(c[v>>2]|0);c[i>>2]=Ih(c[i>>2]|0,1)|0;c[h>>2]=Vg(c[u>>2]|0,c[t>>2]|0,c[m>>2]|0,c[s>>2]|0)|0;c[p>>2]=Jh(c[h>>2]|0,c[i>>2]|0,13)|0;if((c[p>>2]|0)>16384)f=16384;else f=(c[p>>2]|0)<-16384?-16384:c[p>>2]|0;c[p>>2]=f;w=S(c[p>>2]>>16,(c[p>>2]&65535)<<16>>16)|0;c[k>>2]=w+((S(c[p>>2]&65535,(c[p>>2]&65535)<<16>>16)|0)>>16);w=c[k>>2]|0;c[n>>2]=Ih(c[n>>2]|0,(c[k>>2]|0)>0?w:0-w|0)|0;c[m>>2]=c[m>>2]>>1;w=c[c[o>>2]>>2]|0;v=Kh(c[i>>2]|0)|0;v=S((v<<c[m>>2])-(c[c[o>>2]>>2]|0)>>16,(c[n>>2]&65535)<<16>>16)|0;u=Kh(c[i>>2]|0)|0;u=w+(v+((S((u<<c[m>>2])-(c[c[o>>2]>>2]|0)&65535,(c[n>>2]&65535)<<16>>16)|0)>>16))|0;c[c[o>>2]>>2]=u;u=S(c[h>>2]>>16,(c[p>>2]&65535)<<16>>16)|0;c[j>>2]=(c[j>>2]|0)-(u+((S(c[h>>2]&65535,(c[p>>2]&65535)<<16>>16)|0)>>16)<<4);u=S(c[i>>2]>>16,(c[k>>2]&65535)<<16>>16)|0;c[j>>2]=(c[j>>2]|0)+(u+((S(c[i>>2]&65535,(c[k>>2]&65535)<<16>>16)|0)>>16)<<6);u=c[(c[o>>2]|0)+4>>2]|0;v=Kh(c[j>>2]|0)|0;v=S((v<<c[m>>2])-(c[(c[o>>2]|0)+4>>2]|0)>>16,(c[n>>2]&65535)<<16>>16)|0;w=Kh(c[j>>2]|0)|0;w=u+(v+((S((w<<c[m>>2])-(c[(c[o>>2]|0)+4>>2]|0)&65535,(c[n>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[o>>2]|0)+4>>2]=w;if((c[c[o>>2]>>2]|0)>1)f=c[c[o>>2]>>2]|0;else f=1;w=Jh(c[(c[o>>2]|0)+4>>2]|0,f,14)|0;c[c[q>>2]>>2]=w;if((c[c[q>>2]>>2]|0)>32767){v=32767;w=c[q>>2]|0;c[w>>2]=v;w=c[p>>2]|0;l=r;return w|0}if((c[c[q>>2]>>2]|0)<0){v=0;w=c[q>>2]|0;c[w>>2]=v;w=c[p>>2]|0;l=r;return w|0}v=c[c[q>>2]>>2]|0;w=c[q>>2]|0;c[w>>2]=v;w=c[p>>2]|0;l=r;return w|0}function Ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Jh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;h=l;l=l+48|0;g=h+40|0;q=h+36|0;p=h+32|0;i=h+28|0;k=h+24|0;j=h+20|0;f=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;e=h;c[q>>2]=a;c[p>>2]=b;c[i>>2]=d;b=c[q>>2]|0;c[k>>2]=(Mh((c[q>>2]|0)>0?b:0-b|0)|0)-1;c[n>>2]=c[q>>2]<<c[k>>2];b=c[p>>2]|0;c[j>>2]=(Mh((c[p>>2]|0)>0?b:0-b|0)|0)-1;c[o>>2]=c[p>>2]<<c[j>>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;b=S(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=b+((S(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);b=c[n>>2]|0;a=c[o>>2]|0;d=c[e>>2]|0;d=rk(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=sk(d|0,D|0,32)|0;c[n>>2]=b-(d<<3);d=S(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(d+((S(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[f>>2]=29+(c[k>>2]|0)-(c[j>>2]|0)-(c[i>>2]|0);d=c[f>>2]|0;if((c[f>>2]|0)>=0)if((d|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];q=c[g>>2]|0;l=h;return q|0}else{c[g>>2]=0;q=c[g>>2]|0;l=h;return q|0}a=c[e>>2]|0;b=0-(c[f>>2]|0)|0;do if((-2147483648>>0-d|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>b|0)){d=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){d=2147483647>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>b|0)){d=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){d=-2147483648>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}while(0);c[g>>2]=d<<0-(c[f>>2]|0);q=c[g>>2]|0;l=h;return q|0}function Kh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+16|0;f=h+12|0;g=h+8|0;d=h+4|0;b=h;c[f>>2]=a;if((c[f>>2]|0)<=0){c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}Lh(c[f>>2]|0,d,b);if(c[d>>2]&1|0)c[g>>2]=32768;else c[g>>2]=46214;c[g>>2]=c[g>>2]>>(c[d>>2]>>1);f=S(c[g>>2]>>16,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[g>>2]=(c[g>>2]|0)+(f+((S(c[g>>2]&65535,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[e>>2]=c[g>>2];g=c[e>>2]|0;l=h;return g|0}function Lh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=Mh(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];b=(Nh(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;l=e;return}function Mh(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(V(c[b>>2]|0)|0))|0;l=d;return b|0}function Nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+20|0;d=j+16|0;h=j+12|0;i=j+8|0;f=j+4|0;e=j;c[d>>2]=a;c[h>>2]=b;c[i>>2]=c[d>>2];c[f>>2]=c[h>>2];c[e>>2]=0-(c[h>>2]|0);if(!(c[h>>2]|0)){c[g>>2]=c[d>>2];i=c[g>>2]|0;l=j;return i|0}a=c[i>>2]|0;if((c[h>>2]|0)<0){c[g>>2]=a<<c[e>>2]|(c[i>>2]|0)>>>(32-(c[e>>2]|0)|0);i=c[g>>2]|0;l=j;return i|0}else{c[g>>2]=a<<32-(c[f>>2]|0)|(c[i>>2]|0)>>>(c[f>>2]|0);i=c[g>>2]|0;l=j;return i|0}return 0}function Oh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;o=r+40|0;i=r+36|0;h=r+32|0;j=r+28|0;n=r+24|0;k=r+20|0;q=r+16|0;m=r+12|0;g=r+8|0;f=r+4|0;p=r;c[o>>2]=d;c[i>>2]=e;c[p>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=2)break;c[g>>2]=2147483647;c[h>>2]=0;a:while(1){if((c[h>>2]|0)>=15)break;c[k>>2]=b[24704+(c[h>>2]<<1)>>1];c[q>>2]=(((b[24704+((c[h>>2]|0)+1<<1)>>1]|0)-(c[k>>2]|0)>>16)*6554|0)+(((b[24704+((c[h>>2]|0)+1<<1)>>1]|0)-(c[k>>2]|0)&65535)*6554>>16);c[j>>2]=0;while(1){if((c[j>>2]|0)>=5)break;c[m>>2]=(c[k>>2]|0)+(S((c[q>>2]&65535)<<16>>16,((c[j>>2]<<1)+1&65535)<<16>>16)|0);d=(c[(c[o>>2]|0)+(c[n>>2]<<2)>>2]|0)-(c[m>>2]|0)|0;c[f>>2]=((c[(c[o>>2]|0)+(c[n>>2]<<2)>>2]|0)-(c[m>>2]|0)|0)>0?d:0-d|0;if((c[f>>2]|0)>=(c[g>>2]|0))break a;c[g>>2]=c[f>>2];c[p>>2]=c[m>>2];a[(c[i>>2]|0)+((c[n>>2]|0)*3|0)>>0]=c[h>>2];a[(c[i>>2]|0)+((c[n>>2]|0)*3|0)+1>>0]=c[j>>2];c[j>>2]=(c[j>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+1}a[(c[i>>2]|0)+((c[n>>2]|0)*3|0)+2>>0]=(a[(c[i>>2]|0)+((c[n>>2]|0)*3|0)>>0]|0)/3|0;d=(c[i>>2]|0)+((c[n>>2]|0)*3|0)|0;a[d>>0]=(a[d>>0]|0)-((a[(c[i>>2]|0)+((c[n>>2]|0)*3|0)+2>>0]|0)*3|0);c[(c[o>>2]|0)+(c[n>>2]<<2)>>2]=c[p>>2];c[n>>2]=(c[n>>2]|0)+1}q=c[o>>2]|0;c[q>>2]=(c[q>>2]|0)-(c[(c[o>>2]|0)+4>>2]|0);l=r;return}function Ph(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;q=t+40|0;p=t+36|0;o=t+32|0;n=t+28|0;r=t+24|0;j=t+20|0;s=t+16|0;k=t+12|0;m=t+8|0;h=t+4|0;i=t;c[q>>2]=a;c[p>>2]=d;c[o>>2]=e;c[n>>2]=f;c[r>>2]=g;c[k>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=10)break;c[m>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[r>>2]|0))break;g=c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]|0;c[h>>2]=(c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]|0)>0?g:0-g|0;if((c[h>>2]|0)>(c[m>>2]|0)){c[m>>2]=c[h>>2];c[k>>2]=c[s>>2]}c[s>>2]=(c[s>>2]|0)+1}f=c[m>>2]|0;if(((c[n>>2]|0)-(c[o>>2]|0)|0)==1)f=(f>>1)+(c[m>>2]&1)|0;else f=(f>>(c[n>>2]|0)-(c[o>>2]|0)-1)+1>>1;c[m>>2]=f;if((c[m>>2]|0)<=32767)break;c[m>>2]=(c[m>>2]|0)<163838?c[m>>2]|0:163838;c[i>>2]=65470-(((c[m>>2]|0)-32767<<14|0)/((S(c[m>>2]|0,(c[k>>2]|0)+1|0)|0)>>2|0)|0);Sg(c[p>>2]|0,c[r>>2]|0,c[i>>2]|0);c[j>>2]=(c[j>>2]|0)+1}m=(c[j>>2]|0)==10;c[s>>2]=0;if(!m){while(1){if((c[s>>2]|0)>=(c[r>>2]|0))break;f=c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]|0;if(((c[n>>2]|0)-(c[o>>2]|0)|0)==1)f=(f>>1)+(c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]&1)|0;else f=(f>>(c[n>>2]|0)-(c[o>>2]|0)-1)+1>>1;b[(c[q>>2]|0)+(c[s>>2]<<1)>>1]=f;c[s>>2]=(c[s>>2]|0)+1}l=t;return}while(1){if((c[s>>2]|0)>=(c[r>>2]|0))break;f=c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]|0;if(((c[n>>2]|0)-(c[o>>2]|0)|0)==1)f=(f>>1)+(c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]&1)|0;else f=(f>>(c[n>>2]|0)-(c[o>>2]|0)-1)+1>>1;do if((f|0)<=32767){f=c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]|0;if(((c[n>>2]|0)-(c[o>>2]|0)|0)==1)f=(f>>1)+(c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]&1)|0;else f=(f>>(c[n>>2]|0)-(c[o>>2]|0)-1)+1>>1;if((f|0)>=-32768){f=c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]|0;if(((c[n>>2]|0)-(c[o>>2]|0)|0)==1){f=(f>>1)+(c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]&1)|0;break}else{f=(f>>(c[n>>2]|0)-(c[o>>2]|0)-1)+1>>1;break}}else f=-32768}else f=32767;while(0);b[(c[q>>2]|0)+(c[s>>2]<<1)>>1]=f;c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]=b[(c[q>>2]|0)+(c[s>>2]<<1)>>1]<<(c[n>>2]|0)-(c[o>>2]|0);c[s>>2]=(c[s>>2]|0)+1}l=t;return}function Qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;o=p+32|0;n=p+28|0;q=p+24|0;m=p+20|0;k=p+16|0;j=p+12|0;i=p+8|0;f=p+4|0;h=p;c[o>>2]=a;c[n>>2]=b;c[q>>2]=d;c[m>>2]=e;g[j>>2]=3.1415927410125732/+((c[m>>2]|0)+1|0);g[i>>2]=2.0-+g[j>>2]*+g[j>>2];if((c[q>>2]|0)<2){g[f>>2]=0.0;g[h>>2]=+g[j>>2]}else{g[f>>2]=1.0;g[h>>2]=+g[i>>2]*.5}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;g[(c[o>>2]|0)+((c[k>>2]|0)+0<<2)>>2]=+g[(c[n>>2]|0)+((c[k>>2]|0)+0<<2)>>2]*.5*(+g[f>>2]+ +g[h>>2]);g[(c[o>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=+g[(c[n>>2]|0)+((c[k>>2]|0)+1<<2)>>2]*+g[h>>2];g[f>>2]=+g[i>>2]*+g[h>>2]-+g[f>>2];g[(c[o>>2]|0)+((c[k>>2]|0)+2<<2)>>2]=+g[(c[n>>2]|0)+((c[k>>2]|0)+2<<2)>>2]*.5*(+g[h>>2]+ +g[f>>2]);g[(c[o>>2]|0)+((c[k>>2]|0)+3<<2)>>2]=+g[(c[n>>2]|0)+((c[k>>2]|0)+3<<2)>>2]*+g[f>>2];g[h>>2]=+g[i>>2]*+g[f>>2]-+g[h>>2];c[k>>2]=(c[k>>2]|0)+4}l=p;return}function Rh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;o=l;l=l+32|0;p=o+24|0;n=o+20|0;h=o+16|0;i=o+12|0;j=o+8|0;k=o+4|0;m=o;c[p>>2]=a;c[n>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;c[m>>2]=(c[p>>2]|0)+((c[i>>2]|0)-1<<2);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[i>>2]|0))break;q=+Di(c[m>>2]|0,c[n>>2]|0,c[h>>2]|0);g[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=q;c[m>>2]=(c[m>>2]|0)+-4;c[k>>2]=(c[k>>2]|0)+1}l=o;return}function Sh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r+36|0;f=r+32|0;i=r+28|0;j=r+24|0;m=r+20|0;n=r+16|0;k=r;o=r+12|0;p=r+8|0;c[q>>2]=a;c[f>>2]=b;c[i>>2]=d;c[j>>2]=e;c[o>>2]=(c[q>>2]|0)+((c[i>>2]|0)-1<<2);h[k>>3]=+Ci(c[o>>2]|0,c[f>>2]|0);g[(c[j>>2]|0)+(0<<2)>>2]=+h[k>>3];c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[i>>2]|0))break;h[k>>3]=+h[k>>3]+(+g[(c[o>>2]|0)+(0-(c[m>>2]|0)<<2)>>2]*+g[(c[o>>2]|0)+(0-(c[m>>2]|0)<<2)>>2]-+g[(c[o>>2]|0)+((c[f>>2]|0)-(c[m>>2]|0)<<2)>>2]*+g[(c[o>>2]|0)+((c[f>>2]|0)-(c[m>>2]|0)<<2)>>2]);a=S(c[m>>2]|0,c[i>>2]|0)|0;g[(c[j>>2]|0)+(a+(c[m>>2]|0)<<2)>>2]=+h[k>>3];c[m>>2]=(c[m>>2]|0)+1}c[p>>2]=(c[q>>2]|0)+((c[i>>2]|0)-2<<2);c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[i>>2]|0))break;h[k>>3]=+Di(c[o>>2]|0,c[p>>2]|0,c[f>>2]|0);g[(c[j>>2]|0)+((S(c[n>>2]|0,c[i>>2]|0)|0)+0<<2)>>2]=+h[k>>3];g[(c[j>>2]|0)+(0+(c[n>>2]|0)<<2)>>2]=+h[k>>3];c[m>>2]=1;while(1){if((c[m>>2]|0)>=((c[i>>2]|0)-(c[n>>2]|0)|0))break;h[k>>3]=+h[k>>3]+(+g[(c[o>>2]|0)+(0-(c[m>>2]|0)<<2)>>2]*+g[(c[p>>2]|0)+(0-(c[m>>2]|0)<<2)>>2]-+g[(c[o>>2]|0)+((c[f>>2]|0)-(c[m>>2]|0)<<2)>>2]*+g[(c[p>>2]|0)+((c[f>>2]|0)-(c[m>>2]|0)<<2)>>2]);q=S((c[n>>2]|0)+(c[m>>2]|0)|0,c[i>>2]|0)|0;g[(c[j>>2]|0)+(q+(c[m>>2]|0)<<2)>>2]=+h[k>>3];q=S(c[m>>2]|0,c[i>>2]|0)|0;g[(c[j>>2]|0)+(q+((c[n>>2]|0)+(c[m>>2]|0))<<2)>>2]=+h[k>>3];c[m>>2]=(c[m>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+-4;c[n>>2]=(c[n>>2]|0)+1}l=r;return}function Th(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f;c[d>>2]=b;wb[c[18024+((c[(c[d>>2]|0)+5088>>2]&7)<<2)>>2]&3](c[d>>2]|0,(c[d>>2]|0)+5092+2|0)|0;b=c[d>>2]|0;if((c[(c[d>>2]|0)+4528>>2]|0)>=13){c[b+6080>>2]=0;c[(c[d>>2]|0)+6076>>2]=0;a[(c[d>>2]|0)+4732+29>>0]=1;b=1;e=c[d>>2]|0;d=(c[d>>2]|0)+4716|0;e=e+5744|0;e=c[e>>2]|0;e=d+e|0;a[e>>0]=b;l=f;return}a[b+4732+29>>0]=0;b=(c[d>>2]|0)+6080|0;c[b>>2]=(c[b>>2]|0)+1;b=c[d>>2]|0;if((c[(c[d>>2]|0)+6080>>2]|0)>10){if((c[b+6080>>2]|0)>30){c[(c[d>>2]|0)+6080>>2]=10;b=c[d>>2]|0;e=5}}else e=5;if((e|0)==5)c[b+6076>>2]=0;b=0;e=c[d>>2]|0;d=(c[d>>2]|0)+4716|0;e=e+5744|0;e=c[e>>2]|0;e=d+e|0;a[e>>0]=b;l=f;return}function Uh(d,e,f,h,i,j){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=l;l=l+13696|0;U=ea+12396|0;Q=ea+12392|0;P=ea+12388|0;R=ea+12384|0;r=ea+12380|0;J=ea+12376|0;ba=ea+12372|0;V=ea+11624|0;G=ea+11620|0;H=ea+11616|0;K=ea+11612|0;w=ea+11608|0;v=ea+11604|0;T=ea+11600|0;ca=ea+11596|0;n=ea+11592|0;m=ea+8904|0;Y=ea+8856|0;Z=ea+8808|0;W=ea+4456|0;X=ea+104|0;_=ea+100|0;L=ea+96|0;M=ea+92|0;N=ea+88|0;y=ea+84|0;z=ea+80|0;C=ea+76|0;D=ea+72|0;E=ea+68|0;x=ea+12418|0;t=ea+12416|0;u=ea+64|0;o=ea+13695|0;O=ea+48|0;s=ea+12420|0;B=ea+32|0;p=ea+12408|0;q=ea+16|0;I=ea+8|0;$=ea+4|0;A=ea;aa=ea+12400|0;c[Q>>2]=d;c[P>>2]=e;c[R>>2]=f;c[r>>2]=h;c[J>>2]=i;c[ba>>2]=j;c[T>>2]=0;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[z>>2]=0;c[y>>2]=0;c[N>>2]=0;c[M>>2]=0;a[o>>0]=0;f=(c[Q>>2]|0)+4616|0;j=c[f>>2]|0;c[f>>2]=j+1;a[(c[Q>>2]|0)+4732+34>>0]=j&3;c[ca>>2]=(c[Q>>2]|0)+7176+(c[(c[Q>>2]|0)+4588>>2]<<2);c[n>>2]=m+(c[(c[Q>>2]|0)+4588>>2]<<2);mf((c[Q>>2]|0)+16|0,(c[Q>>2]|0)+5092+2|0,c[(c[Q>>2]|0)+4580>>2]|0);Vh((c[ca>>2]|0)+((c[(c[Q>>2]|0)+4572>>2]|0)*5<<2)|0,(c[Q>>2]|0)+5092+2|0,c[(c[Q>>2]|0)+4580>>2]|0);c[G>>2]=0;while(1){if((c[G>>2]|0)>=8)break;j=(c[ca>>2]|0)+(((c[(c[Q>>2]|0)+4572>>2]|0)*5|0)+(S(c[G>>2]|0,c[(c[Q>>2]|0)+4580>>2]>>3)|0)<<2)|0;g[j>>2]=+g[j>>2]+ +(1-(c[G>>2]&2)|0)*9.999999974752427e-07;c[G>>2]=(c[G>>2]|0)+1}a:do if(!(c[(c[Q>>2]|0)+4676>>2]|0)){$h(c[Q>>2]|0,V,m,c[ca>>2]|0,c[(c[Q>>2]|0)+5088>>2]|0);ji(c[Q>>2]|0,V,c[n>>2]|0,c[ca>>2]|0);ai(c[Q>>2]|0,V,c[n>>2]|0,c[ca>>2]|0,c[r>>2]|0);pi(c[Q>>2]|0,V,c[r>>2]|0);Wh(c[Q>>2]|0,V,c[ca>>2]|0,c[r>>2]|0);c[K>>2]=6;b[x>>1]=256;c[v>>2]=0;c[w>>2]=0;c[C>>2]=kf((c[Q>>2]|0)+4732|0,c[(c[Q>>2]|0)+4576>>2]|0)|0;c[D>>2]=-1;c[E>>2]=-1;h=Y;i=c[R>>2]|0;e=h+48|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(e|0));uk(W|0,(c[Q>>2]|0)+144|0,4352)|0;c[_>>2]=a[(c[Q>>2]|0)+4732+34>>0];b[t>>1]=b[(c[Q>>2]|0)+5768>>1]|0;c[u>>2]=c[(c[Q>>2]|0)+5764>>2];c[H>>2]=0;while(1){do if((c[C>>2]|0)!=(c[D>>2]|0)){if((c[C>>2]|0)==(c[E>>2]|0)){c[L>>2]=c[N>>2];break}if((c[H>>2]|0)>0){h=c[R>>2]|0;i=Y;e=h+48|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(e|0));uk((c[Q>>2]|0)+144|0,W|0,4352)|0;a[(c[Q>>2]|0)+4732+34>>0]=c[_>>2];b[(c[Q>>2]|0)+5768>>1]=b[t>>1]|0;c[(c[Q>>2]|0)+5764>>2]=c[u>>2]}xi(c[Q>>2]|0,V,(c[Q>>2]|0)+4732|0,(c[Q>>2]|0)+144|0,(c[Q>>2]|0)+4768|0,c[ca>>2]|0);if(!(c[v>>2]|0?1:(c[H>>2]|0)!=(c[K>>2]|0))){h=Z;i=c[R>>2]|0;e=h+48|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(e|0))}bf(c[Q>>2]|0,c[R>>2]|0,c[(c[Q>>2]|0)+5744>>2]|0,0,c[r>>2]|0);cf(c[R>>2]|0,a[(c[Q>>2]|0)+4732+29>>0]|0,a[(c[Q>>2]|0)+4732+30>>0]|0,(c[Q>>2]|0)+4768|0,c[(c[Q>>2]|0)+4580>>2]|0);c[L>>2]=Xh(c[R>>2]|0)|0;if(!(c[v>>2]|0?1:(c[H>>2]|0)!=(c[K>>2]|0))?(c[L>>2]|0)>(c[J>>2]|0):0){h=c[R>>2]|0;i=Z;e=h+48|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(e|0));a[(c[Q>>2]|0)+7164>>0]=a[V+744>>0]|0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[(c[Q>>2]|0)+4576>>2]|0))break;a[(c[Q>>2]|0)+4732+(c[G>>2]|0)>>0]=4;c[G>>2]=(c[G>>2]|0)+1}if((c[r>>2]|0)!=2)a[(c[Q>>2]|0)+4732>>0]=a[V+744>>0]|0;b[(c[Q>>2]|0)+5768>>1]=b[t>>1]|0;c[(c[Q>>2]|0)+5764>>2]=c[u>>2];c[G>>2]=0;while(1){h=c[Q>>2]|0;if((c[G>>2]|0)>=(c[(c[Q>>2]|0)+4580>>2]|0))break;a[h+4768+(c[G>>2]|0)>>0]=0;c[G>>2]=(c[G>>2]|0)+1}bf(h,c[R>>2]|0,c[(c[Q>>2]|0)+5744>>2]|0,0,c[r>>2]|0);cf(c[R>>2]|0,a[(c[Q>>2]|0)+4732+29>>0]|0,a[(c[Q>>2]|0)+4732+30>>0]|0,(c[Q>>2]|0)+4768|0,c[(c[Q>>2]|0)+4580>>2]|0);c[L>>2]=Xh(c[R>>2]|0)|0}if((c[ba>>2]|0)==0&(c[H>>2]|0)==0?(c[L>>2]|0)<=(c[J>>2]|0):0)break a}else c[L>>2]=c[M>>2];while(0);if((c[H>>2]|0)==(c[K>>2]|0))break;do if((c[L>>2]|0)<=(c[J>>2]|0)){if((c[L>>2]|0)>=((c[J>>2]|0)-5|0))break a;c[v>>2]=1;c[M>>2]=c[L>>2];c[y>>2]=b[x>>1];if((c[C>>2]|0)!=(c[D>>2]|0)){c[D>>2]=c[C>>2];h=Z;i=c[R>>2]|0;e=h+48|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(e|0));uk(s|0,c[c[R>>2]>>2]|0,c[(c[R>>2]|0)+24>>2]|0)|0;uk(X|0,(c[Q>>2]|0)+144|0,4352)|0;a[o>>0]=a[(c[Q>>2]|0)+7164>>0]|0}}else{if(!((c[v>>2]|0)==0&(c[H>>2]|0)>=2)){c[w>>2]=1;c[N>>2]=c[L>>2];c[z>>2]=b[x>>1];c[E>>2]=c[C>>2];break}if(+g[V+692>>2]*1.5>1.5)k=+g[V+692>>2]*1.5;else k=1.5;g[V+692>>2]=k;a[(c[Q>>2]|0)+4732+30>>0]=0;c[w>>2]=0;c[E>>2]=-1}while(0);b:do if((c[v>>2]|0)==0?(c[L>>2]|0)>(c[J>>2]|0):0){c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[(c[Q>>2]|0)+4576>>2]|0))break b;c[$>>2]=0;c[I>>2]=S(c[G>>2]|0,c[(c[Q>>2]|0)+4584>>2]|0)|0;while(1){if((c[I>>2]|0)>=(S((c[G>>2]|0)+1|0,c[(c[Q>>2]|0)+4584>>2]|0)|0))break;j=F(a[(c[Q>>2]|0)+4768+(c[I>>2]|0)>>0]|0)|0;c[$>>2]=(c[$>>2]|0)+j;c[I>>2]=(c[I>>2]|0)+1}do if(!(c[H>>2]|0))da=51;else{if((c[$>>2]|0)<(c[q+(c[G>>2]<<2)>>2]|0)?(c[B+(c[G>>2]<<2)>>2]|0)==0:0){da=51;break}c[B+(c[G>>2]<<2)>>2]=1}while(0);if((da|0)==51){da=0;c[q+(c[G>>2]<<2)>>2]=c[$>>2];b[p+(c[G>>2]<<1)>>1]=b[x>>1]|0}c[G>>2]=(c[G>>2]|0)+1}}while(0);do if(!(c[v>>2]&c[w>>2])){if((c[L>>2]|0)<=(c[J>>2]|0)){c[A>>2]=_g((((c[L>>2]|0)-(c[J>>2]|0)<<7|0)/(c[(c[Q>>2]|0)+4580>>2]|0)|0)+2048|0)|0;j=S(c[A>>2]>>16,b[x>>1]|0)|0;b[x>>1]=j+((S(c[A>>2]&65535,b[x>>1]|0)|0)>>16);break}if((b[x>>1]|0)<16384){b[x>>1]=b[x>>1]<<1;break}else{b[x>>1]=32767;break}}else{j=S((c[z>>2]|0)-(c[y>>2]|0)|0,(c[J>>2]|0)-(c[M>>2]|0)|0)|0;b[x>>1]=(c[y>>2]|0)+((j|0)/((c[N>>2]|0)-(c[M>>2]|0)|0)|0);if((b[x>>1]|0)>((c[y>>2]|0)+((c[z>>2]|0)-(c[y>>2]|0)>>2)|0)){b[x>>1]=(c[y>>2]|0)+((c[z>>2]|0)-(c[y>>2]|0)>>2);break}if((b[x>>1]|0)<((c[z>>2]|0)-((c[z>>2]|0)-(c[y>>2]|0)>>2)|0))b[x>>1]=(c[z>>2]|0)-((c[z>>2]|0)-(c[y>>2]|0)>>2)}while(0);c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[(c[Q>>2]|0)+4576>>2]|0))break;if(c[B+(c[G>>2]<<2)>>2]|0)b[aa>>1]=b[p+(c[G>>2]<<1)>>1]|0;else b[aa>>1]=b[x>>1]|0;j=S(c[V+728+(c[G>>2]<<2)>>2]>>16,b[aa>>1]|0)|0;if((j+((S(c[V+728+(c[G>>2]<<2)>>2]&65535,b[aa>>1]|0)|0)>>16)|0)<=8388607){j=S(c[V+728+(c[G>>2]<<2)>>2]>>16,b[aa>>1]|0)|0;if((j+((S(c[V+728+(c[G>>2]<<2)>>2]&65535,b[aa>>1]|0)|0)>>16)|0)<-8388608)h=-8388608;else{h=S(c[V+728+(c[G>>2]<<2)>>2]>>16,b[aa>>1]|0)|0;h=h+((S(c[V+728+(c[G>>2]<<2)>>2]&65535,b[aa>>1]|0)|0)>>16)|0}}else h=8388607;c[O+(c[G>>2]<<2)>>2]=h<<8;c[G>>2]=(c[G>>2]|0)+1}a[(c[Q>>2]|0)+7164>>0]=a[V+744>>0]|0;ef((c[Q>>2]|0)+4732|0,O,(c[Q>>2]|0)+7164|0,(c[r>>2]|0)==2&1,c[(c[Q>>2]|0)+4576>>2]|0);c[C>>2]=kf((c[Q>>2]|0)+4732|0,c[(c[Q>>2]|0)+4576>>2]|0)|0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[(c[Q>>2]|0)+4576>>2]|0))break;g[V+(c[G>>2]<<2)>>2]=+(c[O+(c[G>>2]<<2)>>2]|0)/65536.0;c[G>>2]=(c[G>>2]|0)+1}c[H>>2]=(c[H>>2]|0)+1}if(c[v>>2]|0){if((c[C>>2]|0)!=(c[D>>2]|0)?(c[L>>2]|0)<=(c[J>>2]|0):0)break;h=c[R>>2]|0;i=Z;e=h+48|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(e|0));uk(c[c[R>>2]>>2]|0,s|0,c[Z+24>>2]|0)|0;uk((c[Q>>2]|0)+144|0,X|0,4352)|0;a[(c[Q>>2]|0)+7164>>0]=a[o>>0]|0}}while(0);vk((c[Q>>2]|0)+7176|0,(c[Q>>2]|0)+7176+(c[(c[Q>>2]|0)+4580>>2]<<2)|0,(c[(c[Q>>2]|0)+4588>>2]|0)+((c[(c[Q>>2]|0)+4572>>2]|0)*5|0)<<2|0)|0;if(c[(c[Q>>2]|0)+4676>>2]|0){c[c[P>>2]>>2]=0;c[U>>2]=c[T>>2];da=c[U>>2]|0;l=ea;return da|0}else{c[(c[Q>>2]|0)+4540>>2]=c[V+228+((c[(c[Q>>2]|0)+4576>>2]|0)-1<<2)>>2];a[(c[Q>>2]|0)+4537>>0]=a[(c[Q>>2]|0)+4732+29>>0]|0;c[(c[Q>>2]|0)+4660>>2]=0;da=(Xh(c[R>>2]|0)|0)+7>>3;c[c[P>>2]>>2]=da;c[U>>2]=c[T>>2];da=c[U>>2]|0;l=ea;return da|0}return 0}function Vh(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;i=j+12|0;f=j+8|0;k=j+4|0;h=j;c[i>>2]=a;c[f>>2]=d;c[k>>2]=e;c[h>>2]=(c[k>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;g[(c[i>>2]|0)+(c[h>>2]<<2)>>2]=+(b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0);c[h>>2]=(c[h>>2]|0)+-1}l=j;return}function Wh(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+4416|0;n=s+4408|0;o=s+4404|0;r=s+4400|0;k=s+4396|0;m=s+4392|0;i=s+4376|0;j=s+4360|0;p=s+4352|0;q=s;c[n>>2]=d;c[o>>2]=e;c[r>>2]=f;c[k>>2]=h;c[p>>2]=(c[n>>2]|0)+6096+((c[(c[n>>2]|0)+5744>>2]|0)*36|0);if(!(c[(c[n>>2]|0)+6088>>2]|0)){l=s;return}if((c[(c[n>>2]|0)+4528>>2]|0)<=77){l=s;return}c[(c[n>>2]|0)+4720+(c[(c[n>>2]|0)+5744>>2]<<2)>>2]=1;uk(q|0,(c[n>>2]|0)+144|0,4352)|0;h=c[p>>2]|0;d=(c[n>>2]|0)+4732|0;e=h+36|0;do{b[h>>1]=b[d>>1]|0;h=h+2|0;d=d+2|0}while((h|0)<(e|0));uk(j|0,c[o>>2]|0,c[(c[n>>2]|0)+4576>>2]<<2|0)|0;if(!((c[(c[n>>2]|0)+5744>>2]|0)!=0?(c[(c[n>>2]|0)+4720+((c[(c[n>>2]|0)+5744>>2]|0)-1<<2)>>2]|0)!=0:0)){a[(c[n>>2]|0)+4536>>0]=a[(c[n>>2]|0)+7164>>0]|0;f=c[p>>2]|0;a[f>>0]=(a[f>>0]|0)+(c[(c[n>>2]|0)+6092>>2]|0);f=(Yh(a[c[p>>2]>>0]|0,63)|0)&255;a[c[p>>2]>>0]=f}hf(i,c[p>>2]|0,(c[n>>2]|0)+4536|0,(c[k>>2]|0)==2&1,c[(c[n>>2]|0)+4576>>2]|0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[n>>2]|0)+4576>>2]|0))break;g[(c[o>>2]|0)+(c[m>>2]<<2)>>2]=+(c[i+(c[m>>2]<<2)>>2]|0)*.0000152587890625;c[m>>2]=(c[m>>2]|0)+1}xi(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,q,(c[n>>2]|0)+6204+((c[(c[n>>2]|0)+5744>>2]|0)*320|0)|0,c[r>>2]|0);uk(c[o>>2]|0,j|0,c[(c[n>>2]|0)+4576>>2]<<2|0)|0;l=s;return}function Xh(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(V(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function Yh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Zh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+1744|0;p=v+1700|0;k=v+1696|0;u=v+1692|0;h=v+1688|0;o=v+1684|0;t=v+1680|0;m=v+1616|0;q=v+1608|0;r=v+1604|0;s=v+1600|0;j=v+1704|0;n=v+1536|0;i=v;c[p>>2]=b;c[k>>2]=d;c[u>>2]=e;g[h>>2]=f;c[t>>2]=(c[(c[p>>2]|0)+4584>>2]|0)+(c[(c[p>>2]|0)+4636>>2]|0);a[(c[p>>2]|0)+4732+31>>0]=4;g[q>>2]=+Ai(m,c[u>>2]|0,+g[h>>2],c[t>>2]|0,c[(c[p>>2]|0)+4576>>2]|0,c[(c[p>>2]|0)+4636>>2]|0);a:do if((c[(c[p>>2]|0)+4628>>2]|0?(c[(c[p>>2]|0)+4660>>2]|0)==0:0)?(c[(c[p>>2]|0)+4576>>2]|0)==4:0){f=+Ai(n,(c[u>>2]|0)+(c[t>>2]<<1<<2)|0,+g[h>>2],c[t>>2]|0,2,c[(c[p>>2]|0)+4636>>2]|0);g[q>>2]=+g[q>>2]-f;ti(c[k>>2]|0,n,c[(c[p>>2]|0)+4636>>2]|0);g[r>>2]=3402823466385288598117041.0e14;c[o>>2]=3;while(1){if((c[o>>2]|0)<0)break a;lf(j,(c[p>>2]|0)+4496|0,c[k>>2]|0,c[o>>2]|0,c[(c[p>>2]|0)+4636>>2]|0);vi(n,j,c[(c[p>>2]|0)+4636>>2]|0,c[(c[p>>2]|0)+5088>>2]|0);bi(i,n,c[u>>2]|0,c[t>>2]<<1,c[(c[p>>2]|0)+4636>>2]|0);f=+Ci(i+(c[(c[p>>2]|0)+4636>>2]<<2)|0,(c[t>>2]|0)-(c[(c[p>>2]|0)+4636>>2]|0)|0);g[s>>2]=f+ +Ci(i+(c[(c[p>>2]|0)+4636>>2]<<2)+(c[t>>2]<<2)|0,(c[t>>2]|0)-(c[(c[p>>2]|0)+4636>>2]|0)|0);f=+g[s>>2];if(!(+g[s>>2]<+g[q>>2])){if(f>+g[r>>2])break a}else{g[q>>2]=f;a[(c[p>>2]|0)+4732+31>>0]=c[o>>2]}g[r>>2]=+g[s>>2];c[o>>2]=(c[o>>2]|0)+-1}}while(0);if((a[(c[p>>2]|0)+4732+31>>0]|0)!=4){l=v;return}ti(c[k>>2]|0,m,c[(c[p>>2]|0)+4636>>2]|0);l=v;return}function _h(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=l;l=l+48|0;v=u+44|0;w=u+40|0;p=u+36|0;m=u+32|0;q=u+28|0;o=u+24|0;k=u+20|0;s=u+16|0;j=u+12|0;n=u+8|0;t=u+4|0;r=u;c[v>>2]=a;c[w>>2]=b;c[p>>2]=d;c[m>>2]=e;c[q>>2]=f;c[o>>2]=h;c[s>>2]=c[w>>2];c[j>>2]=c[v>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[o>>2]|0))break;c[n>>2]=(c[p>>2]|0)+(0-((c[(c[m>>2]|0)+(c[k>>2]<<2)>>2]|0)+2)<<2);Sh(c[n>>2]|0,c[q>>2]|0,5,c[j>>2]|0);Rh(c[n>>2]|0,c[p>>2]|0,c[q>>2]|0,5,c[s>>2]|0);g[t>>2]=+Ci(c[p>>2]|0,(c[q>>2]|0)+5|0);if(+g[t>>2]>(+g[c[j>>2]>>2]+ +g[(c[j>>2]|0)+96>>2])*.014999999664723873+1.0)i=+g[t>>2];else i=(+g[c[j>>2]>>2]+ +g[(c[j>>2]|0)+96>>2])*.014999999664723873+1.0;g[r>>2]=1.0/i;Oi(c[j>>2]|0,+g[r>>2],25);Oi(c[s>>2]|0,+g[r>>2],5);c[p>>2]=(c[p>>2]|0)+(c[q>>2]<<2);c[j>>2]=(c[j>>2]|0)+100;c[s>>2]=(c[s>>2]|0)+20;c[k>>2]=(c[k>>2]|0)+1}l=u;return}function $h(d,e,f,h,i){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;p=l;l=l+1792|0;k=p+1776|0;m=p+1772|0;n=p+1768|0;z=p+1764|0;j=p+1760|0;q=p+1756|0;o=p+1752|0;u=p+1748|0;x=p+1744|0;r=p+1740|0;v=p+1672|0;s=p+1608|0;t=p+1544|0;w=p+8|0;y=p;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[z>>2]=h;c[j>>2]=i;c[q>>2]=(c[(c[k>>2]|0)+4592>>2]|0)+(c[(c[k>>2]|0)+4580>>2]|0)+(c[(c[k>>2]|0)+4588>>2]|0);c[r>>2]=(c[z>>2]|0)+(0-(c[(c[k>>2]|0)+4588>>2]|0)<<2);c[x>>2]=(c[r>>2]|0)+(c[q>>2]<<2)+(0-(c[(c[k>>2]|0)+4544>>2]|0)<<2);c[y>>2]=w;Qh(c[y>>2]|0,c[x>>2]|0,1,c[(c[k>>2]|0)+4592>>2]|0);c[y>>2]=(c[y>>2]|0)+(c[(c[k>>2]|0)+4592>>2]<<2);c[x>>2]=(c[x>>2]|0)+(c[(c[k>>2]|0)+4592>>2]<<2);uk(c[y>>2]|0,c[x>>2]|0,(c[(c[k>>2]|0)+4544>>2]|0)-(c[(c[k>>2]|0)+4592>>2]<<1)<<2|0)|0;c[y>>2]=(c[y>>2]|0)+((c[(c[k>>2]|0)+4544>>2]|0)-(c[(c[k>>2]|0)+4592>>2]<<1)<<2);c[x>>2]=(c[x>>2]|0)+((c[(c[k>>2]|0)+4544>>2]|0)-(c[(c[k>>2]|0)+4592>>2]<<1)<<2);Qh(c[y>>2]|0,c[x>>2]|0,2,c[(c[k>>2]|0)+4592>>2]|0);zi(v,w,c[(c[k>>2]|0)+4544>>2]|0,(c[(c[k>>2]|0)+4644>>2]|0)+1|0);g[v>>2]=+g[v>>2]+(+g[v>>2]*1.0000000474974513e-03+1.0);g[u>>2]=+Pi(t,v,c[(c[k>>2]|0)+4644>>2]|0);g[(c[m>>2]|0)+704>>2]=+g[v>>2]/(+g[u>>2]>1.0?+g[u>>2]:1.0);Ei(s,t,c[(c[k>>2]|0)+4644>>2]|0);Bi(s,c[(c[k>>2]|0)+4644>>2]|0,.9900000095367432);bi(c[n>>2]|0,s,c[r>>2]|0,c[q>>2]|0,c[(c[k>>2]|0)+4644>>2]|0);if(a[(c[k>>2]|0)+4732+29>>0]|0?(c[(c[k>>2]|0)+4660>>2]|0)==0:0){g[o>>2]=.6000000238418579;g[o>>2]=+g[o>>2]-+(c[(c[k>>2]|0)+4644>>2]|0)*.004000000189989805;g[o>>2]=+g[o>>2]-+(c[(c[k>>2]|0)+4528>>2]|0)*.10000000149011612*.00390625;g[o>>2]=+g[o>>2]-+(a[(c[k>>2]|0)+4537>>0]>>1|0)*.15000000596046448;g[o>>2]=+g[o>>2]-+(c[(c[k>>2]|0)+4708>>2]|0)*.10000000149011612*.000030517578125;z=(Fi(c[n>>2]|0,(c[m>>2]|0)+228|0,(c[k>>2]|0)+4732+26|0,(c[k>>2]|0)+4732+28|0,(c[k>>2]|0)+10056|0,c[(c[k>>2]|0)+4540>>2]|0,+(c[(c[k>>2]|0)+4648>>2]|0)/65536.0,+g[o>>2],c[(c[k>>2]|0)+4572>>2]|0,c[(c[k>>2]|0)+4640>>2]|0,c[(c[k>>2]|0)+4576>>2]|0,c[j>>2]|0)|0)==0;a[(c[k>>2]|0)+4732+29>>0]=z?2:1;l=p;return}z=(c[m>>2]|0)+228|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;b[(c[k>>2]|0)+4732+26>>1]=0;a[(c[k>>2]|0)+4732+28>>0]=0;g[(c[k>>2]|0)+10056>>2]=0.0;l=p;return}function ai(d,e,f,h,i){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=l;l=l+2112|0;r=y+2068|0;s=y+2064|0;t=y+2060|0;u=y+2056|0;n=y+2052|0;o=y+2048|0;m=y+1648|0;v=y+1568|0;p=y+1552|0;j=y+2072|0;x=y+1548|0;w=y+1544|0;k=y+8|0;q=y;c[r>>2]=d;c[s>>2]=e;c[t>>2]=f;c[u>>2]=h;c[n>>2]=i;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+4576>>2]|0))break;g[p+(c[o>>2]<<2)>>2]=1.0/+g[(c[s>>2]|0)+(c[o>>2]<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}if((a[(c[r>>2]|0)+4732+29>>0]|0)==2){_h(m,v,c[t>>2]|0,(c[s>>2]|0)+228|0,c[(c[r>>2]|0)+4584>>2]|0,c[(c[r>>2]|0)+4576>>2]|0);yi((c[s>>2]|0)+144|0,(c[r>>2]|0)+4732+4|0,(c[r>>2]|0)+4732+32|0,(c[r>>2]|0)+4652|0,(c[s>>2]|0)+708|0,m,v,c[(c[r>>2]|0)+4584>>2]|0,c[(c[r>>2]|0)+4576>>2]|0,c[(c[r>>2]|0)+5088>>2]|0);ii(c[r>>2]|0,c[s>>2]|0,c[n>>2]|0);hi(k,(c[u>>2]|0)+(0-(c[(c[r>>2]|0)+4636>>2]|0)<<2)|0,(c[s>>2]|0)+144|0,(c[s>>2]|0)+228|0,p,c[(c[r>>2]|0)+4584>>2]|0,c[(c[r>>2]|0)+4576>>2]|0,c[(c[r>>2]|0)+4636>>2]|0)}else{c[x>>2]=(c[u>>2]|0)+(0-(c[(c[r>>2]|0)+4636>>2]|0)<<2);c[w>>2]=k;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+4576>>2]|0))break;Ni(c[w>>2]|0,c[x>>2]|0,+g[p+(c[o>>2]<<2)>>2],(c[(c[r>>2]|0)+4584>>2]|0)+(c[(c[r>>2]|0)+4636>>2]|0)|0);c[w>>2]=(c[w>>2]|0)+((c[(c[r>>2]|0)+4584>>2]|0)+(c[(c[r>>2]|0)+4636>>2]|0)<<2);c[x>>2]=(c[x>>2]|0)+(c[(c[r>>2]|0)+4584>>2]<<2);c[o>>2]=(c[o>>2]|0)+1}wk((c[s>>2]|0)+144|0,0,(c[(c[r>>2]|0)+4576>>2]|0)*5<<2|0)|0;g[(c[s>>2]|0)+708>>2]=0.0;c[(c[r>>2]|0)+4652>>2]=0}if(c[(c[r>>2]|0)+4660>>2]|0){g[q>>2]=.009999999776482582;v=c[r>>2]|0;z=+g[q>>2];Zh(v,j,k,z);v=c[r>>2]|0;u=c[s>>2]|0;u=u+16|0;h=c[r>>2]|0;h=h+4496|0;wi(v,u,j,h);h=c[s>>2]|0;h=h+712|0;u=c[s>>2]|0;u=u+16|0;v=c[s>>2]|0;w=c[r>>2]|0;w=w+4584|0;w=c[w>>2]|0;x=c[r>>2]|0;x=x+4576|0;x=c[x>>2]|0;m=c[r>>2]|0;m=m+4636|0;m=c[m>>2]|0;ri(h,k,u,v,w,x,m);m=c[r>>2]|0;m=m+4496|0;k=m+32|0;do{b[m>>1]=b[j>>1]|0;m=m+2|0;j=j+2|0}while((m|0)<(k|0));l=y;return}else{g[q>>2]=+H(2.0,+(+g[(c[s>>2]|0)+708>>2]/3.0))/1.0e4;g[q>>2]=+g[q>>2]/(+g[(c[s>>2]|0)+700>>2]*.75+.25);v=c[r>>2]|0;z=+g[q>>2];Zh(v,j,k,z);v=c[r>>2]|0;u=c[s>>2]|0;u=u+16|0;h=c[r>>2]|0;h=h+4496|0;wi(v,u,j,h);h=c[s>>2]|0;h=h+712|0;u=c[s>>2]|0;u=u+16|0;v=c[s>>2]|0;w=c[r>>2]|0;w=w+4584|0;w=c[w>>2]|0;x=c[r>>2]|0;x=x+4576|0;x=c[x>>2]|0;m=c[r>>2]|0;m=m+4636|0;m=c[m>>2]|0;ri(h,k,u,v,w,x,m);m=c[r>>2]|0;m=m+4496|0;k=m+32|0;do{b[m>>1]=b[j>>1]|0;m=m+2|0;j=j+2|0}while((m|0)<(k|0));l=y;return}}function bi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;j=m+16|0;h=m+12|0;k=m+8|0;i=m+4|0;g=m;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[i>>2]=e;c[g>>2]=f;switch(c[g>>2]|0){case 6:{ci(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0,c[i>>2]|0);break}case 8:{di(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0,c[i>>2]|0);break}case 10:{ei(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0,c[i>>2]|0);break}case 12:{fi(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0,c[i>>2]|0);break}case 16:{gi(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0,c[i>>2]|0);break}default:{}}wk(c[j>>2]|0,0,c[g>>2]<<2|0)|0;l=m;return}function ci(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;k=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;i=o+8|0;f=o+4|0;n=o;c[k>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[i>>2]=6;while(1){if((c[i>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=(c[m>>2]|0)+((c[i>>2]|0)-1<<2);g[f>>2]=+g[c[n>>2]>>2]*+g[c[h>>2]>>2]+ +g[(c[n>>2]|0)+-4>>2]*+g[(c[h>>2]|0)+4>>2]+ +g[(c[n>>2]|0)+-8>>2]*+g[(c[h>>2]|0)+8>>2]+ +g[(c[n>>2]|0)+-12>>2]*+g[(c[h>>2]|0)+12>>2]+ +g[(c[n>>2]|0)+-16>>2]*+g[(c[h>>2]|0)+16>>2]+ +g[(c[n>>2]|0)+-20>>2]*+g[(c[h>>2]|0)+20>>2];g[(c[k>>2]|0)+(c[i>>2]<<2)>>2]=+g[(c[n>>2]|0)+4>>2]-+g[f>>2];c[i>>2]=(c[i>>2]|0)+1}l=o;return}function di(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;k=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;i=o+8|0;f=o+4|0;n=o;c[k>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[i>>2]=8;while(1){if((c[i>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=(c[m>>2]|0)+((c[i>>2]|0)-1<<2);g[f>>2]=+g[c[n>>2]>>2]*+g[c[h>>2]>>2]+ +g[(c[n>>2]|0)+-4>>2]*+g[(c[h>>2]|0)+4>>2]+ +g[(c[n>>2]|0)+-8>>2]*+g[(c[h>>2]|0)+8>>2]+ +g[(c[n>>2]|0)+-12>>2]*+g[(c[h>>2]|0)+12>>2]+ +g[(c[n>>2]|0)+-16>>2]*+g[(c[h>>2]|0)+16>>2]+ +g[(c[n>>2]|0)+-20>>2]*+g[(c[h>>2]|0)+20>>2]+ +g[(c[n>>2]|0)+-24>>2]*+g[(c[h>>2]|0)+24>>2]+ +g[(c[n>>2]|0)+-28>>2]*+g[(c[h>>2]|0)+28>>2];g[(c[k>>2]|0)+(c[i>>2]<<2)>>2]=+g[(c[n>>2]|0)+4>>2]-+g[f>>2];c[i>>2]=(c[i>>2]|0)+1}l=o;return}function ei(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;k=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;i=o+8|0;f=o+4|0;n=o;c[k>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[i>>2]=10;while(1){if((c[i>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=(c[m>>2]|0)+((c[i>>2]|0)-1<<2);g[f>>2]=+g[c[n>>2]>>2]*+g[c[h>>2]>>2]+ +g[(c[n>>2]|0)+-4>>2]*+g[(c[h>>2]|0)+4>>2]+ +g[(c[n>>2]|0)+-8>>2]*+g[(c[h>>2]|0)+8>>2]+ +g[(c[n>>2]|0)+-12>>2]*+g[(c[h>>2]|0)+12>>2]+ +g[(c[n>>2]|0)+-16>>2]*+g[(c[h>>2]|0)+16>>2]+ +g[(c[n>>2]|0)+-20>>2]*+g[(c[h>>2]|0)+20>>2]+ +g[(c[n>>2]|0)+-24>>2]*+g[(c[h>>2]|0)+24>>2]+ +g[(c[n>>2]|0)+-28>>2]*+g[(c[h>>2]|0)+28>>2]+ +g[(c[n>>2]|0)+-32>>2]*+g[(c[h>>2]|0)+32>>2]+ +g[(c[n>>2]|0)+-36>>2]*+g[(c[h>>2]|0)+36>>2];g[(c[k>>2]|0)+(c[i>>2]<<2)>>2]=+g[(c[n>>2]|0)+4>>2]-+g[f>>2];c[i>>2]=(c[i>>2]|0)+1}l=o;return}function fi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;k=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;i=o+8|0;f=o+4|0;n=o;c[k>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[i>>2]=12;while(1){if((c[i>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=(c[m>>2]|0)+((c[i>>2]|0)-1<<2);g[f>>2]=+g[c[n>>2]>>2]*+g[c[h>>2]>>2]+ +g[(c[n>>2]|0)+-4>>2]*+g[(c[h>>2]|0)+4>>2]+ +g[(c[n>>2]|0)+-8>>2]*+g[(c[h>>2]|0)+8>>2]+ +g[(c[n>>2]|0)+-12>>2]*+g[(c[h>>2]|0)+12>>2]+ +g[(c[n>>2]|0)+-16>>2]*+g[(c[h>>2]|0)+16>>2]+ +g[(c[n>>2]|0)+-20>>2]*+g[(c[h>>2]|0)+20>>2]+ +g[(c[n>>2]|0)+-24>>2]*+g[(c[h>>2]|0)+24>>2]+ +g[(c[n>>2]|0)+-28>>2]*+g[(c[h>>2]|0)+28>>2]+ +g[(c[n>>2]|0)+-32>>2]*+g[(c[h>>2]|0)+32>>2]+ +g[(c[n>>2]|0)+-36>>2]*+g[(c[h>>2]|0)+36>>2]+ +g[(c[n>>2]|0)+-40>>2]*+g[(c[h>>2]|0)+40>>2]+ +g[(c[n>>2]|0)+-44>>2]*+g[(c[h>>2]|0)+44>>2];g[(c[k>>2]|0)+(c[i>>2]<<2)>>2]=+g[(c[n>>2]|0)+4>>2]-+g[f>>2];c[i>>2]=(c[i>>2]|0)+1}l=o;return}function gi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;k=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;i=o+8|0;f=o+4|0;n=o;c[k>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[i>>2]=16;while(1){if((c[i>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=(c[m>>2]|0)+((c[i>>2]|0)-1<<2);g[f>>2]=+g[c[n>>2]>>2]*+g[c[h>>2]>>2]+ +g[(c[n>>2]|0)+-4>>2]*+g[(c[h>>2]|0)+4>>2]+ +g[(c[n>>2]|0)+-8>>2]*+g[(c[h>>2]|0)+8>>2]+ +g[(c[n>>2]|0)+-12>>2]*+g[(c[h>>2]|0)+12>>2]+ +g[(c[n>>2]|0)+-16>>2]*+g[(c[h>>2]|0)+16>>2]+ +g[(c[n>>2]|0)+-20>>2]*+g[(c[h>>2]|0)+20>>2]+ +g[(c[n>>2]|0)+-24>>2]*+g[(c[h>>2]|0)+24>>2]+ +g[(c[n>>2]|0)+-28>>2]*+g[(c[h>>2]|0)+28>>2]+ +g[(c[n>>2]|0)+-32>>2]*+g[(c[h>>2]|0)+32>>2]+ +g[(c[n>>2]|0)+-36>>2]*+g[(c[h>>2]|0)+36>>2]+ +g[(c[n>>2]|0)+-40>>2]*+g[(c[h>>2]|0)+40>>2]+ +g[(c[n>>2]|0)+-44>>2]*+g[(c[h>>2]|0)+44>>2]+ +g[(c[n>>2]|0)+-48>>2]*+g[(c[h>>2]|0)+48>>2]+ +g[(c[n>>2]|0)+-52>>2]*+g[(c[h>>2]|0)+52>>2]+ +g[(c[n>>2]|0)+-56>>2]*+g[(c[h>>2]|0)+56>>2]+ +g[(c[n>>2]|0)+-60>>2]*+g[(c[h>>2]|0)+60>>2];g[(c[k>>2]|0)+(c[i>>2]<<2)>>2]=+g[(c[n>>2]|0)+4>>2]-+g[f>>2];c[i>>2]=(c[i>>2]|0)+1}l=o;return}function hi(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=l;l=l+80|0;A=z+76|0;B=z+72|0;k=z+68|0;u=z+64|0;p=z+60|0;w=z+56|0;t=z+52|0;v=z+48|0;y=z+44|0;x=z+40|0;m=z+20|0;n=z+16|0;q=z+12|0;s=z+8|0;o=z+4|0;r=z;c[A>>2]=a;c[B>>2]=b;c[k>>2]=d;c[u>>2]=e;c[p>>2]=f;c[w>>2]=h;c[t>>2]=i;c[v>>2]=j;c[y>>2]=c[B>>2];c[n>>2]=c[A>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break;c[x>>2]=(c[y>>2]|0)+(0-(c[(c[u>>2]|0)+(c[s>>2]<<2)>>2]|0)<<2);g[q>>2]=+g[(c[p>>2]|0)+(c[s>>2]<<2)>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=5)break;g[m+(c[o>>2]<<2)>>2]=+g[(c[k>>2]|0)+(((c[s>>2]|0)*5|0)+(c[o>>2]|0)<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=((c[w>>2]|0)+(c[v>>2]|0)|0))break;g[(c[n>>2]|0)+(c[o>>2]<<2)>>2]=+g[(c[y>>2]|0)+(c[o>>2]<<2)>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=5)break;B=(c[n>>2]|0)+(c[o>>2]<<2)|0;g[B>>2]=+g[B>>2]-+g[m+(c[r>>2]<<2)>>2]*+g[(c[x>>2]|0)+(2-(c[r>>2]|0)<<2)>>2];c[r>>2]=(c[r>>2]|0)+1}B=(c[n>>2]|0)+(c[o>>2]<<2)|0;g[B>>2]=+g[B>>2]*+g[q>>2];c[x>>2]=(c[x>>2]|0)+4;c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+((c[w>>2]|0)+(c[v>>2]|0)<<2);c[y>>2]=(c[y>>2]|0)+(c[w>>2]<<2);c[s>>2]=(c[s>>2]|0)+1}l=z;return}function ii(d,e,f){d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m+12|0;k=m+8|0;n=m+4|0;i=m;c[j>>2]=d;c[k>>2]=e;c[n>>2]=f;f=c[j>>2]|0;if(!(c[n>>2]|0)){c[i>>2]=(c[f+4612>>2]|0)+(c[(c[j>>2]|0)+5740>>2]|0);if(!(+(c[i>>2]|0)*+g[(c[k>>2]|0)+708>>2]*.10000000149011612>2.0))if(+(c[i>>2]|0)*+g[(c[k>>2]|0)+708>>2]*.10000000149011612<0.0)h=0.0;else h=+(c[i>>2]|0)*+g[(c[k>>2]|0)+708>>2]*.10000000149011612;else h=2.0;d=~~h;f=c[j>>2]|0}else d=0;a[f+4732+33>>0]=d;g[(c[k>>2]|0)+224>>2]=+(b[24744+(a[(c[j>>2]|0)+4732+33>>0]<<1)>>1]|0)/16384.0;l=m;return}function ji(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0;N=l;l=l+1280|0;J=N+1264|0;K=N+1260|0;n=N+1256|0;P=N+1252|0;L=N+1248|0;I=N+1244|0;k=N+1240|0;m=N+1236|0;q=N+1232|0;C=N+1228|0;D=N+1224|0;v=N+1220|0;i=N+1216|0;j=N+1212|0;h=N+1208|0;p=N+1204|0;u=N+1200|0;t=N+1196|0;M=N+1192|0;E=N+1188|0;z=N+1184|0;B=N+224|0;r=N+120|0;w=N+20|0;A=N+16|0;o=N+12|0;x=N+8|0;y=N+4|0;s=N;c[J>>2]=b;c[K>>2]=d;c[n>>2]=e;c[P>>2]=f;c[L>>2]=(c[J>>2]|0)+7164;c[A>>2]=(c[P>>2]|0)+(0-(c[(c[J>>2]|0)+4596>>2]|0)<<2);g[q>>2]=+(c[(c[J>>2]|0)+4712>>2]|0)*.0078125;g[(c[K>>2]|0)+696>>2]=+((c[(c[J>>2]|0)+4692>>2]|0)+(c[(c[J>>2]|0)+4692+4>>2]|0)|0)*.5*.000030517578125;O=+ki((+g[q>>2]-20.0)*.25);g[(c[K>>2]|0)+700>>2]=O;if(!(c[(c[J>>2]|0)+4672>>2]|0)){g[E>>2]=1.0-+(c[(c[J>>2]|0)+4528>>2]|0)*.00390625;g[q>>2]=+g[q>>2]-+g[(c[K>>2]|0)+700>>2]*2.0*(+g[(c[K>>2]|0)+696>>2]*.5+.5)*+g[E>>2]*+g[E>>2]}e=c[J>>2]|0;if((a[(c[J>>2]|0)+4732+29>>0]|0)==2)g[q>>2]=+g[q>>2]+ +g[e+10056>>2]*2.0;else g[q>>2]=+g[q>>2]+(+(c[e+4712>>2]|0)*-.4000000059604645*.0078125+6.0)*(1.0-+g[(c[K>>2]|0)+696>>2]);e=c[J>>2]|0;if((a[(c[J>>2]|0)+4732+29>>0]|0)==2)a[e+4732+30>>0]=0;else{c[k>>2]=c[e+4572>>2]<<1;g[h>>2]=0.0;g[j>>2]=0.0;c[o>>2]=c[n>>2];c[m>>2]=(((c[(c[J>>2]|0)+4576>>2]&65535)<<16>>16)*5|0)/2|0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[m>>2]|0))break;O=+(c[k>>2]|0);g[v>>2]=O+ +Ci(c[o>>2]|0,c[k>>2]|0);g[i>>2]=+li(+g[v>>2]);if((c[I>>2]|0)>0){O=+F(+(+g[i>>2]-+g[j>>2]));g[h>>2]=+g[h>>2]+O}g[j>>2]=+g[i>>2];c[o>>2]=(c[o>>2]|0)+(c[k>>2]<<2);c[I>>2]=(c[I>>2]|0)+1}a[(c[J>>2]|0)+4732+30>>0]=+g[h>>2]>+((c[m>>2]|0)-1|0)*.6000000238418579?0:1}g[M>>2]=+g[(c[K>>2]|0)+704>>2]*1.0000000474974513e-03;g[p>>2]=.9399999976158142/(+g[M>>2]*+g[M>>2]+1.0);g[z>>2]=+(c[(c[J>>2]|0)+4668>>2]|0)/65536.0+ +g[(c[K>>2]|0)+700>>2]*.009999999776482582;c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[J>>2]|0)+4576>>2]|0))break;c[s>>2]=(c[(c[J>>2]|0)+4572>>2]|0)*3;c[y>>2]=((c[(c[J>>2]|0)+4600>>2]|0)-(c[s>>2]|0)|0)/2|0;Qh(B,c[A>>2]|0,1,c[y>>2]|0);c[x>>2]=c[y>>2];uk(B+(c[x>>2]<<2)|0,(c[A>>2]|0)+(c[x>>2]<<2)|0,c[s>>2]<<2|0)|0;c[x>>2]=(c[x>>2]|0)+(c[s>>2]|0);Qh(B+(c[x>>2]<<2)|0,(c[A>>2]|0)+(c[x>>2]<<2)|0,2,c[y>>2]|0);c[A>>2]=(c[A>>2]|0)+(c[(c[J>>2]|0)+4584>>2]<<2);if((c[(c[J>>2]|0)+4668>>2]|0)>0)si(r,B,+g[z>>2],c[(c[J>>2]|0)+4600>>2]|0,c[(c[J>>2]|0)+4632>>2]|0);else zi(r,B,c[(c[J>>2]|0)+4600>>2]|0,(c[(c[J>>2]|0)+4632>>2]|0)+1|0);g[r>>2]=+g[r>>2]+(+g[r>>2]*2.9999999242136255e-05+1.0);g[v>>2]=+Pi(w,r,c[(c[J>>2]|0)+4632>>2]|0);Ei((c[K>>2]|0)+244+((c[I>>2]|0)*24<<2)|0,w,c[(c[J>>2]|0)+4632>>2]|0);O=+G(+(+g[v>>2]));g[(c[K>>2]|0)+(c[I>>2]<<2)>>2]=O;if((c[(c[J>>2]|0)+4668>>2]|0)>0){O=+mi((c[K>>2]|0)+244+((c[I>>2]|0)*24<<2)|0,+g[z>>2],c[(c[J>>2]|0)+4632>>2]|0);P=(c[K>>2]|0)+(c[I>>2]<<2)|0;g[P>>2]=+g[P>>2]*O}Bi((c[K>>2]|0)+244+((c[I>>2]|0)*24<<2)|0,c[(c[J>>2]|0)+4632>>2]|0,+g[p>>2]);e=(c[K>>2]|0)+244+((c[I>>2]|0)*24<<2)|0;if((c[(c[J>>2]|0)+4668>>2]|0)>0)ni(e,+g[z>>2],3.999000072479248,c[(c[J>>2]|0)+4632>>2]|0);else oi(e,3.999000072479248,c[(c[J>>2]|0)+4632>>2]|0);c[I>>2]=(c[I>>2]|0)+1}g[u>>2]=+H(2.0,+(+g[q>>2]*-.1599999964237213));g[t>>2]=+H(2.0,.3199999928474426);c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[J>>2]|0)+4576>>2]|0))break;P=(c[K>>2]|0)+(c[I>>2]<<2)|0;g[P>>2]=+g[P>>2]*+g[u>>2];P=(c[K>>2]|0)+(c[I>>2]<<2)|0;g[P>>2]=+g[P>>2]+ +g[t>>2];c[I>>2]=(c[I>>2]|0)+1}g[M>>2]=((+(c[(c[J>>2]|0)+4692>>2]|0)*.000030517578125-1.0)*.5+1.0)*4.0;g[M>>2]=+g[M>>2]*(+(c[(c[J>>2]|0)+4528>>2]|0)*.00390625);if((a[(c[J>>2]|0)+4732+29>>0]|0)==2){c[I>>2]=0;while(1){e=c[J>>2]|0;if((c[I>>2]|0)>=(c[(c[J>>2]|0)+4576>>2]|0))break;g[E>>2]=.20000000298023224/+(c[e+4572>>2]|0)+3.0/+(c[(c[K>>2]|0)+228+(c[I>>2]<<2)>>2]|0);g[(c[K>>2]|0)+628+(c[I>>2]<<2)>>2]=+g[E>>2]+-1.0;g[(c[K>>2]|0)+644+(c[I>>2]<<2)>>2]=1.0-+g[E>>2]-+g[E>>2]*+g[M>>2];c[I>>2]=(c[I>>2]|0)+1}g[D>>2]=-.25-+(c[e+4528>>2]|0)*.26249998807907104*.00390625}else{g[E>>2]=1.2999999523162842/+(c[(c[J>>2]|0)+4572>>2]|0);g[(c[K>>2]|0)+628>>2]=+g[E>>2]+-1.0;g[(c[K>>2]|0)+644>>2]=1.0-+g[E>>2]-+g[E>>2]*+g[M>>2]*.6000000238418579;c[I>>2]=1;while(1){if((c[I>>2]|0)>=(c[(c[J>>2]|0)+4576>>2]|0))break;g[(c[K>>2]|0)+628+(c[I>>2]<<2)>>2]=+g[(c[K>>2]|0)+628>>2];g[(c[K>>2]|0)+644+(c[I>>2]<<2)>>2]=+g[(c[K>>2]|0)+644>>2];c[I>>2]=(c[I>>2]|0)+1}g[D>>2]=-.25}if((a[(c[J>>2]|0)+4732+29>>0]|0)==2){g[C>>2]=.30000001192092896;g[C>>2]=+g[C>>2]+(1.0-(1.0-+g[(c[K>>2]|0)+700>>2])*+g[(c[K>>2]|0)+696>>2])*.20000000298023224;O=+G(+(+g[(c[J>>2]|0)+10056>>2]));g[C>>2]=+g[C>>2]*O}else g[C>>2]=0.0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[J>>2]|0)+4576>>2]|0))break;P=(c[L>>2]|0)+4|0;g[P>>2]=+g[P>>2]+(+g[C>>2]-+g[(c[L>>2]|0)+4>>2])*.4000000059604645;g[(c[K>>2]|0)+676+(c[I>>2]<<2)>>2]=+g[(c[L>>2]|0)+4>>2];P=(c[L>>2]|0)+8|0;g[P>>2]=+g[P>>2]+(+g[D>>2]-+g[(c[L>>2]|0)+8>>2])*.4000000059604645;g[(c[K>>2]|0)+660+(c[I>>2]<<2)>>2]=+g[(c[L>>2]|0)+8>>2];c[I>>2]=(c[I>>2]|0)+1}l=N;return}function ki(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;g[c>>2]=a;a=1.0/(+P(+-+g[c>>2])+1.0);l=b;return +a}function li(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;h[c>>3]=a;a=+nk(+h[c>>3])*3.32192809488736;l=b;return +a}function mi(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+16|0;i=j+12|0;k=j+8|0;h=j+4|0;f=j;c[e>>2]=a;g[i>>2]=b;c[k>>2]=d;g[i>>2]=-+g[i>>2];g[f>>2]=+g[(c[e>>2]|0)+((c[k>>2]|0)-1<<2)>>2];c[h>>2]=(c[k>>2]|0)-2;while(1){b=+g[i>>2]*+g[f>>2];if((c[h>>2]|0)<0)break;g[f>>2]=b+ +g[(c[e>>2]|0)+(c[h>>2]<<2)>>2];c[h>>2]=(c[h>>2]|0)+-1}l=j;return +(1.0/(1.0-b))}function ni(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;h=s+40|0;n=s+36|0;o=s+32|0;q=s+28|0;j=s+24|0;m=s+20|0;k=s+16|0;r=s+12|0;p=s+8|0;f=s+4|0;i=s;c[h>>2]=a;g[n>>2]=b;g[o>>2]=d;c[q>>2]=e;c[k>>2]=0;c[j>>2]=(c[q>>2]|0)-1;while(1){b=+g[n>>2];if((c[j>>2]|0)<=0)break;e=(c[h>>2]|0)+((c[j>>2]|0)-1<<2)|0;g[e>>2]=+g[e>>2]-b*+g[(c[h>>2]|0)+(c[j>>2]<<2)>>2];c[j>>2]=(c[j>>2]|0)+-1}g[i>>2]=(1.0-b*+g[n>>2])/(+g[n>>2]*+g[c[h>>2]>>2]+1.0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[q>>2]|0))break;e=(c[h>>2]|0)+(c[j>>2]<<2)|0;g[e>>2]=+g[e>>2]*+g[i>>2];c[j>>2]=(c[j>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=10){a=28;break}g[p>>2]=-1.0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[q>>2]|0))break;g[r>>2]=+F(+(+g[(c[h>>2]|0)+(c[j>>2]<<2)>>2]));if(+g[r>>2]>+g[p>>2]){g[p>>2]=+g[r>>2];c[k>>2]=c[j>>2]}c[j>>2]=(c[j>>2]|0)+1}if(+g[p>>2]<=+g[o>>2]){a=28;break}c[j>>2]=1;while(1){if((c[j>>2]|0)>=(c[q>>2]|0))break;e=(c[h>>2]|0)+((c[j>>2]|0)-1<<2)|0;g[e>>2]=+g[e>>2]+ +g[n>>2]*+g[(c[h>>2]|0)+(c[j>>2]<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}g[i>>2]=1.0/+g[i>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[q>>2]|0))break;e=(c[h>>2]|0)+(c[j>>2]<<2)|0;g[e>>2]=+g[e>>2]*+g[i>>2];c[j>>2]=(c[j>>2]|0)+1}g[f>>2]=.9900000095367432-(+(c[m>>2]|0)*.10000000149011612+.800000011920929)*(+g[p>>2]-+g[o>>2])/(+g[p>>2]*+((c[k>>2]|0)+1|0));Bi(c[h>>2]|0,c[q>>2]|0,+g[f>>2]);c[j>>2]=(c[q>>2]|0)-1;while(1){b=+g[n>>2];if((c[j>>2]|0)<=0)break;e=(c[h>>2]|0)+((c[j>>2]|0)-1<<2)|0;g[e>>2]=+g[e>>2]-b*+g[(c[h>>2]|0)+(c[j>>2]<<2)>>2];c[j>>2]=(c[j>>2]|0)+-1}g[i>>2]=(1.0-b*+g[n>>2])/(+g[n>>2]*+g[c[h>>2]>>2]+1.0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[q>>2]|0))break;e=(c[h>>2]|0)+(c[j>>2]<<2)|0;g[e>>2]=+g[e>>2]*+g[i>>2];c[j>>2]=(c[j>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((a|0)==28){l=s;return}}function oi(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;f=p+32|0;k=p+28|0;n=p+24|0;h=p+20|0;j=p+16|0;i=p+12|0;o=p+8|0;m=p+4|0;e=p;c[f>>2]=a;g[k>>2]=b;c[n>>2]=d;c[i>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=10){e=10;break}g[m>>2]=-1.0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[n>>2]|0))break;g[o>>2]=+F(+(+g[(c[f>>2]|0)+(c[h>>2]<<2)>>2]));if(+g[o>>2]>+g[m>>2]){g[m>>2]=+g[o>>2];c[i>>2]=c[h>>2]}c[h>>2]=(c[h>>2]|0)+1}if(+g[m>>2]<=+g[k>>2]){e=10;break}g[e>>2]=.9900000095367432-(+(c[j>>2]|0)*.10000000149011612+.800000011920929)*(+g[m>>2]-+g[k>>2])/(+g[m>>2]*+((c[i>>2]|0)+1|0));Bi(c[f>>2]|0,c[n>>2]|0,+g[e>>2]);c[j>>2]=(c[j>>2]|0)+1}if((e|0)==10){l=p;return}}function pi(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+64|0;o=s+48|0;p=s+44|0;k=s+40|0;q=s+36|0;m=s+32|0;n=s+16|0;j=s+12|0;h=s+8|0;i=s+4|0;r=s;c[o>>2]=d;c[p>>2]=e;c[k>>2]=f;c[q>>2]=(c[o>>2]|0)+7164;a:do if((a[(c[o>>2]|0)+4732+29>>0]|0)==2){g[j>>2]=1.0-+qi((+g[(c[p>>2]|0)+708>>2]-12.0)*.25)*.5;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[o>>2]|0)+4576>>2]|0))break a;e=(c[p>>2]|0)+(c[m>>2]<<2)|0;g[e>>2]=+g[e>>2]*+g[j>>2];c[m>>2]=(c[m>>2]|0)+1}}while(0);t=+H(2.0,+((21.0-+(c[(c[o>>2]|0)+4712>>2]|0)*.0078125)*.33000001311302185));g[h>>2]=t/+(c[(c[o>>2]|0)+4584>>2]|0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[o>>2]|0)+4576>>2]|0))break;g[i>>2]=+g[(c[p>>2]|0)+(c[m>>2]<<2)>>2];g[i>>2]=+G(+(+g[i>>2]*+g[i>>2]+ +g[(c[p>>2]|0)+712+(c[m>>2]<<2)>>2]*+g[h>>2]));g[(c[p>>2]|0)+(c[m>>2]<<2)>>2]=+g[i>>2]<32767.0?+g[i>>2]:32767.0;c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){h=c[p>>2]|0;if((c[m>>2]|0)>=(c[(c[o>>2]|0)+4576>>2]|0))break;c[n+(c[m>>2]<<2)>>2]=~~(+g[h+(c[m>>2]<<2)>>2]*65536.0);c[m>>2]=(c[m>>2]|0)+1}uk(h+728|0,n|0,c[(c[o>>2]|0)+4576>>2]<<2|0)|0;a[(c[p>>2]|0)+744>>0]=a[c[q>>2]>>0]|0;ef((c[o>>2]|0)+4732|0,n,c[q>>2]|0,(c[k>>2]|0)==2&1,c[(c[o>>2]|0)+4576>>2]|0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[o>>2]|0)+4576>>2]|0))break;g[(c[p>>2]|0)+(c[m>>2]<<2)>>2]=+(c[n+(c[m>>2]<<2)>>2]|0)/65536.0;c[m>>2]=(c[m>>2]|0)+1}if((a[(c[o>>2]|0)+4732+29>>0]|0)==2)a[(c[o>>2]|0)+4732+30>>0]=+g[(c[p>>2]|0)+708>>2]+ +(c[(c[o>>2]|0)+4708>>2]|0)*.000030517578125>1.0?0:1;g[r>>2]=+(b[24736+(a[(c[o>>2]|0)+4732+29>>0]>>1<<2)+(a[(c[o>>2]|0)+4732+30>>0]<<1)>>1]|0)/1024.0;g[(c[p>>2]|0)+692>>2]=+(c[(c[o>>2]|0)+4624>>2]|0)*-.05000000074505806+1.2000000476837158+ +(c[(c[o>>2]|0)+4528>>2]|0)*-.20000000298023224*.00390625+ +g[(c[p>>2]|0)+696>>2]*-.10000000149011612+ +g[(c[p>>2]|0)+700>>2]*-.20000000298023224+ +g[r>>2]*.800000011920929;l=s;return}function qi(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;g[c>>2]=a;a=1.0/(+P(+-+g[c>>2])+1.0);l=b;return +a}function ri(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;t=l;l=l+816|0;p=t+800|0;s=t+796|0;n=t+792|0;o=t+788|0;r=t+784|0;u=t+780|0;j=t+776|0;q=t+772|0;m=t+768|0;k=t;c[p>>2]=a;c[s>>2]=b;c[n>>2]=d;c[o>>2]=e;c[r>>2]=f;c[u>>2]=h;c[j>>2]=i;c[m>>2]=k+(c[j>>2]<<2);c[q>>2]=(c[j>>2]|0)+(c[r>>2]|0);bi(k,c[n>>2]|0,(c[s>>2]|0)+(0<<2)|0,c[q>>2]<<1,c[j>>2]|0);v=+g[c[o>>2]>>2]*+g[c[o>>2]>>2];v=v*+Ci((c[m>>2]|0)+(0<<2)|0,c[r>>2]|0);g[c[p>>2]>>2]=v;v=+g[(c[o>>2]|0)+4>>2]*+g[(c[o>>2]|0)+4>>2];v=v*+Ci((c[m>>2]|0)+(c[q>>2]<<2)|0,c[r>>2]|0);g[(c[p>>2]|0)+4>>2]=v;if((c[u>>2]|0)!=4){l=t;return}bi(k,(c[n>>2]|0)+64|0,(c[s>>2]|0)+(c[q>>2]<<1<<2)|0,c[q>>2]<<1,c[j>>2]|0);v=+g[(c[o>>2]|0)+8>>2]*+g[(c[o>>2]|0)+8>>2];v=v*+Ci((c[m>>2]|0)+(0<<2)|0,c[r>>2]|0);g[(c[p>>2]|0)+8>>2]=v;v=+g[(c[o>>2]|0)+12>>2]*+g[(c[o>>2]|0)+12>>2];v=v*+Ci((c[m>>2]|0)+(c[q>>2]<<2)|0,c[r>>2]|0);g[(c[p>>2]|0)+12>>2]=v;l=t;return}function si(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+448|0;j=u+440|0;m=u+436|0;t=u+432|0;n=u+428|0;p=u+424|0;o=u+420|0;k=u+416|0;r=u+408|0;s=u+400|0;q=u+200|0;i=u;c[j>>2]=a;c[m>>2]=b;g[t>>2]=d;c[n>>2]=e;c[p>>2]=f;wk(q|0,0,200)|0;wk(i|0,0,200)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break;h[r>>3]=+g[(c[m>>2]|0)+(c[o>>2]<<2)>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[p>>2]|0))break;h[s>>3]=+h[q+(c[k>>2]<<3)>>3]+ +g[t>>2]*(+h[q+((c[k>>2]|0)+1<<3)>>3]-+h[r>>3]);h[q+(c[k>>2]<<3)>>3]=+h[r>>3];f=i+(c[k>>2]<<3)|0;h[f>>3]=+h[f>>3]+ +h[q>>3]*+h[r>>3];h[r>>3]=+h[q+((c[k>>2]|0)+1<<3)>>3]+ +g[t>>2]*(+h[q+((c[k>>2]|0)+2<<3)>>3]-+h[s>>3]);h[q+((c[k>>2]|0)+1<<3)>>3]=+h[s>>3];f=i+((c[k>>2]|0)+1<<3)|0;h[f>>3]=+h[f>>3]+ +h[q>>3]*+h[s>>3];c[k>>2]=(c[k>>2]|0)+2}h[q+(c[p>>2]<<3)>>3]=+h[r>>3];f=i+(c[p>>2]<<3)|0;h[f>>3]=+h[f>>3]+ +h[q>>3]*+h[r>>3];c[o>>2]=(c[o>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=((c[p>>2]|0)+1|0))break;g[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=+h[i+(c[k>>2]<<3)>>3];c[k>>2]=(c[k>>2]|0)+1}l=u;return}function ti(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+80|0;f=k+76|0;j=k+72|0;e=k+68|0;i=k+64|0;h=k;c[f>>2]=a;c[j>>2]=b;c[e>>2]=d;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[e>>2]|0))break;b=ui(+g[(c[j>>2]|0)+(c[i>>2]<<2)>>2]*65536.0)|0;c[h+(c[i>>2]<<2)>>2]=b;c[i>>2]=(c[i>>2]|0)+1}Lg(c[f>>2]|0,h,c[e>>2]|0);l=k;return}function ui(a){a=+a;var b=0,c=0;c=l;l=l+16|0;b=c;g[b>>2]=a;b=ok(+g[b>>2])|0;l=c;return b|0}function vi(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+64|0;k=m+16|0;o=m+12|0;h=m+8|0;n=m+4|0;j=m;i=m+24|0;c[k>>2]=a;c[o>>2]=d;c[h>>2]=e;c[n>>2]=f;eh(i,c[o>>2]|0,c[h>>2]|0,c[n>>2]|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;g[(c[k>>2]|0)+(c[j>>2]<<2)>>2]=+(b[i+(c[j>>2]<<1)>>1]|0)*.000244140625;c[j>>2]=(c[j>>2]|0)+1}l=m;return}function wi(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+96|0;m=n+20|0;h=n+16|0;p=n+12|0;o=n+8|0;j=n+4|0;k=n;i=n+24|0;c[m>>2]=a;c[h>>2]=d;c[p>>2]=e;c[o>>2]=f;tg(c[m>>2]|0,i,c[p>>2]|0,c[o>>2]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=2)break;c[j>>2]=0;while(1){e=c[k>>2]|0;if((c[j>>2]|0)>=(c[(c[m>>2]|0)+4636>>2]|0))break;g[(c[h>>2]|0)+(c[k>>2]<<6)+(c[j>>2]<<2)>>2]=+(b[i+(e<<5)+(c[j>>2]<<1)>>1]|0)*.000244140625;c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=e+1}l=n;return}function xi(d,e,f,h,i,j){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+1056|0;w=D+108|0;x=D+104|0;y=D+100|0;z=D+96|0;A=D+92|0;B=D+88|0;u=D+84|0;v=D+80|0;C=D+408|0;m=D+64|0;s=D+344|0;p=D+304|0;q=D+56|0;k=D+112|0;o=D+40|0;r=D+32|0;t=D+16|0;n=D;c[w>>2]=d;c[x>>2]=e;c[y>>2]=f;c[z>>2]=h;c[A>>2]=i;c[B>>2]=j;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[w>>2]|0)+4576>>2]|0))break;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[w>>2]|0)+4632>>2]|0))break;j=(ui(+g[(c[x>>2]|0)+244+(((c[u>>2]|0)*24|0)+(c[v>>2]|0)<<2)>>2]*8192.0)|0)&65535;b[k+(((c[u>>2]|0)*24|0)+(c[v>>2]|0)<<1)>>1]=j;c[v>>2]=(c[v>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=0;while(1){d=c[x>>2]|0;if((c[u>>2]|0)>=(c[(c[w>>2]|0)+4576>>2]|0))break;j=(ui(+g[d+644+(c[u>>2]<<2)>>2]*16384.0)|0)<<16;j=j|(ui(+g[(c[x>>2]|0)+628+(c[u>>2]<<2)>>2]*16384.0)|0)&65535;c[o+(c[u>>2]<<2)>>2]=j;j=ui(+g[(c[x>>2]|0)+660+(c[u>>2]<<2)>>2]*16384.0)|0;c[t+(c[u>>2]<<2)>>2]=j;j=ui(+g[(c[x>>2]|0)+676+(c[u>>2]<<2)>>2]*16384.0)|0;c[n+(c[u>>2]<<2)>>2]=j;c[u>>2]=(c[u>>2]|0)+1}c[r>>2]=ui(+g[d+692>>2]*1024.0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=((c[(c[w>>2]|0)+4576>>2]|0)*5|0))break;j=(ui(+g[(c[x>>2]|0)+144+(c[u>>2]<<2)>>2]*16384.0)|0)&65535;b[p+(c[u>>2]<<1)>>1]=j;c[u>>2]=(c[u>>2]|0)+1}c[v>>2]=0;while(1){j=(c[v>>2]|0)<2;c[u>>2]=0;if(!j)break;while(1){if((c[u>>2]|0)>=(c[(c[w>>2]|0)+4636>>2]|0))break;j=(ui(+g[(c[x>>2]|0)+16+(c[v>>2]<<6)+(c[u>>2]<<2)>>2]*4096.0)|0)&65535;b[s+(c[v>>2]<<5)+(c[u>>2]<<1)>>1]=j;c[u>>2]=(c[u>>2]|0)+1}c[v>>2]=(c[v>>2]|0)+1}while(1){if((c[u>>2]|0)>=(c[(c[w>>2]|0)+4576>>2]|0))break;v=ui(+g[(c[x>>2]|0)+(c[u>>2]<<2)>>2]*65536.0)|0;c[m+(c[u>>2]<<2)>>2]=v;c[u>>2]=(c[u>>2]|0)+1}if((a[(c[y>>2]|0)+29>>0]|0)==2)c[q>>2]=b[24744+(a[(c[y>>2]|0)+33>>0]<<1)>>1];else c[q>>2]=0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[w>>2]|0)+4580>>2]|0))break;v=(ui(+g[(c[B>>2]|0)+(c[u>>2]<<2)>>2])|0)&65535;b[C+(c[u>>2]<<1)>>1]=v;c[u>>2]=(c[u>>2]|0)+1}if((c[(c[w>>2]|0)+4624>>2]|0)<=1?(c[(c[w>>2]|0)+4668>>2]|0)<=0:0){qf(c[w>>2]|0,c[z>>2]|0,c[y>>2]|0,C,c[A>>2]|0,s,p,k,n,t,o,m,(c[x>>2]|0)+228|0,c[r>>2]|0,c[q>>2]|0);l=D;return}yf(c[w>>2]|0,c[z>>2]|0,c[y>>2]|0,C,c[A>>2]|0,s,p,k,n,t,o,m,(c[x>>2]|0)+228|0,c[r>>2]|0,c[q>>2]|0);l=D;return}function yi(a,d,e,f,h,i,j,k,m,n){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+576|0;o=D+524|0;t=D+520|0;w=D+516|0;A=D+512|0;x=D+508|0;q=D+504|0;B=D+500|0;z=D+496|0;v=D+492|0;s=D+488|0;u=D+484|0;y=D+480|0;p=D+528|0;r=D+80|0;C=D;c[o>>2]=a;c[t>>2]=d;c[w>>2]=e;c[A>>2]=f;c[x>>2]=h;c[q>>2]=i;c[B>>2]=j;c[z>>2]=k;c[v>>2]=m;c[s>>2]=n;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(((c[v>>2]|0)*5|0)*5|0))break;j=ui(+g[(c[q>>2]|0)+(c[u>>2]<<2)>>2]*131072.0)|0;c[r+(c[u>>2]<<2)>>2]=j;c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=0;while(1){if((c[u>>2]|0)>=((c[v>>2]|0)*5|0))break;j=ui(+g[(c[B>>2]|0)+(c[u>>2]<<2)>>2]*131072.0)|0;c[C+(c[u>>2]<<2)>>2]=j;c[u>>2]=(c[u>>2]|0)+1}kg(p,c[t>>2]|0,c[w>>2]|0,c[A>>2]|0,y,r,C,c[z>>2]|0,c[v>>2]|0,c[s>>2]|0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=((c[v>>2]|0)*5|0))break;g[(c[o>>2]|0)+(c[u>>2]<<2)>>2]=+(b[p+(c[u>>2]<<1)>>1]|0)*.00006103515625;c[u>>2]=(c[u>>2]|0)+1}g[c[x>>2]>>2]=+(c[y>>2]|0)*.0078125;l=D;return}function zi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+32|0;k=m+16|0;i=m+12|0;j=m+8|0;f=m+4|0;h=m;c[k>>2]=a;c[i>>2]=b;c[j>>2]=d;c[f>>2]=e;if((c[f>>2]|0)>(c[j>>2]|0))c[f>>2]=c[j>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;n=+Di(c[i>>2]|0,(c[i>>2]|0)+(c[h>>2]<<2)|0,(c[j>>2]|0)-(c[h>>2]|0)|0);g[(c[k>>2]|0)+(c[h>>2]<<2)>>2]=n;c[h>>2]=(c[h>>2]|0)+1}l=m;return}function Ai(a,b,d,e,f,i){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+1104|0;j=L+1088|0;I=L+1084|0;v=L+1080|0;E=L+1076|0;x=L+1072|0;s=L+1068|0;u=L+1064|0;w=L+1060|0;D=L+1056|0;C=L+1052|0;n=L+1040|0;t=L+1032|0;A=L+1024|0;z=L+1016|0;y=L+1008|0;B=L+1e3|0;m=L+992|0;F=L+984|0;H=L+976|0;J=L+1048|0;q=L+784|0;r=L+592|0;p=L+392|0;o=L+192|0;k=L;c[j>>2]=a;c[I>>2]=b;g[v>>2]=d;c[E>>2]=e;c[x>>2]=f;c[s>>2]=i;h[n>>3]=+Ci(c[I>>2]|0,S(c[x>>2]|0,c[E>>2]|0)|0);wk(q|0,0,192)|0;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[x>>2]|0))break;c[J>>2]=(c[I>>2]|0)+((S(c[D>>2]|0,c[E>>2]|0)|0)<<2);c[w>>2]=1;while(1){if((c[w>>2]|0)>=((c[s>>2]|0)+1|0))break;d=+Di(c[J>>2]|0,(c[J>>2]|0)+(c[w>>2]<<2)|0,(c[E>>2]|0)-(c[w>>2]|0)|0);b=q+((c[w>>2]|0)-1<<3)|0;h[b>>3]=+h[b>>3]+d;c[w>>2]=(c[w>>2]|0)+1}c[D>>2]=(c[D>>2]|0)+1}uk(r|0,q|0,192)|0;d=+h[n>>3]+ +h[n>>3]*9.999999747378752e-06+9.999999717180685e-10;h[p>>3]=d;h[o>>3]=d;h[t>>3]=1.0;c[C>>2]=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[s>>2]|0))break;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[x>>2]|0))break;c[J>>2]=(c[I>>2]|0)+((S(c[D>>2]|0,c[E>>2]|0)|0)<<2);h[F>>3]=+g[(c[J>>2]|0)+(c[w>>2]<<2)>>2];h[H>>3]=+g[(c[J>>2]|0)+((c[E>>2]|0)-(c[w>>2]|0)-1<<2)>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[w>>2]|0))break;b=q+(c[u>>2]<<3)|0;h[b>>3]=+h[b>>3]-+g[(c[J>>2]|0)+(c[w>>2]<<2)>>2]*+g[(c[J>>2]|0)+((c[w>>2]|0)-(c[u>>2]|0)-1<<2)>>2];b=r+(c[u>>2]<<3)|0;h[b>>3]=+h[b>>3]-+g[(c[J>>2]|0)+((c[E>>2]|0)-(c[w>>2]|0)-1<<2)>>2]*+g[(c[J>>2]|0)+((c[E>>2]|0)-(c[w>>2]|0)+(c[u>>2]|0)<<2)>>2];h[m>>3]=+h[k+(c[u>>2]<<3)>>3];h[F>>3]=+h[F>>3]+ +g[(c[J>>2]|0)+((c[w>>2]|0)-(c[u>>2]|0)-1<<2)>>2]*+h[m>>3];h[H>>3]=+h[H>>3]+ +g[(c[J>>2]|0)+((c[E>>2]|0)-(c[w>>2]|0)+(c[u>>2]|0)<<2)>>2]*+h[m>>3];c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=0;while(1){if((c[u>>2]|0)>(c[w>>2]|0))break;b=p+(c[u>>2]<<3)|0;h[b>>3]=+h[b>>3]-+h[F>>3]*+g[(c[J>>2]|0)+((c[w>>2]|0)-(c[u>>2]|0)<<2)>>2];b=o+(c[u>>2]<<3)|0;h[b>>3]=+h[b>>3]-+h[H>>3]*+g[(c[J>>2]|0)+((c[E>>2]|0)-(c[w>>2]|0)+(c[u>>2]|0)-1<<2)>>2];c[u>>2]=(c[u>>2]|0)+1}c[D>>2]=(c[D>>2]|0)+1}h[F>>3]=+h[q+(c[w>>2]<<3)>>3];h[H>>3]=+h[r+(c[w>>2]<<3)>>3];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[w>>2]|0))break;h[m>>3]=+h[k+(c[u>>2]<<3)>>3];h[F>>3]=+h[F>>3]+ +h[r+((c[w>>2]|0)-(c[u>>2]|0)-1<<3)>>3]*+h[m>>3];h[H>>3]=+h[H>>3]+ +h[q+((c[w>>2]|0)-(c[u>>2]|0)-1<<3)>>3]*+h[m>>3];c[u>>2]=(c[u>>2]|0)+1}h[p+((c[w>>2]|0)+1<<3)>>3]=+h[F>>3];h[o+((c[w>>2]|0)+1<<3)>>3]=+h[H>>3];h[A>>3]=+h[o+((c[w>>2]|0)+1<<3)>>3];h[y>>3]=+h[o>>3];h[z>>3]=+h[p>>3];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[w>>2]|0))break;h[m>>3]=+h[k+(c[u>>2]<<3)>>3];h[A>>3]=+h[A>>3]+ +h[o+((c[w>>2]|0)-(c[u>>2]|0)<<3)>>3]*+h[m>>3];h[y>>3]=+h[y>>3]+ +h[o+((c[u>>2]|0)+1<<3)>>3]*+h[m>>3];h[z>>3]=+h[z>>3]+ +h[p+((c[u>>2]|0)+1<<3)>>3]*+h[m>>3];c[u>>2]=(c[u>>2]|0)+1}h[B>>3]=+h[A>>3]*-2.0/(+h[z>>3]+ +h[y>>3]);h[F>>3]=+h[t>>3]*(1.0-+h[B>>3]*+h[B>>3]);if(+h[F>>3]<=+g[v>>2]){h[B>>3]=+G(+(1.0-+g[v>>2]/+h[t>>3]));if(+h[A>>3]>0.0)h[B>>3]=-+h[B>>3];h[t>>3]=+g[v>>2];c[C>>2]=1}else h[t>>3]=+h[F>>3];c[u>>2]=0;while(1){if((c[u>>2]|0)>=((c[w>>2]|0)+1>>1|0))break;h[F>>3]=+h[k+(c[u>>2]<<3)>>3];h[H>>3]=+h[k+((c[w>>2]|0)-(c[u>>2]|0)-1<<3)>>3];h[k+(c[u>>2]<<3)>>3]=+h[F>>3]+ +h[B>>3]*+h[H>>3];h[k+((c[w>>2]|0)-(c[u>>2]|0)-1<<3)>>3]=+h[H>>3]+ +h[B>>3]*+h[F>>3];c[u>>2]=(c[u>>2]|0)+1}h[k+(c[w>>2]<<3)>>3]=+h[B>>3];if(c[C>>2]|0){K=33;break}c[u>>2]=0;while(1){if((c[u>>2]|0)>((c[w>>2]|0)+1|0))break;h[F>>3]=+h[p+(c[u>>2]<<3)>>3];b=p+(c[u>>2]<<3)|0;h[b>>3]=+h[b>>3]+ +h[B>>3]*+h[o+((c[w>>2]|0)-(c[u>>2]|0)+1<<3)>>3];b=o+((c[w>>2]|0)-(c[u>>2]|0)+1<<3)|0;h[b>>3]=+h[b>>3]+ +h[B>>3]*+h[F>>3];c[u>>2]=(c[u>>2]|0)+1}c[w>>2]=(c[w>>2]|0)+1}a:do if((K|0)==33){c[u>>2]=(c[w>>2]|0)+1;while(1){if((c[u>>2]|0)>=(c[s>>2]|0))break a;h[k+(c[u>>2]<<3)>>3]=0.0;c[u>>2]=(c[u>>2]|0)+1}}while(0);if(!(c[C>>2]|0)){h[z>>3]=+h[p>>3];h[F>>3]=1.0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[s>>2]|0))break;h[m>>3]=+h[k+(c[u>>2]<<3)>>3];h[z>>3]=+h[z>>3]+ +h[p+((c[u>>2]|0)+1<<3)>>3]*+h[m>>3];h[F>>3]=+h[F>>3]+ +h[m>>3]*+h[m>>3];g[(c[j>>2]|0)+(c[u>>2]<<2)>>2]=-+h[m>>3];c[u>>2]=(c[u>>2]|0)+1}h[z>>3]=+h[z>>3]-+h[n>>3]*9.999999747378752e-06*+h[F>>3];d=+h[z>>3];l=L;return +d}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[s>>2]|0))break;g[(c[j>>2]|0)+(c[u>>2]<<2)>>2]=-+h[k+(c[u>>2]<<3)>>3];c[u>>2]=(c[u>>2]|0)+1}c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[x>>2]|0))break;K=(c[I>>2]|0)+((S(c[D>>2]|0,c[E>>2]|0)|0)<<2)|0;d=+Ci(K,c[s>>2]|0);h[n>>3]=+h[n>>3]-d;c[D>>2]=(c[D>>2]|0)+1}h[z>>3]=+h[n>>3]*+h[t>>3];d=+h[z>>3];l=L;return +d}function Bi(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;i=k+12|0;h=k+8|0;j=k+4|0;f=k;c[e>>2]=a;c[i>>2]=b;g[h>>2]=d;g[f>>2]=+g[h>>2];c[j>>2]=0;while(1){d=+g[f>>2];a=c[e>>2]|0;if((c[j>>2]|0)>=((c[i>>2]|0)-1|0))break;b=a+(c[j>>2]<<2)|0;g[b>>2]=+g[b>>2]*d;g[f>>2]=+g[f>>2]*+g[h>>2];c[j>>2]=(c[j>>2]|0)+1}j=a+((c[i>>2]|0)-1<<2)|0;g[j>>2]=+g[j>>2]*d;l=k;return}function Ci(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0;j=l;l=l+32|0;d=j+16|0;e=j+12|0;f=j+8|0;i=j;c[d>>2]=a;c[e>>2]=b;h[i>>3]=0.0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=((c[e>>2]|0)-3|0))break;h[i>>3]=+h[i>>3]+(+g[(c[d>>2]|0)+((c[f>>2]|0)+0<<2)>>2]*+g[(c[d>>2]|0)+((c[f>>2]|0)+0<<2)>>2]+ +g[(c[d>>2]|0)+((c[f>>2]|0)+1<<2)>>2]*+g[(c[d>>2]|0)+((c[f>>2]|0)+1<<2)>>2]+ +g[(c[d>>2]|0)+((c[f>>2]|0)+2<<2)>>2]*+g[(c[d>>2]|0)+((c[f>>2]|0)+2<<2)>>2]+ +g[(c[d>>2]|0)+((c[f>>2]|0)+3<<2)>>2]*+g[(c[d>>2]|0)+((c[f>>2]|0)+3<<2)>>2]);c[f>>2]=(c[f>>2]|0)+4}while(1){if((c[f>>2]|0)>=(c[e>>2]|0))break;h[i>>3]=+h[i>>3]+ +g[(c[d>>2]|0)+(c[f>>2]<<2)>>2]*+g[(c[d>>2]|0)+(c[f>>2]<<2)>>2];c[f>>2]=(c[f>>2]|0)+1}l=j;return +(+h[i>>3])}function Di(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+20|0;f=m+16|0;i=m+12|0;j=m+8|0;k=m;c[e>>2]=a;c[f>>2]=b;c[i>>2]=d;h[k>>3]=0.0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=((c[i>>2]|0)-3|0))break;h[k>>3]=+h[k>>3]+(+g[(c[e>>2]|0)+((c[j>>2]|0)+0<<2)>>2]*+g[(c[f>>2]|0)+((c[j>>2]|0)+0<<2)>>2]+ +g[(c[e>>2]|0)+((c[j>>2]|0)+1<<2)>>2]*+g[(c[f>>2]|0)+((c[j>>2]|0)+1<<2)>>2]+ +g[(c[e>>2]|0)+((c[j>>2]|0)+2<<2)>>2]*+g[(c[f>>2]|0)+((c[j>>2]|0)+2<<2)>>2]+ +g[(c[e>>2]|0)+((c[j>>2]|0)+3<<2)>>2]*+g[(c[f>>2]|0)+((c[j>>2]|0)+3<<2)>>2]);c[j>>2]=(c[j>>2]|0)+4}while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;h[k>>3]=+h[k>>3]+ +g[(c[e>>2]|0)+(c[j>>2]<<2)>>2]*+g[(c[f>>2]|0)+(c[j>>2]<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}l=m;return +(+h[k>>3])}function Ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;e=o+28|0;j=o+24|0;i=o+20|0;f=o+16|0;h=o+12|0;k=o+8|0;m=o+4|0;n=o;c[e>>2]=a;c[j>>2]=b;c[i>>2]=d;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[i>>2]|0))break;g[k>>2]=+g[(c[j>>2]|0)+(c[f>>2]<<2)>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=((c[f>>2]|0)+1>>1|0))break;g[m>>2]=+g[(c[e>>2]|0)+(c[h>>2]<<2)>>2];g[n>>2]=+g[(c[e>>2]|0)+((c[f>>2]|0)-(c[h>>2]|0)-1<<2)>>2];g[(c[e>>2]|0)+(c[h>>2]<<2)>>2]=+g[m>>2]+ +g[n>>2]*+g[k>>2];g[(c[e>>2]|0)+((c[f>>2]|0)-(c[h>>2]|0)-1<<2)>>2]=+g[n>>2]+ +g[m>>2]*+g[k>>2];c[h>>2]=(c[h>>2]|0)+1}g[(c[e>>2]|0)+(c[f>>2]<<2)>>2]=-+g[k>>2];c[f>>2]=(c[f>>2]|0)+1}l=o;return}function Fi(d,e,f,i,j,k,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;m=+m;n=+n;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0;La=l;l=l+13936|0;Ka=La+10416|0;pa=La+10412|0;Ja=La+10408|0;Ha=La+10404|0;Fa=La+10400|0;R=La+10396|0;$=La+10392|0;E=La+10388|0;ba=La+10384|0;ya=La+10380|0;ga=La+10376|0;Ia=La+10372|0;fa=La+10368|0;X=La+10364|0;Ga=La+10360|0;ka=La+10356|0;qa=La+10352|0;H=La+9072|0;B=La+8432|0;w=La+13288|0;v=La+12968|0;s=La+8408|0;K=La+8404|0;ha=La+8400|0;M=La+6016|0;G=La+5756|0;O=La+5712|0;xa=La+5708|0;T=La+5704|0;ia=La+24|0;D=La+16|0;na=La+8|0;oa=La;V=La+5608|0;U=La+12664|0;_=La+5600|0;Z=La+5596|0;A=La+5592|0;da=La+5588|0;P=La+5584|0;Q=La+5580|0;ea=La+5576|0;Ca=La+5572|0;N=La+5568|0;za=La+5564|0;wa=La+5560|0;la=La+5556|0;Aa=La+5552|0;Ea=La+5548|0;Y=La+5544|0;aa=La+5540|0;W=La+5536|0;ma=La+2816|0;ja=La+96|0;ra=La+88|0;x=La+84|0;z=La+80|0;y=La+76|0;va=La+72|0;ca=La+68|0;F=La+64|0;Ba=La+60|0;ta=La+56|0;J=La+52|0;sa=La+48|0;I=La+44|0;C=La+40|0;ua=La+36|0;Da=La+32|0;u=La+11384|0;t=La+10424|0;c[pa>>2]=d;c[Ja>>2]=e;c[Ha>>2]=f;c[Fa>>2]=i;c[R>>2]=j;c[$>>2]=k;g[E>>2]=m;g[ba>>2]=n;c[ya>>2]=o;c[ga>>2]=p;c[Ia>>2]=q;c[fa>>2]=r;c[x>>2]=S(20+((c[Ia>>2]|0)*5|0)|0,c[ya>>2]|0)|0;c[y>>2]=20+((c[Ia>>2]|0)*5|0)<<2;c[z>>2]=20+((c[Ia>>2]|0)*5|0)<<3;c[va>>2]=(c[ya>>2]|0)*5;c[F>>2]=20;c[ca>>2]=40;c[Ba>>2]=c[ya>>2]<<1;c[J>>2]=8;c[ta>>2]=16;c[sa>>2]=((c[ya>>2]|0)*18|0)-1;c[C>>2]=72;c[I>>2]=143;do if((c[ya>>2]|0)!=16)if((c[ya>>2]|0)==12){Gi(t,c[pa>>2]|0,c[x>>2]|0);c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=0;oh(s,w,t,c[x>>2]|0);Hi(H,w,c[z>>2]|0);break}else{Gi(w,c[pa>>2]|0,c[z>>2]|0);break}else{Gi(u,c[pa>>2]|0,c[x>>2]|0);c[s>>2]=0;c[s+4>>2]=0;ph(s,w,u,c[x>>2]|0);Hi(H,w,c[z>>2]|0)}while(0);c[s>>2]=0;c[s+4>>2]=0;ph(s,v,w,c[z>>2]|0);Hi(B,v,c[y>>2]|0);c[X>>2]=(c[y>>2]|0)-1;while(1){if((c[X>>2]|0)<=0)break;if(!(+(~~+g[B+(c[X>>2]<<2)>>2]|0)+ +g[B+((c[X>>2]|0)-1<<2)>>2]>32767.0))if(+(~~+g[B+(c[X>>2]<<2)>>2]|0)+ +g[B+((c[X>>2]|0)-1<<2)>>2]<-32768.0)m=-32768.0;else m=+(~~+g[B+(c[X>>2]<<2)>>2]|0)+ +g[B+((c[X>>2]|0)-1<<2)>>2];else m=32767.0;g[B+(c[X>>2]<<2)>>2]=+(~~m<<16>>16);c[X>>2]=(c[X>>2]|0)+-1}wk(M|0,0,(c[Ia>>2]<<2)*149|0)|0;c[xa>>2]=B+(c[F>>2]<<2<<2);c[Ga>>2]=0;while(1){if((c[Ga>>2]|0)>=(c[Ia>>2]>>1|0))break;c[T>>2]=(c[xa>>2]|0)+(0-(c[J>>2]|0)<<2);Sd(c[xa>>2]|0,(c[xa>>2]|0)+(0-(c[C>>2]|0)<<2)|0,G,c[ca>>2]|0,(c[C>>2]|0)-(c[J>>2]|0)+1|0,c[fa>>2]|0);h[ia>>3]=+g[G+((c[C>>2]|0)-(c[J>>2]|0)<<2)>>2];n=+Ci(c[xa>>2]|0,c[ca>>2]|0);n=n+ +Ci(c[T>>2]|0,c[ca>>2]|0);h[D>>3]=n+ +(c[ca>>2]|0)*4.0e3;F=M+(c[J>>2]<<2)|0;g[F>>2]=+g[F>>2]+ +h[ia>>3]*2.0/+h[D>>3];c[ka>>2]=(c[J>>2]|0)+1;while(1){if((c[ka>>2]|0)>(c[C>>2]|0))break;c[T>>2]=(c[T>>2]|0)+-4;h[ia>>3]=+g[G+((c[C>>2]|0)-(c[ka>>2]|0)<<2)>>2];h[D>>3]=+h[D>>3]+(+g[c[T>>2]>>2]*+g[c[T>>2]>>2]-+g[(c[T>>2]|0)+(c[ca>>2]<<2)>>2]*+g[(c[T>>2]|0)+(c[ca>>2]<<2)>>2]);F=M+(c[ka>>2]<<2)|0;g[F>>2]=+g[F>>2]+ +h[ia>>3]*2.0/+h[D>>3];c[ka>>2]=(c[ka>>2]|0)+1}c[xa>>2]=(c[xa>>2]|0)+(c[ca>>2]<<2);c[Ga>>2]=(c[Ga>>2]|0)+1}c[X>>2]=c[C>>2];while(1){if((c[X>>2]|0)<(c[J>>2]|0))break;G=M+(c[X>>2]<<2)|0;g[G>>2]=+g[G>>2]-+g[M+(c[X>>2]<<2)>>2]*+(c[X>>2]|0)/4096.0;c[X>>2]=(c[X>>2]|0)+-1}c[_>>2]=4+(c[ga>>2]<<1);Qi(M+(c[J>>2]<<2)|0,V,(c[C>>2]|0)-(c[J>>2]|0)+1|0,c[_>>2]|0);g[A>>2]=+g[M+(c[J>>2]<<2)>>2];if(+g[A>>2]<.20000000298023224){wk(c[Ja>>2]|0,0,c[Ia>>2]<<2|0)|0;g[c[R>>2]>>2]=0.0;b[c[Ha>>2]>>1]=0;a[c[Fa>>2]>>0]=0;c[Ka>>2]=1;Ka=c[Ka>>2]|0;l=La;return Ka|0}g[K>>2]=+g[E>>2]*+g[A>>2];c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[_>>2]|0))break;o=c[X>>2]|0;if(!(+g[M+((c[J>>2]|0)+(c[X>>2]|0)<<2)>>2]>+g[K>>2])){L=27;break}c[V+(c[X>>2]<<2)>>2]=(c[V+(o<<2)>>2]|0)+(c[J>>2]|0)<<1;c[X>>2]=(c[X>>2]|0)+1}if((L|0)==27)c[_>>2]=o;c[X>>2]=(c[ta>>2]|0)-5;while(1){if((c[X>>2]|0)>=((c[I>>2]|0)+5|0))break;b[U+(c[X>>2]<<1)>>1]=0;c[X>>2]=(c[X>>2]|0)+1}c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[_>>2]|0))break;b[U+(c[V+(c[X>>2]<<2)>>2]<<1)>>1]=1;c[X>>2]=(c[X>>2]|0)+1}c[X>>2]=(c[I>>2]|0)+3;while(1){if((c[X>>2]|0)<(c[ta>>2]|0))break;L=U+(c[X>>2]<<1)|0;b[L>>1]=(b[L>>1]|0)+((b[U+((c[X>>2]|0)-1<<1)>>1]|0)+(b[U+((c[X>>2]|0)-2<<1)>>1]|0));c[X>>2]=(c[X>>2]|0)+-1}c[_>>2]=0;c[X>>2]=c[ta>>2];while(1){if((c[X>>2]|0)>=((c[I>>2]|0)+1|0))break;if((b[U+((c[X>>2]|0)+1<<1)>>1]|0)>0){c[V+(c[_>>2]<<2)>>2]=c[X>>2];c[_>>2]=(c[_>>2]|0)+1}c[X>>2]=(c[X>>2]|0)+1}c[X>>2]=(c[I>>2]|0)+3;while(1){if((c[X>>2]|0)<(c[ta>>2]|0))break;L=U+(c[X>>2]<<1)|0;b[L>>1]=(b[L>>1]|0)+((b[U+((c[X>>2]|0)-1<<1)>>1]|0)+(b[U+((c[X>>2]|0)-2<<1)>>1]|0)+(b[U+((c[X>>2]|0)-3<<1)>>1]|0));c[X>>2]=(c[X>>2]|0)+-1}c[Z>>2]=0;c[X>>2]=c[ta>>2];while(1){if((c[X>>2]|0)>=((c[I>>2]|0)+4|0))break;if((b[U+(c[X>>2]<<1)>>1]|0)>0){b[U+(c[Z>>2]<<1)>>1]=(c[X>>2]|0)-2;c[Z>>2]=(c[Z>>2]|0)+1}c[X>>2]=(c[X>>2]|0)+1}wk(M|0,0,2384)|0;if((c[ya>>2]|0)==8)c[xa>>2]=(c[pa>>2]|0)+640;else c[xa>>2]=H+640;c[Ga>>2]=0;while(1){if((c[Ga>>2]|0)>=(c[Ia>>2]|0))break;h[oa>>3]=+Ci(c[xa>>2]|0,c[ca>>2]|0)+1.0;c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[Z>>2]|0))break;c[ka>>2]=b[U+(c[qa>>2]<<1)>>1];c[T>>2]=(c[xa>>2]|0)+(0-(c[ka>>2]|0)<<2);h[ia>>3]=+Di(c[T>>2]|0,c[xa>>2]|0,c[ca>>2]|0);if(+h[ia>>3]>0.0){h[na>>3]=+Ci(c[T>>2]|0,c[ca>>2]|0);m=+h[ia>>3]*2.0/(+h[na>>3]+ +h[oa>>3]);o=M+((c[Ga>>2]|0)*596|0)+(c[ka>>2]<<2)|0}else{m=0.0;o=M+((c[Ga>>2]|0)*596|0)+(c[ka>>2]<<2)|0}g[o>>2]=m;c[qa>>2]=(c[qa>>2]|0)+1}c[xa>>2]=(c[xa>>2]|0)+(c[ca>>2]<<2);c[Ga>>2]=(c[Ga>>2]|0)+1}g[da>>2]=0.0;g[P>>2]=-1.0e3;c[Ca>>2]=0;c[za>>2]=-1;if((c[$>>2]|0)>0){if((c[ya>>2]|0)!=12){if((c[ya>>2]|0)==16)c[$>>2]=c[$>>2]>>1}else c[$>>2]=(c[$>>2]<<1|0)/3|0;g[aa>>2]=+Ii(+(c[$>>2]|0))}else g[aa>>2]=0.0;do if((c[Ia>>2]|0)==4){c[Ea>>2]=11;c[Da>>2]=30475;if((c[ya>>2]|0)==8&(c[ga>>2]|0)>0){c[ua>>2]=11;break}else{c[ua>>2]=3;break}}else{c[Ea>>2]=3;c[Da>>2]=30441;c[ua>>2]=3}while(0);c[Ga>>2]=0;while(1){if((c[Ga>>2]|0)>=(c[_>>2]|0))break;c[ka>>2]=c[V+(c[Ga>>2]<<2)>>2];c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[ua>>2]|0))break;g[O+(c[qa>>2]<<2)>>2]=0.0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[Ia>>2]|0))break;Z=S(c[X>>2]|0,c[Ea>>2]|0)|0;ca=O+(c[qa>>2]<<2)|0;g[ca>>2]=+g[ca>>2]+ +g[M+((c[X>>2]|0)*596|0)+((c[ka>>2]|0)+(a[(c[Da>>2]|0)+(Z+(c[qa>>2]|0))>>0]|0)<<2)>>2];c[X>>2]=(c[X>>2]|0)+1}c[qa>>2]=(c[qa>>2]|0)+1}g[ea>>2]=-1.0e3;c[N>>2]=0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[ua>>2]|0))break;if(+g[O+(c[X>>2]<<2)>>2]>+g[ea>>2]){g[ea>>2]=+g[O+(c[X>>2]<<2)>>2];c[N>>2]=c[X>>2]}c[X>>2]=(c[X>>2]|0)+1}g[Y>>2]=+Ii(+(c[ka>>2]|0));g[Q>>2]=+g[ea>>2]-+(c[Ia>>2]|0)*.20000000298023224*+g[Y>>2];if((c[$>>2]|0)>0){g[W>>2]=+g[Y>>2]-+g[aa>>2];g[W>>2]=+g[W>>2]*+g[W>>2];g[Q>>2]=+g[Q>>2]-+(c[Ia>>2]|0)*.20000000298023224*+g[c[R>>2]>>2]*+g[W>>2]/(+g[W>>2]+.5)}if(+g[Q>>2]>+g[P>>2]?+g[ea>>2]>+(c[Ia>>2]|0)*+g[ba>>2]:0){g[P>>2]=+g[Q>>2];g[da>>2]=+g[ea>>2];c[za>>2]=c[ka>>2];c[Ca>>2]=c[N>>2]}c[Ga>>2]=(c[Ga>>2]|0)+1}if((c[za>>2]|0)==-1){Ja=c[Ja>>2]|0;c[Ja>>2]=0;c[Ja+4>>2]=0;c[Ja+8>>2]=0;c[Ja+12>>2]=0;g[c[R>>2]>>2]=0.0;b[c[Ha>>2]>>1]=0;a[c[Fa>>2]>>0]=0;c[Ka>>2]=1;Ka=c[Ka>>2]|0;l=La;return Ka|0}g[c[R>>2]>>2]=+g[da>>2]/+(c[Ia>>2]|0);if((c[ya>>2]|0)>8){o=c[za>>2]|0;if((c[ya>>2]|0)==12)c[za>>2]=(((o&65535)<<16>>16)*3>>1)+(((c[za>>2]&65535)<<16>>16)*3&1);else c[za>>2]=o<<1;o=c[za>>2]|0;do if((c[Ba>>2]|0)>(c[sa>>2]|0))if((o|0)>(c[Ba>>2]|0)){o=c[Ba>>2]|0;break}else{o=(c[za>>2]|0)<(c[sa>>2]|0)?c[sa>>2]|0:c[za>>2]|0;break}else if((o|0)>(c[sa>>2]|0)){o=c[sa>>2]|0;break}else{o=(c[za>>2]|0)<(c[Ba>>2]|0)?c[Ba>>2]|0:c[za>>2]|0;break}while(0);c[za>>2]=o;c[wa>>2]=Ji((c[za>>2]|0)-2|0,c[Ba>>2]|0)|0;c[la>>2]=Ki((c[za>>2]|0)+2|0,c[sa>>2]|0)|0;c[Aa>>2]=c[za>>2];c[Ca>>2]=0;g[da>>2]=-1.0e3;Li(ja,c[pa>>2]|0,c[wa>>2]|0,c[va>>2]|0,c[Ia>>2]|0,c[ga>>2]|0,c[fa>>2]|0);Mi(ma,c[pa>>2]|0,c[wa>>2]|0,c[va>>2]|0,c[Ia>>2]|0,c[ga>>2]|0);c[ra>>2]=0;g[ha>>2]=.05000000074505806/+(c[za>>2]|0);if((c[Ia>>2]|0)==4){c[ua>>2]=a[30679+(c[ga>>2]|0)>>0];c[Ea>>2]=34;c[Da>>2]=30519}else{c[ua>>2]=12;c[Ea>>2]=12;c[Da>>2]=30447}c[xa>>2]=(c[pa>>2]|0)+((c[ya>>2]|0)*20<<2);h[oa>>3]=+Ci(c[xa>>2]|0,S(c[Ia>>2]|0,c[va>>2]|0)|0)+1.0;c[ka>>2]=c[wa>>2];while(1){if((c[ka>>2]|0)>(c[la>>2]|0))break;c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[ua>>2]|0))break;h[ia>>3]=0.0;h[na>>3]=+h[oa>>3];c[Ga>>2]=0;while(1){if((c[Ga>>2]|0)>=(c[Ia>>2]|0))break;h[ia>>3]=+h[ia>>3]+ +g[ja+((c[Ga>>2]|0)*680|0)+((c[qa>>2]|0)*20|0)+(c[ra>>2]<<2)>>2];h[na>>3]=+h[na>>3]+ +g[ma+((c[Ga>>2]|0)*680|0)+((c[qa>>2]|0)*20|0)+(c[ra>>2]<<2)>>2];c[Ga>>2]=(c[Ga>>2]|0)+1}if(+h[ia>>3]>0.0){g[ea>>2]=+h[ia>>3]*2.0/+h[na>>3];g[ea>>2]=+g[ea>>2]*(1.0-+g[ha>>2]*+(c[qa>>2]|0))}else g[ea>>2]=0.0;if(+g[ea>>2]>+g[da>>2]?((c[ka>>2]|0)+(a[30519+(c[qa>>2]|0)>>0]|0)|0)<=(c[sa>>2]|0):0){g[da>>2]=+g[ea>>2];c[Aa>>2]=c[ka>>2];c[Ca>>2]=c[qa>>2]}c[qa>>2]=(c[qa>>2]|0)+1}c[ra>>2]=(c[ra>>2]|0)+1;c[ka>>2]=(c[ka>>2]|0)+1}c[Ga>>2]=0;while(1){o=c[Aa>>2]|0;if((c[Ga>>2]|0)>=(c[Ia>>2]|0))break;za=S(c[Ga>>2]|0,c[Ea>>2]|0)|0;c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]=o+(a[(c[Da>>2]|0)+(za+(c[Ca>>2]|0))>>0]|0);o=c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0;do if((c[Ba>>2]|0)>((c[ya>>2]|0)*18|0)){if((o|0)>(c[Ba>>2]|0)){o=c[Ba>>2]|0;break}if((c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0)<((c[ya>>2]|0)*18|0)){o=(c[ya>>2]|0)*18|0;break}else{o=c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0;break}}else{if((o|0)>((c[ya>>2]|0)*18|0)){o=(c[ya>>2]|0)*18|0;break}if((c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0)<(c[Ba>>2]|0)){o=c[Ba>>2]|0;break}else{o=c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0;break}}while(0);c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]=o;c[Ga>>2]=(c[Ga>>2]|0)+1}b[c[Ha>>2]>>1]=o-(c[Ba>>2]|0);a[c[Fa>>2]>>0]=c[Ca>>2]}else{c[Ga>>2]=0;while(1){o=c[za>>2]|0;if((c[Ga>>2]|0)>=(c[Ia>>2]|0))break;Ba=S(c[Ga>>2]|0,c[Ea>>2]|0)|0;c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]=o+(a[(c[Da>>2]|0)+(Ba+(c[Ca>>2]|0))>>0]|0);o=c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0;do if((c[ta>>2]|0)>144){if((o|0)>(c[ta>>2]|0)){o=c[ta>>2]|0;break}if((c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0)<144)o=144;else o=c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0}else if((o|0)<=144)if((c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0)<(c[ta>>2]|0)){o=c[ta>>2]|0;break}else{o=c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0;break}else o=144;while(0);c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]=o;c[Ga>>2]=(c[Ga>>2]|0)+1}b[c[Ha>>2]>>1]=o-(c[ta>>2]|0);a[c[Fa>>2]>>0]=c[Ca>>2]}c[Ka>>2]=0;Ka=c[Ka>>2]|0;l=La;return Ka|0}function Gi(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;i=j+12|0;f=j+8|0;k=j+4|0;h=j;c[i>>2]=a;c[f>>2]=d;c[k>>2]=e;c[h>>2]=(c[k>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;if((ok(+g[(c[f>>2]|0)+(c[h>>2]<<2)>>2])|0)<=32767)if((ok(+g[(c[f>>2]|0)+(c[h>>2]<<2)>>2])|0)<-32768)d=-32768;else d=ok(+g[(c[f>>2]|0)+(c[h>>2]<<2)>>2])|0;else d=32767;b[(c[i>>2]|0)+(c[h>>2]<<1)>>1]=d;c[h>>2]=(c[h>>2]|0)+-1}l=j;return}function Hi(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;i=j+12|0;f=j+8|0;k=j+4|0;h=j;c[i>>2]=a;c[f>>2]=d;c[k>>2]=e;c[h>>2]=(c[k>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;g[(c[i>>2]|0)+(c[h>>2]<<2)>>2]=+(b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0);c[h>>2]=(c[h>>2]|0)+-1}l=j;return}function Ii(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;h[c>>3]=a;a=+nk(+h[c>>3])*3.32192809488736;l=b;return +a}function Ji(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Li(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+256|0;q=H+252|0;s=H+248|0;E=H+244|0;D=H+240|0;B=H+236|0;p=H+232|0;n=H+228|0;F=H+224|0;t=H+220|0;v=H+216|0;w=H+212|0;x=H+208|0;z=H+204|0;y=H+200|0;A=H+196|0;r=H+192|0;u=H+188|0;o=H+184|0;C=H+96|0;G=H+8|0;m=H+4|0;k=H;c[q>>2]=b;c[s>>2]=d;c[E>>2]=e;c[D>>2]=f;c[B>>2]=h;c[p>>2]=i;c[n>>2]=j;if((c[B>>2]|0)==4){c[m>>2]=30655+(c[p>>2]<<3);c[k>>2]=30519;c[A>>2]=a[30679+(c[p>>2]|0)>>0];c[o>>2]=34}else{c[m>>2]=30471;c[k>>2]=30447;c[A>>2]=12;c[o>>2]=12}c[F>>2]=(c[s>>2]|0)+(c[D>>2]<<2<<2);c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[B>>2]|0))break;c[x>>2]=0;c[z>>2]=a[(c[m>>2]|0)+((c[w>>2]<<1)+0)>>0];c[y>>2]=a[(c[m>>2]|0)+((c[w>>2]<<1)+1)>>0];Sd(c[F>>2]|0,(c[F>>2]|0)+(0-(c[E>>2]|0)<<2)+(0-(c[y>>2]|0)<<2)|0,G,c[D>>2]|0,(c[y>>2]|0)-(c[z>>2]|0)+1|0,c[n>>2]|0);c[v>>2]=c[z>>2];while(1){if((c[v>>2]|0)>(c[y>>2]|0))break;g[C+(c[x>>2]<<2)>>2]=+g[G+((c[y>>2]|0)-(c[v>>2]|0)<<2)>>2];c[x>>2]=(c[x>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+1}c[r>>2]=a[(c[m>>2]|0)+((c[w>>2]<<1)+0)>>0];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[A>>2]|0))break;e=S(c[w>>2]|0,c[o>>2]|0)|0;c[u>>2]=(a[(c[k>>2]|0)+(e+(c[t>>2]|0))>>0]|0)-(c[r>>2]|0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=5)break;g[(c[q>>2]|0)+((c[w>>2]|0)*680|0)+((c[t>>2]|0)*20|0)+(c[v>>2]<<2)>>2]=+g[C+((c[u>>2]|0)+(c[v>>2]|0)<<2)>>2];c[v>>2]=(c[v>>2]|0)+1}c[t>>2]=(c[t>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+(c[D>>2]<<2);c[w>>2]=(c[w>>2]|0)+1}l=H;return}
function Mi(b,d,e,f,i,j){b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+176|0;r=G+168|0;t=G+164|0;E=G+160|0;D=G+156|0;B=G+152|0;p=G+148|0;F=G+144|0;n=G+140|0;s=G;x=G+136|0;u=G+132|0;w=G+128|0;y=G+124|0;A=G+120|0;q=G+116|0;v=G+112|0;o=G+108|0;z=G+104|0;C=G+16|0;m=G+12|0;k=G+8|0;c[r>>2]=b;c[t>>2]=d;c[E>>2]=e;c[D>>2]=f;c[B>>2]=i;c[p>>2]=j;if((c[B>>2]|0)==4){c[m>>2]=30655+(c[p>>2]<<3);c[k>>2]=30519;c[A>>2]=a[30679+(c[p>>2]|0)>>0];c[o>>2]=34}else{c[m>>2]=30471;c[k>>2]=30447;c[A>>2]=12;c[o>>2]=12}c[F>>2]=(c[t>>2]|0)+(c[D>>2]<<2<<2);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[B>>2]|0))break;c[y>>2]=0;c[n>>2]=(c[F>>2]|0)+(0-((c[E>>2]|0)+(a[(c[m>>2]|0)+((c[x>>2]<<1)+0)>>0]|0))<<2);h[s>>3]=+Ci(c[n>>2]|0,c[D>>2]|0)+.001;g[C+(c[y>>2]<<2)>>2]=+h[s>>3];c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(a[(c[m>>2]|0)+((c[x>>2]<<1)+1)>>0]|0)-(a[(c[m>>2]|0)+((c[x>>2]<<1)+0)>>0]|0)+1;c[u>>2]=1;while(1){if((c[u>>2]|0)>=(c[z>>2]|0))break;h[s>>3]=+h[s>>3]-+g[(c[n>>2]|0)+((c[D>>2]|0)-(c[u>>2]|0)<<2)>>2]*+g[(c[n>>2]|0)+((c[D>>2]|0)-(c[u>>2]|0)<<2)>>2];h[s>>3]=+h[s>>3]+ +g[(c[n>>2]|0)+(0-(c[u>>2]|0)<<2)>>2]*+g[(c[n>>2]|0)+(0-(c[u>>2]|0)<<2)>>2];g[C+(c[y>>2]<<2)>>2]=+h[s>>3];c[y>>2]=(c[y>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1}c[q>>2]=a[(c[m>>2]|0)+((c[x>>2]<<1)+0)>>0];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[A>>2]|0))break;e=S(c[x>>2]|0,c[o>>2]|0)|0;c[v>>2]=(a[(c[k>>2]|0)+(e+(c[u>>2]|0))>>0]|0)-(c[q>>2]|0);c[w>>2]=0;while(1){if((c[w>>2]|0)>=5)break;g[(c[r>>2]|0)+((c[x>>2]|0)*680|0)+((c[u>>2]|0)*20|0)+(c[w>>2]<<2)>>2]=+g[C+((c[v>>2]|0)+(c[w>>2]|0)<<2)>>2];c[w>>2]=(c[w>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+(c[D>>2]<<2);c[x>>2]=(c[x>>2]|0)+1}l=G;return}function Ni(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+20|0;i=n+16|0;k=n+12|0;f=n+8|0;m=n+4|0;h=n;c[j>>2]=a;c[i>>2]=b;g[k>>2]=d;c[f>>2]=e;c[h>>2]=c[f>>2]&65532;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[h>>2]|0))break;g[(c[j>>2]|0)+((c[m>>2]|0)+0<<2)>>2]=+g[k>>2]*+g[(c[i>>2]|0)+((c[m>>2]|0)+0<<2)>>2];g[(c[j>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=+g[k>>2]*+g[(c[i>>2]|0)+((c[m>>2]|0)+1<<2)>>2];g[(c[j>>2]|0)+((c[m>>2]|0)+2<<2)>>2]=+g[k>>2]*+g[(c[i>>2]|0)+((c[m>>2]|0)+2<<2)>>2];g[(c[j>>2]|0)+((c[m>>2]|0)+3<<2)>>2]=+g[k>>2]*+g[(c[i>>2]|0)+((c[m>>2]|0)+3<<2)>>2];c[m>>2]=(c[m>>2]|0)+4}while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;g[(c[j>>2]|0)+(c[m>>2]<<2)>>2]=+g[k>>2]*+g[(c[i>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}l=n;return}function Oi(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;i=k+12|0;f=k+8|0;j=k+4|0;h=k;c[e>>2]=a;g[i>>2]=b;c[f>>2]=d;c[h>>2]=c[f>>2]&65532;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;d=(c[e>>2]|0)+((c[j>>2]|0)+0<<2)|0;g[d>>2]=+g[d>>2]*+g[i>>2];d=(c[e>>2]|0)+((c[j>>2]|0)+1<<2)|0;g[d>>2]=+g[d>>2]*+g[i>>2];d=(c[e>>2]|0)+((c[j>>2]|0)+2<<2)|0;g[d>>2]=+g[d>>2]*+g[i>>2];d=(c[e>>2]|0)+((c[j>>2]|0)+3<<2)|0;g[d>>2]=+g[d>>2]*+g[i>>2];c[j>>2]=(c[j>>2]|0)+4}while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;h=(c[e>>2]|0)+(c[j>>2]<<2)|0;g[h>>2]=+g[h>>2]*+g[i>>2];c[j>>2]=(c[j>>2]|0)+1}l=k;return}function Pi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+448|0;p=q+440|0;j=q+436|0;n=q+432|0;k=q+428|0;m=q+424|0;e=q+24|0;f=q+16|0;i=q+8|0;o=q;c[p>>2]=a;c[j>>2]=b;c[n>>2]=d;c[k>>2]=0;do{r=+g[(c[j>>2]|0)+(c[k>>2]<<2)>>2];h[e+(c[k>>2]<<4)+8>>3]=r;h[e+(c[k>>2]<<4)>>3]=r;a=(c[k>>2]|0)+1|0;c[k>>2]=a}while((a|0)<=(c[n>>2]|0));c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[n>>2]|0))break;h[o>>3]=-+h[e+((c[k>>2]|0)+1<<4)>>3]/(+h[e+8>>3]>9.999999717180685e-10?+h[e+8>>3]:9.999999717180685e-10);g[(c[p>>2]|0)+(c[k>>2]<<2)>>2]=+h[o>>3];c[m>>2]=0;while(1){if((c[m>>2]|0)>=((c[n>>2]|0)-(c[k>>2]|0)|0))break;h[f>>3]=+h[e+((c[m>>2]|0)+(c[k>>2]|0)+1<<4)>>3];h[i>>3]=+h[e+(c[m>>2]<<4)+8>>3];h[e+((c[m>>2]|0)+(c[k>>2]|0)+1<<4)>>3]=+h[f>>3]+ +h[i>>3]*+h[o>>3];h[e+(c[m>>2]<<4)+8>>3]=+h[i>>3]+ +h[f>>3]*+h[o>>3];c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+1}l=q;return +(+h[e+8>>3])}function Qi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;k=o+20|0;h=o+16|0;f=o+12|0;n=o+8|0;j=o+4|0;m=o;c[i>>2]=a;c[k>>2]=b;c[h>>2]=d;c[f>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]=c[j>>2];c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=1;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;g[n>>2]=+g[(c[i>>2]|0)+(c[j>>2]<<2)>>2];c[m>>2]=(c[j>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;if(!(+g[n>>2]>+g[(c[i>>2]|0)+(c[m>>2]<<2)>>2]))break;g[(c[i>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=+g[(c[i>>2]|0)+(c[m>>2]<<2)>>2];c[(c[k>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=c[(c[k>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+-1}g[(c[i>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=+g[n>>2];c[(c[k>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=c[j>>2];c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=c[f>>2];while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;g[n>>2]=+g[(c[i>>2]|0)+(c[j>>2]<<2)>>2];if(+g[n>>2]>+g[(c[i>>2]|0)+((c[f>>2]|0)-1<<2)>>2]){c[m>>2]=(c[f>>2]|0)-2;while(1){if((c[m>>2]|0)<0)break;if(!(+g[n>>2]>+g[(c[i>>2]|0)+(c[m>>2]<<2)>>2]))break;g[(c[i>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=+g[(c[i>>2]|0)+(c[m>>2]<<2)>>2];c[(c[k>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=c[(c[k>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+-1}g[(c[i>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=+g[n>>2];c[(c[k>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=c[j>>2]}c[j>>2]=(c[j>>2]|0)+1}l=o;return}function Ri(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=na(0,0,0,0),ga=na(0,0,0,0),ha=ma(0,0,0,0,0,0,0,0),ia=na(0,0,0,0);ba=l;l=l+496|0;A=ba+486|0;i=ba+320|0;r=ba+304|0;w=ba+288|0;q=ba+272|0;x=ba+256|0;p=ba+240|0;v=ba+224|0;o=ba+208|0;u=ba+192|0;n=ba+176|0;t=ba+160|0;m=ba+144|0;s=ba+128|0;I=ba+112|0;J=ba+96|0;E=ba+80|0;G=ba+480|0;k=ba+64|0;y=ba+476|0;z=ba+472|0;h=ba+48|0;X=ba+468|0;ea=ba+464|0;U=ba+460|0;Q=ba+456|0;P=ba+452|0;da=ba+448|0;ca=ba+444|0;D=ba+440|0;B=ba+436|0;C=ba+432|0;V=ba+428|0;F=ba+424|0;W=ba+420|0;H=ba+416|0;R=ba+412|0;$=ba+408|0;f=ba+484|0;O=ba+392|0;T=ba+376|0;aa=ba+372|0;L=ba+368|0;j=ba+352|0;Z=ba+344|0;Y=ba+340|0;_=ba+336|0;M=ba+32|0;N=ba+16|0;K=ba;c[X>>2]=a;c[ea>>2]=e;c[Z>>2]=0;c[Y>>2]=(c[X>>2]|0)+32;c[da>>2]=c[(c[X>>2]|0)+4580>>2]>>1;c[ca>>2]=c[(c[X>>2]|0)+4580>>2]>>2;c[D>>2]=c[(c[X>>2]|0)+4580>>2]>>3;c[j>>2]=0;c[j+4>>2]=(c[D>>2]|0)+(c[ca>>2]|0);c[j+8>>2]=(c[j+4>>2]|0)+(c[D>>2]|0);c[j+12>>2]=(c[j+8>>2]|0)+(c[ca>>2]|0);a=(c[j+12>>2]|0)+(c[da>>2]|0)|0;c[_>>2]=la()|0;g=l;l=l+((1*(a<<1)|0)+15&-16)|0;Qg(c[ea>>2]|0,c[Y>>2]|0,g,g+(c[j+12>>2]<<1)|0,c[(c[X>>2]|0)+4580>>2]|0);Qg(g,(c[Y>>2]|0)+8|0,g,g+(c[j+8>>2]<<1)|0,c[da>>2]|0);Qg(g,(c[Y>>2]|0)+16|0,g,g+(c[j+4>>2]<<1)|0,c[ca>>2]|0);b[g+((c[D>>2]|0)-1<<1)>>1]=b[g+((c[D>>2]|0)-1<<1)>>1]>>1;b[f>>1]=b[g+((c[D>>2]|0)-1<<1)>>1]|0;c[F>>2]=(c[D>>2]|0)-1;while(1){if((c[F>>2]|0)<=0)break;b[g+((c[F>>2]|0)-1<<1)>>1]=b[g+((c[F>>2]|0)-1<<1)>>1]>>1;ea=g+(c[F>>2]<<1)|0;b[ea>>1]=(b[ea>>1]|0)-(b[g+((c[F>>2]|0)-1<<1)>>1]|0);c[F>>2]=(c[F>>2]|0)+-1}b[g>>1]=(b[g>>1]|0)-(b[(c[Y>>2]|0)+56>>1]|0);b[(c[Y>>2]|0)+56>>1]=b[f>>1]|0;c[W>>2]=0;while(1){if((c[W>>2]|0)>=4)break;ea=c[(c[X>>2]|0)+4580>>2]|0;c[D>>2]=ea>>(Si(4-(c[W>>2]|0)|0,3)|0);c[B>>2]=c[D>>2]>>2;c[C>>2]=0;c[O+(c[W>>2]<<2)>>2]=c[(c[Y>>2]|0)+24+(c[W>>2]<<2)>>2];c[H>>2]=0;while(1){if((c[H>>2]|0)>=4)break;c[R>>2]=0;ea=h;gb(d,ea,Qa(0));ea=N;gb(d,ea,fb(d,h));c[F>>2]=0;while(1){if((c[F>>2]|0)>=((c[B>>2]|0)-7|0))break;c[z>>2]=g+((c[j+(c[W>>2]<<2)>>2]|0)+(c[F>>2]|0)+(c[C>>2]|0)<<1);ea=M;gb(d,ea,fb(d,c[z>>2]|0));ea=k;gb(d,ea,fb(d,M));c[y>>2]=3;ha=Ha(fb(d,k));ea=(c[y>>2]|0)>>>0<15?c[y>>2]|0:15;da=M;gb(d,da,lb(pa(Na(pa(ha),ea|0))));ga=fb(d,M);fa=fb(d,M);ea=m;gb(d,ea,ga);ea=s;gb(d,ea,fa);ea=I;gb(d,ea,fb(d,m));ea=J;gb(d,ea,fb(d,s));c[G>>2]=0;while(1){if((c[G>>2]|0)>=4)break;ea=S(b[I+(c[G>>2]<<1<<1)>>1]|0,b[J+(c[G>>2]<<1<<1)>>1]|0)|0;ea=ea+(S(b[I+((c[G>>2]<<1)+1<<1)>>1]|0,b[J+((c[G>>2]<<1)+1<<1)>>1]|0)|0)|0;c[E+(c[G>>2]<<2)>>2]=ea;c[G>>2]=(c[G>>2]|0)+1}ea=M;gb(d,ea,fb(d,E));fa=fb(d,N);ga=fb(d,M);ea=n;gb(d,ea,fa);ea=t;gb(d,ea,ga);ga=fb(d,n);ea=N;gb(d,ea,Ua(ga,fb(d,t)));c[F>>2]=(c[F>>2]|0)+8}ga=fb(d,N);ia=fb(d,N);fa=fb(d,N);ea=o;gb(d,ea,ia);ea=u;gb(d,ea,fa);fa=fb(d,o);fa=eb(fa,fb(d,u),2,3,6,7);ea=p;gb(d,ea,ga);ea=v;gb(d,ea,fa);fa=fb(d,p);ea=N;gb(d,ea,Ua(fa,fb(d,v)));fa=fb(d,N);ha=Ha(fb(d,N));b[A>>1]=0;Ga(d,i,ma(b[A>>1]|0,b[A>>1]|0,b[A>>1]|0,b[A>>1]|0,b[A>>1]|0,b[A>>1]|0,b[A>>1]|0,b[A>>1]|0));Ha(lb(Fa(d,i)));ea=K;gb(d,ea,lb(Da(ha,2,3,0,0,4,5,6,7)));ga=fb(d,K);ea=r;gb(d,ea,fa);ea=w;gb(d,ea,ga);ga=fb(d,r);ea=N;gb(d,ea,Ua(ga,fb(d,w)));ea=q;gb(d,ea,fb(d,N));ea=x;gb(d,ea,fb(d,q));ea=Sa(fb(d,x),0)|0;c[R>>2]=(c[R>>2]|0)+ea;while(1){if((c[F>>2]|0)>=(c[B>>2]|0))break;c[L>>2]=b[g+((c[j+(c[W>>2]<<2)>>2]|0)+(c[F>>2]|0)+(c[C>>2]|0)<<1)>>1]>>3;c[R>>2]=(c[R>>2]|0)+(S((c[L>>2]&65535)<<16>>16,(c[L>>2]&65535)<<16>>16)|0);c[F>>2]=(c[F>>2]|0)+1}e=c[O+(c[W>>2]<<2)>>2]|0;a=c[R>>2]|0;if((c[H>>2]|0)<3){if(e+a&-2147483648|0)e=2147483647;else e=(c[O+(c[W>>2]<<2)>>2]|0)+(c[R>>2]|0)|0;a=c[W>>2]|0}else{if(e+(a>>1)&-2147483648|0)e=2147483647;else e=(c[O+(c[W>>2]<<2)>>2]|0)+(c[R>>2]>>1)|0;a=c[W>>2]|0}c[O+(a<<2)>>2]=e;c[C>>2]=(c[C>>2]|0)+(c[B>>2]|0);c[H>>2]=(c[H>>2]|0)+1}c[(c[Y>>2]|0)+24+(c[W>>2]<<2)>>2]=c[R>>2];c[W>>2]=(c[W>>2]|0)+1}dg(O,c[Y>>2]|0);c[R>>2]=0;c[P>>2]=0;c[W>>2]=0;while(1){if((c[W>>2]|0)>=4)break;c[aa>>2]=(c[O+(c[W>>2]<<2)>>2]|0)-(c[(c[Y>>2]|0)+60+(c[W>>2]<<2)>>2]|0);e=c[W>>2]|0;if((c[aa>>2]|0)>0){f=c[O+(c[W>>2]<<2)>>2]|0;if(!(c[O+(e<<2)>>2]&-8388608)){a=c[W>>2]|0;e=(f<<8|0)/((c[(c[Y>>2]|0)+60+(c[W>>2]<<2)>>2]|0)+1|0)|0}else{a=c[W>>2]|0;e=(f|0)/((c[(c[Y>>2]|0)+60+(c[W>>2]<<2)>>2]>>8)+1|0)|0}c[T+(a<<2)>>2]=e;c[V>>2]=(Wg(c[T+(c[W>>2]<<2)>>2]|0)|0)-1024;c[R>>2]=(c[R>>2]|0)+(S((c[V>>2]&65535)<<16>>16,(c[V>>2]&65535)<<16>>16)|0);if((c[aa>>2]|0)<1048576){da=(Ti(c[aa>>2]|0)|0)<<6>>16;da=S(da,(c[V>>2]&65535)<<16>>16)|0;ea=(Ti(c[aa>>2]|0)|0)<<6&65535;c[V>>2]=da+((S(ea,(c[V>>2]&65535)<<16>>16)|0)>>16)}ea=S(c[18056+(c[W>>2]<<2)>>2]>>16,(c[V>>2]&65535)<<16>>16)|0;c[P>>2]=(c[P>>2]|0)+(ea+((S(c[18056+(c[W>>2]<<2)>>2]&65535,(c[V>>2]&65535)<<16>>16)|0)>>16))}else c[T+(e<<2)>>2]=256;c[W>>2]=(c[W>>2]|0)+1}c[R>>2]=(c[R>>2]|0)/4|0;c[Q>>2]=((Ti(c[R>>2]|0)|0)*3&65535)<<16>>16;c[U>>2]=xh(0+(((c[Q>>2]&65535)<<16>>16)*45e3>>16)-128|0)|0;ea=(xh(c[P>>2]|0)|0)-16384<<1;c[(c[X>>2]|0)+4708>>2]=ea;c[aa>>2]=0;c[W>>2]=0;while(1){if((c[W>>2]|0)>=4)break;ea=S((c[W>>2]|0)+1|0,(c[O+(c[W>>2]<<2)>>2]|0)-(c[(c[Y>>2]|0)+60+(c[W>>2]<<2)>>2]|0)>>4)|0;c[aa>>2]=(c[aa>>2]|0)+ea;c[W>>2]=(c[W>>2]|0)+1}if((c[aa>>2]|0)>0){if((c[aa>>2]|0)<32768){e=c[aa>>2]|0;if((c[(c[X>>2]|0)+4580>>2]|0)==((c[(c[X>>2]|0)+4572>>2]|0)*10|0)){if((e|0)>32767)e=32767;else e=(c[aa>>2]|0)<-32768?-32768:c[aa>>2]|0;c[aa>>2]=e<<16}else{if((e|0)>65535)e=65535;else e=(c[aa>>2]|0)<-65536?-65536:c[aa>>2]|0;c[aa>>2]=e<<15}c[aa>>2]=Ti(c[aa>>2]|0)|0;ea=S(32768+(c[aa>>2]|0)>>16,(c[U>>2]&65535)<<16>>16)|0;c[U>>2]=ea+((S(32768+(c[aa>>2]|0)&65535,(c[U>>2]&65535)<<16>>16)|0)>>16)}}else c[U>>2]=c[U>>2]>>1;ea=Si(c[U>>2]>>7,255)|0;c[(c[X>>2]|0)+4528>>2]=ea;ea=S(c[U>>2]>>16,(c[U>>2]&65535)<<16>>16)|0;c[$>>2]=0+((ea+((S(c[U>>2]&65535,(c[U>>2]&65535)<<16>>16)|0)>>16)&65535)<<16>>16<<12>>16);if((c[(c[X>>2]|0)+4580>>2]|0)==((c[(c[X>>2]|0)+4572>>2]|0)*10|0))c[$>>2]=c[$>>2]>>1;c[W>>2]=0;while(1){if((c[W>>2]|0)>=4)break;ea=S((c[T+(c[W>>2]<<2)>>2]|0)-(c[(c[Y>>2]|0)+40+(c[W>>2]<<2)>>2]|0)>>16,(c[$>>2]&65535)<<16>>16)|0;ea=(c[(c[Y>>2]|0)+40+(c[W>>2]<<2)>>2]|0)+(ea+((S((c[T+(c[W>>2]<<2)>>2]|0)-(c[(c[Y>>2]|0)+40+(c[W>>2]<<2)>>2]|0)&65535,(c[$>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[Y>>2]|0)+40+(c[W>>2]<<2)>>2]=ea;c[V>>2]=((Wg(c[(c[Y>>2]|0)+40+(c[W>>2]<<2)>>2]|0)|0)-1024|0)*3;ea=xh((c[V>>2]|0)-2048>>4)|0;c[(c[X>>2]|0)+4692+(c[W>>2]<<2)>>2]=ea;c[W>>2]=(c[W>>2]|0)+1}ea=c[Z>>2]|0;ka(c[_>>2]|0);l=ba;return ea|0}function Si(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Ti(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+16|0;f=h+12|0;g=h+8|0;d=h+4|0;b=h;c[f>>2]=a;if((c[f>>2]|0)<=0){c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}Ui(c[f>>2]|0,d,b);if(c[d>>2]&1|0)c[g>>2]=32768;else c[g>>2]=46214;c[g>>2]=c[g>>2]>>(c[d>>2]>>1);f=S(c[g>>2]>>16,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[g>>2]=(c[g>>2]|0)+(f+((S(c[g>>2]&65535,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[e>>2]=c[g>>2];g=c[e>>2]|0;l=h;return g|0}function Ui(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=Vi(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];b=(Wi(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;l=e;return}function Vi(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(V(c[b>>2]|0)|0))|0;l=d;return b|0}function Wi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+20|0;d=j+16|0;h=j+12|0;i=j+8|0;f=j+4|0;e=j;c[d>>2]=a;c[h>>2]=b;c[i>>2]=c[d>>2];c[f>>2]=c[h>>2];c[e>>2]=0-(c[h>>2]|0);if(!(c[h>>2]|0)){c[g>>2]=c[d>>2];i=c[g>>2]|0;l=j;return i|0}a=c[i>>2]|0;if((c[h>>2]|0)<0){c[g>>2]=a<<c[e>>2]|(c[i>>2]|0)>>>(32-(c[e>>2]|0)|0);i=c[g>>2]|0;l=j;return i|0}else{c[g>>2]=a<<32-(c[f>>2]|0)|(c[i>>2]|0)>>>(c[f>>2]|0);i=c[g>>2]|0;l=j;return i|0}return 0}function Xi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;A=l;l=l+80|0;j=A+64|0;i=A+60|0;h=A+56|0;o=A+52|0;m=A+48|0;r=A+44|0;x=A+40|0;k=A+36|0;y=A+32|0;n=A+28|0;w=A+24|0;q=A+20|0;s=A+16|0;v=A+12|0;u=A+8|0;p=A+4|0;t=A;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[o>>2]=e;if(!((((c[h>>2]|0)<1|(c[i>>2]|0)<1)^1)&(c[j>>2]|0)!=0&(c[o>>2]|0)!=0)){l=A;return}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(S(c[i>>2]|0,c[h>>2]|0)|0))break;if(2.0<+g[(c[j>>2]|0)+(c[r>>2]<<2)>>2])f=2.0;else f=+g[(c[j>>2]|0)+(c[r>>2]<<2)>>2];if(!(-2.0>f))if(2.0<+g[(c[j>>2]|0)+(c[r>>2]<<2)>>2])f=2.0;else f=+g[(c[j>>2]|0)+(c[r>>2]<<2)>>2];else f=-2.0;g[(c[j>>2]|0)+(c[r>>2]<<2)>>2]=f;c[r>>2]=(c[r>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[h>>2]|0))break;c[x>>2]=(c[j>>2]|0)+(c[m>>2]<<2);g[k>>2]=+g[(c[o>>2]|0)+(c[m>>2]<<2)>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[i>>2]|0))break;f=+g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];if(f*+g[k>>2]>=0.0)break;B=+g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];f=+g[k>>2]*+g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];f=B+f*+g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2]=f;c[r>>2]=(c[r>>2]|0)+1}c[n>>2]=0;g[y>>2]=+g[c[x>>2]>>2];do{c[v>>2]=0;c[r>>2]=c[n>>2];while(1){if((c[r>>2]|0)>=(c[i>>2]|0))break;if(+g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2]>1.0)break;if(+g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2]<-1.0)break;c[r>>2]=(c[r>>2]|0)+1}if((c[r>>2]|0)==(c[i>>2]|0)){z=23;break}c[u>>2]=c[r>>2];e=c[r>>2]|0;c[q>>2]=e;c[w>>2]=e;g[s>>2]=+F(+(+g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2]));while(1){if((c[w>>2]|0)<=0)break;B=+g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];if(!(B*+g[(c[x>>2]|0)+((S((c[w>>2]|0)-1|0,c[h>>2]|0)|0)<<2)>>2]>=0.0))break;c[w>>2]=(c[w>>2]|0)+-1}while(1){if((c[q>>2]|0)>=(c[i>>2]|0))break;B=+g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];if(!(B*+g[(c[x>>2]|0)+((S(c[q>>2]|0,c[h>>2]|0)|0)<<2)>>2]>=0.0))break;B=+F(+(+g[(c[x>>2]|0)+((S(c[q>>2]|0,c[h>>2]|0)|0)<<2)>>2]));if(B>+g[s>>2]){g[s>>2]=+F(+(+g[(c[x>>2]|0)+((S(c[q>>2]|0,c[h>>2]|0)|0)<<2)>>2]));c[u>>2]=c[q>>2]}c[q>>2]=(c[q>>2]|0)+1}if(!(c[w>>2]|0)){B=+g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];d=B*+g[c[x>>2]>>2]>=0.0}else d=0;c[v>>2]=d&1;g[k>>2]=(+g[s>>2]-1.0)/(+g[s>>2]*+g[s>>2]);g[k>>2]=+g[k>>2]+ +g[k>>2]*2.399999914359796e-07;if(+g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2]>0.0)g[k>>2]=-+g[k>>2];c[r>>2]=c[w>>2];while(1){if((c[r>>2]|0)>=(c[q>>2]|0))break;f=+g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];B=+g[k>>2]*+g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];B=f+B*+g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2]=B;c[r>>2]=(c[r>>2]|0)+1}a:do if((c[v>>2]|0)!=0&(c[u>>2]|0)>=2){g[t>>2]=+g[y>>2]-+g[c[x>>2]>>2];g[p>>2]=+g[t>>2]/+(c[u>>2]|0);c[r>>2]=c[n>>2];while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break a;g[t>>2]=+g[t>>2]-+g[p>>2];e=(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)|0;g[e>>2]=+g[e>>2]+ +g[t>>2];if(1.0<+g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2])f=1.0;else f=+g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];if(!(-1.0>f))if(1.0<+g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2])f=1.0;else f=+g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];else f=-1.0;g[(c[x>>2]|0)+((S(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2]=f;c[r>>2]=(c[r>>2]|0)+1}}while(0);c[n>>2]=c[q>>2]}while((c[n>>2]|0)!=(c[i>>2]|0));if((z|0)==23){z=0;g[k>>2]=0.0}g[(c[o>>2]|0)+(c[m>>2]<<2)>>2]=+g[k>>2];c[m>>2]=(c[m>>2]|0)+1}l=A;return}function Yi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;h=i+4|0;f=i;c[h>>2]=b;c[f>>2]=e;e=c[h>>2]|0;if((c[h>>2]|0)<252){a[c[f>>2]>>0]=e;c[g>>2]=1;h=c[g>>2]|0;l=i;return h|0}else{a[c[f>>2]>>0]=252+(e&3);a[(c[f>>2]|0)+1>>0]=(c[h>>2]|0)-(d[c[f>>2]>>0]|0)>>2;c[g>>2]=2;h=c[g>>2]|0;l=i;return h|0}return 0}function Zi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a=d[c[e>>2]>>0]|0;if((d[c[e>>2]>>0]|0)&128|0){c[g>>2]=a>>3&3;c[g>>2]=(c[f>>2]<<c[g>>2]|0)/400|0;g=c[g>>2]|0;l=h;return g|0}b=d[c[e>>2]>>0]|0;if((a&96|0)==96){c[g>>2]=(c[f>>2]|0)/((b&8|0?50:100)|0)|0;g=c[g>>2]|0;l=h;return g|0}c[g>>2]=b>>3&3;b=c[f>>2]|0;if((c[g>>2]|0)==3){c[g>>2]=(b*60|0)/1e3|0;g=c[g>>2]|0;l=h;return g|0}else{c[g>>2]=(b<<c[g>>2]|0)/100|0;g=c[g>>2]|0;l=h;return g|0}return 0}function _i(e,f,g,h,i,j,k,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+80|0;D=J+72|0;r=J+68|0;x=J+64|0;E=J+60|0;y=J+56|0;t=J+52|0;F=J+48|0;C=J+44|0;A=J+40|0;v=J+36|0;n=J+32|0;q=J+28|0;o=J+24|0;p=J+77|0;H=J+76|0;u=J+20|0;w=J+16|0;B=J+12|0;s=J+8|0;z=J+4|0;G=J;c[r>>2]=e;c[x>>2]=f;c[E>>2]=g;c[y>>2]=h;c[t>>2]=i;c[F>>2]=j;c[C>>2]=k;c[A>>2]=m;c[B>>2]=0;c[s>>2]=c[r>>2];if((c[F>>2]|0)==0|(c[x>>2]|0)<0){c[D>>2]=-1;I=c[D>>2]|0;l=J;return I|0}if(!(c[x>>2]|0)){c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}c[u>>2]=Zi(c[r>>2]|0,48e3)|0;c[o>>2]=0;j=c[r>>2]|0;c[r>>2]=j+1;a[H>>0]=a[j>>0]|0;c[x>>2]=(c[x>>2]|0)+-1;c[w>>2]=c[x>>2];a:do switch(d[H>>0]&3|0){case 0:{c[q>>2]=1;break}case 1:{c[q>>2]=2;c[o>>2]=1;if(!(c[E>>2]|0)){if(!(c[x>>2]&1)){c[w>>2]=(c[x>>2]|0)/2|0;b[c[F>>2]>>1]=c[w>>2];break a}c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}break}case 2:{c[q>>2]=2;c[n>>2]=$i(c[r>>2]|0,c[x>>2]|0,c[F>>2]|0)|0;c[x>>2]=(c[x>>2]|0)-(c[n>>2]|0);if((b[c[F>>2]>>1]|0)>=0?(b[c[F>>2]>>1]|0)<=(c[x>>2]|0):0){c[r>>2]=(c[r>>2]|0)+(c[n>>2]|0);c[w>>2]=(c[x>>2]|0)-(b[c[F>>2]>>1]|0);break a}c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}default:{if((c[x>>2]|0)<1){c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}j=c[r>>2]|0;c[r>>2]=j+1;a[p>>0]=a[j>>0]|0;c[q>>2]=d[p>>0]&63;if((c[q>>2]|0)>0?(S(c[u>>2]|0,c[q>>2]|0)|0)<=5760:0){c[x>>2]=(c[x>>2]|0)+-1;b:do if(d[p>>0]&64|0){while(1){if((c[x>>2]|0)<=0)break;j=c[r>>2]|0;c[r>>2]=j+1;c[z>>2]=d[j>>0];c[x>>2]=(c[x>>2]|0)+-1;c[G>>2]=(c[z>>2]|0)==255?254:c[z>>2]|0;c[x>>2]=(c[x>>2]|0)-(c[G>>2]|0);c[B>>2]=(c[B>>2]|0)+(c[G>>2]|0);if((c[z>>2]|0)!=255)break b}c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}while(0);if((c[x>>2]|0)<0){c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}c[o>>2]=((d[p>>0]&128|0)!=0^1)&1;if(c[o>>2]|0){if(c[E>>2]|0)break a;c[w>>2]=(c[x>>2]|0)/(c[q>>2]|0)|0;I=S(c[w>>2]|0,c[q>>2]|0)|0;if((I|0)!=(c[x>>2]|0)){c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}c[v>>2]=0;while(1){if((c[v>>2]|0)>=((c[q>>2]|0)-1|0))break a;b[(c[F>>2]|0)+(c[v>>2]<<1)>>1]=c[w>>2];c[v>>2]=(c[v>>2]|0)+1}}c[w>>2]=c[x>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=((c[q>>2]|0)-1|0))break;c[n>>2]=$i(c[r>>2]|0,c[x>>2]|0,(c[F>>2]|0)+(c[v>>2]<<1)|0)|0;c[x>>2]=(c[x>>2]|0)-(c[n>>2]|0);if((b[(c[F>>2]|0)+(c[v>>2]<<1)>>1]|0)<0){I=31;break}if((b[(c[F>>2]|0)+(c[v>>2]<<1)>>1]|0)>(c[x>>2]|0)){I=31;break}c[r>>2]=(c[r>>2]|0)+(c[n>>2]|0);c[w>>2]=(c[w>>2]|0)-((c[n>>2]|0)+(b[(c[F>>2]|0)+(c[v>>2]<<1)>>1]|0));c[v>>2]=(c[v>>2]|0)+1}if((I|0)==31){c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}if((c[w>>2]|0)>=0)break a;c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}}while(0);c:do if(c[E>>2]|0){c[n>>2]=$i(c[r>>2]|0,c[x>>2]|0,(c[F>>2]|0)+(c[q>>2]<<1)+-2|0)|0;c[x>>2]=(c[x>>2]|0)-(c[n>>2]|0);if((b[(c[F>>2]|0)+((c[q>>2]|0)-1<<1)>>1]|0)>=0?(b[(c[F>>2]|0)+((c[q>>2]|0)-1<<1)>>1]|0)<=(c[x>>2]|0):0){c[r>>2]=(c[r>>2]|0)+(c[n>>2]|0);if(!(c[o>>2]|0)){if(((c[n>>2]|0)+(b[(c[F>>2]|0)+((c[q>>2]|0)-1<<1)>>1]|0)|0)<=(c[w>>2]|0))break;c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}I=S(b[(c[F>>2]|0)+((c[q>>2]|0)-1<<1)>>1]|0,c[q>>2]|0)|0;if((I|0)>(c[x>>2]|0)){c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}c[v>>2]=0;while(1){if((c[v>>2]|0)>=((c[q>>2]|0)-1|0))break c;b[(c[F>>2]|0)+(c[v>>2]<<1)>>1]=b[(c[F>>2]|0)+((c[q>>2]|0)-1<<1)>>1]|0;c[v>>2]=(c[v>>2]|0)+1}}c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}else{if((c[w>>2]|0)<=1275){b[(c[F>>2]|0)+((c[q>>2]|0)-1<<1)>>1]=c[w>>2];break}c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}while(0);if(c[C>>2]|0)c[c[C>>2]>>2]=(c[r>>2]|0)-(c[s>>2]|0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[q>>2]|0))break;if(c[t>>2]|0)c[(c[t>>2]|0)+(c[v>>2]<<2)>>2]=c[r>>2];c[r>>2]=(c[r>>2]|0)+(b[(c[F>>2]|0)+(c[v>>2]<<1)>>1]|0);c[v>>2]=(c[v>>2]|0)+1}if(c[A>>2]|0)c[c[A>>2]>>2]=(c[B>>2]|0)+((c[r>>2]|0)-(c[s>>2]|0));if(c[y>>2]|0)a[c[y>>2]>>0]=a[H>>0]|0;c[D>>2]=c[q>>2];I=c[D>>2]|0;l=J;return I|0}function $i(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;if((c[h>>2]|0)<1){b[c[j>>2]>>1]=-1;c[i>>2]=-1;j=c[i>>2]|0;l=k;return j|0}if((d[c[g>>2]>>0]|0|0)<252){b[c[j>>2]>>1]=d[c[g>>2]>>0]|0;c[i>>2]=1;j=c[i>>2]|0;l=k;return j|0}if((c[h>>2]|0)<2){b[c[j>>2]>>1]=-1;c[i>>2]=-1;j=c[i>>2]|0;l=k;return j|0}else{b[c[j>>2]>>1]=((d[(c[g>>2]|0)+1>>0]|0)<<2)+(d[c[g>>2]>>0]|0);c[i>>2]=2;j=c[i>>2]|0;l=k;return j|0}return 0}function aj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;f=h+16|0;d=h+12|0;g=h+8|0;b=h+4|0;e=h;c[d>>2]=a;if((c[d>>2]|0)<1|(c[d>>2]|0)>2){c[f>>2]=0;g=c[f>>2]|0;l=h;return g|0}c[e>>2]=Ve(g)|0;if(c[e>>2]|0){c[f>>2]=0;g=c[f>>2]|0;l=h;return g|0}else{c[g>>2]=bj(c[g>>2]|0)|0;c[b>>2]=Lc(c[d>>2]|0)|0;e=bj(88)|0;c[f>>2]=e+(c[g>>2]|0)+(c[b>>2]|0);g=c[f>>2]|0;l=h;return g|0}return 0}function bj(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=4;a=S((((c[e>>2]|0)+(c[d>>2]|0)-1|0)>>>0)/((c[d>>2]|0)>>>0)|0,c[d>>2]|0)|0;l=b;return a|0}function cj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o;i=o+32|0;m=o+28|0;e=o+24|0;g=o+20|0;k=o+16|0;f=o+12|0;h=o+8|0;j=o+4|0;c[m>>2]=a;c[e>>2]=b;c[g>>2]=d;if(!((c[e>>2]|0)!=48e3&(c[e>>2]|0)!=24e3&(c[e>>2]|0)!=16e3&(c[e>>2]|0)!=12e3&(c[e>>2]|0)!=8e3)?!((c[g>>2]|0)!=1&(c[g>>2]|0)!=2):0){a=c[m>>2]|0;wk(a|0,0,aj(c[g>>2]|0)|0)|0;c[h>>2]=Ve(j)|0;if(c[h>>2]|0){c[i>>2]=-3;n=c[i>>2]|0;l=o;return n|0}c[j>>2]=bj(c[j>>2]|0)|0;a=bj(88)|0;c[(c[m>>2]|0)+4>>2]=a;c[c[m>>2]>>2]=(c[(c[m>>2]|0)+4>>2]|0)+(c[j>>2]|0);c[k>>2]=(c[m>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0);c[f>>2]=(c[m>>2]|0)+(c[c[m>>2]>>2]|0);a=c[g>>2]|0;c[(c[m>>2]|0)+8>>2]=a;c[(c[m>>2]|0)+48>>2]=a;c[(c[m>>2]|0)+12>>2]=c[e>>2];c[(c[m>>2]|0)+16+8>>2]=c[(c[m>>2]|0)+12>>2];c[(c[m>>2]|0)+16>>2]=c[(c[m>>2]|0)+8>>2];c[h>>2]=We(c[k>>2]|0)|0;if(c[h>>2]|0){c[i>>2]=-3;n=c[i>>2]|0;l=o;return n|0}c[h>>2]=Nc(c[f>>2]|0,c[e>>2]|0,c[g>>2]|0)|0;if(c[h>>2]|0){c[i>>2]=-3;n=c[i>>2]|0;l=o;return n|0}else{a=c[f>>2]|0;c[n>>2]=0;Pc(a,10016,n)|0;c[(c[m>>2]|0)+60>>2]=0;c[(c[m>>2]|0)+64>>2]=(c[e>>2]|0)/400|0;n=ze()|0;c[(c[m>>2]|0)+44>>2]=n;c[i>>2]=0;n=c[i>>2]|0;l=o;return n|0}}c[i>>2]=-1;n=c[i>>2]|0;l=o;return n|0}function dj(a,d,e,f,h,i,j,k,m){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+208|0;K=N+88|0;L=N+84|0;o=N+80|0;s=N+76|0;H=N+72|0;G=N+68|0;p=N+64|0;C=N+60|0;y=N+56|0;E=N+52|0;r=N+48|0;t=N+44|0;n=N+40|0;u=N+36|0;F=N+192|0;w=N+32|0;v=N+28|0;x=N+24|0;z=N+20|0;D=N+96|0;I=N+16|0;J=N+12|0;q=N+8|0;A=N+4|0;B=N;c[L>>2]=a;c[o>>2]=d;c[s>>2]=e;c[H>>2]=f;c[G>>2]=h;c[p>>2]=i;c[C>>2]=j;c[y>>2]=k;c[E>>2]=m;if((c[p>>2]|0)<0|(c[p>>2]|0)>1){c[K>>2]=-1;M=c[K>>2]|0;l=N;return M|0}if((c[p>>2]|0)!=0|(c[s>>2]|0)==0|(c[o>>2]|0)==0?(c[G>>2]|0)%((c[(c[L>>2]|0)+12>>2]|0)/400|0|0)|0|0:0){c[K>>2]=-1;M=c[K>>2]|0;l=N;return M|0}if((c[s>>2]|0)==0|(c[o>>2]|0)==0){c[I>>2]=0;while(1){n=(c[H>>2]|0)+((S(c[I>>2]|0,c[(c[L>>2]|0)+8>>2]|0)|0)<<2)|0;c[J>>2]=ej(c[L>>2]|0,0,0,n,(c[G>>2]|0)-(c[I>>2]|0)|0,0)|0;n=c[J>>2]|0;if((c[J>>2]|0)<0){M=9;break}c[I>>2]=(c[I>>2]|0)+n;if((c[I>>2]|0)>=(c[G>>2]|0)){M=11;break}}if((M|0)==9){c[K>>2]=n;M=c[K>>2]|0;l=N;return M|0}else if((M|0)==11){fj()|0;c[(c[L>>2]|0)+72>>2]=c[I>>2];c[K>>2]=c[I>>2];M=c[K>>2]|0;l=N;return M|0}}if((c[s>>2]|0)<0){c[K>>2]=-1;M=c[K>>2]|0;l=N;return M|0}c[x>>2]=gj(c[o>>2]|0)|0;c[v>>2]=hj(c[o>>2]|0)|0;c[w>>2]=Zi(c[o>>2]|0,c[(c[L>>2]|0)+12>>2]|0)|0;c[z>>2]=ij(c[o>>2]|0)|0;c[n>>2]=_i(c[o>>2]|0,c[s>>2]|0,c[C>>2]|0,F,0,D,u,c[y>>2]|0)|0;if((c[n>>2]|0)<0){c[K>>2]=c[n>>2];M=c[K>>2]|0;l=N;return M|0}c[o>>2]=(c[o>>2]|0)+(c[u>>2]|0);if(c[p>>2]|0){if(!((c[x>>2]|0)==1002?1:(c[G>>2]|0)<(c[w>>2]|0))?(c[(c[L>>2]|0)+56>>2]|0)!=1002:0){c[q>>2]=c[(c[L>>2]|0)+72>>2];if((c[G>>2]|0)-(c[w>>2]|0)|0?(c[A>>2]=dj(c[L>>2]|0,0,0,c[H>>2]|0,(c[G>>2]|0)-(c[w>>2]|0)|0,0,0,0,c[E>>2]|0)|0,(c[A>>2]|0)<0):0){c[(c[L>>2]|0)+72>>2]=c[q>>2];c[K>>2]=c[A>>2];M=c[K>>2]|0;l=N;return M|0}c[(c[L>>2]|0)+56>>2]=c[x>>2];c[(c[L>>2]|0)+52>>2]=c[v>>2];c[(c[L>>2]|0)+64>>2]=c[w>>2];c[(c[L>>2]|0)+48>>2]=c[z>>2];M=(c[H>>2]|0)+((S(c[(c[L>>2]|0)+8>>2]|0,(c[G>>2]|0)-(c[w>>2]|0)|0)|0)<<2)|0;c[A>>2]=ej(c[L>>2]|0,c[o>>2]|0,b[D>>1]|0,M,c[w>>2]|0,1)|0;if((c[A>>2]|0)<0){c[K>>2]=c[A>>2];M=c[K>>2]|0;l=N;return M|0}else{fj()|0;c[(c[L>>2]|0)+72>>2]=c[G>>2];c[K>>2]=c[G>>2];M=c[K>>2]|0;l=N;return M|0}}c[K>>2]=dj(c[L>>2]|0,0,0,c[H>>2]|0,c[G>>2]|0,0,0,0,c[E>>2]|0)|0;M=c[K>>2]|0;l=N;return M|0}J=S(c[n>>2]|0,c[w>>2]|0)|0;if((J|0)>(c[G>>2]|0)){c[K>>2]=-2;M=c[K>>2]|0;l=N;return M|0}c[(c[L>>2]|0)+56>>2]=c[x>>2];c[(c[L>>2]|0)+52>>2]=c[v>>2];c[(c[L>>2]|0)+64>>2]=c[w>>2];c[(c[L>>2]|0)+48>>2]=c[z>>2];c[t>>2]=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[n>>2]|0))break;J=(c[H>>2]|0)+((S(c[t>>2]|0,c[(c[L>>2]|0)+8>>2]|0)|0)<<2)|0;c[B>>2]=ej(c[L>>2]|0,c[o>>2]|0,b[D+(c[r>>2]<<1)>>1]|0,J,(c[G>>2]|0)-(c[t>>2]|0)|0,0)|0;if((c[B>>2]|0)<0){M=31;break}c[o>>2]=(c[o>>2]|0)+(b[D+(c[r>>2]<<1)>>1]|0);c[t>>2]=(c[t>>2]|0)+(c[B>>2]|0);c[r>>2]=(c[r>>2]|0)+1}if((M|0)==31){c[K>>2]=c[B>>2];M=c[K>>2]|0;l=N;return M|0}c[(c[L>>2]|0)+72>>2]=c[t>>2];fj()|0;if(c[E>>2]|0)Xi(c[H>>2]|0,c[t>>2]|0,c[(c[L>>2]|0)+8>>2]|0,(c[L>>2]|0)+76|0);else{g[(c[L>>2]|0)+76+4>>2]=0.0;g[(c[L>>2]|0)+76>>2]=0.0}c[K>>2]=c[t>>2];M=c[K>>2]|0;l=N;return M|0}function ej(d,e,f,h,i,j){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;ta=l;l=l+320|0;X=ta+80|0;W=ta+72|0;V=ta+64|0;U=ta+56|0;T=ta+48|0;R=ta+40|0;Q=ta+32|0;O=ta+24|0;N=ta+16|0;y=ta+8|0;x=ta;ra=ta+308|0;sa=ta+304|0;G=ta+300|0;aa=ta+296|0;ga=ta+292|0;fa=ta+288|0;H=ta+284|0;t=ta+280|0;D=ta+276|0;$=ta+272|0;v=ta+268|0;na=ta+264|0;ea=ta+216|0;u=ta+212|0;o=ta+208|0;z=ta+204|0;m=ta+200|0;ba=ta+196|0;J=ta+192|0;qa=ta+188|0;ja=ta+184|0;M=ta+180|0;L=ta+176|0;ma=ta+172|0;I=ta+168|0;ia=ta+164|0;B=ta+160|0;Z=ta+156|0;A=ta+152|0;n=ta+148|0;Y=ta+144|0;ca=ta+140|0;ha=ta+136|0;C=ta+132|0;k=ta+128|0;pa=ta+124|0;oa=ta+120|0;r=ta+116|0;p=ta+112|0;s=ta+108|0;q=ta+104|0;w=ta+100|0;E=ta+96|0;K=ta+312|0;F=ta+92|0;_=ta+88|0;da=ta+84|0;c[sa>>2]=d;c[G>>2]=e;c[aa>>2]=f;c[ga>>2]=h;c[fa>>2]=i;c[H>>2]=j;c[v>>2]=0;c[na>>2]=0;c[ba>>2]=0;c[M>>2]=0;c[ma>>2]=0;c[I>>2]=0;c[ia>>2]=0;c[ha>>2]=0;c[t>>2]=(c[sa>>2]|0)+(c[(c[sa>>2]|0)+4>>2]|0);c[D>>2]=(c[sa>>2]|0)+(c[c[sa>>2]>>2]|0);c[Y>>2]=(c[(c[sa>>2]|0)+12>>2]|0)/50|0;c[n>>2]=c[Y>>2]>>1;c[A>>2]=c[n>>2]>>1;c[Z>>2]=c[A>>2]>>1;if((c[fa>>2]|0)<(c[Z>>2]|0)){c[ra>>2]=-2;sa=c[ra>>2]|0;l=ta;return sa|0}if((c[fa>>2]|0)<(((c[(c[sa>>2]|0)+12>>2]|0)/25|0)*3|0))e=c[fa>>2]|0;else e=((c[(c[sa>>2]|0)+12>>2]|0)/25|0)*3|0;c[fa>>2]=e;if((c[aa>>2]|0)<=1){c[G>>2]=0;if((c[fa>>2]|0)<(c[(c[sa>>2]|0)+64>>2]|0))e=c[fa>>2]|0;else e=c[(c[sa>>2]|0)+64>>2]|0;c[fa>>2]=e}do if(!(c[G>>2]|0)){c[qa>>2]=c[fa>>2];c[ja>>2]=c[(c[sa>>2]|0)+60>>2];if(!(c[ja>>2]|0)){c[$>>2]=0;while(1){if((c[$>>2]|0)>=(S(c[qa>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0))break;g[(c[ga>>2]|0)+(c[$>>2]<<2)>>2]=0.0;c[$>>2]=(c[$>>2]|0)+1}c[ra>>2]=c[qa>>2];sa=c[ra>>2]|0;l=ta;return sa|0}if((c[qa>>2]|0)>(c[Y>>2]|0)){while(1){c[k>>2]=ej(c[sa>>2]|0,0,0,c[ga>>2]|0,(c[qa>>2]|0)<(c[Y>>2]|0)?c[qa>>2]|0:c[Y>>2]|0,0)|0;e=c[k>>2]|0;if((c[k>>2]|0)<0){j=20;break}pa=S(e,c[(c[sa>>2]|0)+8>>2]|0)|0;c[ga>>2]=(c[ga>>2]|0)+(pa<<2);c[qa>>2]=(c[qa>>2]|0)-(c[k>>2]|0);if((c[qa>>2]|0)<=0){j=22;break}}if((j|0)==20){c[ra>>2]=e;sa=c[ra>>2]|0;l=ta;return sa|0}else if((j|0)==22){c[ra>>2]=c[fa>>2];sa=c[ra>>2]|0;l=ta;return sa|0}}if((c[qa>>2]|0)<(c[Y>>2]|0)){if((c[qa>>2]|0)>(c[n>>2]|0)){c[qa>>2]=c[n>>2];break}if(((c[ja>>2]|0)!=1e3?(c[qa>>2]|0)>(c[A>>2]|0):0)?(c[qa>>2]|0)<(c[n>>2]|0):0)c[qa>>2]=c[A>>2]}}else{c[qa>>2]=c[(c[sa>>2]|0)+64>>2];c[ja>>2]=c[(c[sa>>2]|0)+56>>2];cd(ea,c[G>>2]|0,c[aa>>2]|0)}while(0);c[C>>2]=0;c[z>>2]=1;c[m>>2]=1;do if(c[G>>2]|0?(c[(c[sa>>2]|0)+60>>2]|0)>0:0){if(!(((c[ja>>2]|0)==1002?(c[(c[sa>>2]|0)+60>>2]|0)!=1002:0)?!(c[(c[sa>>2]|0)+68>>2]|0):0)){if((c[ja>>2]|0)==1002)break;if((c[(c[sa>>2]|0)+60>>2]|0)!=1002)break}c[M>>2]=1;e=S(c[A>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0;if((c[ja>>2]|0)==1002){c[m>>2]=e;break}else{c[z>>2]=e;break}}while(0);m=c[m>>2]|0;c[pa>>2]=la()|0;e=l;l=l+((1*(m<<2)|0)+15&-16)|0;if((c[M>>2]|0)!=0&(c[ja>>2]|0)==1002){c[ba>>2]=e;ej(c[sa>>2]|0,0,0,c[ba>>2]|0,(c[A>>2]|0)<(c[qa>>2]|0)?c[A>>2]|0:c[qa>>2]|0,0)|0}a:do if((c[qa>>2]|0)>(c[fa>>2]|0)){c[ra>>2]=-1;c[oa>>2]=1}else{c[fa>>2]=c[qa>>2];if((c[ja>>2]|0)==1002|(c[C>>2]|0)!=0)e=1;else e=S((c[n>>2]|0)>(c[fa>>2]|0)?c[n>>2]|0:c[fa>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0;c[o>>2]=e;f=l;l=l+((1*(c[o>>2]<<1)|0)+15&-16)|0;b:do if((c[ja>>2]|0)!=1002){c[s>>2]=f;if((c[(c[sa>>2]|0)+60>>2]|0)==1002)We(c[t>>2]|0)|0;if(10>(((c[qa>>2]|0)*1e3|0)/(c[(c[sa>>2]|0)+12>>2]|0)|0|0))e=10;else e=((c[qa>>2]|0)*1e3|0)/(c[(c[sa>>2]|0)+12>>2]|0)|0;c[(c[sa>>2]|0)+16+16>>2]=e;if(c[G>>2]|0){c[(c[sa>>2]|0)+16+4>>2]=c[(c[sa>>2]|0)+48>>2];e=c[sa>>2]|0;if((c[ja>>2]|0)==1e3){j=c[sa>>2]|0;if((c[e+52>>2]|0)==1101){i=8e3;e=j}else{e=(c[j+52>>2]|0)==1102;i=e?12e3:16e3;e=e?c[sa>>2]|0:c[sa>>2]|0}}else i=16e3;c[e+16+12>>2]=i}c[r>>2]=(c[G>>2]|0)==0?1:c[H>>2]<<1;c[p>>2]=0;c:while(1){c[q>>2]=(c[p>>2]|0)==0&1;c[v>>2]=Xe(c[t>>2]|0,(c[sa>>2]|0)+16|0,c[r>>2]|0,c[q>>2]|0,ea,c[s>>2]|0,u,c[(c[sa>>2]|0)+44>>2]|0)|0;d:do if(c[v>>2]|0){if(!(c[r>>2]|0))break c;c[u>>2]=c[fa>>2];c[$>>2]=0;while(1){if((c[$>>2]|0)>=(S(c[fa>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0))break d;b[(c[s>>2]|0)+(c[$>>2]<<1)>>1]=0;c[$>>2]=(c[$>>2]|0)+1}}while(0);o=S(c[u>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(o<<1);c[p>>2]=(c[p>>2]|0)+(c[u>>2]|0);if((c[p>>2]|0)>=(c[fa>>2]|0))break b}c[ra>>2]=-3;c[oa>>2]=1;break a}while(0);c[L>>2]=0;if((c[H>>2]|0)==0&(c[ja>>2]|0)!=1002&(c[G>>2]|0)!=0?(v=(jj(ea)|0)+17|0,(v+(((c[(c[sa>>2]|0)+56>>2]|0)==1001&1)*20|0)|0)<=(c[aa>>2]<<3|0)):0){if((c[ja>>2]|0)==1001)c[ma>>2]=jd(ea,12)|0;else c[ma>>2]=1;if(c[ma>>2]|0){c[ia>>2]=jd(ea,1)|0;if((c[ja>>2]|0)==1001)e=(ld(ea,256)|0)+2|0;else{e=c[aa>>2]|0;e=e-((jj(ea)|0)+7>>3)|0}c[I>>2]=e;c[aa>>2]=(c[aa>>2]|0)-(c[I>>2]|0);v=c[aa>>2]<<3;if((v|0)<(jj(ea)|0)){c[aa>>2]=0;c[I>>2]=0;c[ma>>2]=0}v=ea+4|0;c[v>>2]=(c[v>>2]|0)-(c[I>>2]|0)}}if((c[ja>>2]|0)!=1002)c[L>>2]=17;c[w>>2]=21;switch(c[(c[sa>>2]|0)+52>>2]|0){case 1101:{c[w>>2]=13;break}case 1103:case 1102:{c[w>>2]=17;break}case 1104:{c[w>>2]=19;break}case 1105:{c[w>>2]=21;break}default:{}}v=c[D>>2]|0;c[x>>2]=c[w>>2];Pc(v,10012,x)|0;x=c[D>>2]|0;c[y>>2]=c[(c[sa>>2]|0)+48>>2];Pc(x,10008,y)|0;if(c[ma>>2]|0){c[M>>2]=0;c[z>>2]=1}e=l;l=l+((1*(c[z>>2]<<2)|0)+15&-16)|0;if((c[M>>2]|0)!=0&(c[ja>>2]|0)!=1002){c[ba>>2]=e;ej(c[sa>>2]|0,0,0,c[ba>>2]|0,(c[A>>2]|0)<(c[qa>>2]|0)?c[A>>2]|0:c[qa>>2]|0,0)|0}if(c[ma>>2]|0)e=S(c[A>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0;else e=1;c[J>>2]=e;e=l;l=l+((1*(c[J>>2]<<2)|0)+15&-16)|0;if((c[ma>>2]|0)!=0&(c[ia>>2]|0)!=0){J=c[D>>2]|0;c[N>>2]=0;Pc(J,10010,N)|0;Qc(c[D>>2]|0,(c[G>>2]|0)+(c[aa>>2]|0)|0,c[I>>2]|0,e,c[A>>2]|0,0,0)|0;N=c[D>>2]|0;c[O>>2]=ha+(((ha-ha|0)/4|0)<<2);Pc(N,4031,O)|0}O=c[D>>2]|0;c[Q>>2]=c[L>>2];Pc(O,10010,Q)|0;do if((c[ja>>2]|0)==1e3){a[K>>0]=a[30712]|0;a[K+1>>0]=a[30713]|0;e:do if(!(c[C>>2]|0)){c[$>>2]=0;while(1){if((c[$>>2]|0)>=(S(c[fa>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0))break e;g[(c[ga>>2]|0)+(c[$>>2]<<2)>>2]=0.0;c[$>>2]=(c[$>>2]|0)+1}}while(0);if((c[(c[sa>>2]|0)+60>>2]|0)==1001){if((c[ma>>2]|0)!=0&(c[ia>>2]|0)!=0?c[(c[sa>>2]|0)+68>>2]|0:0)break;Y=c[D>>2]|0;c[T>>2]=0;Pc(Y,10010,T)|0;Qc(c[D>>2]|0,K,2,c[ga>>2]|0,c[Z>>2]|0,0,c[C>>2]|0)|0}}else{c[E>>2]=(c[Y>>2]|0)<(c[fa>>2]|0)?c[Y>>2]|0:c[fa>>2]|0;do if((c[ja>>2]|0)!=(c[(c[sa>>2]|0)+60>>2]|0)){if((c[(c[sa>>2]|0)+60>>2]|0)<=0)break;if(c[(c[sa>>2]|0)+68>>2]|0)break;Pc(c[D>>2]|0,4028,R)|0}while(0);c[na>>2]=Qc(c[D>>2]|0,c[H>>2]|0?0:c[G>>2]|0,c[aa>>2]|0,c[ga>>2]|0,c[E>>2]|0,ea,c[C>>2]|0)|0}while(0);f:do if(!((c[ja>>2]|0)==1002|(c[C>>2]|0)!=0)){c[$>>2]=0;while(1){if((c[$>>2]|0)>=(S(c[fa>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0))break f;g[(c[ga>>2]|0)+(c[$>>2]<<2)>>2]=+g[(c[ga>>2]|0)+(c[$>>2]<<2)>>2]+ +(b[f+(c[$>>2]<<1)>>1]|0)*.000030517578125;c[$>>2]=(c[$>>2]|0)+1}}while(0);Y=c[D>>2]|0;c[U>>2]=F+(((F-F|0)/4|0)<<2);Pc(Y,10015,U)|0;c[ca>>2]=c[(c[F>>2]|0)+60>>2];if(!((c[ma>>2]|0)==0|(c[ia>>2]|0)!=0)){Pc(c[D>>2]|0,4028,V)|0;Y=c[D>>2]|0;c[W>>2]=0;Pc(Y,10010,W)|0;Qc(c[D>>2]|0,(c[G>>2]|0)+(c[aa>>2]|0)|0,c[I>>2]|0,e,c[A>>2]|0,0,0)|0;W=c[D>>2]|0;c[X>>2]=ha+(((ha-ha|0)/4|0)<<2);Pc(W,4031,X)|0;W=(c[ga>>2]|0)+((S(c[(c[sa>>2]|0)+8>>2]|0,(c[fa>>2]|0)-(c[Z>>2]|0)|0)|0)<<2)|0;X=e+((S(c[(c[sa>>2]|0)+8>>2]|0,c[Z>>2]|0)|0)<<2)|0;Y=(c[ga>>2]|0)+((S(c[(c[sa>>2]|0)+8>>2]|0,(c[fa>>2]|0)-(c[Z>>2]|0)|0)|0)<<2)|0;kj(W,X,Y,c[Z>>2]|0,c[(c[sa>>2]|0)+8>>2]|0,c[ca>>2]|0,c[(c[sa>>2]|0)+12>>2]|0)}if((c[ma>>2]|0)!=0&(c[ia>>2]|0)!=0){c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[(c[sa>>2]|0)+8>>2]|0))break;c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[Z>>2]|0))break;X=S(c[(c[sa>>2]|0)+8>>2]|0,c[$>>2]|0)|0;Y=S(c[(c[sa>>2]|0)+8>>2]|0,c[$>>2]|0)|0;g[(c[ga>>2]|0)+(Y+(c[B>>2]|0)<<2)>>2]=+g[e+(X+(c[B>>2]|0)<<2)>>2];c[$>>2]=(c[$>>2]|0)+1}c[B>>2]=(c[B>>2]|0)+1}W=e+((S(c[(c[sa>>2]|0)+8>>2]|0,c[Z>>2]|0)|0)<<2)|0;X=(c[ga>>2]|0)+((S(c[(c[sa>>2]|0)+8>>2]|0,c[Z>>2]|0)|0)<<2)|0;Y=(c[ga>>2]|0)+((S(c[(c[sa>>2]|0)+8>>2]|0,c[Z>>2]|0)|0)<<2)|0;kj(W,X,Y,c[Z>>2]|0,c[(c[sa>>2]|0)+8>>2]|0,c[ca>>2]|0,c[(c[sa>>2]|0)+12>>2]|0)}do if(c[M>>2]|0){if((c[qa>>2]|0)<(c[A>>2]|0)){kj(c[ba>>2]|0,c[ga>>2]|0,c[ga>>2]|0,c[Z>>2]|0,c[(c[sa>>2]|0)+8>>2]|0,c[ca>>2]|0,c[(c[sa>>2]|0)+12>>2]|0);break}c[$>>2]=0;while(1){Y=(c[$>>2]|0)<(S(c[(c[sa>>2]|0)+8>>2]|0,c[Z>>2]|0)|0);e=c[ba>>2]|0;if(!Y)break;g[(c[ga>>2]|0)+(c[$>>2]<<2)>>2]=+g[e+(c[$>>2]<<2)>>2];c[$>>2]=(c[$>>2]|0)+1}X=e+((S(c[(c[sa>>2]|0)+8>>2]|0,c[Z>>2]|0)|0)<<2)|0;Y=(c[ga>>2]|0)+((S(c[(c[sa>>2]|0)+8>>2]|0,c[Z>>2]|0)|0)<<2)|0;ba=(c[ga>>2]|0)+((S(c[(c[sa>>2]|0)+8>>2]|0,c[Z>>2]|0)|0)<<2)|0;kj(X,Y,ba,c[Z>>2]|0,c[(c[sa>>2]|0)+8>>2]|0,c[ca>>2]|0,c[(c[sa>>2]|0)+12>>2]|0)}while(0);g:do if(c[(c[sa>>2]|0)+40>>2]|0){g[_>>2]=+P(+(+(c[(c[sa>>2]|0)+40>>2]|0)*6.488140788860619e-04*.6931471805599453));c[$>>2]=0;while(1){if((c[$>>2]|0)>=(S(c[fa>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0))break g;g[da>>2]=+g[(c[ga>>2]|0)+(c[$>>2]<<2)>>2]*+g[_>>2];g[(c[ga>>2]|0)+(c[$>>2]<<2)>>2]=+g[da>>2];c[$>>2]=(c[$>>2]|0)+1}}while(0);if((c[aa>>2]|0)<=1){j=c[sa>>2]|0;e=0}else{j=c[sa>>2]|0;e=c[ea+28>>2]^c[ha>>2]}c[j+84>>2]=e;c[(c[sa>>2]|0)+60>>2]=c[ja>>2];if(c[ma>>2]|0)e=(c[ia>>2]|0)!=0^1;else e=0;c[(c[sa>>2]|0)+68>>2]=e&1;if((c[na>>2]|0)>=0)fj()|0;c[ra>>2]=(c[na>>2]|0)<0?c[na>>2]|0:c[qa>>2]|0;c[oa>>2]=1}while(0);ka(c[pa>>2]|0);sa=c[ra>>2]|0;l=ta;return sa|0}function fj(){return 0}function gj(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[b>>2]=a;do if(!((d[c[b>>2]>>0]|0)&128|0))if(((d[c[b>>2]>>0]|0)&96|0)==96){c[e>>2]=1001;break}else{c[e>>2]=1e3;break}else c[e>>2]=1002;while(0);l=f;return c[e>>2]|0}function hj(a){a=a|0;var b=0,e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=a;b=d[c[e>>2]>>0]|0;if((d[c[e>>2]>>0]|0)&128|0){e=1102+(b>>5&3)|0;c[f>>2]=e;c[f>>2]=(c[f>>2]|0)==1102?1101:e;f=c[f>>2]|0;l=g;return f|0}a=d[c[e>>2]>>0]|0;if((b&96|0)==96){c[f>>2]=a&16|0?1105:1104;f=c[f>>2]|0;l=g;return f|0}else{c[f>>2]=1101+(a>>5&3);f=c[f>>2]|0;l=g;return f|0}return 0}function ij(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return ((d[c[b>>2]>>0]|0)&4|0?2:1)|0}function jj(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(V(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function kj(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;u=l;l=l+48|0;n=u+40|0;o=u+36|0;q=u+32|0;r=u+28|0;k=u+24|0;t=u+20|0;v=u+16|0;m=u+12|0;j=u+8|0;p=u+4|0;s=u;c[n>>2]=a;c[o>>2]=b;c[q>>2]=d;c[r>>2]=e;c[k>>2]=f;c[t>>2]=h;c[v>>2]=i;c[p>>2]=48e3/(c[v>>2]|0)|0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[r>>2]|0))break;w=+g[(c[t>>2]|0)+((S(c[m>>2]|0,c[p>>2]|0)|0)<<2)>>2];g[s>>2]=w*+g[(c[t>>2]|0)+((S(c[m>>2]|0,c[p>>2]|0)|0)<<2)>>2];e=S(c[m>>2]|0,c[k>>2]|0)|0;h=S(c[m>>2]|0,c[k>>2]|0)|0;v=S(c[m>>2]|0,c[k>>2]|0)|0;g[(c[q>>2]|0)+(v+(c[j>>2]|0)<<2)>>2]=+g[s>>2]*+g[(c[o>>2]|0)+(e+(c[j>>2]|0)<<2)>>2]+(1.0-+g[s>>2])*+g[(c[n>>2]|0)+(h+(c[j>>2]|0)<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}l=u;return}function lj(a,d,e,f,h,i){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;s=v+40|0;u=v+36|0;k=v+32|0;p=v+28|0;q=v+24|0;n=v+20|0;m=v+16|0;r=v+12|0;o=v+8|0;j=v+4|0;t=v;c[u>>2]=a;c[k>>2]=d;c[p>>2]=e;c[q>>2]=f;c[n>>2]=h;c[m>>2]=i;if((c[n>>2]|0)<=0){c[s>>2]=-1;u=c[s>>2]|0;l=v;return u|0}do if(!((c[k>>2]|0)!=0&(c[p>>2]|0)>0^1|(c[m>>2]|0)!=0)){c[j>>2]=mj(c[u>>2]|0,c[k>>2]|0,c[p>>2]|0)|0;if((c[j>>2]|0)>0){c[n>>2]=(c[n>>2]|0)<(c[j>>2]|0)?c[n>>2]|0:c[j>>2]|0;break}c[s>>2]=-4;u=c[s>>2]|0;l=v;return u|0}while(0);a=S(c[n>>2]|0,c[(c[u>>2]|0)+8>>2]|0)|0;c[t>>2]=la()|0;d=l;l=l+((1*(a<<2)|0)+15&-16)|0;c[r>>2]=dj(c[u>>2]|0,c[k>>2]|0,c[p>>2]|0,d,c[n>>2]|0,c[m>>2]|0,0,0,1)|0;a:do if((c[r>>2]|0)>0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(S(c[r>>2]|0,c[(c[u>>2]|0)+8>>2]|0)|0))break a;p=nj(+g[d+(c[o>>2]<<2)>>2])|0;b[(c[q>>2]|0)+(c[o>>2]<<1)>>1]=p;c[o>>2]=(c[o>>2]|0)+1}}while(0);c[s>>2]=c[r>>2];ka(c[t>>2]|0);u=c[s>>2]|0;l=v;return u|0}function mj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;b=oj(c[h>>2]|0,c[g>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0;l=e;return b|0}function nj(a){a=+a;var b=0,c=0;c=l;l=l+16|0;b=c;g[b>>2]=a;g[b>>2]=+g[b>>2]*32768.0;g[b>>2]=+g[b>>2]>-32768.0?+g[b>>2]:-32768.0;g[b>>2]=+g[b>>2]<32767.0?+g[b>>2]:32767.0;b=(ok(+g[b>>2])|0)&65535;l=c;return b|0}function oj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;g=i+20|0;f=i+16|0;k=i+12|0;e=i+8|0;h=i+4|0;j=i;c[f>>2]=a;c[k>>2]=b;c[e>>2]=d;c[j>>2]=pj(c[f>>2]|0,c[k>>2]|0)|0;d=c[j>>2]|0;if((c[j>>2]|0)<0){c[g>>2]=d;k=c[g>>2]|0;l=i;return k|0}c[h>>2]=S(d,Zi(c[f>>2]|0,c[e>>2]|0)|0)|0;if(((c[h>>2]|0)*25|0)>((c[e>>2]|0)*3|0)){c[g>>2]=-4;k=c[g>>2]|0;l=i;return k|0}else{c[g>>2]=c[h>>2];k=c[g>>2]|0;l=i;return k|0}return 0}function pj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+12|0;g=i+8|0;f=i+4|0;e=i;c[g>>2]=a;c[f>>2]=b;do if((c[f>>2]|0)>=1){c[e>>2]=(d[c[g>>2]>>0]|0)&3;if(!(c[e>>2]|0)){c[h>>2]=1;break}if((c[e>>2]|0)!=3){c[h>>2]=2;break}if((c[f>>2]|0)<2){c[h>>2]=-4;break}else{c[h>>2]=(d[(c[g>>2]|0)+1>>0]|0)&63;break}}else c[h>>2]=-1;while(0);l=i;return c[h>>2]|0}function qj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;n=p+24|0;o=p+20|0;h=p+16|0;k=p+12|0;m=p+8|0;j=p+4|0;i=p;c[o>>2]=a;c[h>>2]=b;c[k>>2]=d;c[m>>2]=e;c[j>>2]=f;c[i>>2]=g;if((c[j>>2]|0)<=0){c[n>>2]=-1;o=c[n>>2]|0;l=p;return o|0}else{c[n>>2]=dj(c[o>>2]|0,c[h>>2]|0,c[k>>2]|0,c[m>>2]|0,c[j>>2]|0,c[i>>2]|0,0,0,0)|0;o=c[n>>2]|0;l=p;return o|0}return 0}function rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=l;l=l+144|0;u=G+24|0;t=G+16|0;s=G+8|0;F=G+140|0;h=G+136|0;H=G+132|0;E=G+128|0;e=G+112|0;g=G+104|0;f=G+100|0;i=G+96|0;v=G+92|0;o=G+88|0;C=G+84|0;j=G+80|0;w=G+76|0;k=G+72|0;x=G+68|0;m=G+64|0;y=G+60|0;n=G+56|0;z=G+52|0;p=G+48|0;A=G+44|0;q=G+40|0;B=G+36|0;r=G+32|0;D=G+28|0;c[h>>2]=a;c[H>>2]=b;c[E>>2]=0;c[g>>2]=(c[h>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);c[f>>2]=(c[h>>2]|0)+(c[c[h>>2]>>2]|0);c[e>>2]=d;a:do switch(c[H>>2]|0){case 4009:{D=(c[e>>2]|0)+(4-1)&~(4-1);H=c[D>>2]|0;c[e>>2]=D+4;c[v>>2]=H;c[i>>2]=c[v>>2];if(c[i>>2]|0){c[c[i>>2]>>2]=c[(c[h>>2]|0)+52>>2];e=24}else e=25;break}case 4031:{D=(c[e>>2]|0)+(4-1)&~(4-1);H=c[D>>2]|0;c[e>>2]=D+4;c[C>>2]=H;c[o>>2]=c[C>>2];if(c[o>>2]|0){c[c[o>>2]>>2]=c[(c[h>>2]|0)+84>>2];e=24}else e=25;break}case 4028:{wk((c[h>>2]|0)+48|0,0,88-((c[h>>2]|0)+48-(c[h>>2]|0))|0)|0;Pc(c[f>>2]|0,4028,G)|0;We(c[g>>2]|0)|0;c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+64>>2]=(c[(c[h>>2]|0)+12>>2]|0)/400|0;e=24;break}case 4029:{D=(c[e>>2]|0)+(4-1)&~(4-1);H=c[D>>2]|0;c[e>>2]=D+4;c[w>>2]=H;c[j>>2]=c[w>>2];if(c[j>>2]|0){c[c[j>>2]>>2]=c[(c[h>>2]|0)+12>>2];e=24}else e=25;break}case 4033:{D=(c[e>>2]|0)+(4-1)&~(4-1);H=c[D>>2]|0;c[e>>2]=D+4;c[x>>2]=H;c[k>>2]=c[x>>2];if(c[k>>2]|0)if((c[(c[h>>2]|0)+60>>2]|0)==1002){e=c[f>>2]|0;c[s>>2]=(c[k>>2]|0)+((((c[k>>2]|0)-(c[k>>2]|0)|0)/4|0)<<2);Pc(e,4033,s)|0;e=24;break a}else{c[c[k>>2]>>2]=c[(c[h>>2]|0)+16+20>>2];e=24;break a}else e=25;break}case 4045:{D=(c[e>>2]|0)+(4-1)&~(4-1);H=c[D>>2]|0;c[e>>2]=D+4;c[y>>2]=H;c[m>>2]=c[y>>2];if(c[m>>2]|0){c[c[m>>2]>>2]=c[(c[h>>2]|0)+40>>2];e=24}else e=25;break}case 4034:{D=(c[e>>2]|0)+(4-1)&~(4-1);H=c[D>>2]|0;c[e>>2]=D+4;c[z>>2]=H;c[n>>2]=c[z>>2];if((c[n>>2]|0)<-32768|(c[n>>2]|0)>32767)e=25;else{c[(c[h>>2]|0)+40>>2]=c[n>>2];e=24}break}case 4039:{D=(c[e>>2]|0)+(4-1)&~(4-1);H=c[D>>2]|0;c[e>>2]=D+4;c[A>>2]=H;c[p>>2]=c[A>>2];if(c[p>>2]|0){c[c[p>>2]>>2]=c[(c[h>>2]|0)+72>>2];e=24}else e=25;break}case 4046:{D=(c[e>>2]|0)+(4-1)&~(4-1);H=c[D>>2]|0;c[e>>2]=D+4;c[B>>2]=H;c[q>>2]=c[B>>2];if((c[q>>2]|0)<0|(c[q>>2]|0)>1)e=25;else{e=c[f>>2]|0;c[t>>2]=c[q>>2];Pc(e,4046,t)|0;e=24}break}case 4047:{C=(c[e>>2]|0)+(4-1)&~(4-1);H=c[C>>2]|0;c[e>>2]=C+4;c[D>>2]=H;c[r>>2]=c[D>>2];if(c[r>>2]|0){e=c[f>>2]|0;c[u>>2]=(c[r>>2]|0)+((((c[r>>2]|0)-(c[r>>2]|0)|0)/4|0)<<2);Pc(e,4047,u)|0;e=24}else e=25;break}default:{c[E>>2]=-5;e=24}}while(0);if((e|0)==24){c[F>>2]=c[E>>2];H=c[F>>2]|0;l=G;return H|0}else if((e|0)==25){c[F>>2]=-1;H=c[F>>2]|0;l=G;return H|0}return 0}function sj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;f=h+16|0;d=h+12|0;g=h+8|0;b=h+4|0;e=h;c[d>>2]=a;if((c[d>>2]|0)<1|(c[d>>2]|0)>2){c[f>>2]=0;g=c[f>>2]|0;l=h;return g|0}c[e>>2]=Ye(g)|0;if(c[e>>2]|0){c[f>>2]=0;g=c[f>>2]|0;l=h;return g|0}else{c[g>>2]=tj(c[g>>2]|0)|0;c[b>>2]=oc(c[d>>2]|0)|0;e=tj(18136)|0;c[f>>2]=e+(c[g>>2]|0)+(c[b>>2]|0);g=c[f>>2]|0;l=h;return g|0}return 0}function tj(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=4;a=S((((c[e>>2]|0)+(c[d>>2]|0)-1|0)>>>0)/((c[d>>2]|0)>>>0)|0,c[d>>2]|0)|0;l=b;return a|0}function uj(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;t=u+8|0;s=u;o=u+48|0;r=u+44|0;h=u+40|0;k=u+36|0;i=u+32|0;q=u+28|0;j=u+24|0;m=u+20|0;n=u+16|0;p=u+12|0;c[r>>2]=a;c[h>>2]=d;c[k>>2]=e;c[i>>2]=f;if((!((c[h>>2]|0)!=48e3&(c[h>>2]|0)!=24e3&(c[h>>2]|0)!=16e3&(c[h>>2]|0)!=12e3&(c[h>>2]|0)!=8e3)?!((c[k>>2]|0)!=1&(c[k>>2]|0)!=2):0)?!((c[i>>2]|0)!=2048&(c[i>>2]|0)!=2049&(c[i>>2]|0)!=2051):0){a=c[r>>2]|0;wk(a|0,0,sj(c[k>>2]|0)|0)|0;c[n>>2]=Ye(p)|0;if(c[n>>2]|0){c[o>>2]=-1;t=c[o>>2]|0;l=u;return t|0}c[p>>2]=tj(c[p>>2]|0)|0;a=tj(18136)|0;c[(c[r>>2]|0)+4>>2]=a;c[c[r>>2]>>2]=(c[(c[r>>2]|0)+4>>2]|0)+(c[p>>2]|0);c[q>>2]=(c[r>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0);c[j>>2]=(c[r>>2]|0)+(c[c[r>>2]>>2]|0);a=c[k>>2]|0;c[(c[r>>2]|0)+112>>2]=a;c[(c[r>>2]|0)+14188>>2]=a;c[(c[r>>2]|0)+144>>2]=c[h>>2];a=ze()|0;c[(c[r>>2]|0)+180>>2]=a;c[n>>2]=Ze(c[q>>2]|0,c[(c[r>>2]|0)+180>>2]|0,(c[r>>2]|0)+8|0)|0;if(c[n>>2]|0){c[o>>2]=-3;t=c[o>>2]|0;l=u;return t|0}c[(c[r>>2]|0)+8>>2]=c[k>>2];c[(c[r>>2]|0)+8+4>>2]=c[k>>2];c[(c[r>>2]|0)+8+8>>2]=c[(c[r>>2]|0)+144>>2];c[(c[r>>2]|0)+8+12>>2]=16e3;c[(c[r>>2]|0)+8+16>>2]=8e3;c[(c[r>>2]|0)+8+20>>2]=16e3;c[(c[r>>2]|0)+8+24>>2]=20;c[(c[r>>2]|0)+8+28>>2]=25e3;c[(c[r>>2]|0)+8+32>>2]=0;c[(c[r>>2]|0)+8+36>>2]=9;c[(c[r>>2]|0)+8+40>>2]=0;c[(c[r>>2]|0)+8+48>>2]=0;c[(c[r>>2]|0)+8+52>>2]=0;c[(c[r>>2]|0)+8+68>>2]=0;c[m>>2]=qc(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0,c[(c[r>>2]|0)+180>>2]|0)|0;if(c[m>>2]|0){c[o>>2]=-3;t=c[o>>2]|0;l=u;return t|0}else{a=c[j>>2]|0;c[s>>2]=0;sc(a,10016,s)|0;s=c[j>>2]|0;c[t>>2]=c[(c[r>>2]|0)+8+36>>2];sc(s,4010,t)|0;c[(c[r>>2]|0)+148>>2]=1;c[(c[r>>2]|0)+152>>2]=1;c[(c[r>>2]|0)+164>>2]=-1e3;t=3e3+(S(c[h>>2]|0,c[k>>2]|0)|0)|0;c[(c[r>>2]|0)+160>>2]=t;c[(c[r>>2]|0)+108>>2]=c[i>>2];c[(c[r>>2]|0)+124>>2]=-1e3;c[(c[r>>2]|0)+128>>2]=-1e3;c[(c[r>>2]|0)+132>>2]=1105;c[(c[r>>2]|0)+120>>2]=-1e3;c[(c[r>>2]|0)+136>>2]=-1e3;c[(c[r>>2]|0)+140>>2]=-1;c[(c[r>>2]|0)+172>>2]=(c[(c[r>>2]|0)+144>>2]|0)/100|0;c[(c[r>>2]|0)+168>>2]=24;c[(c[r>>2]|0)+156>>2]=5e3;c[(c[r>>2]|0)+116>>2]=(c[(c[r>>2]|0)+144>>2]|0)/250|0;b[(c[r>>2]|0)+14192>>1]=16384;g[(c[r>>2]|0)+14200>>2]=1.0;t=(Wg(60)|0)<<8;c[(c[r>>2]|0)+14196>>2]=t;c[(c[r>>2]|0)+14248>>2]=1;c[(c[r>>2]|0)+14220>>2]=1001;c[(c[r>>2]|0)+14236>>2]=1105;_j((c[r>>2]|0)+188|0,c[(c[r>>2]|0)+144>>2]|0);c[(c[r>>2]|0)+188+4>>2]=c[(c[r>>2]|0)+108>>2];c[o>>2]=0;t=c[o>>2]|0;l=u;return t|0}}c[o>>2]=-1;t=c[o>>2]|0;l=u;return t|0}function vj(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+48|0;u=t+36|0;s=t+32|0;q=t+28|0;p=t+24|0;m=t+20|0;n=t+16|0;j=t+12|0;r=t+8|0;o=t+4|0;k=t;c[u>>2]=a;c[s>>2]=b;c[q>>2]=d;c[p>>2]=e;c[m>>2]=f;c[n>>2]=h;c[j>>2]=i;c[r>>2]=c[u>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[q>>2]|0))break;u=S((c[o>>2]|0)+(c[p>>2]|0)|0,c[j>>2]|0)|0;g[(c[s>>2]|0)+(c[o>>2]<<2)>>2]=+g[(c[r>>2]|0)+(u+(c[m>>2]|0)<<2)>>2]*32768.0;c[o>>2]=(c[o>>2]|0)+1}if((c[n>>2]|0)>-1){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[q>>2]|0))break;b=S((c[o>>2]|0)+(c[p>>2]|0)|0,c[j>>2]|0)|0;u=(c[s>>2]|0)+(c[o>>2]<<2)|0;g[u>>2]=+g[u>>2]+ +g[(c[r>>2]|0)+(b+(c[n>>2]|0)<<2)>>2]*32768.0;c[o>>2]=(c[o>>2]|0)+1}l=t;return}if((c[n>>2]|0)!=-2){l=t;return}c[k>>2]=1;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[q>>2]|0))break;b=S((c[o>>2]|0)+(c[p>>2]|0)|0,c[j>>2]|0)|0;u=(c[s>>2]|0)+(c[o>>2]<<2)|0;g[u>>2]=+g[u>>2]+ +g[(c[r>>2]|0)+(b+(c[k>>2]|0)<<2)>>2]*32768.0;c[o>>2]=(c[o>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+1}l=t;return}function wj(a,d,e,f,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;v=u+36|0;t=u+32|0;r=u+28|0;q=u+24|0;n=u+20|0;o=u+16|0;k=u+12|0;s=u+8|0;p=u+4|0;m=u;c[v>>2]=a;c[t>>2]=d;c[r>>2]=e;c[q>>2]=f;c[n>>2]=h;c[o>>2]=i;c[k>>2]=j;c[s>>2]=c[v>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;v=S((c[p>>2]|0)+(c[q>>2]|0)|0,c[k>>2]|0)|0;g[(c[t>>2]|0)+(c[p>>2]<<2)>>2]=+(b[(c[s>>2]|0)+(v+(c[n>>2]|0)<<1)>>1]|0);c[p>>2]=(c[p>>2]|0)+1}if((c[o>>2]|0)>-1){c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;d=S((c[p>>2]|0)+(c[q>>2]|0)|0,c[k>>2]|0)|0;v=(c[t>>2]|0)+(c[p>>2]<<2)|0;g[v>>2]=+g[v>>2]+ +(b[(c[s>>2]|0)+(d+(c[o>>2]|0)<<1)>>1]|0);c[p>>2]=(c[p>>2]|0)+1}l=u;return}if((c[o>>2]|0)!=-2){l=u;return}c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;d=S((c[p>>2]|0)+(c[q>>2]|0)|0,c[k>>2]|0)|0;v=(c[t>>2]|0)+(c[p>>2]<<2)|0;g[v>>2]=+g[v>>2]+ +(b[(c[s>>2]|0)+(d+(c[m>>2]|0)<<1)>>1]|0);c[p>>2]=(c[p>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}l=u;return}function xj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;h=j+16|0;f=j+12|0;i=j+8|0;e=j+4|0;g=j;c[f>>2]=a;c[i>>2]=b;c[e>>2]=d;if((c[f>>2]|0)<((c[e>>2]|0)/400|0|0)){c[h>>2]=-1;i=c[h>>2]|0;l=j;return i|0}do if((c[i>>2]|0)!=5e3){if(!((c[i>>2]|0)>=5001&(c[i>>2]|0)<=5009)){c[h>>2]=-1;i=c[h>>2]|0;l=j;return i|0}if((c[i>>2]|0)<=5005){c[g>>2]=((c[e>>2]|0)/400|0)<<(c[i>>2]|0)-5001;break}else{c[g>>2]=(S((c[i>>2]|0)-5001-2|0,c[e>>2]|0)|0)/50|0;break}}else c[g>>2]=c[f>>2];while(0);if((c[g>>2]|0)>(c[f>>2]|0)){c[h>>2]=-1;i=c[h>>2]|0;l=j;return i|0}if((((((((((c[g>>2]|0)*400|0)!=(c[e>>2]|0)?((c[g>>2]|0)*200|0)!=(c[e>>2]|0):0)?((c[g>>2]|0)*100|0)!=(c[e>>2]|0):0)?((c[g>>2]|0)*50|0)!=(c[e>>2]|0):0)?((c[g>>2]|0)*25|0)!=(c[e>>2]|0):0)?((c[g>>2]|0)*50|0)!=((c[e>>2]|0)*3|0):0)?((c[g>>2]|0)*50|0)!=(c[e>>2]<<2|0):0)?((c[g>>2]|0)*50|0)!=((c[e>>2]|0)*5|0):0)?((c[g>>2]|0)*50|0)!=((c[e>>2]|0)*6|0):0){c[h>>2]=-1;i=c[h>>2]|0;l=j;return i|0}c[h>>2]=c[g>>2];i=c[h>>2]|0;l=j;return i|0}function yj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=l;l=l+96|0;j=D+84|0;h=D+80|0;E=D+76|0;C=D+72|0;q=D+68|0;r=D+64|0;t=D+60|0;y=D+56|0;z=D+52|0;w=D+48|0;x=D+44|0;B=D+40|0;i=D+36|0;o=D+32|0;k=D+28|0;m=D+24|0;n=D+20|0;p=D+16|0;s=D+12|0;u=D+8|0;v=D+4|0;A=D;c[j>>2]=a;c[h>>2]=b;c[E>>2]=d;c[C>>2]=e;c[B>>2]=(c[E>>2]|0)/(c[h>>2]|0)|0;g[o>>2]=1.0-25.0/+((50>(c[B>>2]|0)?50:c[B>>2]|0)|0);g[t>>2]=0.0;g[r>>2]=0.0;g[q>>2]=0.0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=((c[h>>2]|0)-3|0))break;g[k>>2]=0.0;g[m>>2]=0.0;g[n>>2]=0.0;g[p>>2]=+g[(c[j>>2]|0)+(c[i>>2]<<1<<2)>>2];g[s>>2]=+g[(c[j>>2]|0)+((c[i>>2]<<1)+1<<2)>>2];g[k>>2]=+g[p>>2]*+g[p>>2];g[m>>2]=+g[p>>2]*+g[s>>2];g[n>>2]=+g[s>>2]*+g[s>>2];g[p>>2]=+g[(c[j>>2]|0)+((c[i>>2]<<1)+2<<2)>>2];g[s>>2]=+g[(c[j>>2]|0)+((c[i>>2]<<1)+3<<2)>>2];g[k>>2]=+g[k>>2]+ +g[p>>2]*+g[p>>2];g[m>>2]=+g[m>>2]+ +g[p>>2]*+g[s>>2];g[n>>2]=+g[n>>2]+ +g[s>>2]*+g[s>>2];g[p>>2]=+g[(c[j>>2]|0)+((c[i>>2]<<1)+4<<2)>>2];g[s>>2]=+g[(c[j>>2]|0)+((c[i>>2]<<1)+5<<2)>>2];g[k>>2]=+g[k>>2]+ +g[p>>2]*+g[p>>2];g[m>>2]=+g[m>>2]+ +g[p>>2]*+g[s>>2];g[n>>2]=+g[n>>2]+ +g[s>>2]*+g[s>>2];g[p>>2]=+g[(c[j>>2]|0)+((c[i>>2]<<1)+6<<2)>>2];g[s>>2]=+g[(c[j>>2]|0)+((c[i>>2]<<1)+7<<2)>>2];g[k>>2]=+g[k>>2]+ +g[p>>2]*+g[p>>2];g[m>>2]=+g[m>>2]+ +g[p>>2]*+g[s>>2];g[n>>2]=+g[n>>2]+ +g[s>>2]*+g[s>>2];g[q>>2]=+g[q>>2]+ +g[k>>2];g[r>>2]=+g[r>>2]+ +g[m>>2];g[t>>2]=+g[t>>2]+ +g[n>>2];c[i>>2]=(c[i>>2]|0)+4}if(!((+g[q>>2]<1.0e9?(+g[t>>2]<1.0e9?+g[q>>2]==+g[q>>2]:0):0)?!(+g[t>>2]!=+g[t>>2]):0)){g[t>>2]=0.0;g[q>>2]=0.0;g[r>>2]=0.0}E=c[C>>2]|0;g[E>>2]=+g[E>>2]+ +g[o>>2]*(+g[q>>2]-+g[c[C>>2]>>2]);E=(c[C>>2]|0)+4|0;g[E>>2]=+g[E>>2]+ +g[o>>2]*(+g[r>>2]-+g[(c[C>>2]|0)+4>>2]);E=(c[C>>2]|0)+8|0;g[E>>2]=+g[E>>2]+ +g[o>>2]*(+g[t>>2]-+g[(c[C>>2]|0)+8>>2]);if(0.0>+g[c[C>>2]>>2])f=0.0;else f=+g[c[C>>2]>>2];g[c[C>>2]>>2]=f;if(0.0>+g[(c[C>>2]|0)+4>>2])f=0.0;else f=+g[(c[C>>2]|0)+4>>2];g[(c[C>>2]|0)+4>>2]=f;if(0.0>+g[(c[C>>2]|0)+8>>2])f=0.0;else f=+g[(c[C>>2]|0)+8>>2];g[(c[C>>2]|0)+8>>2]=f;E=c[C>>2]|0;if(+g[(+g[c[C>>2]>>2]>+g[(c[C>>2]|0)+8>>2]?E:E+8|0)>>2]>7.999999797903001e-04){g[y>>2]=+G(+(+g[c[C>>2]>>2]));g[z>>2]=+G(+(+g[(c[C>>2]|0)+8>>2]));g[w>>2]=+G(+(+g[y>>2]));g[x>>2]=+G(+(+g[z>>2]));if(+g[(c[C>>2]|0)+4>>2]<+g[y>>2]*+g[z>>2])f=+g[(c[C>>2]|0)+4>>2];else f=+g[y>>2]*+g[z>>2];g[(c[C>>2]|0)+4>>2]=f;g[u>>2]=+g[(c[C>>2]|0)+4>>2]/(+g[y>>2]*+g[z>>2]+1.0000000036274937e-15);f=+F(+(+g[w>>2]-+g[x>>2]))*1.0;g[v>>2]=f/(+g[w>>2]+1.0000000036274937e-15+ +g[x>>2]);f=+G(+(1.0-+g[u>>2]*+g[u>>2]));g[A>>2]=f*+g[v>>2];d=(c[C>>2]|0)+12|0;g[d>>2]=+g[d>>2]+(+g[A>>2]-+g[(c[C>>2]|0)+12>>2])/+(c[B>>2]|0);d=c[C>>2]|0;if(+g[(c[C>>2]|0)+16>>2]-.019999999552965164/+(c[B>>2]|0)>+g[(c[C>>2]|0)+12>>2])f=+g[d+16>>2]-.019999999552965164/+(c[B>>2]|0);else f=+g[d+12>>2];g[(c[C>>2]|0)+16>>2]=f}if(1.0<+g[(c[C>>2]|0)+16>>2]*20.0){f=1.0;l=D;return +f}f=+g[(c[C>>2]|0)+16>>2]*20.0;l=D;return +f}function zj(e,f,h,i,j,k,m,o,p,q,r,s,t){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0;Wb=l;l=l+880|0;rb=Wb+240|0;qb=Wb+232|0;pb=Wb+224|0;ob=Wb+216|0;nb=Wb+208|0;mb=Wb+200|0;lb=Wb+192|0;Eb=Wb+184|0;Db=Wb+176|0;Cb=Wb+168|0;Bb=Wb+160|0;Ab=Wb+152|0;zb=Wb+144|0;yb=Wb+136|0;xb=Wb+128|0;wb=Wb+120|0;vb=Wb+112|0;tb=Wb+104|0;sb=Wb+96|0;Ta=Wb+88|0;Sa=Wb+80|0;Ra=Wb+72|0;Qa=Wb+64|0;Pa=Wb+56|0;Na=Wb+48|0;Ma=Wb+40|0;La=Wb+32|0;Ka=Wb+24|0;Ja=Wb+16|0;aa=Wb+8|0;B=Wb;Ub=Wb+856|0;Vb=Wb+852|0;Rb=Wb+848|0;Pb=Wb+844|0;Sb=Wb+840|0;ha=Wb+836|0;ea=Wb+832|0;w=Wb+828|0;x=Wb+824|0;y=Wb+820|0;z=Wb+816|0;v=Wb+812|0;A=Wb+808|0;na=Wb+804|0;Da=Wb+800|0;bb=Wb+796|0;Aa=Wb+792|0;Tb=Wb+788|0;Ha=Wb+784|0;Kb=Wb+736|0;ma=Wb+732|0;Ba=Wb+728|0;kb=Wb+724|0;Mb=Wb+720|0;Nb=Wb+716|0;cb=Wb+712|0;ib=Wb+708|0;Gb=Wb+704|0;jb=Wb+700|0;ia=Wb+696|0;ga=Wb+692|0;W=Wb+688|0;Wa=Wb+684|0;D=Wb+680|0;Oa=Wb+676|0;xa=Wb+672|0;Jb=Wb+668|0;Ua=Wb+664|0;Qb=Wb+660|0;Va=Wb+656|0;Q=Wb+652|0;Xa=Wb+648|0;Hb=Wb+584|0;ba=Wb+580|0;ca=Wb+576|0;Lb=Wb+572|0;C=Wb+568|0;F=Wb+564|0;G=Wb+560|0;H=Wb+556|0;L=Wb+552|0;I=Wb+548|0;K=Wb+544|0;J=Wb+540|0;M=Wb+536|0;O=Wb+532|0;N=Wb+528|0;R=Wb+524|0;T=Wb+424|0;V=Wb+420|0;U=Wb+416|0;Y=Wb+384|0;X=Wb+376|0;_=Wb+372|0;Z=Wb+368|0;$=Wb+364|0;da=Wb+360|0;fa=Wb+356|0;Ob=Wb+352|0;ja=Wb+348|0;pa=Wb+344|0;oa=Wb+340|0;Ia=Wb+336|0;ta=Wb+332|0;ua=Wb+328|0;wa=Wb+324|0;qa=Wb+320|0;ra=Wb+316|0;va=Wb+860|0;sa=Wb+312|0;ya=Wb+308|0;za=Wb+304|0;Ea=Wb+300|0;Ca=Wb+296|0;Ib=Wb+292|0;Ga=Wb+288|0;Fa=Wb+284|0;Ya=Wb+280|0;Za=Wb+276|0;_a=Wb+272|0;hb=Wb+264|0;fb=Wb+256|0;db=Wb+864|0;gb=Wb+252|0;eb=Wb+862|0;$a=Wb+248|0;ab=Wb+244|0;c[Vb>>2]=e;c[Rb>>2]=f;c[Pb>>2]=h;c[Sb>>2]=i;c[ha>>2]=j;c[ea>>2]=k;c[w>>2]=m;c[x>>2]=o;c[y>>2]=p;c[z>>2]=q;c[v>>2]=r;c[A>>2]=s;c[na>>2]=t;c[Tb>>2]=0;c[Ba>>2]=0;c[kb>>2]=0;c[Mb>>2]=0;c[Nb>>2]=0;c[cb>>2]=0;c[Gb>>2]=0;c[jb>>2]=0;c[ba>>2]=-1;c[ca>>2]=-1;c[Lb>>2]=0;c[Qb>>2]=1276<(c[ha>>2]|0)?1276:c[ha>>2]|0;c[(c[Vb>>2]|0)+18132>>2]=0;if((c[Pb>>2]|0)<=0|(c[Qb>>2]|0)<=0){c[Ub>>2]=-1;Vb=c[Ub>>2]|0;l=Wb;return Vb|0}if((c[Qb>>2]|0)==1?(c[(c[Vb>>2]|0)+144>>2]|0)==((c[Pb>>2]|0)*10|0):0){c[Ub>>2]=-2;Vb=c[Ub>>2]|0;l=Wb;return Vb|0}c[Da>>2]=(c[Vb>>2]|0)+(c[(c[Vb>>2]|0)+4>>2]|0);c[bb>>2]=(c[Vb>>2]|0)+(c[c[Vb>>2]>>2]|0);if((c[(c[Vb>>2]|0)+108>>2]|0)==2051)c[D>>2]=0;else c[D>>2]=c[(c[Vb>>2]|0)+116>>2];if((c[ea>>2]|0)<(c[(c[Vb>>2]|0)+168>>2]|0))r=c[ea>>2]|0;else r=c[(c[Vb>>2]|0)+168>>2]|0;c[ea>>2]=r;e=c[bb>>2]|0;c[B>>2]=Xa+(((Xa-Xa|0)/4|0)<<2);sc(e,10015,B)|0;c[Hb>>2]=0;if((c[(c[Vb>>2]|0)+8+36>>2]|0)>=7?(c[(c[Vb>>2]|0)+144>>2]|0)>=16e3:0){if(Aj(c[Rb>>2]|0,c[Pb>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0,c[ea>>2]|0)|0)c[Lb>>2]=1;else{c[ba>>2]=c[(c[Vb>>2]|0)+188+7448>>2];c[ca>>2]=c[(c[Vb>>2]|0)+188+7452>>2];bk((c[Vb>>2]|0)+188|0,c[Xa>>2]|0,c[w>>2]|0,c[x>>2]|0,c[Pb>>2]|0,c[y>>2]|0,c[z>>2]|0,c[v>>2]|0,c[(c[Vb>>2]|0)+144>>2]|0,c[ea>>2]|0,c[A>>2]|0,Hb)}if((c[Lb>>2]|0)==0?+g[Hb+36>>2]>.10000000149011612:0){u=+g[(c[Vb>>2]|0)+18124>>2]*.9990000128746033;if(u>+Bj(c[Rb>>2]|0,c[Pb>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0,c[(c[Vb>>2]|0)+180>>2]|0))u=+g[(c[Vb>>2]|0)+18124>>2]*.9990000128746033;else u=+Bj(c[Rb>>2]|0,c[Pb>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0,c[(c[Vb>>2]|0)+180>>2]|0);g[(c[Vb>>2]|0)+18124>>2]=u}}if(!(c[Lb>>2]|0))c[(c[Vb>>2]|0)+140>>2]=-1;c[(c[Vb>>2]|0)+18116>>2]=0;do if(c[Hb>>2]|0){if((c[(c[Vb>>2]|0)+124>>2]|0)==-1e3){do if(c[(c[Vb>>2]|0)+14224>>2]|0)if((c[(c[Vb>>2]|0)+14224>>2]|0)==1002){g[F>>2]=+g[Hb+28>>2];break}else{g[F>>2]=+g[Hb+24>>2];break}else g[F>>2]=+g[Hb+20>>2];while(0);F=~~+E(+((1.0-+g[F>>2])*100.0+.5));c[(c[Vb>>2]|0)+140>>2]=F}c[C>>2]=c[Hb+32>>2];if((c[C>>2]|0)<=12){c[(c[Vb>>2]|0)+18116>>2]=1101;break}if((c[C>>2]|0)<=14){c[(c[Vb>>2]|0)+18116>>2]=1102;break}if((c[C>>2]|0)<=16){c[(c[Vb>>2]|0)+18116>>2]=1103;break}else{c[(c[Vb>>2]|0)+18116>>2]=(c[C>>2]|0)<=18?1104:1105;break}}while(0);if((c[(c[Vb>>2]|0)+112>>2]|0)==2?(c[(c[Vb>>2]|0)+120>>2]|0)!=1:0)g[Q>>2]=+yj(c[Rb>>2]|0,c[Pb>>2]|0,c[(c[Vb>>2]|0)+144>>2]|0,(c[Vb>>2]|0)+14256|0);else g[Q>>2]=0.0;c[Va>>2]=c[D>>2];F=Cj(c[Vb>>2]|0,c[Pb>>2]|0,c[Qb>>2]|0)|0;c[(c[Vb>>2]|0)+160>>2]=F;c[Oa>>2]=(c[(c[Vb>>2]|0)+144>>2]|0)/(c[Pb>>2]|0)|0;if(!(c[(c[Vb>>2]|0)+148>>2]|0)){c[H>>2]=((c[(c[Vb>>2]|0)+144>>2]|0)*12|0)/(c[Pb>>2]|0)|0;if((((((c[(c[Vb>>2]|0)+160>>2]|0)*12|0)/8|0)+((c[H>>2]|0)/2|0)|0)/(c[H>>2]|0)|0|0)<(c[Qb>>2]|0))r=((((c[(c[Vb>>2]|0)+160>>2]|0)*12|0)/8|0)+((c[H>>2]|0)/2|0)|0)/(c[H>>2]|0)|0;else r=c[Qb>>2]|0;c[G>>2]=r;H=((S(c[G>>2]|0,c[H>>2]|0)|0)<<3|0)/12|0;c[(c[Vb>>2]|0)+160>>2]=H;c[Qb>>2]=1>(c[G>>2]|0)?1:c[G>>2]|0}do if((c[Qb>>2]|0)>=3?(c[(c[Vb>>2]|0)+160>>2]|0)>=((c[Oa>>2]|0)*3<<3|0):0){if((c[Oa>>2]|0)<50){if((S(c[Qb>>2]|0,c[Oa>>2]|0)|0)<300)break;if((c[(c[Vb>>2]|0)+160>>2]|0)<2400)break}c[xa>>2]=(S(c[Oa>>2]|0,c[Qb>>2]|0)|0)<<3;c[Wa>>2]=Ej(c[(c[Vb>>2]|0)+160>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0,(c[(c[Vb>>2]|0)+144>>2]|0)/(c[Pb>>2]|0)|0,c[(c[Vb>>2]|0)+148>>2]|0,0,c[(c[Vb>>2]|0)+8+36>>2]|0,c[(c[Vb>>2]|0)+8+32>>2]|0)|0;do if((c[(c[Vb>>2]|0)+124>>2]|0)!=3001){if((c[(c[Vb>>2]|0)+124>>2]|0)==3002){c[W>>2]=0;break}r=c[Vb>>2]|0;if((c[(c[Vb>>2]|0)+140>>2]|0)>=0){c[W>>2]=(c[r+140>>2]|0)*327>>8;if((c[(c[Vb>>2]|0)+108>>2]|0)!=2049)break;c[W>>2]=(c[W>>2]|0)<115?c[W>>2]|0:115;break}if((c[r+108>>2]|0)==2048){c[W>>2]=115;break}else{c[W>>2]=48;break}}else c[W>>2]=127;while(0);if((c[(c[Vb>>2]|0)+120>>2]|0)!=-1e3?(c[(c[Vb>>2]|0)+112>>2]|0)==2:0){r=c[(c[Vb>>2]|0)+120>>2]|0;m=c[Vb>>2]|0}else Fb=93;do if((Fb|0)==93){if((c[(c[Vb>>2]|0)+112>>2]|0)!=2){r=c[(c[Vb>>2]|0)+112>>2]|0;m=c[Vb>>2]|0;break}c[M>>2]=17e3+((S(c[W>>2]|0,c[W>>2]|0)|0)*2e3>>14);r=c[M>>2]|0;if((c[(c[Vb>>2]|0)+14188>>2]|0)==2)c[M>>2]=r-1e3;else c[M>>2]=r+1e3;r=(c[Wa>>2]|0)>(c[M>>2]|0)?2:1;m=c[Vb>>2]|0}while(0);c[m+14188>>2]=r;c[Wa>>2]=Ej(c[(c[Vb>>2]|0)+160>>2]|0,c[(c[Vb>>2]|0)+14188>>2]|0,(c[(c[Vb>>2]|0)+144>>2]|0)/(c[Pb>>2]|0)|0,c[(c[Vb>>2]|0)+148>>2]|0,0,c[(c[Vb>>2]|0)+8+36>>2]|0,c[(c[Vb>>2]|0)+8+32>>2]|0)|0;r=c[Vb>>2]|0;do if((c[(c[Vb>>2]|0)+108>>2]|0)==2051){m=1002;Fb=117}else{if((c[r+136>>2]|0)!=-1e3){m=c[(c[Vb>>2]|0)+136>>2]|0;r=c[Vb>>2]|0;Fb=117;break}c[O>>2]=~~((1.0-+g[Q>>2])*+(c[4518]|0)+ +g[Q>>2]*+(c[4520]|0));c[N>>2]=~~((1.0-+g[Q>>2])*+(c[4521]|0)+ +g[Q>>2]*+(c[4521]|0));Q=S(c[W>>2]|0,c[W>>2]|0)|0;c[R>>2]=(c[N>>2]|0)+((S(Q,(c[O>>2]|0)-(c[N>>2]|0)|0)|0)>>14);if((c[(c[Vb>>2]|0)+108>>2]|0)==2048)c[R>>2]=(c[R>>2]|0)+8e3;do if((c[(c[Vb>>2]|0)+14224>>2]|0)==1002)c[R>>2]=(c[R>>2]|0)-4e3;else{if((c[(c[Vb>>2]|0)+14224>>2]|0)<=0)break;c[R>>2]=(c[R>>2]|0)+4e3}while(0);c[(c[Vb>>2]|0)+14220>>2]=(c[Wa>>2]|0)>=(c[R>>2]|0)?1002:1e3;do if(c[(c[Vb>>2]|0)+8+40>>2]|0){if((c[(c[Vb>>2]|0)+8+32>>2]|0)<=(128-(c[W>>2]|0)>>4|0))break;c[(c[Vb>>2]|0)+14220>>2]=1e3}while(0);if(c[(c[Vb>>2]|0)+184>>2]|0)r=(c[Hb>>2]|0?1:(c[Lb>>2]|0)!=0)^1;else r=0;c[(c[Vb>>2]|0)+8+48>>2]=r&1;if((c[W>>2]|0)>100?(c[(c[Vb>>2]|0)+8+48>>2]|0)!=0:0)c[(c[Vb>>2]|0)+14220>>2]=1e3;R=S((c[Oa>>2]|0)>50?9e3:6e3,c[Pb>>2]|0)|0;if((c[Qb>>2]|0)>=((R|0)/(c[(c[Vb>>2]|0)+144>>2]<<3|0)|0|0))break;m=1002;r=c[Vb>>2]|0;Fb=117}while(0);if((Fb|0)==117)c[r+14220>>2]=m;if((c[(c[Vb>>2]|0)+14220>>2]|0)!=1002?(c[Pb>>2]|0)<((c[(c[Vb>>2]|0)+144>>2]|0)/100|0|0):0)c[(c[Vb>>2]|0)+14220>>2]=1002;if(c[(c[Vb>>2]|0)+176>>2]|0)c[(c[Vb>>2]|0)+14220>>2]=1002;do if((c[(c[Vb>>2]|0)+14224>>2]|0)>0){if(!((c[(c[Vb>>2]|0)+14220>>2]|0)!=1002?(c[(c[Vb>>2]|0)+14224>>2]|0)==1002:0)){if((c[(c[Vb>>2]|0)+14220>>2]|0)!=1002)break;if((c[(c[Vb>>2]|0)+14224>>2]|0)==1002)break}c[Mb>>2]=1;c[cb>>2]=(c[(c[Vb>>2]|0)+14220>>2]|0)!=1002&1;if(c[cb>>2]|0)break;if((c[Pb>>2]|0)>=((c[(c[Vb>>2]|0)+144>>2]|0)/100|0|0)){c[(c[Vb>>2]|0)+14220>>2]=c[(c[Vb>>2]|0)+14224>>2];c[Gb>>2]=1;break}else{c[Mb>>2]=0;break}}while(0);do if((c[(c[Vb>>2]|0)+14188>>2]|0)==1){if((c[(c[Vb>>2]|0)+14228>>2]|0)!=2){Fb=138;break}if(c[(c[Vb>>2]|0)+8+60>>2]|0){Fb=138;break}if((c[(c[Vb>>2]|0)+14220>>2]|0)==1002){Fb=138;break}if((c[(c[Vb>>2]|0)+14224>>2]|0)==1002){Fb=138;break}c[(c[Vb>>2]|0)+8+60>>2]=1;c[(c[Vb>>2]|0)+14188>>2]=2}else Fb=138;while(0);if((Fb|0)==138)c[(c[Vb>>2]|0)+8+60>>2]=0;c[Wa>>2]=Ej(c[(c[Vb>>2]|0)+160>>2]|0,c[(c[Vb>>2]|0)+14188>>2]|0,(c[(c[Vb>>2]|0)+144>>2]|0)/(c[Pb>>2]|0)|0,c[(c[Vb>>2]|0)+148>>2]|0,c[(c[Vb>>2]|0)+14220>>2]|0,c[(c[Vb>>2]|0)+8+36>>2]|0,c[(c[Vb>>2]|0)+8+32>>2]|0)|0;do if((c[(c[Vb>>2]|0)+14220>>2]|0)!=1002){if((c[(c[Vb>>2]|0)+14224>>2]|0)!=1002)break;Ze(c[Da>>2]|0,c[(c[Vb>>2]|0)+180>>2]|0,T)|0;c[Ba>>2]=1}while(0);do if((c[(c[Vb>>2]|0)+14220>>2]|0)!=1002){if(c[(c[Vb>>2]|0)+14248>>2]|0){Fb=145;break}if(c[(c[Vb>>2]|0)+8+76>>2]|0)Fb=145}else Fb=145;while(0);do if((Fb|0)==145){c[X>>2]=1105;do if((c[(c[Vb>>2]|0)+112>>2]|0)==2){if((c[(c[Vb>>2]|0)+120>>2]|0)==1){Fb=148;break}c[V>>2]=18088;c[U>>2]=18120}else Fb=148;while(0);if((Fb|0)==148){c[V>>2]=18152;c[U>>2]=18184}c[Aa>>2]=0;while(1){if((c[Aa>>2]|0)>=8)break;T=S(c[W>>2]|0,c[W>>2]|0)|0;T=(c[(c[U>>2]|0)+(c[Aa>>2]<<2)>>2]|0)+((S(T,(c[(c[V>>2]|0)+(c[Aa>>2]<<2)>>2]|0)-(c[(c[U>>2]|0)+(c[Aa>>2]<<2)>>2]|0)|0)|0)>>14)|0;c[Y+(c[Aa>>2]<<2)>>2]=T;c[Aa>>2]=(c[Aa>>2]|0)+1}do{c[_>>2]=c[Y+((c[X>>2]|0)-1102<<1<<2)>>2];c[Z>>2]=c[Y+(((c[X>>2]|0)-1102<<1)+1<<2)>>2];do if(!(c[(c[Vb>>2]|0)+14248>>2]|0)){r=c[Z>>2]|0;m=c[_>>2]|0;if((c[(c[Vb>>2]|0)+14240>>2]|0)>=(c[X>>2]|0)){c[_>>2]=m-r;break}else{c[_>>2]=m+r;break}}while(0);if((c[Wa>>2]|0)>=(c[_>>2]|0))break;W=(c[X>>2]|0)+-1|0;c[X>>2]=W}while((W|0)>1101);_=c[X>>2]|0;c[(c[Vb>>2]|0)+14240>>2]=_;c[(c[Vb>>2]|0)+14236>>2]=_;if(c[(c[Vb>>2]|0)+14248>>2]|0)break;if((c[(c[Vb>>2]|0)+14220>>2]|0)==1002)break;if(c[(c[Vb>>2]|0)+8+80>>2]|0)break;if((c[(c[Vb>>2]|0)+14236>>2]|0)<=1103)break;c[(c[Vb>>2]|0)+14236>>2]=1103}while(0);if((c[(c[Vb>>2]|0)+14236>>2]|0)>(c[(c[Vb>>2]|0)+132>>2]|0))c[(c[Vb>>2]|0)+14236>>2]=c[(c[Vb>>2]|0)+132>>2];if((c[(c[Vb>>2]|0)+128>>2]|0)!=-1e3)c[(c[Vb>>2]|0)+14236>>2]=c[(c[Vb>>2]|0)+128>>2];if((c[xa>>2]|0)<15e3?(c[(c[Vb>>2]|0)+14220>>2]|0)!=1002:0){if((c[(c[Vb>>2]|0)+14236>>2]|0)<1103)r=c[(c[Vb>>2]|0)+14236>>2]|0;else r=1103;c[(c[Vb>>2]|0)+14236>>2]=r}do if((c[(c[Vb>>2]|0)+144>>2]|0)<=24e3){if((c[(c[Vb>>2]|0)+14236>>2]|0)<=1104)break;c[(c[Vb>>2]|0)+14236>>2]=1104}while(0);do if((c[(c[Vb>>2]|0)+144>>2]|0)<=16e3){if((c[(c[Vb>>2]|0)+14236>>2]|0)<=1103)break;c[(c[Vb>>2]|0)+14236>>2]=1103}while(0);do if((c[(c[Vb>>2]|0)+144>>2]|0)<=12e3){if((c[(c[Vb>>2]|0)+14236>>2]|0)<=1102)break;c[(c[Vb>>2]|0)+14236>>2]=1102}while(0);do if((c[(c[Vb>>2]|0)+144>>2]|0)<=8e3){if((c[(c[Vb>>2]|0)+14236>>2]|0)<=1101)break;c[(c[Vb>>2]|0)+14236>>2]=1101}while(0);do if(c[(c[Vb>>2]|0)+18116>>2]|0){if((c[(c[Vb>>2]|0)+128>>2]|0)!=-1e3)break;do if((c[Wa>>2]|0)<=((c[(c[Vb>>2]|0)+14188>>2]|0)*18e3|0)){if((c[(c[Vb>>2]|0)+14220>>2]|0)!=1002){Fb=188;break}c[$>>2]=1101}else Fb=188;while(0);a:do if((Fb|0)==188){do if((c[Wa>>2]|0)<=((c[(c[Vb>>2]|0)+14188>>2]|0)*24e3|0)){if((c[(c[Vb>>2]|0)+14220>>2]|0)!=1002)break;c[$>>2]=1102;break a}while(0);if((c[Wa>>2]|0)<=((c[(c[Vb>>2]|0)+14188>>2]|0)*3e4|0)){c[$>>2]=1103;break}if((c[Wa>>2]|0)<=((c[(c[Vb>>2]|0)+14188>>2]|0)*44e3|0)){c[$>>2]=1104;break}else{c[$>>2]=1105;break}}while(0);if((c[(c[Vb>>2]|0)+18116>>2]|0)>(c[$>>2]|0))r=c[(c[Vb>>2]|0)+18116>>2]|0;else r=c[$>>2]|0;c[(c[Vb>>2]|0)+18116>>2]=r;$=c[Vb>>2]|0;c[(c[Vb>>2]|0)+14236>>2]=c[((c[(c[Vb>>2]|0)+14236>>2]|0)<(c[(c[Vb>>2]|0)+18116>>2]|0)?$+14236|0:$+18116|0)>>2]}while(0);$=Fj(c[(c[Vb>>2]|0)+8+40>>2]|0,c[(c[Vb>>2]|0)+8+32>>2]|0,c[(c[Vb>>2]|0)+8+44>>2]|0,c[(c[Vb>>2]|0)+14220>>2]|0,(c[Vb>>2]|0)+14236|0,c[Wa>>2]|0)|0;c[(c[Vb>>2]|0)+8+44>>2]=$;$=c[bb>>2]|0;c[aa>>2]=c[ea>>2];sc($,4036,aa)|0;do if((c[(c[Vb>>2]|0)+14220>>2]|0)==1002){if((c[(c[Vb>>2]|0)+14236>>2]|0)!=1102)break;c[(c[Vb>>2]|0)+14236>>2]=1103}while(0);if(c[(c[Vb>>2]|0)+176>>2]|0)c[(c[Vb>>2]|0)+14236>>2]=1101;c[Jb>>2]=c[(c[Vb>>2]|0)+14236>>2];if((c[Jb>>2]|0)>1103?(c[(c[Vb>>2]|0)+14220>>2]|0)==1e3:0)c[(c[Vb>>2]|0)+14220>>2]=1001;if((c[Jb>>2]|0)<=1103?(c[(c[Vb>>2]|0)+14220>>2]|0)==1001:0)c[(c[Vb>>2]|0)+14220>>2]=1e3;if(!((c[Pb>>2]|0)>((c[(c[Vb>>2]|0)+144>>2]|0)/50|0|0)?(c[(c[Vb>>2]|0)+14220>>2]|0)!=1e3:0))Fb=211;do if((Fb|0)==211){if((c[Pb>>2]|0)>(((c[(c[Vb>>2]|0)+144>>2]|0)*3|0)/50|0|0))break;if(c[(c[Vb>>2]|0)+14244>>2]|0){c[Mb>>2]=1;c[cb>>2]=1;c[(c[Vb>>2]|0)+14244>>2]=0;c[Ba>>2]=1}if((c[(c[Vb>>2]|0)+14220>>2]|0)==1002)c[Mb>>2]=0;do if(c[Mb>>2]|0){c[Nb>>2]=Hj(c[Qb>>2]|0,c[(c[Vb>>2]|0)+160>>2]|0,c[Oa>>2]|0,c[(c[Vb>>2]|0)+14188>>2]|0)|0;if(c[Nb>>2]|0)break;c[Mb>>2]=0}while(0);ha=S(c[(c[Vb>>2]|0)+160>>2]|0,c[Pb>>2]|0)|0;if(((c[Qb>>2]|0)-(c[Nb>>2]|0)|0)<((ha|0)/(c[(c[Vb>>2]|0)+144>>2]<<3|0)|0|0))r=(c[Qb>>2]|0)-(c[Nb>>2]|0)|0;else{r=S(c[(c[Vb>>2]|0)+160>>2]|0,c[Pb>>2]|0)|0;r=(r|0)/(c[(c[Vb>>2]|0)+144>>2]<<3|0)|0}c[ma>>2]=r-1;c[Sb>>2]=(c[Sb>>2]|0)+1;od(Kb,c[Sb>>2]|0,(c[Qb>>2]|0)-1|0);fa=S((c[Va>>2]|0)+(c[Pb>>2]|0)|0,c[(c[Vb>>2]|0)+112>>2]|0)|0;c[Ob>>2]=la()|0;p=l;l=l+((1*(fa<<2)|0)+15&-16)|0;fa=(c[Vb>>2]|0)+14276+((S((c[(c[Vb>>2]|0)+172>>2]|0)-(c[Va>>2]|0)|0,c[(c[Vb>>2]|0)+112>>2]|0)|0)<<2)|0;ha=(S(c[Va>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0)|0)<<2;uk(p|0,fa|0,ha+0|0)|0;if((c[(c[Vb>>2]|0)+14220>>2]|0)==1002)c[ga>>2]=(Wg(60)|0)<<8;else c[ga>>2]=c[(c[Da>>2]|0)+8>>2];c[(c[Vb>>2]|0)+14196>>2]=(c[(c[Vb>>2]|0)+14196>>2]|0)+((((c[ga>>2]|0)-(c[(c[Vb>>2]|0)+14196>>2]|0)>>16)*983|0)+(((c[ga>>2]|0)-(c[(c[Vb>>2]|0)+14196>>2]|0)&65535)*983>>16));c[ia>>2]=_g(c[(c[Vb>>2]|0)+14196>>2]>>8)|0;r=c[Rb>>2]|0;if((c[(c[Vb>>2]|0)+108>>2]|0)==2048){ha=p+((S(c[Va>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0)|0)<<2)|0;Ij(r,c[ia>>2]|0,ha,(c[Vb>>2]|0)+14204|0,c[Pb>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0,c[(c[Vb>>2]|0)+144>>2]|0,c[(c[Vb>>2]|0)+180>>2]|0)}else{ia=p+((S(c[Va>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0)|0)<<2)|0;Jj(r,3,ia,(c[Vb>>2]|0)+14204|0,c[Pb>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0,c[(c[Vb>>2]|0)+144>>2]|0)}do if(c[na>>2]|0){ha=p+((S(c[Va>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0)|0)<<2)|0;ia=p+((S(c[Va>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0)|0)<<2)|0;na=S(c[Pb>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0)|0;g[ja>>2]=+ub[c[n+((c[(c[Vb>>2]|0)+180>>2]&7)<<2)>>2]&0](ha,ia,na);if(+g[ja>>2]<1.0e9?!(+g[ja>>2]!=+g[ja>>2]):0)break;na=p+((S(c[Va>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0)|0)<<2)|0;wk(na|0,0,(S(c[Pb>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0)|0)<<2|0)|0;g[(c[Vb>>2]|0)+14204+12>>2]=0.0;g[(c[Vb>>2]|0)+14204+8>>2]=0.0;g[(c[Vb>>2]|0)+14204+4>>2]=0.0;g[(c[Vb>>2]|0)+14204>>2]=0.0}while(0);g[Ua>>2]=1.0;if((c[(c[Vb>>2]|0)+14220>>2]|0)!=1002){r=S(c[(c[Vb>>2]|0)+112>>2]|0,c[Pb>>2]|0)|0;c[Ia>>2]=la()|0;o=l;l=l+((1*(r<<1)|0)+15&-16)|0;c[pa>>2]=S(c[ma>>2]<<3,c[Oa>>2]|0)|0;r=c[pa>>2]|0;do if((c[(c[Vb>>2]|0)+14220>>2]|0)==1001){na=Kj(r,c[Jb>>2]|0,(c[(c[Vb>>2]|0)+144>>2]|0)==((c[Pb>>2]|0)*50|0)&1,c[(c[Vb>>2]|0)+148>>2]|0,c[(c[Vb>>2]|0)+8+44>>2]|0,c[(c[Vb>>2]|0)+14188>>2]|0)|0;c[(c[Vb>>2]|0)+8+28>>2]=na;if(c[(c[Vb>>2]|0)+14252>>2]|0)break;c[oa>>2]=(c[pa>>2]|0)-(c[(c[Vb>>2]|0)+8+28>>2]|0);g[Ua>>2]=1.0-+P(+(+(0-(c[oa>>2]|0)|0)*.0009765625*.6931471805599453))}else c[(c[Vb>>2]|0)+8+28>>2]=r;while(0);do if(c[(c[Vb>>2]|0)+14252>>2]|0){if(!(c[(c[Vb>>2]|0)+148>>2]|0))break;if(c[(c[Vb>>2]|0)+176>>2]|0)break;g[ta>>2]=0.0;c[ra>>2]=17;b[va>>1]=16e3;do if((c[(c[Vb>>2]|0)+14236>>2]|0)==1101){c[ra>>2]=13;b[va>>1]=8e3}else{if((c[(c[Vb>>2]|0)+14236>>2]|0)!=1102)break;c[ra>>2]=15;b[va>>1]=12e3}while(0);c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[(c[Vb>>2]|0)+112>>2]|0))break;c[Aa>>2]=0;while(1){if((c[Aa>>2]|0)>=(c[ra>>2]|0))break;if(+g[(c[(c[Vb>>2]|0)+14252>>2]|0)+(((c[qa>>2]|0)*21|0)+(c[Aa>>2]|0)<<2)>>2]<.5)u=+g[(c[(c[Vb>>2]|0)+14252>>2]|0)+(((c[qa>>2]|0)*21|0)+(c[Aa>>2]|0)<<2)>>2];else u=.5;do if(u>-2.0){if(!(+g[(c[(c[Vb>>2]|0)+14252>>2]|0)+(((c[qa>>2]|0)*21|0)+(c[Aa>>2]|0)<<2)>>2]<.5)){u=.5;break}u=+g[(c[(c[Vb>>2]|0)+14252>>2]|0)+(((c[qa>>2]|0)*21|0)+(c[Aa>>2]|0)<<2)>>2]}else u=-2.0;while(0);g[sa>>2]=u;if(+g[sa>>2]>0.0)g[sa>>2]=+g[sa>>2]*.5;g[ta>>2]=+g[ta>>2]+ +g[sa>>2];c[Aa>>2]=(c[Aa>>2]|0)+1}c[qa>>2]=(c[qa>>2]|0)+1}g[ua>>2]=+g[ta>>2]/+(c[ra>>2]|0)*+(c[(c[Vb>>2]|0)+112>>2]|0);g[ua>>2]=+g[ua>>2]+.20000000298023224;c[wa>>2]=~~(+(b[va>>1]|0)*+g[ua>>2]);if((c[wa>>2]|0)>((S(-2,c[(c[Vb>>2]|0)+8+28>>2]|0)|0)/3|0|0))r=c[wa>>2]|0;else r=(S(-2,c[(c[Vb>>2]|0)+8+28>>2]|0)|0)/3|0;c[wa>>2]=r;do if((c[(c[Vb>>2]|0)+14236>>2]|0)==1104)Fb=272;else{if((c[(c[Vb>>2]|0)+14236>>2]|0)==1105){Fb=272;break}r=c[wa>>2]|0;m=c[Vb>>2]|0}while(0);if((Fb|0)==272){r=((c[wa>>2]|0)*3|0)/5|0;m=c[Vb>>2]|0}wa=m+8+28|0;c[wa>>2]=(c[wa>>2]|0)+r}while(0);c[(c[Vb>>2]|0)+8+24>>2]=((c[Pb>>2]|0)*1e3|0)/(c[(c[Vb>>2]|0)+144>>2]|0)|0;c[(c[Vb>>2]|0)+8>>2]=c[(c[Vb>>2]|0)+112>>2];c[(c[Vb>>2]|0)+8+4>>2]=c[(c[Vb>>2]|0)+14188>>2];if((c[Jb>>2]|0)==1101)c[(c[Vb>>2]|0)+8+20>>2]=8e3;else c[(c[Vb>>2]|0)+8+20>>2]=(c[Jb>>2]|0)==1102?12e3:16e3;c[(c[Vb>>2]|0)+8+16>>2]=(c[(c[Vb>>2]|0)+14220>>2]|0)==1001?16e3:8e3;c[(c[Vb>>2]|0)+8+12>>2]=16e3;do if((c[(c[Vb>>2]|0)+14220>>2]|0)==1e3){c[ya>>2]=c[xa>>2];if((c[Oa>>2]|0)>50)c[ya>>2]=(c[ya>>2]<<1|0)/3|0;if((c[ya>>2]|0)<8e3){c[(c[Vb>>2]|0)+8+12>>2]=12e3;if(12e3<(c[(c[Vb>>2]|0)+8+20>>2]|0))r=12e3;else r=c[(c[Vb>>2]|0)+8+20>>2]|0;c[(c[Vb>>2]|0)+8+20>>2]=r}if((c[ya>>2]|0)>=7e3)break;c[(c[Vb>>2]|0)+8+12>>2]=8e3;if(8e3<(c[(c[Vb>>2]|0)+8+20>>2]|0))r=8e3;else r=c[(c[Vb>>2]|0)+8+20>>2]|0;c[(c[Vb>>2]|0)+8+20>>2]=r}while(0);c[(c[Vb>>2]|0)+8+52>>2]=((c[(c[Vb>>2]|0)+148>>2]|0)!=0^1)&1;c[(c[Vb>>2]|0)+8+56>>2]=(c[Qb>>2]|0)-1<<3;do if((c[Mb>>2]|0)!=0&(c[Nb>>2]|0)>=2){ya=(c[Vb>>2]|0)+8+56|0;c[ya>>2]=(c[ya>>2]|0)-((c[Nb>>2]<<3)+1);if((c[(c[Vb>>2]|0)+14220>>2]|0)!=1001)break;ya=(c[Vb>>2]|0)+8+56|0;c[ya>>2]=(c[ya>>2]|0)-20}while(0);r=(c[(c[Vb>>2]|0)+14220>>2]|0)==1001;do if(c[(c[Vb>>2]|0)+8+52>>2]|0){if(!r)break;za=S(c[(c[Vb>>2]|0)+8+28>>2]|0,c[Pb>>2]|0)|0;r=(c[Vb>>2]|0)+8|0;if((c[(c[Vb>>2]|0)+8+56>>2]|0)<((za|0)/(c[(c[Vb>>2]|0)+144>>2]|0)|0|0))r=c[r+56>>2]|0;else{r=S(c[r+28>>2]|0,c[Pb>>2]|0)|0;r=(r|0)/(c[(c[Vb>>2]|0)+144>>2]|0)|0}c[(c[Vb>>2]|0)+8+56>>2]=r}else{if(!r)break;ya=S(c[(c[Vb>>2]|0)+8+56>>2]|0,c[(c[Vb>>2]|0)+144>>2]|0)|0;c[za>>2]=Kj((ya|0)/(c[Pb>>2]|0)|0,c[Jb>>2]|0,(c[(c[Vb>>2]|0)+144>>2]|0)==((c[Pb>>2]|0)*50|0)&1,c[(c[Vb>>2]|0)+148>>2]|0,c[(c[Vb>>2]|0)+8+44>>2]|0,c[(c[Vb>>2]|0)+14188>>2]|0)|0;za=S(c[za>>2]|0,c[Pb>>2]|0)|0;c[(c[Vb>>2]|0)+8+56>>2]=(za|0)/(c[(c[Vb>>2]|0)+144>>2]|0)|0}while(0);if(c[Ba>>2]|0){c[Ea>>2]=0;c[Ca>>2]=S(c[(c[Vb>>2]|0)+112>>2]|0,(c[(c[Vb>>2]|0)+172>>2]|0)-(c[(c[Vb>>2]|0)+116>>2]|0)-((c[(c[Vb>>2]|0)+144>>2]|0)/400|0)|0)|0;Lj((c[Vb>>2]|0)+14276+(c[Ca>>2]<<2)|0,(c[Vb>>2]|0)+14276+(c[Ca>>2]<<2)|0,0.0,1.0,c[(c[Xa>>2]|0)+4>>2]|0,(c[(c[Vb>>2]|0)+144>>2]|0)/400|0,c[(c[Vb>>2]|0)+112>>2]|0,c[(c[Xa>>2]|0)+60>>2]|0,c[(c[Vb>>2]|0)+144>>2]|0);wk((c[Vb>>2]|0)+14276|0,0,c[Ca>>2]<<2|0)|0;c[Aa>>2]=0;while(1){if((c[Aa>>2]|0)>=(S(c[(c[Vb>>2]|0)+172>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0)|0))break;Ca=Mj(+g[(c[Vb>>2]|0)+14276+(c[Aa>>2]<<2)>>2])|0;b[o+(c[Aa>>2]<<1)>>1]=Ca;c[Aa>>2]=(c[Aa>>2]|0)+1}$e(c[Da>>2]|0,(c[Vb>>2]|0)+8|0,o,c[(c[Vb>>2]|0)+172>>2]|0,0,Ea,1)|0}c[Aa>>2]=0;while(1){if((c[Aa>>2]|0)>=(S(c[Pb>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0)|0))break;Ea=S(c[Va>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0)|0;Ea=Mj(+g[p+(Ea+(c[Aa>>2]|0)<<2)>>2])|0;b[o+(c[Aa>>2]<<1)>>1]=Ea;c[Aa>>2]=(c[Aa>>2]|0)+1}c[Tb>>2]=$e(c[Da>>2]|0,(c[Vb>>2]|0)+8|0,o,c[Pb>>2]|0,Kb,Ha,0)|0;do if(c[Tb>>2]|0){c[Ub>>2]=-3;c[Ib>>2]=1}else{do if((c[(c[Vb>>2]|0)+14220>>2]|0)==1e3){if((c[(c[Vb>>2]|0)+8+72>>2]|0)==8e3){c[Jb>>2]=1101;break}if((c[(c[Vb>>2]|0)+8+72>>2]|0)==12e3){c[Jb>>2]=1102;break}if((c[(c[Vb>>2]|0)+8+72>>2]|0)!=16e3)break;c[Jb>>2]=1103}while(0);if(c[(c[Vb>>2]|0)+8+88>>2]|0)r=(c[(c[Vb>>2]|0)+18128>>2]|0)!=0^1;else r=0;c[(c[Vb>>2]|0)+8+64>>2]=r&1;r=c[Vb>>2]|0;if(!(c[Ha>>2]|0)){c[r+18132>>2]=0;Oa=Dj(c[(c[Vb>>2]|0)+14220>>2]|0,(c[(c[Vb>>2]|0)+144>>2]|0)/(c[Pb>>2]|0)|0,c[Jb>>2]|0,c[(c[Vb>>2]|0)+14188>>2]|0)|0;a[(c[Sb>>2]|0)+-1>>0]=Oa;c[Ub>>2]=1;c[Ib>>2]=1;break}if(c[r+8+64>>2]|0){c[Nb>>2]=Hj(c[Qb>>2]|0,c[(c[Vb>>2]|0)+160>>2]|0,c[Oa>>2]|0,c[(c[Vb>>2]|0)+14188>>2]|0)|0;c[Mb>>2]=(c[Nb>>2]|0)!=0&1;c[cb>>2]=0;c[(c[Vb>>2]|0)+14244>>2]=1}c[Ib>>2]=0}while(0);ka(c[Ia>>2]|0);if(!(c[Ib>>2]|0))Fb=325}else Fb=325;b:do if((Fb|0)==325){c[Ga>>2]=21;switch(c[Jb>>2]|0){case 1101:{c[Ga>>2]=13;break}case 1103:case 1102:{c[Ga>>2]=17;break}case 1104:{c[Ga>>2]=19;break}case 1105:{c[Ga>>2]=21;break}default:{}}Oa=c[bb>>2]|0;c[Ja>>2]=c[Ga>>2];sc(Oa,10012,Ja)|0;Oa=c[bb>>2]|0;c[Ka>>2]=c[(c[Vb>>2]|0)+14188>>2];sc(Oa,10008,Ka)|0;Oa=c[bb>>2]|0;c[La>>2]=-1;sc(Oa,4002,La)|0;do if((c[(c[Vb>>2]|0)+14220>>2]|0)!=1e3){g[Fa>>2]=2.0;Oa=c[bb>>2]|0;c[Ma>>2]=0;sc(Oa,4006,Ma)|0;if(c[(c[Vb>>2]|0)+8+68>>2]|0)g[Fa>>2]=0.0;r=c[bb>>2]|0;c[Na>>2]=~~+g[Fa>>2];sc(r,10002,Na)|0;r=(c[(c[Vb>>2]|0)+148>>2]|0)!=0;if((c[(c[Vb>>2]|0)+14220>>2]|0)==1001){if(!r)break;Ta=c[bb>>2]|0;c[Pa>>2]=(c[(c[Vb>>2]|0)+160>>2]|0)-(c[(c[Vb>>2]|0)+8+28>>2]|0);sc(Ta,4002,Pa)|0;Ta=c[bb>>2]|0;c[Qa>>2]=0;sc(Ta,4020,Qa)|0;break}else{if(!r)break;Qa=c[bb>>2]|0;c[Ra>>2]=1;sc(Qa,4006,Ra)|0;Ra=c[bb>>2]|0;c[Sa>>2]=c[(c[Vb>>2]|0)+152>>2];sc(Ra,4020,Sa)|0;Sa=c[bb>>2]|0;c[Ta>>2]=c[(c[Vb>>2]|0)+160>>2];sc(Sa,4002,Ta)|0;break}}while(0);Ta=((S(c[(c[Vb>>2]|0)+112>>2]|0,c[(c[Vb>>2]|0)+144>>2]|0)|0)/400|0)<<2;o=l;l=l+((1*Ta|0)+15&-16)|0;do if((c[(c[Vb>>2]|0)+14220>>2]|0)!=1e3){if((c[(c[Vb>>2]|0)+14220>>2]|0)==(c[(c[Vb>>2]|0)+14224>>2]|0))break;if((c[(c[Vb>>2]|0)+14224>>2]|0)<=0)break;Sa=(c[Vb>>2]|0)+14276+((S((c[(c[Vb>>2]|0)+172>>2]|0)-(c[Va>>2]|0)-((c[(c[Vb>>2]|0)+144>>2]|0)/400|0)|0,c[(c[Vb>>2]|0)+112>>2]|0)|0)<<2)|0;Ta=((S(c[(c[Vb>>2]|0)+112>>2]|0,c[(c[Vb>>2]|0)+144>>2]|0)|0)/400|0)<<2;uk(o|0,Sa|0,Ta+0|0)|0}while(0);Ta=(S(c[(c[Vb>>2]|0)+112>>2]|0,(c[(c[Vb>>2]|0)+172>>2]|0)-((c[Pb>>2]|0)+(c[Va>>2]|0))|0)|0)>0;r=(c[Vb>>2]|0)+14276|0;if(Ta){Sa=(c[Vb>>2]|0)+14276+((S(c[(c[Vb>>2]|0)+112>>2]|0,c[Pb>>2]|0)|0)<<2)|0;Ta=(S(c[(c[Vb>>2]|0)+112>>2]|0,(c[(c[Vb>>2]|0)+172>>2]|0)-(c[Pb>>2]|0)-(c[Va>>2]|0)|0)|0)<<2;vk(r|0,Sa|0,Ta+0|0)|0;Ta=(c[Vb>>2]|0)+14276+((S(c[(c[Vb>>2]|0)+112>>2]|0,(c[(c[Vb>>2]|0)+172>>2]|0)-(c[Pb>>2]|0)-(c[Va>>2]|0)|0)|0)<<2)|0;Va=(S((c[Pb>>2]|0)+(c[Va>>2]|0)|0,c[(c[Vb>>2]|0)+112>>2]|0)|0)<<2;uk(Ta|0,p|0,Va+0|0)|0}else{Ta=p+((S((c[Pb>>2]|0)+(c[Va>>2]|0)-(c[(c[Vb>>2]|0)+172>>2]|0)|0,c[(c[Vb>>2]|0)+112>>2]|0)|0)<<2)|0;Va=(S(c[(c[Vb>>2]|0)+172>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0)|0)<<2;uk(r|0,Ta|0,Va+0|0)|0}if(+g[Ua>>2]<1.0?1:+g[(c[Vb>>2]|0)+14200>>2]<1.0)Lj(p,p,+g[(c[Vb>>2]|0)+14200>>2],+g[Ua>>2],c[(c[Xa>>2]|0)+4>>2]|0,c[Pb>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0,c[(c[Xa>>2]|0)+60>>2]|0,c[(c[Vb>>2]|0)+144>>2]|0);g[(c[Vb>>2]|0)+14200>>2]=+g[Ua>>2];if(!((c[(c[Vb>>2]|0)+14220>>2]|0)==1001?(c[(c[Vb>>2]|0)+14188>>2]|0)!=1:0)){do if((c[Wa>>2]|0)<=32e3)if((c[Wa>>2]|0)<16e3){m=c[Vb>>2]|0;r=0;break}else{m=c[Vb>>2]|0;r=16384-((32e3-(c[Wa>>2]|0)<<11|0)/((c[Wa>>2]|0)-14e3|0)|0)|0;break}else{m=c[Vb>>2]|0;r=16384}while(0);c[m+8+84>>2]=r}do if(!(c[(c[Vb>>2]|0)+14252>>2]|0)){if((c[(c[Vb>>2]|0)+112>>2]|0)!=2)break;if((b[(c[Vb>>2]|0)+14192>>1]|0)>=16384?(c[(c[Vb>>2]|0)+8+84>>2]|0)>=16384:0)break;g[Ya>>2]=+(b[(c[Vb>>2]|0)+14192>>1]|0);g[Za>>2]=+(c[(c[Vb>>2]|0)+8+84>>2]|0);g[Ya>>2]=+g[Ya>>2]*.00006103515625;g[Za>>2]=+g[Za>>2]*.00006103515625;Nj(p,p,+g[Ya>>2],+g[Za>>2],c[(c[Xa>>2]|0)+4>>2]|0,c[Pb>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0,c[(c[Xa>>2]|0)+60>>2]|0,c[(c[Vb>>2]|0)+144>>2]|0);b[(c[Vb>>2]|0)+14192>>1]=c[(c[Vb>>2]|0)+8+84>>2]}while(0);do if((c[(c[Vb>>2]|0)+14220>>2]|0)!=1002){Za=(Oj(Kb)|0)+17|0;if((Za+(((c[(c[Vb>>2]|0)+14220>>2]|0)==1001&1)*20|0)|0)>((c[Qb>>2]|0)-1<<3|0)){Fb=372;break}if((c[(c[Vb>>2]|0)+14220>>2]|0)==1001)vd(Kb,c[Mb>>2]|0,12);if(!(c[Mb>>2]|0))break;vd(Kb,c[cb>>2]|0,1);Za=(c[(c[Vb>>2]|0)+14220>>2]|0)==1001;m=(c[Qb>>2]|0)-1|0;r=Oj(Kb)|0;if(Za)c[_a>>2]=m-(r+8+3+7>>3);else c[_a>>2]=m-(r+7>>3);c[Nb>>2]=(c[_a>>2]|0)<(c[Nb>>2]|0)?c[_a>>2]|0:c[Nb>>2]|0;if(257<((2>(c[Nb>>2]|0)?2:c[Nb>>2]|0)|0))r=257;else r=2>(c[Nb>>2]|0)?2:c[Nb>>2]|0;c[Nb>>2]=r;if((c[(c[Vb>>2]|0)+14220>>2]|0)!=1001)break;xd(Kb,(c[Nb>>2]|0)-2|0,256)}else Fb=372;while(0);if((Fb|0)==372)c[Mb>>2]=0;if(!(c[Mb>>2]|0)){c[(c[Vb>>2]|0)+14244>>2]=0;c[Nb>>2]=0}if((c[(c[Vb>>2]|0)+14220>>2]|0)!=1002)c[kb>>2]=17;if((c[(c[Vb>>2]|0)+14220>>2]|0)==1e3){c[Tb>>2]=(Oj(Kb)|0)+7>>3;Cd(Kb);c[ib>>2]=c[Tb>>2]}else{c[ib>>2]=(c[Qb>>2]|0)-1-(c[Nb>>2]|0);Bd(Kb,c[ib>>2]|0)}if(!(!(c[Mb>>2]|0)?(c[(c[Vb>>2]|0)+14220>>2]|0)==1e3:0)){Fb=c[bb>>2]|0;c[sb>>2]=Hb+(((Hb-Hb|0)/64|0)<<6);sc(Fb,10022,sb)|0}if((c[(c[Vb>>2]|0)+14220>>2]|0)==1001){c[hb>>2]=c[(c[Vb>>2]|0)+8+92>>2];c[hb+4>>2]=c[(c[Vb>>2]|0)+8+96>>2];Fb=c[bb>>2]|0;c[tb>>2]=hb+(((hb-hb|0)/8|0)<<3);sc(Fb,10028,tb)|0}else{Fb=c[bb>>2]|0;c[vb>>2]=0;sc(Fb,10028,vb)|0}do if((c[Mb>>2]|0)!=0&(c[cb>>2]|0)!=0){Fb=c[bb>>2]|0;c[wb>>2]=0;sc(Fb,10010,wb)|0;Fb=c[bb>>2]|0;c[xb>>2]=0;sc(Fb,4006,xb)|0;Fb=c[bb>>2]|0;c[yb>>2]=-1;sc(Fb,4002,yb)|0;c[fb>>2]=uc(c[bb>>2]|0,p,(c[(c[Vb>>2]|0)+144>>2]|0)/200|0,(c[Sb>>2]|0)+(c[ib>>2]|0)|0,c[Nb>>2]|0,0)|0;if((c[fb>>2]|0)<0){c[Ub>>2]=-3;c[Ib>>2]=1;break b}else{Fb=c[bb>>2]|0;c[zb>>2]=jb+(((jb-jb|0)/4|0)<<2);sc(Fb,4031,zb)|0;sc(c[bb>>2]|0,4028,Ab)|0;break}}while(0);Fb=c[bb>>2]|0;c[Bb>>2]=c[kb>>2];sc(Fb,10010,Bb)|0;do if((c[(c[Vb>>2]|0)+14220>>2]|0)!=1e3){do if((c[(c[Vb>>2]|0)+14220>>2]|0)!=(c[(c[Vb>>2]|0)+14224>>2]|0)){if((c[(c[Vb>>2]|0)+14224>>2]|0)<=0)break;sc(c[bb>>2]|0,4028,Cb)|0;uc(c[bb>>2]|0,o,(c[(c[Vb>>2]|0)+144>>2]|0)/400|0,db,2,0)|0;Fb=c[bb>>2]|0;c[Db>>2]=0;sc(Fb,10002,Db)|0}while(0);Fb=Oj(Kb)|0;if((Fb|0)>(c[ib>>2]<<3|0))break;do if((c[Mb>>2]|0)!=0&(c[cb>>2]|0)!=0){if((c[(c[Vb>>2]|0)+14220>>2]|0)!=1001)break;if(!(c[(c[Vb>>2]|0)+148>>2]|0))break;Fb=c[bb>>2]|0;c[Eb>>2]=(c[(c[Vb>>2]|0)+160>>2]|0)-(c[(c[Vb>>2]|0)+8+28>>2]|0);sc(Fb,4002,Eb)|0}while(0);Fb=c[bb>>2]|0;c[lb>>2]=c[(c[Vb>>2]|0)+148>>2];sc(Fb,4006,lb)|0;c[Tb>>2]=uc(c[bb>>2]|0,p,c[Pb>>2]|0,0,c[ib>>2]|0,Kb)|0;if((c[Tb>>2]|0)<0){c[Ub>>2]=-3;c[Ib>>2]=1;break b}if(!((c[Mb>>2]|0)!=0&(c[cb>>2]|0)!=0))break;if((c[(c[Vb>>2]|0)+14220>>2]|0)!=1001)break;if(!(c[(c[Vb>>2]|0)+148>>2]|0))break;vk((c[Sb>>2]|0)+(c[Tb>>2]|0)|0,(c[Sb>>2]|0)+(c[ib>>2]|0)|0,(c[Nb>>2]|0)+0|0)|0;c[ib>>2]=(c[ib>>2]|0)+(c[Nb>>2]|0)}while(0);do if(!((c[Mb>>2]|0)==0|(c[cb>>2]|0)!=0)){c[$a>>2]=(c[(c[Vb>>2]|0)+144>>2]|0)/200|0;c[ab>>2]=(c[(c[Vb>>2]|0)+144>>2]|0)/400|0;sc(c[bb>>2]|0,4028,mb)|0;Fb=c[bb>>2]|0;c[nb>>2]=0;sc(Fb,10010,nb)|0;Fb=c[bb>>2]|0;c[ob>>2]=0;sc(Fb,10002,ob)|0;Fb=c[bb>>2]|0;c[pb>>2]=0;sc(Fb,4006,pb)|0;Fb=c[bb>>2]|0;c[qb>>2]=-1;sc(Fb,4002,qb)|0;if((c[(c[Vb>>2]|0)+14220>>2]|0)==1001){c[ib>>2]=c[Tb>>2];Bd(Kb,c[ib>>2]|0)}Fb=p+((S(c[(c[Vb>>2]|0)+112>>2]|0,(c[Pb>>2]|0)-(c[$a>>2]|0)-(c[ab>>2]|0)|0)|0)<<2)|0;uc(c[bb>>2]|0,Fb,c[ab>>2]|0,eb,2,0)|0;Fb=p+((S(c[(c[Vb>>2]|0)+112>>2]|0,(c[Pb>>2]|0)-(c[$a>>2]|0)|0)|0)<<2)|0;c[gb>>2]=uc(c[bb>>2]|0,Fb,c[$a>>2]|0,(c[Sb>>2]|0)+(c[ib>>2]|0)|0,c[Nb>>2]|0,0)|0;if((c[gb>>2]|0)<0){c[Ub>>2]=-3;c[Ib>>2]=1;break b}else{Fb=c[bb>>2]|0;c[rb>>2]=jb+(((jb-jb|0)/4|0)<<2);sc(Fb,4031,rb)|0;break}}while(0);c[Sb>>2]=(c[Sb>>2]|0)+-1;r=Dj(c[(c[Vb>>2]|0)+14220>>2]|0,(c[(c[Vb>>2]|0)+144>>2]|0)/(c[Pb>>2]|0)|0,c[Jb>>2]|0,c[(c[Vb>>2]|0)+14188>>2]|0)|0;a[c[Sb>>2]>>0]=r;c[(c[Vb>>2]|0)+18132>>2]=c[Kb+28>>2]^c[jb>>2];r=c[Vb>>2]|0;if(c[Gb>>2]|0)m=1002;else{m=c[r+14220>>2]|0;r=c[Vb>>2]|0}c[r+14224>>2]=m;c[(c[Vb>>2]|0)+14228>>2]=c[(c[Vb>>2]|0)+14188>>2];c[(c[Vb>>2]|0)+14232>>2]=c[Pb>>2];c[(c[Vb>>2]|0)+14248>>2]=0;do if(c[(c[Vb>>2]|0)+184>>2]|0){if(!((c[Hb>>2]|0)!=0|(c[Lb>>2]|0)!=0))break;if(!(Pj(+g[Hb+36>>2],(c[Vb>>2]|0)+18120|0,+g[(c[Vb>>2]|0)+18124>>2],c[Rb>>2]|0,c[Pb>>2]|0,c[(c[Vb>>2]|0)+112>>2]|0,c[Lb>>2]|0,c[(c[Vb>>2]|0)+180>>2]|0)|0))break;c[(c[Vb>>2]|0)+18132>>2]=0;Vb=Dj(c[(c[Vb>>2]|0)+14220>>2]|0,(c[(c[Vb>>2]|0)+144>>2]|0)/(c[Pb>>2]|0)|0,c[Jb>>2]|0,c[(c[Vb>>2]|0)+14188>>2]|0)|0;a[c[Sb>>2]>>0]=Vb;c[Ub>>2]=1;c[Ib>>2]=1;break b}while(0);Rb=Oj(Kb)|0;c:do if((Rb|0)>((c[Qb>>2]|0)-1<<3|0))if((c[Qb>>2]|0)<2){c[Ub>>2]=-2;c[Ib>>2]=1;break b}else{a[(c[Sb>>2]|0)+1>>0]=0;c[Tb>>2]=1;c[(c[Vb>>2]|0)+18132>>2]=0;break}else{if(!(((c[Mb>>2]|0?1:(c[(c[Vb>>2]|0)+14220>>2]|0)!=1e3)^1)&(c[Tb>>2]|0)>2))break;do{if(d[(c[Sb>>2]|0)+(c[Tb>>2]|0)>>0]|0)break c;c[Tb>>2]=(c[Tb>>2]|0)+-1}while((c[Tb>>2]|0)>2)}while(0);c[Tb>>2]=(c[Tb>>2]|0)+(1+(c[Nb>>2]|0));do if(!(c[(c[Vb>>2]|0)+148>>2]|0))if(Zj(c[Sb>>2]|0,c[Tb>>2]|0,c[Qb>>2]|0)|0){c[Ub>>2]=-3;c[Ib>>2]=1;break b}else{c[Tb>>2]=c[Qb>>2];break}while(0);c[Ub>>2]=c[Tb>>2];c[Ib>>2]=1}while(0);ka(c[Ob>>2]|0);Vb=c[Ub>>2]|0;l=Wb;return Vb|0}while(0);do if((c[(c[Vb>>2]|0)+14220>>2]|0)==1e3){if((c[Pb>>2]|0)==((c[(c[Vb>>2]|0)+144>>2]<<1|0)/25|0|0)){c[da>>2]=(c[(c[Vb>>2]|0)+144>>2]|0)/25|0;break}r=c[(c[Vb>>2]|0)+144>>2]|0;if((c[Pb>>2]|0)==(((c[(c[Vb>>2]|0)+144>>2]|0)*3|0)/25|0|0)){c[da>>2]=(r*3|0)/50|0;break}else{c[da>>2]=(r|0)/50|0;break}}else c[da>>2]=(c[(c[Vb>>2]|0)+144>>2]|0)/50|0;while(0);c[fa>>2]=(c[Pb>>2]|0)/(c[da>>2]|0)|0;if((c[ba>>2]|0)!=-1){c[(c[Vb>>2]|0)+188+7448>>2]=c[ba>>2];c[(c[Vb>>2]|0)+188+7452>>2]=c[ca>>2]}c[Tb>>2]=Gj(c[Vb>>2]|0,c[Rb>>2]|0,c[fa>>2]|0,c[da>>2]|0,c[Sb>>2]|0,c[ha>>2]|0,c[Gb>>2]|0,c[ea>>2]|0,c[na>>2]|0)|0;c[Ub>>2]=c[Tb>>2];Vb=c[Ub>>2]|0;l=Wb;return Vb|0}while(0);c[L>>2]=c[(c[Vb>>2]|0)+14220>>2];if(!(c[(c[Vb>>2]|0)+14236>>2]|0))r=1101;else r=c[(c[Vb>>2]|0)+14236>>2]|0;c[I>>2]=r;c[K>>2]=0;c[J>>2]=0;if(!(c[L>>2]|0))c[L>>2]=1e3;if((c[Oa>>2]|0)>100)c[L>>2]=1002;if((c[Oa>>2]|0)==25&(c[L>>2]|0)!=1e3){c[Oa>>2]=50;c[K>>2]=1}do if((c[Oa>>2]|0)<=16){if((c[ha>>2]|0)!=1?!((c[L>>2]|0)==1e3&(c[Oa>>2]|0)!=10):0){c[J>>2]=50/(c[Oa>>2]|0)|0;c[Oa>>2]=50;c[K>>2]=3;break}c[L>>2]=1e3;c[K>>2]=(c[Oa>>2]|0)<=12&1;c[Oa>>2]=(c[Oa>>2]|0)==12?25:16}while(0);do if(!((c[L>>2]|0)==1e3&(c[I>>2]|0)>1103)){if((c[L>>2]|0)==1002&(c[I>>2]|0)==1102){c[I>>2]=1101;break}if((c[L>>2]|0)==1001&(c[I>>2]|0)<=1104)c[I>>2]=1104}else c[I>>2]=1103;while(0);Rb=Dj(c[L>>2]|0,c[Oa>>2]|0,c[I>>2]|0,c[(c[Vb>>2]|0)+14188>>2]|0)|0;a[c[Sb>>2]>>0]=Rb;Rb=c[Sb>>2]|0;a[Rb>>0]=d[Rb>>0]|c[K>>2];c[Tb>>2]=(c[K>>2]|0)<=1?1:2;c[Qb>>2]=(c[Qb>>2]|0)>(c[Tb>>2]|0)?c[Qb>>2]|0:c[Tb>>2]|0;if((c[K>>2]|0)==3)a[(c[Sb>>2]|0)+1>>0]=c[J>>2];do if(!(c[(c[Vb>>2]|0)+148>>2]|0)){c[Tb>>2]=Zj(c[Sb>>2]|0,c[Tb>>2]|0,c[Qb>>2]|0)|0;if(!(c[Tb>>2]|0)){c[Tb>>2]=c[Qb>>2];break}else{c[Tb>>2]=-3;break}}while(0);c[Ub>>2]=c[Tb>>2];Vb=c[Ub>>2]|0;l=Wb;return Vb|0}function Aj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+32|0;n=h+20|0;m=h+16|0;k=h+12|0;i=h+8|0;f=h+4|0;j=h;c[n>>2]=a;c[m>>2]=b;c[k>>2]=d;c[i>>2]=e;c[f>>2]=0;g[j>>2]=0.0;g[j>>2]=+Rj(c[n>>2]|0,S(c[m>>2]|0,c[k>>2]|0)|0);c[f>>2]=+g[j>>2]<=1.0/+(1<<c[i>>2]|0)&1;l=h;return c[f>>2]|0}function Bj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0,i=0,j=0,k=0,m=0;h=l;l=l+32|0;i=h+16|0;m=h+12|0;k=h+8|0;j=h+4|0;f=h;c[i>>2]=a;c[m>>2]=b;c[k>>2]=d;c[j>>2]=e;c[f>>2]=S(c[m>>2]|0,c[k>>2]|0)|0;g=+ub[c[n+((c[j>>2]&7)<<2)>>2]&0](c[i>>2]|0,c[i>>2]|0,c[f>>2]|0);l=h;return +(g/+(c[f>>2]|0))}function Cj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+12|0;h=i+8|0;e=i+4|0;f=i;c[h>>2]=a;c[e>>2]=b;c[f>>2]=d;if(!(c[e>>2]|0))c[e>>2]=(c[(c[h>>2]|0)+144>>2]|0)/400|0;b=c[h>>2]|0;if((c[(c[h>>2]|0)+164>>2]|0)==-1e3){c[g>>2]=(((c[b+144>>2]|0)*60|0)/(c[e>>2]|0)|0)+(S(c[(c[h>>2]|0)+144>>2]|0,c[(c[h>>2]|0)+112>>2]|0)|0);h=c[g>>2]|0;l=i;return h|0}if((c[b+164>>2]|0)==-1){h=S(c[f>>2]<<3,c[(c[h>>2]|0)+144>>2]|0)|0;c[g>>2]=(h|0)/(c[e>>2]|0)|0;h=c[g>>2]|0;l=i;return h|0}else{c[g>>2]=c[(c[h>>2]|0)+164>>2];h=c[g>>2]|0;l=i;return h|0}return 0}function Dj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+20|0;j=p+16|0;h=p+12|0;i=p+8|0;m=p+4|0;o=p+24|0;n=p;c[k>>2]=b;c[j>>2]=e;c[h>>2]=f;c[i>>2]=g;c[m>>2]=0;while(1){if((c[j>>2]|0)>=400)break;c[j>>2]=c[j>>2]<<1;c[m>>2]=(c[m>>2]|0)+1}do if((c[k>>2]|0)!=1e3)if((c[k>>2]|0)==1002){k=(c[h>>2]|0)-1102|0;c[n>>2]=k;c[n>>2]=(c[n>>2]|0)<0?0:k;a[o>>0]=-128;a[o>>0]=d[o>>0]|0|c[n>>2]<<5;a[o>>0]=d[o>>0]|0|c[m>>2]<<3;break}else{a[o>>0]=96;a[o>>0]=d[o>>0]|0|(c[h>>2]|0)-1104<<4;a[o>>0]=d[o>>0]|0|(c[m>>2]|0)-2<<3;break}else{a[o>>0]=(c[h>>2]|0)-1101<<5;a[o>>0]=d[o>>0]|0|(c[m>>2]|0)-2<<3}while(0);a[o>>0]=d[o>>0]|0|((c[i>>2]|0)==2&1)<<2;l=p;return a[o>>0]|0}function Ej(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;n=l;l=l+32|0;r=n+28|0;q=n+24|0;p=n+20|0;o=n+16|0;m=n+12|0;i=n+8|0;k=n+4|0;j=n;c[r>>2]=a;c[q>>2]=b;c[p>>2]=d;c[o>>2]=e;c[m>>2]=f;c[i>>2]=g;c[k>>2]=h;c[j>>2]=c[r>>2];e=S(((c[q>>2]|0)*40|0)+20|0,(c[p>>2]|0)-50|0)|0;c[j>>2]=(c[j>>2]|0)-e;if(!(c[o>>2]|0))c[j>>2]=(c[j>>2]|0)-((c[j>>2]|0)/12|0);c[j>>2]=(S(c[j>>2]|0,90+(c[i>>2]|0)|0)|0)/100|0;if((c[m>>2]|0)==1e3|(c[m>>2]|0)==1001){if((c[i>>2]|0)<2)c[j>>2]=(c[j>>2]<<2|0)/5|0;r=S(c[j>>2]|0,c[k>>2]|0)|0;c[j>>2]=(c[j>>2]|0)-((r|0)/(((c[k>>2]|0)*6|0)+10|0)|0);r=c[j>>2]|0;l=n;return r|0}if((c[m>>2]|0)!=1002){r=S(c[j>>2]|0,c[k>>2]|0)|0;c[j>>2]=(c[j>>2]|0)-((r|0)/(((c[k>>2]|0)*12|0)+20|0)|0);r=c[j>>2]|0;l=n;return r|0}if((c[i>>2]|0)>=5){r=c[j>>2]|0;l=n;return r|0}c[j>>2]=((c[j>>2]|0)*9|0)/10|0;r=c[j>>2]|0;l=n;return r|0}function Fj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+48|0;p=q+36|0;s=q+32|0;i=q+28|0;k=q+24|0;r=q+20|0;n=q+16|0;m=q+12|0;o=q+8|0;j=q+4|0;h=q;c[s>>2]=a;c[i>>2]=b;c[k>>2]=d;c[r>>2]=e;c[n>>2]=f;c[m>>2]=g;if((c[s>>2]|0)==0|(c[i>>2]|0)==0|(c[r>>2]|0)==1002){c[p>>2]=0;s=c[p>>2]|0;l=q;return s|0}c[o>>2]=c[c[n>>2]>>2];while(1){c[h>>2]=c[18356+((c[c[n>>2]>>2]|0)-1101<<1<<2)>>2];c[j>>2]=c[18356+(((c[c[n>>2]>>2]|0)-1101<<1)+1<<2)>>2];if((c[k>>2]|0)==1)c[h>>2]=(c[h>>2]|0)-(c[j>>2]|0);if(!(c[k>>2]|0))c[h>>2]=(c[h>>2]|0)+(c[j>>2]|0);s=((S(c[h>>2]|0,125-((c[i>>2]|0)<25?c[i>>2]|0:25)|0)|0)>>16)*655|0;c[h>>2]=s+(((S(c[h>>2]|0,125-((c[i>>2]|0)<25?c[i>>2]|0:25)|0)|0)&65535)*655>>16);if((c[m>>2]|0)>(c[h>>2]|0)){h=9;break}if((c[i>>2]|0)<=5){h=11;break}if((c[c[n>>2]>>2]|0)<=1101){h=14;break}s=c[n>>2]|0;c[s>>2]=(c[s>>2]|0)+-1}if((h|0)==9){c[p>>2]=1;s=c[p>>2]|0;l=q;return s|0}else if((h|0)==11){c[p>>2]=0;s=c[p>>2]|0;l=q;return s|0}else if((h|0)==14){c[c[n>>2]>>2]=c[o>>2];c[p>>2]=0;s=c[p>>2]|0;l=q;return s|0}return 0}function Gj(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+400|0;F=J+388|0;I=J+384|0;t=J+380|0;C=J+376|0;q=J+372|0;B=J+368|0;n=J+364|0;v=J+360|0;s=J+356|0;p=J+352|0;r=J+348|0;E=J+344|0;y=J+340|0;w=J+336|0;x=J+332|0;z=J+328|0;m=J+324|0;o=J+320|0;k=J+316|0;D=J+312|0;u=J+308|0;H=J+304|0;G=J+4|0;A=J;c[I>>2]=a;c[t>>2]=b;c[C>>2]=d;c[q>>2]=e;c[B>>2]=f;c[n>>2]=g;c[v>>2]=h;c[s>>2]=i;c[p>>2]=j;c[E>>2]=0;if((c[C>>2]|0)==2)f=3;else f=2+((c[C>>2]|0)-1<<1)|0;c[m>>2]=f;if(!(c[(c[I>>2]|0)+148>>2]|0)?(c[(c[I>>2]|0)+164>>2]|0)!=-1:0){c[k>>2]=((c[(c[I>>2]|0)+160>>2]|0)*3|0)/(((c[(c[I>>2]|0)+144>>2]|0)*24|0)/(S(c[q>>2]|0,c[C>>2]|0)|0)|0|0)|0;c[D>>2]=(c[k>>2]|0)<(c[n>>2]|0)?c[k>>2]|0:c[n>>2]|0}else c[D>>2]=c[n>>2];if(1276<(1+(((c[D>>2]|0)-(c[m>>2]|0)|0)/(c[C>>2]|0)|0)|0))f=1276;else f=1+(((c[D>>2]|0)-(c[m>>2]|0)|0)/(c[C>>2]|0)|0)|0;c[o>>2]=f;f=S(c[C>>2]|0,c[o>>2]|0)|0;c[H>>2]=la()|0;j=l;l=l+((1*f|0)+15&-16)|0;Vj(G)|0;c[y>>2]=c[(c[I>>2]|0)+136>>2];c[w>>2]=c[(c[I>>2]|0)+128>>2];c[x>>2]=c[(c[I>>2]|0)+120>>2];c[(c[I>>2]|0)+136>>2]=c[(c[I>>2]|0)+14220>>2];c[(c[I>>2]|0)+128>>2]=c[(c[I>>2]|0)+14236>>2];c[(c[I>>2]|0)+120>>2]=c[(c[I>>2]|0)+14188>>2];c[z>>2]=c[(c[I>>2]|0)+8+60>>2];f=c[I>>2]|0;if(c[z>>2]|0)c[f+120>>2]=1;else c[(c[I>>2]|0)+14228>>2]=c[f+14188>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[C>>2]|0)){f=22;break}c[(c[I>>2]|0)+8+60>>2]=0;c[(c[I>>2]|0)+18128>>2]=(c[r>>2]|0)<((c[C>>2]|0)-1|0)&1;if(c[v>>2]|0?(c[r>>2]|0)==((c[C>>2]|0)-1|0):0)c[(c[I>>2]|0)+136>>2]=1002;m=(c[t>>2]|0)+((S(c[r>>2]|0,S(c[(c[I>>2]|0)+112>>2]|0,c[q>>2]|0)|0)|0)<<2)|0;n=j+(S(c[r>>2]|0,c[o>>2]|0)|0)|0;c[u>>2]=zj(c[I>>2]|0,m,c[q>>2]|0,n,c[o>>2]|0,c[s>>2]|0,0,0,0,0,0,0,c[p>>2]|0)|0;if((c[u>>2]|0)<0){f=18;break}n=j+(S(c[r>>2]|0,c[o>>2]|0)|0)|0;c[E>>2]=Wj(G,n,c[u>>2]|0)|0;if((c[E>>2]|0)<0){f=20;break}c[r>>2]=(c[r>>2]|0)+1}if((f|0)==18){c[F>>2]=-3;c[A>>2]=1;I=c[H>>2]|0;ka(I|0);I=c[F>>2]|0;l=J;return I|0}else if((f|0)==20){c[F>>2]=-3;c[A>>2]=1;I=c[H>>2]|0;ka(I|0);I=c[F>>2]|0;l=J;return I|0}else if((f|0)==22){c[E>>2]=Yj(G,0,c[C>>2]|0,c[B>>2]|0,c[D>>2]|0,0,((c[(c[I>>2]|0)+148>>2]|0)!=0^1)&1)|0;if((c[E>>2]|0)<0){c[F>>2]=-3;c[A>>2]=1;I=c[H>>2]|0;ka(I|0);I=c[F>>2]|0;l=J;return I|0}else{c[(c[I>>2]|0)+136>>2]=c[y>>2];c[(c[I>>2]|0)+128>>2]=c[w>>2];c[(c[I>>2]|0)+120>>2]=c[x>>2];c[(c[I>>2]|0)+8+60>>2]=c[z>>2];c[F>>2]=c[E>>2];c[A>>2]=1;I=c[H>>2]|0;ka(I|0);I=c[F>>2]|0;l=J;return I|0}}return 0}function Hj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;g=l;l=l+48|0;n=g+32|0;p=g+28|0;k=g+24|0;h=g+20|0;i=g+16|0;f=g+12|0;o=g+8|0;j=g+4|0;m=g;c[n>>2]=a;c[p>>2]=b;c[k>>2]=d;c[h>>2]=e;c[j>>2]=((c[h>>2]|0)*40|0)+20;c[o>>2]=(c[p>>2]|0)+(S(c[j>>2]|0,200-(c[k>>2]|0)|0)|0);c[o>>2]=((c[o>>2]|0)*3|0)/2|0;c[f>>2]=(c[o>>2]|0)/1600|0;c[m>>2]=(c[n>>2]<<3)-(c[j>>2]<<1);c[i>>2]=((((c[m>>2]|0)*240|0)/(240+(48e3/(c[k>>2]|0)|0)|0)|0)+(c[j>>2]|0)|0)/8|0;c[f>>2]=(c[f>>2]|0)<(c[i>>2]|0)?c[f>>2]|0:c[i>>2]|0;if((c[f>>2]|0)>(4+(c[h>>2]<<3)|0)){c[f>>2]=257<(c[f>>2]|0)?257:c[f>>2]|0;p=c[f>>2]|0;l=g;return p|0}else{c[f>>2]=0;p=c[f>>2]|0;l=g;return p|0}return 0}function Ij(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=l;l=l+80|0;o=r+64|0;w=r+60|0;q=r+56|0;n=r+52|0;p=r+48|0;m=r+44|0;v=r+40|0;k=r+24|0;j=r+16|0;t=r+8|0;u=r+4|0;s=r;c[o>>2]=a;c[w>>2]=b;c[q>>2]=d;c[n>>2]=e;c[p>>2]=f;c[m>>2]=g;c[v>>2]=h;c[r+36>>2]=i;c[t>>2]=(((c[w>>2]&65535)<<16>>16)*2471|0)/((c[v>>2]|0)/1e3|0|0)|0;c[u>>2]=268435456-((c[t>>2]|0)*471|0);c[k>>2]=c[u>>2];c[k+4>>2]=0-(c[u>>2]|0)<<1;c[k+8>>2]=c[u>>2];c[s>>2]=c[u>>2]>>6;d=S(c[t>>2]>>16,(c[t>>2]&65535)<<16>>16)|0;d=d+((S(c[t>>2]&65535,(c[t>>2]&65535)<<16>>16)|0)>>16)|0;d=S(c[s>>2]>>16,(d+(S(c[t>>2]|0,(c[t>>2]>>15)+1>>1)|0)-8388608&65535)<<16>>16)|0;f=S(c[t>>2]>>16,(c[t>>2]&65535)<<16>>16)|0;f=f+((S(c[t>>2]&65535,(c[t>>2]&65535)<<16>>16)|0)>>16)|0;f=d+((S(c[s>>2]&65535,(f+(S(c[t>>2]|0,(c[t>>2]>>15)+1>>1)|0)-8388608&65535)<<16>>16)|0)>>16)|0;d=S(c[t>>2]>>16,(c[t>>2]&65535)<<16>>16)|0;d=d+((S(c[t>>2]&65535,(c[t>>2]&65535)<<16>>16)|0)>>16)|0;c[j>>2]=f+(S(c[s>>2]|0,(d+(S(c[t>>2]|0,(c[t>>2]>>15)+1>>1)|0)-8388608>>15)+1>>1)|0);d=S(c[s>>2]>>16,(c[s>>2]&65535)<<16>>16)|0;d=d+((S(c[s>>2]&65535,(c[s>>2]&65535)<<16>>16)|0)>>16)|0;c[j+4>>2]=d+(S(c[s>>2]|0,(c[s>>2]>>15)+1>>1)|0);Qj(c[o>>2]|0,k,j,c[n>>2]|0,c[q>>2]|0,c[p>>2]|0,c[m>>2]|0);if((c[m>>2]|0)!=2){l=r;return}Qj((c[o>>2]|0)+4|0,k,j,(c[n>>2]|0)+8|0,(c[q>>2]|0)+4|0,c[p>>2]|0,c[m>>2]|0);l=r;return}function Jj(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=l;l=l+112|0;p=H+96|0;K=H+92|0;x=H+88|0;n=H+84|0;q=H+80|0;I=H+76|0;J=H+72|0;o=H+68|0;k=H+64|0;m=H+60|0;r=H+56|0;t=H+52|0;v=H+48|0;w=H+44|0;E=H+40|0;F=H+36|0;B=H+32|0;C=H+28|0;y=H+24|0;z=H+20|0;s=H+16|0;u=H+12|0;D=H+8|0;A=H+4|0;G=H;c[p>>2]=a;c[K>>2]=b;c[x>>2]=d;c[n>>2]=e;c[q>>2]=f;c[I>>2]=h;c[J>>2]=i;g[k>>2]=+(c[K>>2]|0)*4.0/+(c[J>>2]|0);g[m>>2]=1.0-+g[k>>2];j=+g[c[n>>2]>>2];if((c[I>>2]|0)==2){g[r>>2]=j;g[t>>2]=+g[(c[n>>2]|0)+4>>2];g[v>>2]=+g[(c[n>>2]|0)+8>>2];g[w>>2]=+g[(c[n>>2]|0)+12>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[q>>2]|0))break;g[E>>2]=+g[(c[p>>2]|0)+((c[o>>2]<<1)+0<<2)>>2];g[F>>2]=+g[(c[p>>2]|0)+((c[o>>2]<<1)+1<<2)>>2];g[B>>2]=+g[E>>2]-+g[r>>2];g[C>>2]=+g[F>>2]-+g[v>>2];g[r>>2]=+g[k>>2]*+g[E>>2]+1.0000000031710769e-30+ +g[m>>2]*+g[r>>2];g[v>>2]=+g[k>>2]*+g[F>>2]+1.0000000031710769e-30+ +g[m>>2]*+g[v>>2];g[y>>2]=+g[B>>2]-+g[t>>2];g[z>>2]=+g[C>>2]-+g[w>>2];g[t>>2]=+g[k>>2]*+g[B>>2]+1.0000000031710769e-30+ +g[m>>2]*+g[t>>2];g[w>>2]=+g[k>>2]*+g[C>>2]+1.0000000031710769e-30+ +g[m>>2]*+g[w>>2];g[(c[x>>2]|0)+((c[o>>2]<<1)+0<<2)>>2]=+g[y>>2];g[(c[x>>2]|0)+((c[o>>2]<<1)+1<<2)>>2]=+g[z>>2];c[o>>2]=(c[o>>2]|0)+1}g[c[n>>2]>>2]=+g[r>>2];g[(c[n>>2]|0)+4>>2]=+g[t>>2];g[(c[n>>2]|0)+8>>2]=+g[v>>2];j=+g[w>>2];K=(c[n>>2]|0)+12|0;g[K>>2]=j;l=H;return}else{g[s>>2]=j;g[u>>2]=+g[(c[n>>2]|0)+4>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[q>>2]|0))break;g[D>>2]=+g[(c[p>>2]|0)+(c[o>>2]<<2)>>2];g[A>>2]=+g[D>>2]-+g[s>>2];g[s>>2]=+g[k>>2]*+g[D>>2]+1.0000000031710769e-30+ +g[m>>2]*+g[s>>2];g[G>>2]=+g[A>>2]-+g[u>>2];g[u>>2]=+g[k>>2]*+g[A>>2]+1.0000000031710769e-30+ +g[m>>2]*+g[u>>2];g[(c[x>>2]|0)+(c[o>>2]<<2)>>2]=+g[G>>2];c[o>>2]=(c[o>>2]|0)+1}g[c[n>>2]>>2]=+g[s>>2];j=+g[u>>2];K=(c[n>>2]|0)+4|0;g[K>>2]=j;l=H;return}}function Kj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=l;l=l+64|0;p=u+52|0;i=u+48|0;w=u+44|0;r=u+40|0;v=u+36|0;j=u+32|0;k=u+28|0;n=u+24|0;h=u+20|0;q=u+16|0;o=u+12|0;m=u+8|0;s=u+4|0;t=u;c[p>>2]=a;c[i>>2]=b;c[w>>2]=d;c[r>>2]=e;c[v>>2]=f;c[j>>2]=g;c[p>>2]=(c[p>>2]|0)/(c[j>>2]|0)|0;c[k>>2]=1+(c[w>>2]|0)+(c[v>>2]<<1);c[h>>2]=7;c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;if((c[18216+((c[n>>2]|0)*20|0)>>2]|0)>(c[p>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}b=c[18216+(((c[n>>2]|0)-1|0)*20|0)+(c[k>>2]<<2)>>2]|0;if((c[n>>2]|0)==(c[h>>2]|0)){c[q>>2]=b;c[q>>2]=(c[q>>2]|0)+(((c[p>>2]|0)-(c[18216+(((c[n>>2]|0)-1|0)*20|0)>>2]|0)|0)/2|0)}else{c[o>>2]=b;c[m>>2]=c[18216+((c[n>>2]|0)*20|0)+(c[k>>2]<<2)>>2];c[s>>2]=c[18216+(((c[n>>2]|0)-1|0)*20|0)>>2];c[t>>2]=c[18216+((c[n>>2]|0)*20|0)>>2];w=S(c[o>>2]|0,(c[t>>2]|0)-(c[p>>2]|0)|0)|0;w=w+(S(c[m>>2]|0,(c[p>>2]|0)-(c[s>>2]|0)|0)|0)|0;c[q>>2]=(w|0)/((c[t>>2]|0)-(c[s>>2]|0)|0)|0}if(!(c[r>>2]|0))c[q>>2]=(c[q>>2]|0)+100;if((c[i>>2]|0)==1104)c[q>>2]=(c[q>>2]|0)+300;c[q>>2]=S(c[q>>2]|0,c[j>>2]|0)|0;if(!((c[j>>2]|0)==2&(c[p>>2]|0)>=12e3)){w=c[q>>2]|0;l=u;return w|0}c[q>>2]=(c[q>>2]|0)-1e3;w=c[q>>2]|0;l=u;return w|0}function Lj(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=+d;e=+e;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=l;l=l+80|0;u=B+64|0;w=B+60|0;q=B+56|0;s=B+52|0;C=B+48|0;o=B+44|0;n=B+40|0;A=B+36|0;D=B+32|0;t=B+28|0;v=B+24|0;x=B+20|0;m=B+16|0;p=B+12|0;y=B+8|0;r=B+4|0;z=B;c[u>>2]=a;c[w>>2]=b;g[q>>2]=d;g[s>>2]=e;c[C>>2]=f;c[o>>2]=h;c[n>>2]=i;c[A>>2]=j;c[D>>2]=k;c[v>>2]=48e3/(c[D>>2]|0)|0;c[x>>2]=(c[C>>2]|0)/(c[v>>2]|0)|0;j=(c[n>>2]|0)==1;c[t>>2]=0;a:do if(j)while(1){if((c[t>>2]|0)>=(c[x>>2]|0))break a;e=+g[(c[A>>2]|0)+((S(c[t>>2]|0,c[v>>2]|0)|0)<<2)>>2];g[y>>2]=e*+g[(c[A>>2]|0)+((S(c[t>>2]|0,c[v>>2]|0)|0)<<2)>>2];g[p>>2]=+g[y>>2]*+g[s>>2]+(1.0-+g[y>>2])*+g[q>>2];g[(c[w>>2]|0)+(c[t>>2]<<2)>>2]=+g[p>>2]*+g[(c[u>>2]|0)+(c[t>>2]<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}else while(1){if((c[t>>2]|0)>=(c[x>>2]|0))break a;e=+g[(c[A>>2]|0)+((S(c[t>>2]|0,c[v>>2]|0)|0)<<2)>>2];g[z>>2]=e*+g[(c[A>>2]|0)+((S(c[t>>2]|0,c[v>>2]|0)|0)<<2)>>2];g[r>>2]=+g[z>>2]*+g[s>>2]+(1.0-+g[z>>2])*+g[q>>2];g[(c[w>>2]|0)+(c[t>>2]<<1<<2)>>2]=+g[r>>2]*+g[(c[u>>2]|0)+(c[t>>2]<<1<<2)>>2];g[(c[w>>2]|0)+((c[t>>2]<<1)+1<<2)>>2]=+g[r>>2]*+g[(c[u>>2]|0)+((c[t>>2]<<1)+1<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}while(0);c[m>>2]=0;do{c[t>>2]=c[x>>2];while(1){if((c[t>>2]|0)>=(c[o>>2]|0))break;C=S(c[t>>2]|0,c[n>>2]|0)|0;D=S(c[t>>2]|0,c[n>>2]|0)|0;g[(c[w>>2]|0)+(D+(c[m>>2]|0)<<2)>>2]=+g[s>>2]*+g[(c[u>>2]|0)+(C+(c[m>>2]|0)<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}D=(c[m>>2]|0)+1|0;c[m>>2]=D}while((D|0)<(c[n>>2]|0));l=B;return}function Mj(a){a=+a;var b=0,c=0;c=l;l=l+16|0;b=c;g[b>>2]=a;g[b>>2]=+g[b>>2]*32768.0;g[b>>2]=+g[b>>2]>-32768.0?+g[b>>2]:-32768.0;g[b>>2]=+g[b>>2]<32767.0?+g[b>>2]:32767.0;b=(ok(+g[b>>2])|0)&65535;l=c;return b|0}function Nj(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=+d;e=+e;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=l;l=l+64|0;u=A+60|0;w=A+56|0;r=A+52|0;s=A+48|0;B=A+44|0;p=A+40|0;m=A+36|0;z=A+32|0;C=A+28|0;t=A+24|0;x=A+20|0;v=A+16|0;n=A+12|0;q=A+8|0;y=A+4|0;o=A;c[u>>2]=a;c[w>>2]=b;g[r>>2]=d;g[s>>2]=e;c[B>>2]=f;c[p>>2]=h;c[m>>2]=i;c[z>>2]=j;c[C>>2]=k;c[v>>2]=48e3/(c[C>>2]|0)|0;c[x>>2]=(c[B>>2]|0)/(c[v>>2]|0)|0;g[r>>2]=1.0-+g[r>>2];g[s>>2]=1.0-+g[s>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[x>>2]|0))break;e=+g[(c[z>>2]|0)+((S(c[t>>2]|0,c[v>>2]|0)|0)<<2)>>2];g[y>>2]=e*+g[(c[z>>2]|0)+((S(c[t>>2]|0,c[v>>2]|0)|0)<<2)>>2];g[q>>2]=+g[y>>2]*+g[s>>2]+(1.0-+g[y>>2])*+g[r>>2];e=+g[(c[u>>2]|0)+((S(c[t>>2]|0,c[m>>2]|0)|0)<<2)>>2];g[n>>2]=(e-+g[(c[u>>2]|0)+((S(c[t>>2]|0,c[m>>2]|0)|0)+1<<2)>>2])*.5;g[n>>2]=+g[q>>2]*+g[n>>2];e=+g[(c[w>>2]|0)+((S(c[t>>2]|0,c[m>>2]|0)|0)<<2)>>2];g[(c[w>>2]|0)+((S(c[t>>2]|0,c[m>>2]|0)|0)<<2)>>2]=e-+g[n>>2];e=+g[(c[w>>2]|0)+((S(c[t>>2]|0,c[m>>2]|0)|0)+1<<2)>>2];g[(c[w>>2]|0)+((S(c[t>>2]|0,c[m>>2]|0)|0)+1<<2)>>2]=e+ +g[n>>2];c[t>>2]=(c[t>>2]|0)+1}while(1){if((c[t>>2]|0)>=(c[p>>2]|0))break;e=+g[(c[u>>2]|0)+((S(c[t>>2]|0,c[m>>2]|0)|0)<<2)>>2];g[o>>2]=(e-+g[(c[u>>2]|0)+((S(c[t>>2]|0,c[m>>2]|0)|0)+1<<2)>>2])*.5;g[o>>2]=+g[s>>2]*+g[o>>2];e=+g[(c[w>>2]|0)+((S(c[t>>2]|0,c[m>>2]|0)|0)<<2)>>2];g[(c[w>>2]|0)+((S(c[t>>2]|0,c[m>>2]|0)|0)<<2)>>2]=e-+g[o>>2];e=+g[(c[w>>2]|0)+((S(c[t>>2]|0,c[m>>2]|0)|0)+1<<2)>>2];g[(c[w>>2]|0)+((S(c[t>>2]|0,c[m>>2]|0)|0)+1<<2)>>2]=e+ +g[o>>2];c[t>>2]=(c[t>>2]|0)+1}l=A;return}function Oj(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(V(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function Pj(a,b,d,e,f,h,i,j){a=+a;b=b|0;d=+d;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;t=u+36|0;v=u+32|0;s=u+28|0;q=u+24|0;p=u+20|0;n=u+16|0;m=u+12|0;r=u+8|0;k=u+4|0;o=u;g[v>>2]=a;c[s>>2]=b;g[q>>2]=d;c[p>>2]=e;c[n>>2]=f;c[m>>2]=h;c[r>>2]=i;c[k>>2]=j;if((c[r>>2]|0)==0&+g[v>>2]<.10000000149011612){g[o>>2]=+Bj(c[p>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0);c[r>>2]=+g[q>>2]>=+g[o>>2]*316.2300109863281&1}j=c[s>>2]|0;do if(c[r>>2]|0){c[j>>2]=(c[j>>2]|0)+1;if((c[c[s>>2]>>2]|0)>10){if((c[c[s>>2]>>2]|0)>30){c[c[s>>2]>>2]=10;break}c[t>>2]=1;v=c[t>>2]|0;l=u;return v|0}}else c[j>>2]=0;while(0);c[t>>2]=0;v=c[t>>2]|0;l=u;return v|0}function Qj(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=l;l=l+64|0;n=u+60|0;v=u+56|0;w=u+52|0;m=u+48|0;r=u+44|0;q=u+40|0;s=u+36|0;p=u+32|0;t=u+28|0;o=u+24|0;j=u+16|0;k=u;c[n>>2]=a;c[v>>2]=b;c[w>>2]=d;c[m>>2]=e;c[r>>2]=f;c[q>>2]=h;c[s>>2]=i;g[j>>2]=+(c[c[w>>2]>>2]|0)*3.725290298461914e-09;g[j+4>>2]=+(c[(c[w>>2]|0)+4>>2]|0)*3.725290298461914e-09;g[k>>2]=+(c[c[v>>2]>>2]|0)*3.725290298461914e-09;g[k+4>>2]=+(c[(c[v>>2]|0)+4>>2]|0)*3.725290298461914e-09;g[k+8>>2]=+(c[(c[v>>2]|0)+8>>2]|0)*3.725290298461914e-09;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[q>>2]|0))break;g[o>>2]=+g[(c[n>>2]|0)+((S(c[p>>2]|0,c[s>>2]|0)|0)<<2)>>2];g[t>>2]=+g[c[m>>2]>>2]+ +g[k>>2]*+g[o>>2];g[c[m>>2]>>2]=+g[(c[m>>2]|0)+4>>2]-+g[t>>2]*+g[j>>2]+ +g[k+4>>2]*+g[o>>2];g[(c[m>>2]|0)+4>>2]=-+g[t>>2]*+g[j+4>>2]+ +g[k+8>>2]*+g[o>>2]+1.0000000031710769e-30;g[(c[r>>2]|0)+((S(c[p>>2]|0,c[s>>2]|0)|0)<<2)>>2]=+g[t>>2];c[p>>2]=(c[p>>2]|0)+1}l=u;return}
function Jf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;i=r+40|0;j=r+36|0;f=r+32|0;o=r+28|0;g=r+24|0;h=r+20|0;k=r+16|0;m=r+12|0;p=r+8|0;n=r+4|0;q=r;c[i>>2]=d;c[j>>2]=e;c[k>>2]=(c[i>>2]|0)+4172;c[(c[i>>2]|0)+4164>>2]=a[(c[i>>2]|0)+2736+29>>0];c[f>>2]=0;a:do if((a[(c[i>>2]|0)+2736+29>>0]|0)==2){c[h>>2]=0;while(1){e=S(c[h>>2]|0,c[(c[i>>2]|0)+2332>>2]|0)|0;if((e|0)>=(c[(c[j>>2]|0)+((c[(c[i>>2]|0)+2324>>2]|0)-1<<2)>>2]|0))break;if((c[h>>2]|0)==(c[(c[i>>2]|0)+2324>>2]|0))break;c[o>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=5)break;c[o>>2]=(c[o>>2]|0)+(b[(c[j>>2]|0)+96+((((c[(c[i>>2]|0)+2324>>2]|0)-1-(c[h>>2]|0)|0)*5|0)+(c[g>>2]|0)<<1)>>1]|0);c[g>>2]=(c[g>>2]|0)+1}if((c[o>>2]|0)>(c[f>>2]|0)){c[f>>2]=c[o>>2];e=(c[k>>2]|0)+4|0;d=(c[j>>2]|0)+96+((((c[(c[i>>2]|0)+2324>>2]|0)-1-(c[h>>2]|0)&65535)<<16>>16)*5<<1)|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;b[e+4>>1]=b[d+4>>1]|0;b[e+6>>1]=b[d+6>>1]|0;b[e+8>>1]=b[d+8>>1]|0;c[c[k>>2]>>2]=c[(c[j>>2]|0)+((c[(c[i>>2]|0)+2324>>2]|0)-1-(c[h>>2]|0)<<2)>>2]<<8}c[h>>2]=(c[h>>2]|0)+1}o=(c[k>>2]|0)+4|0;c[o>>2]=0;c[o+4>>2]=0;b[o+8>>1]=0;b[(c[k>>2]|0)+4+4>>1]=c[f>>2];if((c[f>>2]|0)<11469){c[p>>2]=11744256;c[m>>2]=(c[p>>2]|0)/(((c[f>>2]|0)>1?c[f>>2]|0:1)|0)|0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=5)break a;q=(S(b[(c[k>>2]|0)+4+(c[g>>2]<<1)>>1]|0,(c[m>>2]&65535)<<16>>16)|0)>>10&65535;b[(c[k>>2]|0)+4+(c[g>>2]<<1)>>1]=q;c[g>>2]=(c[g>>2]|0)+1}}if((c[f>>2]|0)>15565){c[q>>2]=255016960;c[n>>2]=(c[q>>2]|0)/(((c[f>>2]|0)>1?c[f>>2]|0:1)|0)|0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=5)break a;q=(S(b[(c[k>>2]|0)+4+(c[g>>2]<<1)>>1]|0,(c[n>>2]&65535)<<16>>16)|0)>>14&65535;b[(c[k>>2]|0)+4+(c[g>>2]<<1)>>1]=q;c[g>>2]=(c[g>>2]|0)+1}}}else{c[c[k>>2]>>2]=((c[(c[i>>2]|0)+2316>>2]&65535)<<16>>16)*18<<8;q=(c[k>>2]|0)+4|0;c[q>>2]=0;c[q+4>>2]=0;b[q+8>>1]=0}while(0);uk((c[k>>2]|0)+14|0,(c[j>>2]|0)+32+32|0,c[(c[i>>2]|0)+2340>>2]<<1|0)|0;b[(c[k>>2]|0)+68>>1]=c[(c[j>>2]|0)+136>>2];q=(c[k>>2]|0)+72|0;p=(c[j>>2]|0)+16+((c[(c[i>>2]|0)+2324>>2]|0)-2<<2)|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[(c[k>>2]|0)+88>>2]=c[(c[i>>2]|0)+2332>>2];c[(c[k>>2]|0)+84>>2]=c[(c[i>>2]|0)+2324>>2];l=r;return}function Kf(a,d,e,f,g,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+48|0;k=x+44|0;u=x+40|0;m=x+36|0;v=x+32|0;n=x+28|0;s=x+24|0;w=x+20|0;r=x+16|0;p=x+12|0;q=x+8|0;o=x+4|0;t=x;c[k>>2]=a;c[u>>2]=d;c[m>>2]=e;c[v>>2]=f;c[n>>2]=g;c[s>>2]=h;c[w>>2]=i;c[r>>2]=j;i=c[w>>2]<<1;c[t>>2]=la()|0;e=l;l=l+((1*(i<<1)|0)+15&-16)|0;c[o>>2]=e;c[q>>2]=0;while(1){if((c[q>>2]|0)>=2)break;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[w>>2]|0))break;i=c[(c[n>>2]|0)+((c[p>>2]|0)+(S((c[q>>2]|0)+(c[r>>2]|0)-2|0,c[w>>2]|0)|0)<<2)>>2]>>16;i=S(i,(c[(c[s>>2]|0)+(c[q>>2]<<2)>>2]&65535)<<16>>16)|0;f=c[(c[n>>2]|0)+((c[p>>2]|0)+(S((c[q>>2]|0)+(c[r>>2]|0)-2|0,c[w>>2]|0)|0)<<2)>>2]&65535;f=i+((S(f,(c[(c[s>>2]|0)+(c[q>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;i=c[(c[n>>2]|0)+((c[p>>2]|0)+(S((c[q>>2]|0)+(c[r>>2]|0)-2|0,c[w>>2]|0)|0)<<2)>>2]|0;if((f+(S(i,(c[(c[s>>2]|0)+(c[q>>2]<<2)>>2]>>15)+1>>1)|0)>>8|0)<=32767){i=c[(c[n>>2]|0)+((c[p>>2]|0)+(S((c[q>>2]|0)+(c[r>>2]|0)-2|0,c[w>>2]|0)|0)<<2)>>2]>>16;i=S(i,(c[(c[s>>2]|0)+(c[q>>2]<<2)>>2]&65535)<<16>>16)|0;f=c[(c[n>>2]|0)+((c[p>>2]|0)+(S((c[q>>2]|0)+(c[r>>2]|0)-2|0,c[w>>2]|0)|0)<<2)>>2]&65535;f=i+((S(f,(c[(c[s>>2]|0)+(c[q>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;i=c[(c[n>>2]|0)+((c[p>>2]|0)+(S((c[q>>2]|0)+(c[r>>2]|0)-2|0,c[w>>2]|0)|0)<<2)>>2]|0;if((f+(S(i,(c[(c[s>>2]|0)+(c[q>>2]<<2)>>2]>>15)+1>>1)|0)>>8|0)<-32768)a=-32768;else{a=c[(c[n>>2]|0)+((c[p>>2]|0)+(S((c[q>>2]|0)+(c[r>>2]|0)-2|0,c[w>>2]|0)|0)<<2)>>2]>>16;a=S(a,(c[(c[s>>2]|0)+(c[q>>2]<<2)>>2]&65535)<<16>>16)|0;i=c[(c[n>>2]|0)+((c[p>>2]|0)+(S((c[q>>2]|0)+(c[r>>2]|0)-2|0,c[w>>2]|0)|0)<<2)>>2]&65535;i=a+((S(i,(c[(c[s>>2]|0)+(c[q>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;a=c[(c[n>>2]|0)+((c[p>>2]|0)+(S((c[q>>2]|0)+(c[r>>2]|0)-2|0,c[w>>2]|0)|0)<<2)>>2]|0;a=i+(S(a,(c[(c[s>>2]|0)+(c[q>>2]<<2)>>2]>>15)+1>>1)|0)>>8}}else a=32767;b[(c[o>>2]|0)+(c[p>>2]<<1)>>1]=a;c[p>>2]=(c[p>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+(c[w>>2]<<1);c[q>>2]=(c[q>>2]|0)+1}Ah(c[k>>2]|0,c[u>>2]|0,e,c[w>>2]|0);Ah(c[m>>2]|0,c[v>>2]|0,e+(c[w>>2]<<1)|0,c[w>>2]|0);ka(c[t>>2]|0);l=x;return}function Lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Nf(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+2|0;d=f;b[e>>1]=a;b[d>>1]=c;l=f;return ((b[e>>1]|0)>(b[d>>1]|0)?b[e>>1]|0:b[d>>1]|0)&65535|0}function Of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Pf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+48|0;g=h+32|0;n=h+28|0;d=h+24|0;i=h+20|0;f=h+16|0;j=h+12|0;m=h+8|0;k=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;b=c[n>>2]|0;c[i>>2]=(Rf((c[n>>2]|0)>0?b:0-b|0)|0)-1;c[m>>2]=c[n>>2]<<c[i>>2];c[j>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[j>>2]<<16;b=S(c[m>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;c[k>>2]=536870912-(b+((S(c[m>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))<<3;b=S(c[k>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;b=(c[e>>2]|0)+(b+((S(c[k>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=b+(S(c[k>>2]|0,(c[j>>2]>>15)+1>>1)|0);c[f>>2]=61-(c[i>>2]|0)-(c[d>>2]|0);b=c[f>>2]|0;if((c[f>>2]|0)>0)if((b|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];n=c[g>>2]|0;l=h;return n|0}else{c[g>>2]=0;n=c[g>>2]|0;l=h;return n|0}a=c[e>>2]|0;d=0-(c[f>>2]|0)|0;do if((-2147483648>>0-b|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>d|0)){b=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){b=2147483647>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>d|0)){b=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){b=-2147483648>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}while(0);c[g>>2]=b<<0-(c[f>>2]|0);n=c[g>>2]|0;l=h;return n|0}function Rf(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(V(c[b>>2]|0)|0))|0;l=d;return b|0}function Sf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;o=r+40|0;j=r+36|0;n=r+32|0;m=r+28|0;h=r+24|0;g=r+20|0;p=r+16|0;i=r+12|0;f=r+8|0;k=r+4|0;q=r;c[o>>2]=a;c[j>>2]=d;c[n>>2]=e;c[p>>2]=(c[o>>2]|0)+4172;if(c[(c[o>>2]|0)+4160>>2]|0){Ah((c[p>>2]|0)+60|0,(c[p>>2]|0)+64|0,c[j>>2]|0,c[n>>2]|0);o=1;q=c[p>>2]|0;q=q+48|0;c[q>>2]=o;l=r;return}a:do if(c[(c[o>>2]|0)+4172+48>>2]|0){Ah(g,h,c[j>>2]|0,c[n>>2]|0);if((c[h>>2]|0)<=(c[(c[p>>2]|0)+64>>2]|0)){if((c[h>>2]|0)<(c[(c[p>>2]|0)+64>>2]|0))c[g>>2]=c[g>>2]>>(c[(c[p>>2]|0)+64>>2]|0)-(c[h>>2]|0)}else c[(c[p>>2]|0)+60>>2]=c[(c[p>>2]|0)+60>>2]>>(c[h>>2]|0)-(c[(c[p>>2]|0)+64>>2]|0);if((c[g>>2]|0)>(c[(c[p>>2]|0)+60>>2]|0)){c[f>>2]=Rf(c[(c[p>>2]|0)+60>>2]|0)|0;c[f>>2]=(c[f>>2]|0)-1;c[(c[p>>2]|0)+60>>2]=c[(c[p>>2]|0)+60>>2]<<c[f>>2];o=c[g>>2]|0;c[g>>2]=o>>(Pf(24-(c[f>>2]|0)|0,0)|0);c[i>>2]=(c[(c[p>>2]|0)+60>>2]|0)/(((c[g>>2]|0)>1?c[g>>2]|0:1)|0)|0;c[k>>2]=(Tf(c[i>>2]|0)|0)<<4;c[q>>2]=(65536-(c[k>>2]|0)|0)/(c[n>>2]|0)|0;c[q>>2]=c[q>>2]<<2;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break a;o=S(c[k>>2]>>16,b[(c[j>>2]|0)+(c[m>>2]<<1)>>1]|0)|0;o=o+((S(c[k>>2]&65535,b[(c[j>>2]|0)+(c[m>>2]<<1)>>1]|0)|0)>>16)&65535;b[(c[j>>2]|0)+(c[m>>2]<<1)>>1]=o;c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0);if((c[k>>2]|0)>65536)break a;c[m>>2]=(c[m>>2]|0)+1}}}while(0);o=0;q=c[p>>2]|0;q=q+48|0;c[q>>2]=o;l=r;return}function Tf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+16|0;f=h+12|0;g=h+8|0;d=h+4|0;b=h;c[f>>2]=a;if((c[f>>2]|0)<=0){c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}Uf(c[f>>2]|0,d,b);if(c[d>>2]&1|0)c[g>>2]=32768;else c[g>>2]=46214;c[g>>2]=c[g>>2]>>(c[d>>2]>>1);f=S(c[g>>2]>>16,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[g>>2]=(c[g>>2]|0)+(f+((S(c[g>>2]&65535,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[e>>2]=c[g>>2];g=c[e>>2]|0;l=h;return g|0}function Uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=Rf(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];b=(Vf(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;l=e;return}function Vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+20|0;d=j+16|0;h=j+12|0;i=j+8|0;f=j+4|0;e=j;c[d>>2]=a;c[h>>2]=b;c[i>>2]=c[d>>2];c[f>>2]=c[h>>2];c[e>>2]=0-(c[h>>2]|0);if(!(c[h>>2]|0)){c[g>>2]=c[d>>2];i=c[g>>2]|0;l=j;return i|0}a=c[i>>2]|0;if((c[h>>2]|0)<0){c[g>>2]=a<<c[e>>2]|(c[i>>2]|0)>>>(32-(c[e>>2]|0)|0);i=c[g>>2]|0;l=j;return i|0}else{c[g>>2]=a<<32-(c[f>>2]|0)|(c[i>>2]|0)>>>(c[f>>2]|0);i=c[g>>2]|0;l=j;return i|0}return 0}function Wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=l;l=l+80|0;g=d+68|0;f=d+64|0;e=d+32|0;h=d+16|0;i=d+8|0;j=d;c[g>>2]=a;c[f>>2]=b;Xf(e,c[f>>2]|0,8);Xf(h,e,4);Xf(i,h,2);Xf(j,i,1);Yf(c[g>>2]|0,c[i>>2]|0,c[j>>2]|0,30204);Yf(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,30052);Yf(c[g>>2]|0,c[e>>2]|0,c[h>>2]|0,29900);Yf(c[g>>2]|0,c[c[f>>2]>>2]|0,c[e>>2]|0,29748);Yf(c[g>>2]|0,c[(c[f>>2]|0)+8>>2]|0,c[e+4>>2]|0,29748);Yf(c[g>>2]|0,c[e+8>>2]|0,c[h+4>>2]|0,29900);Yf(c[g>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[e+8>>2]|0,29748);Yf(c[g>>2]|0,c[(c[f>>2]|0)+24>>2]|0,c[e+12>>2]|0,29748);Yf(c[g>>2]|0,c[h+8>>2]|0,c[i+4>>2]|0,30052);Yf(c[g>>2]|0,c[e+16>>2]|0,c[h+8>>2]|0,29900);Yf(c[g>>2]|0,c[(c[f>>2]|0)+32>>2]|0,c[e+16>>2]|0,29748);Yf(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,c[e+20>>2]|0,29748);Yf(c[g>>2]|0,c[e+24>>2]|0,c[h+12>>2]|0,29900);Yf(c[g>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[e+24>>2]|0,29748);Yf(c[g>>2]|0,c[(c[f>>2]|0)+56>>2]|0,c[e+28>>2]|0,29748);l=d;return}function Xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+12|0;e=i+8|0;g=i+4|0;f=i;c[h>>2]=a;c[e>>2]=b;c[g>>2]=d;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;c[(c[h>>2]|0)+(c[f>>2]<<2)>>2]=(c[(c[e>>2]|0)+(c[f>>2]<<1<<2)>>2]|0)+(c[(c[e>>2]|0)+((c[f>>2]<<1)+1<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}l=i;return}function Yf(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k+12|0;h=k+8|0;g=k+4|0;j=k;c[i>>2]=a;c[h>>2]=b;c[g>>2]=e;c[j>>2]=f;if((c[g>>2]|0)<=0){l=k;return}wd(c[i>>2]|0,c[h>>2]|0,(c[j>>2]|0)+(d[30356+(c[g>>2]|0)>>0]|0)|0,8);l=k;return}function Zf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;f=l;l=l+48|0;i=f+8|0;h=f+4|0;m=f;k=f+40|0;j=f+32|0;g=f+16|0;c[i>>2]=a;c[h>>2]=d;c[m>>2]=e;_f(k,k+2|0,c[h>>2]|0,c[m>>2]|0,30204);_f(j,j+2|0,c[h>>2]|0,b[k>>1]|0,30052);_f(g,g+2|0,c[h>>2]|0,b[j>>1]|0,29900);_f(c[i>>2]|0,(c[i>>2]|0)+2|0,c[h>>2]|0,b[g>>1]|0,29748);_f((c[i>>2]|0)+4|0,(c[i>>2]|0)+6|0,c[h>>2]|0,b[g+2>>1]|0,29748);_f(g+4|0,g+6|0,c[h>>2]|0,b[j+2>>1]|0,29900);_f((c[i>>2]|0)+8|0,(c[i>>2]|0)+10|0,c[h>>2]|0,b[g+4>>1]|0,29748);_f((c[i>>2]|0)+12|0,(c[i>>2]|0)+14|0,c[h>>2]|0,b[g+6>>1]|0,29748);_f(j+4|0,j+6|0,c[h>>2]|0,b[k+2>>1]|0,30052);_f(g+8|0,g+10|0,c[h>>2]|0,b[j+4>>1]|0,29900);_f((c[i>>2]|0)+16|0,(c[i>>2]|0)+18|0,c[h>>2]|0,b[g+8>>1]|0,29748);_f((c[i>>2]|0)+20|0,(c[i>>2]|0)+22|0,c[h>>2]|0,b[g+10>>1]|0,29748);_f(g+12|0,g+14|0,c[h>>2]|0,b[j+6>>1]|0,29900);_f((c[i>>2]|0)+24|0,(c[i>>2]|0)+26|0,c[h>>2]|0,b[g+12>>1]|0,29748);_f((c[i>>2]|0)+28|0,(c[i>>2]|0)+30|0,c[h>>2]|0,b[g+14>>1]|0,29748);l=f;return}function _f(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;j=o+16|0;k=o+12|0;m=o+8|0;i=o+4|0;n=o;c[j>>2]=a;c[k>>2]=e;c[m>>2]=f;c[i>>2]=g;c[n>>2]=h;if((c[i>>2]|0)>0){h=(kd(c[m>>2]|0,(c[n>>2]|0)+(d[30356+(c[i>>2]|0)>>0]|0)|0,8)|0)&65535;b[c[j>>2]>>1]=h;h=(c[i>>2]|0)-(b[c[j>>2]>>1]|0)&65535;n=c[k>>2]|0;b[n>>1]=h;l=o;return}else{b[c[j>>2]>>1]=0;h=0;n=c[k>>2]|0;b[n>>1]=h;l=o;return}}function $f(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;d=g+4|0;f=g;c[e>>2]=a;c[f>>2]=0;a=c[e>>2]|0;b=a+112|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[d>>2]=0;while(1){if((c[d>>2]|0)>=4)break;b=ag(50/((c[d>>2]|0)+1|0)|0,1)|0;c[(c[e>>2]|0)+92+(c[d>>2]<<2)>>2]=b;c[d>>2]=(c[d>>2]|0)+1}c[d>>2]=0;while(1){a=c[e>>2]|0;if((c[d>>2]|0)>=4)break;c[(c[e>>2]|0)+60+(c[d>>2]<<2)>>2]=(c[a+92+(c[d>>2]<<2)>>2]|0)*100;c[(c[e>>2]|0)+76+(c[d>>2]<<2)>>2]=2147483647/(c[(c[e>>2]|0)+60+(c[d>>2]<<2)>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}c[a+108>>2]=15;c[d>>2]=0;while(1){if((c[d>>2]|0)>=4)break;c[(c[e>>2]|0)+40+(c[d>>2]<<2)>>2]=25600;c[d>>2]=(c[d>>2]|0)+1}l=g;return c[f>>2]|0}function ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function bg(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;C=l;l=l+144|0;v=C+132|0;F=C+128|0;p=C+124|0;u=C+120|0;t=C+116|0;E=C+112|0;D=C+108|0;j=C+104|0;h=C+100|0;i=C+96|0;q=C+92|0;k=C+88|0;s=C+84|0;m=C+80|0;B=C+76|0;z=C+72|0;e=C+136|0;r=C+56|0;o=C+40|0;A=C+36|0;n=C+32|0;g=C+16|0;x=C+8|0;w=C+4|0;y=C;c[v>>2]=a;c[F>>2]=d;c[x>>2]=0;c[w>>2]=(c[v>>2]|0)+32;c[E>>2]=c[(c[v>>2]|0)+4580>>2]>>1;c[D>>2]=c[(c[v>>2]|0)+4580>>2]>>2;c[j>>2]=c[(c[v>>2]|0)+4580>>2]>>3;c[g>>2]=0;c[g+4>>2]=(c[j>>2]|0)+(c[D>>2]|0);c[g+8>>2]=(c[g+4>>2]|0)+(c[j>>2]|0);c[g+12>>2]=(c[g+8>>2]|0)+(c[D>>2]|0);a=(c[g+12>>2]|0)+(c[E>>2]|0)|0;c[y>>2]=la()|0;f=l;l=l+((1*(a<<1)|0)+15&-16)|0;Qg(c[F>>2]|0,c[w>>2]|0,f,f+(c[g+12>>2]<<1)|0,c[(c[v>>2]|0)+4580>>2]|0);Qg(f,(c[w>>2]|0)+8|0,f,f+(c[g+8>>2]<<1)|0,c[E>>2]|0);Qg(f,(c[w>>2]|0)+16|0,f,f+(c[g+4>>2]<<1)|0,c[D>>2]|0);b[f+((c[j>>2]|0)-1<<1)>>1]=b[f+((c[j>>2]|0)-1<<1)>>1]>>1;b[e>>1]=b[f+((c[j>>2]|0)-1<<1)>>1]|0;c[k>>2]=(c[j>>2]|0)-1;while(1){if((c[k>>2]|0)<=0)break;b[f+((c[k>>2]|0)-1<<1)>>1]=b[f+((c[k>>2]|0)-1<<1)>>1]>>1;F=f+(c[k>>2]<<1)|0;b[F>>1]=(b[F>>1]|0)-(b[f+((c[k>>2]|0)-1<<1)>>1]|0);c[k>>2]=(c[k>>2]|0)+-1}b[f>>1]=(b[f>>1]|0)-(b[(c[w>>2]|0)+56>>1]|0);b[(c[w>>2]|0)+56>>1]=b[e>>1]|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=4)break;F=c[(c[v>>2]|0)+4580>>2]|0;c[j>>2]=F>>(cg(4-(c[s>>2]|0)|0,3)|0);c[h>>2]=c[j>>2]>>2;c[i>>2]=0;c[r+(c[s>>2]<<2)>>2]=c[(c[w>>2]|0)+24+(c[s>>2]<<2)>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=4)break;c[B>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;c[n>>2]=b[f+((c[g+(c[s>>2]<<2)>>2]|0)+(c[k>>2]|0)+(c[i>>2]|0)<<1)>>1]>>3;c[B>>2]=(c[B>>2]|0)+(S((c[n>>2]&65535)<<16>>16,(c[n>>2]&65535)<<16>>16)|0);c[k>>2]=(c[k>>2]|0)+1}d=c[r+(c[s>>2]<<2)>>2]|0;a=c[B>>2]|0;if((c[m>>2]|0)<3){if(d+a&-2147483648|0)d=2147483647;else d=(c[r+(c[s>>2]<<2)>>2]|0)+(c[B>>2]|0)|0;a=c[s>>2]|0}else{if(d+(a>>1)&-2147483648|0)d=2147483647;else d=(c[r+(c[s>>2]<<2)>>2]|0)+(c[B>>2]>>1)|0;a=c[s>>2]|0}c[r+(a<<2)>>2]=d;c[i>>2]=(c[i>>2]|0)+(c[h>>2]|0);c[m>>2]=(c[m>>2]|0)+1}c[(c[w>>2]|0)+24+(c[s>>2]<<2)>>2]=c[B>>2];c[s>>2]=(c[s>>2]|0)+1}dg(r,c[w>>2]|0);c[B>>2]=0;c[t>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=4)break;c[A>>2]=(c[r+(c[s>>2]<<2)>>2]|0)-(c[(c[w>>2]|0)+60+(c[s>>2]<<2)>>2]|0);d=c[s>>2]|0;if((c[A>>2]|0)>0){e=c[r+(c[s>>2]<<2)>>2]|0;if(!(c[r+(d<<2)>>2]&-8388608)){a=c[s>>2]|0;d=(e<<8|0)/((c[(c[w>>2]|0)+60+(c[s>>2]<<2)>>2]|0)+1|0)|0}else{a=c[s>>2]|0;d=(e|0)/((c[(c[w>>2]|0)+60+(c[s>>2]<<2)>>2]>>8)+1|0)|0}c[o+(a<<2)>>2]=d;c[q>>2]=(Wg(c[o+(c[s>>2]<<2)>>2]|0)|0)-1024;c[B>>2]=(c[B>>2]|0)+(S((c[q>>2]&65535)<<16>>16,(c[q>>2]&65535)<<16>>16)|0);if((c[A>>2]|0)<1048576){E=(eg(c[A>>2]|0)|0)<<6>>16;E=S(E,(c[q>>2]&65535)<<16>>16)|0;F=(eg(c[A>>2]|0)|0)<<6&65535;c[q>>2]=E+((S(F,(c[q>>2]&65535)<<16>>16)|0)>>16)}F=S(c[18056+(c[s>>2]<<2)>>2]>>16,(c[q>>2]&65535)<<16>>16)|0;c[t>>2]=(c[t>>2]|0)+(F+((S(c[18056+(c[s>>2]<<2)>>2]&65535,(c[q>>2]&65535)<<16>>16)|0)>>16))}else c[o+(d<<2)>>2]=256;c[s>>2]=(c[s>>2]|0)+1}c[B>>2]=(c[B>>2]|0)/4|0;c[u>>2]=((eg(c[B>>2]|0)|0)*3&65535)<<16>>16;c[p>>2]=xh(0+(((c[u>>2]&65535)<<16>>16)*45e3>>16)-128|0)|0;F=(xh(c[t>>2]|0)|0)-16384<<1;c[(c[v>>2]|0)+4708>>2]=F;c[A>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=4)break;F=S((c[s>>2]|0)+1|0,(c[r+(c[s>>2]<<2)>>2]|0)-(c[(c[w>>2]|0)+60+(c[s>>2]<<2)>>2]|0)>>4)|0;c[A>>2]=(c[A>>2]|0)+F;c[s>>2]=(c[s>>2]|0)+1}if((c[(c[v>>2]|0)+4580>>2]|0)==((c[(c[v>>2]|0)+4572>>2]|0)*20|0))c[A>>2]=c[A>>2]>>1;if((c[A>>2]|0)>0){if((c[A>>2]|0)<16384){c[A>>2]=c[A>>2]<<16;c[A>>2]=eg(c[A>>2]|0)|0;F=S(32768+(c[A>>2]|0)>>16,(c[p>>2]&65535)<<16>>16)|0;c[p>>2]=F+((S(32768+(c[A>>2]|0)&65535,(c[p>>2]&65535)<<16>>16)|0)>>16)}}else c[p>>2]=c[p>>2]>>1;F=cg(c[p>>2]>>7,255)|0;c[(c[v>>2]|0)+4528>>2]=F;F=S(c[p>>2]>>16,(c[p>>2]&65535)<<16>>16)|0;c[z>>2]=0+((F+((S(c[p>>2]&65535,(c[p>>2]&65535)<<16>>16)|0)>>16)&65535)<<16>>16<<12>>16);if((c[(c[v>>2]|0)+4580>>2]|0)==((c[(c[v>>2]|0)+4572>>2]|0)*10|0))c[z>>2]=c[z>>2]>>1;c[s>>2]=0;while(1){if((c[s>>2]|0)>=4)break;F=S((c[o+(c[s>>2]<<2)>>2]|0)-(c[(c[w>>2]|0)+40+(c[s>>2]<<2)>>2]|0)>>16,(c[z>>2]&65535)<<16>>16)|0;F=(c[(c[w>>2]|0)+40+(c[s>>2]<<2)>>2]|0)+(F+((S((c[o+(c[s>>2]<<2)>>2]|0)-(c[(c[w>>2]|0)+40+(c[s>>2]<<2)>>2]|0)&65535,(c[z>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[w>>2]|0)+40+(c[s>>2]<<2)>>2]=F;c[q>>2]=((Wg(c[(c[w>>2]|0)+40+(c[s>>2]<<2)>>2]|0)|0)-1024|0)*3;F=xh((c[q>>2]|0)-2048>>4)|0;c[(c[v>>2]|0)+4692+(c[s>>2]<<2)>>2]=F;c[s>>2]=(c[s>>2]|0)+1}F=c[x>>2]|0;ka(c[y>>2]|0);l=C;return F|0}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function dg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;j=m+28|0;k=m+24|0;f=m+20|0;h=m+16|0;i=m+12|0;e=m+8|0;d=m+4|0;g=m;c[j>>2]=a;c[k>>2]=b;if((c[(c[k>>2]|0)+108>>2]|0)<1e3)c[g>>2]=32767/((c[(c[k>>2]|0)+108>>2]>>4)+1|0)|0;else c[g>>2]=0;c[f>>2]=0;while(1){a=c[k>>2]|0;if((c[f>>2]|0)>=4)break;c[h>>2]=c[a+60+(c[f>>2]<<2)>>2];if((c[(c[j>>2]|0)+(c[f>>2]<<2)>>2]|0)+(c[(c[k>>2]|0)+92+(c[f>>2]<<2)>>2]|0)&-2147483648|0)a=2147483647;else a=(c[(c[j>>2]|0)+(c[f>>2]<<2)>>2]|0)+(c[(c[k>>2]|0)+92+(c[f>>2]<<2)>>2]|0)|0;c[i>>2]=a;c[e>>2]=2147483647/(c[i>>2]|0)|0;do if((c[i>>2]|0)<=(c[h>>2]<<3|0))if((c[i>>2]|0)<(c[h>>2]|0)){c[d>>2]=1024;break}else{a=S(c[e>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;a=a+((S(c[e>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16)|0;a=a+(S(c[e>>2]|0,(c[h>>2]>>15)+1>>1)|0)>>16<<11;b=S(c[e>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;b=b+((S(c[e>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16)|0;c[d>>2]=a+((b+(S(c[e>>2]|0,(c[h>>2]>>15)+1>>1)|0)&65535)<<11>>16);break}else c[d>>2]=128;while(0);c[d>>2]=ig(c[d>>2]|0,c[g>>2]|0)|0;b=S((c[e>>2]|0)-(c[(c[k>>2]|0)+76+(c[f>>2]<<2)>>2]|0)>>16,(c[d>>2]&65535)<<16>>16)|0;b=(c[(c[k>>2]|0)+76+(c[f>>2]<<2)>>2]|0)+(b+((S((c[e>>2]|0)-(c[(c[k>>2]|0)+76+(c[f>>2]<<2)>>2]|0)&65535,(c[d>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[k>>2]|0)+76+(c[f>>2]<<2)>>2]=b;c[h>>2]=2147483647/(c[(c[k>>2]|0)+76+(c[f>>2]<<2)>>2]|0)|0;c[h>>2]=(c[h>>2]|0)<16777215?c[h>>2]|0:16777215;c[(c[k>>2]|0)+60+(c[f>>2]<<2)>>2]=c[h>>2];c[f>>2]=(c[f>>2]|0)+1}k=a+108|0;c[k>>2]=(c[k>>2]|0)+1;l=m;return}function eg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+16|0;f=h+12|0;g=h+8|0;d=h+4|0;b=h;c[f>>2]=a;if((c[f>>2]|0)<=0){c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}fg(c[f>>2]|0,d,b);if(c[d>>2]&1|0)c[g>>2]=32768;else c[g>>2]=46214;c[g>>2]=c[g>>2]>>(c[d>>2]>>1);f=S(c[g>>2]>>16,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[g>>2]=(c[g>>2]|0)+(f+((S(c[g>>2]&65535,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[e>>2]=c[g>>2];g=c[e>>2]|0;l=h;return g|0}function fg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=gg(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];b=(hg(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;l=e;return}function gg(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(V(c[b>>2]|0)|0))|0;l=d;return b|0}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+20|0;d=j+16|0;h=j+12|0;i=j+8|0;f=j+4|0;e=j;c[d>>2]=a;c[h>>2]=b;c[i>>2]=c[d>>2];c[f>>2]=c[h>>2];c[e>>2]=0-(c[h>>2]|0);if(!(c[h>>2]|0)){c[g>>2]=c[d>>2];i=c[g>>2]|0;l=j;return i|0}a=c[i>>2]|0;if((c[h>>2]|0)<0){c[g>>2]=a<<c[e>>2]|(c[i>>2]|0)>>>(32-(c[e>>2]|0)|0);i=c[g>>2]|0;l=j;return i|0}else{c[g>>2]=a<<32-(c[f>>2]|0)|(c[i>>2]|0)>>>(c[f>>2]|0);i=c[g>>2]|0;l=j;return i|0}return 0}function ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h+12|0;e=h+8|0;g=h+4|0;d=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+4572>>2];c[d>>2]=((c[g>>2]&65535)<<16>>16)*1e3;if(!(c[d>>2]|0)){e=c[f>>2]|0;c[d>>2]=c[((c[(c[f>>2]|0)+4568>>2]|0)<(c[(c[f>>2]|0)+4552>>2]|0)?e+4568|0:e+4552|0)>>2];c[g>>2]=(c[d>>2]|0)/1e3|0;g=c[g>>2]|0;l=h;return g|0}if(((c[d>>2]|0)<=(c[(c[f>>2]|0)+4552>>2]|0)?(c[d>>2]|0)<=(c[(c[f>>2]|0)+4560>>2]|0):0)?(c[d>>2]|0)>=(c[(c[f>>2]|0)+4564>>2]|0):0){if((c[(c[f>>2]|0)+16+8>>2]|0)>=256)c[(c[f>>2]|0)+16+12>>2]=0;if((c[(c[f>>2]|0)+4532>>2]|0)==0?(c[(c[e>>2]|0)+64>>2]|0)==0:0){g=c[g>>2]|0;l=h;return g|0}b=c[f>>2]|0;if((((c[(c[f>>2]|0)+4572>>2]&65535)<<16>>16)*1e3|0)>(c[(c[f>>2]|0)+4568>>2]|0)){if(!(c[b+16+12>>2]|0)){c[(c[f>>2]|0)+16+8>>2]=256;d=(c[f>>2]|0)+16|0;c[d>>2]=0;c[d+4>>2]=0}b=(c[f>>2]|0)+16|0;if(c[(c[e>>2]|0)+64>>2]|0){c[b+12>>2]=0;c[g>>2]=(c[(c[f>>2]|0)+4572>>2]|0)==16?12:8;g=c[g>>2]|0;l=h;return g|0}if((c[b+8>>2]|0)<=0){c[(c[e>>2]|0)+88>>2]=1;f=(c[e>>2]|0)+56|0;c[f>>2]=(c[f>>2]|0)-(((c[(c[e>>2]|0)+56>>2]|0)*5|0)/((c[(c[e>>2]|0)+24>>2]|0)+5|0)|0);g=c[g>>2]|0;l=h;return g|0}else{c[(c[f>>2]|0)+16+12>>2]=-2;g=c[g>>2]|0;l=h;return g|0}}if((((c[b+4572>>2]&65535)<<16>>16)*1e3|0)>=(c[(c[f>>2]|0)+4568>>2]|0)){if((c[(c[f>>2]|0)+16+12>>2]|0)>=0){g=c[g>>2]|0;l=h;return g|0}c[(c[f>>2]|0)+16+12>>2]=1;g=c[g>>2]|0;l=h;return g|0}b=c[f>>2]|0;if(c[(c[e>>2]|0)+64>>2]|0){c[g>>2]=(c[b+4572>>2]|0)==8?12:16;c[(c[f>>2]|0)+16+8>>2]=0;e=(c[f>>2]|0)+16|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+16+12>>2]=1;g=c[g>>2]|0;l=h;return g|0}if(!(c[b+16+12>>2]|0)){c[(c[e>>2]|0)+88>>2]=1;f=(c[e>>2]|0)+56|0;c[f>>2]=(c[f>>2]|0)-(((c[(c[e>>2]|0)+56>>2]|0)*5|0)/((c[(c[e>>2]|0)+24>>2]|0)+5|0)|0);g=c[g>>2]|0;l=h;return g|0}else{c[(c[f>>2]|0)+16+12>>2]=1;g=c[g>>2]|0;l=h;return g|0}}c[d>>2]=c[(c[f>>2]|0)+4552>>2];if((c[d>>2]|0)<(c[(c[f>>2]|0)+4560>>2]|0))b=c[d>>2]|0;else b=c[(c[f>>2]|0)+4560>>2]|0;c[d>>2]=b;if((c[d>>2]|0)>(c[(c[f>>2]|0)+4564>>2]|0))b=c[d>>2]|0;else b=c[(c[f>>2]|0)+4564>>2]|0;c[d>>2]=b;c[g>>2]=(c[d>>2]|0)/1e3|0;g=c[g>>2]|0;l=h;return g|0}function kg(d,e,f,g,h,i,j,k,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+128|0;o=Q+108|0;s=Q+104|0;C=Q+100|0;P=Q+96|0;N=Q+92|0;p=Q+88|0;J=Q+84|0;G=Q+80|0;M=Q+76|0;y=Q+68|0;z=Q+64|0;u=Q+60|0;I=Q+112|0;v=Q+56|0;t=Q+52|0;r=Q+48|0;q=Q+44|0;K=Q+40|0;F=Q+36|0;O=Q+32|0;E=Q+28|0;D=Q+24|0;B=Q+20|0;H=Q+16|0;L=Q+12|0;A=Q+8|0;w=Q+4|0;x=Q;c[o>>2]=d;c[s>>2]=e;c[C>>2]=f;c[P>>2]=g;c[N>>2]=h;c[p>>2]=i;c[J>>2]=j;c[G>>2]=k;c[M>>2]=m;c[Q+72>>2]=n;c[B>>2]=2147483647;c[L>>2]=0;c[z>>2]=0;while(1){if((c[z>>2]|0)>=3)break;c[x>>2]=51;c[v>>2]=c[17632+(c[z>>2]<<2)>>2];c[t>>2]=c[17644+(c[z>>2]<<2)>>2];c[r>>2]=c[17656+(c[z>>2]<<2)>>2];c[u>>2]=a[27452+(c[z>>2]|0)>>0];c[q>>2]=c[p>>2];c[K>>2]=c[J>>2];c[O>>2]=0;c[D>>2]=0;c[H>>2]=c[c[P>>2]>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[M>>2]|0))break;j=_g(5333-(c[H>>2]|0)+896|0)|0;c[A>>2]=j-(c[x>>2]|0);lg(I+(c[y>>2]|0)|0,F,E,w,c[q>>2]|0,c[K>>2]|0,c[t>>2]|0,c[r>>2]|0,c[v>>2]|0,c[G>>2]|0,c[A>>2]|0,c[u>>2]|0);if((c[O>>2]|0)+(c[F>>2]|0)&-2147483648|0)d=2147483647;else d=(c[O>>2]|0)+(c[F>>2]|0)|0;c[O>>2]=d;if((c[D>>2]|0)+(c[E>>2]|0)&-2147483648|0)d=2147483647;else d=(c[D>>2]|0)+(c[E>>2]|0)|0;c[D>>2]=d;j=c[H>>2]|0;if(0>(j+(Wg((c[x>>2]|0)+(c[w>>2]|0)|0)|0)-896|0))d=0;else{d=c[H>>2]|0;d=d+(Wg((c[x>>2]|0)+(c[w>>2]|0)|0)|0)-896|0}c[H>>2]=d;c[q>>2]=(c[q>>2]|0)+100;c[K>>2]=(c[K>>2]|0)+20;c[y>>2]=(c[y>>2]|0)+1}if((c[D>>2]|0)<=(c[B>>2]|0)){c[B>>2]=c[D>>2];a[c[C>>2]>>0]=c[z>>2];uk(c[s>>2]|0,I|0,c[M>>2]|0)|0;c[L>>2]=c[H>>2]}c[z>>2]=(c[z>>2]|0)+1}c[t>>2]=c[17644+(a[c[C>>2]>>0]<<2)>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[M>>2]|0))break;c[z>>2]=0;while(1){if((c[z>>2]|0)>=5)break;b[(c[o>>2]|0)+(((c[y>>2]|0)*5|0)+(c[z>>2]|0)<<1)>>1]=a[(c[t>>2]|0)+(((a[(c[s>>2]|0)+(c[y>>2]|0)>>0]|0)*5|0)+(c[z>>2]|0))>>0]<<7;c[z>>2]=(c[z>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}d=c[O>>2]|0;if((c[M>>2]|0)==2){c[O>>2]=d>>1;M=c[L>>2]|0;P=c[P>>2]|0;c[P>>2]=M;O=c[O>>2]|0;O=Wg(O)|0;O=O-1920|0;O=O&65535;O=O<<16>>16;O=S(-3,O)|0;P=c[N>>2]|0;c[P>>2]=O;l=Q;return}else{c[O>>2]=d>>2;M=c[L>>2]|0;P=c[P>>2]|0;c[P>>2]=M;O=c[O>>2]|0;O=Wg(O)|0;O=O-1920|0;O=O&65535;O=O<<16>>16;O=S(-3,O)|0;P=c[N>>2]|0;c[P>>2]=O;l=Q;return}}function lg(b,e,f,g,h,i,j,k,m,n,o,p){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;J=l;l=l+112|0;z=J+96|0;F=J+92|0;E=J+88|0;x=J+84|0;r=J+80|0;L=J+76|0;K=J+72|0;u=J+68|0;w=J+64|0;G=J+60|0;B=J+56|0;q=J+52|0;A=J+48|0;y=J+44|0;v=J+40|0;C=J+20|0;H=J+16|0;I=J+12|0;s=J+8|0;t=J+4|0;D=J;c[z>>2]=b;c[F>>2]=e;c[E>>2]=f;c[x>>2]=g;c[r>>2]=h;c[L>>2]=i;c[K>>2]=j;c[u>>2]=k;c[w>>2]=m;c[G>>2]=n;c[B>>2]=o;c[q>>2]=p;c[C>>2]=0-(c[c[L>>2]>>2]<<7);c[C+4>>2]=0-(c[(c[L>>2]|0)+4>>2]<<7);c[C+8>>2]=0-(c[(c[L>>2]|0)+8>>2]<<7);c[C+12>>2]=0-(c[(c[L>>2]|0)+12>>2]<<7);c[C+16>>2]=0-(c[(c[L>>2]|0)+16>>2]<<7);c[c[E>>2]>>2]=2147483647;c[c[F>>2]>>2]=2147483647;c[v>>2]=c[K>>2];a[c[z>>2]>>0]=0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[q>>2]|0))break;c[y>>2]=d[(c[u>>2]|0)+(c[A>>2]|0)>>0];c[H>>2]=32801;if(((c[y>>2]|0)-(c[B>>2]|0)|0)>0)p=(c[y>>2]|0)-(c[B>>2]|0)|0;else p=0;c[D>>2]=p<<11;c[I>>2]=(c[C>>2]|0)+(S(c[(c[r>>2]|0)+4>>2]|0,a[(c[v>>2]|0)+1>>0]|0)|0);c[I>>2]=(c[I>>2]|0)+(S(c[(c[r>>2]|0)+8>>2]|0,a[(c[v>>2]|0)+2>>0]|0)|0);c[I>>2]=(c[I>>2]|0)+(S(c[(c[r>>2]|0)+12>>2]|0,a[(c[v>>2]|0)+3>>0]|0)|0);c[I>>2]=(c[I>>2]|0)+(S(c[(c[r>>2]|0)+16>>2]|0,a[(c[v>>2]|0)+4>>0]|0)|0);c[I>>2]=c[I>>2]<<1;c[I>>2]=(c[I>>2]|0)+(S(c[c[r>>2]>>2]|0,a[c[v>>2]>>0]|0)|0);L=S(c[I>>2]>>16,a[c[v>>2]>>0]<<16>>16)|0;c[H>>2]=(c[H>>2]|0)+(L+((S(c[I>>2]&65535,a[c[v>>2]>>0]<<16>>16)|0)>>16));c[I>>2]=(c[C+4>>2]|0)+(S(c[(c[r>>2]|0)+28>>2]|0,a[(c[v>>2]|0)+2>>0]|0)|0);c[I>>2]=(c[I>>2]|0)+(S(c[(c[r>>2]|0)+32>>2]|0,a[(c[v>>2]|0)+3>>0]|0)|0);c[I>>2]=(c[I>>2]|0)+(S(c[(c[r>>2]|0)+36>>2]|0,a[(c[v>>2]|0)+4>>0]|0)|0);c[I>>2]=c[I>>2]<<1;c[I>>2]=(c[I>>2]|0)+(S(c[(c[r>>2]|0)+24>>2]|0,a[(c[v>>2]|0)+1>>0]|0)|0);L=S(c[I>>2]>>16,a[(c[v>>2]|0)+1>>0]<<16>>16)|0;c[H>>2]=(c[H>>2]|0)+(L+((S(c[I>>2]&65535,a[(c[v>>2]|0)+1>>0]<<16>>16)|0)>>16));c[I>>2]=(c[C+8>>2]|0)+(S(c[(c[r>>2]|0)+52>>2]|0,a[(c[v>>2]|0)+3>>0]|0)|0);c[I>>2]=(c[I>>2]|0)+(S(c[(c[r>>2]|0)+56>>2]|0,a[(c[v>>2]|0)+4>>0]|0)|0);c[I>>2]=c[I>>2]<<1;c[I>>2]=(c[I>>2]|0)+(S(c[(c[r>>2]|0)+48>>2]|0,a[(c[v>>2]|0)+2>>0]|0)|0);L=S(c[I>>2]>>16,a[(c[v>>2]|0)+2>>0]<<16>>16)|0;c[H>>2]=(c[H>>2]|0)+(L+((S(c[I>>2]&65535,a[(c[v>>2]|0)+2>>0]<<16>>16)|0)>>16));c[I>>2]=(c[C+12>>2]|0)+(S(c[(c[r>>2]|0)+76>>2]|0,a[(c[v>>2]|0)+4>>0]|0)|0);c[I>>2]=c[I>>2]<<1;c[I>>2]=(c[I>>2]|0)+(S(c[(c[r>>2]|0)+72>>2]|0,a[(c[v>>2]|0)+3>>0]|0)|0);L=S(c[I>>2]>>16,a[(c[v>>2]|0)+3>>0]<<16>>16)|0;c[H>>2]=(c[H>>2]|0)+(L+((S(c[I>>2]&65535,a[(c[v>>2]|0)+3>>0]<<16>>16)|0)>>16));c[I>>2]=c[C+16>>2]<<1;c[I>>2]=(c[I>>2]|0)+(S(c[(c[r>>2]|0)+96>>2]|0,a[(c[v>>2]|0)+4>>0]|0)|0);L=S(c[I>>2]>>16,a[(c[v>>2]|0)+4>>0]<<16>>16)|0;c[H>>2]=(c[H>>2]|0)+(L+((S(c[I>>2]&65535,a[(c[v>>2]|0)+4>>0]<<16>>16)|0)>>16));if((c[H>>2]|0)>=0?(L=(c[G>>2]&65535)<<16>>16,c[s>>2]=S(L,((Wg((c[H>>2]|0)+(c[D>>2]|0)|0)|0)-1920&65535)<<16>>16)|0,c[t>>2]=(c[s>>2]|0)+(d[(c[w>>2]|0)+(c[A>>2]|0)>>0]<<2),(c[t>>2]|0)<=(c[c[E>>2]>>2]|0)):0){c[c[E>>2]>>2]=c[t>>2];c[c[F>>2]>>2]=(c[H>>2]|0)+(c[D>>2]|0);a[c[z>>2]>>0]=c[A>>2];c[c[x>>2]>>2]=c[y>>2]}c[v>>2]=(c[v>>2]|0)+5;c[A>>2]=(c[A>>2]|0)+1}l=J;return}function mg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;j=i+20|0;f=i+16|0;d=i+12|0;e=i+8|0;g=i+4|0;h=i;c[j>>2]=b;c[h>>2]=c[j>>2];if((a[(c[h>>2]|0)+4537>>0]|0)!=2){l=i;return}c[d>>2]=((c[(c[h>>2]|0)+4572>>2]|0)*1e3<<16|0)/(c[(c[h>>2]|0)+4540>>2]|0)|0;c[e>>2]=(Wg(c[d>>2]|0)|0)-2048;c[f>>2]=c[(c[h>>2]|0)+4692>>2];k=c[e>>2]|0;b=S(0-(c[f>>2]|0)<<2>>16,(c[f>>2]&65535)<<16>>16)|0;b=b+((S(0-(c[f>>2]|0)<<2&65535,(c[f>>2]&65535)<<16>>16)|0)>>16)>>16;d=c[e>>2]|0;d=S(b,(d-((Wg(3932160)|0)-2048)&65535)<<16>>16)|0;b=S(0-(c[f>>2]|0)<<2>>16,(c[f>>2]&65535)<<16>>16)|0;b=b+((S(0-(c[f>>2]|0)<<2&65535,(c[f>>2]&65535)<<16>>16)|0)>>16)&65535;j=c[e>>2]|0;c[e>>2]=k+(d+((S(b,(j-((Wg(3932160)|0)-2048)&65535)<<16>>16)|0)>>16));c[g>>2]=(c[e>>2]|0)-(c[(c[h>>2]|0)+8>>2]>>8);if((c[g>>2]|0)<0)c[g>>2]=(c[g>>2]|0)*3;if((c[g>>2]|0)>51)d=51;else d=(c[g>>2]|0)<-51?-51:c[g>>2]|0;c[g>>2]=d;k=((S((c[(c[h>>2]|0)+4528>>2]&65535)<<16>>16,(c[g>>2]&65535)<<16>>16)|0)>>16)*6554|0;k=(c[(c[h>>2]|0)+8>>2]|0)+(k+(((S((c[(c[h>>2]|0)+4528>>2]&65535)<<16>>16,(c[g>>2]&65535)<<16>>16)|0)&65535)*6554>>16))|0;c[(c[h>>2]|0)+8>>2]=k;k=(Wg(60)|0)<<8;k=(k|0)>((Wg(100)|0)<<8|0);d=c[(c[h>>2]|0)+8>>2]|0;do if(k){if((d|0)>((Wg(60)|0)<<8|0)){d=(Wg(60)|0)<<8;break}k=c[(c[h>>2]|0)+8>>2]|0;if((k|0)<((Wg(100)|0)<<8|0)){d=(Wg(100)|0)<<8;break}else{d=c[(c[h>>2]|0)+8>>2]|0;break}}else{if((d|0)>((Wg(100)|0)<<8|0)){d=(Wg(100)|0)<<8;break}k=c[(c[h>>2]|0)+8>>2]|0;if((k|0)<((Wg(60)|0)<<8|0)){d=(Wg(60)|0)<<8;break}else{d=c[(c[h>>2]|0)+8>>2]|0;break}}while(0);c[(c[h>>2]|0)+8>>2]=d;l=i;return}function ng(f,g,h,i,j,k,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+224|0;n=L+72|0;B=L+68|0;F=L+64|0;C=L+60|0;o=L+56|0;y=L+52|0;K=L+48|0;v=L+44|0;I=L+40|0;x=L+36|0;s=L+32|0;E=L+28|0;t=L+24|0;r=L+20|0;H=L+16|0;G=L+176|0;p=L+144|0;q=L+112|0;D=L+208|0;u=L+80|0;A=L+12|0;w=L+8|0;z=L+4|0;J=L;c[n>>2]=f;c[B>>2]=g;c[F>>2]=h;c[C>>2]=i;c[o>>2]=j;c[y>>2]=k;c[K>>2]=m;gh(c[B>>2]|0,c[(c[F>>2]|0)+36>>2]|0,b[(c[F>>2]|0)+2>>1]|0);k=e[c[F>>2]>>1]|0;c[J>>2]=la()|0;g=l;l=l+((1*(k<<2)|0)+15&-16)|0;qg(g,c[B>>2]|0,c[(c[F>>2]|0)+8>>2]|0,c[(c[F>>2]|0)+12>>2]|0,b[c[F>>2]>>1]|0,b[(c[F>>2]|0)+2>>1]|0);k=l;l=l+((1*(c[y>>2]<<2)|0)+15&-16)|0;yh(g,k,b[c[F>>2]>>1]|0,c[y>>2]|0);g=l;l=l+((1*(c[y>>2]<<2)|0)+15&-16)|0;i=l;l=l+((1*(c[y>>2]<<4)|0)+15&-16)|0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[y>>2]|0))break;c[x>>2]=c[k+(c[I>>2]<<2)>>2];c[A>>2]=(c[(c[F>>2]|0)+8>>2]|0)+(S(c[x>>2]|0,b[(c[F>>2]|0)+2>>1]|0)|0);c[z>>2]=(c[(c[F>>2]|0)+12>>2]|0)+((S(c[x>>2]|0,b[(c[F>>2]|0)+2>>1]|0)|0)<<1);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(b[(c[F>>2]|0)+2>>1]|0))break;b[p+(c[v>>2]<<1)>>1]=(d[(c[A>>2]|0)+(c[v>>2]|0)>>0]&65535)<<7;c[r>>2]=b[(c[z>>2]|0)+(c[v>>2]<<1)>>1];m=(S(((b[(c[B>>2]|0)+(c[v>>2]<<1)>>1]|0)-(b[p+(c[v>>2]<<1)>>1]|0)&65535)<<16>>16,(c[r>>2]&65535)<<16>>16)|0)>>14&65535;b[G+(c[v>>2]<<1)>>1]=m;m=(og(b[(c[C>>2]|0)+(c[v>>2]<<1)>>1]|0,S((c[r>>2]&65535)<<16>>16,(c[r>>2]&65535)<<16>>16)|0,21)|0)&65535;b[q+(c[v>>2]<<1)>>1]=m;c[v>>2]=(c[v>>2]|0)+1}rg(u,D,c[F>>2]|0,c[x>>2]|0);f=sg(i+(c[I>>2]<<4)|0,G,q,D,u,c[(c[F>>2]|0)+32>>2]|0,b[(c[F>>2]|0)+4>>1]|0,b[(c[F>>2]|0)+6>>1]|0,c[o>>2]|0,b[(c[F>>2]|0)+2>>1]|0)|0;c[g+(c[I>>2]<<2)>>2]=f;c[w>>2]=(c[(c[F>>2]|0)+16>>2]|0)+(S(c[K>>2]>>1,b[c[F>>2]>>1]|0)|0);f=c[w>>2]|0;j=c[x>>2]|0;if(!(c[x>>2]|0))c[E>>2]=256-(d[f+j>>0]|0);else c[E>>2]=(d[f+(j-1)>>0]|0)-(d[(c[w>>2]|0)+(c[x>>2]|0)>>0]|0);c[t>>2]=1024-(Wg(c[E>>2]|0)|0);m=(c[g+(c[I>>2]<<2)>>2]|0)+(S((c[t>>2]&65535)<<16>>16,(c[o>>2]>>2&65535)<<16>>16)|0)|0;c[g+(c[I>>2]<<2)>>2]=m;c[I>>2]=(c[I>>2]|0)+1}yh(g,s,c[y>>2]|0,1);a[c[n>>2]>>0]=c[k+(c[s>>2]<<2)>>2];uk((c[n>>2]|0)+1|0,i+(c[s>>2]<<4)|0,b[(c[F>>2]|0)+2>>1]|0)|0;of(c[B>>2]|0,c[n>>2]|0,c[F>>2]|0);c[H>>2]=c[g>>2];K=c[H>>2]|0;ka(c[J>>2]|0);l=L;return K|0}function og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;h=l;l=l+48|0;g=h+40|0;q=h+36|0;p=h+32|0;i=h+28|0;k=h+24|0;j=h+20|0;f=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;e=h;c[q>>2]=a;c[p>>2]=b;c[i>>2]=d;b=c[q>>2]|0;c[k>>2]=(pg((c[q>>2]|0)>0?b:0-b|0)|0)-1;c[n>>2]=c[q>>2]<<c[k>>2];b=c[p>>2]|0;c[j>>2]=(pg((c[p>>2]|0)>0?b:0-b|0)|0)-1;c[o>>2]=c[p>>2]<<c[j>>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;b=S(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=b+((S(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);b=c[n>>2]|0;a=c[o>>2]|0;d=c[e>>2]|0;d=rk(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=sk(d|0,D|0,32)|0;c[n>>2]=b-(d<<3);d=S(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(d+((S(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[f>>2]=29+(c[k>>2]|0)-(c[j>>2]|0)-(c[i>>2]|0);d=c[f>>2]|0;if((c[f>>2]|0)>=0)if((d|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];q=c[g>>2]|0;l=h;return q|0}else{c[g>>2]=0;q=c[g>>2]|0;l=h;return q|0}a=c[e>>2]|0;b=0-(c[f>>2]|0)|0;do if((-2147483648>>0-d|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>b|0)){d=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){d=2147483647>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>b|0)){d=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){d=-2147483648>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}while(0);c[g>>2]=d<<0-(c[f>>2]|0);q=c[g>>2]|0;l=h;return q|0}function pg(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(V(c[b>>2]|0)|0))|0;l=d;return b|0}function qg(a,e,f,g,h,i){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=l;l=l+64|0;p=w+52|0;r=w+48|0;y=w+44|0;x=w+40|0;j=w+36|0;k=w+32|0;q=w+28|0;s=w+24|0;n=w+20|0;o=w+16|0;u=w+12|0;t=w+8|0;v=w+4|0;m=w;c[p>>2]=a;c[r>>2]=e;c[y>>2]=f;c[x>>2]=g;c[j>>2]=h;c[k>>2]=i;c[m>>2]=c[y>>2];c[v>>2]=c[x>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[j>>2]|0))break;c[u>>2]=0;c[t>>2]=0;c[s>>2]=(c[k>>2]|0)-2;while(1){if((c[s>>2]|0)<0)break;c[n>>2]=(b[(c[r>>2]|0)+((c[s>>2]|0)+1<<1)>>1]|0)-(d[(c[m>>2]|0)+((c[s>>2]|0)+1)>>0]<<7);c[o>>2]=S((c[n>>2]&65535)<<16>>16,b[(c[v>>2]|0)+((c[s>>2]|0)+1<<1)>>1]|0)|0;y=(c[o>>2]|0)-(c[t>>2]>>1)|0;c[u>>2]=(c[u>>2]|0)+(((c[o>>2]|0)-(c[t>>2]>>1)|0)>0?y:0-y|0);c[t>>2]=c[o>>2];c[n>>2]=(b[(c[r>>2]|0)+(c[s>>2]<<1)>>1]|0)-(d[(c[m>>2]|0)+(c[s>>2]|0)>>0]<<7);c[o>>2]=S((c[n>>2]&65535)<<16>>16,b[(c[v>>2]|0)+(c[s>>2]<<1)>>1]|0)|0;y=(c[o>>2]|0)-(c[t>>2]>>1)|0;c[u>>2]=(c[u>>2]|0)+(((c[o>>2]|0)-(c[t>>2]>>1)|0)>0?y:0-y|0);c[t>>2]=c[o>>2];c[s>>2]=(c[s>>2]|0)-2}c[(c[p>>2]|0)+(c[q>>2]<<2)>>2]=c[u>>2];c[m>>2]=(c[m>>2]|0)+(c[k>>2]|0);c[v>>2]=(c[v>>2]|0)+(c[k>>2]<<1);c[q>>2]=(c[q>>2]|0)+1}l=w;return}function rg(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;i=p+20|0;n=p+16|0;o=p+12|0;q=p+8|0;m=p+4|0;k=p+24|0;j=p;c[i>>2]=e;c[n>>2]=f;c[o>>2]=g;c[q>>2]=h;c[j>>2]=(c[(c[o>>2]|0)+24>>2]|0)+((S(c[q>>2]|0,b[(c[o>>2]|0)+2>>1]|0)|0)/2|0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(b[(c[o>>2]|0)+2>>1]|0))break;q=c[j>>2]|0;c[j>>2]=q+1;a[k>>0]=a[q>>0]|0;b[(c[i>>2]|0)+(c[m>>2]<<1)>>1]=((d[k>>0]>>1&7)<<16>>16)*9;q=a[(c[(c[o>>2]|0)+20>>2]|0)+((c[m>>2]|0)+(S(d[k>>0]&1,(b[(c[o>>2]|0)+2>>1]|0)-1|0)|0))>>0]|0;a[(c[n>>2]|0)+(c[m>>2]|0)>>0]=q;b[(c[i>>2]|0)+((c[m>>2]|0)+1<<1)>>1]=((d[k>>0]>>5&7)<<16>>16)*9;q=a[(c[(c[o>>2]|0)+20>>2]|0)+((c[m>>2]|0)+(S(d[k>>0]>>4&1,(b[(c[o>>2]|0)+2>>1]|0)-1|0)|0)+1)>>0]|0;a[(c[n>>2]|0)+((c[m>>2]|0)+1)>>0]=q;c[m>>2]=(c[m>>2]|0)+2}l=p;return}function sg(e,f,g,h,i,j,k,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=l;l=l+432|0;X=$+340|0;U=$+336|0;T=$+332|0;M=$+328|0;v=$+324|0;w=$+320|0;p=$+316|0;C=$+366|0;F=$+312|0;_=$+364|0;x=$+308|0;Y=$+304|0;G=$+300|0;W=$+296|0;A=$+292|0;z=$+288|0;y=$+284|0;R=$+280|0;L=$+276|0;u=$+272|0;O=$+268|0;P=$+264|0;H=$+362|0;J=$+360|0;t=$+260|0;Z=$+256|0;E=$+252|0;D=$+248|0;B=$+232|0;V=$+368|0;N=$+344|0;q=$+200|0;s=$+184|0;r=$+168|0;Q=$+160|0;I=$+80|0;K=$;c[X>>2]=e;c[U>>2]=f;c[T>>2]=g;c[M>>2]=h;c[v>>2]=i;c[w>>2]=j;c[p>>2]=k;b[C>>1]=m;c[F>>2]=n;b[_>>1]=o;c[x>>2]=-10;while(1){if((c[x>>2]|0)>9)break;b[H>>1]=c[x>>2]<<10;b[J>>1]=(b[H>>1]|0)+1024;do if((c[x>>2]|0)<=0){if(!(c[x>>2]|0)){b[J>>1]=(b[J>>1]|0)-102;break}f=(c[x>>2]|0)==-1;b[H>>1]=(b[H>>1]|0)+102;if(!f)b[J>>1]=(b[J>>1]|0)+102}else{b[H>>1]=(b[H>>1]|0)-102;b[J>>1]=(b[J>>1]|0)-102}while(0);f=(S(b[H>>1]|0,(c[p>>2]&65535)<<16>>16)|0)>>16;c[I+((c[x>>2]|0)+10<<2)>>2]=f;f=(S(b[J>>1]|0,(c[p>>2]&65535)<<16>>16)|0)>>16;c[K+((c[x>>2]|0)+10<<2)>>2]=f;c[x>>2]=(c[x>>2]|0)+1}c[G>>2]=1;c[q>>2]=0;b[N>>1]=0;c[x>>2]=(b[_>>1]|0)-1;while(1){if((c[x>>2]|0)<0)break;c[Q>>2]=(c[w>>2]|0)+(b[(c[v>>2]|0)+(c[x>>2]<<1)>>1]|0);c[y>>2]=b[(c[U>>2]|0)+(c[x>>2]<<1)>>1];c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[G>>2]|0))break;c[L>>2]=(S(d[(c[M>>2]|0)+(c[x>>2]|0)>>0]|0,b[N+(c[Y>>2]<<1)>>1]|0)|0)>>8;c[R>>2]=(c[y>>2]|0)-(c[L>>2]|0);c[W>>2]=(S(b[C>>1]|0,(c[R>>2]&65535)<<16>>16)|0)>>16;if((c[W>>2]|0)>9)i=9;else i=(c[W>>2]|0)<-10?-10:c[W>>2]|0;c[W>>2]=i;a[V+(c[Y>>2]<<4)+(c[x>>2]|0)>>0]=c[W>>2];b[H>>1]=c[I+((c[W>>2]|0)+10<<2)>>2];b[J>>1]=c[K+((c[W>>2]|0)+10<<2)>>2];b[H>>1]=(b[H>>1]|0)+(c[L>>2]|0);b[J>>1]=(b[J>>1]|0)+(c[L>>2]|0);b[N+(c[Y>>2]<<1)>>1]=b[H>>1]|0;b[N+((c[Y>>2]|0)+(c[G>>2]|0)<<1)>>1]=b[J>>1]|0;i=c[W>>2]|0;do if(((c[W>>2]|0)+1|0)>=4)if((i+1|0)==4){c[O>>2]=d[(c[Q>>2]|0)+((c[W>>2]|0)+4)>>0];c[P>>2]=280;break}else{c[O>>2]=108+(((c[W>>2]&65535)<<16>>16)*43|0);c[P>>2]=(c[O>>2]|0)+43;break}else{if((i|0)>-4){c[O>>2]=d[(c[Q>>2]|0)+((c[W>>2]|0)+4)>>0];c[P>>2]=d[(c[Q>>2]|0)+((c[W>>2]|0)+1+4)>>0];break}if((c[W>>2]|0)==-4){c[O>>2]=280;c[P>>2]=d[(c[Q>>2]|0)+((c[W>>2]|0)+1+4)>>0];break}else{c[O>>2]=108+(S(-43,(c[W>>2]&65535)<<16>>16)|0);c[P>>2]=(c[O>>2]|0)-43;break}}while(0);c[t>>2]=c[q+(c[Y>>2]<<2)>>2];c[u>>2]=(c[y>>2]|0)-(b[H>>1]|0);f=S((c[u>>2]&65535)<<16>>16,(c[u>>2]&65535)<<16>>16)|0;f=(c[t>>2]|0)+(S(f,b[(c[T>>2]|0)+(c[x>>2]<<1)>>1]|0)|0)|0;f=f+(S((c[F>>2]&65535)<<16>>16,(c[O>>2]&65535)<<16>>16)|0)|0;c[q+(c[Y>>2]<<2)>>2]=f;c[u>>2]=(c[y>>2]|0)-(b[J>>1]|0);f=S((c[u>>2]&65535)<<16>>16,(c[u>>2]&65535)<<16>>16)|0;f=(c[t>>2]|0)+(S(f,b[(c[T>>2]|0)+(c[x>>2]<<1)>>1]|0)|0)|0;f=f+(S((c[F>>2]&65535)<<16>>16,(c[P>>2]&65535)<<16>>16)|0)|0;c[q+((c[Y>>2]|0)+(c[G>>2]|0)<<2)>>2]=f;c[Y>>2]=(c[Y>>2]|0)+1}f=(c[G>>2]|0)<=2;c[Y>>2]=0;a:do if(f){while(1){if((c[Y>>2]|0)>=(c[G>>2]|0))break;a[V+((c[Y>>2]|0)+(c[G>>2]|0)<<4)+(c[x>>2]|0)>>0]=(a[V+(c[Y>>2]<<4)+(c[x>>2]|0)>>0]|0)+1;c[Y>>2]=(c[Y>>2]|0)+1}c[G>>2]=c[G>>2]<<1;c[Y>>2]=c[G>>2];while(1){if((c[Y>>2]|0)>=4)break a;a[V+(c[Y>>2]<<4)+(c[x>>2]|0)>>0]=a[V+((c[Y>>2]|0)-(c[G>>2]|0)<<4)+(c[x>>2]|0)>>0]|0;c[Y>>2]=(c[Y>>2]|0)+1}}else{while(1){if((c[Y>>2]|0)>=4)break;i=c[q+(c[Y>>2]<<2)>>2]|0;j=c[Y>>2]|0;if((c[q+(c[Y>>2]<<2)>>2]|0)>(c[q+((c[Y>>2]|0)+4<<2)>>2]|0)){c[r+(j<<2)>>2]=i;c[s+(c[Y>>2]<<2)>>2]=c[q+((c[Y>>2]|0)+4<<2)>>2];c[q+(c[Y>>2]<<2)>>2]=c[s+(c[Y>>2]<<2)>>2];c[q+((c[Y>>2]|0)+4<<2)>>2]=c[r+(c[Y>>2]<<2)>>2];b[H>>1]=b[N+(c[Y>>2]<<1)>>1]|0;b[N+(c[Y>>2]<<1)>>1]=b[N+((c[Y>>2]|0)+4<<1)>>1]|0;b[N+((c[Y>>2]|0)+4<<1)>>1]=b[H>>1]|0;i=(c[Y>>2]|0)+4|0;j=c[Y>>2]|0}else{c[s+(j<<2)>>2]=i;c[r+(c[Y>>2]<<2)>>2]=c[q+((c[Y>>2]|0)+4<<2)>>2];i=c[Y>>2]|0;j=c[Y>>2]|0}c[B+(j<<2)>>2]=i;c[Y>>2]=(c[Y>>2]|0)+1}while(1){c[E>>2]=2147483647;c[D>>2]=0;c[A>>2]=0;c[z>>2]=0;c[Y>>2]=0;while(1){i=c[E>>2]|0;if((c[Y>>2]|0)>=4)break;if((i|0)>(c[r+(c[Y>>2]<<2)>>2]|0)){c[E>>2]=c[r+(c[Y>>2]<<2)>>2];c[A>>2]=c[Y>>2]}if((c[D>>2]|0)<(c[s+(c[Y>>2]<<2)>>2]|0)){c[D>>2]=c[s+(c[Y>>2]<<2)>>2];c[z>>2]=c[Y>>2]}c[Y>>2]=(c[Y>>2]|0)+1}if((i|0)>=(c[D>>2]|0))break;c[B+(c[z>>2]<<2)>>2]=c[B+(c[A>>2]<<2)>>2]^4;c[q+(c[z>>2]<<2)>>2]=c[q+((c[A>>2]|0)+4<<2)>>2];b[N+(c[z>>2]<<1)>>1]=b[N+((c[A>>2]|0)+4<<1)>>1]|0;c[s+(c[z>>2]<<2)>>2]=0;c[r+(c[A>>2]<<2)>>2]=2147483647;i=V+(c[z>>2]<<4)|0;j=V+(c[A>>2]<<4)|0;e=i+16|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(e|0))}c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=4)break a;f=V+(c[Y>>2]<<4)+(c[x>>2]|0)|0;a[f>>0]=(a[f>>0]|0)+(c[B+(c[Y>>2]<<2)>>2]>>2);c[Y>>2]=(c[Y>>2]|0)+1}}while(0);c[x>>2]=(c[x>>2]|0)+-1}c[W>>2]=0;c[Z>>2]=2147483647;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=8)break;if((c[Z>>2]|0)>(c[q+(c[Y>>2]<<2)>>2]|0)){c[Z>>2]=c[q+(c[Y>>2]<<2)>>2];c[W>>2]=c[Y>>2]}c[Y>>2]=(c[Y>>2]|0)+1}c[Y>>2]=0;while(1){i=c[W>>2]|0;if((c[Y>>2]|0)>=(b[_>>1]|0))break;a[(c[X>>2]|0)+(c[Y>>2]|0)>>0]=a[V+((i&3)<<4)+(c[Y>>2]|0)>>0]|0;c[Y>>2]=(c[Y>>2]|0)+1}_=c[X>>2]|0;a[_>>0]=(a[_>>0]|0)+(i>>2);l=$;return c[Z>>2]|0}function tg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+144|0;s=t+24|0;i=t+20|0;q=t+16|0;r=t+12|0;k=t+8|0;j=t+4|0;h=t;m=t+128|0;n=t+96|0;p=t+64|0;o=t+32|0;c[s>>2]=d;c[i>>2]=e;c[q>>2]=f;c[r>>2]=g;d=S(-5,(c[(c[s>>2]|0)+4528>>2]&65535)<<16>>16)|0;c[h>>2]=3146+(d+(((c[(c[s>>2]|0)+4528>>2]&65535)<<16>>16)*59246>>16));if((c[(c[s>>2]|0)+4576>>2]|0)==2)c[h>>2]=(c[h>>2]|0)+(c[h>>2]>>1);jh(p,c[q>>2]|0,c[(c[s>>2]|0)+4636>>2]|0);if((c[(c[s>>2]|0)+4628>>2]|0)==1)e=(a[(c[s>>2]|0)+4732+31>>0]|0)<4;else e=0;c[j>>2]=e&1;a:do if(c[j>>2]|0){lf(n,c[r>>2]|0,c[q>>2]|0,a[(c[s>>2]|0)+4732+31>>0]|0,c[(c[s>>2]|0)+4636>>2]|0);jh(o,n,c[(c[s>>2]|0)+4636>>2]|0);b[m>>1]=(S(a[(c[s>>2]|0)+4732+31>>0]<<16>>16,a[(c[s>>2]|0)+4732+31>>0]<<16>>16)|0)<<11;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[s>>2]|0)+4636>>2]|0))break a;d=(b[p+(c[k>>2]<<1)>>1]>>1)+((S(b[o+(c[k>>2]<<1)>>1]|0,b[m>>1]|0)|0)>>16)&65535;b[p+(c[k>>2]<<1)>>1]=d;c[k>>2]=(c[k>>2]|0)+1}}while(0);ng((c[s>>2]|0)+4732+8|0,c[q>>2]|0,c[(c[s>>2]|0)+4688>>2]|0,p,c[h>>2]|0,c[(c[s>>2]|0)+4656>>2]|0,a[(c[s>>2]|0)+4732+29>>0]|0)|0;eh((c[i>>2]|0)+32|0,c[q>>2]|0,c[(c[s>>2]|0)+4636>>2]|0,c[(c[s>>2]|0)+5088>>2]|0);if(c[j>>2]|0){lf(n,c[r>>2]|0,c[q>>2]|0,a[(c[s>>2]|0)+4732+31>>0]|0,c[(c[s>>2]|0)+4636>>2]|0);eh(c[i>>2]|0,n,c[(c[s>>2]|0)+4636>>2]|0,c[(c[s>>2]|0)+5088>>2]|0);l=t;return}else{uk(c[i>>2]|0,(c[i>>2]|0)+32|0,c[(c[s>>2]|0)+4636>>2]<<1|0)|0;l=t;return}}function ug(d,e,f,g,h,i,j,k,m,n,o){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0;W=l;l=l+144|0;Q=W+128|0;q=W+124|0;V=W+120|0;y=W+116|0;z=W+112|0;A=W+108|0;E=W+104|0;v=W+100|0;D=W+96|0;I=W+92|0;J=W+88|0;L=W+84|0;u=W+80|0;w=W+76|0;F=W+72|0;G=W+68|0;R=W+64|0;p=W+60|0;C=W+56|0;O=W+48|0;M=W+44|0;N=W+40|0;s=W+36|0;r=W+32|0;x=W+28|0;t=W+24|0;B=W+20|0;U=W+16|0;T=W+12|0;H=W+8|0;K=W+4|0;P=W;c[Q>>2]=d;c[q>>2]=e;c[V>>2]=f;c[y>>2]=g;c[z>>2]=h;c[A>>2]=i;c[E>>2]=j;c[v>>2]=k;c[D>>2]=m;c[I>>2]=n;c[J>>2]=o;c[K>>2]=(c[q>>2]|0)+-4;f=(c[J>>2]|0)+2|0;c[P>>2]=la()|0;i=l;l=l+((1*(f<<1)|0)+15&-16)|0;c[L>>2]=0;while(1){if((c[L>>2]|0)>=((c[J>>2]|0)+2|0))break;c[R>>2]=(b[(c[q>>2]|0)+((c[L>>2]|0)-2<<1)>>1]|0)+(b[(c[V>>2]|0)+((c[L>>2]|0)-2<<1)>>1]|0);c[p>>2]=(b[(c[q>>2]|0)+((c[L>>2]|0)-2<<1)>>1]|0)-(b[(c[V>>2]|0)+((c[L>>2]|0)-2<<1)>>1]|0);b[(c[K>>2]|0)+(c[L>>2]<<1)>>1]=(c[R>>2]>>1)+(c[R>>2]&1);if(((c[p>>2]>>1)+(c[p>>2]&1)|0)<=32767)if(((c[p>>2]>>1)+(c[p>>2]&1)|0)<-32768)o=-32768;else o=(c[p>>2]>>1)+(c[p>>2]&1)|0;else o=32767;b[i+(c[L>>2]<<1)>>1]=o;c[L>>2]=(c[L>>2]|0)+1}o=c[K>>2]|0;n=(c[Q>>2]|0)+4|0;b[o>>1]=b[n>>1]|0;b[o+2>>1]=b[n+2>>1]|0;o=(c[Q>>2]|0)+8|0;b[i>>1]=b[o>>1]|0;b[i+2>>1]=b[o+2>>1]|0;o=(c[Q>>2]|0)+4|0;n=(c[K>>2]|0)+(c[J>>2]<<1)|0;b[o>>1]=b[n>>1]|0;b[o+2>>1]=b[n+2>>1]|0;o=(c[Q>>2]|0)+8|0;n=i+(c[J>>2]<<1)|0;b[o>>1]=b[n>>1]|0;b[o+2>>1]=b[n+2>>1]|0;o=l;l=l+((1*(c[J>>2]<<1)|0)+15&-16)|0;n=l;l=l+((1*(c[J>>2]<<1)|0)+15&-16)|0;c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[J>>2]|0))break;c[R>>2]=((b[(c[K>>2]|0)+(c[L>>2]<<1)>>1]|0)+(b[(c[K>>2]|0)+((c[L>>2]|0)+2<<1)>>1]|0)+(b[(c[K>>2]|0)+((c[L>>2]|0)+1<<1)>>1]<<1)>>1)+1>>1;b[o+(c[L>>2]<<1)>>1]=c[R>>2];b[n+(c[L>>2]<<1)>>1]=(b[(c[K>>2]|0)+((c[L>>2]|0)+1<<1)>>1]|0)-(c[R>>2]|0);c[L>>2]=(c[L>>2]|0)+1}g=l;l=l+((1*(c[J>>2]<<1)|0)+15&-16)|0;h=l;l=l+((1*(c[J>>2]<<1)|0)+15&-16)|0;c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[J>>2]|0))break;c[R>>2]=((b[i+(c[L>>2]<<1)>>1]|0)+(b[i+((c[L>>2]|0)+2<<1)>>1]|0)+(b[i+((c[L>>2]|0)+1<<1)>>1]<<1)>>1)+1>>1;b[g+(c[L>>2]<<1)>>1]=c[R>>2];b[h+(c[L>>2]<<1)>>1]=(b[i+((c[L>>2]|0)+1<<1)>>1]|0)-(c[R>>2]|0);c[L>>2]=(c[L>>2]|0)+1}c[u>>2]=(c[J>>2]|0)==((c[I>>2]|0)*10|0)&1;c[C>>2]=c[u>>2]|0?328:655;q=(S((c[v>>2]&65535)<<16>>16,(c[v>>2]&65535)<<16>>16)|0)>>16;q=S(q,(c[C>>2]&65535)<<16>>16)|0;v=(S((c[v>>2]&65535)<<16>>16,(c[v>>2]&65535)<<16>>16)|0)&65535;c[C>>2]=q+((S(v,(c[C>>2]&65535)<<16>>16)|0)>>16);c[O>>2]=Hh(s,o,g,(c[Q>>2]|0)+12|0,c[J>>2]|0,c[C>>2]|0)|0;c[O+4>>2]=Hh(r,n,h,(c[Q>>2]|0)+12+8|0,c[J>>2]|0,c[C>>2]|0)|0;c[x>>2]=(c[r>>2]|0)+(((c[s>>2]&65535)<<16>>16)*3|0);c[x>>2]=(c[x>>2]|0)<65536?c[x>>2]|0:65536;v=(c[E>>2]|0)-(c[u>>2]|0?1200:600)|0;c[E>>2]=v;c[E>>2]=(c[E>>2]|0)<1?1:v;c[B>>2]=2e3+(((c[I>>2]&65535)<<16>>16)*600|0);c[t>>2]=(c[x>>2]|0)*3;v=vg(c[E>>2]|0,851968+(c[t>>2]|0)|0,19)|0;c[c[A>>2]>>2]=v;if((c[c[A>>2]>>2]|0)<(c[B>>2]|0)){c[c[A>>2]>>2]=c[B>>2];c[(c[A>>2]|0)+4>>2]=(c[E>>2]|0)-(c[c[A>>2]>>2]|0);v=S(65536+(c[t>>2]|0)>>16,(c[B>>2]&65535)<<16>>16)|0;c[U>>2]=vg((c[(c[A>>2]|0)+4>>2]<<1)-(c[B>>2]|0)|0,v+((S(65536+(c[t>>2]|0)&65535,(c[B>>2]&65535)<<16>>16)|0)>>16)|0,16)|0;if((c[U>>2]|0)>16384)o=16384;else o=(c[U>>2]|0)<0?0:c[U>>2]|0;c[U>>2]=o}else{c[(c[A>>2]|0)+4>>2]=(c[E>>2]|0)-(c[c[A>>2]>>2]|0);c[U>>2]=16384}v=S((c[U>>2]|0)-(b[(c[Q>>2]|0)+28>>1]|0)>>16,(c[C>>2]&65535)<<16>>16)|0;C=(b[(c[Q>>2]|0)+28>>1]|0)+(v+((S((c[U>>2]|0)-(b[(c[Q>>2]|0)+28>>1]|0)&65535,(c[C>>2]&65535)<<16>>16)|0)>>16))&65535;b[(c[Q>>2]|0)+28>>1]=C;a[c[z>>2]>>0]=0;a:do if(!(c[D>>2]|0)){do if(!(b[(c[Q>>2]|0)+30>>1]|0)){if((c[E>>2]<<3|0)>=((c[B>>2]|0)*13|0)?(D=S(c[x>>2]>>16,b[(c[Q>>2]|0)+28>>1]|0)|0,(D+((S(c[x>>2]&65535,b[(c[Q>>2]|0)+28>>1]|0)|0)>>16)|0)>=819):0)break;c[O>>2]=(S(b[(c[Q>>2]|0)+28>>1]|0,(c[O>>2]&65535)<<16>>16)|0)>>14;c[O+4>>2]=(S(b[(c[Q>>2]|0)+28>>1]|0,(c[O+4>>2]&65535)<<16>>16)|0)>>14;Oh(O,c[y>>2]|0);c[U>>2]=0;c[O>>2]=0;c[O+4>>2]=0;c[c[A>>2]>>2]=c[E>>2];c[(c[A>>2]|0)+4>>2]=0;a[c[z>>2]>>0]=1;break a}while(0);do if(b[(c[Q>>2]|0)+30>>1]|0){if((c[E>>2]<<3|0)>=((c[B>>2]|0)*11|0)?(D=S(c[x>>2]>>16,b[(c[Q>>2]|0)+28>>1]|0)|0,(D+((S(c[x>>2]&65535,b[(c[Q>>2]|0)+28>>1]|0)|0)>>16)|0)>=328):0)break;c[O>>2]=(S(b[(c[Q>>2]|0)+28>>1]|0,(c[O>>2]&65535)<<16>>16)|0)>>14;c[O+4>>2]=(S(b[(c[Q>>2]|0)+28>>1]|0,(c[O+4>>2]&65535)<<16>>16)|0)>>14;Oh(O,c[y>>2]|0);c[U>>2]=0;c[O>>2]=0;c[O+4>>2]=0;break a}while(0);if((b[(c[Q>>2]|0)+28>>1]|0)>15565){Oh(O,c[y>>2]|0);c[U>>2]=16384;break}else{c[O>>2]=(S(b[(c[Q>>2]|0)+28>>1]|0,(c[O>>2]&65535)<<16>>16)|0)>>14;c[O+4>>2]=(S(b[(c[Q>>2]|0)+28>>1]|0,(c[O+4>>2]&65535)<<16>>16)|0)>>14;Oh(O,c[y>>2]|0);c[U>>2]=b[(c[Q>>2]|0)+28>>1];break}}else{c[U>>2]=0;c[O>>2]=0;c[O+4>>2]=0;Oh(O,c[y>>2]|0)}while(0);do if((a[c[z>>2]>>0]|0)==1){D=(c[Q>>2]|0)+32|0;b[D>>1]=(b[D>>1]|0)+((c[J>>2]|0)-(c[I>>2]<<3));if((b[(c[Q>>2]|0)+32>>1]|0)<((c[I>>2]|0)*5|0)){a[c[z>>2]>>0]=0;break}else{b[(c[Q>>2]|0)+32>>1]=1e4;break}}else b[(c[Q>>2]|0)+32>>1]=0;while(0);if((a[c[z>>2]>>0]|0)==0?(c[(c[A>>2]|0)+4>>2]|0)<1:0){c[(c[A>>2]|0)+4>>2]=1;E=wg(1,(c[E>>2]|0)-(c[(c[A>>2]|0)+4>>2]|0)|0)|0;c[c[A>>2]>>2]=E}c[M>>2]=0-(b[c[Q>>2]>>1]|0);c[N>>2]=0-(b[(c[Q>>2]|0)+2>>1]|0);c[T>>2]=b[(c[Q>>2]|0)+30>>1]<<10;c[w>>2]=65536/(c[I>>2]<<3|0)|0;c[F>>2]=0-(((S(((c[O>>2]|0)-(b[c[Q>>2]>>1]|0)&65535)<<16>>16,(c[w>>2]&65535)<<16>>16)|0)>>15)+1>>1);c[G>>2]=0-(((S(((c[O+4>>2]|0)-(b[(c[Q>>2]|0)+2>>1]|0)&65535)<<16>>16,(c[w>>2]&65535)<<16>>16)|0)>>15)+1>>1);E=S((c[U>>2]|0)-(b[(c[Q>>2]|0)+30>>1]|0)>>16,(c[w>>2]&65535)<<16>>16)|0;c[H>>2]=E+((S((c[U>>2]|0)-(b[(c[Q>>2]|0)+30>>1]|0)&65535,(c[w>>2]&65535)<<16>>16)|0)>>16)<<10;c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[I>>2]<<3|0))break;c[M>>2]=(c[M>>2]|0)+(c[F>>2]|0);c[N>>2]=(c[N>>2]|0)+(c[G>>2]|0);c[T>>2]=(c[T>>2]|0)+(c[H>>2]|0);c[R>>2]=(b[(c[K>>2]|0)+(c[L>>2]<<1)>>1]|0)+(b[(c[K>>2]|0)+((c[L>>2]|0)+2<<1)>>1]|0)+(b[(c[K>>2]|0)+((c[L>>2]|0)+1<<1)>>1]<<1)<<9;D=S(c[T>>2]>>16,b[i+((c[L>>2]|0)+1<<1)>>1]|0)|0;D=D+((S(c[T>>2]&65535,b[i+((c[L>>2]|0)+1<<1)>>1]|0)|0)>>16)|0;E=S(c[R>>2]>>16,(c[M>>2]&65535)<<16>>16)|0;c[R>>2]=D+(E+((S(c[R>>2]&65535,(c[M>>2]&65535)<<16>>16)|0)>>16));E=S(b[(c[K>>2]|0)+((c[L>>2]|0)+1<<1)>>1]<<11>>16,(c[N>>2]&65535)<<16>>16)|0;c[R>>2]=(c[R>>2]|0)+(E+((S(b[(c[K>>2]|0)+((c[L>>2]|0)+1<<1)>>1]<<11&65535,(c[N>>2]&65535)<<16>>16)|0)>>16));if(((c[R>>2]>>7)+1>>1|0)<=32767)if(((c[R>>2]>>7)+1>>1|0)<-32768)o=-32768;else o=(c[R>>2]>>7)+1>>1;else o=32767;b[(c[V>>2]|0)+((c[L>>2]|0)-1<<1)>>1]=o;c[L>>2]=(c[L>>2]|0)+1}c[M>>2]=0-(c[O>>2]|0);c[N>>2]=0-(c[O+4>>2]|0);c[T>>2]=c[U>>2]<<10;c[L>>2]=c[I>>2]<<3;while(1){if((c[L>>2]|0)>=(c[J>>2]|0))break;c[R>>2]=(b[(c[K>>2]|0)+(c[L>>2]<<1)>>1]|0)+(b[(c[K>>2]|0)+((c[L>>2]|0)+2<<1)>>1]|0)+(b[(c[K>>2]|0)+((c[L>>2]|0)+1<<1)>>1]<<1)<<9;H=S(c[T>>2]>>16,b[i+((c[L>>2]|0)+1<<1)>>1]|0)|0;H=H+((S(c[T>>2]&65535,b[i+((c[L>>2]|0)+1<<1)>>1]|0)|0)>>16)|0;I=S(c[R>>2]>>16,(c[M>>2]&65535)<<16>>16)|0;c[R>>2]=H+(I+((S(c[R>>2]&65535,(c[M>>2]&65535)<<16>>16)|0)>>16));I=S(b[(c[K>>2]|0)+((c[L>>2]|0)+1<<1)>>1]<<11>>16,(c[N>>2]&65535)<<16>>16)|0;c[R>>2]=(c[R>>2]|0)+(I+((S(b[(c[K>>2]|0)+((c[L>>2]|0)+1<<1)>>1]<<11&65535,(c[N>>2]&65535)<<16>>16)|0)>>16));if(((c[R>>2]>>7)+1>>1|0)<=32767)if(((c[R>>2]>>7)+1>>1|0)<-32768)o=-32768;else o=(c[R>>2]>>7)+1>>1;else o=32767;b[(c[V>>2]|0)+((c[L>>2]|0)-1<<1)>>1]=o;c[L>>2]=(c[L>>2]|0)+1}b[c[Q>>2]>>1]=c[O>>2];b[(c[Q>>2]|0)+2>>1]=c[O+4>>2];b[(c[Q>>2]|0)+30>>1]=c[U>>2];ka(c[P>>2]|0);l=W;return}function vg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;h=l;l=l+48|0;g=h+40|0;q=h+36|0;p=h+32|0;i=h+28|0;k=h+24|0;j=h+20|0;f=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;e=h;c[q>>2]=a;c[p>>2]=b;c[i>>2]=d;b=c[q>>2]|0;c[k>>2]=(xg((c[q>>2]|0)>0?b:0-b|0)|0)-1;c[n>>2]=c[q>>2]<<c[k>>2];b=c[p>>2]|0;c[j>>2]=(xg((c[p>>2]|0)>0?b:0-b|0)|0)-1;c[o>>2]=c[p>>2]<<c[j>>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;b=S(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=b+((S(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);b=c[n>>2]|0;a=c[o>>2]|0;d=c[e>>2]|0;d=rk(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=sk(d|0,D|0,32)|0;c[n>>2]=b-(d<<3);d=S(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(d+((S(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[f>>2]=29+(c[k>>2]|0)-(c[j>>2]|0)-(c[i>>2]|0);d=c[f>>2]|0;if((c[f>>2]|0)>=0)if((d|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];q=c[g>>2]|0;l=h;return q|0}else{c[g>>2]=0;q=c[g>>2]|0;l=h;return q|0}a=c[e>>2]|0;b=0-(c[f>>2]|0)|0;do if((-2147483648>>0-d|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>b|0)){d=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){d=2147483647>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>b|0)){d=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){d=-2147483648>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}while(0);c[g>>2]=d<<0-(c[f>>2]|0);q=c[g>>2]|0;l=h;return q|0}function wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function xg(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(V(c[b>>2]|0)|0))|0;l=d;return b|0}function yg(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=l;l=l+64|0;p=w+52|0;u=w+48|0;v=w+44|0;o=w+40|0;k=w+36|0;r=w+32|0;s=w+28|0;x=w+24|0;i=w+20|0;j=w+16|0;t=w+12|0;q=w+8|0;m=w+4|0;n=w;c[p>>2]=a;c[u>>2]=d;c[v>>2]=e;c[o>>2]=f;c[k>>2]=g;c[r>>2]=h;e=c[u>>2]|0;d=(c[p>>2]|0)+4|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;e=c[v>>2]|0;d=(c[p>>2]|0)+8|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;e=(c[p>>2]|0)+4|0;d=(c[u>>2]|0)+(c[r>>2]<<1)|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;e=(c[p>>2]|0)+8|0;d=(c[v>>2]|0)+(c[r>>2]<<1)|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;c[m>>2]=b[c[p>>2]>>1];c[n>>2]=b[(c[p>>2]|0)+2>>1];c[x>>2]=65536/(c[k>>2]<<3|0)|0;c[i>>2]=((S(((c[c[o>>2]>>2]|0)-(b[c[p>>2]>>1]|0)&65535)<<16>>16,(c[x>>2]&65535)<<16>>16)|0)>>15)+1>>1;c[j>>2]=((S(((c[(c[o>>2]|0)+4>>2]|0)-(b[(c[p>>2]|0)+2>>1]|0)&65535)<<16>>16,(c[x>>2]&65535)<<16>>16)|0)>>15)+1>>1;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[k>>2]<<3|0))break;c[m>>2]=(c[m>>2]|0)+(c[i>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[j>>2]|0);c[t>>2]=(b[(c[u>>2]|0)+(c[s>>2]<<1)>>1]|0)+(b[(c[u>>2]|0)+((c[s>>2]|0)+2<<1)>>1]|0)+(b[(c[u>>2]|0)+((c[s>>2]|0)+1<<1)>>1]<<1)<<9;x=S(c[t>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[t>>2]=(b[(c[v>>2]|0)+((c[s>>2]|0)+1<<1)>>1]<<8)+(x+((S(c[t>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));x=S(b[(c[u>>2]|0)+((c[s>>2]|0)+1<<1)>>1]<<11>>16,(c[n>>2]&65535)<<16>>16)|0;c[t>>2]=(c[t>>2]|0)+(x+((S(b[(c[u>>2]|0)+((c[s>>2]|0)+1<<1)>>1]<<11&65535,(c[n>>2]&65535)<<16>>16)|0)>>16));if(((c[t>>2]>>7)+1>>1|0)<=32767)if(((c[t>>2]>>7)+1>>1|0)<-32768)h=-32768;else h=(c[t>>2]>>7)+1>>1;else h=32767;b[(c[v>>2]|0)+((c[s>>2]|0)+1<<1)>>1]=h;c[s>>2]=(c[s>>2]|0)+1}c[m>>2]=c[c[o>>2]>>2];c[n>>2]=c[(c[o>>2]|0)+4>>2];c[s>>2]=c[k>>2]<<3;while(1){if((c[s>>2]|0)>=(c[r>>2]|0))break;c[t>>2]=(b[(c[u>>2]|0)+(c[s>>2]<<1)>>1]|0)+(b[(c[u>>2]|0)+((c[s>>2]|0)+2<<1)>>1]|0)+(b[(c[u>>2]|0)+((c[s>>2]|0)+1<<1)>>1]<<1)<<9;x=S(c[t>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[t>>2]=(b[(c[v>>2]|0)+((c[s>>2]|0)+1<<1)>>1]<<8)+(x+((S(c[t>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));x=S(b[(c[u>>2]|0)+((c[s>>2]|0)+1<<1)>>1]<<11>>16,(c[n>>2]&65535)<<16>>16)|0;c[t>>2]=(c[t>>2]|0)+(x+((S(b[(c[u>>2]|0)+((c[s>>2]|0)+1<<1)>>1]<<11&65535,(c[n>>2]&65535)<<16>>16)|0)>>16));if(((c[t>>2]>>7)+1>>1|0)<=32767)if(((c[t>>2]>>7)+1>>1|0)<-32768)h=-32768;else h=(c[t>>2]>>7)+1>>1;else h=32767;b[(c[v>>2]|0)+((c[s>>2]|0)+1<<1)>>1]=h;c[s>>2]=(c[s>>2]|0)+1}b[c[p>>2]>>1]=c[c[o>>2]>>2];b[(c[p>>2]|0)+2>>1]=c[(c[o>>2]|0)+4>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[r>>2]|0))break;c[t>>2]=(b[(c[u>>2]|0)+((c[s>>2]|0)+1<<1)>>1]|0)+(b[(c[v>>2]|0)+((c[s>>2]|0)+1<<1)>>1]|0);c[q>>2]=(b[(c[u>>2]|0)+((c[s>>2]|0)+1<<1)>>1]|0)-(b[(c[v>>2]|0)+((c[s>>2]|0)+1<<1)>>1]|0);if((c[t>>2]|0)>32767)h=32767;else h=(c[t>>2]|0)<-32768?-32768:c[t>>2]|0;b[(c[u>>2]|0)+((c[s>>2]|0)+1<<1)>>1]=h;if((c[q>>2]|0)>32767)h=32767;else h=(c[q>>2]|0)<-32768?-32768:c[q>>2]|0;b[(c[v>>2]|0)+((c[s>>2]|0)+1<<1)>>1]=h;c[s>>2]=(c[s>>2]|0)+1}l=w;return}function zg(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;b=f;c[b>>2]=a;if(!(((((((c[(c[b>>2]|0)+8>>2]|0)!=8e3?(c[(c[b>>2]|0)+8>>2]|0)!=12e3:0)?(c[(c[b>>2]|0)+8>>2]|0)!=16e3:0)?(c[(c[b>>2]|0)+8>>2]|0)!=24e3:0)?(c[(c[b>>2]|0)+8>>2]|0)!=32e3:0)?(c[(c[b>>2]|0)+8>>2]|0)!=44100:0)?(c[(c[b>>2]|0)+8>>2]|0)!=48e3:0))e=8;do if((e|0)==8){if(((c[(c[b>>2]|0)+20>>2]|0)!=8e3?(c[(c[b>>2]|0)+20>>2]|0)!=12e3:0)?(c[(c[b>>2]|0)+20>>2]|0)!=16e3:0)break;if(((c[(c[b>>2]|0)+12>>2]|0)!=8e3?(c[(c[b>>2]|0)+12>>2]|0)!=12e3:0)?(c[(c[b>>2]|0)+12>>2]|0)!=16e3:0)break;if(((c[(c[b>>2]|0)+16>>2]|0)!=8e3?(c[(c[b>>2]|0)+16>>2]|0)!=12e3:0)?(c[(c[b>>2]|0)+16>>2]|0)!=16e3:0)break;if(((c[(c[b>>2]|0)+16>>2]|0)<=(c[(c[b>>2]|0)+20>>2]|0)?(c[(c[b>>2]|0)+12>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0):0)?(c[(c[b>>2]|0)+16>>2]|0)<=(c[(c[b>>2]|0)+12>>2]|0):0){if((((c[(c[b>>2]|0)+24>>2]|0)!=10?(c[(c[b>>2]|0)+24>>2]|0)!=20:0)?(c[(c[b>>2]|0)+24>>2]|0)!=40:0)?(c[(c[b>>2]|0)+24>>2]|0)!=60:0){c[d>>2]=-103;e=c[d>>2]|0;l=f;return e|0}if((c[(c[b>>2]|0)+32>>2]|0)>=0?(c[(c[b>>2]|0)+32>>2]|0)<=100:0){if((c[(c[b>>2]|0)+48>>2]|0)>=0?(c[(c[b>>2]|0)+48>>2]|0)<=1:0){if((c[(c[b>>2]|0)+52>>2]|0)>=0?(c[(c[b>>2]|0)+52>>2]|0)<=1:0){do if((c[(c[b>>2]|0)+40>>2]|0)>=0){if((c[(c[b>>2]|0)+40>>2]|0)>1)break;do if((c[c[b>>2]>>2]|0)>=1){if((c[c[b>>2]>>2]|0)>2)break;do if((c[(c[b>>2]|0)+4>>2]|0)>=1){if((c[(c[b>>2]|0)+4>>2]|0)>2)break;if((c[(c[b>>2]|0)+4>>2]|0)>(c[c[b>>2]>>2]|0)){c[d>>2]=-111;e=c[d>>2]|0;l=f;return e|0}do if((c[(c[b>>2]|0)+36>>2]|0)>=0){if((c[(c[b>>2]|0)+36>>2]|0)>10)break;c[d>>2]=0;e=c[d>>2]|0;l=f;return e|0}while(0);c[d>>2]=-106;e=c[d>>2]|0;l=f;return e|0}while(0);c[d>>2]=-111;e=c[d>>2]|0;l=f;return e|0}while(0);c[d>>2]=-111;e=c[d>>2]|0;l=f;return e|0}while(0);c[d>>2]=-107;e=c[d>>2]|0;l=f;return e|0}c[d>>2]=-109;e=c[d>>2]|0;l=f;return e|0}c[d>>2]=-108;e=c[d>>2]|0;l=f;return e|0}c[d>>2]=-105;e=c[d>>2]|0;l=f;return e|0}}while(0);c[d>>2]=-102;e=c[d>>2]|0;l=f;return e|0}function Ag(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+20|0;e=m+16|0;g=m+12|0;j=m+8|0;f=m+4|0;i=m;c[h>>2]=a;c[e>>2]=d;c[j>>2]=0;if((c[e>>2]|0)>8e4)d=8e4;else d=(c[e>>2]|0)<5e3?5e3:c[e>>2]|0;c[e>>2]=d;if((c[e>>2]|0)==(c[(c[h>>2]|0)+4604>>2]|0)){k=c[j>>2]|0;l=m;return k|0}c[(c[h>>2]|0)+4604>>2]=c[e>>2];do if((c[(c[h>>2]|0)+4572>>2]|0)!=8)if((c[(c[h>>2]|0)+4572>>2]|0)==12){c[i>>2]=17780;break}else{c[i>>2]=17812;break}else c[i>>2]=17748;while(0);if((c[(c[h>>2]|0)+4576>>2]|0)==2)c[e>>2]=(c[e>>2]|0)-2200;c[g>>2]=1;while(1){if((c[g>>2]|0)>=8){k=16;break}if((c[e>>2]|0)<=(c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0))break;c[g>>2]=(c[g>>2]|0)+1}if((k|0)==16){k=c[j>>2]|0;l=m;return k|0}c[f>>2]=((c[e>>2]|0)-(c[(c[i>>2]|0)+((c[g>>2]|0)-1<<2)>>2]|0)<<6|0)/((c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0)-(c[(c[i>>2]|0)+((c[g>>2]|0)-1<<2)>>2]|0)|0)|0;k=(b[24688+((c[g>>2]|0)-1<<1)>>1]<<6)+(S(c[f>>2]|0,(b[24688+(c[g>>2]<<1)>>1]|0)-(b[24688+((c[g>>2]|0)-1<<1)>>1]|0)|0)|0)|0;c[(c[h>>2]|0)+4712>>2]=k;k=c[j>>2]|0;l=m;return k|0}function Bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=0;wk(c[f>>2]|0,0,10060)|0;c[(c[f>>2]|0)+5088>>2]=c[g>>2];a=(Wg(3932160)|0)-2048<<8;c[(c[f>>2]|0)+8>>2]=a;c[(c[f>>2]|0)+12>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+4660>>2]=1;a=$f((c[f>>2]|0)+32|0)|0;c[d>>2]=(c[d>>2]|0)+a;l=e;return c[d>>2]|0}function Cg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+32|0;m=n+28|0;j=n+24|0;g=n+20|0;p=n+16|0;o=n+12|0;h=n+8|0;i=n+4|0;k=n;c[j>>2]=a;c[g>>2]=b;c[p>>2]=d;c[o>>2]=e;c[h>>2]=f;c[k>>2]=0;c[(c[j>>2]|0)+6072>>2]=c[(c[g>>2]|0)+48>>2];c[(c[j>>2]|0)+4672>>2]=c[(c[g>>2]|0)+52>>2];c[(c[j>>2]|0)+4552>>2]=c[(c[g>>2]|0)+8>>2];c[(c[j>>2]|0)+4560>>2]=c[(c[g>>2]|0)+12>>2];c[(c[j>>2]|0)+4564>>2]=c[(c[g>>2]|0)+16>>2];c[(c[j>>2]|0)+4568>>2]=c[(c[g>>2]|0)+20>>2];c[(c[j>>2]|0)+6084>>2]=c[(c[g>>2]|0)+40>>2];c[(c[j>>2]|0)+5748>>2]=c[c[g>>2]>>2];c[(c[j>>2]|0)+5752>>2]=c[(c[g>>2]|0)+4>>2];c[(c[j>>2]|0)+4532>>2]=c[p>>2];c[(c[j>>2]|0)+5756>>2]=c[o>>2];if(c[(c[j>>2]|0)+4664>>2]|0?(c[(c[j>>2]|0)+4676>>2]|0)==0:0){if((c[(c[j>>2]|0)+4552>>2]|0)!=(c[(c[j>>2]|0)+4556>>2]|0)?(c[(c[j>>2]|0)+4572>>2]|0)>0:0){p=Dg(c[j>>2]|0,c[(c[j>>2]|0)+4572>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+p}c[m>>2]=c[k>>2];p=c[m>>2]|0;l=n;return p|0}c[i>>2]=jg(c[j>>2]|0,c[g>>2]|0)|0;if(c[h>>2]|0)c[i>>2]=c[h>>2];p=Dg(c[j>>2]|0,c[i>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+p;p=Eg(c[j>>2]|0,c[i>>2]|0,c[(c[g>>2]|0)+24>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+p;p=Fg(c[j>>2]|0,c[(c[g>>2]|0)+36>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+p;c[(c[j>>2]|0)+4612>>2]=c[(c[g>>2]|0)+32>>2];p=Gg(c[j>>2]|0,c[g>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+p;c[(c[j>>2]|0)+4664>>2]=1;c[m>>2]=c[k>>2];p=c[m>>2]|0;l=n;return p|0}function Dg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+336|0;i=n+328|0;f=n+324|0;j=n+320|0;g=n+316|0;d=n+312|0;h=n+308|0;e=n+304|0;k=n+300|0;m=n;c[i>>2]=a;c[f>>2]=b;c[j>>2]=0;if((c[(c[i>>2]|0)+4572>>2]|0)==(c[f>>2]|0)?(c[(c[i>>2]|0)+4556>>2]|0)==(c[(c[i>>2]|0)+4552>>2]|0):0){k=c[i>>2]|0;k=k+4552|0;k=c[k>>2]|0;m=c[i>>2]|0;m=m+4556|0;c[m>>2]=k;m=c[j>>2]|0;l=n;return m|0}b=c[i>>2]|0;if(!(c[(c[i>>2]|0)+4572>>2]|0)){k=mh(b+5772|0,c[(c[i>>2]|0)+4552>>2]|0,(c[f>>2]|0)*1e3|0,1)|0;c[j>>2]=(c[j>>2]|0)+k;k=c[i>>2]|0;k=k+4552|0;k=c[k>>2]|0;m=c[i>>2]|0;m=m+4556|0;c[m>>2]=k;m=c[j>>2]|0;l=n;return m|0}else{c[e>>2]=((c[b+4576>>2]|0)*5<<1)+5;c[h>>2]=S(c[e>>2]|0,c[(c[i>>2]|0)+4572>>2]|0)|0;c[g>>2]=S(c[e>>2]|0,c[f>>2]|0)|0;b=(c[h>>2]|0)>(c[g>>2]|0)?c[h>>2]|0:c[g>>2]|0;c[k>>2]=la()|0;a=l;l=l+((1*(b<<1)|0)+15&-16)|0;Jg(a,(c[i>>2]|0)+7176|0,c[h>>2]|0);b=mh(m,((c[(c[i>>2]|0)+4572>>2]&65535)<<16>>16)*1e3|0,c[(c[i>>2]|0)+4552>>2]|0,0)|0;c[j>>2]=(c[j>>2]|0)+b;c[d>>2]=S(c[e>>2]|0,(c[(c[i>>2]|0)+4552>>2]|0)/1e3|0)|0;e=l;l=l+((1*(c[d>>2]<<1)|0)+15&-16)|0;m=nh(m,e,a,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+m;m=mh((c[i>>2]|0)+5772|0,c[(c[i>>2]|0)+4552>>2]|0,((c[f>>2]&65535)<<16>>16)*1e3|0,1)|0;c[j>>2]=(c[j>>2]|0)+m;m=nh((c[i>>2]|0)+5772|0,a,e,c[d>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+m;Kg((c[i>>2]|0)+7176|0,a,c[g>>2]|0);ka(c[k>>2]|0);k=c[i>>2]|0;k=k+4552|0;k=c[k>>2]|0;m=c[i>>2]|0;m=m+4556|0;c[m>>2]=k;m=c[j>>2]|0;l=n;return m|0}return 0}function Eg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j+12|0;g=j+8|0;f=j+4|0;i=j;c[h>>2]=b;c[g>>2]=d;c[f>>2]=e;c[i>>2]=0;if((c[f>>2]|0)!=(c[(c[h>>2]|0)+4608>>2]|0)){if((c[f>>2]|0)!=10&(c[f>>2]|0)!=20&(c[f>>2]|0)!=40&(c[f>>2]|0)!=60)c[i>>2]=-103;if((c[f>>2]|0)<=10){c[(c[h>>2]|0)+5740>>2]=1;c[(c[h>>2]|0)+4576>>2]=(c[f>>2]|0)==10?2:1;e=S((c[f>>2]&65535)<<16>>16,(c[g>>2]&65535)<<16>>16)|0;c[(c[h>>2]|0)+4580>>2]=e;c[(c[h>>2]|0)+4544>>2]=((c[g>>2]&65535)<<16>>16)*14;e=(c[(c[h>>2]|0)+4572>>2]|0)==8?29363:29351;d=(c[h>>2]|0)+4684|0}else{c[(c[h>>2]|0)+5740>>2]=(c[f>>2]|0)/20|0;c[(c[h>>2]|0)+4576>>2]=4;c[(c[h>>2]|0)+4580>>2]=((c[g>>2]&65535)<<16>>16)*20;c[(c[h>>2]|0)+4544>>2]=((c[g>>2]&65535)<<16>>16)*24;e=(c[(c[h>>2]|0)+4572>>2]|0)==8?29340:29306;d=(c[h>>2]|0)+4684|0}c[d>>2]=e;c[(c[h>>2]|0)+4608>>2]=c[f>>2];c[(c[h>>2]|0)+4604>>2]=0}if((c[(c[h>>2]|0)+4572>>2]|0)==(c[g>>2]|0)){i=c[i>>2]|0;l=j;return i|0}f=(c[h>>2]|0)+7164|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;wk((c[h>>2]|0)+144|0,0,4352)|0;f=(c[h>>2]|0)+4496|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;f=(c[h>>2]|0)+16|0;c[f>>2]=0;c[f+4>>2]=0;c[(c[h>>2]|0)+5736>>2]=0;c[(c[h>>2]|0)+5744>>2]=0;c[(c[h>>2]|0)+4604>>2]=0;c[(c[h>>2]|0)+4540>>2]=100;c[(c[h>>2]|0)+4660>>2]=1;a[(c[h>>2]|0)+7164>>0]=10;c[(c[h>>2]|0)+144+4328>>2]=100;c[(c[h>>2]|0)+144+4344>>2]=65536;a[(c[h>>2]|0)+4537>>0]=0;c[(c[h>>2]|0)+4572>>2]=c[g>>2];f=(c[(c[h>>2]|0)+4576>>2]|0)==4;c[(c[h>>2]|0)+4684>>2]=(c[(c[h>>2]|0)+4572>>2]|0)==8?(f?29340:29363):f?29306:29351;if((c[(c[h>>2]|0)+4572>>2]|0)!=8?(c[(c[h>>2]|0)+4572>>2]|0)!=12:0){c[(c[h>>2]|0)+4636>>2]=16;e=c[h>>2]|0;d=17708}else{c[(c[h>>2]|0)+4636>>2]=10;e=c[h>>2]|0;d=17668}c[e+4688>>2]=d;c[(c[h>>2]|0)+4584>>2]=(c[g>>2]|0)*5;e=S((c[(c[h>>2]|0)+4584>>2]&65535)<<16>>16,(c[(c[h>>2]|0)+4576>>2]&65535)<<16>>16)|0;c[(c[h>>2]|0)+4580>>2]=e;c[(c[h>>2]|0)+4588>>2]=((c[g>>2]&65535)<<16>>16)*20;c[(c[h>>2]|0)+4592>>2]=(c[g>>2]&65535)<<16>>16<<1;c[(c[h>>2]|0)+4548>>2]=((c[g>>2]&65535)<<16>>16)*18;e=(c[(c[h>>2]|0)+4576>>2]|0)==4;g=(c[g>>2]&65535)<<16>>16;c[(e?c[h>>2]|0:c[h>>2]|0)+4544>>2]=e?g*24|0:g*14|0;e=c[h>>2]|0;if((c[(c[h>>2]|0)+4572>>2]|0)==16){c[e+4680>>2]=29238;i=c[i>>2]|0;l=j;return i|0}else{c[(c[h>>2]|0)+4680>>2]=(c[e+4572>>2]|0)==12?29232:29223;i=c[i>>2]|0;l=j;return i|0}return 0}function Fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;d=g+4|0;f=g;c[e>>2]=a;c[d>>2]=b;c[f>>2]=0;do if((c[d>>2]|0)>=1){if((c[d>>2]|0)<2){c[(c[e>>2]|0)+4640>>2]=1;c[(c[e>>2]|0)+4648>>2]=49807;c[(c[e>>2]|0)+4644>>2]=8;c[(c[e>>2]|0)+4632>>2]=14;c[(c[e>>2]|0)+4596>>2]=(c[(c[e>>2]|0)+4572>>2]|0)*5;c[(c[e>>2]|0)+4624>>2]=1;c[(c[e>>2]|0)+4628>>2]=0;c[(c[e>>2]|0)+4656>>2]=3;b=c[e>>2]|0;a=0;break}if((c[d>>2]|0)<3){c[(c[e>>2]|0)+4640>>2]=0;c[(c[e>>2]|0)+4648>>2]=52429;c[(c[e>>2]|0)+4644>>2]=6;c[(c[e>>2]|0)+4632>>2]=12;c[(c[e>>2]|0)+4596>>2]=(c[(c[e>>2]|0)+4572>>2]|0)*3;c[(c[e>>2]|0)+4624>>2]=2;c[(c[e>>2]|0)+4628>>2]=0;c[(c[e>>2]|0)+4656>>2]=2;b=c[e>>2]|0;a=0;break}if((c[d>>2]|0)<4){c[(c[e>>2]|0)+4640>>2]=1;c[(c[e>>2]|0)+4648>>2]=49807;c[(c[e>>2]|0)+4644>>2]=8;c[(c[e>>2]|0)+4632>>2]=14;c[(c[e>>2]|0)+4596>>2]=(c[(c[e>>2]|0)+4572>>2]|0)*5;c[(c[e>>2]|0)+4624>>2]=2;c[(c[e>>2]|0)+4628>>2]=0;c[(c[e>>2]|0)+4656>>2]=4;b=c[e>>2]|0;a=0;break}if((c[d>>2]|0)<6){c[(c[e>>2]|0)+4640>>2]=1;c[(c[e>>2]|0)+4648>>2]=48497;c[(c[e>>2]|0)+4644>>2]=10;c[(c[e>>2]|0)+4632>>2]=16;c[(c[e>>2]|0)+4596>>2]=(c[(c[e>>2]|0)+4572>>2]|0)*5;c[(c[e>>2]|0)+4624>>2]=2;c[(c[e>>2]|0)+4628>>2]=1;c[(c[e>>2]|0)+4656>>2]=6;b=c[e>>2]|0;a=(c[(c[e>>2]|0)+4572>>2]|0)*983|0;break}b=(c[e>>2]|0)+4640|0;if((c[d>>2]|0)<8){c[b>>2]=1;c[(c[e>>2]|0)+4648>>2]=47186;c[(c[e>>2]|0)+4644>>2]=12;c[(c[e>>2]|0)+4632>>2]=20;c[(c[e>>2]|0)+4596>>2]=(c[(c[e>>2]|0)+4572>>2]|0)*5;c[(c[e>>2]|0)+4624>>2]=3;c[(c[e>>2]|0)+4628>>2]=1;c[(c[e>>2]|0)+4656>>2]=8;b=c[e>>2]|0;a=(c[(c[e>>2]|0)+4572>>2]|0)*983|0;break}else{c[b>>2]=2;c[(c[e>>2]|0)+4648>>2]=45875;c[(c[e>>2]|0)+4644>>2]=16;c[(c[e>>2]|0)+4632>>2]=24;c[(c[e>>2]|0)+4596>>2]=(c[(c[e>>2]|0)+4572>>2]|0)*5;c[(c[e>>2]|0)+4624>>2]=4;c[(c[e>>2]|0)+4628>>2]=1;c[(c[e>>2]|0)+4656>>2]=16;b=c[e>>2]|0;a=(c[(c[e>>2]|0)+4572>>2]|0)*983|0;break}}else{c[(c[e>>2]|0)+4640>>2]=0;c[(c[e>>2]|0)+4648>>2]=52429;c[(c[e>>2]|0)+4644>>2]=6;c[(c[e>>2]|0)+4632>>2]=12;c[(c[e>>2]|0)+4596>>2]=(c[(c[e>>2]|0)+4572>>2]|0)*3;c[(c[e>>2]|0)+4624>>2]=1;c[(c[e>>2]|0)+4628>>2]=0;c[(c[e>>2]|0)+4656>>2]=2;b=c[e>>2]|0;a=0}while(0);c[b+4668>>2]=a;a=Ig(c[(c[e>>2]|0)+4644>>2]|0,c[(c[e>>2]|0)+4636>>2]|0)|0;c[(c[e>>2]|0)+4644>>2]=a;c[(c[e>>2]|0)+4600>>2]=((c[(c[e>>2]|0)+4572>>2]|0)*5|0)+(c[(c[e>>2]|0)+4596>>2]<<1);c[(c[e>>2]|0)+4620>>2]=c[d>>2];l=g;return c[f>>2]|0}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+12|0;h=g+8|0;d=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=0;c[d>>2]=c[(c[e>>2]|0)+6088>>2];c[(c[e>>2]|0)+6088>>2]=c[(c[h>>2]|0)+44>>2];if(!(c[(c[e>>2]|0)+6088>>2]|0)){h=c[f>>2]|0;l=g;return h|0}b=c[e>>2]|0;if(!(c[d>>2]|0))a=7;else{a=Hg(7-(((c[b+4612>>2]>>16)*26214|0)+((c[(c[e>>2]|0)+4612>>2]&65535)*26214>>16))|0,2)|0;b=c[e>>2]|0}c[b+6092>>2]=a;h=c[f>>2]|0;l=g;return h|0}function Hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Jg(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;i=j+12|0;f=j+8|0;k=j+4|0;h=j;c[i>>2]=a;c[f>>2]=d;c[k>>2]=e;c[h>>2]=(c[k>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;if((ok(+g[(c[f>>2]|0)+(c[h>>2]<<2)>>2])|0)<=32767)if((ok(+g[(c[f>>2]|0)+(c[h>>2]<<2)>>2])|0)<-32768)d=-32768;else d=ok(+g[(c[f>>2]|0)+(c[h>>2]<<2)>>2])|0;else d=32767;b[(c[i>>2]|0)+(c[h>>2]<<1)>>1]=d;c[h>>2]=(c[h>>2]|0)+-1}l=j;return}function Kg(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;i=j+12|0;f=j+8|0;k=j+4|0;h=j;c[i>>2]=a;c[f>>2]=d;c[k>>2]=e;c[h>>2]=(c[k>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;g[(c[i>>2]|0)+(c[h>>2]<<2)>>2]=+(b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0);c[h>>2]=(c[h>>2]|0)+-1}l=j;return}function Lg(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+192|0;f=D+188|0;j=D+184|0;k=D+180|0;p=D+176|0;q=D+172|0;r=D+168|0;m=D+164|0;u=D+160|0;o=D+156|0;x=D+152|0;w=D+148|0;y=D+144|0;A=D+140|0;z=D+136|0;B=D+132|0;v=D+128|0;s=D+124|0;n=D+120|0;g=D+68|0;i=D+16|0;h=D+8|0;t=D;c[f>>2]=a;c[j>>2]=d;c[k>>2]=e;c[h>>2]=g;c[h+4>>2]=i;c[m>>2]=c[k>>2]>>1;Mg(c[j>>2]|0,g,i,c[m>>2]|0);c[t>>2]=g;c[x>>2]=b[12375];c[A>>2]=Ng(c[t>>2]|0,c[x>>2]|0,c[m>>2]|0)|0;if((c[A>>2]|0)<0){b[c[f>>2]>>1]=0;c[t>>2]=i;c[A>>2]=Ng(c[t>>2]|0,c[x>>2]|0,c[m>>2]|0)|0;c[u>>2]=1}else c[u>>2]=0;c[q>>2]=1;c[p>>2]=0;c[v>>2]=0;a:while(1){c[w>>2]=b[24750+(c[q>>2]<<1)>>1];c[z>>2]=Ng(c[t>>2]|0,c[w>>2]|0,c[m>>2]|0)|0;if(!((c[A>>2]|0)<=0?(c[z>>2]|0)>=(c[v>>2]|0):0))C=7;do if((C|0)==7){C=0;if((c[A>>2]|0)>=0?(c[z>>2]|0)<=(0-(c[v>>2]|0)|0):0)break;c[q>>2]=(c[q>>2]|0)+1;c[x>>2]=c[w>>2];c[A>>2]=c[z>>2];c[v>>2]=0;if((c[q>>2]|0)<=128)continue a;c[p>>2]=(c[p>>2]|0)+1;if((c[p>>2]|0)>16)break a;Sg(c[j>>2]|0,c[k>>2]|0,65536-(1<<c[p>>2])|0);Mg(c[j>>2]|0,g,i,c[m>>2]|0);c[t>>2]=g;c[x>>2]=b[12375];c[A>>2]=Ng(c[t>>2]|0,c[x>>2]|0,c[m>>2]|0)|0;if((c[A>>2]|0)<0){b[c[f>>2]>>1]=0;c[t>>2]=i;c[A>>2]=Ng(c[t>>2]|0,c[x>>2]|0,c[m>>2]|0)|0;c[u>>2]=1}else c[u>>2]=0;c[q>>2]=1;continue a}while(0);if(!(c[z>>2]|0))c[v>>2]=1;else c[v>>2]=0;c[o>>2]=-256;c[r>>2]=0;while(1){if((c[r>>2]|0)>=3)break;c[y>>2]=((c[x>>2]|0)+(c[w>>2]|0)>>1)+((c[x>>2]|0)+(c[w>>2]|0)&1);c[B>>2]=Ng(c[t>>2]|0,c[y>>2]|0,c[m>>2]|0)|0;if(!((c[A>>2]|0)<=0&(c[B>>2]|0)>=0)?!((c[A>>2]|0)>=0&(c[B>>2]|0)<=0):0){c[x>>2]=c[y>>2];c[A>>2]=c[B>>2];c[o>>2]=(c[o>>2]|0)+(128>>c[r>>2])}else{c[w>>2]=c[y>>2];c[z>>2]=c[B>>2]}c[r>>2]=(c[r>>2]|0)+1}e=c[A>>2]|0;a=c[A>>2]|0;if((((c[A>>2]|0)>0?e:0-e|0)|0)<65536){c[n>>2]=a-(c[z>>2]|0);c[s>>2]=(c[A>>2]<<5)+(c[n>>2]>>1);if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+((c[s>>2]|0)/(c[n>>2]|0)|0)}else c[o>>2]=(c[o>>2]|0)+((a|0)/((c[A>>2]|0)-(c[z>>2]|0)>>5|0)|0);e=(Og((c[q>>2]<<8)+(c[o>>2]|0)|0,32767)|0)&65535;b[(c[f>>2]|0)+(c[u>>2]<<1)>>1]=e;c[u>>2]=(c[u>>2]|0)+1;if((c[u>>2]|0)>=(c[k>>2]|0)){C=34;break}c[t>>2]=c[h+((c[u>>2]&1)<<2)>>2];c[x>>2]=b[24750+((c[q>>2]|0)-1<<1)>>1];c[A>>2]=1-(c[u>>2]&2)<<12}if((C|0)==34){l=D;return}b[c[f>>2]>>1]=32768/((c[k>>2]|0)+1|0)|0;c[q>>2]=1;while(1){if((c[q>>2]|0)>=(c[k>>2]|0))break;b[(c[f>>2]|0)+(c[q>>2]<<1)>>1]=(b[(c[f>>2]|0)+((c[q>>2]|0)-1<<1)>>1]|0)+(b[c[f>>2]>>1]|0);c[q>>2]=(c[q>>2]|0)+1}l=D;return}function Mg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]=65536;c[(c[h>>2]|0)+(c[i>>2]<<2)>>2]=65536;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=0-(c[(c[f>>2]|0)+((c[i>>2]|0)-(c[j>>2]|0)-1<<2)>>2]|0)-(c[(c[f>>2]|0)+((c[i>>2]|0)+(c[j>>2]|0)<<2)>>2]|0);c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=0-(c[(c[f>>2]|0)+((c[i>>2]|0)-(c[j>>2]|0)-1<<2)>>2]|0)+(c[(c[f>>2]|0)+((c[i>>2]|0)+(c[j>>2]|0)<<2)>>2]|0);c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=c[i>>2];while(1){b=c[g>>2]|0;if((c[j>>2]|0)<=0)break;e=(c[g>>2]|0)+((c[j>>2]|0)-1<<2)|0;c[e>>2]=(c[e>>2]|0)-(c[b+(c[j>>2]<<2)>>2]|0);e=(c[h>>2]|0)+((c[j>>2]|0)-1<<2)|0;c[e>>2]=(c[e>>2]|0)+(c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}Pg(b,c[i>>2]|0);Pg(c[h>>2]|0,c[i>>2]|0);l=k;return}function Ng(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;g=j+20|0;k=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[k>>2]=b;c[e>>2]=d;c[i>>2]=c[(c[g>>2]|0)+(c[e>>2]<<2)>>2];c[h>>2]=c[k>>2]<<4;if(8==(c[e>>2]|0)^1^1){k=S(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[g>>2]|0)+28>>2]|0)+(k+((S(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(S(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=S(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[g>>2]|0)+24>>2]|0)+(k+((S(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(S(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=S(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[g>>2]|0)+20>>2]|0)+(k+((S(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(S(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=S(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[g>>2]|0)+16>>2]|0)+(k+((S(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(S(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=S(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[g>>2]|0)+12>>2]|0)+(k+((S(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(S(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=S(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[g>>2]|0)+8>>2]|0)+(k+((S(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(S(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=S(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[g>>2]|0)+4>>2]|0)+(k+((S(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(S(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=S(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[c[g>>2]>>2]|0)+(k+((S(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(S(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=c[i>>2]|0;l=j;return k|0}c[f>>2]=(c[e>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;k=S(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[g>>2]|0)+(c[f>>2]<<2)>>2]|0)+(k+((S(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(S(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);c[f>>2]=(c[f>>2]|0)+-1}k=c[i>>2]|0;l=j;return k|0}function Og(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[g>>2]=a;c[d>>2]=b;c[e>>2]=2;while(1){if((c[e>>2]|0)>(c[d>>2]|0))break;c[f>>2]=c[d>>2];while(1){b=c[g>>2]|0;if((c[f>>2]|0)<=(c[e>>2]|0))break;a=(c[g>>2]|0)+((c[f>>2]|0)-2<<2)|0;c[a>>2]=(c[a>>2]|0)-(c[b+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+-1}a=(c[g>>2]|0)+((c[e>>2]|0)-2<<2)|0;c[a>>2]=(c[a>>2]|0)-(c[b+(c[e>>2]<<2)>>2]<<1);c[e>>2]=(c[e>>2]|0)+1}l=h;return}function Qg(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+48|0;m=t+44|0;i=t+40|0;q=t+36|0;p=t+32|0;u=t+28|0;o=t+24|0;h=t+20|0;n=t+16|0;j=t+12|0;k=t+8|0;r=t+4|0;s=t;c[m>>2]=a;c[i>>2]=d;c[q>>2]=e;c[p>>2]=f;c[u>>2]=g;c[h>>2]=c[u>>2]>>1;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[h>>2]|0))break;c[n>>2]=b[(c[m>>2]|0)+(c[o>>2]<<1<<1)>>1]<<10;c[k>>2]=(c[n>>2]|0)-(c[c[i>>2]>>2]|0);u=S(c[k>>2]>>16,-24290<<16>>16)|0;c[j>>2]=(c[k>>2]|0)+(u+((S(c[k>>2]&65535,-24290<<16>>16)|0)>>16));c[r>>2]=(c[c[i>>2]>>2]|0)+(c[j>>2]|0);c[c[i>>2]>>2]=(c[n>>2]|0)+(c[j>>2]|0);c[n>>2]=b[(c[m>>2]|0)+((c[o>>2]<<1)+1<<1)>>1]<<10;c[k>>2]=(c[n>>2]|0)-(c[(c[i>>2]|0)+4>>2]|0);u=S(c[k>>2]>>16,10788<<16>>16)|0;c[j>>2]=u+((S(c[k>>2]&65535,10788<<16>>16)|0)>>16);c[s>>2]=(c[(c[i>>2]|0)+4>>2]|0)+(c[j>>2]|0);c[(c[i>>2]|0)+4>>2]=(c[n>>2]|0)+(c[j>>2]|0);if((((c[s>>2]|0)+(c[r>>2]|0)>>10)+1>>1|0)<=32767)if((((c[s>>2]|0)+(c[r>>2]|0)>>10)+1>>1|0)<-32768)g=-32768;else g=((c[s>>2]|0)+(c[r>>2]|0)>>10)+1>>1;else g=32767;b[(c[q>>2]|0)+(c[o>>2]<<1)>>1]=g;if((((c[s>>2]|0)-(c[r>>2]|0)>>10)+1>>1|0)<=32767)if((((c[s>>2]|0)-(c[r>>2]|0)>>10)+1>>1|0)<-32768)g=-32768;else g=((c[s>>2]|0)-(c[r>>2]|0)>>10)+1>>1;else g=32767;b[(c[p>>2]|0)+(c[o>>2]<<1)>>1]=g;c[o>>2]=(c[o>>2]|0)+1}l=t;return}function Rg(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+64|0;p=v+48|0;n=v+44|0;w=v+40|0;o=v+36|0;t=v+32|0;s=v+28|0;r=v+24|0;q=v+20|0;j=v+16|0;i=v+12|0;m=v+8|0;k=v+4|0;u=v;c[p>>2]=a;c[n>>2]=d;c[w>>2]=e;c[o>>2]=f;c[t>>2]=g;c[s>>2]=h;c[i>>2]=0-(c[c[w>>2]>>2]|0)&16383;c[j>>2]=0-(c[c[w>>2]>>2]|0)>>14;c[k>>2]=0-(c[(c[w>>2]|0)+4>>2]|0)&16383;c[m>>2]=0-(c[(c[w>>2]|0)+4>>2]|0)>>14;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[s>>2]|0))break;c[q>>2]=b[(c[p>>2]|0)+(c[r>>2]<<1)>>1];w=S(c[c[n>>2]>>2]>>16,(c[q>>2]&65535)<<16>>16)|0;c[u>>2]=(c[c[o>>2]>>2]|0)+(w+((S(c[c[n>>2]>>2]&65535,(c[q>>2]&65535)<<16>>16)|0)>>16))<<2;w=S(c[u>>2]>>16,(c[i>>2]&65535)<<16>>16)|0;w=(c[(c[o>>2]|0)+4>>2]|0)+((w+((S(c[u>>2]&65535,(c[i>>2]&65535)<<16>>16)|0)>>16)>>13)+1>>1)|0;c[c[o>>2]>>2]=w;w=S(c[u>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;w=(c[c[o>>2]>>2]|0)+(w+((S(c[u>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))|0;c[c[o>>2]>>2]=w;w=S(c[(c[n>>2]|0)+4>>2]>>16,(c[q>>2]&65535)<<16>>16)|0;w=(c[c[o>>2]>>2]|0)+(w+((S(c[(c[n>>2]|0)+4>>2]&65535,(c[q>>2]&65535)<<16>>16)|0)>>16))|0;c[c[o>>2]>>2]=w;w=S(c[u>>2]>>16,(c[k>>2]&65535)<<16>>16)|0;w=(w+((S(c[u>>2]&65535,(c[k>>2]&65535)<<16>>16)|0)>>16)>>13)+1>>1;c[(c[o>>2]|0)+4>>2]=w;w=S(c[u>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;w=(c[(c[o>>2]|0)+4>>2]|0)+(w+((S(c[u>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[o>>2]|0)+4>>2]=w;w=S(c[(c[n>>2]|0)+8>>2]>>16,(c[q>>2]&65535)<<16>>16)|0;w=(c[(c[o>>2]|0)+4>>2]|0)+(w+((S(c[(c[n>>2]|0)+8>>2]&65535,(c[q>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[o>>2]|0)+4>>2]=w;if(((c[u>>2]|0)+16384-1>>14|0)<=32767)if(((c[u>>2]|0)+16384-1>>14|0)<-32768)e=-32768;else e=(c[u>>2]|0)+16384-1>>14;else e=32767;b[(c[t>>2]|0)+(c[r>>2]<<1)>>1]=e;c[r>>2]=(c[r>>2]|0)+1}l=v;return}function Sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;h=j+12|0;f=j+8|0;i=j+4|0;g=j;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;c[g>>2]=(c[f>>2]|0)-65536;c[i>>2]=0;while(1){d=c[f>>2]>>16;a=c[e>>2]|0;if((c[i>>2]|0)>=((c[h>>2]|0)-1|0))break;b=S(d,(c[a+(c[i>>2]<<2)>>2]&65535)<<16>>16)|0;b=b+((S(c[f>>2]&65535,(c[(c[e>>2]|0)+(c[i>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;b=b+(S(c[f>>2]|0,(c[(c[e>>2]|0)+(c[i>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[e>>2]|0)+(c[i>>2]<<2)>>2]=b;b=((S(c[f>>2]|0,c[g>>2]|0)|0)>>15)+1>>1;c[f>>2]=(c[f>>2]|0)+b;c[i>>2]=(c[i>>2]|0)+1}i=S(d,(c[a+((c[h>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0;i=i+((S(c[f>>2]&65535,(c[(c[e>>2]|0)+((c[h>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0)>>16)|0;i=i+(S(c[f>>2]|0,(c[(c[e>>2]|0)+((c[h>>2]|0)-1<<2)>>2]>>15)+1>>1)|0)|0;c[(c[e>>2]|0)+((c[h>>2]|0)-1<<2)>>2]=i;l=j;return}function Tg(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;i=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=a;c[i>>2]=d;c[g>>2]=e;c[h>>2]=(c[g>>2]|0)-65536;c[j>>2]=0;while(1){a=c[g>>2]|0;e=c[f>>2]|0;if((c[j>>2]|0)>=((c[i>>2]|0)-1|0))break;d=((S(a,b[e+(c[j>>2]<<1)>>1]|0)|0)>>15)+1>>1&65535;b[(c[f>>2]|0)+(c[j>>2]<<1)>>1]=d;d=((S(c[g>>2]|0,c[h>>2]|0)|0)>>15)+1>>1;c[g>>2]=(c[g>>2]|0)+d;c[j>>2]=(c[j>>2]|0)+1}j=((S(a,b[e+((c[i>>2]|0)-1<<1)>>1]|0)|0)>>15)+1>>1&65535;b[(c[f>>2]|0)+((c[i>>2]|0)-1<<1)>>1]=j;l=k;return}function Ug(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;j=u+36|0;n=u+38|0;t=u+32|0;i=u+28|0;s=u+24|0;p=u+20|0;o=u+16|0;r=u+12|0;q=u+8|0;m=u+4|0;k=u;b[j>>1]=d;a[n>>0]=e;c[t>>2]=f;c[i>>2]=g;c[s>>2]=h;g=(c[s>>2]|0)==4;do if((c[i>>2]|0)==8)if(g){c[k>>2]=30475;c[m>>2]=11;break}else{c[k>>2]=30441;c[m>>2]=3;break}else if(g){c[k>>2]=30519;c[m>>2]=34;break}else{c[k>>2]=30447;c[m>>2]=12;break}while(0);c[r>>2]=(c[i>>2]&65535)<<16>>16<<1;c[q>>2]=((c[i>>2]&65535)<<16>>16)*18;c[p>>2]=(c[r>>2]|0)+(b[j>>1]|0);c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;g=S(c[o>>2]|0,c[m>>2]|0)|0;c[(c[t>>2]|0)+(c[o>>2]<<2)>>2]=(c[p>>2]|0)+(a[(c[k>>2]|0)+(g+(a[n>>0]|0))>>0]|0);g=c[(c[t>>2]|0)+(c[o>>2]<<2)>>2]|0;do if((c[r>>2]|0)>(c[q>>2]|0)){if((g|0)>(c[r>>2]|0)){g=c[r>>2]|0;break}if((c[(c[t>>2]|0)+(c[o>>2]<<2)>>2]|0)<(c[q>>2]|0)){g=c[q>>2]|0;break}else{g=c[(c[t>>2]|0)+(c[o>>2]<<2)>>2]|0;break}}else{if((g|0)>(c[q>>2]|0)){g=c[q>>2]|0;break}if((c[(c[t>>2]|0)+(c[o>>2]<<2)>>2]|0)<(c[r>>2]|0)){g=c[r>>2]|0;break}else{g=c[(c[t>>2]|0)+(c[o>>2]<<2)>>2]|0;break}}while(0);c[(c[t>>2]|0)+(c[o>>2]<<2)>>2]=g;c[o>>2]=(c[o>>2]|0)+1}l=u;return}function Vg(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+20|0;i=n+16|0;k=n+12|0;j=n+8|0;g=n+4|0;m=n;c[h>>2]=a;c[i>>2]=d;c[k>>2]=e;c[j>>2]=f;c[m>>2]=0;c[g>>2]=0;while(1){a=c[m>>2]|0;if((c[g>>2]|0)>=(c[j>>2]|0))break;e=S(b[(c[h>>2]|0)+(c[g>>2]<<1)>>1]|0,b[(c[i>>2]|0)+(c[g>>2]<<1)>>1]|0)|0;c[m>>2]=a+(e>>c[k>>2]);c[g>>2]=(c[g>>2]|0)+1}l=n;return a|0}function Wg(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;Xg(c[f>>2]|0,b,e);a=((S(c[e>>2]|0,128-(c[e>>2]|0)|0)|0)>>16)*179|0;a=(c[e>>2]|0)+(a+(((S(c[e>>2]|0,128-(c[e>>2]|0)|0)|0)&65535)*179>>16))|0;l=d;return a+(31-(c[b>>2]|0)<<7)|0}function Xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=Yg(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];b=(Zg(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;l=e;return}function Yg(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(V(c[b>>2]|0)|0))|0;l=d;return b|0}function Zg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+20|0;d=j+16|0;h=j+12|0;i=j+8|0;f=j+4|0;e=j;c[d>>2]=a;c[h>>2]=b;c[i>>2]=c[d>>2];c[f>>2]=c[h>>2];c[e>>2]=0-(c[h>>2]|0);if(!(c[h>>2]|0)){c[g>>2]=c[d>>2];i=c[g>>2]|0;l=j;return i|0}a=c[i>>2]|0;if((c[h>>2]|0)<0){c[g>>2]=a<<c[e>>2]|(c[i>>2]|0)>>>(32-(c[e>>2]|0)|0);i=c[g>>2]|0;l=j;return i|0}else{c[g>>2]=a<<32-(c[f>>2]|0)|(c[i>>2]|0)>>>(c[f>>2]|0);i=c[g>>2]|0;l=j;return i|0}return 0}function _g(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+12|0;e=h+8|0;f=h+4|0;d=h;c[e>>2]=a;if((c[e>>2]|0)<0){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}if((c[e>>2]|0)>=3967){c[g>>2]=2147483647;g=c[g>>2]|0;l=h;return g|0}c[f>>2]=1<<(c[e>>2]>>7);c[d>>2]=c[e>>2]&127;a=c[f>>2]|0;b=c[f>>2]|0;if((c[e>>2]|0)<2048){e=S((S((c[d>>2]&65535)<<16>>16,(128-(c[d>>2]|0)&65535)<<16>>16)|0)>>16,-174)|0;c[f>>2]=a+((S(b,(c[d>>2]|0)+(e+((S((S((c[d>>2]&65535)<<16>>16,(128-(c[d>>2]|0)&65535)<<16>>16)|0)&65535,-174)|0)>>16))|0)|0)>>7)}else{e=S((S((c[d>>2]&65535)<<16>>16,(128-(c[d>>2]|0)&65535)<<16>>16)|0)>>16,-174)|0;c[f>>2]=a+(S(b>>7,(c[d>>2]|0)+(e+((S((S((c[d>>2]&65535)<<16>>16,(128-(c[d>>2]|0)&65535)<<16>>16)|0)&65535,-174)|0)>>16))|0)|0)}c[g>>2]=c[f>>2];g=c[g>>2]|0;l=h;return g|0}function $g(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;q=t+40|0;k=t+36|0;i=t+32|0;p=t+28|0;j=t+24|0;o=t+16|0;n=t+12|0;s=t+8|0;r=t+4|0;m=t;c[q>>2]=a;c[k>>2]=d;c[i>>2]=e;c[p>>2]=f;c[j>>2]=g;c[t+20>>2]=h;c[n>>2]=c[j>>2];while(1){if((c[n>>2]|0)>=(c[p>>2]|0))break;c[m>>2]=(c[k>>2]|0)+((c[n>>2]|0)-1<<1);c[s>>2]=S(b[c[m>>2]>>1]|0,b[c[i>>2]>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(S(b[(c[m>>2]|0)+-2>>1]|0,b[(c[i>>2]|0)+2>>1]|0)|0);c[s>>2]=(c[s>>2]|0)+(S(b[(c[m>>2]|0)+-4>>1]|0,b[(c[i>>2]|0)+4>>1]|0)|0);c[s>>2]=(c[s>>2]|0)+(S(b[(c[m>>2]|0)+-6>>1]|0,b[(c[i>>2]|0)+6>>1]|0)|0);c[s>>2]=(c[s>>2]|0)+(S(b[(c[m>>2]|0)+-8>>1]|0,b[(c[i>>2]|0)+8>>1]|0)|0);c[s>>2]=(c[s>>2]|0)+(S(b[(c[m>>2]|0)+-10>>1]|0,b[(c[i>>2]|0)+10>>1]|0)|0);c[o>>2]=6;while(1){if((c[o>>2]|0)>=(c[j>>2]|0))break;c[s>>2]=(c[s>>2]|0)+(S(b[(c[m>>2]|0)+(0-(c[o>>2]|0)<<1)>>1]|0,b[(c[i>>2]|0)+(c[o>>2]<<1)>>1]|0)|0);c[s>>2]=(c[s>>2]|0)+(S(b[(c[m>>2]|0)+(0-(c[o>>2]|0)-1<<1)>>1]|0,b[(c[i>>2]|0)+((c[o>>2]|0)+1<<1)>>1]|0)|0);c[o>>2]=(c[o>>2]|0)+2}c[s>>2]=(b[(c[m>>2]|0)+2>>1]<<12)-(c[s>>2]|0);c[r>>2]=(c[s>>2]>>11)+1>>1;if((c[r>>2]|0)>32767)e=32767;else e=(c[r>>2]|0)<-32768?-32768:c[r>>2]|0;b[(c[q>>2]|0)+(c[n>>2]<<1)>>1]=e;c[n>>2]=(c[n>>2]|0)+1}wk(c[q>>2]|0,0,c[j>>2]<<1|0)|0;l=t;return}function ah(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+128|0;j=k+116|0;e=k+112|0;i=k+108|0;h=k+104|0;f=k+8|0;g=k;c[e>>2]=a;c[i>>2]=d;c[g>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[i>>2]|0))break;c[g>>2]=(c[g>>2]|0)+(b[(c[e>>2]|0)+(c[h>>2]<<1)>>1]|0);c[f+(c[h>>2]<<2)>>2]=b[(c[e>>2]|0)+(c[h>>2]<<1)>>1]<<12;c[h>>2]=(c[h>>2]|0)+1}if((c[g>>2]|0)>=4096){c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}else{c[j>>2]=bh(f,c[i>>2]|0)|0;j=c[j>>2]|0;l=k;return j|0}return 0}function bh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=l;l=l+64|0;q=r+52|0;k=r+48|0;d=r+44|0;n=r+40|0;f=r+36|0;e=r+32|0;m=r+28|0;o=r+24|0;p=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r;c[k>>2]=a;c[d>>2]=b;c[m>>2]=1073741824;c[n>>2]=(c[d>>2]|0)-1;a:while(1){b=(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)>16773022;if((c[n>>2]|0)<=0){a=52;break}if(b){a=5;break}if((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)<-16773022){a=5;break}c[o>>2]=0-(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]<<7);d=c[o>>2]|0;b=c[o>>2]|0;b=rk(d|0,((d|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=sk(b|0,D|0,32)|0;c[p>>2]=1073741824-b;b=c[m>>2]|0;d=c[p>>2]|0;d=rk(b|0,((b|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=sk(d|0,D|0,32)|0;c[m>>2]=d<<2;if((c[m>>2]|0)<107374){a=7;break}d=c[p>>2]|0;c[e>>2]=32-(ch((c[p>>2]|0)>0?d:0-d|0)|0);c[g>>2]=dh(c[p>>2]|0,(c[e>>2]|0)+30|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=((c[n>>2]|0)+1>>1|0))break;c[h>>2]=c[(c[k>>2]|0)+(c[f>>2]<<2)>>2];c[i>>2]=c[(c[k>>2]|0)+((c[n>>2]|0)-(c[f>>2]|0)-1<<2)>>2];d=(c[e>>2]|0)==1;a=c[h>>2]|0;s=c[i>>2]|0;b=c[o>>2]|0;b=rk(s|0,((s|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=sk(b|0,D|0,30)|0;b=tk(b|0,D|0,1,0)|0;b=sk(b|0,D|0,1)|0;b=(a-b&-2147483648|0)==0;a=c[h>>2]|0;if(d){if(b){d=c[i>>2]|0;s=c[o>>2]|0;s=rk(d|0,((d|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;s=sk(s|0,D|0,30)|0;s=tk(s|0,D|0,1,0)|0;s=sk(s|0,D|0,1)|0;if(a&(s^-2147483648)&-2147483648|0)a=-2147483648;else{s=c[h>>2]|0;d=c[i>>2]|0;a=c[o>>2]|0;a=rk(d|0,((d|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=sk(a|0,D|0,30)|0;a=tk(a|0,D|0,1,0)|0;a=sk(a|0,D|0,1)|0;a=s-a|0}}else{d=c[i>>2]|0;s=c[o>>2]|0;s=rk(d|0,((d|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;s=sk(s|0,D|0,30)|0;s=tk(s|0,D|0,1,0)|0;s=sk(s|0,D|0,1)|0;if((a^-2147483648)&s&-2147483648|0)a=2147483647;else{s=c[h>>2]|0;d=c[i>>2]|0;a=c[o>>2]|0;a=rk(d|0,((d|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=sk(a|0,D|0,30)|0;a=tk(a|0,D|0,1,0)|0;a=sk(a|0,D|0,1)|0;a=s-a|0}}b=c[g>>2]|0;b=rk(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=sk(b|0,D|0,1)|0;d=D;t=c[h>>2]|0;a=c[i>>2]|0;s=c[o>>2]|0;s=rk(a|0,((a|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;s=sk(s|0,D|0,30)|0;s=tk(s|0,D|0,1,0)|0;s=sk(s|0,D|0,1)|0;a=c[h>>2]|0;if(!(t-s&-2147483648)){s=c[i>>2]|0;t=c[o>>2]|0;t=rk(s|0,((s|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;t=sk(t|0,D|0,30)|0;t=tk(t|0,D|0,1,0)|0;t=sk(t|0,D|0,1)|0;if(a&(t^-2147483648)&-2147483648|0)a=-2147483648;else{t=c[h>>2]|0;s=c[i>>2]|0;a=c[o>>2]|0;a=rk(s|0,((s|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=sk(a|0,D|0,30)|0;a=tk(a|0,D|0,1,0)|0;a=sk(a|0,D|0,1)|0;a=t-a|0}}else{s=c[i>>2]|0;t=c[o>>2]|0;t=rk(s|0,((s|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;t=sk(t|0,D|0,30)|0;t=tk(t|0,D|0,1,0)|0;t=sk(t|0,D|0,1)|0;if((a^-2147483648)&t&-2147483648|0)a=2147483647;else{t=c[h>>2]|0;s=c[i>>2]|0;a=c[o>>2]|0;a=rk(s|0,((s|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=sk(a|0,D|0,30)|0;a=tk(a|0,D|0,1,0)|0;a=sk(a|0,D|0,1)|0;a=t-a|0}}t=c[g>>2]|0;a=rk(a|0,((a|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;a=tk(b|0,d|0,a&1|0,0)|0;b=D}else{if(b){s=c[i>>2]|0;t=c[o>>2]|0;t=rk(s|0,((s|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;t=sk(t|0,D|0,30)|0;t=tk(t|0,D|0,1,0)|0;t=sk(t|0,D|0,1)|0;if(a&(t^-2147483648)&-2147483648|0)a=-2147483648;else{t=c[h>>2]|0;s=c[i>>2]|0;a=c[o>>2]|0;a=rk(s|0,((s|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=sk(a|0,D|0,30)|0;a=tk(a|0,D|0,1,0)|0;a=sk(a|0,D|0,1)|0;a=t-a|0}}else{s=c[i>>2]|0;t=c[o>>2]|0;t=rk(s|0,((s|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;t=sk(t|0,D|0,30)|0;t=tk(t|0,D|0,1,0)|0;t=sk(t|0,D|0,1)|0;if((a^-2147483648)&t&-2147483648|0)a=2147483647;else{t=c[h>>2]|0;s=c[i>>2]|0;a=c[o>>2]|0;a=rk(s|0,((s|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=sk(a|0,D|0,30)|0;a=tk(a|0,D|0,1,0)|0;a=sk(a|0,D|0,1)|0;a=t-a|0}}b=c[g>>2]|0;a=rk(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;a=sk(a|0,D|0,(c[e>>2]|0)-1|0)|0;a=tk(a|0,D|0,1,0)|0;a=sk(a|0,D|0,1)|0;b=D}d=j;c[d>>2]=a;c[d+4>>2]=b;d=j;b=c[d+4>>2]|0;t=j;s=c[t+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>2147483647|((s|0)<-1|(s|0)==-1&(c[t>>2]|0)>>>0<2147483648)){a=29;break a}c[(c[k>>2]|0)+(c[f>>2]<<2)>>2]=c[j>>2];t=(c[e>>2]|0)==1;a=c[i>>2]|0;s=c[h>>2]|0;b=c[o>>2]|0;b=rk(s|0,((s|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=sk(b|0,D|0,30)|0;b=tk(b|0,D|0,1,0)|0;b=sk(b|0,D|0,1)|0;b=(a-b&-2147483648|0)==0;a=c[i>>2]|0;if(t){if(b){s=c[h>>2]|0;t=c[o>>2]|0;t=rk(s|0,((s|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;t=sk(t|0,D|0,30)|0;t=tk(t|0,D|0,1,0)|0;t=sk(t|0,D|0,1)|0;if(a&(t^-2147483648)&-2147483648|0)a=-2147483648;else{t=c[i>>2]|0;s=c[h>>2]|0;a=c[o>>2]|0;a=rk(s|0,((s|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=sk(a|0,D|0,30)|0;a=tk(a|0,D|0,1,0)|0;a=sk(a|0,D|0,1)|0;a=t-a|0}}else{s=c[h>>2]|0;t=c[o>>2]|0;t=rk(s|0,((s|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;t=sk(t|0,D|0,30)|0;t=tk(t|0,D|0,1,0)|0;t=sk(t|0,D|0,1)|0;if((a^-2147483648)&t&-2147483648|0)a=2147483647;else{t=c[i>>2]|0;s=c[h>>2]|0;a=c[o>>2]|0;a=rk(s|0,((s|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=sk(a|0,D|0,30)|0;a=tk(a|0,D|0,1,0)|0;a=sk(a|0,D|0,1)|0;a=t-a|0}}b=c[g>>2]|0;b=rk(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=sk(b|0,D|0,1)|0;d=D;s=c[i>>2]|0;a=c[h>>2]|0;t=c[o>>2]|0;t=rk(a|0,((a|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;t=sk(t|0,D|0,30)|0;t=tk(t|0,D|0,1,0)|0;t=sk(t|0,D|0,1)|0;a=c[i>>2]|0;if(!(s-t&-2147483648)){s=c[h>>2]|0;t=c[o>>2]|0;t=rk(s|0,((s|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;t=sk(t|0,D|0,30)|0;t=tk(t|0,D|0,1,0)|0;t=sk(t|0,D|0,1)|0;if(a&(t^-2147483648)&-2147483648|0)a=-2147483648;else{t=c[i>>2]|0;s=c[h>>2]|0;a=c[o>>2]|0;a=rk(s|0,((s|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=sk(a|0,D|0,30)|0;a=tk(a|0,D|0,1,0)|0;a=sk(a|0,D|0,1)|0;a=t-a|0}}else{s=c[h>>2]|0;t=c[o>>2]|0;t=rk(s|0,((s|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;t=sk(t|0,D|0,30)|0;t=tk(t|0,D|0,1,0)|0;t=sk(t|0,D|0,1)|0;if((a^-2147483648)&t&-2147483648|0)a=2147483647;else{t=c[i>>2]|0;s=c[h>>2]|0;a=c[o>>2]|0;a=rk(s|0,((s|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=sk(a|0,D|0,30)|0;a=tk(a|0,D|0,1,0)|0;a=sk(a|0,D|0,1)|0;a=t-a|0}}t=c[g>>2]|0;a=rk(a|0,((a|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;a=tk(b|0,d|0,a&1|0,0)|0;b=D}else{if(b){s=c[h>>2]|0;t=c[o>>2]|0;t=rk(s|0,((s|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;t=sk(t|0,D|0,30)|0;t=tk(t|0,D|0,1,0)|0;t=sk(t|0,D|0,1)|0;if(a&(t^-2147483648)&-2147483648|0)a=-2147483648;else{t=c[i>>2]|0;s=c[h>>2]|0;a=c[o>>2]|0;a=rk(s|0,((s|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=sk(a|0,D|0,30)|0;a=tk(a|0,D|0,1,0)|0;a=sk(a|0,D|0,1)|0;a=t-a|0}}else{s=c[h>>2]|0;t=c[o>>2]|0;t=rk(s|0,((s|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;t=sk(t|0,D|0,30)|0;t=tk(t|0,D|0,1,0)|0;t=sk(t|0,D|0,1)|0;if((a^-2147483648)&t&-2147483648|0)a=2147483647;else{t=c[i>>2]|0;s=c[h>>2]|0;a=c[o>>2]|0;a=rk(s|0,((s|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=sk(a|0,D|0,30)|0;a=tk(a|0,D|0,1,0)|0;a=sk(a|0,D|0,1)|0;a=t-a|0}}b=c[g>>2]|0;a=rk(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;a=sk(a|0,D|0,(c[e>>2]|0)-1|0)|0;a=tk(a|0,D|0,1,0)|0;a=sk(a|0,D|0,1)|0;b=D}d=j;c[d>>2]=a;c[d+4>>2]=b;d=j;b=c[d+4>>2]|0;t=j;s=c[t+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>2147483647|((s|0)<-1|(s|0)==-1&(c[t>>2]|0)>>>0<2147483648)){a=49;break a}c[(c[k>>2]|0)+((c[n>>2]|0)-(c[f>>2]|0)-1<<2)>>2]=c[j>>2];c[f>>2]=(c[f>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+-1}if((a|0)==5){c[q>>2]=0;t=c[q>>2]|0;l=r;return t|0}else if((a|0)==7){c[q>>2]=0;t=c[q>>2]|0;l=r;return t|0}else if((a|0)==29){c[q>>2]=0;t=c[q>>2]|0;l=r;return t|0}else if((a|0)==49){c[q>>2]=0;t=c[q>>2]|0;l=r;return t|0}else if((a|0)==52){if(!b?(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)>=-16773022:0){c[o>>2]=0-(c[c[k>>2]>>2]<<7);t=c[o>>2]|0;s=c[o>>2]|0;s=rk(t|0,((t|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;s=sk(s|0,D|0,32)|0;c[p>>2]=1073741824-s;s=c[m>>2]|0;t=c[p>>2]|0;t=rk(s|0,((s|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;t=sk(t|0,D|0,32)|0;c[m>>2]=t<<2;if((c[m>>2]|0)<107374){c[q>>2]=0;t=c[q>>2]|0;l=r;return t|0}else{c[q>>2]=c[m>>2];t=c[q>>2]|0;l=r;return t|0}}c[q>>2]=0;t=c[q>>2]|0;l=r;return t|0}return 0}function ch(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(V(c[b>>2]|0)|0))|0;l=d;return b|0}function dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+48|0;g=h+32|0;n=h+28|0;d=h+24|0;i=h+20|0;f=h+16|0;j=h+12|0;m=h+8|0;k=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;b=c[n>>2]|0;c[i>>2]=(ch((c[n>>2]|0)>0?b:0-b|0)|0)-1;c[m>>2]=c[n>>2]<<c[i>>2];c[j>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[j>>2]<<16;b=S(c[m>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;c[k>>2]=536870912-(b+((S(c[m>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))<<3;b=S(c[k>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;b=(c[e>>2]|0)+(b+((S(c[k>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=b+(S(c[k>>2]|0,(c[j>>2]>>15)+1>>1)|0);c[f>>2]=61-(c[i>>2]|0)-(c[d>>2]|0);b=c[f>>2]|0;if((c[f>>2]|0)>0)if((b|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];n=c[g>>2]|0;l=h;return n|0}else{c[g>>2]=0;n=c[g>>2]|0;l=h;return n|0}a=c[e>>2]|0;d=0-(c[f>>2]|0)|0;do if((-2147483648>>0-b|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>d|0)){b=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){b=2147483647>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>d|0)){b=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){b=-2147483648>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}while(0);c[g>>2]=b<<0-(c[f>>2]|0);n=c[g>>2]|0;l=h;return n|0}function eh(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+352|0;o=z+348|0;h=z+344|0;r=z+340|0;y=z+332|0;x=z+328|0;w=z+324|0;s=z+320|0;p=z+224|0;i=z+172|0;k=z+120|0;j=z+116|0;m=z+112|0;v=z+108|0;u=z+104|0;q=z+100|0;t=z+96|0;n=z;c[o>>2]=a;c[h>>2]=e;c[r>>2]=f;c[z+336>>2]=g;c[y>>2]=(c[r>>2]|0)==16?30415:30431;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[r>>2]|0))break;c[v>>2]=b[(c[h>>2]|0)+(c[x>>2]<<1)>>1]>>8;c[u>>2]=(b[(c[h>>2]|0)+(c[x>>2]<<1)>>1]|0)-(c[v>>2]<<8);c[q>>2]=b[24750+(c[v>>2]<<1)>>1];c[t>>2]=(b[24750+((c[v>>2]|0)+1<<1)>>1]|0)-(c[q>>2]|0);f=((c[q>>2]<<8)+(S(c[t>>2]|0,c[u>>2]|0)|0)>>3)+1>>1;c[p+(d[(c[y>>2]|0)+(c[x>>2]|0)>>0]<<2)>>2]=f;c[x>>2]=(c[x>>2]|0)+1}c[s>>2]=c[r>>2]>>1;fh(i,p,c[s>>2]|0);fh(k,p+4|0,c[s>>2]|0);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[s>>2]|0))break;c[j>>2]=(c[i+((c[x>>2]|0)+1<<2)>>2]|0)+(c[i+(c[x>>2]<<2)>>2]|0);c[m>>2]=(c[k+((c[x>>2]|0)+1<<2)>>2]|0)-(c[k+(c[x>>2]<<2)>>2]|0);c[n+(c[x>>2]<<2)>>2]=0-(c[m>>2]|0)-(c[j>>2]|0);c[n+((c[r>>2]|0)-(c[x>>2]|0)-1<<2)>>2]=(c[m>>2]|0)-(c[j>>2]|0);c[x>>2]=(c[x>>2]|0)+1}Ph(c[o>>2]|0,n,12,17,c[r>>2]|0);c[w>>2]=0;while(1){y=(ah(c[o>>2]|0,c[r>>2]|0)|0)==0;if(!(y?(c[w>>2]|0)<16:0))break;Sg(n,c[r>>2]|0,65536-(2<<c[w>>2])|0);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[r>>2]|0))break;b[(c[o>>2]|0)+(c[x>>2]<<1)>>1]=(c[n+(c[x>>2]<<2)>>2]>>4)+1>>1;c[x>>2]=(c[x>>2]|0)+1}c[w>>2]=(c[w>>2]|0)+1}l=z;return}function fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;i=k+4|0;g=k;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[c[j>>2]>>2]=65536;c[(c[j>>2]|0)+4>>2]=0-(c[c[e>>2]>>2]|0);c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+(c[h>>2]<<1<<2)>>2];d=c[(c[j>>2]|0)+((c[h>>2]|0)-1<<2)>>2]<<1;b=c[g>>2]|0;a=c[(c[j>>2]|0)+(c[h>>2]<<2)>>2]|0;a=rk(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=sk(a|0,D|0,15)|0;a=tk(a|0,D|0,1,0)|0;a=sk(a|0,D|0,1)|0;c[(c[j>>2]|0)+((c[h>>2]|0)+1<<2)>>2]=d-a;c[i>>2]=c[h>>2];while(1){if((c[i>>2]|0)<=1)break;b=c[(c[j>>2]|0)+((c[i>>2]|0)-2<<2)>>2]|0;a=c[g>>2]|0;d=c[(c[j>>2]|0)+((c[i>>2]|0)-1<<2)>>2]|0;d=rk(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=sk(d|0,D|0,15)|0;d=tk(d|0,D|0,1,0)|0;d=sk(d|0,D|0,1)|0;a=(c[j>>2]|0)+(c[i>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+(b-d);c[i>>2]=(c[i>>2]|0)+-1}a=(c[j>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)-(c[g>>2]|0);c[h>>2]=(c[h>>2]|0)+1}l=k;return}function gh(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;r=t+40|0;q=t+36|0;p=t+32|0;s=t+28|0;f=t+24|0;i=t+20|0;j=t+16|0;g=t+44|0;h=t+12|0;n=t+8|0;m=t+4|0;k=t;c[r>>2]=a;c[q>>2]=d;c[p>>2]=e;c[f>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=20)break;c[n>>2]=(b[c[r>>2]>>1]|0)-(b[c[q>>2]>>1]|0);c[f>>2]=0;c[s>>2]=1;while(1){e=c[r>>2]|0;if((c[s>>2]|0)>((c[p>>2]|0)-1|0))break;c[h>>2]=(b[e+(c[s>>2]<<1)>>1]|0)-((b[(c[r>>2]|0)+((c[s>>2]|0)-1<<1)>>1]|0)+(b[(c[q>>2]|0)+(c[s>>2]<<1)>>1]|0));if((c[h>>2]|0)<(c[n>>2]|0)){c[n>>2]=c[h>>2];c[f>>2]=c[s>>2]}c[s>>2]=(c[s>>2]|0)+1}c[h>>2]=32768-((b[e+((c[p>>2]|0)-1<<1)>>1]|0)+(b[(c[q>>2]|0)+(c[p>>2]<<1)>>1]|0));if((c[h>>2]|0)<(c[n>>2]|0)){c[n>>2]=c[h>>2];c[f>>2]=c[p>>2]}if((c[n>>2]|0)>=0){o=45;break}if(!(c[f>>2]|0))b[c[r>>2]>>1]=b[c[q>>2]>>1]|0;else{if((c[f>>2]|0)==(c[p>>2]|0)){e=(c[r>>2]|0)+((c[p>>2]|0)-1<<1)|0;d=32768-(b[(c[q>>2]|0)+(c[p>>2]<<1)>>1]|0)&65535}else{c[m>>2]=0;c[i>>2]=0;while(1){e=c[q>>2]|0;if((c[i>>2]|0)>=(c[f>>2]|0))break;c[m>>2]=(c[m>>2]|0)+(b[e+(c[i>>2]<<1)>>1]|0);c[i>>2]=(c[i>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+(b[e+(c[f>>2]<<1)>>1]>>1);c[k>>2]=32768;c[i>>2]=c[p>>2];while(1){e=c[q>>2]|0;if((c[i>>2]|0)<=(c[f>>2]|0))break;c[k>>2]=(c[k>>2]|0)-(b[e+(c[i>>2]<<1)>>1]|0);c[i>>2]=(c[i>>2]|0)+-1}c[k>>2]=(c[k>>2]|0)-(b[e+(c[f>>2]<<1)>>1]>>1);e=((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)>>1)+((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)&1)|0;do if((c[m>>2]|0)>(c[k>>2]|0)){if((e|0)>(c[m>>2]|0)){e=c[m>>2]|0;break}if((((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)>>1)+((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)&1)|0)<(c[k>>2]|0)){e=c[k>>2]|0;break}else{e=((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)>>1)+((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)&1)|0;break}}else{if((e|0)>(c[k>>2]|0)){e=c[k>>2]|0;break}if((((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)>>1)+((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)&1)|0)<(c[m>>2]|0)){e=c[m>>2]|0;break}else{e=((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)>>1)+((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)&1)|0;break}}while(0);b[g>>1]=e;b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]=(b[g>>1]|0)-(b[(c[q>>2]|0)+(c[f>>2]<<1)>>1]>>1);e=(c[r>>2]|0)+(c[f>>2]<<1)|0;d=(b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[q>>2]|0)+(c[f>>2]<<1)>>1]|0)&65535}b[e>>1]=d}c[j>>2]=(c[j>>2]|0)+1}if((o|0)==45){l=t;return}if((c[j>>2]|0)!=20){l=t;return}zh(c[r>>2]|0,c[p>>2]|0);o=(hh(b[c[r>>2]>>1]|0,b[c[q>>2]>>1]|0)|0)&65535;b[c[r>>2]>>1]=o;c[s>>2]=1;while(1){e=c[r>>2]|0;if((c[s>>2]|0)>=(c[p>>2]|0))break;d=b[e+(c[s>>2]<<1)>>1]|0;if(((b[(c[r>>2]|0)+((c[s>>2]|0)-1<<1)>>1]|0)+(b[(c[q>>2]|0)+(c[s>>2]<<1)>>1]|0)|0)<=32767)if(((b[(c[r>>2]|0)+((c[s>>2]|0)-1<<1)>>1]|0)+(b[(c[q>>2]|0)+(c[s>>2]<<1)>>1]|0)|0)<-32768)e=-32768;else e=(b[(c[r>>2]|0)+((c[s>>2]|0)-1<<1)>>1]|0)+(b[(c[q>>2]|0)+(c[s>>2]<<1)>>1]|0)|0;else e=32767;o=(hh(d,(e&65535)<<16>>16)|0)&65535;b[(c[r>>2]|0)+(c[s>>2]<<1)>>1]=o;c[s>>2]=(c[s>>2]|0)+1}o=(ih(b[e+((c[p>>2]|0)-1<<1)>>1]|0,32768-(b[(c[q>>2]|0)+(c[p>>2]<<1)>>1]|0)|0)|0)&65535;b[(c[r>>2]|0)+((c[p>>2]|0)-1<<1)>>1]=o;c[s>>2]=(c[p>>2]|0)-2;while(1){if((c[s>>2]|0)<0)break;p=(ih(b[(c[r>>2]|0)+(c[s>>2]<<1)>>1]|0,(b[(c[r>>2]|0)+((c[s>>2]|0)+1<<1)>>1]|0)-(b[(c[q>>2]|0)+((c[s>>2]|0)+1<<1)>>1]|0)|0)|0)&65535;b[(c[r>>2]|0)+(c[s>>2]<<1)>>1]=p;c[s>>2]=(c[s>>2]|0)+-1}l=t;return}function hh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function jh(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+20|0;i=m+16|0;f=m+12|0;g=m+8|0;j=m+4|0;k=m;c[h>>2]=a;c[i>>2]=d;c[f>>2]=e;c[j>>2]=kh(b[c[i>>2]>>1]|0,1)|0;c[j>>2]=131072/(c[j>>2]|0)|0;c[k>>2]=kh((b[(c[i>>2]|0)+2>>1]|0)-(b[c[i>>2]>>1]|0)|0,1)|0;c[k>>2]=131072/(c[k>>2]|0)|0;d=(lh((c[j>>2]|0)+(c[k>>2]|0)|0,32767)|0)&65535;b[c[h>>2]>>1]=d;c[g>>2]=1;while(1){e=c[i>>2]|0;if((c[g>>2]|0)>=((c[f>>2]|0)-1|0))break;c[j>>2]=kh((b[e+((c[g>>2]|0)+1<<1)>>1]|0)-(b[(c[i>>2]|0)+(c[g>>2]<<1)>>1]|0)|0,1)|0;c[j>>2]=131072/(c[j>>2]|0)|0;d=(lh((c[j>>2]|0)+(c[k>>2]|0)|0,32767)|0)&65535;b[(c[h>>2]|0)+(c[g>>2]<<1)>>1]=d;c[k>>2]=kh((b[(c[i>>2]|0)+((c[g>>2]|0)+2<<1)>>1]|0)-(b[(c[i>>2]|0)+((c[g>>2]|0)+1<<1)>>1]|0)|0,1)|0;c[k>>2]=131072/(c[k>>2]|0)|0;d=(lh((c[j>>2]|0)+(c[k>>2]|0)|0,32767)|0)&65535;b[(c[h>>2]|0)+((c[g>>2]|0)+1<<1)>>1]=d;c[g>>2]=(c[g>>2]|0)+2}c[j>>2]=kh(32768-(b[e+((c[f>>2]|0)-1<<1)>>1]|0)|0,1)|0;c[j>>2]=131072/(c[j>>2]|0)|0;k=(lh((c[j>>2]|0)+(c[k>>2]|0)|0,32767)|0)&65535;b[(c[h>>2]|0)+((c[f>>2]|0)-1<<1)>>1]=k;l=m;return}function kh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function lh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}
function Bb(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function Cb(){return l|0}function Db(a){a=a|0;l=a}function Eb(a,b){a=a|0;b=b|0;l=a;m=b}function Fb(a,b){a=a|0;b=b|0;if(!s){s=a;t=b}}function Gb(a){a=a|0;D=a}function Hb(){return D|0}function Ib(a,b,d,e,f){a=+a;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o+20|0;m=o+16|0;i=o+12|0;h=o+8|0;k=o+4|0;j=o;g[n>>2]=a;c[m>>2]=b;c[i>>2]=d;c[h>>2]=e;c[k>>2]=f;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;if(+g[n>>2]<+g[(c[m>>2]|0)+(c[j>>2]<<2)>>2])break;c[j>>2]=(c[j>>2]|0)+1}if((c[j>>2]|0)>(c[k>>2]|0)?+g[n>>2]<+g[(c[m>>2]|0)+(c[k>>2]<<2)>>2]+ +g[(c[i>>2]|0)+(c[k>>2]<<2)>>2]:0)c[j>>2]=c[k>>2];if((c[j>>2]|0)>=(c[k>>2]|0)){n=c[j>>2]|0;l=o;return n|0}if(!(+g[n>>2]>+g[(c[m>>2]|0)+((c[k>>2]|0)-1<<2)>>2]-+g[(c[i>>2]|0)+((c[k>>2]|0)-1<<2)>>2])){n=c[j>>2]|0;l=o;return n|0}c[j>>2]=c[k>>2];n=c[j>>2]|0;l=o;return n|0}function Jb(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(S(1664525,c[d>>2]|0)|0)+1013904223|0;l=b;return a|0}function Kb(a){a=a|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+6|0;f=e;d=e+4|0;b[g>>1]=a;c[f>>2]=4096+(S(b[g>>1]|0,b[g>>1]|0)|0)>>13;b[d>>1]=c[f>>2];b[d>>1]=32767-(b[d>>1]|0)+(16384+(S(b[d>>1]|0,((16384+(S(b[d>>1]|0,(8277+(16384+(S(-626,b[d>>1]|0)|0)>>15)&65535)<<16>>16)|0)>>15)+-7651&65535)<<16>>16)|0)>>15);l=e;return 1+(b[d>>1]|0)&65535|0}function Lb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;f=d+12|0;e=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=32-(V(c[e>>2]|0)|0);c[h>>2]=32-(V(c[f>>2]|0)|0);c[e>>2]=c[e>>2]<<15-(c[g>>2]|0);c[f>>2]=c[f>>2]<<15-(c[h>>2]|0);a=((c[h>>2]|0)-(c[g>>2]|0)<<11)+(16384+(S((c[f>>2]&65535)<<16>>16,((16384+(S((c[f>>2]&65535)<<16>>16,-2597)|0)>>15)+7932&65535)<<16>>16)|0)>>15)|0;a=a-(16384+(S((c[e>>2]&65535)<<16>>16,((16384+(S((c[e>>2]&65535)<<16>>16,-2597)|0)>>15)+7932&65535)<<16>>16)|0)>>15)|0;l=d;return a|0}function Mb(a,d,e,f,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=l;l=l+48|0;w=y+44|0;p=y+40|0;r=y+36|0;u=y+32|0;k=y+28|0;m=y+24|0;q=y+20|0;v=y+16|0;s=y+12|0;o=y+8|0;t=y+4|0;x=y;c[w>>2]=a;c[p>>2]=d;c[r>>2]=e;c[u>>2]=f;c[k>>2]=h;c[m>>2]=i;c[q>>2]=j;c[t>>2]=c[(c[w>>2]|0)+32>>2];c[o>>2]=c[(c[w>>2]|0)+44>>2]<<c[m>>2];c[s>>2]=0;do{c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[u>>2]|0))break;f=S(c[s>>2]|0,c[o>>2]|0)|0;a=S(c[s>>2]|0,c[o>>2]|0)|0;g[x>>2]=+ub[c[n+((c[q>>2]&7)<<2)>>2]&0]((c[p>>2]|0)+(f+(b[(c[t>>2]|0)+(c[v>>2]<<1)>>1]<<c[m>>2])<<2)|0,(c[p>>2]|0)+(a+(b[(c[t>>2]|0)+(c[v>>2]<<1)>>1]<<c[m>>2])<<2)|0,(b[(c[t>>2]|0)+((c[v>>2]|0)+1<<1)>>1]|0)-(b[(c[t>>2]|0)+(c[v>>2]<<1)>>1]|0)<<c[m>>2])+1.0000000272452012e-27;z=+G(+(+g[x>>2]));g[(c[r>>2]|0)+((c[v>>2]|0)+(S(c[s>>2]|0,c[(c[w>>2]|0)+8>>2]|0)|0)<<2)>>2]=z;c[v>>2]=(c[v>>2]|0)+1}a=(c[s>>2]|0)+1|0;c[s>>2]=a}while((a|0)<(c[k>>2]|0));l=y;return}function Nb(a,d,e,f,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=l;l=l+64|0;x=y+48|0;t=y+44|0;o=y+40|0;p=y+36|0;s=y+32|0;k=y+28|0;m=y+24|0;v=y+20|0;q=y+16|0;n=y+12|0;r=y+8|0;w=y+4|0;u=y;c[x>>2]=a;c[t>>2]=d;c[o>>2]=e;c[p>>2]=f;c[s>>2]=h;c[k>>2]=i;c[m>>2]=j;c[r>>2]=c[(c[x>>2]|0)+32>>2];c[n>>2]=S(c[m>>2]|0,c[(c[x>>2]|0)+44>>2]|0)|0;c[q>>2]=0;do{c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[s>>2]|0))break;g[u>>2]=1.0/(+g[(c[p>>2]|0)+((c[v>>2]|0)+(S(c[q>>2]|0,c[(c[x>>2]|0)+8>>2]|0)|0)<<2)>>2]+1.0000000272452012e-27);c[w>>2]=S(c[m>>2]|0,b[(c[r>>2]|0)+(c[v>>2]<<1)>>1]|0)|0;while(1){if((c[w>>2]|0)>=(S(c[m>>2]|0,b[(c[r>>2]|0)+((c[v>>2]|0)+1<<1)>>1]|0)|0))break;z=+g[(c[t>>2]|0)+((c[w>>2]|0)+(S(c[q>>2]|0,c[n>>2]|0)|0)<<2)>>2];g[(c[o>>2]|0)+((c[w>>2]|0)+(S(c[q>>2]|0,c[n>>2]|0)|0)<<2)>>2]=z*+g[u>>2];c[w>>2]=(c[w>>2]|0)+1}c[v>>2]=(c[v>>2]|0)+1}a=(c[q>>2]|0)+1|0;c[q>>2]=a}while((a|0)<(c[k>>2]|0));l=y;return}function Ob(a,d,e,f,h,i,j,k,m){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0;F=l;l=l+80|0;G=F+72|0;q=F+68|0;x=F+64|0;r=F+60|0;D=F+56|0;v=F+52|0;o=F+48|0;n=F+44|0;C=F+40|0;z=F+36|0;p=F+32|0;t=F+28|0;w=F+24|0;E=F+20|0;u=F+16|0;A=F+12|0;s=F+8|0;y=F+4|0;B=F;c[G>>2]=a;c[q>>2]=d;c[x>>2]=e;c[r>>2]=f;c[D>>2]=h;c[v>>2]=i;c[o>>2]=j;c[n>>2]=k;c[C>>2]=m;c[u>>2]=c[(c[G>>2]|0)+32>>2];c[p>>2]=S(c[o>>2]|0,c[(c[G>>2]|0)+44>>2]|0)|0;c[t>>2]=S(c[o>>2]|0,b[(c[u>>2]|0)+(c[v>>2]<<1)>>1]|0)|0;if((c[n>>2]|0)!=1){if((c[t>>2]|0)<((c[p>>2]|0)/(c[n>>2]|0)|0|0))j=c[t>>2]|0;else j=(c[p>>2]|0)/(c[n>>2]|0)|0;c[t>>2]=j}if(c[C>>2]|0){c[t>>2]=0;c[v>>2]=0;c[D>>2]=0}c[w>>2]=c[x>>2];c[E>>2]=(c[q>>2]|0)+((S(c[o>>2]|0,b[(c[u>>2]|0)+(c[D>>2]<<1)>>1]|0)|0)<<2);c[z>>2]=0;while(1){if((c[z>>2]|0)>=(S(c[o>>2]|0,b[(c[u>>2]|0)+(c[D>>2]<<1)>>1]|0)|0))break;G=c[w>>2]|0;c[w>>2]=G+4;g[G>>2]=0.0;c[z>>2]=(c[z>>2]|0)+1}c[z>>2]=c[D>>2];while(1){if((c[z>>2]|0)>=(c[v>>2]|0))break;c[A>>2]=S(c[o>>2]|0,b[(c[u>>2]|0)+(c[z>>2]<<1)>>1]|0)|0;c[s>>2]=S(c[o>>2]|0,b[(c[u>>2]|0)+((c[z>>2]|0)+1<<1)>>1]|0)|0;g[B>>2]=+g[(c[r>>2]|0)+(c[z>>2]<<2)>>2]+ +g[17464+(c[z>>2]<<2)>>2];g[y>>2]=+P(+((32.0<+g[B>>2]?32.0:+g[B>>2])*.6931471805599453));do{G=c[E>>2]|0;c[E>>2]=G+4;H=+g[G>>2]*+g[y>>2];G=c[w>>2]|0;c[w>>2]=G+4;g[G>>2]=H;G=(c[A>>2]|0)+1|0;c[A>>2]=G}while((G|0)<(c[s>>2]|0));c[z>>2]=(c[z>>2]|0)+1}wk((c[x>>2]|0)+(c[t>>2]<<2)|0,0,(c[p>>2]|0)-(c[t>>2]|0)<<2|0)|0;l=F;return}function Pb(a,e,f,h,i,j,k,m,n,o,p,q,r,s){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Y=l;l=l+112|0;K=Y+108|0;z=Y+104|0;C=Y+100|0;w=Y+96|0;u=Y+92|0;V=Y+88|0;Z=Y+84|0;E=Y+80|0;J=Y+76|0;M=Y+72|0;O=Y+68|0;Q=Y+64|0;U=Y+60|0;A=Y+56|0;B=Y+52|0;F=Y+48|0;H=Y+44|0;I=Y+40|0;x=Y+36|0;X=Y+32|0;W=Y+28|0;D=Y+24|0;y=Y+20|0;L=Y+16|0;N=Y+12|0;v=Y+8|0;R=Y+4|0;T=Y;c[K>>2]=a;c[z>>2]=e;c[C>>2]=f;c[w>>2]=h;c[u>>2]=i;c[V>>2]=j;c[Z>>2]=k;c[E>>2]=m;c[J>>2]=n;c[M>>2]=o;c[O>>2]=p;c[Q>>2]=q;c[U>>2]=r;c[A>>2]=s;c[F>>2]=c[Z>>2];while(1){if((c[F>>2]|0)>=(c[E>>2]|0))break;c[x>>2]=(b[(c[(c[K>>2]|0)+32>>2]|0)+((c[F>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[K>>2]|0)+32>>2]|0)+(c[F>>2]<<1)>>1]|0);Z=Qb(1+(c[(c[Q>>2]|0)+(c[F>>2]<<2)>>2]|0)|0,(b[(c[(c[K>>2]|0)+32>>2]|0)+((c[F>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[K>>2]|0)+32>>2]|0)+(c[F>>2]<<1)>>1]|0)|0)|0;c[D>>2]=Z>>>(c[w>>2]|0);g[X>>2]=+P(+(+(c[D>>2]|0)*-.125*.6931471805599453))*.5;g[W>>2]=1.0/+G(+(+(c[x>>2]<<c[w>>2]|0)));c[B>>2]=0;do{c[T>>2]=0;Z=S(c[B>>2]|0,c[(c[K>>2]|0)+8>>2]|0)|0;g[L>>2]=+g[(c[M>>2]|0)+(Z+(c[F>>2]|0)<<2)>>2];Z=S(c[B>>2]|0,c[(c[K>>2]|0)+8>>2]|0)|0;g[N>>2]=+g[(c[O>>2]|0)+(Z+(c[F>>2]|0)<<2)>>2];if((c[u>>2]|0)==1){if(+g[L>>2]>+g[(c[M>>2]|0)+((c[(c[K>>2]|0)+8>>2]|0)+(c[F>>2]|0)<<2)>>2])t=+g[L>>2];else t=+g[(c[M>>2]|0)+((c[(c[K>>2]|0)+8>>2]|0)+(c[F>>2]|0)<<2)>>2];g[L>>2]=t;if(+g[N>>2]>+g[(c[O>>2]|0)+((c[(c[K>>2]|0)+8>>2]|0)+(c[F>>2]|0)<<2)>>2])t=+g[N>>2];else t=+g[(c[O>>2]|0)+((c[(c[K>>2]|0)+8>>2]|0)+(c[F>>2]|0)<<2)>>2];g[N>>2]=t}Z=S(c[B>>2]|0,c[(c[K>>2]|0)+8>>2]|0)|0;g[v>>2]=+g[(c[J>>2]|0)+(Z+(c[F>>2]|0)<<2)>>2]-(+g[L>>2]<+g[N>>2]?+g[L>>2]:+g[N>>2]);g[v>>2]=0.0>+g[v>>2]?0.0:+g[v>>2];g[R>>2]=+P(+(-+g[v>>2]*.6931471805599453))*2.0;if((c[w>>2]|0)==3)g[R>>2]=+g[R>>2]*1.4142135381698608;g[R>>2]=+g[X>>2]<+g[R>>2]?+g[X>>2]:+g[R>>2];g[R>>2]=+g[R>>2]*+g[W>>2];Z=(c[z>>2]|0)+((S(c[B>>2]|0,c[V>>2]|0)|0)<<2)|0;c[y>>2]=Z+(b[(c[(c[K>>2]|0)+32>>2]|0)+(c[F>>2]<<1)>>1]<<c[w>>2]<<2);c[I>>2]=0;while(1){if((c[I>>2]|0)>=(1<<c[w>>2]|0))break;Z=S(c[F>>2]|0,c[u>>2]|0)|0;if(!(d[(c[C>>2]|0)+(Z+(c[B>>2]|0))>>0]&1<<c[I>>2])){c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[x>>2]|0))break;c[U>>2]=Jb(c[U>>2]|0)|0;t=+g[R>>2];g[(c[y>>2]|0)+((c[H>>2]<<c[w>>2])+(c[I>>2]|0)<<2)>>2]=c[U>>2]&32768|0?t:-t;c[H>>2]=(c[H>>2]|0)+1}c[T>>2]=1}c[I>>2]=(c[I>>2]|0)+1}if(c[T>>2]|0)we(c[y>>2]|0,c[x>>2]<<c[w>>2],1.0,c[A>>2]|0);Z=(c[B>>2]|0)+1|0;c[B>>2]=Z}while((Z|0)<(c[u>>2]|0));c[F>>2]=(c[F>>2]|0)+1}l=Y;return}function Qb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function Rb(a,d,e,f,h,i,j,k,m,n,o){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=l;l=l+112|0;G=P+108|0;E=P+104|0;t=P+100|0;u=P+96|0;D=P+92|0;z=P+88|0;J=P+84|0;M=P+80|0;y=P+76|0;p=P+72|0;q=P+68|0;H=P+64|0;B=P+60|0;v=P+56|0;s=P+52|0;I=P+48|0;F=P+44|0;x=P+40|0;w=P+36|0;A=P+32|0;C=P+28|0;r=P+24|0;L=P+20|0;K=P+8|0;N=P+4|0;O=P;c[E>>2]=a;c[t>>2]=d;c[u>>2]=e;c[D>>2]=f;c[z>>2]=h;c[J>>2]=i;c[M>>2]=j;c[y>>2]=k;c[p>>2]=m;c[q>>2]=n;c[H>>2]=o;c[I>>2]=0;c[F>>2]=0;c[x>>2]=c[(c[E>>2]|0)+32>>2];c[A>>2]=0;c[s>>2]=S(c[q>>2]|0,c[(c[E>>2]|0)+44>>2]|0)|0;if((S(c[q>>2]|0,(b[(c[x>>2]|0)+(c[y>>2]<<1)>>1]|0)-(b[(c[x>>2]|0)+((c[y>>2]|0)-1<<1)>>1]|0)|0)|0)<=8){c[G>>2]=0;O=c[G>>2]|0;l=P;return O|0}c[v>>2]=0;do{c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[y>>2]|0))break;c[L>>2]=0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;j=(c[t>>2]|0)+((S(c[q>>2]|0,b[(c[x>>2]|0)+(c[B>>2]<<1)>>1]|0)|0)<<2)|0;c[N>>2]=j+((S(c[v>>2]|0,c[s>>2]|0)|0)<<2);c[r>>2]=S(c[q>>2]|0,(b[(c[x>>2]|0)+((c[B>>2]|0)+1<<1)>>1]|0)-(b[(c[x>>2]|0)+(c[B>>2]<<1)>>1]|0)|0)|0;if((c[r>>2]|0)>8){c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[r>>2]|0))break;g[O>>2]=+g[(c[N>>2]|0)+(c[C>>2]<<2)>>2]*+g[(c[N>>2]|0)+(c[C>>2]<<2)>>2]*+(c[r>>2]|0);if(+g[O>>2]<.25)c[K>>2]=(c[K>>2]|0)+1;if(+g[O>>2]<.0625){j=K+4|0;c[j>>2]=(c[j>>2]|0)+1}if(+g[O>>2]<.015625){j=K+8|0;c[j>>2]=(c[j>>2]|0)+1}c[C>>2]=(c[C>>2]|0)+1}if((c[B>>2]|0)>((c[(c[E>>2]|0)+8>>2]|0)-4|0)){j=Qb((c[K+4>>2]|0)+(c[K>>2]|0)<<5,c[r>>2]|0)|0;c[A>>2]=(c[A>>2]|0)+j}c[L>>2]=((c[K+8>>2]<<1|0)>=(c[r>>2]|0)&1)+((c[K+4>>2]<<1|0)>=(c[r>>2]|0)&1)+((c[K>>2]<<1|0)>=(c[r>>2]|0)&1);j=S(c[L>>2]|0,c[(c[H>>2]|0)+(c[B>>2]<<2)>>2]|0)|0;c[I>>2]=(c[I>>2]|0)+j;c[F>>2]=(c[F>>2]|0)+(c[(c[H>>2]|0)+(c[B>>2]<<2)>>2]|0)}c[B>>2]=(c[B>>2]|0)+1}j=(c[v>>2]|0)+1|0;c[v>>2]=j}while((j|0)<(c[p>>2]|0));do if(c[M>>2]|0){if(c[A>>2]|0)c[A>>2]=Qb(c[A>>2]|0,S(c[p>>2]|0,4-(c[(c[E>>2]|0)+8>>2]|0)+(c[y>>2]|0)|0)|0)|0;c[c[z>>2]>>2]=(c[c[z>>2]>>2]|0)+(c[A>>2]|0)>>1;c[A>>2]=c[c[z>>2]>>2];if((c[c[J>>2]>>2]|0)!=2){if(!(c[c[J>>2]>>2]|0))c[A>>2]=(c[A>>2]|0)-4}else c[A>>2]=(c[A>>2]|0)+4;if((c[A>>2]|0)>22){c[c[J>>2]>>2]=2;break}else{c[c[J>>2]>>2]=(c[A>>2]|0)>18?1:0;break}}while(0);c[I>>2]=Qb(c[I>>2]<<8,c[F>>2]|0)|0;c[I>>2]=(c[I>>2]|0)+(c[c[u>>2]>>2]|0)>>1;c[c[u>>2]>>2]=c[I>>2];c[I>>2]=((c[I>>2]|0)*3|0)+((3-(c[D>>2]|0)<<7)+64)+2>>2;do if((c[I>>2]|0)>=80){if((c[I>>2]|0)<256){c[w>>2]=2;break}if((c[I>>2]|0)<384){c[w>>2]=1;break}else{c[w>>2]=0;break}}else c[w>>2]=3;while(0);c[G>>2]=c[w>>2];O=c[G>>2]|0;l=P;return O|0}function Sb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+24|0;e=n+20|0;j=n+16|0;h=n+12|0;i=n+8|0;k=n+4|0;m=n;c[f>>2]=a;c[e>>2]=b;c[j>>2]=d;c[e>>2]=c[e>>2]>>1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[e>>2]|0))break;d=S(c[j>>2]<<1,c[i>>2]|0)|0;g[k>>2]=+g[(c[f>>2]|0)+(d+(c[h>>2]|0)<<2)>>2]*.7071067690849304;d=S(c[j>>2]|0,(c[i>>2]<<1)+1|0)|0;g[m>>2]=+g[(c[f>>2]|0)+(d+(c[h>>2]|0)<<2)>>2]*.7071067690849304;d=S(c[j>>2]<<1,c[i>>2]|0)|0;g[(c[f>>2]|0)+(d+(c[h>>2]|0)<<2)>>2]=+g[k>>2]+ +g[m>>2];d=S(c[j>>2]|0,(c[i>>2]<<1)+1|0)|0;g[(c[f>>2]|0)+(d+(c[h>>2]|0)<<2)>>2]=+g[k>>2]-+g[m>>2];c[i>>2]=(c[i>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+1}l=n;return}function Tb(e,f,h,i,j,k,m,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;var E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0.0,Ya=0.0;Wa=l;l=l+1808|0;H=Wa+528|0;za=Wa+524|0;Ma=Wa+520|0;pa=Wa+516|0;P=Wa+512|0;R=Wa+508|0;aa=Wa+504|0;W=Wa+500|0;Fa=Wa+496|0;F=Wa+492|0;La=Wa+488|0;ha=Wa+484|0;ua=Wa+480|0;Pa=Wa+476|0;Ra=Wa+472|0;V=Wa+468|0;ja=Wa+464|0;L=Wa+460|0;$=Wa+456|0;Ka=Wa+452|0;E=Wa+448|0;T=Wa+444|0;G=Wa+440|0;ta=Wa+436|0;Ga=Wa+432|0;ia=Wa+428|0;Ba=Wa+424|0;Ca=Wa+420|0;I=Wa+416|0;ya=Wa+412|0;J=Wa+408|0;M=Wa+404|0;xa=Wa+400|0;Sa=Wa+396|0;K=Wa+392|0;Da=Wa+388|0;Qa=Wa+384|0;Ha=Wa+380|0;ba=Wa+320|0;Ja=Wa+316|0;Na=Wa+312|0;U=Wa+308|0;N=Wa+304|0;ea=Wa+300|0;oa=Wa+296|0;O=Wa+292|0;Q=Wa+288|0;Oa=Wa+284|0;Ua=Wa+280|0;Va=Wa+276|0;wa=Wa+272|0;sa=Wa+268|0;qa=Wa+264|0;ra=Wa+260|0;va=Wa+256|0;ma=Wa+208|0;na=Wa+160|0;ca=Wa+100|0;da=Wa+40|0;fa=Wa+36|0;ga=Wa+32|0;Z=Wa+28|0;_=Wa+24|0;Ea=Wa+20|0;Aa=Wa+16|0;Ia=Wa+12|0;X=Wa+8|0;Y=Wa+532|0;Ta=Wa;c[H>>2]=e;c[za>>2]=f;c[Ma>>2]=h;c[pa>>2]=i;c[P>>2]=j;c[R>>2]=k;c[aa>>2]=m;c[W>>2]=o;c[Fa>>2]=p;c[F>>2]=q;c[La>>2]=r;c[ha>>2]=s;c[ua>>2]=t;c[Pa>>2]=u;c[Ra>>2]=v;c[V>>2]=w;c[ja>>2]=x;c[L>>2]=y;c[$>>2]=z;c[Ka>>2]=A;c[E>>2]=B;c[T>>2]=C;c[G>>2]=D;c[ia>>2]=c[(c[za>>2]|0)+32>>2];c[Sa>>2]=1;c[K>>2]=c[R>>2]|0?2:1;if((c[H>>2]|0)!=0&(c[R>>2]|0)!=0^1|(c[ha>>2]|0)!=0)y=0;else y=(c[E>>2]|0)>=8;c[Qa>>2]=y&1;c[Ha>>2]=(c[H>>2]|0?(c[Qa>>2]|0)!=0:1)&1;c[M>>2]=1<<c[L>>2];c[J>>2]=c[F>>2]|0?c[M>>2]|0:1;c[Da>>2]=S(c[M>>2]|0,b[(c[ia>>2]|0)+(c[Ma>>2]<<1)>>1]|0)|0;v=S(c[M>>2]|0,b[(c[ia>>2]|0)+((c[(c[za>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0;v=S(c[K>>2]|0,v-(c[Da>>2]|0)|0)|0;c[Ja>>2]=la()|0;F=l;l=l+((1*(v<<2)|0)+15&-16)|0;c[Ba>>2]=F;F=(c[Ba>>2]|0)+((S(c[M>>2]|0,b[(c[ia>>2]|0)+((c[(c[za>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0)<<2)|0;c[Ca>>2]=F+(0-(c[Da>>2]|0)<<2);if((c[H>>2]|0)!=0&(c[Ha>>2]|0)!=0)c[I>>2]=S(c[M>>2]|0,(b[(c[ia>>2]|0)+(c[(c[za>>2]|0)+8>>2]<<1)>>1]|0)-(b[(c[ia>>2]|0)+((c[(c[za>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0)|0;else c[I>>2]=1;y=l;l=l+((1*(c[I>>2]<<2)|0)+15&-16)|0;if((c[H>>2]|0)!=0&(c[Ha>>2]|0)!=0)c[ya>>2]=y;else c[ya>>2]=(c[P>>2]|0)+((S(c[M>>2]|0,b[(c[ia>>2]|0)+((c[(c[za>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0)<<2);C=l;l=l+((1*(c[I>>2]<<2)|0)+15&-16)|0;w=l;l=l+((1*(c[I>>2]<<2)|0)+15&-16)|0;o=l;l=l+((1*(c[I>>2]<<2)|0)+15&-16)|0;z=l;l=l+((1*(c[I>>2]<<2)|0)+15&-16)|0;m=l;l=l+((1*(c[I>>2]<<2)|0)+15&-16)|0;c[xa>>2]=0;c[ba+36>>2]=c[W>>2];c[ba+28>>2]=c[ja>>2];c[ba>>2]=c[H>>2];c[ba+16>>2]=c[ua>>2];c[ba+8>>2]=c[za>>2];c[ba+40>>2]=c[c[Ka>>2]>>2];c[ba+20>>2]=c[La>>2];c[ba+44>>2]=c[T>>2];c[ba+52>>2]=c[G>>2];c[ba+4>>2]=c[Ha>>2];c[ba+48>>2]=0;c[ba+56>>2]=(c[J>>2]|0)>1&1;c[ta>>2]=c[Ma>>2];while(1){if((c[ta>>2]|0)>=(c[pa>>2]|0))break;c[oa>>2]=-1;c[Oa>>2]=0;c[ba+12>>2]=c[ta>>2];c[wa>>2]=(c[ta>>2]|0)==((c[pa>>2]|0)-1|0)&1;c[O>>2]=(c[P>>2]|0)+((S(c[M>>2]|0,b[(c[ia>>2]|0)+(c[ta>>2]<<1)>>1]|0)|0)<<2);if(c[R>>2]|0)c[Q>>2]=(c[R>>2]|0)+((S(c[M>>2]|0,b[(c[ia>>2]|0)+(c[ta>>2]<<1)>>1]|0)|0)<<2);else c[Q>>2]=0;I=S(c[M>>2]|0,b[(c[ia>>2]|0)+((c[ta>>2]|0)+1<<1)>>1]|0)|0;c[N>>2]=I-(S(c[M>>2]|0,b[(c[ia>>2]|0)+(c[ta>>2]<<1)>>1]|0)|0);c[Na>>2]=bd(c[ja>>2]|0)|0;if((c[ta>>2]|0)!=(c[Ma>>2]|0))c[V>>2]=(c[V>>2]|0)-(c[Na>>2]|0);c[Ga>>2]=(c[Ra>>2]|0)-(c[Na>>2]|0)-1;c[ba+32>>2]=c[Ga>>2];if((c[ta>>2]|0)<=((c[$>>2]|0)-1|0)){if(3<((c[$>>2]|0)-(c[ta>>2]|0)|0))y=3;else y=(c[$>>2]|0)-(c[ta>>2]|0)|0;c[ea>>2]=Ub(c[V>>2]|0,y)|0;if(((c[Ga>>2]|0)+1|0)<((c[(c[Fa>>2]|0)+(c[ta>>2]<<2)>>2]|0)+(c[ea>>2]|0)|0))y=(c[Ga>>2]|0)+1|0;else y=(c[(c[Fa>>2]|0)+(c[ta>>2]<<2)>>2]|0)+(c[ea>>2]|0)|0;do if(16383>=(y|0))if(((c[Ga>>2]|0)+1|0)<((c[(c[Fa>>2]|0)+(c[ta>>2]<<2)>>2]|0)+(c[ea>>2]|0)|0)){y=(c[Ga>>2]|0)+1|0;break}else{y=(c[(c[Fa>>2]|0)+(c[ta>>2]<<2)>>2]|0)+(c[ea>>2]|0)|0;break}else y=16383;while(0);do if(0<=(y|0)){if(((c[Ga>>2]|0)+1|0)<((c[(c[Fa>>2]|0)+(c[ta>>2]<<2)>>2]|0)+(c[ea>>2]|0)|0))y=(c[Ga>>2]|0)+1|0;else y=(c[(c[Fa>>2]|0)+(c[ta>>2]<<2)>>2]|0)+(c[ea>>2]|0)|0;if(16383>=(y|0))if(((c[Ga>>2]|0)+1|0)<((c[(c[Fa>>2]|0)+(c[ta>>2]<<2)>>2]|0)+(c[ea>>2]|0)|0)){y=(c[Ga>>2]|0)+1|0;break}else{y=(c[(c[Fa>>2]|0)+(c[ta>>2]<<2)>>2]|0)+(c[ea>>2]|0)|0;break}else y=16383}else y=0;while(0);c[U>>2]=y}else c[U>>2]=0;do if(c[Ha>>2]|0){I=S(c[M>>2]|0,b[(c[ia>>2]|0)+(c[ta>>2]<<1)>>1]|0)|0;if((I-(c[N>>2]|0)|0)<(S(c[M>>2]|0,b[(c[ia>>2]|0)+(c[Ma>>2]<<1)>>1]|0)|0)?(c[ta>>2]|0)!=((c[Ma>>2]|0)+1|0):0)break;if((c[Sa>>2]|0)!=0|(c[xa>>2]|0)==0)c[xa>>2]=c[ta>>2]}while(0);if((c[ta>>2]|0)==((c[Ma>>2]|0)+1|0))Vb(c[za>>2]|0,c[Ba>>2]|0,c[Ca>>2]|0,c[Ma>>2]|0,c[M>>2]|0,c[ha>>2]|0);c[Oa>>2]=c[(c[Pa>>2]|0)+(c[ta>>2]<<2)>>2];c[ba+24>>2]=c[Oa>>2];if((c[ta>>2]|0)>=(c[(c[za>>2]|0)+12>>2]|0)){c[O>>2]=c[Ba>>2];if(c[R>>2]|0)c[Q>>2]=c[Ba>>2];c[ya>>2]=0}if(!((c[wa>>2]|0)==0|(c[Qa>>2]|0)!=0))c[ya>>2]=0;if(c[xa>>2]|0?(c[La>>2]|0)!=3|(c[J>>2]|0)>1|(c[Oa>>2]|0)<0:0){I=S(c[M>>2]|0,b[(c[ia>>2]|0)+(c[xa>>2]<<1)>>1]|0)|0;if(0>(I-(c[Da>>2]|0)-(c[N>>2]|0)|0))y=0;else{y=S(c[M>>2]|0,b[(c[ia>>2]|0)+(c[xa>>2]<<1)>>1]|0)|0;y=y-(c[Da>>2]|0)-(c[N>>2]|0)|0}c[oa>>2]=y;c[sa>>2]=c[xa>>2];do{G=c[M>>2]|0;H=c[ia>>2]|0;I=(c[sa>>2]|0)+-1|0;c[sa>>2]=I;I=S(G,b[H+(I<<1)>>1]|0)|0}while((I|0)>((c[oa>>2]|0)+(c[Da>>2]|0)|0));c[qa>>2]=(c[xa>>2]|0)-1;do{I=(c[qa>>2]|0)+1|0;c[qa>>2]=I;if((I|0)>=(c[ta>>2]|0))break;I=S(c[M>>2]|0,b[(c[ia>>2]|0)+(c[qa>>2]<<1)>>1]|0)|0}while((I|0)<((c[oa>>2]|0)+(c[Da>>2]|0)+(c[N>>2]|0)|0));c[Va>>2]=0;c[Ua>>2]=0;c[ra>>2]=c[sa>>2];do{I=d[(c[aa>>2]|0)+((S(c[ra>>2]|0,c[K>>2]|0)|0)+0)>>0]|0;c[Ua>>2]=c[Ua>>2]|I;I=S(c[ra>>2]|0,c[K>>2]|0)|0;c[Va>>2]=c[Va>>2]|d[(c[aa>>2]|0)+(I+(c[K>>2]|0)-1)>>0];I=(c[ra>>2]|0)+1|0;c[ra>>2]=I}while((I|0)<(c[qa>>2]|0))}else{I=(1<<c[J>>2])-1|0;c[Va>>2]=I;c[Ua>>2]=I}a:do if((c[ha>>2]|0?(c[ta>>2]|0)==(c[ua>>2]|0):0)?(c[ha>>2]=0,c[Ha>>2]|0):0){c[va>>2]=0;while(1){I=S(c[M>>2]|0,b[(c[ia>>2]|0)+(c[ta>>2]<<1)>>1]|0)|0;if((c[va>>2]|0)>=(I-(c[Da>>2]|0)|0))break a;g[(c[Ba>>2]|0)+(c[va>>2]<<2)>>2]=(+g[(c[Ba>>2]|0)+(c[va>>2]<<2)>>2]+ +g[(c[Ca>>2]|0)+(c[va>>2]<<2)>>2])*.5;c[va>>2]=(c[va>>2]|0)+1}}while(0);if(c[ha>>2]|0){if((c[oa>>2]|0)!=-1)y=(c[Ba>>2]|0)+(c[oa>>2]<<2)|0;else y=0;if(c[wa>>2]|0)j=0;else{j=(c[Ba>>2]|0)+((S(c[M>>2]|0,b[(c[ia>>2]|0)+(c[ta>>2]<<1)>>1]|0)|0)<<2)|0;j=j+(0-(c[Da>>2]|0)<<2)|0}c[Ua>>2]=Wb(ba,c[O>>2]|0,c[N>>2]|0,(c[U>>2]|0)/2|0,c[J>>2]|0,y,c[L>>2]|0,j,1.0,c[ya>>2]|0,c[Ua>>2]|0)|0;if((c[oa>>2]|0)!=-1)y=(c[Ca>>2]|0)+(c[oa>>2]<<2)|0;else y=0;if(c[wa>>2]|0)j=0;else{j=(c[Ca>>2]|0)+((S(c[M>>2]|0,b[(c[ia>>2]|0)+(c[ta>>2]<<1)>>1]|0)|0)<<2)|0;j=j+(0-(c[Da>>2]|0)<<2)|0}c[Va>>2]=Wb(ba,c[Q>>2]|0,c[N>>2]|0,(c[U>>2]|0)/2|0,c[J>>2]|0,y,c[L>>2]|0,j,1.0,c[ya>>2]|0,c[Va>>2]|0)|0}else{b:do if(c[Q>>2]|0){do if(c[Qa>>2]|0){if((c[ta>>2]|0)>=(c[ua>>2]|0))break;Xb(+g[(c[W>>2]|0)+(c[ta>>2]<<2)>>2],+g[(c[W>>2]|0)+((c[ta>>2]|0)+(c[(c[za>>2]|0)+8>>2]|0)<<2)>>2],Ta);c[Z>>2]=c[Ua>>2]|c[Va>>2];y=ma;j=c[ja>>2]|0;k=y+48|0;do{c[y>>2]=c[j>>2];y=y+4|0;j=j+4|0}while((y|0)<(k|0));y=ca;j=ba;k=y+60|0;do{c[y>>2]=c[j>>2];y=y+4|0;j=j+4|0}while((y|0)<(k|0));uk(C|0,c[O>>2]|0,(c[N>>2]<<2)+0|0)|0;uk(w|0,c[Q>>2]|0,(c[N>>2]<<2)+0|0)|0;c[ba+48>>2]=-1;if((c[oa>>2]|0)!=-1)y=(c[Ba>>2]|0)+(c[oa>>2]<<2)|0;else y=0;if(c[wa>>2]|0)j=0;else{j=(c[Ba>>2]|0)+((S(c[M>>2]|0,b[(c[ia>>2]|0)+(c[ta>>2]<<1)>>1]|0)|0)<<2)|0;j=j+(0-(c[Da>>2]|0)<<2)|0}c[Ua>>2]=Yb(ba,c[O>>2]|0,c[Q>>2]|0,c[N>>2]|0,c[U>>2]|0,c[J>>2]|0,y,c[L>>2]|0,j,c[ya>>2]|0,c[Z>>2]|0)|0;Ya=+g[Ta>>2];Ya=Ya*+ub[c[n+((c[T>>2]&7)<<2)>>2]&0](C,c[O>>2]|0,c[N>>2]|0);Xa=+g[Ta+4>>2];g[fa>>2]=Ya+Xa*+ub[c[n+((c[T>>2]&7)<<2)>>2]&0](w,c[Q>>2]|0,c[N>>2]|0);c[_>>2]=c[Ua>>2];y=na;j=c[ja>>2]|0;k=y+48|0;do{c[y>>2]=c[j>>2];y=y+4|0;j=j+4|0}while((y|0)<(k|0));y=da;j=ba;k=y+60|0;do{c[y>>2]=c[j>>2];y=y+4|0;j=j+4|0}while((y|0)<(k|0));uk(o|0,c[O>>2]|0,(c[N>>2]<<2)+0|0)|0;uk(z|0,c[Q>>2]|0,(c[N>>2]<<2)+0|0)|0;if(!(c[wa>>2]|0)){I=(c[Ba>>2]|0)+((S(c[M>>2]|0,b[(c[ia>>2]|0)+(c[ta>>2]<<1)>>1]|0)|0)<<2)|0;uk(m|0,I+(0-(c[Da>>2]|0)<<2)|0,(c[N>>2]<<2)+0|0)|0}c[Ea>>2]=c[ma+24>>2];c[Aa>>2]=c[ma+4>>2];c[X>>2]=(c[ma>>2]|0)+(c[Ea>>2]|0);c[Ia>>2]=(c[Aa>>2]|0)-(c[Ea>>2]|0);uk(Y|0,c[X>>2]|0,(c[Ia>>2]|0)+0|0)|0;y=c[ja>>2]|0;j=ma;k=y+48|0;do{c[y>>2]=c[j>>2];y=y+4|0;j=j+4|0}while((y|0)<(k|0));y=ba;j=ca;k=y+60|0;do{c[y>>2]=c[j>>2];y=y+4|0;j=j+4|0}while((y|0)<(k|0));uk(c[O>>2]|0,C|0,(c[N>>2]<<2)+0|0)|0;uk(c[Q>>2]|0,w|0,(c[N>>2]<<2)+0|0)|0;if((c[ta>>2]|0)==((c[Ma>>2]|0)+1|0))Vb(c[za>>2]|0,c[Ba>>2]|0,c[Ca>>2]|0,c[Ma>>2]|0,c[M>>2]|0,c[ha>>2]|0);c[ba+48>>2]=1;if((c[oa>>2]|0)!=-1)y=(c[Ba>>2]|0)+(c[oa>>2]<<2)|0;else y=0;if(c[wa>>2]|0)j=0;else{j=(c[Ba>>2]|0)+((S(c[M>>2]|0,b[(c[ia>>2]|0)+(c[ta>>2]<<1)>>1]|0)|0)<<2)|0;j=j+(0-(c[Da>>2]|0)<<2)|0}c[Ua>>2]=Yb(ba,c[O>>2]|0,c[Q>>2]|0,c[N>>2]|0,c[U>>2]|0,c[J>>2]|0,y,c[L>>2]|0,j,c[ya>>2]|0,c[Z>>2]|0)|0;Xa=+g[Ta>>2];Xa=Xa*+ub[c[n+((c[T>>2]&7)<<2)>>2]&0](C,c[O>>2]|0,c[N>>2]|0);Ya=+g[Ta+4>>2];g[ga>>2]=Xa+Ya*+ub[c[n+((c[T>>2]&7)<<2)>>2]&0](w,c[Q>>2]|0,c[N>>2]|0);if(!(+g[fa>>2]>=+g[ga>>2]))break b;c[Ua>>2]=c[_>>2];y=c[ja>>2]|0;j=na;k=y+48|0;do{c[y>>2]=c[j>>2];y=y+4|0;j=j+4|0}while((y|0)<(k|0));y=ba;j=da;k=y+60|0;do{c[y>>2]=c[j>>2];y=y+4|0;j=j+4|0}while((y|0)<(k|0));uk(c[O>>2]|0,o|0,(c[N>>2]<<2)+0|0)|0;uk(c[Q>>2]|0,z|0,(c[N>>2]<<2)+0|0)|0;if(!(c[wa>>2]|0)){I=(c[Ba>>2]|0)+((S(c[M>>2]|0,b[(c[ia>>2]|0)+(c[ta>>2]<<1)>>1]|0)|0)<<2)|0;uk(I+(0-(c[Da>>2]|0)<<2)|0,m|0,(c[N>>2]<<2)+0|0)|0}uk(c[X>>2]|0,Y|0,(c[Ia>>2]|0)+0|0)|0;break b}while(0);c[ba+48>>2]=0;if((c[oa>>2]|0)!=-1)y=(c[Ba>>2]|0)+(c[oa>>2]<<2)|0;else y=0;if(c[wa>>2]|0)j=0;else{j=(c[Ba>>2]|0)+((S(c[M>>2]|0,b[(c[ia>>2]|0)+(c[ta>>2]<<1)>>1]|0)|0)<<2)|0;j=j+(0-(c[Da>>2]|0)<<2)|0}c[Ua>>2]=Yb(ba,c[O>>2]|0,c[Q>>2]|0,c[N>>2]|0,c[U>>2]|0,c[J>>2]|0,y,c[L>>2]|0,j,c[ya>>2]|0,c[Ua>>2]|c[Va>>2])|0}else{if((c[oa>>2]|0)!=-1)y=(c[Ba>>2]|0)+(c[oa>>2]<<2)|0;else y=0;if(c[wa>>2]|0)j=0;else{j=(c[Ba>>2]|0)+((S(c[M>>2]|0,b[(c[ia>>2]|0)+(c[ta>>2]<<1)>>1]|0)|0)<<2)|0;j=j+(0-(c[Da>>2]|0)<<2)|0}c[Ua>>2]=Wb(ba,c[O>>2]|0,c[N>>2]|0,c[U>>2]|0,c[J>>2]|0,y,c[L>>2]|0,j,1.0,c[ya>>2]|0,c[Ua>>2]|c[Va>>2])|0}while(0);c[Va>>2]=c[Ua>>2]}a[(c[aa>>2]|0)+((S(c[ta>>2]|0,c[K>>2]|0)|0)+0)>>0]=c[Ua>>2];I=S(c[ta>>2]|0,c[K>>2]|0)|0;a[(c[aa>>2]|0)+(I+(c[K>>2]|0)-1)>>0]=c[Va>>2];c[V>>2]=(c[V>>2]|0)+((c[(c[Fa>>2]|0)+(c[ta>>2]<<2)>>2]|0)+(c[Na>>2]|0));c[Sa>>2]=(c[U>>2]|0)>(c[N>>2]<<3|0)&1;c[ba+56>>2]=0;c[ta>>2]=(c[ta>>2]|0)+1}c[c[Ka>>2]>>2]=c[ba+40>>2];ka(c[Ja>>2]|0);l=Wa;return}function Ub(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return (c[e>>2]|0)/(c[d>>2]|0)|0|0}function Vb(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=l;l=l+48|0;s=m+32|0;o=m+28|0;k=m+24|0;p=m+20|0;r=m+16|0;n=m+12|0;i=m+8|0;j=m+4|0;q=m;c[s>>2]=a;c[o>>2]=d;c[k>>2]=e;c[p>>2]=f;c[r>>2]=g;c[n>>2]=h;c[q>>2]=c[(c[s>>2]|0)+32>>2];c[i>>2]=S(c[r>>2]|0,(b[(c[q>>2]|0)+((c[p>>2]|0)+1<<1)>>1]|0)-(b[(c[q>>2]|0)+(c[p>>2]<<1)>>1]|0)|0)|0;c[j>>2]=S(c[r>>2]|0,(b[(c[q>>2]|0)+((c[p>>2]|0)+2<<1)>>1]|0)-(b[(c[q>>2]|0)+((c[p>>2]|0)+1<<1)>>1]|0)|0)|0;uk((c[o>>2]|0)+(c[i>>2]<<2)|0,(c[o>>2]|0)+((c[i>>2]<<1)-(c[j>>2]|0)<<2)|0,((c[j>>2]|0)-(c[i>>2]|0)<<2)+0|0)|0;if(!(c[n>>2]|0)){l=m;return}uk((c[k>>2]|0)+(c[i>>2]<<2)|0,(c[k>>2]|0)+((c[i>>2]<<1)-(c[j>>2]|0)<<2)|0,((c[j>>2]|0)-(c[i>>2]|0)<<2)+0|0)|0;l=m;return}function Wb(a,b,e,f,h,i,j,k,m,n,o){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=+m;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=l;l=l+112|0;M=P+96|0;z=P+92|0;w=P+88|0;s=P+84|0;x=P+80|0;p=P+76|0;H=P+72|0;r=P+68|0;I=P+64|0;C=P+60|0;J=P+56|0;B=P+52|0;t=P+48|0;u=P+44|0;v=P+40|0;q=P+36|0;O=P+32|0;L=P+28|0;F=P+24|0;y=P+20|0;E=P+16|0;A=P+12|0;N=P+8|0;D=P+4|0;K=P;c[z>>2]=a;c[w>>2]=b;c[s>>2]=e;c[x>>2]=f;c[p>>2]=h;c[H>>2]=i;c[r>>2]=j;c[I>>2]=k;g[C>>2]=m;c[J>>2]=n;c[B>>2]=o;c[t>>2]=c[s>>2];c[u>>2]=c[s>>2];c[q>>2]=c[p>>2];c[O>>2]=0;c[L>>2]=0;c[y>>2]=0;c[A>>2]=c[c[z>>2]>>2];c[N>>2]=c[(c[z>>2]|0)+24>>2];c[F>>2]=(c[q>>2]|0)==1&1;c[u>>2]=Qb(c[u>>2]|0,c[p>>2]|0)|0;if((c[s>>2]|0)==1){c[M>>2]=Zb(c[z>>2]|0,c[w>>2]|0,0,c[x>>2]|0,c[I>>2]|0)|0;O=c[M>>2]|0;l=P;return O|0}if((c[N>>2]|0)>0)c[L>>2]=c[N>>2];do if((c[J>>2]|0)!=0&(c[H>>2]|0)!=0){if((c[L>>2]|0)==0?!((c[u>>2]&1|0)==0&(c[N>>2]|0)<0|(c[q>>2]|0)>1):0)break;uk(c[J>>2]|0,c[H>>2]|0,(c[s>>2]<<2)+0|0)|0;c[H>>2]=c[J>>2]}while(0);c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[L>>2]|0))break;if(c[A>>2]|0)Sb(c[w>>2]|0,c[s>>2]>>c[E>>2],1<<c[E>>2]);if(c[H>>2]|0)Sb(c[H>>2]|0,c[s>>2]>>c[E>>2],1<<c[E>>2]);c[B>>2]=d[25374+(c[B>>2]&15)>>0]|0|(d[25374+(c[B>>2]>>4)>>0]|0)<<2;c[E>>2]=(c[E>>2]|0)+1}c[p>>2]=c[p>>2]>>c[L>>2];c[u>>2]=c[u>>2]<<c[L>>2];while(1){if(!((c[u>>2]&1|0)==0?(c[N>>2]|0)<0:0))break;if(c[A>>2]|0)Sb(c[w>>2]|0,c[u>>2]|0,c[p>>2]|0);if(c[H>>2]|0)Sb(c[H>>2]|0,c[u>>2]|0,c[p>>2]|0);c[B>>2]=c[B>>2]|c[B>>2]<<c[p>>2];c[p>>2]=c[p>>2]<<1;c[u>>2]=c[u>>2]>>1;c[O>>2]=(c[O>>2]|0)+1;c[N>>2]=(c[N>>2]|0)+1}c[q>>2]=c[p>>2];c[v>>2]=c[u>>2];if((c[q>>2]|0)>1){if(c[A>>2]|0)_b(c[w>>2]|0,c[u>>2]>>c[L>>2],c[q>>2]<<c[L>>2],c[F>>2]|0);if(c[H>>2]|0)_b(c[H>>2]|0,c[u>>2]>>c[L>>2],c[q>>2]<<c[L>>2],c[F>>2]|0)}c[y>>2]=$b(c[z>>2]|0,c[w>>2]|0,c[s>>2]|0,c[x>>2]|0,c[p>>2]|0,c[H>>2]|0,c[r>>2]|0,+g[C>>2],c[B>>2]|0)|0;if(c[(c[z>>2]|0)+4>>2]|0){if((c[q>>2]|0)>1)ac(c[w>>2]|0,c[u>>2]>>c[L>>2],c[q>>2]<<c[L>>2],c[F>>2]|0);c[u>>2]=c[v>>2];c[p>>2]=c[q>>2];c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[O>>2]|0))break;c[p>>2]=c[p>>2]>>1;c[u>>2]=c[u>>2]<<1;c[y>>2]=c[y>>2]|(c[y>>2]|0)>>>(c[p>>2]|0);Sb(c[w>>2]|0,c[u>>2]|0,c[p>>2]|0);c[E>>2]=(c[E>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[L>>2]|0))break;c[y>>2]=d[25390+(c[y>>2]|0)>>0];Sb(c[w>>2]|0,c[t>>2]>>c[E>>2],1<<c[E>>2]);c[E>>2]=(c[E>>2]|0)+1}c[p>>2]=c[p>>2]<<c[L>>2];a:do if(c[I>>2]|0){g[K>>2]=+G(+(+(c[t>>2]|0)));c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[t>>2]|0))break a;g[(c[I>>2]|0)+(c[D>>2]<<2)>>2]=+g[K>>2]*+g[(c[w>>2]|0)+(c[D>>2]<<2)>>2];c[D>>2]=(c[D>>2]|0)+1}}while(0);c[y>>2]=c[y>>2]&(1<<c[p>>2])-1}c[M>>2]=c[y>>2];O=c[M>>2]|0;l=P;return O|0}function Xb(a,b,d){a=+a;b=+b;d=d|0;var e=0,f=0,h=0,i=0,j=0;e=l;l=l+16|0;i=e+12|0;h=e+8|0;f=e+4|0;j=e;g[i>>2]=a;g[h>>2]=b;c[f>>2]=d;g[j>>2]=+g[i>>2]<+g[h>>2]?+g[i>>2]:+g[h>>2];g[i>>2]=+g[i>>2]+ +g[j>>2]/3.0;g[h>>2]=+g[h>>2]+ +g[j>>2]/3.0;g[c[f>>2]>>2]=+g[i>>2];g[(c[f>>2]|0)+4>>2]=+g[h>>2];l=e;return}function Yb(a,b,d,e,f,h,i,j,k,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+160|0;T=W+152|0;I=W+148|0;F=W+144|0;G=W+140|0;E=W+136|0;A=W+132|0;C=W+128|0;N=W+124|0;D=W+120|0;O=W+116|0;P=W+112|0;J=W+108|0;r=W+104|0;s=W+100|0;K=W+96|0;R=W+92|0;V=W+88|0;H=W+84|0;Q=W+80|0;U=W+76|0;z=W+72|0;L=W+68|0;B=W+64|0;u=W+40|0;t=W+36|0;q=W+32|0;p=W+28|0;o=W+24|0;v=W+20|0;x=W+16|0;y=W+12|0;w=W+8|0;S=W+4|0;M=W;c[I>>2]=a;c[F>>2]=b;c[G>>2]=d;c[E>>2]=e;c[A>>2]=f;c[C>>2]=h;c[N>>2]=i;c[D>>2]=j;c[O>>2]=k;c[P>>2]=m;c[J>>2]=n;c[r>>2]=0;c[s>>2]=0;c[K>>2]=0;g[R>>2]=0.0;g[V>>2]=0.0;c[H>>2]=0;c[q>>2]=c[c[I>>2]>>2];c[p>>2]=c[(c[I>>2]|0)+28>>2];if((c[E>>2]|0)==1){c[T>>2]=Zb(c[I>>2]|0,c[F>>2]|0,c[G>>2]|0,c[A>>2]|0,c[O>>2]|0)|0;V=c[T>>2]|0;l=W;return V|0}c[t>>2]=c[J>>2];bc(c[I>>2]|0,u,c[F>>2]|0,c[G>>2]|0,c[E>>2]|0,A,c[C>>2]|0,c[C>>2]|0,c[D>>2]|0,1,J);c[K>>2]=c[u>>2];c[r>>2]=c[u+4>>2];c[s>>2]=c[u+8>>2];c[z>>2]=c[u+12>>2];c[L>>2]=c[u+16>>2];c[B>>2]=c[u+20>>2];g[R>>2]=+(c[r>>2]|0)*.000030517578125;g[V>>2]=+(c[s>>2]|0)*.000030517578125;do if((c[E>>2]|0)==2){c[v>>2]=0;c[Q>>2]=c[A>>2];c[U>>2]=0;c[U>>2]=(c[L>>2]|0)!=0&(c[L>>2]|0)!=16384?8:0;c[Q>>2]=(c[Q>>2]|0)-(c[U>>2]|0);c[o>>2]=(c[L>>2]|0)>8192&1;S=(c[I>>2]|0)+32|0;c[S>>2]=(c[S>>2]|0)-((c[B>>2]|0)+(c[U>>2]|0));c[x>>2]=c[o>>2]|0?c[G>>2]|0:c[F>>2]|0;c[y>>2]=c[o>>2]|0?c[F>>2]|0:c[G>>2]|0;do if(c[U>>2]|0)if(c[q>>2]|0){c[v>>2]=+g[c[x>>2]>>2]*+g[(c[y>>2]|0)+4>>2]-+g[(c[x>>2]|0)+4>>2]*+g[c[y>>2]>>2]<0.0&1;yd(c[p>>2]|0,c[v>>2]|0,1);break}else{c[v>>2]=md(c[p>>2]|0,1)|0;break}while(0);c[v>>2]=1-(c[v>>2]<<1);c[H>>2]=Wb(c[I>>2]|0,c[x>>2]|0,c[E>>2]|0,c[Q>>2]|0,c[C>>2]|0,c[N>>2]|0,c[D>>2]|0,c[O>>2]|0,1.0,c[P>>2]|0,c[t>>2]|0)|0;g[c[y>>2]>>2]=+(0-(c[v>>2]|0)|0)*+g[(c[x>>2]|0)+4>>2];g[(c[y>>2]|0)+4>>2]=+(c[v>>2]|0)*+g[c[x>>2]>>2];if(c[(c[I>>2]|0)+4>>2]|0){g[c[F>>2]>>2]=+g[R>>2]*+g[c[F>>2]>>2];g[(c[F>>2]|0)+4>>2]=+g[R>>2]*+g[(c[F>>2]|0)+4>>2];g[c[G>>2]>>2]=+g[V>>2]*+g[c[G>>2]>>2];g[(c[G>>2]|0)+4>>2]=+g[V>>2]*+g[(c[G>>2]|0)+4>>2];g[w>>2]=+g[c[F>>2]>>2];g[c[F>>2]>>2]=+g[w>>2]-+g[c[G>>2]>>2];g[c[G>>2]>>2]=+g[w>>2]+ +g[c[G>>2]>>2];g[w>>2]=+g[(c[F>>2]|0)+4>>2];g[(c[F>>2]|0)+4>>2]=+g[w>>2]-+g[(c[G>>2]|0)+4>>2];g[(c[G>>2]|0)+4>>2]=+g[w>>2]+ +g[(c[G>>2]|0)+4>>2]}}else{h=c[A>>2]|0;if((c[A>>2]|0)>=(((c[A>>2]|0)-(c[z>>2]|0)|0)/2|0|0))h=(h-(c[z>>2]|0)|0)/2|0;if(0<=(h|0)){h=c[A>>2]|0;if((c[A>>2]|0)>=(((c[A>>2]|0)-(c[z>>2]|0)|0)/2|0|0))h=(h-(c[z>>2]|0)|0)/2|0}else h=0;c[Q>>2]=h;c[U>>2]=(c[A>>2]|0)-(c[Q>>2]|0);h=(c[I>>2]|0)+32|0;c[h>>2]=(c[h>>2]|0)-(c[B>>2]|0);c[S>>2]=c[(c[I>>2]|0)+32>>2];h=c[I>>2]|0;if((c[Q>>2]|0)>=(c[U>>2]|0)){c[H>>2]=Wb(h,c[F>>2]|0,c[E>>2]|0,c[Q>>2]|0,c[C>>2]|0,c[N>>2]|0,c[D>>2]|0,c[O>>2]|0,1.0,c[P>>2]|0,c[J>>2]|0)|0;c[S>>2]=(c[Q>>2]|0)-((c[S>>2]|0)-(c[(c[I>>2]|0)+32>>2]|0));if((c[S>>2]|0)>24&(c[L>>2]|0)!=0)c[U>>2]=(c[U>>2]|0)+((c[S>>2]|0)-24);V=Wb(c[I>>2]|0,c[G>>2]|0,c[E>>2]|0,c[U>>2]|0,c[C>>2]|0,0,c[D>>2]|0,0,+g[V>>2],0,c[J>>2]>>c[C>>2])|0;c[H>>2]=c[H>>2]|V;break}else{c[H>>2]=Wb(h,c[G>>2]|0,c[E>>2]|0,c[U>>2]|0,c[C>>2]|0,0,c[D>>2]|0,0,+g[V>>2],0,c[J>>2]>>c[C>>2])|0;c[S>>2]=(c[U>>2]|0)-((c[S>>2]|0)-(c[(c[I>>2]|0)+32>>2]|0));if((c[S>>2]|0)>24&(c[L>>2]|0)!=16384)c[Q>>2]=(c[Q>>2]|0)+((c[S>>2]|0)-24);V=Wb(c[I>>2]|0,c[F>>2]|0,c[E>>2]|0,c[Q>>2]|0,c[C>>2]|0,c[N>>2]|0,c[D>>2]|0,c[O>>2]|0,1.0,c[P>>2]|0,c[J>>2]|0)|0;c[H>>2]=c[H>>2]|V;break}}while(0);a:do if(c[(c[I>>2]|0)+4>>2]|0){if((c[E>>2]|0)!=2)ic(c[F>>2]|0,c[G>>2]|0,+g[R>>2],c[E>>2]|0,c[(c[I>>2]|0)+44>>2]|0);if(c[K>>2]|0){c[M>>2]=0;while(1){if((c[M>>2]|0)>=(c[E>>2]|0))break a;g[(c[G>>2]|0)+(c[M>>2]<<2)>>2]=-+g[(c[G>>2]|0)+(c[M>>2]<<2)>>2];c[M>>2]=(c[M>>2]|0)+1}}}while(0);c[T>>2]=c[H>>2];V=c[T>>2]|0;l=W;return V|0}function Zb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;m=t+40|0;h=t+36|0;i=t+32|0;j=t+28|0;p=t+24|0;k=t+20|0;r=t+16|0;s=t+12|0;o=t+8|0;n=t+4|0;q=t;c[m>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[p>>2]=f;c[s>>2]=c[h>>2];c[o>>2]=c[c[m>>2]>>2];c[n>>2]=c[(c[m>>2]|0)+28>>2];c[r>>2]=(c[i>>2]|0)!=0&1;c[k>>2]=0;do{c[q>>2]=0;if((c[(c[m>>2]|0)+32>>2]|0)>=8){if(c[o>>2]|0){c[q>>2]=+g[c[s>>2]>>2]<0.0&1;yd(c[n>>2]|0,c[q>>2]|0,1)}else c[q>>2]=md(c[n>>2]|0,1)|0;f=(c[m>>2]|0)+32|0;c[f>>2]=(c[f>>2]|0)-8;c[j>>2]=(c[j>>2]|0)-8}if(c[(c[m>>2]|0)+4>>2]|0)g[c[s>>2]>>2]=c[q>>2]|0?-1.0:1.0;c[s>>2]=c[i>>2];f=(c[k>>2]|0)+1|0;c[k>>2]=f}while((f|0)<(1+(c[r>>2]|0)|0));if(!(c[p>>2]|0)){l=t;return 1}g[c[p>>2]>>2]=+g[c[h>>2]>>2];l=t;return 1}function _b(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;i=p+32|0;h=p+28|0;o=p+24|0;q=p+20|0;j=p+16|0;k=p+12|0;f=p+8|0;n=p+4|0;m=p;c[i>>2]=a;c[h>>2]=b;c[o>>2]=d;c[q>>2]=e;c[f>>2]=S(c[h>>2]|0,c[o>>2]|0)|0;d=c[f>>2]|0;c[n>>2]=la()|0;b=l;l=l+((1*(d<<2)|0)+15&-16)|0;if(c[q>>2]|0){c[m>>2]=8+(c[o>>2]<<2)+-8;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;d=S(c[k>>2]|0,c[o>>2]|0)|0;q=S(c[(c[m>>2]|0)+(c[j>>2]<<2)>>2]|0,c[h>>2]|0)|0;g[b+(q+(c[k>>2]|0)<<2)>>2]=+g[(c[i>>2]|0)+(d+(c[j>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}o=c[i>>2]|0;m=c[f>>2]|0;m=m<<2;q=0;q=m+q|0;uk(o|0,b|0,q|0)|0;q=c[n>>2]|0;ka(q|0);l=p;return}else{c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;m=S(c[k>>2]|0,c[o>>2]|0)|0;q=S(c[j>>2]|0,c[h>>2]|0)|0;g[b+(q+(c[k>>2]|0)<<2)>>2]=+g[(c[i>>2]|0)+(m+(c[j>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}o=c[i>>2]|0;m=c[f>>2]|0;m=m<<2;q=0;q=m+q|0;uk(o|0,b|0,q|0)|0;q=c[n>>2]|0;ka(q|0);l=p;return}}function $b(a,e,f,h,i,j,k,m,n){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=+m;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Y=l;l=l+176|0;X=Y+160|0;O=Y+156|0;T=Y+152|0;B=Y+148|0;U=Y+144|0;R=Y+140|0;N=Y+136|0;V=Y+132|0;Q=Y+128|0;Z=Y+124|0;w=Y+120|0;s=Y+116|0;o=Y+112|0;p=Y+108|0;D=Y+104|0;I=Y+100|0;M=Y+96|0;W=Y+92|0;E=Y+88|0;P=Y+84|0;v=Y+80|0;t=Y+76|0;A=Y+72|0;F=Y+68|0;H=Y+64|0;L=Y+60|0;z=Y+56|0;G=Y+52|0;C=Y+48|0;q=Y+24|0;J=Y+20|0;K=Y+16|0;y=Y+12|0;u=Y+8|0;r=Y+4|0;x=Y;c[X>>2]=a;c[O>>2]=e;c[T>>2]=f;c[B>>2]=h;c[U>>2]=i;c[R>>2]=j;c[N>>2]=k;g[V>>2]=m;c[Q>>2]=n;c[o>>2]=0;c[p>>2]=0;c[D>>2]=c[U>>2];g[I>>2]=0.0;g[M>>2]=0.0;c[W>>2]=0;c[E>>2]=0;c[P>>2]=c[c[X>>2]>>2];c[v>>2]=c[(c[X>>2]|0)+8>>2];c[t>>2]=c[(c[X>>2]|0)+12>>2];c[A>>2]=c[(c[X>>2]|0)+20>>2];c[F>>2]=c[(c[X>>2]|0)+28>>2];j=S((c[N>>2]|0)+1|0,c[(c[v>>2]|0)+8>>2]|0)|0;c[Z>>2]=(c[(c[v>>2]|0)+92+8>>2]|0)+(b[(c[(c[v>>2]|0)+92+4>>2]|0)+(j+(c[t>>2]|0)<<1)>>1]|0);if((c[N>>2]|0)!=-1?((c[T>>2]|0)>2?(c[B>>2]|0)>((d[(c[Z>>2]|0)+(d[c[Z>>2]>>0]|0)>>0]|0)+12|0):0):0){c[J>>2]=0;c[T>>2]=c[T>>2]>>1;c[E>>2]=(c[O>>2]|0)+(c[T>>2]<<2);c[N>>2]=(c[N>>2]|0)-1;if((c[U>>2]|0)==1)c[Q>>2]=c[Q>>2]&1|c[Q>>2]<<1;c[U>>2]=(c[U>>2]|0)+1>>1;bc(c[X>>2]|0,q,c[O>>2]|0,c[E>>2]|0,c[T>>2]|0,B,c[U>>2]|0,c[D>>2]|0,c[N>>2]|0,0,Q);c[o>>2]=c[q+4>>2];c[p>>2]=c[q+8>>2];c[z>>2]=c[q+12>>2];c[G>>2]=c[q+16>>2];c[C>>2]=c[q+20>>2];g[I>>2]=+(c[o>>2]|0)*.000030517578125;g[M>>2]=+(c[p>>2]|0)*.000030517578125;do if((c[D>>2]|0)>1?c[G>>2]&16383|0:0){i=c[z>>2]|0;if((c[G>>2]|0)>8192){c[z>>2]=(c[z>>2]|0)-(i>>4-(c[N>>2]|0));break}if(0<(i+(c[T>>2]<<3>>5-(c[N>>2]|0))|0))i=0;else i=(c[z>>2]|0)+(c[T>>2]<<3>>5-(c[N>>2]|0))|0;c[z>>2]=i}while(0);i=c[B>>2]|0;if((c[B>>2]|0)>=(((c[B>>2]|0)-(c[z>>2]|0)|0)/2|0|0))i=(i-(c[z>>2]|0)|0)/2|0;if(0<=(i|0)){i=c[B>>2]|0;if((c[B>>2]|0)>=(((c[B>>2]|0)-(c[z>>2]|0)|0)/2|0|0))i=(i-(c[z>>2]|0)|0)/2|0}else i=0;c[H>>2]=i;c[L>>2]=(c[B>>2]|0)-(c[H>>2]|0);Z=(c[X>>2]|0)+32|0;c[Z>>2]=(c[Z>>2]|0)-(c[C>>2]|0);if(c[R>>2]|0)c[J>>2]=(c[R>>2]|0)+(c[T>>2]<<2);c[K>>2]=c[(c[X>>2]|0)+32>>2];i=c[X>>2]|0;if((c[H>>2]|0)>=(c[L>>2]|0)){c[W>>2]=$b(i,c[O>>2]|0,c[T>>2]|0,c[H>>2]|0,c[U>>2]|0,c[R>>2]|0,c[N>>2]|0,+g[V>>2]*+g[I>>2],c[Q>>2]|0)|0;c[K>>2]=(c[H>>2]|0)-((c[K>>2]|0)-(c[(c[X>>2]|0)+32>>2]|0));if((c[K>>2]|0)>24&(c[G>>2]|0)!=0)c[L>>2]=(c[L>>2]|0)+((c[K>>2]|0)-24);Z=$b(c[X>>2]|0,c[E>>2]|0,c[T>>2]|0,c[L>>2]|0,c[U>>2]|0,c[J>>2]|0,c[N>>2]|0,+g[V>>2]*+g[M>>2],c[Q>>2]>>c[U>>2])|0;c[W>>2]=c[W>>2]|Z<<(c[D>>2]>>1);Z=c[W>>2]|0;l=Y;return Z|0}else{Z=$b(i,c[E>>2]|0,c[T>>2]|0,c[L>>2]|0,c[U>>2]|0,c[J>>2]|0,c[N>>2]|0,+g[V>>2]*+g[M>>2],c[Q>>2]>>c[U>>2])|0;c[W>>2]=Z<<(c[D>>2]>>1);c[K>>2]=(c[L>>2]|0)-((c[K>>2]|0)-(c[(c[X>>2]|0)+32>>2]|0));if((c[K>>2]|0)>24&(c[G>>2]|0)!=16384)c[H>>2]=(c[H>>2]|0)+((c[K>>2]|0)-24);Z=$b(c[X>>2]|0,c[O>>2]|0,c[T>>2]|0,c[H>>2]|0,c[U>>2]|0,c[R>>2]|0,c[N>>2]|0,+g[V>>2]*+g[I>>2],c[Q>>2]|0)|0;c[W>>2]=c[W>>2]|Z;Z=c[W>>2]|0;l=Y;return Z|0}}c[w>>2]=cc(c[v>>2]|0,c[t>>2]|0,c[N>>2]|0,c[B>>2]|0)|0;c[s>>2]=dc(c[v>>2]|0,c[t>>2]|0,c[N>>2]|0,c[w>>2]|0)|0;i=c[X>>2]|0;k=c[s>>2]|0;while(1){Z=i+32|0;c[Z>>2]=(c[Z>>2]|0)-k;if(!((c[(c[X>>2]|0)+32>>2]|0)<0?(c[w>>2]|0)>0:0))break;i=(c[X>>2]|0)+32|0;c[i>>2]=(c[i>>2]|0)+(c[s>>2]|0);c[w>>2]=(c[w>>2]|0)+-1;c[s>>2]=dc(c[v>>2]|0,c[t>>2]|0,c[N>>2]|0,c[w>>2]|0)|0;i=c[X>>2]|0;k=c[s>>2]|0}if(c[w>>2]|0){c[y>>2]=ec(c[w>>2]|0)|0;a=c[O>>2]|0;h=c[T>>2]|0;e=c[y>>2]|0;f=c[A>>2]|0;k=c[U>>2]|0;i=c[F>>2]|0;m=+g[V>>2];if(c[P>>2]|0){c[W>>2]=se(a,h,e,f,k,i,m,c[(c[X>>2]|0)+4>>2]|0,c[(c[X>>2]|0)+44>>2]|0)|0;Z=c[W>>2]|0;l=Y;return Z|0}else{c[W>>2]=ve(a,h,e,f,k,i,m)|0;Z=c[W>>2]|0;l=Y;return Z|0}}if(!(c[(c[X>>2]|0)+4>>2]|0)){Z=c[W>>2]|0;l=Y;return Z|0}c[r>>2]=(1<<c[U>>2])-1;c[Q>>2]=c[Q>>2]&c[r>>2];if(!(c[Q>>2]|0)){wk(c[O>>2]|0,0,c[T>>2]<<2|0)|0;Z=c[W>>2]|0;l=Y;return Z|0}Z=(c[R>>2]|0)==0;c[u>>2]=0;if(Z){while(1){if((c[u>>2]|0)>=(c[T>>2]|0))break;Z=Jb(c[(c[X>>2]|0)+40>>2]|0)|0;c[(c[X>>2]|0)+40>>2]=Z;g[(c[O>>2]|0)+(c[u>>2]<<2)>>2]=+(c[(c[X>>2]|0)+40>>2]>>20|0);c[u>>2]=(c[u>>2]|0)+1}c[W>>2]=c[r>>2]}else{while(1){if((c[u>>2]|0)>=(c[T>>2]|0))break;Z=Jb(c[(c[X>>2]|0)+40>>2]|0)|0;c[(c[X>>2]|0)+40>>2]=Z;g[x>>2]=.00390625;m=+g[x>>2];g[x>>2]=c[(c[X>>2]|0)+40>>2]&32768|0?m:-m;g[(c[O>>2]|0)+(c[u>>2]<<2)>>2]=+g[(c[R>>2]|0)+(c[u>>2]<<2)>>2]+ +g[x>>2];c[u>>2]=(c[u>>2]|0)+1}c[W>>2]=c[Q>>2]}we(c[O>>2]|0,c[T>>2]|0,+g[V>>2],c[(c[X>>2]|0)+44>>2]|0);Z=c[W>>2]|0;l=Y;return Z|0}function ac(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;i=p+32|0;h=p+28|0;o=p+24|0;q=p+20|0;j=p+16|0;k=p+12|0;f=p+8|0;n=p+4|0;m=p;c[i>>2]=a;c[h>>2]=b;c[o>>2]=d;c[q>>2]=e;c[f>>2]=S(c[h>>2]|0,c[o>>2]|0)|0;d=c[f>>2]|0;c[n>>2]=la()|0;b=l;l=l+((1*(d<<2)|0)+15&-16)|0;if(c[q>>2]|0){c[m>>2]=8+(c[o>>2]<<2)+-8;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;d=S(c[(c[m>>2]|0)+(c[j>>2]<<2)>>2]|0,c[h>>2]|0)|0;q=S(c[k>>2]|0,c[o>>2]|0)|0;g[b+(q+(c[j>>2]|0)<<2)>>2]=+g[(c[i>>2]|0)+(d+(c[k>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}o=c[i>>2]|0;m=c[f>>2]|0;m=m<<2;q=0;q=m+q|0;uk(o|0,b|0,q|0)|0;q=c[n>>2]|0;ka(q|0);l=p;return}else{c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;m=S(c[j>>2]|0,c[h>>2]|0)|0;q=S(c[k>>2]|0,c[o>>2]|0)|0;g[b+(q+(c[j>>2]|0)<<2)>>2]=+g[(c[i>>2]|0)+(m+(c[k>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}o=c[i>>2]|0;m=c[f>>2]|0;m=m<<2;q=0;q=m+q|0;uk(o|0,b|0,q|0)|0;q=c[n>>2]|0;ka(q|0);l=p;return}}function bc(a,d,e,f,h,i,j,k,m,n,o){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;aa=l;l=l+176|0;y=aa+160|0;_=aa+156|0;I=aa+152|0;J=aa+148|0;O=aa+144|0;P=aa+140|0;N=aa+136|0;u=aa+132|0;ea=aa+128|0;H=aa+124|0;U=aa+120|0;G=aa+116|0;Y=aa+112|0;Q=aa+108|0;V=aa+104|0;X=aa+100|0;Z=aa+96|0;ca=aa+92|0;da=aa+88|0;$=aa+84|0;W=aa+80|0;T=aa+76|0;M=aa+72|0;L=aa+68|0;ba=aa+64|0;R=aa+60|0;K=aa+56|0;p=aa+52|0;s=aa+48|0;q=aa+44|0;C=aa+40|0;E=aa+36|0;D=aa+32|0;F=aa+28|0;x=aa+24|0;A=aa+20|0;B=aa+16|0;z=aa+12|0;v=aa+8|0;w=aa+4|0;r=aa;c[y>>2]=a;c[_>>2]=d;c[I>>2]=e;c[J>>2]=f;c[O>>2]=h;c[P>>2]=i;c[N>>2]=j;c[u>>2]=k;c[ea>>2]=m;c[H>>2]=n;c[U>>2]=o;c[Y>>2]=0;c[W>>2]=0;c[T>>2]=c[c[y>>2]>>2];c[M>>2]=c[(c[y>>2]|0)+8>>2];c[L>>2]=c[(c[y>>2]|0)+12>>2];c[ba>>2]=c[(c[y>>2]|0)+16>>2];c[R>>2]=c[(c[y>>2]|0)+28>>2];c[K>>2]=c[(c[y>>2]|0)+36>>2];c[ca>>2]=(b[(c[(c[M>>2]|0)+56>>2]|0)+(c[L>>2]<<1)>>1]|0)+(c[ea>>2]<<3);c[da>>2]=(c[ca>>2]>>1)-((c[H>>2]|0?(c[O>>2]|0)==2:0)?16:4);c[G>>2]=fc(c[O>>2]|0,c[c[P>>2]>>2]|0,c[da>>2]|0,c[ca>>2]|0,c[H>>2]|0)|0;if(c[H>>2]|0?(c[L>>2]|0)>=(c[ba>>2]|0):0)c[G>>2]=1;if(c[T>>2]|0)c[Y>>2]=xe(c[I>>2]|0,c[J>>2]|0,c[H>>2]|0,c[O>>2]|0,c[(c[y>>2]|0)+44>>2]|0)|0;c[$>>2]=bd(c[R>>2]|0)|0;do if((c[G>>2]|0)!=1){do if(c[T>>2]|0){if(c[H>>2]|0?c[(c[y>>2]|0)+48>>2]|0:0){c[q>>2]=(((c[Y>>2]|0)>8192?32767:-32767)|0)/(c[G>>2]|0)|0;ea=S(c[Y>>2]|0,c[G>>2]|0)|0;if(0>(ea+(c[q>>2]|0)>>14|0))j=0;else{j=S(c[Y>>2]|0,c[G>>2]|0)|0;j=j+(c[q>>2]|0)>>14}if(((c[G>>2]|0)-1|0)>=(j|0)){ea=S(c[Y>>2]|0,c[G>>2]|0)|0;if(0>(ea+(c[q>>2]|0)>>14|0))j=0;else{j=S(c[Y>>2]|0,c[G>>2]|0)|0;j=j+(c[q>>2]|0)>>14}}else j=(c[G>>2]|0)-1|0;c[s>>2]=j;j=c[s>>2]|0;if((c[(c[y>>2]|0)+48>>2]|0)<0){c[Y>>2]=j;break}else{c[Y>>2]=j+1;break}}c[Y>>2]=(S(c[Y>>2]|0,c[G>>2]|0)|0)+8192>>14;if(((c[H>>2]|0)==0?((c[Y>>2]|0)>0?(c[(c[y>>2]|0)+56>>2]|0)!=0:0):0)?(c[Y>>2]|0)<(c[G>>2]|0):0){c[p>>2]=Qb(c[Y>>2]<<14,c[G>>2]|0)|0;c[V>>2]=(Kb(c[p>>2]&65535)|0)<<16>>16;c[X>>2]=(Kb(16384-(c[p>>2]|0)&65535)|0)<<16>>16;ea=((c[O>>2]|0)-1<<7&65535)<<16>>16;c[Q>>2]=16384+(S(ea,((Lb(c[X>>2]|0,c[V>>2]|0)|0)&65535)<<16>>16)|0)>>15;if((c[Q>>2]|0)>(c[c[P>>2]>>2]|0)){c[Y>>2]=c[G>>2];break}if((c[Q>>2]|0)<(0-(c[c[P>>2]>>2]|0)|0))c[Y>>2]=0}}while(0);do if((c[H>>2]|0)!=0&(c[O>>2]|0)>2){c[C>>2]=3;c[E>>2]=c[Y>>2];c[D>>2]=(c[G>>2]|0)/2|0;m=S(c[C>>2]|0,(c[D>>2]|0)+1|0)|0;c[F>>2]=m+(c[D>>2]|0);m=c[R>>2]|0;if(c[T>>2]|0){if((c[E>>2]|0)<=(c[D>>2]|0))k=S(c[C>>2]|0,c[E>>2]|0)|0;else k=(c[E>>2]|0)-1-(c[D>>2]|0)+(S((c[D>>2]|0)+1|0,c[C>>2]|0)|0)|0;if((c[E>>2]|0)<=(c[D>>2]|0))j=S(c[C>>2]|0,(c[E>>2]|0)+1|0)|0;else j=(c[E>>2]|0)-(c[D>>2]|0)+(S((c[D>>2]|0)+1|0,c[C>>2]|0)|0)|0;pd(m,k,j,c[F>>2]|0);break}c[x>>2]=fd(m,c[F>>2]|0)|0;if((c[x>>2]|0)<(S((c[D>>2]|0)+1|0,c[C>>2]|0)|0))c[E>>2]=(c[x>>2]|0)/(c[C>>2]|0)|0;else c[E>>2]=(c[D>>2]|0)+1+((c[x>>2]|0)-(S((c[D>>2]|0)+1|0,c[C>>2]|0)|0));if((c[E>>2]|0)<=(c[D>>2]|0))k=S(c[C>>2]|0,c[E>>2]|0)|0;else k=(c[E>>2]|0)-1-(c[D>>2]|0)+(S((c[D>>2]|0)+1|0,c[C>>2]|0)|0)|0;if((c[E>>2]|0)<=(c[D>>2]|0))j=S(c[C>>2]|0,(c[E>>2]|0)+1|0)|0;else j=(c[E>>2]|0)-(c[D>>2]|0)+(S((c[D>>2]|0)+1|0,c[C>>2]|0)|0)|0;id(c[R>>2]|0,k,j,c[F>>2]|0);c[Y>>2]=c[E>>2]}else{if((c[u>>2]|0)>1|(c[H>>2]|0)!=0){j=c[R>>2]|0;if(c[T>>2]|0){xd(j,c[Y>>2]|0,(c[G>>2]|0)+1|0);break}else{c[Y>>2]=ld(j,(c[G>>2]|0)+1|0)|0;break}}c[A>>2]=1;c[B>>2]=S((c[G>>2]>>1)+1|0,(c[G>>2]>>1)+1|0)|0;if(!(c[T>>2]|0)){c[v>>2]=0;c[w>>2]=fd(c[R>>2]|0,c[B>>2]|0)|0;if((c[w>>2]|0)<((S(c[G>>2]>>1,(c[G>>2]>>1)+1|0)|0)>>1|0)){c[Y>>2]=((Md((c[w>>2]<<3)+1|0)|0)-1|0)>>>1;c[A>>2]=(c[Y>>2]|0)+1;c[v>>2]=(S(c[Y>>2]|0,(c[Y>>2]|0)+1|0)|0)>>1}else{ea=(c[G>>2]|0)+1<<1;c[Y>>2]=(ea-(Md(((c[B>>2]|0)-(c[w>>2]|0)-1<<3)+1|0)|0)|0)>>>1;c[A>>2]=(c[G>>2]|0)+1-(c[Y>>2]|0);c[v>>2]=(c[B>>2]|0)-((S((c[G>>2]|0)+1-(c[Y>>2]|0)|0,(c[G>>2]|0)+2-(c[Y>>2]|0)|0)|0)>>1)}id(c[R>>2]|0,c[v>>2]|0,(c[v>>2]|0)+(c[A>>2]|0)|0,c[B>>2]|0);break}if((c[Y>>2]|0)<=(c[G>>2]>>1|0))j=(c[Y>>2]|0)+1|0;else j=(c[G>>2]|0)+1-(c[Y>>2]|0)|0;c[A>>2]=j;if((c[Y>>2]|0)<=(c[G>>2]>>1|0))j=(S(c[Y>>2]|0,(c[Y>>2]|0)+1|0)|0)>>1;else j=(c[B>>2]|0)-((S((c[G>>2]|0)+1-(c[Y>>2]|0)|0,(c[G>>2]|0)+2-(c[Y>>2]|0)|0)|0)>>1)|0;c[z>>2]=j;pd(c[R>>2]|0,c[z>>2]|0,(c[z>>2]|0)+(c[A>>2]|0)|0,c[B>>2]|0)}while(0);c[Y>>2]=Qb(c[Y>>2]<<14,c[G>>2]|0)|0;if((c[T>>2]|0)!=0&(c[H>>2]|0)!=0)if(!(c[Y>>2]|0)){gc(c[M>>2]|0,c[I>>2]|0,c[J>>2]|0,c[K>>2]|0,c[L>>2]|0,c[O>>2]|0);break}else{hc(c[I>>2]|0,c[J>>2]|0,c[O>>2]|0);break}}else if(c[H>>2]|0){if(c[T>>2]|0){if((c[Y>>2]|0)>8192)j=(c[(c[y>>2]|0)+52>>2]|0)!=0^1;else j=0;c[W>>2]=j&1;a:do if(c[W>>2]|0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[O>>2]|0))break a;g[(c[J>>2]|0)+(c[r>>2]<<2)>>2]=-+g[(c[J>>2]|0)+(c[r>>2]<<2)>>2];c[r>>2]=(c[r>>2]|0)+1}}while(0);gc(c[M>>2]|0,c[I>>2]|0,c[J>>2]|0,c[K>>2]|0,c[L>>2]|0,c[O>>2]|0)}do if((c[c[P>>2]>>2]|0)>16?(c[(c[y>>2]|0)+32>>2]|0)>16:0){j=c[R>>2]|0;if(c[T>>2]|0){vd(j,c[W>>2]|0,2);break}else{c[W>>2]=jd(j,2)|0;break}}else t=79;while(0);if((t|0)==79)c[W>>2]=0;if(c[(c[y>>2]|0)+52>>2]|0)c[W>>2]=0;c[Y>>2]=0}while(0);ea=bd(c[R>>2]|0)|0;c[Z>>2]=ea-(c[$>>2]|0);ea=c[P>>2]|0;c[ea>>2]=(c[ea>>2]|0)-(c[Z>>2]|0);if(!(c[Y>>2]|0)){c[V>>2]=32767;c[X>>2]=0;ea=c[U>>2]|0;c[ea>>2]=c[ea>>2]&(1<<c[N>>2])-1;c[Q>>2]=-16384;ea=c[W>>2]|0;da=c[_>>2]|0;c[da>>2]=ea;da=c[V>>2]|0;ea=c[_>>2]|0;ea=ea+4|0;c[ea>>2]=da;ea=c[X>>2]|0;da=c[_>>2]|0;da=da+8|0;c[da>>2]=ea;da=c[Q>>2]|0;ea=c[_>>2]|0;ea=ea+12|0;c[ea>>2]=da;ea=c[Y>>2]|0;da=c[_>>2]|0;da=da+16|0;c[da>>2]=ea;da=c[Z>>2]|0;ea=c[_>>2]|0;ea=ea+20|0;c[ea>>2]=da;l=aa;return}if((c[Y>>2]|0)==16384){c[V>>2]=0;c[X>>2]=32767;ea=c[U>>2]|0;c[ea>>2]=c[ea>>2]&(1<<c[N>>2])-1<<c[N>>2];c[Q>>2]=16384;ea=c[W>>2]|0;da=c[_>>2]|0;c[da>>2]=ea;da=c[V>>2]|0;ea=c[_>>2]|0;ea=ea+4|0;c[ea>>2]=da;ea=c[X>>2]|0;da=c[_>>2]|0;da=da+8|0;c[da>>2]=ea;da=c[Q>>2]|0;ea=c[_>>2]|0;ea=ea+12|0;c[ea>>2]=da;ea=c[Y>>2]|0;da=c[_>>2]|0;da=da+16|0;c[da>>2]=ea;da=c[Z>>2]|0;ea=c[_>>2]|0;ea=ea+20|0;c[ea>>2]=da;l=aa;return}else{c[V>>2]=(Kb(c[Y>>2]&65535)|0)<<16>>16;c[X>>2]=(Kb(16384-(c[Y>>2]|0)&65535)|0)<<16>>16;ea=((c[O>>2]|0)-1<<7&65535)<<16>>16;c[Q>>2]=16384+(S(ea,((Lb(c[X>>2]|0,c[V>>2]|0)|0)&65535)<<16>>16)|0)>>15;ea=c[W>>2]|0;da=c[_>>2]|0;c[da>>2]=ea;da=c[V>>2]|0;ea=c[_>>2]|0;ea=ea+4|0;c[ea>>2]=da;ea=c[X>>2]|0;da=c[_>>2]|0;da=da+8|0;c[da>>2]=ea;da=c[Q>>2]|0;ea=c[_>>2]|0;ea=ea+12|0;c[ea>>2]=da;ea=c[Y>>2]|0;da=c[_>>2]|0;da=da+16|0;c[da>>2]=ea;da=c[Z>>2]|0;ea=c[_>>2]|0;ea=ea+20|0;c[ea>>2]=da;l=aa;return}}function cc(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+48|0;o=p+36|0;r=p+32|0;q=p+28|0;s=p+24|0;j=p+20|0;h=p+16|0;n=p+12|0;m=p+8|0;k=p+4|0;i=p;c[r>>2]=a;c[q>>2]=e;c[s>>2]=f;c[j>>2]=g;c[s>>2]=(c[s>>2]|0)+1;a=S(c[s>>2]|0,c[(c[r>>2]|0)+8>>2]|0)|0;c[k>>2]=(c[(c[r>>2]|0)+92+8>>2]|0)+(b[(c[(c[r>>2]|0)+92+4>>2]|0)+(a+(c[q>>2]|0)<<1)>>1]|0);c[n>>2]=0;c[m>>2]=d[c[k>>2]>>0];c[j>>2]=(c[j>>2]|0)+-1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=6)break;c[i>>2]=(c[n>>2]|0)+(c[m>>2]|0)+1>>1;f=c[i>>2]|0;if((d[(c[k>>2]|0)+(c[i>>2]|0)>>0]|0)>=(c[j>>2]|0))c[m>>2]=f;else c[n>>2]=f;c[h>>2]=(c[h>>2]|0)+1}if(!(c[n>>2]|0))f=-1;else f=d[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0;if(((c[j>>2]|0)-f|0)<=((d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-(c[j>>2]|0)|0)){c[o>>2]=c[n>>2];s=c[o>>2]|0;l=p;return s|0}else{c[o>>2]=c[m>>2];s=c[o>>2]|0;l=p;return s|0}return 0}function dc(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+32|0;m=j+16|0;k=j+12|0;n=j+8|0;i=j+4|0;h=j;c[m>>2]=a;c[k>>2]=e;c[n>>2]=f;c[i>>2]=g;c[n>>2]=(c[n>>2]|0)+1;g=S(c[n>>2]|0,c[(c[m>>2]|0)+8>>2]|0)|0;c[h>>2]=(c[(c[m>>2]|0)+92+8>>2]|0)+(b[(c[(c[m>>2]|0)+92+4>>2]|0)+(g+(c[k>>2]|0)<<1)>>1]|0);if(!(c[i>>2]|0)){n=0;l=j;return n|0}n=(d[(c[h>>2]|0)+(c[i>>2]|0)>>0]|0)+1|0;l=j;return n|0}function ec(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;a=c[b>>2]|0;if((c[b>>2]|0)<8){b=a;l=d;return b|0}b=8+(a&7)<<(c[b>>2]>>3)-1;l=d;return b|0}function fc(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+32|0;p=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;q=o+12|0;n=o+8|0;m=o+4|0;h=o;c[p>>2]=a;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[q>>2]=g;c[h>>2]=(c[p>>2]<<1)-1;if((c[q>>2]|0)!=0&(c[p>>2]|0)==2)c[h>>2]=(c[h>>2]|0)+-1;q=(c[i>>2]|0)+(S(c[h>>2]|0,c[j>>2]|0)|0)|0;c[m>>2]=Ub(q,c[h>>2]|0)|0;if(((c[i>>2]|0)-(c[k>>2]|0)-32|0)<(c[m>>2]|0))a=(c[i>>2]|0)-(c[k>>2]|0)-32|0;else a=c[m>>2]|0;c[m>>2]=a;c[m>>2]=64<(c[m>>2]|0)?64:c[m>>2]|0;if((c[m>>2]|0)<4){c[n>>2]=1;q=c[n>>2]|0;l=o;return q|0}else{c[n>>2]=b[20844+((c[m>>2]&7)<<1)>>1]>>14-(c[m>>2]>>3);c[n>>2]=(c[n>>2]|0)+1>>1<<1;q=c[n>>2]|0;l=o;return q|0}return 0}function gc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;r=l;l=l+64|0;v=r+56|0;j=r+52|0;k=r+48|0;x=r+44|0;y=r+40|0;i=r+36|0;w=r+32|0;o=r+28|0;m=r+24|0;n=r+20|0;u=r+16|0;t=r+12|0;s=r+8|0;q=r+4|0;p=r;c[v>>2]=a;c[j>>2]=b;c[k>>2]=d;c[x>>2]=e;c[y>>2]=f;c[i>>2]=h;c[w>>2]=c[y>>2];g[u>>2]=+g[(c[x>>2]|0)+(c[w>>2]<<2)>>2];g[t>>2]=+g[(c[x>>2]|0)+((c[w>>2]|0)+(c[(c[v>>2]|0)+8>>2]|0)<<2)>>2];g[s>>2]=+G(+(+g[u>>2]*+g[u>>2]+1.0000000036274937e-15+ +g[t>>2]*+g[t>>2]))+1.0000000036274937e-15;g[m>>2]=+g[u>>2]/+g[s>>2];g[n>>2]=+g[t>>2]/+g[s>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[i>>2]|0))break;g[p>>2]=+g[(c[j>>2]|0)+(c[o>>2]<<2)>>2];g[q>>2]=+g[(c[k>>2]|0)+(c[o>>2]<<2)>>2];g[(c[j>>2]|0)+(c[o>>2]<<2)>>2]=+g[m>>2]*+g[p>>2]+ +g[n>>2]*+g[q>>2];c[o>>2]=(c[o>>2]|0)+1}l=r;return}function hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;h=m+16|0;e=m+12|0;i=m+8|0;k=m+4|0;j=m;c[f>>2]=a;c[h>>2]=b;c[e>>2]=d;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[e>>2]|0))break;g[j>>2]=+g[(c[f>>2]|0)+(c[i>>2]<<2)>>2]*.7071067690849304;g[k>>2]=+g[(c[h>>2]|0)+(c[i>>2]<<2)>>2]*.7071067690849304;g[(c[f>>2]|0)+(c[i>>2]<<2)>>2]=+g[j>>2]+ +g[k>>2];g[(c[h>>2]|0)+(c[i>>2]<<2)>>2]=+g[k>>2]-+g[j>>2];c[i>>2]=(c[i>>2]|0)+1}l=m;return}function ic(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=l;l=l+64|0;k=v+60|0;m=v+56|0;r=v+52|0;j=v+48|0;z=v+44|0;n=v+40|0;w=v+36|0;x=v+32|0;h=v+28|0;i=v+24|0;y=v+20|0;u=v+16|0;q=v+12|0;t=v+8|0;s=v+4|0;o=v;c[k>>2]=a;c[m>>2]=b;g[r>>2]=d;c[j>>2]=e;c[z>>2]=f;g[w>>2]=0.0;g[x>>2]=0.0;zb[c[p+((c[z>>2]&7)<<2)>>2]&0](c[m>>2]|0,c[k>>2]|0,c[m>>2]|0,c[j>>2]|0,w,x);g[w>>2]=+g[r>>2]*+g[w>>2];g[y>>2]=+g[r>>2];g[h>>2]=+g[y>>2]*+g[y>>2]+ +g[x>>2]-+g[w>>2]*2.0;g[i>>2]=+g[y>>2]*+g[y>>2]+ +g[x>>2]+ +g[w>>2]*2.0;if(+g[i>>2]<6.000000284984708e-04|+g[h>>2]<6.000000284984708e-04){uk(c[m>>2]|0,c[k>>2]|0,(c[j>>2]<<2)+0|0)|0;l=v;return}g[u>>2]=+g[h>>2];g[q>>2]=1.0/+G(+(+g[u>>2]));g[u>>2]=+g[i>>2];g[t>>2]=1.0/+G(+(+g[u>>2]));c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;g[o>>2]=+g[r>>2]*+g[(c[k>>2]|0)+(c[n>>2]<<2)>>2];g[s>>2]=+g[(c[m>>2]|0)+(c[n>>2]<<2)>>2];g[(c[k>>2]|0)+(c[n>>2]<<2)>>2]=+g[q>>2]*(+g[o>>2]-+g[s>>2]);g[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=+g[t>>2]*(+g[o>>2]+ +g[s>>2]);c[n>>2]=(c[n>>2]|0)+1}l=v;return}function jc(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;b=e;c[f>>2]=a;a=c[f>>2]|0;a:do if((a|0)<16e3)if((a|0)<12e3){switch(a|0){case 8e3:break;default:{d=7;break a}}c[b>>2]=6;break}else{switch(a|0){case 12e3:break;default:{d=7;break a}}c[b>>2]=4;break}else{if((a|0)<24e3){switch(a|0){case 16e3:break;default:{d=7;break a}}c[b>>2]=3;break}if((a|0)<48e3){switch(a|0){case 24e3:break;default:{d=7;break a}}c[b>>2]=2;break}else{switch(a|0){case 48e3:break;default:{d=7;break a}}c[b>>2]=1;break}}while(0);if((d|0)==7)c[b>>2]=0;l=e;return c[b>>2]|0}function kc(a,b,d,e,f,h,i,j,k,m,n,p){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;j=j|0;k=k|0;m=m|0;n=n|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=l;l=l+112|0;O=P+96|0;I=P+92|0;r=P+88|0;s=P+84|0;q=P+80|0;v=P+76|0;z=P+72|0;F=P+68|0;G=P+64|0;H=P+60|0;E=P+56|0;t=P+52|0;D=P+48|0;w=P+44|0;x=P+40|0;y=P+36|0;A=P+32|0;B=P+28|0;C=P+24|0;J=P+20|0;K=P+16|0;L=P+12|0;M=P+8|0;N=P+4|0;u=P;c[O>>2]=a;c[I>>2]=b;c[r>>2]=d;c[s>>2]=e;c[q>>2]=f;g[v>>2]=h;g[z>>2]=i;c[F>>2]=j;c[G>>2]=k;c[H>>2]=m;c[E>>2]=n;c[t>>2]=p;if(+g[v>>2]==0.0&+g[z>>2]==0.0){if((c[I>>2]|0)==(c[O>>2]|0)){l=P;return}vk(c[O>>2]|0,c[I>>2]|0,(c[q>>2]<<2)+0|0)|0;l=P;return}c[r>>2]=(c[r>>2]|0)>15?c[r>>2]|0:15;c[s>>2]=(c[s>>2]|0)>15?c[s>>2]|0:15;g[w>>2]=+g[v>>2]*+g[128+((c[F>>2]|0)*12|0)>>2];g[x>>2]=+g[v>>2]*+g[128+((c[F>>2]|0)*12|0)+4>>2];g[y>>2]=+g[v>>2]*+g[128+((c[F>>2]|0)*12|0)+8>>2];g[A>>2]=+g[z>>2]*+g[128+((c[G>>2]|0)*12|0)>>2];g[B>>2]=+g[z>>2]*+g[128+((c[G>>2]|0)*12|0)+4>>2];g[C>>2]=+g[z>>2]*+g[128+((c[G>>2]|0)*12|0)+8>>2];g[K>>2]=+g[(c[I>>2]|0)+(0-(c[s>>2]|0)+1<<2)>>2];g[L>>2]=+g[(c[I>>2]|0)+(0-(c[s>>2]|0)<<2)>>2];g[M>>2]=+g[(c[I>>2]|0)+(0-(c[s>>2]|0)-1<<2)>>2];g[N>>2]=+g[(c[I>>2]|0)+(0-(c[s>>2]|0)-2<<2)>>2];if((+g[v>>2]==+g[z>>2]?(c[r>>2]|0)==(c[s>>2]|0):0)?(c[F>>2]|0)==(c[G>>2]|0):0)c[E>>2]=0;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[E>>2]|0))break;g[J>>2]=+g[(c[I>>2]|0)+((c[D>>2]|0)-(c[s>>2]|0)+2<<2)>>2];g[u>>2]=+g[(c[H>>2]|0)+(c[D>>2]<<2)>>2]*+g[(c[H>>2]|0)+(c[D>>2]<<2)>>2];g[(c[O>>2]|0)+(c[D>>2]<<2)>>2]=+g[(c[I>>2]|0)+(c[D>>2]<<2)>>2]+(1.0-+g[u>>2])*+g[w>>2]*+g[(c[I>>2]|0)+((c[D>>2]|0)-(c[r>>2]|0)<<2)>>2]+(1.0-+g[u>>2])*+g[x>>2]*(+g[(c[I>>2]|0)+((c[D>>2]|0)-(c[r>>2]|0)+1<<2)>>2]+ +g[(c[I>>2]|0)+((c[D>>2]|0)-(c[r>>2]|0)-1<<2)>>2])+(1.0-+g[u>>2])*+g[y>>2]*(+g[(c[I>>2]|0)+((c[D>>2]|0)-(c[r>>2]|0)+2<<2)>>2]+ +g[(c[I>>2]|0)+((c[D>>2]|0)-(c[r>>2]|0)-2<<2)>>2])+ +g[u>>2]*+g[A>>2]*+g[L>>2]+ +g[u>>2]*+g[B>>2]*(+g[K>>2]+ +g[M>>2])+ +g[u>>2]*+g[C>>2]*(+g[J>>2]+ +g[N>>2]);g[(c[O>>2]|0)+(c[D>>2]<<2)>>2]=+g[(c[O>>2]|0)+(c[D>>2]<<2)>>2];g[N>>2]=+g[M>>2];g[M>>2]=+g[L>>2];g[L>>2]=+g[K>>2];g[K>>2]=+g[J>>2];c[D>>2]=(c[D>>2]|0)+1}if(!(+g[z>>2]==0.0)){yb[c[o+((c[t>>2]&7)<<2)>>2]&0]((c[O>>2]|0)+(c[D>>2]<<2)|0,(c[I>>2]|0)+(c[D>>2]<<2)|0,c[s>>2]|0,(c[q>>2]|0)-(c[D>>2]|0)|0,+g[A>>2],+g[B>>2],+g[C>>2]);l=P;return}if((c[I>>2]|0)==(c[O>>2]|0)){l=P;return}vk((c[O>>2]|0)+(c[E>>2]<<2)|0,(c[I>>2]|0)+(c[E>>2]<<2)|0,((c[q>>2]|0)-(c[E>>2]|0)<<2)+0|0)|0;l=P;return}function lc(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o+20|0;k=o+16|0;i=o+12|0;h=o+8|0;m=o+4|0;j=o;c[n>>2]=a;c[k>>2]=e;c[i>>2]=f;c[h>>2]=g;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[n>>2]|0)+8>>2]|0))break;c[j>>2]=(b[(c[(c[n>>2]|0)+32>>2]|0)+((c[m>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[n>>2]|0)+32>>2]|0)+(c[m>>2]<<1)>>1]|0)<<c[i>>2];a=S(c[(c[n>>2]|0)+8>>2]|0,(c[i>>2]<<1)+(c[h>>2]|0)-1|0)|0;a=S((d[(c[(c[n>>2]|0)+92+12>>2]|0)+(a+(c[m>>2]|0))>>0]|0)+64|0,c[h>>2]|0)|0;a=(S(a,c[j>>2]|0)|0)>>2;c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]=a;c[m>>2]=(c[m>>2]|0)+1}l=o;return}function mc(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e+4|0;b=e;c[b>>2]=a;if((c[b>>2]|0)>0|(c[b>>2]|0)<-7){c[d>>2]=25438;d=c[d>>2]|0;l=e;return d|0}else{c[d>>2]=c[164+(0-(c[b>>2]|0)<<2)>>2];d=c[d>>2]|0;l=e;return d|0}return 0}function nc(){return 25589}function oc(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Pd(48e3,960,0)|0;a=pc(c[e>>2]|0,c[d>>2]|0)|0;l=b;return a|0}function pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;a=248+((S(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0)-1<<2)|0;c[d>>2]=a+(c[g>>2]<<10<<2)+((S(c[g>>2]<<2,c[(c[f>>2]|0)+8>>2]|0)|0)<<2);l=e;return c[d>>2]|0}function qc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;g=j+20|0;i=j+16|0;h=j+12|0;m=j+8|0;k=j+4|0;f=j;c[i>>2]=a;c[h>>2]=b;c[m>>2]=d;c[k>>2]=e;b=c[i>>2]|0;a=Pd(48e3,960,0)|0;c[f>>2]=rc(b,a,c[m>>2]|0,c[k>>2]|0)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];m=c[g>>2]|0;l=j;return m|0}else{m=jc(c[h>>2]|0)|0;c[(c[i>>2]|0)+28>>2]=m;c[g>>2]=0;m=c[g>>2]|0;l=j;return m|0}return 0}function rc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+20|0;j=k+16|0;h=k+12|0;g=k+8|0;f=k+4|0;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[f>>2]=e;if((c[g>>2]|0)<0|(c[g>>2]|0)>2){c[i>>2]=-1;j=c[i>>2]|0;l=k;return j|0}if((c[j>>2]|0)==0|(c[h>>2]|0)==0){c[i>>2]=-7;j=c[i>>2]|0;l=k;return j|0}else{a=c[j>>2]|0;wk(a|0,0,pc(c[h>>2]|0,c[g>>2]|0)|0)|0;c[c[j>>2]>>2]=c[h>>2];a=c[g>>2]|0;c[(c[j>>2]|0)+4>>2]=a;c[(c[j>>2]|0)+8>>2]=a;c[(c[j>>2]|0)+28>>2]=1;c[(c[j>>2]|0)+32>>2]=0;c[(c[j>>2]|0)+36>>2]=c[(c[c[j>>2]>>2]|0)+12>>2];c[(c[j>>2]|0)+48>>2]=1;c[(c[j>>2]|0)+72>>2]=c[f>>2];c[(c[j>>2]|0)+52>>2]=1;c[(c[j>>2]|0)+16>>2]=1;c[(c[j>>2]|0)+40>>2]=-1;c[(c[j>>2]|0)+44>>2]=0;c[(c[j>>2]|0)+12>>2]=0;c[(c[j>>2]|0)+24>>2]=5;c[(c[j>>2]|0)+60>>2]=24;sc(c[j>>2]|0,4028,k)|0;c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}return 0}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;aa=l;l=l+208|0;$=aa+200|0;Z=aa+196|0;ba=aa+192|0;e=aa+176|0;n=aa+172|0;E=aa+168|0;y=aa+164|0;U=aa+160|0;p=aa+156|0;J=aa+152|0;v=aa+148|0;O=aa+144|0;w=aa+140|0;P=aa+136|0;x=aa+132|0;Q=aa+128|0;z=aa+124|0;R=aa+120|0;_=aa+116|0;T=aa+112|0;A=aa+108|0;V=aa+104|0;B=aa+100|0;W=aa+96|0;C=aa+92|0;X=aa+88|0;D=aa+84|0;Y=aa+80|0;o=aa+76|0;F=aa+72|0;f=aa+68|0;j=aa+64|0;k=aa+60|0;m=aa+56|0;q=aa+52|0;G=aa+48|0;h=aa+44|0;H=aa+40|0;i=aa+36|0;I=aa+32|0;r=aa+28|0;K=aa+24|0;s=aa+20|0;L=aa+16|0;t=aa+12|0;M=aa+8|0;u=aa+4|0;N=aa;c[Z>>2]=a;c[ba>>2]=b;c[e>>2]=d;do switch(c[ba>>2]|0){case 4010:{_=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[_>>2]|0;c[e>>2]=_+4;c[E>>2]=ba;c[n>>2]=c[E>>2];if((c[n>>2]|0)<0|(c[n>>2]|0)>10)e=46;else{c[(c[Z>>2]|0)+24>>2]=c[n>>2];e=45}break}case 10010:{_=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[_>>2]|0;c[e>>2]=_+4;c[U>>2]=ba;c[y>>2]=c[U>>2];if((c[y>>2]|0)>=0?(c[y>>2]|0)<(c[(c[c[Z>>2]>>2]|0)+8>>2]|0):0){c[(c[Z>>2]|0)+32>>2]=c[y>>2];e=45}else e=46;break}case 10012:{_=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[_>>2]|0;c[e>>2]=_+4;c[J>>2]=ba;c[p>>2]=c[J>>2];if((c[p>>2]|0)>=1?(c[p>>2]|0)<=(c[(c[c[Z>>2]>>2]|0)+8>>2]|0):0){c[(c[Z>>2]|0)+36>>2]=c[p>>2];e=45}else e=46;break}case 10002:{_=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[_>>2]|0;c[e>>2]=_+4;c[O>>2]=ba;c[v>>2]=c[O>>2];if((c[v>>2]|0)<0|(c[v>>2]|0)>2)e=46;else{c[(c[Z>>2]|0)+20>>2]=(c[v>>2]|0)<=1&1;c[(c[Z>>2]|0)+12>>2]=(c[v>>2]|0)==0&1;e=45}break}case 4014:{_=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[_>>2]|0;c[e>>2]=_+4;c[P>>2]=ba;c[w>>2]=c[P>>2];if((c[w>>2]|0)<0|(c[w>>2]|0)>100)e=46;else{c[(c[Z>>2]|0)+56>>2]=c[w>>2];e=45}break}case 4020:{_=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[_>>2]|0;c[e>>2]=_+4;c[Q>>2]=ba;c[x>>2]=c[Q>>2];c[(c[Z>>2]|0)+52>>2]=c[x>>2];e=45;break}case 4006:{_=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[_>>2]|0;c[e>>2]=_+4;c[R>>2]=ba;c[z>>2]=c[R>>2];c[(c[Z>>2]|0)+44>>2]=c[z>>2];e=45;break}case 4002:{Y=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[Y>>2]|0;c[e>>2]=Y+4;c[T>>2]=ba;c[_>>2]=c[T>>2];if((c[_>>2]|0)<=500&(c[_>>2]|0)!=-1)e=46;else{if((c[_>>2]|0)<((c[(c[Z>>2]|0)+4>>2]|0)*26e4|0))e=c[_>>2]|0;else e=(c[(c[Z>>2]|0)+4>>2]|0)*26e4|0;c[_>>2]=e;c[(c[Z>>2]|0)+40>>2]=c[_>>2];e=45}break}case 10008:{_=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[_>>2]|0;c[e>>2]=_+4;c[V>>2]=ba;c[A>>2]=c[V>>2];if((c[A>>2]|0)<1|(c[A>>2]|0)>2)e=46;else{c[(c[Z>>2]|0)+8>>2]=c[A>>2];e=45}break}case 4036:{_=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[_>>2]|0;c[e>>2]=_+4;c[W>>2]=ba;c[B>>2]=c[W>>2];if((c[B>>2]|0)<8|(c[B>>2]|0)>24)e=46;else{c[(c[Z>>2]|0)+60>>2]=c[B>>2];e=45}break}case 4037:{_=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[_>>2]|0;c[e>>2]=_+4;c[X>>2]=ba;c[C>>2]=c[X>>2];c[c[C>>2]>>2]=c[(c[Z>>2]|0)+60>>2];e=45;break}case 4046:{_=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[_>>2]|0;c[e>>2]=_+4;c[Y>>2]=ba;c[D>>2]=c[Y>>2];if((c[D>>2]|0)<0|(c[D>>2]|0)>1)e=46;else{c[(c[Z>>2]|0)+68>>2]=c[D>>2];e=45}break}case 4047:{_=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[_>>2]|0;c[e>>2]=_+4;c[F>>2]=ba;c[o>>2]=c[F>>2];if(c[o>>2]|0){c[c[o>>2]>>2]=c[(c[Z>>2]|0)+68>>2];e=45}else e=46;break}case 4028:{c[j>>2]=(c[Z>>2]|0)+244+((S(c[(c[Z>>2]|0)+4>>2]|0,(c[(c[c[Z>>2]>>2]|0)+4>>2]|0)+1024|0)|0)<<2);c[k>>2]=(c[j>>2]|0)+((S(c[(c[Z>>2]|0)+4>>2]|0,c[(c[c[Z>>2]>>2]|0)+8>>2]|0)|0)<<2);c[m>>2]=(c[k>>2]|0)+((S(c[(c[Z>>2]|0)+4>>2]|0,c[(c[c[Z>>2]>>2]|0)+8>>2]|0)|0)<<2);wk((c[Z>>2]|0)+76|0,0,(pc(c[c[Z>>2]>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0)-((c[Z>>2]|0)+76-(c[Z>>2]|0))|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(S(c[(c[Z>>2]|0)+4>>2]|0,c[(c[c[Z>>2]>>2]|0)+8>>2]|0)|0))break;g[(c[m>>2]|0)+(c[f>>2]<<2)>>2]=-28.0;g[(c[k>>2]|0)+(c[f>>2]<<2)>>2]=-28.0;c[f>>2]=(c[f>>2]|0)+1}c[(c[Z>>2]|0)+216>>2]=0;g[(c[Z>>2]|0)+84>>2]=1.0;c[(c[Z>>2]|0)+80>>2]=2;c[(c[Z>>2]|0)+88>>2]=256;c[(c[Z>>2]|0)+96>>2]=0;c[(c[Z>>2]|0)+100>>2]=0;e=45;break}case 10016:{_=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[_>>2]|0;c[e>>2]=_+4;c[G>>2]=ba;c[q>>2]=c[G>>2];c[(c[Z>>2]|0)+48>>2]=c[q>>2];e=45;break}case 10022:{_=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[_>>2]|0;c[e>>2]=_+4;c[H>>2]=ba;c[h>>2]=c[H>>2];if(c[h>>2]|0){uk((c[Z>>2]|0)+120|0,c[h>>2]|0,64|0)|0;e=45}else e=45;break}case 10028:{_=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[_>>2]|0;c[e>>2]=_+4;c[I>>2]=ba;c[i>>2]=c[I>>2];if(c[i>>2]|0){uk((c[Z>>2]|0)+184|0,c[i>>2]|0,8|0)|0;e=45}else e=45;break}case 10015:{_=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[_>>2]|0;c[e>>2]=_+4;c[K>>2]=ba;c[r>>2]=c[K>>2];if(!(c[r>>2]|0))e=46;else{c[c[r>>2]>>2]=c[c[Z>>2]>>2];e=45}break}case 4031:{_=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[_>>2]|0;c[e>>2]=_+4;c[L>>2]=ba;c[s>>2]=c[L>>2];if(!(c[s>>2]|0))e=46;else{c[c[s>>2]>>2]=c[(c[Z>>2]|0)+76>>2];e=45}break}case 10024:{_=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[_>>2]|0;c[e>>2]=_+4;c[M>>2]=ba;c[t>>2]=c[M>>2];c[(c[Z>>2]|0)+64>>2]=c[t>>2];e=45;break}case 10026:{_=(c[e>>2]|0)+(4-1)&~(4-1);ba=c[_>>2]|0;c[e>>2]=_+4;c[N>>2]=ba;c[u>>2]=c[N>>2];c[(c[Z>>2]|0)+236>>2]=c[u>>2];e=45;break}default:{c[$>>2]=-5;ba=c[$>>2]|0;l=aa;return ba|0}}while(0);if((e|0)==45){c[$>>2]=0;ba=c[$>>2]|0;l=aa;return ba|0}else if((e|0)==46){c[$>>2]=-1;ba=c[$>>2]|0;l=aa;return ba|0}return 0}function tc(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+64|0;o=z+52|0;u=z+48|0;q=z+44|0;m=z+40|0;x=z+36|0;A=z+32|0;w=z+28|0;n=z+24|0;t=z+20|0;s=z+16|0;v=z+12|0;r=z+8|0;p=z+4|0;y=z;c[o>>2]=a;c[u>>2]=b;c[q>>2]=d;c[m>>2]=e;c[x>>2]=f;c[A>>2]=h;c[w>>2]=i;c[n>>2]=j;g[s>>2]=+g[c[A>>2]>>2];g[v>>2]=+g[c[w>>2]>>2];if(!(((c[x>>2]|0)==1?+g[(c[A>>2]|0)+4>>2]==0.0:0)^1|(c[n>>2]|0)!=0)){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[q>>2]|0))break;g[p>>2]=+g[(c[o>>2]|0)+((S(c[m>>2]|0,c[t>>2]|0)|0)<<2)>>2]*32768.0;g[(c[u>>2]|0)+(c[t>>2]<<2)>>2]=+g[p>>2]-+g[v>>2];g[v>>2]=+g[s>>2]*+g[p>>2];c[t>>2]=(c[t>>2]|0)+1}g[c[w>>2]>>2]=+g[v>>2];l=z;return}c[r>>2]=(c[q>>2]|0)/(c[x>>2]|0)|0;if((c[x>>2]|0)!=1)wk(c[u>>2]|0,0,c[q>>2]<<2|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[r>>2]|0))break;k=+g[(c[o>>2]|0)+((S(c[m>>2]|0,c[t>>2]|0)|0)<<2)>>2]*32768.0;g[(c[u>>2]|0)+((S(c[t>>2]|0,c[x>>2]|0)|0)<<2)>>2]=k;c[t>>2]=(c[t>>2]|0)+1}a:do if(c[n>>2]|0){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[r>>2]|0))break a;if(65536.0<+g[(c[u>>2]|0)+((S(c[t>>2]|0,c[x>>2]|0)|0)<<2)>>2])k=65536.0;else k=+g[(c[u>>2]|0)+((S(c[t>>2]|0,c[x>>2]|0)|0)<<2)>>2];if(!(-65536.0>k))if(65536.0<+g[(c[u>>2]|0)+((S(c[t>>2]|0,c[x>>2]|0)|0)<<2)>>2])k=65536.0;else k=+g[(c[u>>2]|0)+((S(c[t>>2]|0,c[x>>2]|0)|0)<<2)>>2];else k=-65536.0;g[(c[u>>2]|0)+((S(c[t>>2]|0,c[x>>2]|0)|0)<<2)>>2]=k;c[t>>2]=(c[t>>2]|0)+1}}while(0);c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[q>>2]|0))break;g[y>>2]=+g[(c[u>>2]|0)+(c[t>>2]<<2)>>2];g[(c[u>>2]|0)+(c[t>>2]<<2)>>2]=+g[y>>2]-+g[v>>2];g[v>>2]=+g[s>>2]*+g[y>>2];c[t>>2]=(c[t>>2]|0)+1}g[c[w>>2]>>2]=+g[v>>2];l=z;return}function uc(a,d,e,f,h,i){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0;ob=l;l=l+480|0;lb=ob+464|0;nb=ob+460|0;u=ob+456|0;m=ob+452|0;p=ob+448|0;kb=ob+444|0;jb=ob+440|0;ab=ob+436|0;_a=ob+432|0;La=ob+428|0;Ia=ob+424|0;o=ob+376|0;y=ob+368|0;cb=ob+364|0;db=ob+360|0;eb=ob+356|0;Ua=ob+352|0;Sa=ob+348|0;gb=ob+344|0;Za=ob+340|0;Ta=ob+336|0;Ka=ob+332|0;Y=ob+328|0;X=ob+324|0;s=ob+320|0;Ca=ob+316|0;fb=ob+312|0;$a=ob+308|0;Z=ob+304|0;Pa=ob+300|0;Ha=ob+296|0;Wa=ob+292|0;Va=ob+288|0;Qa=ob+284|0;_=ob+280|0;aa=ob+276|0;Ea=ob+272|0;ia=ob+268|0;wa=ob+264|0;Oa=ob+260|0;ra=ob+256|0;sa=ob+252|0;Xa=ob+248|0;W=ob+244|0;Na=ob+240|0;Ma=ob+236|0;Ya=ob+232|0;U=ob+228|0;ua=ob+224|0;pa=ob+220|0;va=ob+216|0;v=ob+212|0;oa=ob+208|0;Ra=ob+204|0;bb=ob+200|0;B=ob+196|0;ca=ob+192|0;P=ob+188|0;Ja=ob+184|0;hb=ob+180|0;qa=ob+176|0;ta=ob+172|0;ha=ob+168|0;Fa=ob+164|0;na=ob+160|0;R=ob+156|0;Q=ob+152|0;j=ob+148|0;n=ob+144|0;q=ob+140|0;r=ob+136|0;mb=ob+132|0;t=ob+128|0;w=ob+124|0;z=ob+120|0;x=ob+116|0;A=ob+112|0;L=ob+108|0;H=ob+104|0;E=ob+100|0;K=ob+96|0;J=ob+92|0;C=ob+88|0;D=ob+84|0;G=ob+80|0;I=ob+76|0;M=ob+72|0;N=ob+68|0;O=ob+64|0;T=ob+60|0;ga=ob+56|0;fa=ob+52|0;ba=ob+48|0;$=ob+44|0;ea=ob+40|0;da=ob+36|0;ya=ob+32|0;za=ob+28|0;Da=ob+24|0;ma=ob+20|0;Ba=ob+16|0;Aa=ob+12|0;xa=ob+8|0;Ga=ob+4|0;ib=ob;c[nb>>2]=a;c[u>>2]=d;c[m>>2]=e;c[p>>2]=f;c[kb>>2]=h;c[jb>>2]=i;c[Sa>>2]=0;c[gb>>2]=0;c[Za>>2]=c[(c[nb>>2]|0)+4>>2];c[Ta>>2]=c[(c[nb>>2]|0)+8>>2];c[Wa>>2]=15;g[Va>>2]=0.0;c[Qa>>2]=0;c[Xa>>2]=0;c[Ma>>2]=0;c[Ya>>2]=0;c[U>>2]=0;c[pa>>2]=0;c[hb>>2]=0;g[qa>>2]=0.0;g[ta>>2]=0.0;g[ha>>2]=0.0;c[R>>2]=0;c[Ra>>2]=c[c[nb>>2]>>2];c[bb>>2]=c[(c[Ra>>2]|0)+8>>2];c[B>>2]=c[(c[Ra>>2]|0)+4>>2];c[ca>>2]=c[(c[Ra>>2]|0)+32>>2];c[fb>>2]=c[(c[nb>>2]|0)+32>>2];c[$a>>2]=c[(c[nb>>2]|0)+36>>2];c[na>>2]=(c[fb>>2]|0)!=0&1;g[ua>>2]=0.0;if((c[kb>>2]|0)<2|(c[u>>2]|0)==0){c[lb>>2]=-1;nb=c[lb>>2]|0;l=ob;return nb|0}c[m>>2]=S(c[m>>2]|0,c[(c[nb>>2]|0)+28>>2]|0)|0;c[Ka>>2]=0;while(1){if((c[Ka>>2]|0)>(c[(c[Ra>>2]|0)+36>>2]|0))break;if((c[(c[Ra>>2]|0)+44>>2]<<c[Ka>>2]|0)==(c[m>>2]|0))break;c[Ka>>2]=(c[Ka>>2]|0)+1}if((c[Ka>>2]|0)>(c[(c[Ra>>2]|0)+36>>2]|0)){c[lb>>2]=-1;nb=c[lb>>2]|0;l=ob;return nb|0}c[Y>>2]=1<<c[Ka>>2];c[La>>2]=S(c[Y>>2]|0,c[(c[Ra>>2]|0)+44>>2]|0)|0;c[y>>2]=(c[nb>>2]|0)+244+((S(c[Za>>2]|0,c[B>>2]|0)|0)<<2);c[cb>>2]=(c[nb>>2]|0)+244+((S(c[Za>>2]|0,(c[B>>2]|0)+1024|0)|0)<<2);c[db>>2]=(c[cb>>2]|0)+((S(c[Za>>2]|0,c[bb>>2]|0)|0)<<2);c[eb>>2]=(c[db>>2]|0)+((S(c[Za>>2]|0,c[bb>>2]|0)|0)<<2);c[Ua>>2]=(c[eb>>2]|0)+((S(c[Za>>2]|0,c[bb>>2]|0)|0)<<2);if(!(c[jb>>2]|0)){c[ra>>2]=1;c[sa>>2]=1;c[s>>2]=0}else{c[sa>>2]=bd(c[jb>>2]|0)|0;c[ra>>2]=vc(c[jb>>2]|0)|0;c[s>>2]=(c[ra>>2]|0)+4>>3}c[kb>>2]=(c[kb>>2]|0)<1275?c[kb>>2]|0:1275;c[Ca>>2]=(c[kb>>2]|0)-(c[s>>2]|0);if(c[(c[nb>>2]|0)+44>>2]|0?(c[(c[nb>>2]|0)+40>>2]|0)!=-1:0){c[j>>2]=c[c[Ra>>2]>>2]>>3;n=S(c[(c[nb>>2]|0)+40>>2]|0,c[m>>2]|0)|0;c[Ea>>2]=(n+(c[j>>2]>>1)|0)/(c[j>>2]|0)|0;c[_>>2]=c[Ea>>2]>>6}else{c[Ea>>2]=0;c[n>>2]=S(c[(c[nb>>2]|0)+40>>2]|0,c[m>>2]|0)|0;if((c[ra>>2]|0)>1)c[n>>2]=(c[n>>2]|0)+(c[ra>>2]|0);if((c[(c[nb>>2]|0)+40>>2]|0)!=-1){if((c[kb>>2]|0)<((((c[n>>2]|0)+(c[c[Ra>>2]>>2]<<2)|0)/(c[c[Ra>>2]>>2]<<3|0)|0)-(((c[(c[nb>>2]|0)+48>>2]|0)!=0^1^1)&1)|0))f=c[kb>>2]|0;else f=(((c[n>>2]|0)+(c[c[Ra>>2]>>2]<<2)|0)/(c[c[Ra>>2]>>2]<<3|0)|0)-(((c[(c[nb>>2]|0)+48>>2]|0)!=0^1^1)&1)|0;do if(2<=(f|0))if((c[kb>>2]|0)<((((c[n>>2]|0)+(c[c[Ra>>2]>>2]<<2)|0)/(c[c[Ra>>2]>>2]<<3|0)|0)-(((c[(c[nb>>2]|0)+48>>2]|0)!=0^1^1)&1)|0)){f=c[kb>>2]|0;break}else{f=(((c[n>>2]|0)+(c[c[Ra>>2]>>2]<<2)|0)/(c[c[Ra>>2]>>2]<<3|0)|0)-(((c[(c[nb>>2]|0)+48>>2]|0)!=0^1^1)&1)|0;break}else f=2;while(0);c[kb>>2]=f}c[_>>2]=(c[kb>>2]|0)-(c[s>>2]|0)}c[Fa>>2]=((c[kb>>2]<<3)*50>>3-(c[Ka>>2]|0))-(S(((c[Ta>>2]|0)*40|0)+20|0,(400>>c[Ka>>2])-50|0)|0);if((c[(c[nb>>2]|0)+40>>2]|0)!=-1){if((c[Fa>>2]|0)<((c[(c[nb>>2]|0)+40>>2]|0)-(S(((c[Ta>>2]|0)*40|0)+20|0,(400>>c[Ka>>2])-50|0)|0)|0))f=c[Fa>>2]|0;else f=(c[(c[nb>>2]|0)+40>>2]|0)-(S(((c[Ta>>2]|0)*40|0)+20|0,(400>>c[Ka>>2])-50|0)|0)|0;c[Fa>>2]=f}if(!(c[jb>>2]|0)){od(o,c[p>>2]|0,c[kb>>2]|0);c[jb>>2]=o}if((c[Ea>>2]|0)>0?c[(c[nb>>2]|0)+52>>2]|0:0){c[q>>2]=c[Ea>>2];if((((c[ra>>2]|0)==1?2:0)|0)>((c[Ea>>2]|0)+(c[q>>2]|0)-(c[(c[nb>>2]|0)+208>>2]|0)>>6|0))f=(c[ra>>2]|0)==1?2:0;else f=(c[Ea>>2]|0)+(c[q>>2]|0)-(c[(c[nb>>2]|0)+208>>2]|0)>>6;do if((f|0)<(c[Ca>>2]|0))if((((c[ra>>2]|0)==1?2:0)|0)>((c[Ea>>2]|0)+(c[q>>2]|0)-(c[(c[nb>>2]|0)+208>>2]|0)>>6|0)){f=(c[ra>>2]|0)==1?2:0;break}else{f=(c[Ea>>2]|0)+(c[q>>2]|0)-(c[(c[nb>>2]|0)+208>>2]|0)>>6;break}else f=c[Ca>>2]|0;while(0);c[r>>2]=f;if((c[r>>2]|0)<(c[Ca>>2]|0)){c[kb>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[Ca>>2]=c[r>>2];Bd(c[jb>>2]|0,c[kb>>2]|0)}}c[ia>>2]=c[kb>>2]<<3;c[Z>>2]=c[$a>>2];if((c[Z>>2]|0)>(c[(c[Ra>>2]|0)+12>>2]|0))c[Z>>2]=c[(c[Ra>>2]|0)+12>>2];r=S(c[Za>>2]|0,(c[La>>2]|0)+(c[B>>2]|0)|0)|0;c[mb>>2]=la()|0;i=l;l=l+((1*(r<<2)|0)+15&-16)|0;k=+g[(c[nb>>2]|0)+224>>2];r=S(c[Ta>>2]|0,(c[La>>2]|0)-(c[B>>2]|0)|0)|0;if(k>+wc(c[u>>2]|0,(r|0)/(c[(c[nb>>2]|0)+28>>2]|0)|0))k=+g[(c[nb>>2]|0)+224>>2];else{r=S(c[Ta>>2]|0,(c[La>>2]|0)-(c[B>>2]|0)|0)|0;k=+wc(c[u>>2]|0,(r|0)/(c[(c[nb>>2]|0)+28>>2]|0)|0)}g[v>>2]=k;q=S(c[Ta>>2]|0,(c[La>>2]|0)-(c[B>>2]|0)|0)|0;r=S(c[Ta>>2]|0,c[B>>2]|0)|0;k=+wc((c[u>>2]|0)+(((q|0)/(c[(c[nb>>2]|0)+28>>2]|0)|0)<<2)|0,(r|0)/(c[(c[nb>>2]|0)+28>>2]|0)|0);g[(c[nb>>2]|0)+224>>2]=k;if(+g[v>>2]>+g[(c[nb>>2]|0)+224>>2])k=+g[v>>2];else k=+g[(c[nb>>2]|0)+224>>2];g[v>>2]=k;c[Ya>>2]=+g[v>>2]<=1.0/+(1<<c[(c[nb>>2]|0)+60>>2]|0)&1;if((c[ra>>2]|0)==1)vd(c[jb>>2]|0,c[Ya>>2]|0,15);else c[Ya>>2]=0;if(c[Ya>>2]|0){if((c[Ea>>2]|0)>0){s=(c[kb>>2]|0)<((c[s>>2]|0)+2|0)?c[kb>>2]|0:(c[s>>2]|0)+2|0;c[kb>>2]=s;c[_>>2]=s;c[ia>>2]=c[kb>>2]<<3;c[Ca>>2]=2;Bd(c[jb>>2]|0,c[kb>>2]|0)}c[ra>>2]=c[kb>>2]<<3;r=c[ra>>2]|0;r=r-(vc(c[jb>>2]|0)|0)|0;s=(c[jb>>2]|0)+20|0;c[s>>2]=(c[s>>2]|0)+r}c[_a>>2]=0;do{c[t>>2]=0;c[t>>2]=(c[(c[nb>>2]|0)+16>>2]|0?+g[v>>2]>65536.0:0)&1;s=i+((S(c[_a>>2]|0,(c[La>>2]|0)+(c[B>>2]|0)|0)|0)<<2)|0;tc((c[u>>2]|0)+(c[_a>>2]<<2)|0,s+(c[B>>2]<<2)|0,c[La>>2]|0,c[Za>>2]|0,c[(c[nb>>2]|0)+28>>2]|0,(c[Ra>>2]|0)+16|0,(c[nb>>2]|0)+192+(c[_a>>2]<<2)|0,c[t>>2]|0);s=(c[_a>>2]|0)+1|0;c[_a>>2]=s}while((s|0)<(c[Za>>2]|0));if((c[Ca>>2]|0)>3?(c[(c[nb>>2]|0)+64>>2]|0)!=0:0)if((c[na>>2]|0)!=0|(c[Ya>>2]|0)!=0)f=0;else ja=66;else if((c[na>>2]|0?1:(c[Ca>>2]|0)<=((c[Ta>>2]|0)*12|0))|(c[Ya>>2]|0)!=0)f=0;else ja=66;if((ja|0)==66)if(c[(c[nb>>2]|0)+20>>2]|0)f=0;else f=(c[(c[nb>>2]|0)+24>>2]|0)>=5;c[w>>2]=f&1;c[Xa>>2]=c[(c[nb>>2]|0)+100>>2];c[W>>2]=xc(c[nb>>2]|0,i,c[y>>2]|0,c[Za>>2]|0,c[La>>2]|0,c[Xa>>2]|0,Wa,Va,z,c[w>>2]|0,c[Ca>>2]|0,(c[nb>>2]|0)+120|0)|0;if(!(!(+g[Va>>2]>.4000000059604645)?!(+g[(c[nb>>2]|0)+108>>2]>.4000000059604645):0))ja=70;do if((ja|0)==70){if(c[(c[nb>>2]|0)+120>>2]|0?!(+g[(c[nb>>2]|0)+120+4>>2]>.3):0)break;if(!(+(c[Wa>>2]|0)>+(c[(c[nb>>2]|0)+104>>2]|0)*1.26)?!(+(c[Wa>>2]|0)<+(c[(c[nb>>2]|0)+104>>2]|0)*.79):0)break;c[pa>>2]=1}while(0);if(!(c[W>>2]|0)){if((c[na>>2]|0)==0?((c[ra>>2]|0)+16|0)<=(c[ia>>2]|0):0)vd(c[jb>>2]|0,0,1)}else{vd(c[jb>>2]|0,1,1);c[Wa>>2]=(c[Wa>>2]|0)+1;c[x>>2]=32-(V(c[Wa>>2]|0)|0)-5;xd(c[jb>>2]|0,c[x>>2]|0,6);yd(c[jb>>2]|0,(c[Wa>>2]|0)-(16<<c[x>>2])|0,4+(c[x>>2]|0)|0);c[Wa>>2]=(c[Wa>>2]|0)-1;yd(c[jb>>2]|0,c[z>>2]|0,3);wd(c[jb>>2]|0,c[Xa>>2]|0,25618,2)}c[gb>>2]=0;c[Sa>>2]=0;if((c[(c[nb>>2]|0)+24>>2]|0)>=1?(c[(c[nb>>2]|0)+64>>2]|0)==0:0){if((c[na>>2]|0)!=0&(c[_>>2]|0)<15)f=(c[(c[nb>>2]|0)+184>>2]|0)!=2;else f=0;c[A>>2]=f&1;c[gb>>2]=yc(i,(c[La>>2]|0)+(c[B>>2]|0)|0,c[Za>>2]|0,ua,U,c[A>>2]|0,R)|0}if((c[Ka>>2]|0)>0?(B=(vc(c[jb>>2]|0)|0)+3|0,(B|0)<=(c[ia>>2]|0)):0){if(c[gb>>2]|0)c[Sa>>2]=c[Y>>2]}else{c[gb>>2]=0;c[hb>>2]=1}B=(S(c[Za>>2]|0,c[La>>2]|0)|0)<<2;j=l;l=l+((1*B|0)+15&-16)|0;B=(S(c[bb>>2]|0,c[Za>>2]|0)|0)<<2;q=l;l=l+((1*B|0)+15&-16)|0;B=(S(c[bb>>2]|0,c[Za>>2]|0)|0)<<2;p=l;l=l+((1*B|0)+15&-16)|0;if(c[Sa>>2]|0)f=(c[(c[nb>>2]|0)+24>>2]|0)>=8;else f=0;c[P>>2]=f&1;B=(S(c[Ta>>2]|0,c[bb>>2]|0)|0)<<2;m=l;l=l+((1*B|0)+15&-16)|0;a:do if(c[P>>2]|0){zc(c[Ra>>2]|0,0,i,j,c[Ta>>2]|0,c[Za>>2]|0,c[Ka>>2]|0,c[(c[nb>>2]|0)+28>>2]|0,c[(c[nb>>2]|0)+72>>2]|0);Mb(c[Ra>>2]|0,j,q,c[Z>>2]|0,c[Ta>>2]|0,c[Ka>>2]|0,c[(c[nb>>2]|0)+72>>2]|0);le(c[Ra>>2]|0,c[Z>>2]|0,c[$a>>2]|0,q,m,c[Ta>>2]|0);c[ab>>2]=0;while(1){if((c[ab>>2]|0)>=(S(c[Ta>>2]|0,c[bb>>2]|0)|0))break a;B=m+(c[ab>>2]<<2)|0;g[B>>2]=+g[B>>2]+ +(c[Ka>>2]|0)*.5;c[ab>>2]=(c[ab>>2]|0)+1}}while(0);zc(c[Ra>>2]|0,c[Sa>>2]|0,i,j,c[Ta>>2]|0,c[Za>>2]|0,c[Ka>>2]|0,c[(c[nb>>2]|0)+28>>2]|0,c[(c[nb>>2]|0)+72>>2]|0);if((c[Za>>2]|0)==2&(c[Ta>>2]|0)==1)c[U>>2]=0;Mb(c[Ra>>2]|0,j,q,c[Z>>2]|0,c[Ta>>2]|0,c[Ka>>2]|0,c[(c[nb>>2]|0)+72>>2]|0);b:do if(c[(c[nb>>2]|0)+64>>2]|0){c[ab>>2]=2;while(1){if((c[ab>>2]|0)>=(c[$a>>2]|0))break b;if(+g[q+(c[ab>>2]<<2)>>2]<+g[q>>2]*9.999999747378752e-05)k=+g[q+(c[ab>>2]<<2)>>2];else k=+g[q>>2]*9.999999747378752e-05;g[q+(c[ab>>2]<<2)>>2]=k;if(+g[q+(c[ab>>2]<<2)>>2]>1.0000000036274937e-15)k=+g[q+(c[ab>>2]<<2)>>2];else k=1.0000000036274937e-15;g[q+(c[ab>>2]<<2)>>2]=k;c[ab>>2]=(c[ab>>2]|0)+1}}while(0);le(c[Ra>>2]|0,c[Z>>2]|0,c[$a>>2]|0,q,p,c[Ta>>2]|0);B=(S(c[Ta>>2]|0,c[bb>>2]|0)|0)<<2;e=l;l=l+((1*B|0)+15&-16)|0;wk(e|0,0,c[$a>>2]<<2|0)|0;do if(!(c[na>>2]|0)){if(!(c[(c[nb>>2]|0)+236>>2]|0))break;if(c[(c[nb>>2]|0)+64>>2]|0)break;g[K>>2]=0.0;g[J>>2]=0.0;c[C>>2]=0;if(2>(c[(c[nb>>2]|0)+92>>2]|0))f=2;else f=c[(c[nb>>2]|0)+92>>2]|0;c[L>>2]=f;c[_a>>2]=0;while(1){if((c[_a>>2]|0)>=(c[Ta>>2]|0))break;c[ab>>2]=0;while(1){if((c[ab>>2]|0)>=(c[L>>2]|0))break;B=S(c[bb>>2]|0,c[_a>>2]|0)|0;if(+g[(c[(c[nb>>2]|0)+236>>2]|0)+(B+(c[ab>>2]|0)<<2)>>2]<.25){B=S(c[bb>>2]|0,c[_a>>2]|0)|0;k=+g[(c[(c[nb>>2]|0)+236>>2]|0)+(B+(c[ab>>2]|0)<<2)>>2]}else k=.25;do if(k>-2.0){B=S(c[bb>>2]|0,c[_a>>2]|0)|0;if(!(+g[(c[(c[nb>>2]|0)+236>>2]|0)+(B+(c[ab>>2]|0)<<2)>>2]<.25)){k=.25;break}B=S(c[bb>>2]|0,c[_a>>2]|0)|0;k=+g[(c[(c[nb>>2]|0)+236>>2]|0)+(B+(c[ab>>2]|0)<<2)>>2]}else k=-2.0;while(0);g[D>>2]=k;if(+g[D>>2]>0.0)g[D>>2]=+g[D>>2]*.5;g[K>>2]=+g[K>>2]+ +g[D>>2]*+((b[(c[ca>>2]|0)+((c[ab>>2]|0)+1<<1)>>1]|0)-(b[(c[ca>>2]|0)+(c[ab>>2]<<1)>>1]|0)|0);c[C>>2]=(c[C>>2]|0)+((b[(c[ca>>2]|0)+((c[ab>>2]|0)+1<<1)>>1]|0)-(b[(c[ca>>2]|0)+(c[ab>>2]<<1)>>1]|0));g[J>>2]=+g[J>>2]+ +g[D>>2]*+(1+(c[ab>>2]<<1)-(c[L>>2]|0)|0);c[ab>>2]=(c[ab>>2]|0)+1}c[_a>>2]=(c[_a>>2]|0)+1}g[K>>2]=+g[K>>2]/+(c[C>>2]|0);g[K>>2]=+g[K>>2]+.20000000298023224;D=S(c[Ta>>2]|0,(c[L>>2]|0)-1|0)|0;D=S(D,(c[L>>2]|0)+1|0)|0;g[J>>2]=+g[J>>2]*6.0/+(S(D,c[L>>2]|0)|0);g[J>>2]=+g[J>>2]*.5;if((+g[J>>2]<.03099999949336052?+g[J>>2]:.03099999949336052)>-.03099999949336052)k=+g[J>>2]<.03099999949336052?+g[J>>2]:.03099999949336052;else k=-.03099999949336052;g[J>>2]=k;c[H>>2]=0;while(1){if((b[(c[ca>>2]|0)+((c[H>>2]|0)+1<<1)>>1]|0)>=((b[(c[ca>>2]|0)+(c[L>>2]<<1)>>1]|0)/2|0|0))break;c[H>>2]=(c[H>>2]|0)+1}c[E>>2]=0;c[ab>>2]=0;while(1){if((c[ab>>2]|0)>=(c[L>>2]|0))break;g[G>>2]=+g[K>>2]+ +g[J>>2]*+((c[ab>>2]|0)-(c[H>>2]|0)|0);k=+g[(c[(c[nb>>2]|0)+236>>2]|0)+(c[ab>>2]<<2)>>2];if((c[Ta>>2]|0)==2){if(k>+g[(c[(c[nb>>2]|0)+236>>2]|0)+((c[bb>>2]|0)+(c[ab>>2]|0)<<2)>>2])f=c[ab>>2]|0;else f=(c[bb>>2]|0)+(c[ab>>2]|0)|0;g[I>>2]=+g[(c[(c[nb>>2]|0)+236>>2]|0)+(f<<2)>>2]}else g[I>>2]=k;g[I>>2]=+g[I>>2]<0.0?+g[I>>2]:0.0;g[I>>2]=+g[I>>2]-+g[G>>2];if(+g[I>>2]>.25){g[e+(c[ab>>2]<<2)>>2]=+g[I>>2]-.25;c[E>>2]=(c[E>>2]|0)+1}c[ab>>2]=(c[ab>>2]|0)+1}c:do if((c[E>>2]|0)>=3){g[K>>2]=+g[K>>2]+.25;if(+g[K>>2]>0.0){g[K>>2]=0.0;g[J>>2]=0.0;wk(e|0,0,c[L>>2]<<2|0)|0;break}c[ab>>2]=0;while(1){if((c[ab>>2]|0)>=(c[L>>2]|0))break c;if(0.0>+g[e+(c[ab>>2]<<2)>>2]-.25)k=0.0;else k=+g[e+(c[ab>>2]<<2)>>2]-.25;g[e+(c[ab>>2]<<2)>>2]=k;c[ab>>2]=(c[ab>>2]|0)+1}}while(0);g[K>>2]=+g[K>>2]+.20000000298023224;g[ha>>2]=+g[J>>2]*64.0;g[qa>>2]=+g[K>>2]}while(0);if(!(c[(c[nb>>2]|0)+64>>2]|0)){g[M>>2]=-10.0;g[N>>2]=0.0;if(c[Sa>>2]|0)k=+(c[Ka>>2]|0)*.5;else k=0.0;g[O>>2]=k;c[ab>>2]=c[fb>>2];while(1){if((c[ab>>2]|0)>=(c[$a>>2]|0))break;if(+g[M>>2]-1.0>+g[p+(c[ab>>2]<<2)>>2]-+g[O>>2])k=+g[M>>2]-1.0;else k=+g[p+(c[ab>>2]<<2)>>2]-+g[O>>2];g[M>>2]=k;if((c[Ta>>2]|0)==2){if(+g[M>>2]>+g[p+((c[ab>>2]|0)+(c[bb>>2]|0)<<2)>>2]-+g[O>>2])k=+g[M>>2];else k=+g[p+((c[ab>>2]|0)+(c[bb>>2]|0)<<2)>>2]-+g[O>>2];g[M>>2]=k}g[N>>2]=+g[N>>2]+ +g[M>>2];c[ab>>2]=(c[ab>>2]|0)+1}g[N>>2]=+g[N>>2]/+((c[$a>>2]|0)-(c[fb>>2]|0)|0);g[ta>>2]=+g[N>>2]-+g[(c[nb>>2]|0)+240>>2];if(3.0<(-1.5>+g[ta>>2]?-1.5:+g[ta>>2]))k=3.0;else k=-1.5>+g[ta>>2]?-1.5:+g[ta>>2];g[ta>>2]=k;O=(c[nb>>2]|0)+240|0;g[O>>2]=+g[O>>2]+ +g[ta>>2]*.019999999552965164}if(!(c[P>>2]|0)){P=(S(c[Ta>>2]|0,c[bb>>2]|0)|0)<<2;uk(m|0,p|0,P+0|0)|0}do if((c[Ka>>2]|0)>0){P=(vc(c[jb>>2]|0)|0)+3|0;if(c[gb>>2]|0?1:(P|0)>(c[ia>>2]|0))break;if((c[(c[nb>>2]|0)+24>>2]|0)<5)break;if(c[na>>2]|0?1:(c[(c[nb>>2]|0)+64>>2]|0)!=0)break;if(!(Ac(p,c[cb>>2]|0,c[bb>>2]|0,c[fb>>2]|0,c[$a>>2]|0,c[Ta>>2]|0)|0))break;c[gb>>2]=1;c[Sa>>2]=c[Y>>2];zc(c[Ra>>2]|0,c[Sa>>2]|0,i,j,c[Ta>>2]|0,c[Za>>2]|0,c[Ka>>2]|0,c[(c[nb>>2]|0)+28>>2]|0,c[(c[nb>>2]|0)+72>>2]|0);Mb(c[Ra>>2]|0,j,q,c[Z>>2]|0,c[Ta>>2]|0,c[Ka>>2]|0,c[(c[nb>>2]|0)+72>>2]|0);le(c[Ra>>2]|0,c[Z>>2]|0,c[$a>>2]|0,q,p,c[Ta>>2]|0);c[ab>>2]=0;while(1){if((c[ab>>2]|0)>=(S(c[Ta>>2]|0,c[bb>>2]|0)|0))break;P=m+(c[ab>>2]<<2)|0;g[P>>2]=+g[P>>2]+ +(c[Ka>>2]|0)*.5;c[ab>>2]=(c[ab>>2]|0)+1}g[ua>>2]=.20000000298023224}while(0);do if((c[Ka>>2]|0)>0){P=(vc(c[jb>>2]|0)|0)+3|0;if((P|0)>(c[ia>>2]|0))break;vd(c[jb>>2]|0,c[gb>>2]|0,3)}while(0);P=(S(c[Ta>>2]|0,c[La>>2]|0)|0)<<2;o=l;l=l+((1*P|0)+15&-16)|0;Nb(c[Ra>>2]|0,j,o,q,c[Z>>2]|0,c[Ta>>2]|0,c[Y>>2]|0);do if(c[na>>2]|0?1:(c[_>>2]|0)<((c[Ta>>2]|0)*15|0))f=0;else{if((c[(c[nb>>2]|0)+24>>2]|0)<2){f=0;break}f=(c[(c[nb>>2]|0)+64>>2]|0)!=0^1}while(0);c[Q>>2]=f&1;a=l;l=l+((1*(c[bb>>2]<<2)|0)+15&-16)|0;j=l;l=l+((1*(c[bb>>2]<<2)|0)+15&-16)|0;i=l;l=l+((1*(c[bb>>2]<<2)|0)+15&-16)|0;g[oa>>2]=+Bc(p,m,c[bb>>2]|0,c[fb>>2]|0,c[$a>>2]|0,c[Ta>>2]|0,a,c[(c[nb>>2]|0)+60>>2]|0,c[(c[Ra>>2]|0)+56>>2]|0,c[gb>>2]|0,c[(c[nb>>2]|0)+44>>2]|0,c[(c[nb>>2]|0)+52>>2]|0,c[ca>>2]|0,c[Ka>>2]|0,c[_>>2]|0,va,c[(c[nb>>2]|0)+64>>2]|0,e,(c[nb>>2]|0)+120|0,j,i);n=l;l=l+((1*(c[bb>>2]<<2)|0)+15&-16)|0;d:do if(c[Q>>2]|0){if(80>((20480/(c[_>>2]|0)|0)+2|0))f=80;else f=(20480/(c[_>>2]|0)|0)+2|0;c[T>>2]=f;c[X>>2]=Cc(c[Ra>>2]|0,c[Z>>2]|0,c[gb>>2]|0,n,c[T>>2]|0,o,c[La>>2]|0,c[Ka>>2]|0,+g[ua>>2],c[U>>2]|0,j)|0;c[ab>>2]=c[Z>>2];while(1){if((c[ab>>2]|0)>=(c[$a>>2]|0))break d;c[n+(c[ab>>2]<<2)>>2]=c[n+((c[Z>>2]|0)-1<<2)>>2];c[ab>>2]=(c[ab>>2]|0)+1}}else{if((c[na>>2]|0)!=0&(c[R>>2]|0)!=0){c[ab>>2]=0;while(1){if((c[ab>>2]|0)>=(c[$a>>2]|0))break;c[n+(c[ab>>2]<<2)>>2]=1;c[ab>>2]=(c[ab>>2]|0)+1}c[X>>2]=0;break}do if((c[na>>2]|0)!=0&(c[_>>2]|0)<15){if((c[(c[nb>>2]|0)+184>>2]|0)==2)break;c[ab>>2]=0;while(1){if((c[ab>>2]|0)>=(c[$a>>2]|0))break;c[n+(c[ab>>2]<<2)>>2]=0;c[ab>>2]=(c[ab>>2]|0)+1}c[X>>2]=c[gb>>2];break d}while(0);c[ab>>2]=0;while(1){if((c[ab>>2]|0)>=(c[$a>>2]|0))break;c[n+(c[ab>>2]<<2)>>2]=c[gb>>2];c[ab>>2]=(c[ab>>2]|0)+1}c[X>>2]=0}while(0);U=(S(c[Ta>>2]|0,c[bb>>2]|0)|0)<<2;d=l;l=l+((1*U|0)+15&-16)|0;c[_a>>2]=0;do{c[ab>>2]=c[fb>>2];while(1){if((c[ab>>2]|0)>=(c[$a>>2]|0))break;k=+g[p+((c[ab>>2]|0)+(S(c[_a>>2]|0,c[bb>>2]|0)|0)<<2)>>2];if(+F(+(k-+g[(c[cb>>2]|0)+((c[ab>>2]|0)+(S(c[_a>>2]|0,c[bb>>2]|0)|0)<<2)>>2]))<2.0){k=+g[(c[Ua>>2]|0)+((c[ab>>2]|0)+(S(c[_a>>2]|0,c[bb>>2]|0)|0)<<2)>>2]*.25;U=p+((c[ab>>2]|0)+(S(c[_a>>2]|0,c[bb>>2]|0)|0)<<2)|0;g[U>>2]=+g[U>>2]-k}c[ab>>2]=(c[ab>>2]|0)+1}U=(c[_a>>2]|0)+1|0;c[_a>>2]=U}while((U|0)<(c[Ta>>2]|0));ae(c[Ra>>2]|0,c[fb>>2]|0,c[$a>>2]|0,c[Z>>2]|0,p,c[cb>>2]|0,c[ia>>2]|0,d,c[jb>>2]|0,c[Ta>>2]|0,c[Ka>>2]|0,c[Ca>>2]|0,c[(c[nb>>2]|0)+12>>2]|0,(c[nb>>2]|0)+84|0,(c[(c[nb>>2]|0)+24>>2]|0)>=4&1,c[(c[nb>>2]|0)+56>>2]|0,c[(c[nb>>2]|0)+64>>2]|0);Dc(c[fb>>2]|0,c[$a>>2]|0,c[gb>>2]|0,n,c[Ka>>2]|0,c[X>>2]|0,c[jb>>2]|0);X=(vc(c[jb>>2]|0)|0)+4|0;if((X|0)<=(c[ia>>2]|0)){e:do if(c[(c[nb>>2]|0)+64>>2]|0){c[(c[nb>>2]|0)+100>>2]=0;c[(c[nb>>2]|0)+80>>2]=2}else{if(c[na>>2]|0)if(!(c[(c[nb>>2]|0)+24>>2]|0)){c[(c[nb>>2]|0)+80>>2]=0;break}else{c[(c[nb>>2]|0)+80>>2]=c[gb>>2]|0?2:3;break}do if(!(c[Sa>>2]|0)){if((c[(c[nb>>2]|0)+24>>2]|0)<3)break;if((c[Ca>>2]|0)<((c[Ta>>2]|0)*10|0))break;if(c[W>>2]|0)f=(c[Sa>>2]|0)!=0^1;else f=0;Z=Rb(c[Ra>>2]|0,o,(c[nb>>2]|0)+88|0,c[(c[nb>>2]|0)+80>>2]|0,(c[nb>>2]|0)+96|0,(c[nb>>2]|0)+100|0,f&1,c[Z>>2]|0,c[Ta>>2]|0,c[Y>>2]|0,i)|0;c[(c[nb>>2]|0)+80>>2]=Z;break e}while(0);c[(c[nb>>2]|0)+80>>2]=(c[(c[nb>>2]|0)+24>>2]|0)==0?0:2}while(0);wd(c[jb>>2]|0,c[(c[nb>>2]|0)+80>>2]|0,25621,5)}if(c[(c[nb>>2]|0)+64>>2]|0){if(8<((c[_>>2]|0)/3|0|0))f=8;else f=(c[_>>2]|0)/3|0;c[a>>2]=f}h=l;l=l+((1*(c[bb>>2]<<2)|0)+15&-16)|0;lc(c[Ra>>2]|0,h,c[Ka>>2]|0,c[Ta>>2]|0);c[aa>>2]=6;c[ia>>2]=c[ia>>2]<<3;c[wa>>2]=0;c[ra>>2]=bd(c[jb>>2]|0)|0;c[ab>>2]=c[fb>>2];while(1){f=c[Ta>>2]|0;if((c[ab>>2]|0)>=(c[$a>>2]|0))break;f=S(f,(b[(c[ca>>2]|0)+((c[ab>>2]|0)+1<<1)>>1]|0)-(b[(c[ca>>2]|0)+(c[ab>>2]<<1)>>1]|0)|0)|0;c[ga>>2]=f<<c[Ka>>2];f=c[ga>>2]|0;if((c[ga>>2]<<3|0)<((48>(c[ga>>2]|0)?48:c[ga>>2]|0)|0))f=f<<3;else f=48>(f|0)?48:c[ga>>2]|0;c[fa>>2]=f;c[ba>>2]=c[aa>>2];c[$>>2]=0;c[ea>>2]=0;while(1){if(((c[ra>>2]|0)+(c[ba>>2]<<3)|0)>=((c[ia>>2]|0)-(c[wa>>2]|0)|0))break;if((c[$>>2]|0)>=(c[h+(c[ab>>2]<<2)>>2]|0))break;c[da>>2]=(c[ea>>2]|0)<(c[a+(c[ab>>2]<<2)>>2]|0)&1;vd(c[jb>>2]|0,c[da>>2]|0,c[ba>>2]|0);c[ra>>2]=bd(c[jb>>2]|0)|0;if(!(c[da>>2]|0))break;c[$>>2]=(c[$>>2]|0)+(c[fa>>2]|0);c[wa>>2]=(c[wa>>2]|0)+(c[fa>>2]|0);c[ba>>2]=1;c[ea>>2]=(c[ea>>2]|0)+1}if(c[ea>>2]|0)c[aa>>2]=2>((c[aa>>2]|0)-1|0)?2:(c[aa>>2]|0)-1|0;c[a+(c[ab>>2]<<2)>>2]=c[$>>2];c[ab>>2]=(c[ab>>2]|0)+1}if((f|0)==2){if(c[Ka>>2]|0)c[Qa>>2]=Ec(c[Ra>>2]|0,o,c[Ka>>2]|0,c[La>>2]|0)|0;ga=Ib(+((c[Fa>>2]|0)/1e3|0|0),196,280,21,c[(c[nb>>2]|0)+232>>2]|0)|0;c[(c[nb>>2]|0)+232>>2]=ga;if((c[fb>>2]|0)>(c[(c[nb>>2]|0)+232>>2]|0))f=c[fb>>2]|0;else f=c[(c[nb>>2]|0)+232>>2]|0;do if((c[$a>>2]|0)>=(f|0))if((c[fb>>2]|0)>(c[(c[nb>>2]|0)+232>>2]|0)){f=c[fb>>2]|0;break}else{f=c[(c[nb>>2]|0)+232>>2]|0;break}else f=c[$a>>2]|0;while(0);c[(c[nb>>2]|0)+232>>2]=f}c[Ha>>2]=5;if(((c[ra>>2]|0)+48|0)<=((c[ia>>2]|0)-(c[wa>>2]|0)|0)){do if((c[fb>>2]|0)>0)ja=259;else{if(c[(c[nb>>2]|0)+64>>2]|0){ja=259;break}c[Ha>>2]=Fc(c[Ra>>2]|0,o,p,c[$a>>2]|0,c[Ka>>2]|0,c[Ta>>2]|0,c[La>>2]|0,(c[nb>>2]|0)+120|0,(c[nb>>2]|0)+228|0,+g[ua>>2],c[(c[nb>>2]|0)+232>>2]|0,+g[ha>>2],c[Fa>>2]|0,c[(c[nb>>2]|0)+72>>2]|0)|0}while(0);if((ja|0)==259){g[(c[nb>>2]|0)+228>>2]=0.0;c[Ha>>2]=5}wd(c[jb>>2]|0,c[Ha>>2]|0,25625,7);c[ra>>2]=bd(c[jb>>2]|0)|0}if((c[Ea>>2]|0)>0){c[Aa>>2]=(c[(c[Ra>>2]|0)+36>>2]|0)-(c[Ka>>2]|0);if((c[kb>>2]|0)<(1275>>3-(c[Ka>>2]|0)|0))f=c[kb>>2]|0;else f=1275>>3-(c[Ka>>2]|0);c[kb>>2]=f;f=c[Ea>>2]|0;j=c[Ta>>2]|0;if(c[na>>2]|0){if(0>(f-((j*9|0)+4<<3)|0))f=0;else f=(c[Ea>>2]|0)-(((c[Ta>>2]|0)*9|0)+4<<3)|0;c[ma>>2]=f}else c[ma>>2]=f-((j*40|0)+20<<3);if(c[(c[nb>>2]|0)+52>>2]|0)c[ma>>2]=(c[ma>>2]|0)+(c[(c[nb>>2]|0)+216>>2]>>c[Aa>>2]);do if(c[na>>2]|0){c[Da>>2]=c[ma>>2];if((c[(c[nb>>2]|0)+184+4>>2]|0)<100)c[Da>>2]=(c[Da>>2]|0)+(96>>3-(c[Ka>>2]|0));if((c[(c[nb>>2]|0)+184+4>>2]|0)>100)c[Da>>2]=(c[Da>>2]|0)-(144>>3-(c[Ka>>2]|0));c[Da>>2]=(c[Da>>2]|0)+~~((+g[ua>>2]-.25)*400.0);if(!(+g[ua>>2]>.699999988079071))break;c[Da>>2]=(c[Da>>2]|0)>400?c[Da>>2]|0:400}else c[Da>>2]=Gc(c[Ra>>2]|0,(c[nb>>2]|0)+120|0,c[ma>>2]|0,c[Ka>>2]|0,c[Fa>>2]|0,c[(c[nb>>2]|0)+92>>2]|0,c[Ta>>2]|0,c[(c[nb>>2]|0)+232>>2]|0,c[(c[nb>>2]|0)+52>>2]|0,+g[(c[nb>>2]|0)+228>>2],c[va>>2]|0,+g[ua>>2],c[pa>>2]|0,+g[oa>>2],c[(c[nb>>2]|0)+64>>2]|0,(c[(c[nb>>2]|0)+236>>2]|0)!=0&1,+g[qa>>2],+g[ta>>2])|0;while(0);c[Da>>2]=(c[Da>>2]|0)+(c[ra>>2]|0);c[Ba>>2]=((c[ra>>2]|0)+(c[wa>>2]|0)+64-1>>6)+2;if(c[na>>2]|0){if((c[Ba>>2]|0)>((c[sa>>2]|0)+296+(c[wa>>2]|0)+64-1>>6|0))f=c[Ba>>2]|0;else f=(c[sa>>2]|0)+296+(c[wa>>2]|0)+64-1>>6;c[Ba>>2]=f}c[Ca>>2]=(c[Da>>2]|0)+32>>6;c[Ca>>2]=(c[Ba>>2]|0)>(c[Ca>>2]|0)?c[Ba>>2]|0:c[Ca>>2]|0;c[Ca>>2]=(c[kb>>2]|0)<(c[Ca>>2]|0)?c[kb>>2]|0:c[Ca>>2]|0;c[za>>2]=(c[Da>>2]|0)-(c[Ea>>2]|0);c[Da>>2]=c[Ca>>2]<<6;if(c[Ya>>2]|0){c[Ca>>2]=2;c[Da>>2]=128;c[za>>2]=0}if((c[(c[nb>>2]|0)+220>>2]|0)<970){Ba=(c[nb>>2]|0)+220|0;c[Ba>>2]=(c[Ba>>2]|0)+1;g[ya>>2]=1.0/+((c[(c[nb>>2]|0)+220>>2]|0)+20|0)}else g[ya>>2]=1.0000000474974513e-03;if(c[(c[nb>>2]|0)+52>>2]|0){Ba=(c[nb>>2]|0)+208|0;c[Ba>>2]=(c[Ba>>2]|0)+((c[Da>>2]|0)-(c[Ea>>2]|0))}if(c[(c[nb>>2]|0)+52>>2]|0){Da=S(c[za>>2]|0,1<<c[Aa>>2])|0;Ea=(c[nb>>2]|0)+212|0;c[Ea>>2]=(c[Ea>>2]|0)+~~(+g[ya>>2]*+(Da-(c[(c[nb>>2]|0)+216>>2]|0)-(c[(c[nb>>2]|0)+212>>2]|0)|0));c[(c[nb>>2]|0)+216>>2]=0-(c[(c[nb>>2]|0)+212>>2]|0)}do if(c[(c[nb>>2]|0)+52>>2]|0){if((c[(c[nb>>2]|0)+208>>2]|0)>=0)break;c[xa>>2]=(0-(c[(c[nb>>2]|0)+208>>2]|0)|0)/64|0;c[Ca>>2]=(c[Ca>>2]|0)+(c[Ya>>2]|0?0:c[xa>>2]|0);c[(c[nb>>2]|0)+208>>2]=0}while(0);c[kb>>2]=(c[kb>>2]|0)<(c[Ca>>2]|0)?c[kb>>2]|0:c[Ca>>2]|0;Bd(c[jb>>2]|0,c[kb>>2]|0)}i=l;l=l+((1*(c[bb>>2]<<2)|0)+15&-16)|0;e=l;l=l+((1*(c[bb>>2]<<2)|0)+15&-16)|0;m=l;l=l+((1*(c[bb>>2]<<2)|0)+15&-16)|0;Ea=c[kb>>2]<<3<<3;c[Ia>>2]=Ea-(bd(c[jb>>2]|0)|0)-1;if((c[gb>>2]|0)!=0&(c[Ka>>2]|0)>=2)f=(c[Ia>>2]|0)>=((c[Ka>>2]|0)+2<<3|0);else f=0;c[Na>>2]=f?8:0;c[Ia>>2]=(c[Ia>>2]|0)-(c[Na>>2]|0);c[Ja>>2]=(c[$a>>2]|0)-1;if(c[(c[nb>>2]|0)+120>>2]|0){do if((c[Fa>>2]|0)>=((c[Ta>>2]|0)*32e3|0)){if((c[Fa>>2]|0)<((c[Ta>>2]|0)*48e3|0)){c[Ga>>2]=16;break}if((c[Fa>>2]|0)<((c[Ta>>2]|0)*6e4|0)){c[Ga>>2]=18;break}if((c[Fa>>2]|0)<((c[Ta>>2]|0)*8e4|0)){c[Ga>>2]=19;break}else{c[Ga>>2]=20;break}}else c[Ga>>2]=13;while(0);if((c[(c[nb>>2]|0)+120+32>>2]|0)>(c[Ga>>2]|0))f=c[(c[nb>>2]|0)+120+32>>2]|0;else f=c[Ga>>2]|0;c[Ja>>2]=f}if(c[(c[nb>>2]|0)+64>>2]|0)c[Ja>>2]=1;c[Pa>>2]=me(c[Ra>>2]|0,c[fb>>2]|0,c[$a>>2]|0,a,h,c[Ha>>2]|0,(c[nb>>2]|0)+232|0,Qa,c[Ia>>2]|0,Oa,e,i,m,c[Ta>>2]|0,c[Ka>>2]|0,c[jb>>2]|0,1,c[(c[nb>>2]|0)+92>>2]|0,c[Ja>>2]|0)|0;if(c[(c[nb>>2]|0)+92>>2]|0){if(((c[(c[nb>>2]|0)+92>>2]|0)-1|0)>(c[Pa>>2]|0))j=(c[(c[nb>>2]|0)+92>>2]|0)-1|0;else j=c[Pa>>2]|0;f=c[(c[nb>>2]|0)+92>>2]|0;do if(((c[(c[nb>>2]|0)+92>>2]|0)+1|0)>=(j|0))if((f-1|0)>(c[Pa>>2]|0)){f=(c[(c[nb>>2]|0)+92>>2]|0)-1|0;break}else{f=c[Pa>>2]|0;break}else f=f+1|0;while(0);j=c[nb>>2]|0}else{f=c[Pa>>2]|0;j=c[nb>>2]|0}c[j+92>>2]=f;ge(c[Ra>>2]|0,c[fb>>2]|0,c[$a>>2]|0,c[cb>>2]|0,d,i,c[jb>>2]|0,c[Ta>>2]|0);Ia=S(c[Ta>>2]|0,c[bb>>2]|0)|0;Ja=l;l=l+((1*Ia|0)+15&-16)|0;Tb(1,c[Ra>>2]|0,c[fb>>2]|0,c[$a>>2]|0,o,(c[Ta>>2]|0)==2?o+(c[La>>2]<<2)|0:0,Ja,q,e,c[Sa>>2]|0,c[(c[nb>>2]|0)+80>>2]|0,c[Qa>>2]|0,c[(c[nb>>2]|0)+232>>2]|0,n,(c[kb>>2]<<6)-(c[Na>>2]|0)|0,c[Oa>>2]|0,c[jb>>2]|0,c[Ka>>2]|0,c[Pa>>2]|0,(c[nb>>2]|0)+76|0,c[(c[nb>>2]|0)+24>>2]|0,c[(c[nb>>2]|0)+72>>2]|0,c[(c[nb>>2]|0)+68>>2]|0);if((c[Na>>2]|0)>0){c[Ma>>2]=(c[(c[nb>>2]|0)+116>>2]|0)<2&1;yd(c[jb>>2]|0,c[Ma>>2]|0,1)}Oa=c[Ra>>2]|0;Pa=c[fb>>2]|0;Qa=c[$a>>2]|0;Ra=c[cb>>2]|0;Sa=c[kb>>2]<<3;Sa=Sa-(vc(c[jb>>2]|0)|0)|0;he(Oa,Pa,Qa,Ra,d,i,m,Sa,c[jb>>2]|0,c[Ta>>2]|0);wk(c[Ua>>2]|0,0,(S(c[bb>>2]|0,c[Za>>2]|0)|0)<<2|0)|0;c[_a>>2]=0;do{c[ab>>2]=c[fb>>2];while(1){if((c[ab>>2]|0)>=(c[$a>>2]|0))break;if(.5<+g[d+((c[ab>>2]|0)+(S(c[_a>>2]|0,c[bb>>2]|0)|0)<<2)>>2])k=.5;else k=+g[d+((c[ab>>2]|0)+(S(c[_a>>2]|0,c[bb>>2]|0)|0)<<2)>>2];do if(-.5>k)k=-.5;else{if(.5<+g[d+((c[ab>>2]|0)+(S(c[_a>>2]|0,c[bb>>2]|0)|0)<<2)>>2]){k=.5;break}k=+g[d+((c[ab>>2]|0)+(S(c[_a>>2]|0,c[bb>>2]|0)|0)<<2)>>2]}while(0);g[(c[Ua>>2]|0)+((c[ab>>2]|0)+(S(c[_a>>2]|0,c[bb>>2]|0)|0)<<2)>>2]=k;c[ab>>2]=(c[ab>>2]|0)+1}Sa=(c[_a>>2]|0)+1|0;c[_a>>2]=Sa}while((Sa|0)<(c[Ta>>2]|0));f:do if(c[Ya>>2]|0){c[ab>>2]=0;while(1){if((c[ab>>2]|0)>=(S(c[Ta>>2]|0,c[bb>>2]|0)|0))break f;g[(c[cb>>2]|0)+(c[ab>>2]<<2)>>2]=-28.0;c[ab>>2]=(c[ab>>2]|0)+1}}while(0);c[(c[nb>>2]|0)+104>>2]=c[Wa>>2];g[(c[nb>>2]|0)+108>>2]=+g[Va>>2];c[(c[nb>>2]|0)+112>>2]=c[Xa>>2];if((c[Za>>2]|0)==2&(c[Ta>>2]|0)==1)uk((c[cb>>2]|0)+(c[bb>>2]<<2)|0,c[cb>>2]|0,(c[bb>>2]<<2)+0|0)|0;g:do if(c[gb>>2]|0){c[ab>>2]=0;while(1){if((c[ab>>2]|0)>=(S(c[Za>>2]|0,c[bb>>2]|0)|0))break g;if(+g[(c[db>>2]|0)+(c[ab>>2]<<2)>>2]<+g[(c[cb>>2]|0)+(c[ab>>2]<<2)>>2])f=(c[db>>2]|0)+(c[ab>>2]<<2)|0;else f=(c[cb>>2]|0)+(c[ab>>2]<<2)|0;g[(c[db>>2]|0)+(c[ab>>2]<<2)>>2]=+g[f>>2];c[ab>>2]=(c[ab>>2]|0)+1}}else{Ya=(S(c[Za>>2]|0,c[bb>>2]|0)|0)<<2;uk(c[eb>>2]|0,c[db>>2]|0,Ya+0|0)|0;Ya=(S(c[Za>>2]|0,c[bb>>2]|0)|0)<<2;uk(c[db>>2]|0,c[cb>>2]|0,Ya+0|0)|0}while(0);c[_a>>2]=0;do{c[ab>>2]=0;while(1){if((c[ab>>2]|0)>=(c[fb>>2]|0))break;Ya=S(c[_a>>2]|0,c[bb>>2]|0)|0;g[(c[cb>>2]|0)+(Ya+(c[ab>>2]|0)<<2)>>2]=0.0;Ya=S(c[_a>>2]|0,c[bb>>2]|0)|0;g[(c[eb>>2]|0)+(Ya+(c[ab>>2]|0)<<2)>>2]=-28.0;Ya=S(c[_a>>2]|0,c[bb>>2]|0)|0;g[(c[db>>2]|0)+(Ya+(c[ab>>2]|0)<<2)>>2]=-28.0;c[ab>>2]=(c[ab>>2]|0)+1}c[ab>>2]=c[$a>>2];while(1){if((c[ab>>2]|0)>=(c[bb>>2]|0))break;Ya=S(c[_a>>2]|0,c[bb>>2]|0)|0;g[(c[cb>>2]|0)+(Ya+(c[ab>>2]|0)<<2)>>2]=0.0;Ya=S(c[_a>>2]|0,c[bb>>2]|0)|0;g[(c[eb>>2]|0)+(Ya+(c[ab>>2]|0)<<2)>>2]=-28.0;Ya=S(c[_a>>2]|0,c[bb>>2]|0)|0;g[(c[db>>2]|0)+(Ya+(c[ab>>2]|0)<<2)>>2]=-28.0;c[ab>>2]=(c[ab>>2]|0)+1}Ya=(c[_a>>2]|0)+1|0;c[_a>>2]=Ya}while((Ya|0)<(c[Za>>2]|0));j=(c[nb>>2]|0)+116|0;if((c[gb>>2]|0)!=0|(c[hb>>2]|0)!=0)f=(c[j>>2]|0)+1|0;else f=0;c[j>>2]=f;c[(c[nb>>2]|0)+76>>2]=c[(c[jb>>2]|0)+28>>2];Cd(c[jb>>2]|0);if(Hc(c[jb>>2]|0)|0){c[lb>>2]=-3;c[ib>>2]=1}else{c[lb>>2]=c[kb>>2];c[ib>>2]=1}ka(c[mb>>2]|0);nb=c[lb>>2]|0;l=ob;return nb|0}function vc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(V(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function wc(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k+16|0;f=k+12|0;e=k+8|0;h=k+4|0;i=k;c[j>>2]=a;c[f>>2]=b;g[h>>2]=0.0;g[i>>2]=0.0;c[e>>2]=0;while(1){d=+g[h>>2];if((c[e>>2]|0)>=(c[f>>2]|0))break;if(d>+g[(c[j>>2]|0)+(c[e>>2]<<2)>>2])d=+g[h>>2];else d=+g[(c[j>>2]|0)+(c[e>>2]<<2)>>2];g[h>>2]=d;if(+g[i>>2]<+g[(c[j>>2]|0)+(c[e>>2]<<2)>>2])d=+g[i>>2];else d=+g[(c[j>>2]|0)+(c[e>>2]<<2)>>2];g[i>>2]=d;c[e>>2]=(c[e>>2]|0)+1}l=k;return +(d>-+g[i>>2]?+g[h>>2]:-+g[i>>2])}function xc(a,b,d,e,f,h,i,j,k,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=l;l=l+112|0;O=P+96|0;z=P+92|0;J=P+88|0;u=P+84|0;v=P+80|0;K=P+76|0;G=P+72|0;x=P+68|0;M=P+64|0;q=P+60|0;r=P+56|0;p=P+52|0;w=P+48|0;I=P+40|0;A=P+36|0;H=P+32|0;y=P+28|0;s=P+24|0;D=P+20|0;L=P+16|0;C=P+12|0;N=P+8|0;t=P+4|0;B=P;c[O>>2]=a;c[z>>2]=b;c[J>>2]=d;c[u>>2]=e;c[v>>2]=f;c[K>>2]=h;c[G>>2]=i;c[x>>2]=j;c[M>>2]=k;c[q>>2]=m;c[r>>2]=n;c[p>>2]=o;c[A>>2]=c[c[O>>2]>>2];c[C>>2]=c[(c[A>>2]|0)+4>>2];k=S(c[u>>2]|0,(c[v>>2]|0)+1024|0)|0;c[N>>2]=la()|0;a=l;l=l+((1*(k<<2)|0)+15&-16)|0;c[I>>2]=a;c[I+4>>2]=a+((c[v>>2]|0)+1024<<2);c[w>>2]=0;do{uk(c[I+(c[w>>2]<<2)>>2]|0,(c[J>>2]|0)+(c[w>>2]<<10<<2)|0,4096|0)|0;a=(c[z>>2]|0)+((S(c[w>>2]|0,(c[v>>2]|0)+(c[C>>2]|0)|0)|0)<<2)|0;uk((c[I+(c[w>>2]<<2)>>2]|0)+4096|0,a+(c[C>>2]<<2)|0,(c[v>>2]<<2)+0|0)|0;a=(c[w>>2]|0)+1|0;c[w>>2]=a}while((a|0)<(c[u>>2]|0));if(c[q>>2]|0){k=1024+(c[v>>2]|0)>>1;c[t>>2]=la()|0;a=l;l=l+((1*(k<<2)|0)+15&-16)|0;Qd(I,a,1024+(c[v>>2]|0)|0,c[u>>2]|0,c[(c[O>>2]|0)+72>>2]|0);Td(a+2048|0,a,c[v>>2]|0,979,H,c[(c[O>>2]|0)+72>>2]|0);c[H>>2]=1024-(c[H>>2]|0);g[y>>2]=+Vd(a,1024,15,c[v>>2]|0,H,c[(c[O>>2]|0)+104>>2]|0,+g[(c[O>>2]|0)+108>>2],c[(c[O>>2]|0)+72>>2]|0);if((c[H>>2]|0)>1022)c[H>>2]=1022;g[y>>2]=+g[y>>2]*.699999988079071;if((c[(c[O>>2]|0)+56>>2]|0)>2)g[y>>2]=+g[y>>2]*.5;if((c[(c[O>>2]|0)+56>>2]|0)>4)g[y>>2]=+g[y>>2]*.5;if((c[(c[O>>2]|0)+56>>2]|0)>8)g[y>>2]=0.0;ka(c[t>>2]|0)}else{g[y>>2]=0.0;c[H>>2]=15}if(c[c[p>>2]>>2]|0)g[y>>2]=+g[y>>2]*+g[(c[p>>2]|0)+40>>2];g[s>>2]=.20000000298023224;a=(F((c[H>>2]|0)-(c[(c[O>>2]|0)+104>>2]|0)|0)|0)*10|0;if((a|0)>(c[H>>2]|0))g[s>>2]=+g[s>>2]+.20000000298023224;if((c[r>>2]|0)<25)g[s>>2]=+g[s>>2]+.10000000149011612;if((c[r>>2]|0)<35)g[s>>2]=+g[s>>2]+.10000000149011612;if(+g[(c[O>>2]|0)+108>>2]>.4000000059604645)g[s>>2]=+g[s>>2]-.10000000149011612;if(+g[(c[O>>2]|0)+108>>2]>.550000011920929)g[s>>2]=+g[s>>2]-.10000000149011612;g[s>>2]=+g[s>>2]>.20000000298023224?+g[s>>2]:.20000000298023224;if(+g[y>>2]<+g[s>>2]){g[y>>2]=0.0;c[D>>2]=0;c[L>>2]=0}else{if(+F(+(+g[y>>2]-+g[(c[O>>2]|0)+108>>2]))<.10000000149011612)g[y>>2]=+g[(c[O>>2]|0)+108>>2];c[L>>2]=~~+E(+(+g[y>>2]*32.0/3.0+.5))-1;if(0>((7<(c[L>>2]|0)?7:c[L>>2]|0)|0))e=0;else e=7<(c[L>>2]|0)?7:c[L>>2]|0;c[L>>2]=e;g[y>>2]=+((c[L>>2]|0)+1|0)*.09375;c[D>>2]=1}c[w>>2]=0;do{c[B>>2]=(c[(c[A>>2]|0)+44>>2]|0)-(c[C>>2]|0);if((c[(c[O>>2]|0)+104>>2]|0)>15)e=c[(c[O>>2]|0)+104>>2]|0;else e=15;c[(c[O>>2]|0)+104>>2]=e;t=(c[z>>2]|0)+((S(c[w>>2]|0,(c[v>>2]|0)+(c[C>>2]|0)|0)|0)<<2)|0;a=(c[O>>2]|0)+244+((S(c[w>>2]|0,c[C>>2]|0)|0)<<2)|0;uk(t|0,a|0,(c[C>>2]<<2)+0|0)|0;if(c[B>>2]|0){a=(c[z>>2]|0)+((S(c[w>>2]|0,(c[v>>2]|0)+(c[C>>2]|0)|0)|0)<<2)|0;kc(a+(c[C>>2]<<2)|0,(c[I+(c[w>>2]<<2)>>2]|0)+4096|0,c[(c[O>>2]|0)+104>>2]|0,c[(c[O>>2]|0)+104>>2]|0,c[B>>2]|0,-+g[(c[O>>2]|0)+108>>2],-+g[(c[O>>2]|0)+108>>2],c[(c[O>>2]|0)+112>>2]|0,c[(c[O>>2]|0)+112>>2]|0,0,0,c[(c[O>>2]|0)+72>>2]|0)}a=(c[z>>2]|0)+((S(c[w>>2]|0,(c[v>>2]|0)+(c[C>>2]|0)|0)|0)<<2)|0;kc(a+(c[C>>2]<<2)+(c[B>>2]<<2)|0,(c[I+(c[w>>2]<<2)>>2]|0)+4096+(c[B>>2]<<2)|0,c[(c[O>>2]|0)+104>>2]|0,c[H>>2]|0,(c[v>>2]|0)-(c[B>>2]|0)|0,-+g[(c[O>>2]|0)+108>>2],-+g[y>>2],c[(c[O>>2]|0)+112>>2]|0,c[K>>2]|0,c[(c[A>>2]|0)+60>>2]|0,c[C>>2]|0,c[(c[O>>2]|0)+72>>2]|0);a=(c[O>>2]|0)+244+((S(c[w>>2]|0,c[C>>2]|0)|0)<<2)|0;e=(c[z>>2]|0)+((S(c[w>>2]|0,(c[v>>2]|0)+(c[C>>2]|0)|0)|0)<<2)|0;uk(a|0,e+(c[v>>2]<<2)|0,(c[C>>2]<<2)+0|0)|0;e=(c[J>>2]|0)+(c[w>>2]<<10<<2)|0;if((c[v>>2]|0)>1024)uk(e|0,(c[I+(c[w>>2]<<2)>>2]|0)+(c[v>>2]<<2)|0,4096|0)|0;else{vk(e|0,(c[J>>2]|0)+(c[w>>2]<<10<<2)+(c[v>>2]<<2)|0,(1024-(c[v>>2]|0)<<2)+0|0)|0;uk((c[J>>2]|0)+(c[w>>2]<<10<<2)+4096+(0-(c[v>>2]|0)<<2)|0,(c[I+(c[w>>2]<<2)>>2]|0)+4096|0,(c[v>>2]<<2)+0|0)|0}a=(c[w>>2]|0)+1|0;c[w>>2]=a}while((a|0)<(c[u>>2]|0));g[c[x>>2]>>2]=+g[y>>2];c[c[G>>2]>>2]=c[H>>2];c[c[M>>2]>>2]=c[L>>2];O=c[D>>2]|0;ka(c[N>>2]|0);l=P;return O|0}function yc(a,b,e,f,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+112|0;s=N+96|0;t=N+92|0;m=N+88|0;L=N+84|0;B=N+80|0;n=N+76|0;D=N+72|0;q=N+68|0;y=N+64|0;z=N+60|0;J=N+56|0;v=N+52|0;o=N+48|0;M=N+44|0;u=N+40|0;p=N+36|0;K=N+32|0;x=N+28|0;C=N+24|0;A=N+20|0;w=N+16|0;F=N+12|0;I=N+8|0;H=N+4|0;r=N;c[s>>2]=a;c[t>>2]=b;c[m>>2]=e;c[L>>2]=f;c[B>>2]=h;c[n>>2]=i;c[D>>2]=j;c[J>>2]=0;c[v>>2]=0;g[p>>2]=.0625;j=c[t>>2]|0;c[K>>2]=la()|0;a=l;l=l+((1*(j<<2)|0)+15&-16)|0;c[c[D>>2]>>2]=0;if(c[n>>2]|0)g[p>>2]=.03125;c[u>>2]=(c[t>>2]|0)/2|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[m>>2]|0))break;c[C>>2]=0;g[y>>2]=0.0;g[z>>2]=0.0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[t>>2]|0))break;g[F>>2]=+g[(c[s>>2]|0)+((c[q>>2]|0)+(S(c[o>>2]|0,c[t>>2]|0)|0)<<2)>>2];g[I>>2]=+g[y>>2]+ +g[F>>2];g[y>>2]=+g[z>>2]+ +g[I>>2]-+g[F>>2]*2.0;g[z>>2]=+g[F>>2]-+g[I>>2]*.5;g[a+(c[q>>2]<<2)>>2]=+g[I>>2];c[q>>2]=(c[q>>2]|0)+1}e=a;i=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0));g[x>>2]=0.0;g[y>>2]=0.0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[u>>2]|0))break;g[H>>2]=+g[a+(c[q>>2]<<1<<2)>>2]*+g[a+(c[q>>2]<<1<<2)>>2]+ +g[a+((c[q>>2]<<1)+1<<2)>>2]*+g[a+((c[q>>2]<<1)+1<<2)>>2];g[x>>2]=+g[x>>2]+ +g[H>>2];g[a+(c[q>>2]<<2)>>2]=+g[y>>2]+ +g[p>>2]*(+g[H>>2]-+g[y>>2]);g[y>>2]=+g[a+(c[q>>2]<<2)>>2];c[q>>2]=(c[q>>2]|0)+1}g[y>>2]=0.0;g[w>>2]=0.0;c[q>>2]=(c[u>>2]|0)-1;while(1){if((c[q>>2]|0)<0)break;g[a+(c[q>>2]<<2)>>2]=+g[y>>2]+(+g[a+(c[q>>2]<<2)>>2]-+g[y>>2])*.125;g[y>>2]=+g[a+(c[q>>2]<<2)>>2];g[w>>2]=+g[w>>2]>+g[y>>2]?+g[w>>2]:+g[y>>2];c[q>>2]=(c[q>>2]|0)+-1}g[x>>2]=+G(+(+g[x>>2]*+g[w>>2]*.5*+(c[u>>2]|0)));g[A>>2]=+(c[u>>2]|0)/(+g[x>>2]+1.0000000036274937e-15);c[C>>2]=0;c[q>>2]=12;while(1){if((c[q>>2]|0)>=((c[u>>2]|0)-5|0))break;if(127.0<+E(+(+g[A>>2]*64.0*(+g[a+(c[q>>2]<<2)>>2]+1.0000000036274937e-15))))k=127.0;else k=+E(+(+g[A>>2]*64.0*(+g[a+(c[q>>2]<<2)>>2]+1.0000000036274937e-15)));if(!(0.0>k))if(127.0<+E(+(+g[A>>2]*64.0*(+g[a+(c[q>>2]<<2)>>2]+1.0000000036274937e-15))))k=127.0;else k=+E(+(+g[A>>2]*64.0*(+g[a+(c[q>>2]<<2)>>2]+1.0000000036274937e-15)));else k=0.0;c[r>>2]=~~k;c[C>>2]=(c[C>>2]|0)+(d[25636+(c[r>>2]|0)>>0]|0);c[q>>2]=(c[q>>2]|0)+4}c[C>>2]=(c[C>>2]<<6<<2|0)/(((c[u>>2]|0)-17|0)*6|0)|0;if((c[C>>2]|0)>(c[v>>2]|0)){c[c[B>>2]>>2]=c[o>>2];c[v>>2]=c[C>>2]}c[o>>2]=(c[o>>2]|0)+1}c[J>>2]=(c[v>>2]|0)>200&1;if((c[n>>2]|0)!=0&(c[J>>2]|0)!=0&(c[v>>2]|0)<600){c[J>>2]=0;c[c[D>>2]>>2]=1}if(0.0>+G(+(+((c[v>>2]|0)*27|0)))-42.0)k=0.0;else k=+G(+(+((c[v>>2]|0)*27|0)))-42.0;g[M>>2]=k;if(0.0>(163.0<+g[M>>2]?163.0:+g[M>>2])*.006899999920278788-.139){k=0.0;k=+G(+k);M=c[L>>2]|0;g[M>>2]=k;M=c[J>>2]|0;L=c[K>>2]|0;ka(L|0);l=N;return M|0}k=(163.0<+g[M>>2]?163.0:+g[M>>2])*.006899999920278788-.139;k=+G(+k);M=c[L>>2]|0;g[M>>2]=k;M=c[J>>2]|0;L=c[K>>2]|0;ka(L|0);l=N;return M|0}function zc(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+80|0;x=D+64|0;B=D+60|0;w=D+56|0;y=D+52|0;n=D+48|0;o=D+44|0;p=D+40|0;C=D+36|0;r=D+32|0;z=D+28|0;q=D+24|0;m=D+20|0;A=D+16|0;v=D+12|0;s=D+8|0;u=D+4|0;t=D;c[x>>2]=a;c[B>>2]=b;c[w>>2]=d;c[y>>2]=e;c[n>>2]=f;c[o>>2]=h;c[p>>2]=i;c[C>>2]=j;c[r>>2]=k;c[z>>2]=c[(c[x>>2]|0)+4>>2];if(c[B>>2]|0){c[m>>2]=c[B>>2];c[q>>2]=c[(c[x>>2]|0)+44>>2];c[A>>2]=c[(c[x>>2]|0)+36>>2]}else{c[m>>2]=1;c[q>>2]=c[(c[x>>2]|0)+44>>2]<<c[p>>2];c[A>>2]=(c[(c[x>>2]|0)+36>>2]|0)-(c[p>>2]|0)}c[u>>2]=0;do{c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;B=S(c[m>>2]|0,c[q>>2]|0)|0;B=(c[w>>2]|0)+((S(c[u>>2]|0,B+(c[z>>2]|0)|0)|0)<<2)|0;B=B+((S(c[s>>2]|0,c[q>>2]|0)|0)<<2)|0;j=S(c[u>>2]|0,c[q>>2]|0)|0;j=(c[y>>2]|0)+((c[s>>2]|0)+(S(j,c[m>>2]|0)|0)<<2)|0;Nd((c[x>>2]|0)+64|0,B,j,c[(c[x>>2]|0)+60>>2]|0,c[z>>2]|0,c[A>>2]|0,c[m>>2]|0,c[r>>2]|0);c[s>>2]=(c[s>>2]|0)+1}j=(c[u>>2]|0)+1|0;c[u>>2]=j}while((j|0)<(c[o>>2]|0));a:do if((c[o>>2]|0)==2&(c[n>>2]|0)==1){c[v>>2]=0;while(1){if((c[v>>2]|0)>=(S(c[m>>2]|0,c[q>>2]|0)|0))break a;j=S(c[m>>2]|0,c[q>>2]|0)|0;g[(c[y>>2]|0)+(c[v>>2]<<2)>>2]=+g[(c[y>>2]|0)+(c[v>>2]<<2)>>2]*.5+ +g[(c[y>>2]|0)+(j+(c[v>>2]|0)<<2)>>2]*.5;c[v>>2]=(c[v>>2]|0)+1}}while(0);if((c[C>>2]|0)==1){l=D;return}c[u>>2]=0;do{j=S(c[m>>2]|0,c[q>>2]|0)|0;c[t>>2]=(j|0)/(c[C>>2]|0)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[t>>2]|0))break;j=S(c[u>>2]|0,c[m>>2]|0)|0;j=S(j,c[q>>2]|0)|0;j=(c[y>>2]|0)+(j+(c[v>>2]|0)<<2)|0;g[j>>2]=+g[j>>2]*+(c[C>>2]|0);c[v>>2]=(c[v>>2]|0)+1}B=S(c[u>>2]|0,c[m>>2]|0)|0;B=S(B,c[q>>2]|0)|0;j=S(c[m>>2]|0,c[q>>2]|0)|0;wk((c[y>>2]|0)+(B+(c[t>>2]|0)<<2)|0,0,j-(c[t>>2]|0)<<2|0)|0;j=(c[u>>2]|0)+1|0;c[u>>2]=j}while((j|0)<(c[n>>2]|0));l=D;return}function Ac(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+160|0;r=w+144|0;j=w+140|0;q=w+136|0;t=w+132|0;n=w+128|0;k=w+124|0;o=w+120|0;m=w+116|0;p=w+112|0;s=w+8|0;u=w+4|0;v=w;c[r>>2]=a;c[j>>2]=b;c[q>>2]=d;c[t>>2]=e;c[n>>2]=f;c[k>>2]=h;g[p>>2]=0.0;i=+g[(c[j>>2]|0)+(c[t>>2]<<2)>>2];a:do if((c[k>>2]|0)==1){g[s+(c[t>>2]<<2)>>2]=i;c[o>>2]=(c[t>>2]|0)+1;while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break a;if(+g[s+((c[o>>2]|0)-1<<2)>>2]-1.0>+g[(c[j>>2]|0)+(c[o>>2]<<2)>>2])i=+g[s+((c[o>>2]|0)-1<<2)>>2]-1.0;else i=+g[(c[j>>2]|0)+(c[o>>2]<<2)>>2];g[s+(c[o>>2]<<2)>>2]=i;c[o>>2]=(c[o>>2]|0)+1}}else{e=c[t>>2]|0;g[s+(c[t>>2]<<2)>>2]=+g[(c[j>>2]|0)+((i>+g[(c[j>>2]|0)+((c[t>>2]|0)+(c[q>>2]|0)<<2)>>2]?e:e+(c[q>>2]|0)|0)<<2)>>2];c[o>>2]=(c[t>>2]|0)+1;while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break a;e=c[o>>2]|0;if(+g[s+((c[o>>2]|0)-1<<2)>>2]-1.0>+g[(c[j>>2]|0)+((+g[(c[j>>2]|0)+(c[o>>2]<<2)>>2]>+g[(c[j>>2]|0)+((c[o>>2]|0)+(c[q>>2]|0)<<2)>>2]?e:e+(c[q>>2]|0)|0)<<2)>>2])i=+g[s+((c[o>>2]|0)-1<<2)>>2]-1.0;else{e=c[o>>2]|0;i=+g[(c[j>>2]|0)+((+g[(c[j>>2]|0)+(c[o>>2]<<2)>>2]>+g[(c[j>>2]|0)+((c[o>>2]|0)+(c[q>>2]|0)<<2)>>2]?e:e+(c[q>>2]|0)|0)<<2)>>2]}g[s+(c[o>>2]<<2)>>2]=i;c[o>>2]=(c[o>>2]|0)+1}}while(0);c[o>>2]=(c[n>>2]|0)-2;while(1){if((c[o>>2]|0)<(c[t>>2]|0))break;h=c[o>>2]|0;if(+g[s+(c[o>>2]<<2)>>2]>+g[s+((c[o>>2]|0)+1<<2)>>2]-1.0)i=+g[s+(h<<2)>>2];else i=+g[s+(h+1<<2)>>2]-1.0;g[s+(c[o>>2]<<2)>>2]=i;c[o>>2]=(c[o>>2]|0)+-1}c[m>>2]=0;do{c[o>>2]=2>(c[t>>2]|0)?2:c[t>>2]|0;while(1){if((c[o>>2]|0)>=((c[n>>2]|0)-1|0))break;if(0.0>+g[(c[r>>2]|0)+((c[o>>2]|0)+(S(c[m>>2]|0,c[q>>2]|0)|0)<<2)>>2])i=0.0;else i=+g[(c[r>>2]|0)+((c[o>>2]|0)+(S(c[m>>2]|0,c[q>>2]|0)|0)<<2)>>2];g[u>>2]=i;if(0.0>+g[s+(c[o>>2]<<2)>>2])i=0.0;else i=+g[s+(c[o>>2]<<2)>>2];g[v>>2]=i;if(0.0>+g[u>>2]-+g[v>>2])i=0.0;else i=+g[u>>2]-+g[v>>2];g[p>>2]=+g[p>>2]+i;c[o>>2]=(c[o>>2]|0)+1}j=(c[m>>2]|0)+1|0;c[m>>2]=j}while((j|0)<(c[k>>2]|0));g[p>>2]=+g[p>>2]/+(S(c[k>>2]|0,(c[n>>2]|0)-1-(2>(c[t>>2]|0)?2:c[t>>2]|0)|0)|0);l=w;return +g[p>>2]>1.0|0}
function Vd(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;j=j|0;var k=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0;T=l;l=l+128|0;M=T+124|0;C=T+120|0;D=T+116|0;m=T+112|0;r=T+108|0;J=T+104|0;I=T+100|0;u=T+96|0;B=T+92|0;k=T+88|0;o=T+84|0;q=T+80|0;y=T+76|0;z=T+72|0;H=T+68|0;P=T+64|0;O=T+60|0;R=T+56|0;Q=T+52|0;N=T+40|0;v=T+36|0;w=T+32|0;G=T+28|0;E=T+24|0;K=T+20|0;s=T+16|0;t=T+12|0;A=T+8|0;x=T+4|0;L=T;c[M>>2]=a;c[C>>2]=b;c[D>>2]=d;c[m>>2]=e;c[r>>2]=f;c[J>>2]=h;g[I>>2]=i;c[u>>2]=j;c[E>>2]=c[D>>2];c[C>>2]=(c[C>>2]|0)/2|0;c[D>>2]=(c[D>>2]|0)/2|0;a=c[r>>2]|0;c[a>>2]=(c[a>>2]|0)/2|0;c[J>>2]=(c[J>>2]|0)/2|0;c[m>>2]=(c[m>>2]|0)/2|0;c[M>>2]=(c[M>>2]|0)+(c[C>>2]<<2);if((c[c[r>>2]>>2]|0)>=(c[C>>2]|0))c[c[r>>2]>>2]=(c[C>>2]|0)-1;a=c[c[r>>2]>>2]|0;c[q>>2]=a;c[o>>2]=a;a=(c[C>>2]|0)+1|0;c[K>>2]=la()|0;f=l;l=l+((1*(a<<2)|0)+15&-16)|0;zb[c[p+((c[u>>2]&7)<<2)>>2]&0](c[M>>2]|0,c[M>>2]|0,(c[M>>2]|0)+(0-(c[q>>2]|0)<<2)|0,c[m>>2]|0,O,P);g[f>>2]=+g[O>>2];g[R>>2]=+g[O>>2];c[k>>2]=1;while(1){if((c[k>>2]|0)>(c[C>>2]|0))break;g[R>>2]=+g[R>>2]+ +g[(c[M>>2]|0)+(0-(c[k>>2]|0)<<2)>>2]*+g[(c[M>>2]|0)+(0-(c[k>>2]|0)<<2)>>2]-+g[(c[M>>2]|0)+((c[m>>2]|0)-(c[k>>2]|0)<<2)>>2]*+g[(c[M>>2]|0)+((c[m>>2]|0)-(c[k>>2]|0)<<2)>>2];g[f+(c[k>>2]<<2)>>2]=0.0>+g[R>>2]?0.0:+g[R>>2];c[k>>2]=(c[k>>2]|0)+1}g[R>>2]=+g[f+(c[q>>2]<<2)>>2];g[v>>2]=+g[P>>2];g[w>>2]=+g[R>>2];i=+Wd(+g[P>>2],+g[O>>2],+g[R>>2]);g[z>>2]=i;g[y>>2]=i;c[B>>2]=2;while(1){if((c[B>>2]|0)>15)break;g[x>>2]=0.0;c[s>>2]=Xd((c[q>>2]<<1)+(c[B>>2]|0)|0,c[B>>2]<<1)|0;if((c[s>>2]|0)<(c[D>>2]|0))break;do if((c[B>>2]|0)==2){e=c[q>>2]|0;if(((c[s>>2]|0)+(c[q>>2]|0)|0)>(c[C>>2]|0)){c[t>>2]=e;break}else{c[t>>2]=e+(c[s>>2]|0);break}}else{k=S(c[17400+(c[B>>2]<<2)>>2]<<1,c[q>>2]|0)|0;c[t>>2]=Xd(k+(c[B>>2]|0)|0,c[B>>2]<<1)|0}while(0);zb[c[p+((c[u>>2]&7)<<2)>>2]&0](c[M>>2]|0,(c[M>>2]|0)+(0-(c[s>>2]|0)<<2)|0,(c[M>>2]|0)+(0-(c[t>>2]|0)<<2)|0,c[m>>2]|0,P,Q);g[P>>2]=(+g[P>>2]+ +g[Q>>2])*.5;g[R>>2]=(+g[f+(c[s>>2]<<2)>>2]+ +g[f+(c[t>>2]<<2)>>2])*.5;g[A>>2]=+Wd(+g[P>>2],+g[O>>2],+g[R>>2]);do if((F((c[s>>2]|0)-(c[J>>2]|0)|0)|0)<=1)g[x>>2]=+g[I>>2];else{if((F((c[s>>2]|0)-(c[J>>2]|0)|0)|0)<=2?(k=S((c[B>>2]|0)*5|0,c[B>>2]|0)|0,(k|0)<(c[q>>2]|0)):0){g[x>>2]=+g[I>>2]*.5;break}g[x>>2]=0.0}while(0);if(.30000001192092896>+g[z>>2]*.699999988079071-+g[x>>2])i=.30000001192092896;else i=+g[z>>2]*.699999988079071-+g[x>>2];g[L>>2]=i;if((c[s>>2]|0)>=((c[D>>2]|0)*3|0)){if((c[s>>2]|0)<(c[D>>2]<<1|0)){if(.5>+g[z>>2]*.8999999761581421-+g[x>>2])i=.5;else i=+g[z>>2]*.8999999761581421-+g[x>>2];g[L>>2]=i}}else{if(.4000000059604645>+g[z>>2]*.8500000238418579-+g[x>>2])i=.4000000059604645;else i=+g[z>>2]*.8500000238418579-+g[x>>2];g[L>>2]=i}if(+g[A>>2]>+g[L>>2]){g[v>>2]=+g[P>>2];g[w>>2]=+g[R>>2];c[o>>2]=c[s>>2];g[y>>2]=+g[A>>2]}c[B>>2]=(c[B>>2]|0)+1}g[v>>2]=0.0>+g[v>>2]?0.0:+g[v>>2];if(+g[w>>2]<=+g[v>>2])g[H>>2]=1.0;else g[H>>2]=+g[v>>2]/(+g[w>>2]+1.0);c[B>>2]=0;while(1){if((c[B>>2]|0)>=3)break;i=+ub[c[n+((c[u>>2]&7)<<2)>>2]&0](c[M>>2]|0,(c[M>>2]|0)+(0-((c[o>>2]|0)+(c[B>>2]|0)-1)<<2)|0,c[m>>2]|0);g[N+(c[B>>2]<<2)>>2]=i;c[B>>2]=(c[B>>2]|0)+1}do if(!(+g[N+8>>2]-+g[N>>2]>(+g[N+4>>2]-+g[N>>2])*.699999988079071))if(+g[N>>2]-+g[N+8>>2]>(+g[N+4>>2]-+g[N+8>>2])*.699999988079071){c[G>>2]=-1;break}else{c[G>>2]=0;break}else c[G>>2]=1;while(0);if(+g[H>>2]>+g[y>>2])g[H>>2]=+g[y>>2];c[c[r>>2]>>2]=(c[o>>2]<<1)+(c[G>>2]|0);if((c[c[r>>2]>>2]|0)>=(c[E>>2]|0)){i=+g[H>>2];R=c[K>>2]|0;ka(R|0);l=T;return +i}c[c[r>>2]>>2]=c[E>>2];i=+g[H>>2];R=c[K>>2]|0;ka(R|0);l=T;return +i}function Wd(a,b,c){a=+a;b=+b;c=+c;var d=0,e=0,f=0,h=0;d=l;l=l+16|0;h=d+8|0;f=d+4|0;e=d;g[h>>2]=a;g[f>>2]=b;g[e>>2]=c;c=+g[h>>2]/+G(+(+g[f>>2]*+g[e>>2]+1.0));l=d;return +c}function Xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function Yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;r=q+40|0;e=q+36|0;k=q+32|0;h=q+28|0;i=q+24|0;m=q+20|0;f=q+16|0;j=q+12|0;n=q+8|0;o=q+4|0;p=q;c[r>>2]=a;c[e>>2]=b;c[k>>2]=d;g[f>>2]=+g[c[e>>2]>>2];c[j>>2]=c[r>>2];wk(c[j>>2]|0,0,c[k>>2]<<2|0)|0;if(!(+g[c[e>>2]>>2]!=0.0)){l=q;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[k>>2]|0)){a=12;break}g[n>>2]=0.0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;g[n>>2]=+g[n>>2]+ +g[(c[j>>2]|0)+(c[i>>2]<<2)>>2]*+g[(c[e>>2]|0)+((c[h>>2]|0)-(c[i>>2]|0)<<2)>>2];c[i>>2]=(c[i>>2]|0)+1}g[n>>2]=+g[n>>2]+ +g[(c[e>>2]|0)+((c[h>>2]|0)+1<<2)>>2];g[m>>2]=-(+g[n>>2]/+g[f>>2]);g[(c[j>>2]|0)+(c[h>>2]<<2)>>2]=+g[m>>2];c[i>>2]=0;while(1){if((c[i>>2]|0)>=((c[h>>2]|0)+1>>1|0))break;g[o>>2]=+g[(c[j>>2]|0)+(c[i>>2]<<2)>>2];g[p>>2]=+g[(c[j>>2]|0)+((c[h>>2]|0)-1-(c[i>>2]|0)<<2)>>2];g[(c[j>>2]|0)+(c[i>>2]<<2)>>2]=+g[o>>2]+ +g[m>>2]*+g[p>>2];g[(c[j>>2]|0)+((c[h>>2]|0)-1-(c[i>>2]|0)<<2)>>2]=+g[p>>2]+ +g[m>>2]*+g[o>>2];c[i>>2]=(c[i>>2]|0)+1}g[f>>2]=+g[f>>2]-+g[m>>2]*+g[m>>2]*+g[f>>2];if(+g[f>>2]<+g[c[e>>2]>>2]*1.0000000474974513e-03){a=12;break}c[h>>2]=(c[h>>2]|0)+1}if((a|0)==12){l=q;return}}function Zd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;u=w+56|0;k=w+52|0;v=w+48|0;n=w+44|0;q=w+40|0;j=w+36|0;o=w+32|0;p=w+28|0;s=w+24|0;m=w+8|0;t=w;c[u>>2]=a;c[k>>2]=b;c[v>>2]=d;c[n>>2]=e;c[q>>2]=f;c[j>>2]=h;d=c[q>>2]|0;c[s>>2]=la()|0;e=l;l=l+((1*(d<<2)|0)+15&-16)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[q>>2]|0))break;g[e+(c[o>>2]<<2)>>2]=+g[(c[k>>2]|0)+((c[q>>2]|0)-(c[o>>2]|0)-1<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=((c[n>>2]|0)-3|0))break;g[m>>2]=+g[(c[u>>2]|0)+(c[o>>2]<<2)>>2];g[m+4>>2]=+g[(c[u>>2]|0)+((c[o>>2]|0)+1<<2)>>2];g[m+8>>2]=+g[(c[u>>2]|0)+((c[o>>2]|0)+2<<2)>>2];g[m+12>>2]=+g[(c[u>>2]|0)+((c[o>>2]|0)+3<<2)>>2];xb[c[r+((c[j>>2]&7)<<2)>>2]&0](e,(c[u>>2]|0)+(c[o>>2]<<2)+(0-(c[q>>2]|0)<<2)|0,m,c[q>>2]|0);g[(c[v>>2]|0)+(c[o>>2]<<2)>>2]=+g[m>>2];g[(c[v>>2]|0)+((c[o>>2]|0)+1<<2)>>2]=+g[m+4>>2];g[(c[v>>2]|0)+((c[o>>2]|0)+2<<2)>>2]=+g[m+8>>2];g[(c[v>>2]|0)+((c[o>>2]|0)+3<<2)>>2]=+g[m+12>>2];c[o>>2]=(c[o>>2]|0)+4}while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break;g[t>>2]=+g[(c[u>>2]|0)+(c[o>>2]<<2)>>2];c[p>>2]=0;while(1){i=+g[t>>2];if((c[p>>2]|0)>=(c[q>>2]|0))break;g[t>>2]=i+ +g[e+(c[p>>2]<<2)>>2]*+g[(c[u>>2]|0)+((c[o>>2]|0)+(c[p>>2]|0)-(c[q>>2]|0)<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}g[(c[v>>2]|0)+(c[o>>2]<<2)>>2]=i;c[o>>2]=(c[o>>2]|0)+1}ka(c[s>>2]|0);l=w;return}function _d(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;k=x+60|0;o=x+56|0;m=x+52|0;j=x+48|0;t=x+44|0;s=x+40|0;n=x+36|0;p=x+32|0;q=x+28|0;u=x+24|0;v=x+8|0;w=x;c[k>>2]=a;c[o>>2]=b;c[m>>2]=d;c[j>>2]=e;c[t>>2]=f;c[s>>2]=h;c[n>>2]=i;a=c[t>>2]|0;c[u>>2]=la()|0;e=l;l=l+((1*(a<<2)|0)+15&-16)|0;a=l;l=l+((1*((c[j>>2]|0)+(c[t>>2]|0)<<2)|0)+15&-16)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[t>>2]|0))break;g[e+(c[p>>2]<<2)>>2]=+g[(c[o>>2]|0)+((c[t>>2]|0)-(c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[t>>2]|0))break;g[a+(c[p>>2]<<2)>>2]=-+g[(c[s>>2]|0)+((c[t>>2]|0)-(c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}while(1){if((c[p>>2]|0)>=((c[j>>2]|0)+(c[t>>2]|0)|0))break;g[a+(c[p>>2]<<2)>>2]=0.0;c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=0;while(1){if((c[p>>2]|0)>=((c[j>>2]|0)-3|0))break;g[v>>2]=+g[(c[k>>2]|0)+(c[p>>2]<<2)>>2];g[v+4>>2]=+g[(c[k>>2]|0)+((c[p>>2]|0)+1<<2)>>2];g[v+8>>2]=+g[(c[k>>2]|0)+((c[p>>2]|0)+2<<2)>>2];g[v+12>>2]=+g[(c[k>>2]|0)+((c[p>>2]|0)+3<<2)>>2];xb[c[r+((c[n>>2]&7)<<2)>>2]&0](e,a+(c[p>>2]<<2)|0,v,c[t>>2]|0);g[a+((c[p>>2]|0)+(c[t>>2]|0)<<2)>>2]=-+g[v>>2];g[(c[m>>2]|0)+(c[p>>2]<<2)>>2]=+g[v>>2];g[v+4>>2]=+g[v+4>>2]+ +g[a+((c[p>>2]|0)+(c[t>>2]|0)<<2)>>2]*+g[c[o>>2]>>2];g[a+((c[p>>2]|0)+(c[t>>2]|0)+1<<2)>>2]=-+g[v+4>>2];g[(c[m>>2]|0)+((c[p>>2]|0)+1<<2)>>2]=+g[v+4>>2];g[v+8>>2]=+g[v+8>>2]+ +g[a+((c[p>>2]|0)+(c[t>>2]|0)+1<<2)>>2]*+g[c[o>>2]>>2];g[v+8>>2]=+g[v+8>>2]+ +g[a+((c[p>>2]|0)+(c[t>>2]|0)<<2)>>2]*+g[(c[o>>2]|0)+4>>2];g[a+((c[p>>2]|0)+(c[t>>2]|0)+2<<2)>>2]=-+g[v+8>>2];g[(c[m>>2]|0)+((c[p>>2]|0)+2<<2)>>2]=+g[v+8>>2];g[v+12>>2]=+g[v+12>>2]+ +g[a+((c[p>>2]|0)+(c[t>>2]|0)+2<<2)>>2]*+g[c[o>>2]>>2];g[v+12>>2]=+g[v+12>>2]+ +g[a+((c[p>>2]|0)+(c[t>>2]|0)+1<<2)>>2]*+g[(c[o>>2]|0)+4>>2];g[v+12>>2]=+g[v+12>>2]+ +g[a+((c[p>>2]|0)+(c[t>>2]|0)<<2)>>2]*+g[(c[o>>2]|0)+8>>2];g[a+((c[p>>2]|0)+(c[t>>2]|0)+3<<2)>>2]=-+g[v+12>>2];g[(c[m>>2]|0)+((c[p>>2]|0)+3<<2)>>2]=+g[v+12>>2];c[p>>2]=(c[p>>2]|0)+4}while(1){if((c[p>>2]|0)>=(c[j>>2]|0))break;g[w>>2]=+g[(c[k>>2]|0)+(c[p>>2]<<2)>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[t>>2]|0))break;g[w>>2]=+g[w>>2]-+g[e+(c[q>>2]<<2)>>2]*+g[a+((c[p>>2]|0)+(c[q>>2]|0)<<2)>>2];c[q>>2]=(c[q>>2]|0)+1}g[a+((c[p>>2]|0)+(c[t>>2]|0)<<2)>>2]=+g[w>>2];g[(c[m>>2]|0)+(c[p>>2]<<2)>>2]=+g[w>>2];c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[t>>2]|0))break;g[(c[s>>2]|0)+(c[p>>2]<<2)>>2]=+g[(c[m>>2]|0)+((c[j>>2]|0)-(c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}ka(c[u>>2]|0);l=x;return}function $d(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+64|0;o=z+52|0;p=z+48|0;n=z+44|0;m=z+40|0;u=z+36|0;v=z+32|0;k=z+28|0;q=z+24|0;s=z+20|0;t=z+16|0;r=z+12|0;x=z+8|0;y=z+4|0;w=z;c[o>>2]=a;c[p>>2]=b;c[n>>2]=d;c[m>>2]=e;c[u>>2]=f;c[v>>2]=h;c[k>>2]=i;c[r>>2]=(c[v>>2]|0)-(c[u>>2]|0);a=c[v>>2]|0;c[w>>2]=la()|0;b=l;l=l+((1*(a<<2)|0)+15&-16)|0;if(!(c[m>>2]|0))c[y>>2]=c[o>>2];else{c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[v>>2]|0))break;g[b+(c[s>>2]<<2)>>2]=+g[(c[o>>2]|0)+(c[s>>2]<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;g[b+(c[s>>2]<<2)>>2]=+g[(c[o>>2]|0)+(c[s>>2]<<2)>>2]*+g[(c[n>>2]|0)+(c[s>>2]<<2)>>2];g[b+((c[v>>2]|0)-(c[s>>2]|0)-1<<2)>>2]=+g[(c[o>>2]|0)+((c[v>>2]|0)-(c[s>>2]|0)-1<<2)>>2]*+g[(c[n>>2]|0)+(c[s>>2]<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}c[y>>2]=b}c[x>>2]=0;Sd(c[y>>2]|0,c[y>>2]|0,c[p>>2]|0,c[r>>2]|0,(c[u>>2]|0)+1|0,c[k>>2]|0);c[t>>2]=0;while(1){if((c[t>>2]|0)>(c[u>>2]|0))break;c[s>>2]=(c[t>>2]|0)+(c[r>>2]|0);g[q>>2]=0.0;while(1){j=+g[q>>2];if((c[s>>2]|0)>=(c[v>>2]|0))break;g[q>>2]=j+ +g[(c[y>>2]|0)+(c[s>>2]<<2)>>2]*+g[(c[y>>2]|0)+((c[s>>2]|0)-(c[t>>2]|0)<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}o=(c[p>>2]|0)+(c[t>>2]<<2)|0;g[o>>2]=+g[o>>2]+j;c[t>>2]=(c[t>>2]|0)+1}y=c[x>>2]|0;ka(c[w>>2]|0);l=z;return y|0}function ae(a,b,d,e,f,h,i,j,k,m,n,o,p,q,r,s,t){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;aa=l;l=l+224|0;P=aa+216|0;Y=aa+212|0;J=aa+208|0;v=aa+204|0;F=aa+200|0;V=aa+196|0;D=aa+192|0;K=aa+188|0;G=aa+184|0;z=aa+180|0;A=aa+176|0;x=aa+172|0;ba=aa+168|0;E=aa+164|0;$=aa+160|0;w=aa+156|0;O=aa+152|0;L=aa+148|0;Q=aa+144|0;I=aa+96|0;Z=aa+92|0;B=aa+88|0;M=aa+84|0;R=aa+80|0;W=aa+76|0;N=aa+72|0;H=aa+24|0;_=aa+20|0;U=aa+16|0;T=aa+12|0;y=aa+8|0;C=aa+4|0;X=aa;c[P>>2]=a;c[Y>>2]=b;c[J>>2]=d;c[v>>2]=e;c[F>>2]=f;c[V>>2]=h;c[D>>2]=i;c[K>>2]=j;c[G>>2]=k;c[z>>2]=m;c[A>>2]=n;c[x>>2]=o;c[ba>>2]=p;c[E>>2]=q;c[$>>2]=r;c[w>>2]=s;c[O>>2]=t;c[B>>2]=0;if(!(c[ba>>2]|0))if(!(c[$>>2]|0)?+g[c[E>>2]>>2]>+(S(c[z>>2]<<1,(c[J>>2]|0)-(c[Y>>2]|0)|0)|0):0)m=(c[x>>2]|0)>(S((c[J>>2]|0)-(c[Y>>2]|0)|0,c[z>>2]|0)|0);else m=0;else m=1;c[L>>2]=m&1;c[M>>2]=~~(+((c[D>>2]|0)>>>0)*+g[c[E>>2]>>2]*+(c[w>>2]|0)/+(c[z>>2]<<9|0));g[R>>2]=+be(c[F>>2]|0,c[V>>2]|0,c[Y>>2]|0,c[v>>2]|0,c[(c[P>>2]|0)+8>>2]|0,c[z>>2]|0);c[Z>>2]=ce(c[G>>2]|0)|0;if(((c[Z>>2]|0)+3|0)>>>0>(c[D>>2]|0)>>>0){c[L>>2]=0;c[$>>2]=0}g[Q>>2]=16.0;if(((c[J>>2]|0)-(c[Y>>2]|0)|0)>10){if(+g[Q>>2]<+(c[x>>2]|0)*.125)u=+g[Q>>2];else u=+(c[x>>2]|0)*.125;g[Q>>2]=u}if(c[O>>2]|0)g[Q>>2]=3.0;q=I;f=c[G>>2]|0;e=q+48|0;do{c[q>>2]=c[f>>2];q=q+4|0;f=f+4|0}while((q|0)<(e|0));ba=S(c[z>>2]|0,c[(c[P>>2]|0)+8>>2]|0)|0;c[W>>2]=la()|0;n=l;l=l+((1*(ba<<2)|0)+15&-16)|0;ba=(S(c[z>>2]|0,c[(c[P>>2]|0)+8>>2]|0)|0)<<2;i=l;l=l+((1*ba|0)+15&-16)|0;ba=(S(c[z>>2]|0,c[(c[P>>2]|0)+8>>2]|0)|0)<<2;uk(n|0,c[V>>2]|0,ba+0|0)|0;if((c[$>>2]|0)!=0|(c[L>>2]|0)!=0)c[B>>2]=de(c[P>>2]|0,c[Y>>2]|0,c[J>>2]|0,c[F>>2]|0,n,c[D>>2]|0,c[Z>>2]|0,26573+((c[A>>2]|0)*84|0)+42|0,i,c[G>>2]|0,c[z>>2]|0,c[A>>2]|0,1,+g[Q>>2],c[O>>2]|0)|0;if(c[L>>2]|0){ba=(S(c[z>>2]|0,c[(c[P>>2]|0)+8>>2]|0)|0)<<2;uk(c[V>>2]|0,n|0,ba+0|0)|0;ba=(S(c[z>>2]|0,c[(c[P>>2]|0)+8>>2]|0)|0)<<2;uk(c[K>>2]|0,i|0,ba+0|0)|0}else{c[_>>2]=bd(c[G>>2]|0)|0;q=H;f=c[G>>2]|0;e=q+48|0;do{c[q>>2]=c[f>>2];q=q+4|0;f=f+4|0}while((q|0)<(e|0));c[U>>2]=ee(I)|0;c[T>>2]=ee(H)|0;q=fe(H)|0;c[N>>2]=q+(c[U>>2]|0);q=(c[T>>2]|0)-(c[U>>2]|0)|0;c[y>>2]=q;c[y>>2]=(c[y>>2]|0)==0?1:q;q=c[y>>2]|0;c[X>>2]=la()|0;m=l;l=l+((1*q|0)+15&-16)|0;uk(m|0,c[N>>2]|0,(c[T>>2]|0)-(c[U>>2]|0)+0|0)|0;q=c[G>>2]|0;f=I;e=q+48|0;do{c[q>>2]=c[f>>2];q=q+4|0;f=f+4|0}while((q|0)<(e|0));c[C>>2]=de(c[P>>2]|0,c[Y>>2]|0,c[J>>2]|0,c[F>>2]|0,c[V>>2]|0,c[D>>2]|0,c[Z>>2]|0,26573+((c[A>>2]|0)*84|0)+((c[L>>2]|0)*42|0)|0,c[K>>2]|0,c[G>>2]|0,c[z>>2]|0,c[A>>2]|0,0,+g[Q>>2],c[O>>2]|0)|0;do if(c[$>>2]|0){if((c[B>>2]|0)>=(c[C>>2]|0)){if((c[B>>2]|0)!=(c[C>>2]|0))break;ba=bd(c[G>>2]|0)|0;if((ba+(c[M>>2]|0)|0)<=(c[_>>2]|0))break}q=c[G>>2]|0;f=H;e=q+48|0;do{c[q>>2]=c[f>>2];q=q+4|0;f=f+4|0}while((q|0)<(e|0));uk(c[N>>2]|0,m|0,(c[T>>2]|0)-(c[U>>2]|0)+0|0)|0;ba=(S(c[z>>2]|0,c[(c[P>>2]|0)+8>>2]|0)|0)<<2;uk(c[V>>2]|0,n|0,ba+0|0)|0;ba=(S(c[z>>2]|0,c[(c[P>>2]|0)+8>>2]|0)|0)<<2;uk(c[K>>2]|0,i|0,ba+0|0)|0;c[L>>2]=1}while(0);ka(c[X>>2]|0)}if(c[L>>2]|0){g[c[E>>2]>>2]=+g[R>>2];ba=c[W>>2]|0;ka(ba|0);l=aa;return}else{g[c[E>>2]>>2]=+g[17564+(c[A>>2]<<2)>>2]*+g[17564+(c[A>>2]<<2)>>2]*+g[c[E>>2]>>2]+ +g[R>>2];ba=c[W>>2]|0;ka(ba|0);l=aa;return}}function be(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+48|0;n=t+36|0;r=t+32|0;s=t+28|0;o=t+24|0;q=t+20|0;i=t+16|0;j=t+12|0;p=t+8|0;m=t+4|0;k=t;c[n>>2]=a;c[r>>2]=b;c[s>>2]=d;c[o>>2]=e;c[q>>2]=f;c[i>>2]=h;g[m>>2]=0.0;c[j>>2]=0;do{c[p>>2]=c[s>>2];while(1){if((c[p>>2]|0)>=(c[o>>2]|0))break;u=+g[(c[n>>2]|0)+((c[p>>2]|0)+(S(c[j>>2]|0,c[q>>2]|0)|0)<<2)>>2];g[k>>2]=u-+g[(c[r>>2]|0)+((c[p>>2]|0)+(S(c[j>>2]|0,c[q>>2]|0)|0)<<2)>>2];g[m>>2]=+g[m>>2]+ +g[k>>2]*+g[k>>2];c[p>>2]=(c[p>>2]|0)+1}d=(c[j>>2]|0)+1|0;c[j>>2]=d}while((d|0)<(c[i>>2]|0));l=t;return +(200.0<+g[m>>2]?200.0:+g[m>>2])}function ce(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(V(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function de(a,b,e,f,h,i,j,k,m,n,o,p,q,r,s){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=+r;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=l;l=l+128|0;M=$+124|0;X=$+120|0;H=$+116|0;D=$+112|0;P=$+108|0;z=$+104|0;Y=$+100|0;T=$+96|0;I=$+92|0;G=$+88|0;v=$+84|0;t=$+80|0;u=$+76|0;N=$+72|0;L=$+68|0;K=$+64|0;A=$+60|0;w=$+56|0;R=$+48|0;B=$+44|0;x=$+40|0;y=$+36|0;V=$+32|0;W=$+28|0;U=$+24|0;_=$+20|0;J=$+16|0;Z=$+12|0;O=$+8|0;C=$+4|0;Q=$;c[M>>2]=a;c[X>>2]=b;c[H>>2]=e;c[D>>2]=f;c[P>>2]=h;c[z>>2]=i;c[Y>>2]=j;c[T>>2]=k;c[I>>2]=m;c[G>>2]=n;c[v>>2]=o;c[t>>2]=p;c[u>>2]=q;g[N>>2]=r;c[L>>2]=s;c[w>>2]=0;c[R>>2]=0;c[R+4>>2]=0;if(((c[Y>>2]|0)+3|0)<=(c[z>>2]|0))vd(c[G>>2]|0,c[u>>2]|0,3);if(c[u>>2]|0){g[B>>2]=0.0;g[x>>2]=.149993896484375}else{g[x>>2]=+g[17580+(c[t>>2]<<2)>>2];g[B>>2]=+g[17564+(c[t>>2]<<2)>>2]}c[K>>2]=c[X>>2];while(1){if((c[K>>2]|0)>=(c[H>>2]|0))break;c[A>>2]=0;do{g[_>>2]=+g[(c[D>>2]|0)+((c[K>>2]|0)+(S(c[A>>2]|0,c[(c[M>>2]|0)+8>>2]|0)|0)<<2)>>2];if(-9.0>+g[(c[P>>2]|0)+((c[K>>2]|0)+(S(c[A>>2]|0,c[(c[M>>2]|0)+8>>2]|0)|0)<<2)>>2])r=-9.0;else r=+g[(c[P>>2]|0)+((c[K>>2]|0)+(S(c[A>>2]|0,c[(c[M>>2]|0)+8>>2]|0)|0)<<2)>>2];g[O>>2]=r;g[J>>2]=+g[_>>2]-+g[B>>2]*+g[O>>2]-+g[R+(c[A>>2]<<2)>>2];c[V>>2]=~~+E(+(+g[J>>2]+.5));if(-28.0>+g[(c[P>>2]|0)+((c[K>>2]|0)+(S(c[A>>2]|0,c[(c[M>>2]|0)+8>>2]|0)|0)<<2)>>2])r=-28.0;else r=+g[(c[P>>2]|0)+((c[K>>2]|0)+(S(c[A>>2]|0,c[(c[M>>2]|0)+8>>2]|0)|0)<<2)>>2];g[C>>2]=r-+g[N>>2];if((c[V>>2]|0)<0?+g[_>>2]<+g[C>>2]:0){j=(c[V>>2]|0)+~~(+g[C>>2]-+g[_>>2])|0;c[V>>2]=j;c[V>>2]=(c[V>>2]|0)>0?0:j}c[W>>2]=c[V>>2];c[Y>>2]=ce(c[G>>2]|0)|0;c[y>>2]=(c[z>>2]|0)-(c[Y>>2]|0)-(S((c[v>>2]|0)*3|0,(c[H>>2]|0)-(c[K>>2]|0)|0)|0);if((c[y>>2]|0)<30?(c[K>>2]|0)!=(c[X>>2]|0):0){if((c[y>>2]|0)<24)c[V>>2]=1<(c[V>>2]|0)?1:c[V>>2]|0;if((c[y>>2]|0)<16)c[V>>2]=-1>(c[V>>2]|0)?-1:c[V>>2]|0}if((c[L>>2]|0)!=0&(c[K>>2]|0)>=2)c[V>>2]=(c[V>>2]|0)<0?c[V>>2]|0:0;do if(((c[z>>2]|0)-(c[Y>>2]|0)|0)<15)if(((c[z>>2]|0)-(c[Y>>2]|0)|0)<2)if(((c[z>>2]|0)-(c[Y>>2]|0)|0)>=1){c[V>>2]=0<(c[V>>2]|0)?0:c[V>>2]|0;vd(c[G>>2]|0,0-(c[V>>2]|0)|0,1);break}else{c[V>>2]=-1;break}else{if(-1>(((c[V>>2]|0)<1?c[V>>2]|0:1)|0))o=-1;else o=(c[V>>2]|0)<1?c[V>>2]|0:1;c[V>>2]=o;wd(c[G>>2]|0,c[V>>2]<<1^0-((c[V>>2]|0)<0&1),26909,2);break}else{c[Q>>2]=((c[K>>2]|0)<20?c[K>>2]|0:20)<<1;Jd(c[G>>2]|0,V,(d[(c[T>>2]|0)+(c[Q>>2]|0)>>0]|0)<<7,(d[(c[T>>2]|0)+((c[Q>>2]|0)+1)>>0]|0)<<6)}while(0);g[(c[I>>2]|0)+((c[K>>2]|0)+(S(c[A>>2]|0,c[(c[M>>2]|0)+8>>2]|0)|0)<<2)>>2]=+g[J>>2]-+(c[V>>2]|0);j=F((c[W>>2]|0)-(c[V>>2]|0)|0)|0;c[w>>2]=(c[w>>2]|0)+j;g[U>>2]=+(c[V>>2]|0);g[Z>>2]=+g[B>>2]*+g[O>>2]+ +g[R+(c[A>>2]<<2)>>2]+ +g[U>>2];g[(c[P>>2]|0)+((c[K>>2]|0)+(S(c[A>>2]|0,c[(c[M>>2]|0)+8>>2]|0)|0)<<2)>>2]=+g[Z>>2];g[R+(c[A>>2]<<2)>>2]=+g[R+(c[A>>2]<<2)>>2]+ +g[U>>2]-+g[x>>2]*+g[U>>2];j=(c[A>>2]|0)+1|0;c[A>>2]=j}while((j|0)<(c[v>>2]|0));c[K>>2]=(c[K>>2]|0)+1}l=$;return (c[L>>2]|0?0:c[w>>2]|0)|0}function ee(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+24>>2]|0}function fe(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[b>>2]>>2]|0}function ge(a,d,e,f,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;y=l;l=l+64|0;u=y+44|0;z=y+40|0;p=y+36|0;w=y+32|0;q=y+28|0;r=y+24|0;o=y+20|0;m=y+16|0;t=y+12|0;n=y+8|0;s=y+48|0;x=y+4|0;v=y;c[u>>2]=a;c[z>>2]=d;c[p>>2]=e;c[w>>2]=f;c[q>>2]=h;c[r>>2]=i;c[o>>2]=j;c[m>>2]=k;c[t>>2]=c[z>>2];while(1){if((c[t>>2]|0)>=(c[p>>2]|0))break;b[s>>1]=1<<c[(c[r>>2]|0)+(c[t>>2]<<2)>>2];if((c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]|0)>0){c[n>>2]=0;do{A=+g[(c[q>>2]|0)+((c[t>>2]|0)+(S(c[n>>2]|0,c[(c[u>>2]|0)+8>>2]|0)|0)<<2)>>2]+.5;c[x>>2]=~~+E(+(A*+(b[s>>1]|0)));if((c[x>>2]|0)>((b[s>>1]|0)-1|0))c[x>>2]=(b[s>>1]|0)-1;if((c[x>>2]|0)<0)c[x>>2]=0;yd(c[o>>2]|0,c[x>>2]|0,c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]|0);g[v>>2]=(+(c[x>>2]|0)+.5)*+(1<<14-(c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]|0)|0)*.00006103515625-.5;z=(c[w>>2]|0)+((c[t>>2]|0)+(S(c[n>>2]|0,c[(c[u>>2]|0)+8>>2]|0)|0)<<2)|0;g[z>>2]=+g[z>>2]+ +g[v>>2];z=(c[q>>2]|0)+((c[t>>2]|0)+(S(c[n>>2]|0,c[(c[u>>2]|0)+8>>2]|0)|0)<<2)|0;g[z>>2]=+g[z>>2]-+g[v>>2];z=(c[n>>2]|0)+1|0;c[n>>2]=z}while((z|0)<(c[m>>2]|0))}c[t>>2]=(c[t>>2]|0)+1}l=y;return}function he(a,b,d,e,f,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+64|0;w=C+56|0;B=C+52|0;r=C+48|0;y=C+44|0;s=C+40|0;u=C+36|0;t=C+32|0;o=C+28|0;q=C+24|0;n=C+20|0;v=C+16|0;z=C+12|0;p=C+8|0;A=C+4|0;x=C;c[w>>2]=a;c[B>>2]=b;c[r>>2]=d;c[y>>2]=e;c[s>>2]=f;c[u>>2]=h;c[t>>2]=i;c[o>>2]=j;c[q>>2]=k;c[n>>2]=m;c[z>>2]=0;while(1){if((c[z>>2]|0)>=2)break;c[v>>2]=c[B>>2];while(1){if((c[v>>2]|0)>=(c[r>>2]|0))break;if((c[o>>2]|0)<(c[n>>2]|0))break;if((c[(c[u>>2]|0)+(c[v>>2]<<2)>>2]|0)<8?(c[(c[t>>2]|0)+(c[v>>2]<<2)>>2]|0)==(c[z>>2]|0):0){c[p>>2]=0;do{b=+g[(c[s>>2]|0)+((c[v>>2]|0)+(S(c[p>>2]|0,c[(c[w>>2]|0)+8>>2]|0)|0)<<2)>>2]<0.0;c[A>>2]=b?0:1;yd(c[q>>2]|0,c[A>>2]|0,1);g[x>>2]=(+(c[A>>2]|0)-.5)*+(1<<14-(c[(c[u>>2]|0)+(c[v>>2]<<2)>>2]|0)-1|0)*.00006103515625;b=(c[y>>2]|0)+((c[v>>2]|0)+(S(c[p>>2]|0,c[(c[w>>2]|0)+8>>2]|0)|0)<<2)|0;g[b>>2]=+g[b>>2]+ +g[x>>2];b=(c[s>>2]|0)+((c[v>>2]|0)+(S(c[p>>2]|0,c[(c[w>>2]|0)+8>>2]|0)|0)<<2)|0;g[b>>2]=+g[b>>2]-+g[x>>2];c[o>>2]=(c[o>>2]|0)+-1;b=(c[p>>2]|0)+1|0;c[p>>2]=b}while((b|0)<(c[n>>2]|0))}c[v>>2]=(c[v>>2]|0)+1}c[z>>2]=(c[z>>2]|0)+1}l=C;return}function ie(a,b,e,f,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=l;l=l+96|0;x=G+80|0;o=G+76|0;v=G+72|0;y=G+68|0;H=G+64|0;u=G+60|0;p=G+56|0;n=G+52|0;B=G+48|0;w=G+44|0;s=G+40|0;A=G+32|0;t=G+28|0;q=G+24|0;r=G+20|0;E=G+16|0;D=G+12|0;C=G+8|0;F=G+4|0;z=G;c[x>>2]=a;c[o>>2]=b;c[v>>2]=e;c[y>>2]=f;c[H>>2]=h;c[u>>2]=i;c[p>>2]=j;c[n>>2]=k;c[B>>2]=26573+((c[n>>2]|0)*84|0)+((c[H>>2]|0)*42|0);c[A>>2]=0;c[A+4>>2]=0;if(c[H>>2]|0){g[t>>2]=0.0;g[q>>2]=.149993896484375}else{g[q>>2]=+g[17580+(c[n>>2]<<2)>>2];g[t>>2]=+g[17564+(c[n>>2]<<2)>>2]}c[r>>2]=c[(c[u>>2]|0)+4>>2]<<3;c[w>>2]=c[o>>2];while(1){if((c[w>>2]|0)>=(c[v>>2]|0))break;c[s>>2]=0;do{c[E>>2]=ce(c[u>>2]|0)|0;do if(((c[r>>2]|0)-(c[E>>2]|0)|0)<15){if(((c[r>>2]|0)-(c[E>>2]|0)|0)>=2){c[D>>2]=kd(c[u>>2]|0,26909,2)|0;c[D>>2]=c[D>>2]>>1^0-(c[D>>2]&1);break}if(((c[r>>2]|0)-(c[E>>2]|0)|0)>=1){c[D>>2]=0-(jd(c[u>>2]|0,1)|0);break}else{c[D>>2]=-1;break}}else{c[z>>2]=((c[w>>2]|0)<20?c[w>>2]|0:20)<<1;c[D>>2]=Ld(c[u>>2]|0,(d[(c[B>>2]|0)+(c[z>>2]|0)>>0]|0)<<7,(d[(c[B>>2]|0)+((c[z>>2]|0)+1)>>0]|0)<<6)|0}while(0);g[C>>2]=+(c[D>>2]|0);if(-9.0>+g[(c[y>>2]|0)+((c[w>>2]|0)+(S(c[s>>2]|0,c[(c[x>>2]|0)+8>>2]|0)|0)<<2)>>2])m=-9.0;else m=+g[(c[y>>2]|0)+((c[w>>2]|0)+(S(c[s>>2]|0,c[(c[x>>2]|0)+8>>2]|0)|0)<<2)>>2];g[(c[y>>2]|0)+((c[w>>2]|0)+(S(c[s>>2]|0,c[(c[x>>2]|0)+8>>2]|0)|0)<<2)>>2]=m;m=+g[t>>2]*+g[(c[y>>2]|0)+((c[w>>2]|0)+(S(c[s>>2]|0,c[(c[x>>2]|0)+8>>2]|0)|0)<<2)>>2];g[F>>2]=m+ +g[A+(c[s>>2]<<2)>>2]+ +g[C>>2];g[(c[y>>2]|0)+((c[w>>2]|0)+(S(c[s>>2]|0,c[(c[x>>2]|0)+8>>2]|0)|0)<<2)>>2]=+g[F>>2];g[A+(c[s>>2]<<2)>>2]=+g[A+(c[s>>2]<<2)>>2]+ +g[C>>2]-+g[q>>2]*+g[C>>2];H=(c[s>>2]|0)+1|0;c[s>>2]=H}while((H|0)<(c[p>>2]|0));c[w>>2]=(c[w>>2]|0)+1}l=G;return}function je(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;q=u+40|0;v=u+36|0;n=u+32|0;s=u+28|0;o=u+24|0;m=u+20|0;j=u+16|0;p=u+12|0;k=u+8|0;t=u+4|0;r=u;c[q>>2]=a;c[v>>2]=b;c[n>>2]=d;c[s>>2]=e;c[o>>2]=f;c[m>>2]=h;c[j>>2]=i;c[p>>2]=c[v>>2];while(1){if((c[p>>2]|0)>=(c[n>>2]|0))break;if((c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]|0)>0){c[k>>2]=0;do{c[t>>2]=md(c[m>>2]|0,c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]|0)|0;g[r>>2]=(+(c[t>>2]|0)+.5)*+(1<<14-(c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]|0)|0)*.00006103515625-.5;v=(c[s>>2]|0)+((c[p>>2]|0)+(S(c[k>>2]|0,c[(c[q>>2]|0)+8>>2]|0)|0)<<2)|0;g[v>>2]=+g[v>>2]+ +g[r>>2];v=(c[k>>2]|0)+1|0;c[k>>2]=v}while((v|0)<(c[j>>2]|0))}c[p>>2]=(c[p>>2]|0)+1}l=u;return}function ke(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+64|0;u=A+52|0;z=A+48|0;q=A+44|0;w=A+40|0;s=A+36|0;r=A+32|0;n=A+28|0;p=A+24|0;m=A+20|0;t=A+16|0;x=A+12|0;o=A+8|0;y=A+4|0;v=A;c[u>>2]=a;c[z>>2]=b;c[q>>2]=d;c[w>>2]=e;c[s>>2]=f;c[r>>2]=h;c[n>>2]=i;c[p>>2]=j;c[m>>2]=k;c[x>>2]=0;while(1){if((c[x>>2]|0)>=2)break;c[t>>2]=c[z>>2];while(1){if((c[t>>2]|0)>=(c[q>>2]|0))break;if((c[n>>2]|0)<(c[m>>2]|0))break;if((c[(c[s>>2]|0)+(c[t>>2]<<2)>>2]|0)<8?(c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]|0)==(c[x>>2]|0):0){c[o>>2]=0;do{c[y>>2]=md(c[p>>2]|0,1)|0;g[v>>2]=(+(c[y>>2]|0)-.5)*+(1<<14-(c[(c[s>>2]|0)+(c[t>>2]<<2)>>2]|0)-1|0)*.00006103515625;b=(c[w>>2]|0)+((c[t>>2]|0)+(S(c[o>>2]|0,c[(c[u>>2]|0)+8>>2]|0)|0)<<2)|0;g[b>>2]=+g[b>>2]+ +g[v>>2];c[n>>2]=(c[n>>2]|0)+-1;b=(c[o>>2]|0)+1|0;c[o>>2]=b}while((b|0)<(c[m>>2]|0))}c[t>>2]=(c[t>>2]|0)+1}c[x>>2]=(c[x>>2]|0)+1}l=A;return}function le(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+32|0;q=r+28|0;n=r+24|0;o=r+20|0;j=r+16|0;k=r+12|0;i=r+8|0;m=r+4|0;p=r;c[q>>2]=a;c[n>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;c[i>>2]=h;c[m>>2]=0;do{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[n>>2]|0))break;s=+Q(+(+g[(c[j>>2]|0)+((c[p>>2]|0)+(S(c[m>>2]|0,c[(c[q>>2]|0)+8>>2]|0)|0)<<2)>>2]))*1.4426950408889634;g[(c[k>>2]|0)+((c[p>>2]|0)+(S(c[m>>2]|0,c[(c[q>>2]|0)+8>>2]|0)|0)<<2)>>2]=s-+g[17464+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=c[n>>2];while(1){if((c[p>>2]|0)>=(c[o>>2]|0))break;a=S(c[m>>2]|0,c[(c[q>>2]|0)+8>>2]|0)|0;g[(c[k>>2]|0)+(a+(c[p>>2]|0)<<2)>>2]=-14.0;c[p>>2]=(c[p>>2]|0)+1}a=(c[m>>2]|0)+1|0;c[m>>2]=a}while((a|0)<(c[i>>2]|0));l=r;return}function me(a,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=l;l=l+160|0;Z=ha+144|0;fa=ha+140|0;Q=ha+136|0;_=ha+132|0;J=ha+128|0;x=ha+124|0;U=ha+120|0;L=ha+116|0;ga=ha+112|0;G=ha+108|0;aa=ha+104|0;N=ha+100|0;R=ha+96|0;D=ha+92|0;E=ha+88|0;O=ha+84|0;P=ha+80|0;$=ha+76|0;ca=ha+72|0;Y=ha+68|0;T=ha+64|0;X=ha+60|0;W=ha+56|0;K=ha+52|0;ea=ha+48|0;da=ha+44|0;V=ha+40|0;M=ha+36|0;ba=ha+32|0;A=ha+28|0;C=ha+24|0;B=ha+20|0;z=ha+16|0;y=ha+12|0;H=ha+8|0;I=ha+4|0;F=ha;c[Z>>2]=a;c[fa>>2]=e;c[Q>>2]=f;c[_>>2]=g;c[J>>2]=h;c[x>>2]=i;c[U>>2]=j;c[L>>2]=k;c[ga>>2]=m;c[G>>2]=n;c[aa>>2]=o;c[N>>2]=p;c[R>>2]=q;c[D>>2]=r;c[E>>2]=s;c[O>>2]=t;c[P>>2]=u;c[$>>2]=v;c[ca>>2]=w;c[ga>>2]=(c[ga>>2]|0)>0?c[ga>>2]|0:0;c[X>>2]=c[(c[Z>>2]|0)+8>>2];c[ea>>2]=c[fa>>2];c[da>>2]=(c[ga>>2]|0)>=8?8:0;c[ga>>2]=(c[ga>>2]|0)-(c[da>>2]|0);c[M>>2]=0;c[V>>2]=0;do if((c[D>>2]|0)==2){c[V>>2]=d[26912+((c[Q>>2]|0)-(c[fa>>2]|0))>>0];if((c[V>>2]|0)>(c[ga>>2]|0)){c[V>>2]=0;break}else{c[ga>>2]=(c[ga>>2]|0)-(c[V>>2]|0);c[M>>2]=(c[ga>>2]|0)>=8?8:0;c[ga>>2]=(c[ga>>2]|0)-(c[M>>2]|0);break}}while(0);i=c[X>>2]|0;c[ba>>2]=la()|0;s=l;l=l+((1*(i<<2)|0)+15&-16)|0;i=l;l=l+((1*(c[X>>2]<<2)|0)+15&-16)|0;n=l;l=l+((1*(c[X>>2]<<2)|0)+15&-16)|0;h=l;l=l+((1*(c[X>>2]<<2)|0)+15&-16)|0;c[W>>2]=c[fa>>2];while(1){if((c[W>>2]|0)>=(c[Q>>2]|0))break;if((c[D>>2]<<3|0)>(((b[(c[(c[Z>>2]|0)+32>>2]|0)+((c[W>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Z>>2]|0)+32>>2]|0)+(c[W>>2]<<1)>>1]|0)|0)*3<<c[E>>2]<<3>>4|0))r=c[D>>2]<<3;else r=((b[(c[(c[Z>>2]|0)+32>>2]|0)+((c[W>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Z>>2]|0)+32>>2]|0)+(c[W>>2]<<1)>>1]|0)|0)*3<<c[E>>2]<<3>>4;c[n+(c[W>>2]<<2)>>2]=r;m=S(c[D>>2]|0,(b[(c[(c[Z>>2]|0)+32>>2]|0)+((c[W>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Z>>2]|0)+32>>2]|0)+(c[W>>2]<<1)>>1]|0)|0)|0;m=S(m,(c[x>>2]|0)-5-(c[E>>2]|0)|0)|0;m=S(m,(c[Q>>2]|0)-(c[W>>2]|0)-1|0)|0;m=(S(m,1<<(c[E>>2]|0)+3)|0)>>6;c[h+(c[W>>2]<<2)>>2]=m;if(((b[(c[(c[Z>>2]|0)+32>>2]|0)+((c[W>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Z>>2]|0)+32>>2]|0)+(c[W>>2]<<1)>>1]|0)<<c[E>>2]|0)==1){m=h+(c[W>>2]<<2)|0;c[m>>2]=(c[m>>2]|0)-(c[D>>2]<<3)}c[W>>2]=(c[W>>2]|0)+1}c[Y>>2]=1;c[T>>2]=(c[(c[Z>>2]|0)+48>>2]|0)-1;do{c[A>>2]=0;c[C>>2]=0;c[B>>2]=(c[Y>>2]|0)+(c[T>>2]|0)>>1;c[W>>2]=c[Q>>2];while(1){x=c[W>>2]|0;c[W>>2]=x+-1;if((x|0)<=(c[fa>>2]|0))break;c[y>>2]=(b[(c[(c[Z>>2]|0)+32>>2]|0)+((c[W>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Z>>2]|0)+32>>2]|0)+(c[W>>2]<<1)>>1]|0);m=S(c[D>>2]|0,c[y>>2]|0)|0;x=S(c[B>>2]|0,c[X>>2]|0)|0;x=S(m,d[(c[(c[Z>>2]|0)+52>>2]|0)+(x+(c[W>>2]|0))>>0]|0)|0;c[z>>2]=x<<c[E>>2]>>2;if((c[z>>2]|0)>0){if(0>((c[z>>2]|0)+(c[h+(c[W>>2]<<2)>>2]|0)|0))r=0;else r=(c[z>>2]|0)+(c[h+(c[W>>2]<<2)>>2]|0)|0;c[z>>2]=r}c[z>>2]=(c[z>>2]|0)+(c[(c[_>>2]|0)+(c[W>>2]<<2)>>2]|0);if(!(c[A>>2]|0?1:(c[z>>2]|0)>=(c[n+(c[W>>2]<<2)>>2]|0))){if((c[z>>2]|0)<(c[D>>2]<<3|0))continue;c[C>>2]=(c[C>>2]|0)+(c[D>>2]<<3);continue}c[A>>2]=1;if((c[z>>2]|0)<(c[(c[J>>2]|0)+(c[W>>2]<<2)>>2]|0))r=c[z>>2]|0;else r=c[(c[J>>2]|0)+(c[W>>2]<<2)>>2]|0;c[C>>2]=(c[C>>2]|0)+r}r=c[B>>2]|0;if((c[C>>2]|0)>(c[ga>>2]|0))c[T>>2]=r-1;else c[Y>>2]=r+1}while((c[Y>>2]|0)<=(c[T>>2]|0));C=c[Y>>2]|0;c[Y>>2]=C+-1;c[T>>2]=C;c[W>>2]=c[fa>>2];while(1){r=c[Z>>2]|0;if((c[W>>2]|0)>=(c[Q>>2]|0))break;c[F>>2]=(b[(c[r+32>>2]|0)+((c[W>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Z>>2]|0)+32>>2]|0)+(c[W>>2]<<1)>>1]|0);B=S(c[D>>2]|0,c[F>>2]|0)|0;C=S(c[Y>>2]|0,c[X>>2]|0)|0;C=S(B,d[(c[(c[Z>>2]|0)+52>>2]|0)+(C+(c[W>>2]|0))>>0]|0)|0;c[H>>2]=C<<c[E>>2]>>2;if((c[T>>2]|0)>=(c[(c[Z>>2]|0)+48>>2]|0))r=c[(c[J>>2]|0)+(c[W>>2]<<2)>>2]|0;else{C=S(c[D>>2]|0,c[F>>2]|0)|0;r=S(c[T>>2]|0,c[X>>2]|0)|0;r=S(C,d[(c[(c[Z>>2]|0)+52>>2]|0)+(r+(c[W>>2]|0))>>0]|0)|0;r=r<<c[E>>2]>>2}c[I>>2]=r;if((c[H>>2]|0)>0){if(0>((c[H>>2]|0)+(c[h+(c[W>>2]<<2)>>2]|0)|0))r=0;else r=(c[H>>2]|0)+(c[h+(c[W>>2]<<2)>>2]|0)|0;c[H>>2]=r}if((c[I>>2]|0)>0){if(0>((c[I>>2]|0)+(c[h+(c[W>>2]<<2)>>2]|0)|0))r=0;else r=(c[I>>2]|0)+(c[h+(c[W>>2]<<2)>>2]|0)|0;c[I>>2]=r}if((c[Y>>2]|0)>0)c[H>>2]=(c[H>>2]|0)+(c[(c[_>>2]|0)+(c[W>>2]<<2)>>2]|0);c[I>>2]=(c[I>>2]|0)+(c[(c[_>>2]|0)+(c[W>>2]<<2)>>2]|0);if((c[(c[_>>2]|0)+(c[W>>2]<<2)>>2]|0)>0)c[ea>>2]=c[W>>2];if(0>((c[I>>2]|0)-(c[H>>2]|0)|0))r=0;else r=(c[I>>2]|0)-(c[H>>2]|0)|0;c[I>>2]=r;c[s+(c[W>>2]<<2)>>2]=c[H>>2];c[i+(c[W>>2]<<2)>>2]=c[I>>2];c[W>>2]=(c[W>>2]|0)+1}c[K>>2]=ne(r,c[fa>>2]|0,c[Q>>2]|0,c[ea>>2]|0,s,i,n,c[J>>2]|0,c[ga>>2]|0,c[G>>2]|0,c[da>>2]|0,c[U>>2]|0,c[V>>2]|0,c[L>>2]|0,c[M>>2]|0,c[aa>>2]|0,c[N>>2]|0,c[R>>2]|0,c[D>>2]|0,c[E>>2]|0,c[O>>2]|0,c[P>>2]|0,c[$>>2]|0,c[ca>>2]|0)|0;ga=c[K>>2]|0;ka(c[ba>>2]|0);l=ha;return ga|0}function ne(a,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;var C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;Ea=l;l=l+224|0;Ba=Ea+212|0;da=Ea+208|0;ta=Ea+204|0;V=Ea+200|0;G=Ea+196|0;H=Ea+192|0;W=Ea+188|0;oa=Ea+184|0;ba=Ea+180|0;ka=Ea+176|0;U=Ea+172|0;ya=Ea+168|0;P=Ea+164|0;ra=Ea+160|0;Y=Ea+156|0;na=Ea+152|0;sa=Ea+148|0;xa=Ea+144|0;fa=Ea+140|0;ga=Ea+136|0;Z=Ea+132|0;_=Ea+128|0;Q=Ea+124|0;T=Ea+120|0;aa=Ea+116|0;J=Ea+112|0;C=Ea+108|0;D=Ea+104|0;za=Ea+100|0;Aa=Ea+96|0;Da=Ea+92|0;pa=Ea+88|0;L=Ea+84|0;ca=Ea+80|0;$=Ea+76|0;I=Ea+72|0;la=Ea+68|0;E=Ea+64|0;F=Ea+60|0;K=Ea+56|0;N=Ea+52|0;M=Ea+48|0;R=Ea+44|0;O=Ea+40|0;ea=Ea+36|0;ia=Ea+32|0;ha=Ea+28|0;qa=Ea+24|0;Ca=Ea+20|0;ja=Ea+16|0;ua=Ea+12|0;ma=Ea+8|0;wa=Ea+4|0;va=Ea;c[Ba>>2]=a;c[da>>2]=e;c[ta>>2]=f;c[V>>2]=g;c[G>>2]=h;c[H>>2]=i;c[W>>2]=j;c[oa>>2]=k;c[ba>>2]=m;c[ka>>2]=n;c[U>>2]=o;c[ya>>2]=p;c[P>>2]=q;c[ra>>2]=r;c[Y>>2]=s;c[na>>2]=t;c[sa>>2]=u;c[xa>>2]=v;c[fa>>2]=w;c[ga>>2]=x;c[Z>>2]=y;c[_>>2]=z;c[Q>>2]=A;c[T>>2]=B;c[pa>>2]=-1;c[L>>2]=c[fa>>2]<<3;c[Da>>2]=(c[fa>>2]|0)>1&1;c[Aa>>2]=c[ga>>2]<<3;c[J>>2]=0;c[C>>2]=64;c[D>>2]=0;while(1){if((c[D>>2]|0)>=6)break;c[E>>2]=(c[J>>2]|0)+(c[C>>2]|0)>>1;c[aa>>2]=0;c[I>>2]=0;c[za>>2]=c[ta>>2];while(1){m=c[za>>2]|0;c[za>>2]=m+-1;if((m|0)<=(c[da>>2]|0))break;c[F>>2]=(c[(c[G>>2]|0)+(c[za>>2]<<2)>>2]|0)+((S(c[E>>2]|0,c[(c[H>>2]|0)+(c[za>>2]<<2)>>2]|0)|0)>>6);if(!(c[I>>2]|0?1:(c[F>>2]|0)>=(c[(c[W>>2]|0)+(c[za>>2]<<2)>>2]|0))){if((c[F>>2]|0)<(c[L>>2]|0))continue;c[aa>>2]=(c[aa>>2]|0)+(c[L>>2]|0);continue}c[I>>2]=1;if((c[F>>2]|0)<(c[(c[oa>>2]|0)+(c[za>>2]<<2)>>2]|0))w=c[F>>2]|0;else w=c[(c[oa>>2]|0)+(c[za>>2]<<2)>>2]|0;c[aa>>2]=(c[aa>>2]|0)+w}w=c[E>>2]|0;if((c[aa>>2]|0)>(c[ba>>2]|0))c[C>>2]=w;else c[J>>2]=w;c[D>>2]=(c[D>>2]|0)+1}c[aa>>2]=0;c[I>>2]=0;c[za>>2]=c[ta>>2];while(1){F=c[za>>2]|0;c[za>>2]=F+-1;if((F|0)<=(c[da>>2]|0))break;c[K>>2]=(c[(c[G>>2]|0)+(c[za>>2]<<2)>>2]|0)+((S(c[J>>2]|0,c[(c[H>>2]|0)+(c[za>>2]<<2)>>2]|0)|0)>>6);do if(!(c[I>>2]|0?1:(c[K>>2]|0)>=(c[(c[W>>2]|0)+(c[za>>2]<<2)>>2]|0)))if((c[K>>2]|0)>=(c[L>>2]|0)){c[K>>2]=c[L>>2];break}else{c[K>>2]=0;break}else c[I>>2]=1;while(0);if((c[K>>2]|0)<(c[(c[oa>>2]|0)+(c[za>>2]<<2)>>2]|0))w=c[K>>2]|0;else w=c[(c[oa>>2]|0)+(c[za>>2]<<2)>>2]|0;c[K>>2]=w;c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]=c[K>>2];c[aa>>2]=(c[aa>>2]|0)+(c[K>>2]|0)}c[pa>>2]=c[ta>>2];while(1){c[za>>2]=(c[pa>>2]|0)-1;if((c[za>>2]|0)<=(c[V>>2]|0)){X=29;break}c[ca>>2]=(c[ba>>2]|0)-(c[aa>>2]|0);c[$>>2]=oe(c[ca>>2]|0,(b[(c[(c[Ba>>2]|0)+32>>2]|0)+(c[pa>>2]<<1)>>1]|0)-(b[(c[(c[Ba>>2]|0)+32>>2]|0)+(c[da>>2]<<1)>>1]|0)|0)|0;K=S((b[(c[(c[Ba>>2]|0)+32>>2]|0)+(c[pa>>2]<<1)>>1]|0)-(b[(c[(c[Ba>>2]|0)+32>>2]|0)+(c[da>>2]<<1)>>1]|0)|0,c[$>>2]|0)|0;c[ca>>2]=(c[ca>>2]|0)-K;if(((c[ca>>2]|0)-((b[(c[(c[Ba>>2]|0)+32>>2]|0)+(c[za>>2]<<1)>>1]|0)-(b[(c[(c[Ba>>2]|0)+32>>2]|0)+(c[da>>2]<<1)>>1]|0))|0)>0)w=(c[ca>>2]|0)-((b[(c[(c[Ba>>2]|0)+32>>2]|0)+(c[za>>2]<<1)>>1]|0)-(b[(c[(c[Ba>>2]|0)+32>>2]|0)+(c[da>>2]<<1)>>1]|0))|0;else w=0;c[R>>2]=w;c[N>>2]=(b[(c[(c[Ba>>2]|0)+32>>2]|0)+(c[pa>>2]<<1)>>1]|0)-(b[(c[(c[Ba>>2]|0)+32>>2]|0)+(c[za>>2]<<1)>>1]|0);K=(c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]|0)+(S(c[$>>2]|0,c[N>>2]|0)|0)|0;c[M>>2]=K+(c[R>>2]|0);if((c[(c[W>>2]|0)+(c[za>>2]<<2)>>2]|0)>((c[L>>2]|0)+8|0))w=c[(c[W>>2]|0)+(c[za>>2]<<2)>>2]|0;else w=(c[L>>2]|0)+8|0;if((c[M>>2]|0)>=(w|0)){if(!(c[_>>2]|0)){if(jd(c[Z>>2]|0,1)|0)break}else{if((c[pa>>2]|0)>17)c[O>>2]=(c[za>>2]|0)<(c[Q>>2]|0)?7:9;else c[O>>2]=0;if((c[pa>>2]|0)<=((c[da>>2]|0)+2|0)){X=43;break}K=S(c[O>>2]|0,c[N>>2]|0)|0;if((c[M>>2]|0)>(K<<c[ga>>2]<<3>>4|0)?(c[za>>2]|0)<=(c[T>>2]|0):0){X=43;break}vd(c[Z>>2]|0,0,1)}c[aa>>2]=(c[aa>>2]|0)+8;c[M>>2]=(c[M>>2]|0)-8}c[aa>>2]=(c[aa>>2]|0)-((c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]|0)+(c[P>>2]|0));if((c[P>>2]|0)>0)c[P>>2]=d[26912+((c[za>>2]|0)-(c[da>>2]|0))>>0];c[aa>>2]=(c[aa>>2]|0)+(c[P>>2]|0);if((c[M>>2]|0)>=(c[L>>2]|0)){c[aa>>2]=(c[aa>>2]|0)+(c[L>>2]|0);w=c[L>>2]|0;x=(c[na>>2]|0)+(c[za>>2]<<2)|0}else{w=0;x=(c[na>>2]|0)+(c[za>>2]<<2)|0}c[x>>2]=w;c[pa>>2]=(c[pa>>2]|0)+-1}if((X|0)==29)c[ba>>2]=(c[ba>>2]|0)+(c[U>>2]|0);else if((X|0)==43)vd(c[Z>>2]|0,1,1);do if((c[P>>2]|0)>0){if(!(c[_>>2]|0)){X=c[da>>2]|0;X=X+(ld(c[Z>>2]|0,(c[pa>>2]|0)+1-(c[da>>2]|0)|0)|0)|0;c[c[ya>>2]>>2]=X;break}if((c[c[ya>>2]>>2]|0)<(c[pa>>2]|0))w=c[c[ya>>2]>>2]|0;else w=c[pa>>2]|0;c[c[ya>>2]>>2]=w;xd(c[Z>>2]|0,(c[c[ya>>2]>>2]|0)-(c[da>>2]|0)|0,(c[pa>>2]|0)+1-(c[da>>2]|0)|0)}else c[c[ya>>2]>>2]=0;while(0);if((c[c[ya>>2]>>2]|0)<=(c[da>>2]|0)){c[ba>>2]=(c[ba>>2]|0)+(c[Y>>2]|0);c[Y>>2]=0}do if((c[Y>>2]|0)>0){w=c[Z>>2]|0;if(c[_>>2]|0){vd(w,c[c[ra>>2]>>2]|0,1);break}else{_=jd(w,1)|0;c[c[ra>>2]>>2]=_;break}}else c[c[ra>>2]>>2]=0;while(0);c[ca>>2]=(c[ba>>2]|0)-(c[aa>>2]|0);c[$>>2]=oe(c[ca>>2]|0,(b[(c[(c[Ba>>2]|0)+32>>2]|0)+(c[pa>>2]<<1)>>1]|0)-(b[(c[(c[Ba>>2]|0)+32>>2]|0)+(c[da>>2]<<1)>>1]|0)|0)|0;ba=S((b[(c[(c[Ba>>2]|0)+32>>2]|0)+(c[pa>>2]<<1)>>1]|0)-(b[(c[(c[Ba>>2]|0)+32>>2]|0)+(c[da>>2]<<1)>>1]|0)|0,c[$>>2]|0)|0;c[ca>>2]=(c[ca>>2]|0)-ba;c[za>>2]=c[da>>2];while(1){if((c[za>>2]|0)>=(c[pa>>2]|0))break;aa=S(c[$>>2]|0,(b[(c[(c[Ba>>2]|0)+32>>2]|0)+((c[za>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Ba>>2]|0)+32>>2]|0)+(c[za>>2]<<1)>>1]|0)|0)|0;ba=(c[na>>2]|0)+(c[za>>2]<<2)|0;c[ba>>2]=(c[ba>>2]|0)+aa;c[za>>2]=(c[za>>2]|0)+1}c[za>>2]=c[da>>2];while(1){if((c[za>>2]|0)>=(c[pa>>2]|0))break;if((c[ca>>2]|0)<((b[(c[(c[Ba>>2]|0)+32>>2]|0)+((c[za>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Ba>>2]|0)+32>>2]|0)+(c[za>>2]<<1)>>1]|0)|0))w=c[ca>>2]|0;else w=(b[(c[(c[Ba>>2]|0)+32>>2]|0)+((c[za>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Ba>>2]|0)+32>>2]|0)+(c[za>>2]<<1)>>1]|0)|0;c[ea>>2]=w;ba=(c[na>>2]|0)+(c[za>>2]<<2)|0;c[ba>>2]=(c[ba>>2]|0)+(c[ea>>2]|0);c[ca>>2]=(c[ca>>2]|0)-(c[ea>>2]|0);c[za>>2]=(c[za>>2]|0)+1}c[la>>2]=0;c[za>>2]=c[da>>2];while(1){if((c[za>>2]|0)>=(c[pa>>2]|0))break;c[ia>>2]=(b[(c[(c[Ba>>2]|0)+32>>2]|0)+((c[za>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Ba>>2]|0)+32>>2]|0)+(c[za>>2]<<1)>>1]|0);c[ha>>2]=c[ia>>2]<<c[ga>>2];c[ma>>2]=(c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]|0)+(c[la>>2]|0);w=c[ma>>2]|0;if((c[ha>>2]|0)>1){if((w-(c[(c[oa>>2]|0)+(c[za>>2]<<2)>>2]|0)|0)>0)w=(c[ma>>2]|0)-(c[(c[oa>>2]|0)+(c[za>>2]<<2)>>2]|0)|0;else w=0;c[ua>>2]=w;c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]=(c[ma>>2]|0)-(c[ua>>2]|0);x=S(c[fa>>2]|0,c[ha>>2]|0)|0;if((c[fa>>2]|0)==2&(c[ha>>2]|0)>2?!(c[c[ra>>2]>>2]|0):0)w=(c[za>>2]|0)<(c[c[ya>>2]>>2]|0);else w=0;c[qa>>2]=x+(w?1:0);c[ja>>2]=S(c[qa>>2]|0,(b[(c[(c[Ba>>2]|0)+56>>2]|0)+(c[za>>2]<<1)>>1]|0)+(c[Aa>>2]|0)|0)|0;c[Ca>>2]=(c[ja>>2]>>1)-((c[qa>>2]|0)*21|0);if((c[ha>>2]|0)==2)c[Ca>>2]=(c[Ca>>2]|0)+(c[qa>>2]<<3>>2);if(((c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]|0)+(c[Ca>>2]|0)|0)>=(c[qa>>2]<<1<<3|0)){if(((c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]|0)+(c[Ca>>2]|0)|0)<((c[qa>>2]|0)*3<<3|0))c[Ca>>2]=(c[Ca>>2]|0)+(c[ja>>2]>>3)}else c[Ca>>2]=(c[Ca>>2]|0)+(c[ja>>2]>>2);if(0>((c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]|0)+(c[Ca>>2]|0)+(c[qa>>2]<<2)|0))w=0;else w=(c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]|0)+(c[Ca>>2]|0)+(c[qa>>2]<<2)|0;c[(c[sa>>2]|0)+(c[za>>2]<<2)>>2]=w;ea=(oe(c[(c[sa>>2]|0)+(c[za>>2]<<2)>>2]|0,c[qa>>2]|0)|0)>>>3;c[(c[sa>>2]|0)+(c[za>>2]<<2)>>2]=ea;ea=S(c[fa>>2]|0,c[(c[sa>>2]|0)+(c[za>>2]<<2)>>2]|0)|0;if((ea|0)>(c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]>>3|0))c[(c[sa>>2]|0)+(c[za>>2]<<2)>>2]=c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]>>c[Da>>2]>>3;if((c[(c[sa>>2]|0)+(c[za>>2]<<2)>>2]|0)<8)w=c[(c[sa>>2]|0)+(c[za>>2]<<2)>>2]|0;else w=8;c[(c[sa>>2]|0)+(c[za>>2]<<2)>>2]=w;da=S(c[(c[sa>>2]|0)+(c[za>>2]<<2)>>2]|0,c[qa>>2]<<3)|0;c[(c[xa>>2]|0)+(c[za>>2]<<2)>>2]=(da|0)>=((c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]|0)+(c[Ca>>2]|0)|0)&1;da=(S(c[fa>>2]|0,c[(c[sa>>2]|0)+(c[za>>2]<<2)>>2]|0)|0)<<3;ea=(c[na>>2]|0)+(c[za>>2]<<2)|0;c[ea>>2]=(c[ea>>2]|0)-da}else{if(0>(w-(c[fa>>2]<<3)|0))w=0;else w=(c[ma>>2]|0)-(c[fa>>2]<<3)|0;c[ua>>2]=w;c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]=(c[ma>>2]|0)-(c[ua>>2]|0);c[(c[sa>>2]|0)+(c[za>>2]<<2)>>2]=0;c[(c[xa>>2]|0)+(c[za>>2]<<2)>>2]=1}if((c[ua>>2]|0)>0){if((c[ua>>2]>>(c[Da>>2]|0)+3|0)<(8-(c[(c[sa>>2]|0)+(c[za>>2]<<2)>>2]|0)|0))w=c[ua>>2]>>(c[Da>>2]|0)+3;else w=8-(c[(c[sa>>2]|0)+(c[za>>2]<<2)>>2]|0)|0;c[wa>>2]=w;ea=(c[sa>>2]|0)+(c[za>>2]<<2)|0;c[ea>>2]=(c[ea>>2]|0)+(c[wa>>2]|0);c[va>>2]=(S(c[wa>>2]|0,c[fa>>2]|0)|0)<<3;c[(c[xa>>2]|0)+(c[za>>2]<<2)>>2]=(c[va>>2]|0)>=((c[ua>>2]|0)-(c[la>>2]|0)|0)&1;c[ua>>2]=(c[ua>>2]|0)-(c[va>>2]|0)}c[la>>2]=c[ua>>2];c[za>>2]=(c[za>>2]|0)+1}c[c[ka>>2]>>2]=c[la>>2];while(1){if((c[za>>2]|0)>=(c[ta>>2]|0))break;c[(c[sa>>2]|0)+(c[za>>2]<<2)>>2]=c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]>>c[Da>>2]>>3;c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]=0;c[(c[xa>>2]|0)+(c[za>>2]<<2)>>2]=(c[(c[sa>>2]|0)+(c[za>>2]<<2)>>2]|0)<1&1;c[za>>2]=(c[za>>2]|0)+1}l=Ea;return c[pa>>2]|0}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function pe(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;j=w+48|0;q=w+44|0;m=w+40|0;t=w+36|0;i=w+32|0;s=w+28|0;p=w+24|0;k=w+20|0;r=w+16|0;o=w+12|0;v=w+8|0;u=w+4|0;n=w;c[j>>2]=a;c[q>>2]=b;c[m>>2]=d;c[t>>2]=e;c[i>>2]=f;c[s>>2]=h;c[u>>2]=0;if((c[s>>2]|0)==0?1:(c[i>>2]<<1|0)>=(c[q>>2]|0)){l=w;return}c[n>>2]=c[17596+((c[s>>2]|0)-1<<2)>>2];g[o>>2]=+(c[q>>2]|0)*1.0/+((c[q>>2]|0)+(S(c[n>>2]|0,c[i>>2]|0)|0)|0);g[v>>2]=+g[o>>2]*+g[o>>2]*.5;g[k>>2]=+I(+(+g[v>>2]*1.5707963705062866));g[r>>2]=+I(+((1.0-+g[v>>2])*1.5707963705062866));a:do if((c[q>>2]|0)>=(c[t>>2]<<3|0)){c[u>>2]=1;while(1){v=S(c[u>>2]|0,c[u>>2]|0)|0;v=S(v+(c[u>>2]|0)|0,c[t>>2]|0)|0;if((v+(c[t>>2]>>2)|0)>=(c[q>>2]|0))break a;c[u>>2]=(c[u>>2]|0)+1}}while(0);c[q>>2]=qe(c[q>>2]|0,c[t>>2]|0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[t>>2]|0))break;if((c[m>>2]|0)>=0){v=(c[j>>2]|0)+((S(c[p>>2]|0,c[q>>2]|0)|0)<<2)|0;re(v,c[q>>2]|0,1,+g[k>>2],-+g[r>>2]);if(c[u>>2]|0){v=(c[j>>2]|0)+((S(c[p>>2]|0,c[q>>2]|0)|0)<<2)|0;re(v,c[q>>2]|0,c[u>>2]|0,+g[r>>2],-+g[k>>2])}}else{if(c[u>>2]|0){v=(c[j>>2]|0)+((S(c[p>>2]|0,c[q>>2]|0)|0)<<2)|0;re(v,c[q>>2]|0,c[u>>2]|0,+g[r>>2],+g[k>>2])}v=(c[j>>2]|0)+((S(c[p>>2]|0,c[q>>2]|0)|0)<<2)|0;re(v,c[q>>2]|0,1,+g[k>>2],+g[r>>2])}c[p>>2]=(c[p>>2]|0)+1}l=w;return}function qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function re(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=+f;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;h=u+44|0;m=u+40|0;p=u+36|0;j=u+32|0;o=u+28|0;k=u+24|0;n=u+20|0;i=u+16|0;q=u+12|0;s=u+8|0;r=u+4|0;t=u;c[h>>2]=a;c[m>>2]=b;c[p>>2]=d;g[j>>2]=e;g[o>>2]=f;c[i>>2]=c[h>>2];g[n>>2]=-+g[o>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=((c[m>>2]|0)-(c[p>>2]|0)|0))break;g[q>>2]=+g[c[i>>2]>>2];g[s>>2]=+g[(c[i>>2]|0)+(c[p>>2]<<2)>>2];g[(c[i>>2]|0)+(c[p>>2]<<2)>>2]=+g[j>>2]*+g[s>>2]+ +g[o>>2]*+g[q>>2];f=+g[j>>2]*+g[q>>2]+ +g[n>>2]*+g[s>>2];d=c[i>>2]|0;c[i>>2]=d+4;g[d>>2]=f;c[k>>2]=(c[k>>2]|0)+1}c[i>>2]=(c[h>>2]|0)+((c[m>>2]|0)-(c[p>>2]<<1)-1<<2);c[k>>2]=(c[m>>2]|0)-(c[p>>2]<<1)-1;while(1){if((c[k>>2]|0)<0)break;g[r>>2]=+g[c[i>>2]>>2];g[t>>2]=+g[(c[i>>2]|0)+(c[p>>2]<<2)>>2];g[(c[i>>2]|0)+(c[p>>2]<<2)>>2]=+g[j>>2]*+g[t>>2]+ +g[o>>2]*+g[r>>2];f=+g[j>>2]*+g[r>>2]+ +g[n>>2]*+g[t>>2];s=c[i>>2]|0;c[i>>2]=s+-4;g[s>>2]=f;c[k>>2]=(c[k>>2]|0)+-1}l=u;return}function se(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=l;l=l+48|0;p=w+44|0;o=w+40|0;n=w+36|0;u=w+32|0;m=w+28|0;y=w+24|0;s=w+20|0;x=w+16|0;z=w+12|0;v=w+8|0;r=w+4|0;t=w;c[p>>2]=a;c[o>>2]=b;c[n>>2]=d;c[u>>2]=e;c[m>>2]=f;c[y>>2]=h;g[s>>2]=i;c[x>>2]=j;c[z>>2]=k;e=(c[o>>2]|0)+3|0;c[t>>2]=la()|0;f=l;l=l+((1*(e<<2)|0)+15&-16)|0;pe(c[p>>2]|0,c[o>>2]|0,1,c[m>>2]|0,c[n>>2]|0,c[u>>2]|0);g[v>>2]=+vb[c[q+((c[z>>2]&7)<<2)>>2]&0](c[p>>2]|0,f,c[n>>2]|0,c[o>>2]|0,c[z>>2]|0);Zc(f,c[o>>2]|0,c[n>>2]|0,c[y>>2]|0);if(!(c[x>>2]|0)){y=c[o>>2]|0;z=c[m>>2]|0;z=ue(f,y,z)|0;c[r>>2]=z;z=c[r>>2]|0;y=c[t>>2]|0;ka(y|0);l=w;return z|0}te(f,c[p>>2]|0,c[o>>2]|0,+g[v>>2],+g[s>>2]);pe(c[p>>2]|0,c[o>>2]|0,-1,c[m>>2]|0,c[n>>2]|0,c[u>>2]|0);y=c[o>>2]|0;z=c[m>>2]|0;z=ue(f,y,z)|0;c[r>>2]=z;z=c[r>>2]|0;y=c[t>>2]|0;ka(y|0);l=w;return z|0}function te(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=+f;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;n=l;l=l+32|0;m=n+28|0;i=n+24|0;h=n+20|0;q=n+16|0;o=n+12|0;k=n+8|0;p=n+4|0;j=n;c[m>>2]=a;c[i>>2]=b;c[h>>2]=d;g[q>>2]=e;g[o>>2]=f;g[p>>2]=+g[q>>2];f=1.0/+G(+(+g[p>>2]));g[j>>2]=f*+g[o>>2];c[k>>2]=0;do{g[(c[i>>2]|0)+(c[k>>2]<<2)>>2]=+g[j>>2]*+(c[(c[m>>2]|0)+(c[k>>2]<<2)>>2]|0);q=(c[k>>2]|0)+1|0;c[k>>2]=q}while((q|0)<(c[h>>2]|0));l=n;return}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o+32|0;j=o+28|0;f=o+24|0;e=o+20|0;h=o+16|0;g=o+12|0;i=o+8|0;k=o+4|0;n=o;c[j>>2]=a;c[f>>2]=b;c[e>>2]=d;if((c[e>>2]|0)<=1){c[m>>2]=1;n=c[m>>2]|0;l=o;return n|0}c[g>>2]=qe(c[f>>2]|0,c[e>>2]|0)|0;c[h>>2]=0;c[i>>2]=0;do{c[n>>2]=0;c[k>>2]=0;do{a=S(c[i>>2]|0,c[g>>2]|0)|0;c[n>>2]=c[n>>2]|c[(c[j>>2]|0)+(a+(c[k>>2]|0)<<2)>>2];a=(c[k>>2]|0)+1|0;c[k>>2]=a}while((a|0)<(c[g>>2]|0));c[h>>2]=c[h>>2]|((c[n>>2]|0)!=0&1)<<c[i>>2];a=(c[i>>2]|0)+1|0;c[i>>2]=a}while((a|0)<(c[e>>2]|0));c[m>>2]=c[h>>2];n=c[m>>2]|0;l=o;return n|0}function ve(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=l;l=l+48|0;r=j+36|0;o=j+32|0;q=j+28|0;p=j+24|0;n=j+20|0;u=j+16|0;s=j+12|0;t=j+8|0;m=j+4|0;k=j;c[r>>2]=a;c[o>>2]=b;c[q>>2]=d;c[p>>2]=e;c[n>>2]=f;c[u>>2]=h;g[s>>2]=i;h=c[o>>2]|0;c[k>>2]=la()|0;e=l;l=l+((1*(h<<2)|0)+15&-16)|0;g[t>>2]=+$c(e,c[o>>2]|0,c[q>>2]|0,c[u>>2]|0);te(e,c[r>>2]|0,c[o>>2]|0,+g[t>>2],+g[s>>2]);pe(c[r>>2]|0,c[o>>2]|0,-1,c[n>>2]|0,c[q>>2]|0,c[p>>2]|0);c[m>>2]=ue(e,c[o>>2]|0,c[n>>2]|0)|0;e=c[m>>2]|0;ka(c[k>>2]|0);l=j;return e|0}function we(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,o=0,p=0,q=0,r=0;k=l;l=l+48|0;m=k+32|0;f=k+28|0;o=k+24|0;r=k+20|0;i=k+16|0;q=k+12|0;h=k+8|0;p=k+4|0;j=k;c[m>>2]=a;c[f>>2]=b;g[o>>2]=d;c[r>>2]=e;g[q>>2]=+ub[c[n+((c[r>>2]&7)<<2)>>2]&0](c[m>>2]|0,c[m>>2]|0,c[f>>2]|0)+1.0000000036274937e-15;g[p>>2]=+g[q>>2];d=1.0/+G(+(+g[p>>2]));g[h>>2]=d*+g[o>>2];c[j>>2]=c[m>>2];c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[f>>2]|0))break;g[c[j>>2]>>2]=+g[h>>2]*+g[c[j>>2]>>2];c[j>>2]=(c[j>>2]|0)+4;c[i>>2]=(c[i>>2]|0)+1}l=k;return}function xe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;v=l;l=l+64|0;k=v+48|0;m=v+44|0;w=v+40|0;j=v+36|0;o=v+32|0;p=v+28|0;q=v+24|0;s=v+20|0;u=v+16|0;h=v+12|0;i=v+8|0;r=v+4|0;t=v;c[k>>2]=a;c[m>>2]=b;c[w>>2]=d;c[j>>2]=e;c[o>>2]=f;g[i>>2]=1.0000000036274937e-15;g[h>>2]=1.0000000036274937e-15;a:do if(c[w>>2]|0){c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[j>>2]|0))break a;g[r>>2]=+g[(c[k>>2]|0)+(c[p>>2]<<2)>>2]+ +g[(c[m>>2]|0)+(c[p>>2]<<2)>>2];g[t>>2]=+g[(c[k>>2]|0)+(c[p>>2]<<2)>>2]-+g[(c[m>>2]|0)+(c[p>>2]<<2)>>2];g[h>>2]=+g[h>>2]+ +g[r>>2]*+g[r>>2];g[i>>2]=+g[i>>2]+ +g[t>>2]*+g[t>>2];c[p>>2]=(c[p>>2]|0)+1}}else{x=+ub[c[n+((c[o>>2]&7)<<2)>>2]&0](c[k>>2]|0,c[k>>2]|0,c[j>>2]|0);g[h>>2]=+g[h>>2]+x;x=+ub[c[n+((c[o>>2]&7)<<2)>>2]&0](c[m>>2]|0,c[m>>2]|0,c[j>>2]|0);g[i>>2]=+g[i>>2]+x}while(0);g[s>>2]=+G(+(+g[h>>2]));g[u>>2]=+G(+(+g[i>>2]));c[q>>2]=~~+E(+(+ye(+g[u>>2],+g[s>>2])*10430.3818359375+.5));l=v;return c[q>>2]|0}function ye(a,b){a=+a;b=+b;var c=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+24|0;i=k+20|0;f=k+16|0;h=k+12|0;j=k+8|0;c=k+4|0;d=k;g[i>>2]=a;g[f>>2]=b;g[h>>2]=+g[f>>2]*+g[f>>2];g[j>>2]=+g[i>>2]*+g[i>>2];if(+g[h>>2]+ +g[j>>2]<1.000000045813705e-18){g[e>>2]=0.0;a=+g[e>>2];l=k;return +a}if(+g[h>>2]<+g[j>>2]){g[c>>2]=(+g[j>>2]+ +g[h>>2]*.6784840226173401)*(+g[j>>2]+ +g[h>>2]*.0859554186463356);g[e>>2]=-+g[f>>2]*+g[i>>2]*(+g[j>>2]+ +g[h>>2]*.43157973885536194)/+g[c>>2]+(+g[i>>2]<0.0?-1.5707963705062866:1.5707963705062866);a=+g[e>>2];l=k;return +a}else{g[d>>2]=(+g[h>>2]+ +g[j>>2]*.6784840226173401)*(+g[h>>2]+ +g[j>>2]*.0859554186463356);g[e>>2]=+g[f>>2]*+g[i>>2]*(+g[h>>2]+ +g[j>>2]*.43157973885536194)/+g[d>>2]+(+g[i>>2]<0.0?-1.5707963705062866:1.5707963705062866)-(+g[f>>2]*+g[i>>2]<0.0?-1.5707963705062866:1.5707963705062866);a=+g[e>>2];l=k;return +a}return 0.0}function ze(){var a=0,b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+24|0;d=f+8|0;b=f;Ae(d);c[b>>2]=0;a=c[b>>2]|0;do if(c[d>>2]|0){c[b>>2]=a+1;a=c[b>>2]|0;if(!(c[d+4>>2]|0)){c[e>>2]=a;break}c[b>>2]=a+1;a=c[b>>2]|0;if(!(c[d+8>>2]|0)){c[e>>2]=a;break}c[b>>2]=a+1;a=c[b>>2]|0;if(c[d+12>>2]|0){c[b>>2]=a+1;c[e>>2]=c[b>>2];break}else{c[e>>2]=a;break}}else c[e>>2]=a;while(0);l=f;return c[e>>2]|0}function Ae(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+32|0;b=e+24|0;d=e+8|0;f=e;c[b>>2]=a;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[f>>2]=0;Be(d,0);c[f>>2]=c[d>>2];if((c[f>>2]|0)>>>0>=1){Be(d,1);c[c[b>>2]>>2]=(c[d+12>>2]&33554432|0)!=0&1;c[(c[b>>2]|0)+4>>2]=(c[d+12>>2]&67108864|0)!=0&1;c[(c[b>>2]|0)+8>>2]=(c[d+8>>2]&524288|0)!=0&1;d=(c[d+8>>2]&268435456|0)!=0&1;f=c[b>>2]|0;f=f+12|0;c[f>>2]=d;l=e;return}else{c[c[b>>2]>>2]=0;c[(c[b>>2]|0)+4>>2]=0;c[(c[b>>2]|0)+8>>2]=0;d=0;f=c[b>>2]|0;f=f+12|0;c[f>>2]=d;l=e;return}}function Be(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return}function Ce(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+12|0;f=h+8|0;e=h+4|0;d=h;c[g>>2]=a;c[e>>2]=32767/((c[(c[g>>2]|0)+2340>>2]|0)+1|0)|0;c[d>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[g>>2]|0)+2340>>2]|0))break;c[d>>2]=(c[d>>2]|0)+(c[e>>2]|0);b[(c[g>>2]|0)+2772+1280+(c[f>>2]<<1)>>1]=c[d>>2];c[f>>2]=(c[f>>2]|0)+1}c[(c[g>>2]|0)+2772+1376>>2]=0;c[(c[g>>2]|0)+2772+1380>>2]=3176576;l=h;return}function De(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;s=u+44|0;h=u+40|0;n=u+36|0;q=u+32|0;p=u+28|0;i=u+24|0;m=u+20|0;g=u+16|0;j=u+12|0;o=u+8|0;k=u+48|0;r=u+4|0;t=u;c[s>>2]=a;c[h>>2]=d;c[n>>2]=e;c[q>>2]=f;c[r>>2]=(c[s>>2]|0)+2772;if((c[(c[s>>2]|0)+2316>>2]|0)!=(c[(c[r>>2]|0)+1384>>2]|0)){Ce(c[s>>2]|0);c[(c[r>>2]|0)+1384>>2]=c[(c[s>>2]|0)+2316>>2]}a:do if((c[(c[s>>2]|0)+4160>>2]|0)==0?(c[(c[s>>2]|0)+4164>>2]|0)==0:0){c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[s>>2]|0)+2340>>2]|0))break;d=(c[r>>2]|0)+1280+(c[p>>2]<<1)|0;b[d>>1]=(b[d>>1]|0)+((((b[(c[s>>2]|0)+2344+(c[p>>2]<<1)>>1]|0)-(b[(c[r>>2]|0)+1280+(c[p>>2]<<1)>>1]|0)>>16)*16348|0)+(((b[(c[s>>2]|0)+2344+(c[p>>2]<<1)>>1]|0)-(b[(c[r>>2]|0)+1280+(c[p>>2]<<1)>>1]|0)&65535)*16348>>16));c[p>>2]=(c[p>>2]|0)+1}c[g>>2]=0;c[i>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[s>>2]|0)+2324>>2]|0))break;if((c[(c[h>>2]|0)+16+(c[p>>2]<<2)>>2]|0)>(c[g>>2]|0)){c[g>>2]=c[(c[h>>2]|0)+16+(c[p>>2]<<2)>>2];c[i>>2]=c[p>>2]}c[p>>2]=(c[p>>2]|0)+1}vk((c[r>>2]|0)+(c[(c[s>>2]|0)+2332>>2]<<2)|0,c[r>>2]|0,(S((c[(c[s>>2]|0)+2324>>2]|0)-1|0,c[(c[s>>2]|0)+2332>>2]|0)|0)<<2|0)|0;i=(c[s>>2]|0)+4+((S(c[i>>2]|0,c[(c[s>>2]|0)+2332>>2]|0)|0)<<2)|0;uk(c[r>>2]|0,i|0,c[(c[s>>2]|0)+2332>>2]<<2|0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[s>>2]|0)+2324>>2]|0))break a;i=(c[r>>2]|0)+1376|0;c[i>>2]=(c[i>>2]|0)+((((c[(c[h>>2]|0)+16+(c[p>>2]<<2)>>2]|0)-(c[(c[r>>2]|0)+1376>>2]|0)>>16)*4634|0)+(((c[(c[h>>2]|0)+16+(c[p>>2]<<2)>>2]|0)-(c[(c[r>>2]|0)+1376>>2]|0)&65535)*4634>>16));c[p>>2]=(c[p>>2]|0)+1}}while(0);if(!(c[(c[s>>2]|0)+4160>>2]|0)){wk((c[r>>2]|0)+1312|0,0,c[(c[s>>2]|0)+2340>>2]<<2|0)|0;l=u;return}i=(c[q>>2]|0)+16|0;c[t>>2]=la()|0;a=l;l=l+((1*(i<<2)|0)+15&-16)|0;i=S(b[(c[s>>2]|0)+4172+56>>1]>>16,(c[(c[s>>2]|0)+4172+72+4>>2]&65535)<<16>>16)|0;i=i+((S(b[(c[s>>2]|0)+4172+56>>1]&65535,(c[(c[s>>2]|0)+4172+72+4>>2]&65535)<<16>>16)|0)>>16)|0;c[j>>2]=i+(S(b[(c[s>>2]|0)+4172+56>>1]|0,(c[(c[s>>2]|0)+4172+72+4>>2]>>15)+1>>1)|0);if((c[j>>2]|0)<2097152?(c[(c[r>>2]|0)+1376>>2]|0)<=8388608:0){i=S(c[j>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;i=i+((S(c[j>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16)|0;c[j>>2]=i+(S(c[j>>2]|0,(c[j>>2]>>15)+1>>1)|0);i=S(c[(c[r>>2]|0)+1376>>2]>>16,(c[(c[r>>2]|0)+1376>>2]&65535)<<16>>16)|0;i=i+((S(c[(c[r>>2]|0)+1376>>2]&65535,(c[(c[r>>2]|0)+1376>>2]&65535)<<16>>16)|0)>>16)|0;i=i+(S(c[(c[r>>2]|0)+1376>>2]|0,(c[(c[r>>2]|0)+1376>>2]>>15)+1>>1)|0)|0;c[j>>2]=i-(c[j>>2]<<5);c[j>>2]=(Ee(c[j>>2]|0)|0)<<8}else{c[j>>2]=S(c[j>>2]>>16,c[j>>2]>>16)|0;i=S(c[(c[r>>2]|0)+1376>>2]>>16,c[(c[r>>2]|0)+1376>>2]>>16)|0;c[j>>2]=i-(c[j>>2]<<5);c[j>>2]=(Ee(c[j>>2]|0)|0)<<16}c[o>>2]=c[j>>2]>>6;Fe(a+64|0,c[r>>2]|0,c[q>>2]|0,(c[r>>2]|0)+1380|0);eh(k,(c[r>>2]|0)+1280|0,c[(c[s>>2]|0)+2340>>2]|0,c[(c[s>>2]|0)+4168>>2]|0);e=a;f=(c[r>>2]|0)+1312|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[q>>2]|0))break;c[m>>2]=c[(c[s>>2]|0)+2340>>2]>>1;j=S(c[a+(16+(c[p>>2]|0)-1<<2)>>2]>>16,b[k>>1]|0)|0;c[m>>2]=(c[m>>2]|0)+(j+((S(c[a+(16+(c[p>>2]|0)-1<<2)>>2]&65535,b[k>>1]|0)|0)>>16));j=S(c[a+(16+(c[p>>2]|0)-2<<2)>>2]>>16,b[k+2>>1]|0)|0;c[m>>2]=(c[m>>2]|0)+(j+((S(c[a+(16+(c[p>>2]|0)-2<<2)>>2]&65535,b[k+2>>1]|0)|0)>>16));j=S(c[a+(16+(c[p>>2]|0)-3<<2)>>2]>>16,b[k+4>>1]|0)|0;c[m>>2]=(c[m>>2]|0)+(j+((S(c[a+(16+(c[p>>2]|0)-3<<2)>>2]&65535,b[k+4>>1]|0)|0)>>16));j=S(c[a+(16+(c[p>>2]|0)-4<<2)>>2]>>16,b[k+6>>1]|0)|0;c[m>>2]=(c[m>>2]|0)+(j+((S(c[a+(16+(c[p>>2]|0)-4<<2)>>2]&65535,b[k+6>>1]|0)|0)>>16));j=S(c[a+(16+(c[p>>2]|0)-5<<2)>>2]>>16,b[k+8>>1]|0)|0;c[m>>2]=(c[m>>2]|0)+(j+((S(c[a+(16+(c[p>>2]|0)-5<<2)>>2]&65535,b[k+8>>1]|0)|0)>>16));j=S(c[a+(16+(c[p>>2]|0)-6<<2)>>2]>>16,b[k+10>>1]|0)|0;c[m>>2]=(c[m>>2]|0)+(j+((S(c[a+(16+(c[p>>2]|0)-6<<2)>>2]&65535,b[k+10>>1]|0)|0)>>16));j=S(c[a+(16+(c[p>>2]|0)-7<<2)>>2]>>16,b[k+12>>1]|0)|0;c[m>>2]=(c[m>>2]|0)+(j+((S(c[a+(16+(c[p>>2]|0)-7<<2)>>2]&65535,b[k+12>>1]|0)|0)>>16));j=S(c[a+(16+(c[p>>2]|0)-8<<2)>>2]>>16,b[k+14>>1]|0)|0;c[m>>2]=(c[m>>2]|0)+(j+((S(c[a+(16+(c[p>>2]|0)-8<<2)>>2]&65535,b[k+14>>1]|0)|0)>>16));j=S(c[a+(16+(c[p>>2]|0)-9<<2)>>2]>>16,b[k+16>>1]|0)|0;c[m>>2]=(c[m>>2]|0)+(j+((S(c[a+(16+(c[p>>2]|0)-9<<2)>>2]&65535,b[k+16>>1]|0)|0)>>16));j=S(c[a+(16+(c[p>>2]|0)-10<<2)>>2]>>16,b[k+18>>1]|0)|0;c[m>>2]=(c[m>>2]|0)+(j+((S(c[a+(16+(c[p>>2]|0)-10<<2)>>2]&65535,b[k+18>>1]|0)|0)>>16));if((c[(c[s>>2]|0)+2340>>2]|0)==16){j=S(c[a+(16+(c[p>>2]|0)-11<<2)>>2]>>16,b[k+20>>1]|0)|0;c[m>>2]=(c[m>>2]|0)+(j+((S(c[a+(16+(c[p>>2]|0)-11<<2)>>2]&65535,b[k+20>>1]|0)|0)>>16));j=S(c[a+(16+(c[p>>2]|0)-12<<2)>>2]>>16,b[k+22>>1]|0)|0;c[m>>2]=(c[m>>2]|0)+(j+((S(c[a+(16+(c[p>>2]|0)-12<<2)>>2]&65535,b[k+22>>1]|0)|0)>>16));j=S(c[a+(16+(c[p>>2]|0)-13<<2)>>2]>>16,b[k+24>>1]|0)|0;c[m>>2]=(c[m>>2]|0)+(j+((S(c[a+(16+(c[p>>2]|0)-13<<2)>>2]&65535,b[k+24>>1]|0)|0)>>16));j=S(c[a+(16+(c[p>>2]|0)-14<<2)>>2]>>16,b[k+26>>1]|0)|0;c[m>>2]=(c[m>>2]|0)+(j+((S(c[a+(16+(c[p>>2]|0)-14<<2)>>2]&65535,b[k+26>>1]|0)|0)>>16));j=S(c[a+(16+(c[p>>2]|0)-15<<2)>>2]>>16,b[k+28>>1]|0)|0;c[m>>2]=(c[m>>2]|0)+(j+((S(c[a+(16+(c[p>>2]|0)-15<<2)>>2]&65535,b[k+28>>1]|0)|0)>>16));j=S(c[a+(16+(c[p>>2]|0)-16<<2)>>2]>>16,b[k+30>>1]|0)|0;c[m>>2]=(c[m>>2]|0)+(j+((S(c[a+(16+(c[p>>2]|0)-16<<2)>>2]&65535,b[k+30>>1]|0)|0)>>16))}if((c[m>>2]|0)>134217727)f=134217727;else f=(c[m>>2]|0)<-134217728?-134217728:c[m>>2]|0;g=c[a+(16+(c[p>>2]|0)<<2)>>2]|0;e=(c[m>>2]|0)>134217727;if(!((c[a+(16+(c[p>>2]|0)<<2)>>2]|0)+(f<<4)&-2147483648)){if(e)e=134217727;else e=(c[m>>2]|0)<-134217728?-134217728:c[m>>2]|0;if(g&e<<4&-2147483648|0)e=-2147483648;else{if((c[m>>2]|0)>134217727)e=134217727;else e=(c[m>>2]|0)<-134217728?-134217728:c[m>>2]|0;e=(c[a+(16+(c[p>>2]|0)<<2)>>2]|0)+(e<<4)|0}}else{if(e)e=134217727;else e=(c[m>>2]|0)<-134217728?-134217728:c[m>>2]|0;if(!((g|e<<4)&-2147483648))e=2147483647;else{if((c[m>>2]|0)>134217727)e=134217727;else e=(c[m>>2]|0)<-134217728?-134217728:c[m>>2]|0;e=(c[a+(16+(c[p>>2]|0)<<2)>>2]|0)+(e<<4)|0}}c[a+(16+(c[p>>2]|0)<<2)>>2]=e;f=b[(c[n>>2]|0)+(c[p>>2]<<1)>>1]|0;j=S(c[a+(16+(c[p>>2]|0)<<2)>>2]>>16,(c[o>>2]&65535)<<16>>16)|0;j=j+((S(c[a+(16+(c[p>>2]|0)<<2)>>2]&65535,(c[o>>2]&65535)<<16>>16)|0)>>16)|0;if(((j+(S(c[a+(16+(c[p>>2]|0)<<2)>>2]|0,(c[o>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){j=S(c[a+(16+(c[p>>2]|0)<<2)>>2]>>16,(c[o>>2]&65535)<<16>>16)|0;j=j+((S(c[a+(16+(c[p>>2]|0)<<2)>>2]&65535,(c[o>>2]&65535)<<16>>16)|0)>>16)|0;if(((j+(S(c[a+(16+(c[p>>2]|0)<<2)>>2]|0,(c[o>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)e=-32768;else{e=S(c[a+(16+(c[p>>2]|0)<<2)>>2]>>16,(c[o>>2]&65535)<<16>>16)|0;e=e+((S(c[a+(16+(c[p>>2]|0)<<2)>>2]&65535,(c[o>>2]&65535)<<16>>16)|0)>>16)|0;e=(e+(S(c[a+(16+(c[p>>2]|0)<<2)>>2]|0,(c[o>>2]>>15)+1>>1)|0)>>7)+1>>1}}else e=32767;if((f+e|0)<=32767){f=b[(c[n>>2]|0)+(c[p>>2]<<1)>>1]|0;j=S(c[a+(16+(c[p>>2]|0)<<2)>>2]>>16,(c[o>>2]&65535)<<16>>16)|0;j=j+((S(c[a+(16+(c[p>>2]|0)<<2)>>2]&65535,(c[o>>2]&65535)<<16>>16)|0)>>16)|0;if(((j+(S(c[a+(16+(c[p>>2]|0)<<2)>>2]|0,(c[o>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){j=S(c[a+(16+(c[p>>2]|0)<<2)>>2]>>16,(c[o>>2]&65535)<<16>>16)|0;j=j+((S(c[a+(16+(c[p>>2]|0)<<2)>>2]&65535,(c[o>>2]&65535)<<16>>16)|0)>>16)|0;if(((j+(S(c[a+(16+(c[p>>2]|0)<<2)>>2]|0,(c[o>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)e=-32768;else{e=S(c[a+(16+(c[p>>2]|0)<<2)>>2]>>16,(c[o>>2]&65535)<<16>>16)|0;e=e+((S(c[a+(16+(c[p>>2]|0)<<2)>>2]&65535,(c[o>>2]&65535)<<16>>16)|0)>>16)|0;e=(e+(S(c[a+(16+(c[p>>2]|0)<<2)>>2]|0,(c[o>>2]>>15)+1>>1)|0)>>7)+1>>1}}else e=32767;if((f+e|0)<-32768)e=-32768;else{f=b[(c[n>>2]|0)+(c[p>>2]<<1)>>1]|0;j=S(c[a+(16+(c[p>>2]|0)<<2)>>2]>>16,(c[o>>2]&65535)<<16>>16)|0;j=j+((S(c[a+(16+(c[p>>2]|0)<<2)>>2]&65535,(c[o>>2]&65535)<<16>>16)|0)>>16)|0;if(((j+(S(c[a+(16+(c[p>>2]|0)<<2)>>2]|0,(c[o>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){j=S(c[a+(16+(c[p>>2]|0)<<2)>>2]>>16,(c[o>>2]&65535)<<16>>16)|0;j=j+((S(c[a+(16+(c[p>>2]|0)<<2)>>2]&65535,(c[o>>2]&65535)<<16>>16)|0)>>16)|0;if(((j+(S(c[a+(16+(c[p>>2]|0)<<2)>>2]|0,(c[o>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)e=-32768;else{e=S(c[a+(16+(c[p>>2]|0)<<2)>>2]>>16,(c[o>>2]&65535)<<16>>16)|0;e=e+((S(c[a+(16+(c[p>>2]|0)<<2)>>2]&65535,(c[o>>2]&65535)<<16>>16)|0)>>16)|0;e=(e+(S(c[a+(16+(c[p>>2]|0)<<2)>>2]|0,(c[o>>2]>>15)+1>>1)|0)>>7)+1>>1}}else e=32767;e=f+e|0}}else e=32767;b[(c[n>>2]|0)+(c[p>>2]<<1)>>1]=e;c[p>>2]=(c[p>>2]|0)+1}e=(c[r>>2]|0)+1312|0;f=a+(c[q>>2]<<2)|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));ka(c[t>>2]|0);l=u;return}function Ee(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+16|0;f=h+12|0;g=h+8|0;d=h+4|0;b=h;c[f>>2]=a;if((c[f>>2]|0)<=0){c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}Ge(c[f>>2]|0,d,b);if(c[d>>2]&1|0)c[g>>2]=32768;else c[g>>2]=46214;c[g>>2]=c[g>>2]>>(c[d>>2]>>1);f=S(c[g>>2]>>16,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[g>>2]=(c[g>>2]|0)+(f+((S(c[g>>2]&65535,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[e>>2]=c[g>>2];g=c[e>>2]|0;l=h;return g|0}function Fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;f=o+28|0;g=o+24|0;k=o+20|0;m=o+16|0;n=o+12|0;i=o+8|0;j=o+4|0;h=o;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[m>>2]=e;c[h>>2]=255;while(1){if((c[h>>2]|0)<=(c[k>>2]|0))break;c[h>>2]=c[h>>2]>>1}c[n>>2]=c[c[m>>2]>>2];c[i>>2]=0;while(1){a=c[n>>2]|0;if((c[i>>2]|0)>=(c[k>>2]|0))break;c[n>>2]=907633515+(S(a,196314165)|0);c[j>>2]=c[n>>2]>>24&c[h>>2];c[(c[f>>2]|0)+(c[i>>2]<<2)>>2]=c[(c[g>>2]|0)+(c[j>>2]<<2)>>2];c[i>>2]=(c[i>>2]|0)+1}c[c[m>>2]>>2]=a;l=o;return}function Ge(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=He(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];b=(Ie(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;l=e;return}function He(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(V(c[b>>2]|0)|0))|0;l=d;return b|0}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+20|0;d=j+16|0;h=j+12|0;i=j+8|0;f=j+4|0;e=j;c[d>>2]=a;c[h>>2]=b;c[i>>2]=c[d>>2];c[f>>2]=c[h>>2];c[e>>2]=0-(c[h>>2]|0);if(!(c[h>>2]|0)){c[g>>2]=c[d>>2];i=c[g>>2]|0;l=j;return i|0}a=c[i>>2]|0;if((c[h>>2]|0)<0){c[g>>2]=a<<c[e>>2]|(c[i>>2]|0)>>>(32-(c[e>>2]|0)|0);i=c[g>>2]|0;l=j;return i|0}else{c[g>>2]=a<<32-(c[f>>2]|0)|(c[i>>2]|0)>>>(c[f>>2]|0);i=c[g>>2]|0;l=j;return i|0}return 0}function Je(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=l;l=l+48|0;p=s+40|0;v=s+36|0;n=s+32|0;t=s+28|0;u=s+24|0;r=s+20|0;i=s+16|0;m=s+12|0;o=s+8|0;j=s+44|0;q=s+4|0;k=s;c[p>>2]=b;c[v>>2]=d;c[n>>2]=e;c[t>>2]=f;c[u>>2]=g;c[r>>2]=h;a[j+1>>0]=0;c[q>>2]=c[v>>2];c[i>>2]=(((c[u>>2]|0)+(c[t>>2]<<1)&65535)<<16>>16)*7;c[k>>2]=30373+(c[i>>2]|0);c[n>>2]=(c[n>>2]|0)+8>>4;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[n>>2]|0))break;c[o>>2]=c[(c[r>>2]|0)+(c[i>>2]<<2)>>2];a:do if((c[o>>2]|0)>0){a[j>>0]=a[(c[k>>2]|0)+((c[o>>2]&31|0)<6?c[o>>2]&31:6)>>0]|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=16)break a;if(a[(c[q>>2]|0)+(c[m>>2]|0)>>0]|0)wd(c[p>>2]|0,(a[(c[q>>2]|0)+(c[m>>2]|0)>>0]>>15)+1|0,j,8);c[m>>2]=(c[m>>2]|0)+1}}while(0);c[q>>2]=(c[q>>2]|0)+16;c[i>>2]=(c[i>>2]|0)+1}l=s;return}function Ke(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=l;l=l+48|0;q=t+40|0;w=t+36|0;o=t+32|0;u=t+28|0;v=t+24|0;s=t+20|0;j=t+16|0;n=t+12|0;p=t+8|0;k=t+44|0;r=t+4|0;m=t;c[q>>2]=d;c[w>>2]=e;c[o>>2]=f;c[u>>2]=g;c[v>>2]=h;c[s>>2]=i;a[k+1>>0]=0;c[r>>2]=c[w>>2];c[j>>2]=(((c[v>>2]|0)+(c[u>>2]<<1)&65535)<<16>>16)*7;c[m>>2]=30373+(c[j>>2]|0);c[o>>2]=(c[o>>2]|0)+8>>4;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break;c[p>>2]=c[(c[s>>2]|0)+(c[j>>2]<<2)>>2];a:do if((c[p>>2]|0)>0){a[k>>0]=a[(c[m>>2]|0)+((c[p>>2]&31|0)<6?c[p>>2]&31:6)>>0]|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=16)break a;if((b[(c[r>>2]|0)+(c[n>>2]<<1)>>1]|0)>0){v=((kd(c[q>>2]|0,k,8)|0)<<1)-1|0;w=(c[r>>2]|0)+(c[n>>2]<<1)|0;b[w>>1]=S(b[w>>1]|0,v)|0}c[n>>2]=(c[n>>2]|0)+1}}while(0);c[r>>2]=(c[r>>2]|0)+32;c[j>>2]=(c[j>>2]|0)+1}l=t;return}function Le(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;wk(c[d>>2]|0,0,4264)|0;c[(c[d>>2]|0)+2376>>2]=1;c[c[d>>2]>>2]=65536;a=ze()|0;c[(c[d>>2]|0)+4168>>2]=a;Ce(c[d>>2]|0);Gf(c[d>>2]|0);l=b;return 0}function Me(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+144|0;E=M+100|0;F=M+96|0;L=M+92|0;j=M+88|0;v=M+84|0;x=M+80|0;z=M+76|0;A=M+72|0;K=M+68|0;H=M+64|0;u=M+60|0;J=M+56|0;o=M+52|0;q=M+48|0;G=M+44|0;p=M+104|0;t=M+40|0;s=M+36|0;r=M+32|0;y=M+28|0;w=M+24|0;k=M+20|0;i=M+16|0;C=M+12|0;B=M+8|0;D=M+4|0;I=M;c[E>>2]=d;c[F>>2]=e;c[L>>2]=f;c[j>>2]=g;c[v>>2]=h;c[A>>2]=0;f=c[(c[E>>2]|0)+2336>>2]|0;c[I>>2]=la()|0;g=l;l=l+((1*(f<<1)|0)+15&-16)|0;f=l;l=l+((1*((c[(c[E>>2]|0)+2336>>2]|0)+(c[(c[E>>2]|0)+2328>>2]|0)<<2)|0)+15&-16)|0;m=l;l=l+((1*(c[(c[E>>2]|0)+2332>>2]<<2)|0)+15&-16)|0;n=l;l=l+((1*((c[(c[E>>2]|0)+2332>>2]|0)+16<<2)|0)+15&-16)|0;c[i>>2]=b[24736+(a[(c[E>>2]|0)+2736+29>>0]>>1<<2)+(a[(c[E>>2]|0)+2736+30>>0]<<1)>>1];if((a[(c[E>>2]|0)+2736+31>>0]|0)<4)c[u>>2]=1;else c[u>>2]=0;c[k>>2]=a[(c[E>>2]|0)+2736+34>>0];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[E>>2]|0)+2328>>2]|0))break;c[k>>2]=907633515+(S(c[k>>2]|0,196314165)|0);c[(c[E>>2]|0)+4+(c[x>>2]<<2)>>2]=b[(c[j>>2]|0)+(c[x>>2]<<1)>>1]<<14;d=(c[E>>2]|0)+4+(c[x>>2]<<2)|0;h=c[d>>2]|0;if((c[(c[E>>2]|0)+4+(c[x>>2]<<2)>>2]|0)<=0){if((h|0)<0){e=(c[E>>2]|0)+4+(c[x>>2]<<2)|0;c[e>>2]=(c[e>>2]|0)+1280}}else c[d>>2]=h-1280;e=(c[E>>2]|0)+4+(c[x>>2]<<2)|0;c[e>>2]=(c[e>>2]|0)+(c[i>>2]<<4);if((c[k>>2]|0)<0)c[(c[E>>2]|0)+4+(c[x>>2]<<2)>>2]=0-(c[(c[E>>2]|0)+4+(c[x>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+(b[(c[j>>2]|0)+(c[x>>2]<<1)>>1]|0);c[x>>2]=(c[x>>2]|0)+1}h=n;d=(c[E>>2]|0)+1284|0;e=h+64|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));c[B>>2]=(c[E>>2]|0)+4;c[G>>2]=c[L>>2];c[H>>2]=c[(c[E>>2]|0)+2336>>2];c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[(c[E>>2]|0)+2324>>2]|0))break;c[D>>2]=m;c[o>>2]=(c[F>>2]|0)+32+(c[z>>2]>>1<<5);uk(p|0,c[o>>2]|0,c[(c[E>>2]|0)+2340>>2]<<1|0)|0;c[q>>2]=(c[F>>2]|0)+96+((c[z>>2]|0)*5<<1);c[J>>2]=a[(c[E>>2]|0)+2736+29>>0];c[r>>2]=c[(c[F>>2]|0)+16+(c[z>>2]<<2)>>2]>>6;c[y>>2]=Ne(c[(c[F>>2]|0)+16+(c[z>>2]<<2)>>2]|0,47)|0;a:do if((c[(c[F>>2]|0)+16+(c[z>>2]<<2)>>2]|0)!=(c[c[E>>2]>>2]|0)){c[w>>2]=Oe(c[c[E>>2]>>2]|0,c[(c[F>>2]|0)+16+(c[z>>2]<<2)>>2]|0,16)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=16)break a;k=S(c[w>>2]>>16,(c[n+(c[x>>2]<<2)>>2]&65535)<<16>>16)|0;k=k+((S(c[w>>2]&65535,(c[n+(c[x>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;k=k+(S(c[w>>2]|0,(c[n+(c[x>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[n+(c[x>>2]<<2)>>2]=k;c[x>>2]=(c[x>>2]|0)+1}}else c[w>>2]=65536;while(0);c[c[E>>2]>>2]=c[(c[F>>2]|0)+16+(c[z>>2]<<2)>>2];if((c[(c[E>>2]|0)+4160>>2]|0?(c[(c[E>>2]|0)+4164>>2]|0)==2:0)?((c[z>>2]|0)<2?(a[(c[E>>2]|0)+2736+29>>0]|0)!=2:0):0){k=c[q>>2]|0;b[k>>1]=0;b[k+2>>1]=0;b[k+4>>1]=0;b[k+6>>1]=0;b[k+8>>1]=0;b[(c[q>>2]|0)+4>>1]=4096;c[J>>2]=2;c[(c[F>>2]|0)+(c[z>>2]<<2)>>2]=c[(c[E>>2]|0)+2308>>2]}b:do if((c[J>>2]|0)==2){c[A>>2]=c[(c[F>>2]|0)+(c[z>>2]<<2)>>2];if(c[z>>2]|0?!((c[z>>2]|0)==2&(c[u>>2]|0)!=0):0){if((c[w>>2]|0)==65536)break;c[x>>2]=0;while(1){if((c[x>>2]|0)>=((c[A>>2]|0)+2|0))break b;k=S(c[w>>2]>>16,(c[f+((c[H>>2]|0)-(c[x>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0;k=k+((S(c[w>>2]&65535,(c[f+((c[H>>2]|0)-(c[x>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0)>>16)|0;k=k+(S(c[w>>2]|0,(c[f+((c[H>>2]|0)-(c[x>>2]|0)-1<<2)>>2]>>15)+1>>1)|0)|0;c[f+((c[H>>2]|0)-(c[x>>2]|0)-1<<2)>>2]=k;c[x>>2]=(c[x>>2]|0)+1}}c[K>>2]=(c[(c[E>>2]|0)+2336>>2]|0)-(c[A>>2]|0)-(c[(c[E>>2]|0)+2340>>2]|0)-2;if((c[z>>2]|0)==2)uk((c[E>>2]|0)+1348+(c[(c[E>>2]|0)+2336>>2]<<1)|0,c[L>>2]|0,c[(c[E>>2]|0)+2332>>2]<<1<<1|0)|0;k=(c[E>>2]|0)+1348+((c[K>>2]|0)+(S(c[z>>2]|0,c[(c[E>>2]|0)+2332>>2]|0)|0)<<1)|0;$g(g+(c[K>>2]<<1)|0,k,c[o>>2]|0,(c[(c[E>>2]|0)+2336>>2]|0)-(c[K>>2]|0)|0,c[(c[E>>2]|0)+2340>>2]|0,c[v>>2]|0);if(!(c[z>>2]|0)){k=S(c[y>>2]>>16,(c[(c[F>>2]|0)+136>>2]&65535)<<16>>16)|0;c[y>>2]=k+((S(c[y>>2]&65535,(c[(c[F>>2]|0)+136>>2]&65535)<<16>>16)|0)>>16)<<2}c[x>>2]=0;while(1){if((c[x>>2]|0)>=((c[A>>2]|0)+2|0))break b;k=S(c[y>>2]>>16,b[g+((c[(c[E>>2]|0)+2336>>2]|0)-(c[x>>2]|0)-1<<1)>>1]|0)|0;k=k+((S(c[y>>2]&65535,b[g+((c[(c[E>>2]|0)+2336>>2]|0)-(c[x>>2]|0)-1<<1)>>1]|0)|0)>>16)|0;c[f+((c[H>>2]|0)-(c[x>>2]|0)-1<<2)>>2]=k;c[x>>2]=(c[x>>2]|0)+1}}while(0);c:do if((c[J>>2]|0)==2){c[C>>2]=f+((c[H>>2]|0)-(c[A>>2]|0)+2<<2);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[E>>2]|0)+2332>>2]|0))break c;c[t>>2]=2;k=S(c[c[C>>2]>>2]>>16,b[c[q>>2]>>1]|0)|0;c[t>>2]=(c[t>>2]|0)+(k+((S(c[c[C>>2]>>2]&65535,b[c[q>>2]>>1]|0)|0)>>16));k=S(c[(c[C>>2]|0)+-4>>2]>>16,b[(c[q>>2]|0)+2>>1]|0)|0;c[t>>2]=(c[t>>2]|0)+(k+((S(c[(c[C>>2]|0)+-4>>2]&65535,b[(c[q>>2]|0)+2>>1]|0)|0)>>16));k=S(c[(c[C>>2]|0)+-8>>2]>>16,b[(c[q>>2]|0)+4>>1]|0)|0;c[t>>2]=(c[t>>2]|0)+(k+((S(c[(c[C>>2]|0)+-8>>2]&65535,b[(c[q>>2]|0)+4>>1]|0)|0)>>16));k=S(c[(c[C>>2]|0)+-12>>2]>>16,b[(c[q>>2]|0)+6>>1]|0)|0;c[t>>2]=(c[t>>2]|0)+(k+((S(c[(c[C>>2]|0)+-12>>2]&65535,b[(c[q>>2]|0)+6>>1]|0)|0)>>16));k=S(c[(c[C>>2]|0)+-16>>2]>>16,b[(c[q>>2]|0)+8>>1]|0)|0;c[t>>2]=(c[t>>2]|0)+(k+((S(c[(c[C>>2]|0)+-16>>2]&65535,b[(c[q>>2]|0)+8>>1]|0)|0)>>16));c[C>>2]=(c[C>>2]|0)+4;c[(c[D>>2]|0)+(c[x>>2]<<2)>>2]=(c[(c[B>>2]|0)+(c[x>>2]<<2)>>2]|0)+(c[t>>2]<<1);c[f+(c[H>>2]<<2)>>2]=c[(c[D>>2]|0)+(c[x>>2]<<2)>>2]<<1;c[H>>2]=(c[H>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+1}}else c[D>>2]=c[B>>2];while(0);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[E>>2]|0)+2332>>2]|0))break;c[s>>2]=c[(c[E>>2]|0)+2340>>2]>>1;k=S(c[n+(16+(c[x>>2]|0)-1<<2)>>2]>>16,b[p>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((S(c[n+(16+(c[x>>2]|0)-1<<2)>>2]&65535,b[p>>1]|0)|0)>>16));k=S(c[n+(16+(c[x>>2]|0)-2<<2)>>2]>>16,b[p+2>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((S(c[n+(16+(c[x>>2]|0)-2<<2)>>2]&65535,b[p+2>>1]|0)|0)>>16));k=S(c[n+(16+(c[x>>2]|0)-3<<2)>>2]>>16,b[p+4>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((S(c[n+(16+(c[x>>2]|0)-3<<2)>>2]&65535,b[p+4>>1]|0)|0)>>16));k=S(c[n+(16+(c[x>>2]|0)-4<<2)>>2]>>16,b[p+6>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((S(c[n+(16+(c[x>>2]|0)-4<<2)>>2]&65535,b[p+6>>1]|0)|0)>>16));k=S(c[n+(16+(c[x>>2]|0)-5<<2)>>2]>>16,b[p+8>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((S(c[n+(16+(c[x>>2]|0)-5<<2)>>2]&65535,b[p+8>>1]|0)|0)>>16));k=S(c[n+(16+(c[x>>2]|0)-6<<2)>>2]>>16,b[p+10>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((S(c[n+(16+(c[x>>2]|0)-6<<2)>>2]&65535,b[p+10>>1]|0)|0)>>16));k=S(c[n+(16+(c[x>>2]|0)-7<<2)>>2]>>16,b[p+12>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((S(c[n+(16+(c[x>>2]|0)-7<<2)>>2]&65535,b[p+12>>1]|0)|0)>>16));k=S(c[n+(16+(c[x>>2]|0)-8<<2)>>2]>>16,b[p+14>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((S(c[n+(16+(c[x>>2]|0)-8<<2)>>2]&65535,b[p+14>>1]|0)|0)>>16));k=S(c[n+(16+(c[x>>2]|0)-9<<2)>>2]>>16,b[p+16>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((S(c[n+(16+(c[x>>2]|0)-9<<2)>>2]&65535,b[p+16>>1]|0)|0)>>16));k=S(c[n+(16+(c[x>>2]|0)-10<<2)>>2]>>16,b[p+18>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((S(c[n+(16+(c[x>>2]|0)-10<<2)>>2]&65535,b[p+18>>1]|0)|0)>>16));if((c[(c[E>>2]|0)+2340>>2]|0)==16){k=S(c[n+(16+(c[x>>2]|0)-11<<2)>>2]>>16,b[p+20>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((S(c[n+(16+(c[x>>2]|0)-11<<2)>>2]&65535,b[p+20>>1]|0)|0)>>16));k=S(c[n+(16+(c[x>>2]|0)-12<<2)>>2]>>16,b[p+22>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((S(c[n+(16+(c[x>>2]|0)-12<<2)>>2]&65535,b[p+22>>1]|0)|0)>>16));k=S(c[n+(16+(c[x>>2]|0)-13<<2)>>2]>>16,b[p+24>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((S(c[n+(16+(c[x>>2]|0)-13<<2)>>2]&65535,b[p+24>>1]|0)|0)>>16));k=S(c[n+(16+(c[x>>2]|0)-14<<2)>>2]>>16,b[p+26>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((S(c[n+(16+(c[x>>2]|0)-14<<2)>>2]&65535,b[p+26>>1]|0)|0)>>16));k=S(c[n+(16+(c[x>>2]|0)-15<<2)>>2]>>16,b[p+28>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((S(c[n+(16+(c[x>>2]|0)-15<<2)>>2]&65535,b[p+28>>1]|0)|0)>>16));k=S(c[n+(16+(c[x>>2]|0)-16<<2)>>2]>>16,b[p+30>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((S(c[n+(16+(c[x>>2]|0)-16<<2)>>2]&65535,b[p+30>>1]|0)|0)>>16))}if((c[s>>2]|0)>134217727)d=134217727;else d=(c[s>>2]|0)<-134217728?-134217728:c[s>>2]|0;e=c[(c[D>>2]|0)+(c[x>>2]<<2)>>2]|0;h=(c[s>>2]|0)>134217727;if(!((c[(c[D>>2]|0)+(c[x>>2]<<2)>>2]|0)+(d<<4)&-2147483648)){if(h)h=134217727;else h=(c[s>>2]|0)<-134217728?-134217728:c[s>>2]|0;if(e&h<<4&-2147483648|0)h=-2147483648;else{if((c[s>>2]|0)>134217727)h=134217727;else h=(c[s>>2]|0)<-134217728?-134217728:c[s>>2]|0;h=(c[(c[D>>2]|0)+(c[x>>2]<<2)>>2]|0)+(h<<4)|0}}else{if(h)h=134217727;else h=(c[s>>2]|0)<-134217728?-134217728:c[s>>2]|0;if(!((e|h<<4)&-2147483648))h=2147483647;else{if((c[s>>2]|0)>134217727)h=134217727;else h=(c[s>>2]|0)<-134217728?-134217728:c[s>>2]|0;h=(c[(c[D>>2]|0)+(c[x>>2]<<2)>>2]|0)+(h<<4)|0}}c[n+(16+(c[x>>2]|0)<<2)>>2]=h;k=S(c[n+(16+(c[x>>2]|0)<<2)>>2]>>16,(c[r>>2]&65535)<<16>>16)|0;k=k+((S(c[n+(16+(c[x>>2]|0)<<2)>>2]&65535,(c[r>>2]&65535)<<16>>16)|0)>>16)|0;if(((k+(S(c[n+(16+(c[x>>2]|0)<<2)>>2]|0,(c[r>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){k=S(c[n+(16+(c[x>>2]|0)<<2)>>2]>>16,(c[r>>2]&65535)<<16>>16)|0;k=k+((S(c[n+(16+(c[x>>2]|0)<<2)>>2]&65535,(c[r>>2]&65535)<<16>>16)|0)>>16)|0;if(((k+(S(c[n+(16+(c[x>>2]|0)<<2)>>2]|0,(c[r>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)h=-32768;else{h=S(c[n+(16+(c[x>>2]|0)<<2)>>2]>>16,(c[r>>2]&65535)<<16>>16)|0;h=h+((S(c[n+(16+(c[x>>2]|0)<<2)>>2]&65535,(c[r>>2]&65535)<<16>>16)|0)>>16)|0;h=(h+(S(c[n+(16+(c[x>>2]|0)<<2)>>2]|0,(c[r>>2]>>15)+1>>1)|0)>>7)+1>>1}}else h=32767;b[(c[G>>2]|0)+(c[x>>2]<<1)>>1]=h;c[x>>2]=(c[x>>2]|0)+1}h=n;d=n+(c[(c[E>>2]|0)+2332>>2]<<2)|0;e=h+64|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));c[B>>2]=(c[B>>2]|0)+(c[(c[E>>2]|0)+2332>>2]<<2);c[G>>2]=(c[G>>2]|0)+(c[(c[E>>2]|0)+2332>>2]<<1);c[z>>2]=(c[z>>2]|0)+1}h=(c[E>>2]|0)+1284|0;d=n;e=h+64|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));ka(c[I>>2]|0);l=M;return}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+48|0;g=h+32|0;n=h+28|0;d=h+24|0;i=h+20|0;f=h+16|0;j=h+12|0;m=h+8|0;k=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;b=c[n>>2]|0;c[i>>2]=(Pe((c[n>>2]|0)>0?b:0-b|0)|0)-1;c[m>>2]=c[n>>2]<<c[i>>2];c[j>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[j>>2]<<16;b=S(c[m>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;c[k>>2]=536870912-(b+((S(c[m>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))<<3;b=S(c[k>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;b=(c[e>>2]|0)+(b+((S(c[k>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=b+(S(c[k>>2]|0,(c[j>>2]>>15)+1>>1)|0);c[f>>2]=61-(c[i>>2]|0)-(c[d>>2]|0);b=c[f>>2]|0;if((c[f>>2]|0)>0)if((b|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];n=c[g>>2]|0;l=h;return n|0}else{c[g>>2]=0;n=c[g>>2]|0;l=h;return n|0}a=c[e>>2]|0;d=0-(c[f>>2]|0)|0;do if((-2147483648>>0-b|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>d|0)){b=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){b=2147483647>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>d|0)){b=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){b=-2147483648>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}while(0);c[g>>2]=b<<0-(c[f>>2]|0);n=c[g>>2]|0;l=h;return n|0}function Oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;h=l;l=l+48|0;g=h+40|0;q=h+36|0;p=h+32|0;i=h+28|0;k=h+24|0;j=h+20|0;f=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;e=h;c[q>>2]=a;c[p>>2]=b;c[i>>2]=d;b=c[q>>2]|0;c[k>>2]=(Pe((c[q>>2]|0)>0?b:0-b|0)|0)-1;c[n>>2]=c[q>>2]<<c[k>>2];b=c[p>>2]|0;c[j>>2]=(Pe((c[p>>2]|0)>0?b:0-b|0)|0)-1;c[o>>2]=c[p>>2]<<c[j>>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;b=S(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=b+((S(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);b=c[n>>2]|0;a=c[o>>2]|0;d=c[e>>2]|0;d=rk(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=sk(d|0,D|0,32)|0;c[n>>2]=b-(d<<3);d=S(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(d+((S(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[f>>2]=29+(c[k>>2]|0)-(c[j>>2]|0)-(c[i>>2]|0);d=c[f>>2]|0;if((c[f>>2]|0)>=0)if((d|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];q=c[g>>2]|0;l=h;return q|0}else{c[g>>2]=0;q=c[g>>2]|0;l=h;return q|0}a=c[e>>2]|0;b=0-(c[f>>2]|0)|0;do if((-2147483648>>0-d|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>b|0)){d=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){d=2147483647>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>b|0)){d=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){d=-2147483648>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}while(0);c[g>>2]=d<<0-(c[f>>2]|0);q=c[g>>2]|0;l=h;return q|0}function Pe(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(V(c[b>>2]|0)|0))|0;l=d;return b|0}function Qe(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+192|0;r=x+180|0;t=x+176|0;q=x+172|0;p=x+168|0;n=x+164|0;m=x+160|0;k=x+156|0;j=x+152|0;o=x+148|0;u=x+144|0;s=x+4|0;v=x;c[r>>2]=b;c[t>>2]=d;c[q>>2]=e;c[p>>2]=f;c[n>>2]=g;c[m>>2]=h;c[k>>2]=i;c[u>>2]=0;c[j>>2]=c[(c[r>>2]|0)+2328>>2];c[s+136>>2]=0;do if(!(c[n>>2]|0))w=4;else{if((c[n>>2]|0)==2?(c[(c[r>>2]|0)+2420+(c[(c[r>>2]|0)+2388>>2]<<2)>>2]|0)==1:0){w=4;break}a[(c[r>>2]|0)+2736+29>>0]=c[(c[r>>2]|0)+4164>>2];Hf(c[r>>2]|0,s,c[q>>2]|0,1,c[k>>2]|0)}while(0);if((w|0)==4){d=(c[j>>2]|0)+16-1&-16;c[v>>2]=la()|0;w=l;l=l+((1*(d<<1)|0)+15&-16)|0;Se(c[r>>2]|0,c[t>>2]|0,c[(c[r>>2]|0)+2388>>2]|0,c[n>>2]|0,c[m>>2]|0);Te(c[t>>2]|0,w,a[(c[r>>2]|0)+2736+29>>0]|0,a[(c[r>>2]|0)+2736+30>>0]|0,c[(c[r>>2]|0)+2328>>2]|0);Re(c[r>>2]|0,s,c[m>>2]|0);Me(c[r>>2]|0,s,c[q>>2]|0,w,c[k>>2]|0);Hf(c[r>>2]|0,s,c[q>>2]|0,0,c[k>>2]|0);c[(c[r>>2]|0)+4160>>2]=0;c[(c[r>>2]|0)+4164>>2]=a[(c[r>>2]|0)+2736+29>>0];c[(c[r>>2]|0)+2376>>2]=0;ka(c[v>>2]|0)}c[o>>2]=(c[(c[r>>2]|0)+2336>>2]|0)-(c[(c[r>>2]|0)+2328>>2]|0);vk((c[r>>2]|0)+1348|0,(c[r>>2]|0)+1348+(c[(c[r>>2]|0)+2328>>2]<<1)|0,c[o>>2]<<1|0)|0;uk((c[r>>2]|0)+1348+(c[o>>2]<<1)|0,c[q>>2]|0,c[(c[r>>2]|0)+2328>>2]<<1|0)|0;De(c[r>>2]|0,s,c[q>>2]|0,c[j>>2]|0);Sf(c[r>>2]|0,c[q>>2]|0,c[j>>2]|0);c[(c[r>>2]|0)+2308>>2]=c[s+((c[(c[r>>2]|0)+2324>>2]|0)-1<<2)>>2];c[c[p>>2]>>2]=c[j>>2];l=x;return c[u>>2]|0}function Re(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+96|0;n=p+24|0;o=p+20|0;q=p+16|0;k=p+12|0;m=p+8|0;i=p+4|0;h=p+64|0;g=p+32|0;j=p;c[n>>2]=d;c[o>>2]=e;c[q>>2]=f;hf((c[o>>2]|0)+16|0,(c[n>>2]|0)+2736|0,(c[n>>2]|0)+2312|0,(c[q>>2]|0)==2&1,c[(c[n>>2]|0)+2324>>2]|0);of(h,(c[n>>2]|0)+2736+8|0,c[(c[n>>2]|0)+2732>>2]|0);eh((c[o>>2]|0)+32+32|0,h,c[(c[n>>2]|0)+2340>>2]|0,c[(c[n>>2]|0)+4168>>2]|0);if((c[(c[n>>2]|0)+2376>>2]|0)==1)a[(c[n>>2]|0)+2736+31>>0]=4;if((a[(c[n>>2]|0)+2736+31>>0]|0)<4){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[n>>2]|0)+2340>>2]|0))break;q=(b[(c[n>>2]|0)+2344+(c[k>>2]<<1)>>1]|0)+((S(a[(c[n>>2]|0)+2736+31>>0]|0,(b[h+(c[k>>2]<<1)>>1]|0)-(b[(c[n>>2]|0)+2344+(c[k>>2]<<1)>>1]|0)|0)|0)>>2)&65535;b[g+(c[k>>2]<<1)>>1]=q;c[k>>2]=(c[k>>2]|0)+1}eh((c[o>>2]|0)+32|0,g,c[(c[n>>2]|0)+2340>>2]|0,c[(c[n>>2]|0)+4168>>2]|0)}else uk((c[o>>2]|0)+32|0,(c[o>>2]|0)+32+32|0,c[(c[n>>2]|0)+2340>>2]<<1|0)|0;uk((c[n>>2]|0)+2344|0,h|0,c[(c[n>>2]|0)+2340>>2]<<1|0)|0;if(c[(c[n>>2]|0)+4160>>2]|0){Tg((c[o>>2]|0)+32|0,c[(c[n>>2]|0)+2340>>2]|0,63570);Tg((c[o>>2]|0)+32+32|0,c[(c[n>>2]|0)+2340>>2]|0,63570)}if((a[(c[n>>2]|0)+2736+29>>0]|0)!=2){wk(c[o>>2]|0,0,c[(c[n>>2]|0)+2324>>2]<<2|0)|0;wk((c[o>>2]|0)+96|0,0,(c[(c[n>>2]|0)+2324>>2]|0)*5<<1|0)|0;a[(c[n>>2]|0)+2736+32>>0]=0;n=0;q=c[o>>2]|0;q=q+136|0;c[q>>2]=n;l=p;return}Ug(b[(c[n>>2]|0)+2736+26>>1]|0,a[(c[n>>2]|0)+2736+28>>0]|0,c[o>>2]|0,c[(c[n>>2]|0)+2316>>2]|0,c[(c[n>>2]|0)+2324>>2]|0);c[j>>2]=c[17644+(a[(c[n>>2]|0)+2736+32>>0]<<2)>>2];c[m>>2]=0;while(1){f=(c[n>>2]|0)+2736|0;if((c[m>>2]|0)>=(c[(c[n>>2]|0)+2324>>2]|0))break;c[i>>2]=a[f+4+(c[m>>2]|0)>>0];c[k>>2]=0;while(1){if((c[k>>2]|0)>=5)break;b[(c[o>>2]|0)+96+(((c[m>>2]|0)*5|0)+(c[k>>2]|0)<<1)>>1]=a[(c[j>>2]|0)+(((c[i>>2]|0)*5|0)+(c[k>>2]|0))>>0]<<7;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}c[i>>2]=a[f+33>>0];n=b[24744+(c[i>>2]<<1)>>1]|0;q=c[o>>2]|0;q=q+136|0;c[q>>2]=n;l=p;return}function Se(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=l;l=l+96|0;r=t+36|0;s=t+32|0;u=t+28|0;v=t+24|0;n=t+20|0;k=t+16|0;q=t+12|0;i=t+8|0;o=t+4|0;p=t;j=t+40|0;m=t+72|0;c[r>>2]=d;c[s>>2]=e;c[u>>2]=f;c[v>>2]=g;c[n>>2]=h;if(!(c[v>>2]|0)?!(c[(c[r>>2]|0)+2404+(c[u>>2]<<2)>>2]|0):0)c[i>>2]=kd(c[s>>2]|0,29213,8)|0;else c[i>>2]=(kd(c[s>>2]|0,29209,8)|0)+2;a[(c[r>>2]|0)+2736+29>>0]=c[i>>2]>>1;a[(c[r>>2]|0)+2736+30>>0]=c[i>>2]&1;f=c[s>>2]|0;if((c[n>>2]|0)==2){v=(kd(f,26960,8)|0)&255;a[(c[r>>2]|0)+2736>>0]=v}else{u=(kd(f,26936+(a[(c[r>>2]|0)+2736+29>>0]<<3)|0,8)|0)<<3&255;a[(c[r>>2]|0)+2736>>0]=u;u=((kd(c[s>>2]|0,29238,8)|0)&255)<<24>>24;v=(c[r>>2]|0)+2736|0;a[v>>0]=(a[v>>0]|0)+u}c[k>>2]=1;while(1){f=c[s>>2]|0;if((c[k>>2]|0)>=(c[(c[r>>2]|0)+2324>>2]|0))break;v=(kd(f,26960,8)|0)&255;a[(c[r>>2]|0)+2736+(c[k>>2]|0)>>0]=v;c[k>>2]=(c[k>>2]|0)+1}v=(kd(f,(c[(c[(c[r>>2]|0)+2732>>2]|0)+16>>2]|0)+(S(a[(c[r>>2]|0)+2736+29>>0]>>1,b[c[(c[r>>2]|0)+2732>>2]>>1]|0)|0)|0,8)|0)&255;a[(c[r>>2]|0)+2736+8>>0]=v;rg(j,m,c[(c[r>>2]|0)+2732>>2]|0,a[(c[r>>2]|0)+2736+8>>0]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[(c[r>>2]|0)+2732>>2]|0)+2>>1]|0))break;c[i>>2]=kd(c[s>>2]|0,(c[(c[(c[r>>2]|0)+2732>>2]|0)+28>>2]|0)+(b[j+(c[k>>2]<<1)>>1]|0)|0,8)|0;if(c[i>>2]|0){if((c[i>>2]|0)==8){v=kd(c[s>>2]|0,29246,8)|0;c[i>>2]=(c[i>>2]|0)+v}}else{v=kd(c[s>>2]|0,29246,8)|0;c[i>>2]=(c[i>>2]|0)-v}a[(c[r>>2]|0)+2736+8+((c[k>>2]|0)+1)>>0]=(c[i>>2]|0)-4;c[k>>2]=(c[k>>2]|0)+1}if((c[(c[r>>2]|0)+2324>>2]|0)==4){f=(kd(c[s>>2]|0,29215,8)|0)&255;h=c[r>>2]|0}else{f=4;h=c[r>>2]|0}a[h+2736+31>>0]=f;if((a[(c[r>>2]|0)+2736+29>>0]|0)!=2){v=c[r>>2]|0;v=v+2736|0;v=v+29|0;v=a[v>>0]|0;v=v<<24>>24;u=c[r>>2]|0;u=u+2396|0;c[u>>2]=v;u=c[s>>2]|0;u=kd(u,29223,8)|0;u=u&255;v=c[r>>2]|0;v=v+2736|0;v=v+34|0;a[v>>0]=u;l=t;return}c[o>>2]=1;if(((c[n>>2]|0)==2?(c[(c[r>>2]|0)+2396>>2]|0)==2:0)?(c[p>>2]=((kd(c[s>>2]|0,29285,8)|0)&65535)<<16>>16,(c[p>>2]|0)>0):0){c[p>>2]=(c[p>>2]|0)-9;b[(c[r>>2]|0)+2736+26>>1]=(b[(c[r>>2]|0)+2400>>1]|0)+(c[p>>2]|0);c[o>>2]=0}if(c[o>>2]|0){u=((kd(c[s>>2]|0,29253,8)|0)&65535)<<16>>16;u=(S(u,c[(c[r>>2]|0)+2316>>2]>>1)|0)&65535;b[(c[r>>2]|0)+2736+26>>1]=u;u=((kd(c[s>>2]|0,c[(c[r>>2]|0)+2380>>2]|0,8)|0)&65535)<<16>>16;v=(c[r>>2]|0)+2736+26|0;b[v>>1]=(b[v>>1]|0)+u}b[(c[r>>2]|0)+2400>>1]=b[(c[r>>2]|0)+2736+26>>1]|0;v=(kd(c[s>>2]|0,c[(c[r>>2]|0)+2384>>2]|0,8)|0)&255;a[(c[r>>2]|0)+2736+28>>0]=v;v=(kd(c[s>>2]|0,27001,8)|0)&255;a[(c[r>>2]|0)+2736+32>>0]=v;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[r>>2]|0)+2324>>2]|0))break;v=(kd(c[s>>2]|0,c[17620+(a[(c[r>>2]|0)+2736+32>>0]<<2)>>2]|0,8)|0)&255;a[(c[r>>2]|0)+2736+4+(c[q>>2]|0)>>0]=v;c[q>>2]=(c[q>>2]|0)+1}if(!(c[n>>2]|0)){f=(kd(c[s>>2]|0,29206,8)|0)&255;h=c[r>>2]|0}else{f=0;h=c[r>>2]|0}a[h+2736+33>>0]=f;v=c[r>>2]|0;v=v+2736|0;v=v+29|0;v=a[v>>0]|0;v=v<<24>>24;u=c[r>>2]|0;u=u+2396|0;c[u>>2]=v;u=c[s>>2]|0;u=kd(u,29223,8)|0;u=u&255;v=c[r>>2]|0;v=v+2736|0;v=v+34|0;a[v>>0]=u;l=t;return}function Te(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+224|0;s=y+212|0;t=y+208|0;w=y+204|0;v=y+200|0;k=y+196|0;m=y+192|0;o=y+188|0;p=y+184|0;n=y+180|0;j=y+176|0;q=y+172|0;h=y+168|0;x=y+88|0;r=y+8|0;u=y+4|0;i=y;c[s>>2]=a;c[t>>2]=d;c[w>>2]=e;c[v>>2]=f;c[k>>2]=g;c[h>>2]=kd(c[s>>2]|0,29712+((c[w>>2]>>1)*9|0)|0,8)|0;c[n>>2]=c[k>>2]>>4;if((c[n>>2]<<4|0)<(c[k>>2]|0))c[n>>2]=(c[n>>2]|0)+1;c[i>>2]=29370+((c[h>>2]|0)*18|0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[r+(c[m>>2]<<2)>>2]=0;g=kd(c[s>>2]|0,c[i>>2]|0,8)|0;h=c[m>>2]|0;while(1){c[x+(h<<2)>>2]=g;h=c[m>>2]|0;if((c[x+(c[m>>2]<<2)>>2]|0)!=17)break;g=r+(h<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=kd(c[s>>2]|0,29532+((c[r+(c[m>>2]<<2)>>2]|0)==10&1)|0,8)|0;h=c[m>>2]|0}c[m>>2]=h+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;h=(c[t>>2]|0)+((c[m>>2]&65535)<<16>>16<<4<<1)|0;if((c[x+(c[m>>2]<<2)>>2]|0)>0)Zf(h,c[s>>2]|0,c[x+(c[m>>2]<<2)>>2]|0);else{g=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(g|0))}c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;if((c[r+(c[m>>2]<<2)>>2]|0)>0){c[q>>2]=c[r+(c[m>>2]<<2)>>2];c[u>>2]=(c[t>>2]|0)+((c[m>>2]&65535)<<16>>16<<4<<1);c[p>>2]=0;while(1){if((c[p>>2]|0)>=16)break;c[j>>2]=b[(c[u>>2]|0)+(c[p>>2]<<1)>>1];c[o>>2]=0;while(1){h=c[j>>2]|0;if((c[o>>2]|0)>=(c[q>>2]|0))break;c[j>>2]=h<<1;i=kd(c[s>>2]|0,29204,8)|0;c[j>>2]=(c[j>>2]|0)+i;c[o>>2]=(c[o>>2]|0)+1}b[(c[u>>2]|0)+(c[p>>2]<<1)>>1]=h;c[p>>2]=(c[p>>2]|0)+1}i=x+(c[m>>2]<<2)|0;c[i>>2]=c[i>>2]|c[q>>2]<<5}c[m>>2]=(c[m>>2]|0)+1}Ke(c[s>>2]|0,c[t>>2]|0,c[k>>2]|0,c[w>>2]|0,c[v>>2]|0,x);l=y;return}function Ue(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;j=m+16|0;i=m+12|0;f=m+8|0;h=m+4|0;k=m;c[j>>2]=b;c[i>>2]=d;c[f>>2]=e;c[k>>2]=0;c[(c[j>>2]|0)+2332>>2]=((c[i>>2]&65535)<<16>>16)*5;c[h>>2]=S((c[(c[j>>2]|0)+2324>>2]&65535)<<16>>16,(c[(c[j>>2]|0)+2332>>2]&65535)<<16>>16)|0;if(!((c[(c[j>>2]|0)+2316>>2]|0)==(c[i>>2]|0)?(c[(c[j>>2]|0)+2320>>2]|0)==(c[f>>2]|0):0)){b=mh((c[j>>2]|0)+2432|0,((c[i>>2]&65535)<<16>>16)*1e3|0,c[f>>2]|0,0)|0;c[k>>2]=(c[k>>2]|0)+b;c[(c[j>>2]|0)+2320>>2]=c[f>>2]}if((c[(c[j>>2]|0)+2316>>2]|0)==(c[i>>2]|0)?(c[h>>2]|0)==(c[(c[j>>2]|0)+2328>>2]|0):0){k=c[k>>2]|0;l=m;return k|0}b=(c[(c[j>>2]|0)+2324>>2]|0)==4;c[(c[j>>2]|0)+2384>>2]=(c[i>>2]|0)==8?(b?29340:29363):b?29306:29351;if((c[(c[j>>2]|0)+2316>>2]|0)!=(c[i>>2]|0)){c[(c[j>>2]|0)+2336>>2]=((c[i>>2]&65535)<<16>>16)*20;e=(c[j>>2]|0)+2340|0;if((c[i>>2]|0)==8|(c[i>>2]|0)==12){c[e>>2]=10;e=c[j>>2]|0;f=17668}else{c[e>>2]=16;e=c[j>>2]|0;f=17708}c[e+2732>>2]=f;do if((c[i>>2]|0)!=16){if((c[i>>2]|0)==12){e=29232;f=c[j>>2]|0;g=16;break}if((c[i>>2]|0)==8){e=29223;f=c[j>>2]|0;g=16}}else{e=29238;f=c[j>>2]|0;g=16}while(0);if((g|0)==16)c[f+2380>>2]=e;c[(c[j>>2]|0)+2376>>2]=1;c[(c[j>>2]|0)+2308>>2]=100;a[(c[j>>2]|0)+2312>>0]=10;c[(c[j>>2]|0)+4164>>2]=0;wk((c[j>>2]|0)+1348|0,0,960)|0;e=(c[j>>2]|0)+1284|0;f=e+64|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0))}c[(c[j>>2]|0)+2316>>2]=c[i>>2];c[(c[j>>2]|0)+2328>>2]=c[h>>2];k=c[k>>2]|0;l=m;return k|0}function Ve(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;c[c[e>>2]>>2]=8552;l=d;return c[b>>2]|0}function We(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+12|0;e=g+8|0;f=g+4|0;b=g;c[d>>2]=a;c[f>>2]=0;c[b>>2]=c[d>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=2)break;c[f>>2]=Le((c[b>>2]|0)+((c[e>>2]|0)*4264|0)|0)|0;c[e>>2]=(c[e>>2]|0)+1}e=(c[d>>2]|0)+8528|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[(c[d>>2]|0)+8548>>2]=0;l=g;return c[f>>2]|0}function Xe(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;P=l;l=l+784|0;N=P+128|0;R=P+124|0;H=P+120|0;K=P+116|0;Q=P+112|0;w=P+108|0;E=P+104|0;B=P+100|0;t=P+96|0;J=P+92|0;A=P+88|0;I=P+84|0;M=P+80|0;C=P+76|0;n=P+72|0;F=P+64|0;s=P+56|0;D=P+52|0;L=P+48|0;x=P+44|0;v=P+40|0;G=P+36|0;y=P+32|0;m=P+28|0;p=P+136|0;o=P+24|0;O=P+20|0;r=P+16|0;u=P+12|0;z=P;c[R>>2]=d;c[H>>2]=e;c[K>>2]=f;c[Q>>2]=g;c[w>>2]=h;c[E>>2]=i;c[B>>2]=j;c[t>>2]=k;c[I>>2]=0;c[M>>2]=0;c[s>>2]=0;c[s+4>>2]=0;c[L>>2]=c[R>>2];c[x>>2]=c[L>>2];a:do if(c[Q>>2]|0){c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[(c[H>>2]|0)+4>>2]|0))break a;c[(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2388>>2]=0;c[A>>2]=(c[A>>2]|0)+1}}while(0);if((c[(c[H>>2]|0)+4>>2]|0)>(c[(c[L>>2]|0)+8544>>2]|0)){R=Le((c[x>>2]|0)+4264|0)|0;c[M>>2]=(c[M>>2]|0)+R}if((c[(c[H>>2]|0)+4>>2]|0)==1?(c[(c[L>>2]|0)+8544>>2]|0)==2:0)k=(c[(c[H>>2]|0)+12>>2]|0)==((c[(c[x>>2]|0)+2316>>2]|0)*1e3|0);else k=0;c[G>>2]=k&1;b:do if(!(c[(c[x>>2]|0)+2388>>2]|0)){c[A>>2]=0;c:while(1){if((c[A>>2]|0)>=(c[(c[H>>2]|0)+4>>2]|0))break b;do if(!(c[(c[H>>2]|0)+16>>2]|0)){c[(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2392>>2]=1;k=2;e=(c[x>>2]|0)+((c[A>>2]|0)*4264|0)|0}else{if((c[(c[H>>2]|0)+16>>2]|0)==10){c[(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2392>>2]=1;k=2;e=(c[x>>2]|0)+((c[A>>2]|0)*4264|0)|0;break}if((c[(c[H>>2]|0)+16>>2]|0)==20){c[(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2392>>2]=1;k=4;e=(c[x>>2]|0)+((c[A>>2]|0)*4264|0)|0;break}if((c[(c[H>>2]|0)+16>>2]|0)==40){c[(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2392>>2]=2;k=4;e=(c[x>>2]|0)+((c[A>>2]|0)*4264|0)|0;break}if((c[(c[H>>2]|0)+16>>2]|0)!=60){q=23;break c}c[(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2392>>2]=3;k=4;e=(c[x>>2]|0)+((c[A>>2]|0)*4264|0)|0}while(0);c[e+2324>>2]=k;c[m>>2]=(c[(c[H>>2]|0)+12>>2]>>10)+1;if((c[m>>2]|0)!=8&(c[m>>2]|0)!=12&(c[m>>2]|0)!=16){q=25;break}R=Ue((c[x>>2]|0)+((c[A>>2]|0)*4264|0)|0,c[m>>2]|0,c[(c[H>>2]|0)+8>>2]|0)|0;c[M>>2]=(c[M>>2]|0)+R;c[A>>2]=(c[A>>2]|0)+1}if((q|0)==23){c[N>>2]=-203;R=c[N>>2]|0;l=P;return R|0}else if((q|0)==25){c[N>>2]=-200;R=c[N>>2]|0;l=P;return R|0}}while(0);do if((c[c[H>>2]>>2]|0)==2?(c[(c[H>>2]|0)+4>>2]|0)==2:0){if((c[(c[L>>2]|0)+8540>>2]|0)!=1?(c[(c[L>>2]|0)+8544>>2]|0)!=1:0)break;c[(c[L>>2]|0)+8528>>2]=0;c[(c[L>>2]|0)+8528+8>>2]=0;uk((c[x>>2]|0)+4264+2432|0,(c[x>>2]|0)+2432|0,300)|0}while(0);c[(c[L>>2]|0)+8540>>2]=c[c[H>>2]>>2];c[(c[L>>2]|0)+8544>>2]=c[(c[H>>2]|0)+4>>2];if((c[(c[H>>2]|0)+8>>2]|0)<=48e3?(c[(c[H>>2]|0)+8>>2]|0)>=8e3:0){d:do if((c[K>>2]|0)!=1?(c[(c[x>>2]|0)+2388>>2]|0)==0:0){c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[(c[H>>2]|0)+4>>2]|0))break;c[J>>2]=0;while(1){R=(c[J>>2]|0)<(c[(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2392>>2]|0);e=jd(c[w>>2]|0,1)|0;k=(c[x>>2]|0)+((c[A>>2]|0)*4264|0)|0;if(!R)break;c[k+2404+(c[J>>2]<<2)>>2]=e;c[J>>2]=(c[J>>2]|0)+1}c[k+2416>>2]=e;c[A>>2]=(c[A>>2]|0)+1}c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[(c[H>>2]|0)+4>>2]|0))break;R=(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2420|0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;e:do if(c[(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2416>>2]|0){if((c[(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2392>>2]|0)==1){c[(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2420>>2]=1;break}c[n>>2]=(kd(c[w>>2]|0,c[17844+((c[(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2392>>2]|0)-2<<2)>>2]|0,8)|0)+1;c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2392>>2]|0))break e;c[(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2420+(c[J>>2]<<2)>>2]=c[n>>2]>>c[J>>2]&1;c[J>>2]=(c[J>>2]|0)+1}}while(0);c[A>>2]=(c[A>>2]|0)+1}if(!(c[K>>2]|0)){c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[x>>2]|0)+2392>>2]|0))break d;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[(c[H>>2]|0)+4>>2]|0))break;if(c[(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2420+(c[J>>2]<<2)>>2]|0){do if((c[A>>2]|0)==0?(c[(c[H>>2]|0)+4>>2]|0)==2:0){Dh(c[w>>2]|0,s);if(c[(c[x>>2]|0)+4264+2420+(c[J>>2]<<2)>>2]|0)break;Eh(c[w>>2]|0,I)}while(0);do if((c[J>>2]|0)>0){if(!(c[(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2420+((c[J>>2]|0)-1<<2)>>2]|0)){q=64;break}c[o>>2]=2}else q=64;while(0);if((q|0)==64){q=0;c[o>>2]=0}Se((c[x>>2]|0)+((c[A>>2]|0)*4264|0)|0,c[w>>2]|0,c[J>>2]|0,1,c[o>>2]|0);Te(c[w>>2]|0,p,a[(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2736+29>>0]|0,a[(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2736+30>>0]|0,c[(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2328>>2]|0)}c[A>>2]=(c[A>>2]|0)+1}c[J>>2]=(c[J>>2]|0)+1}}}while(0);f:do if((c[(c[H>>2]|0)+4>>2]|0)==2){do if(c[K>>2]|0){if((c[K>>2]|0)==2?(c[(c[x>>2]|0)+2420+(c[(c[x>>2]|0)+2388>>2]<<2)>>2]|0)==1:0)break;c[A>>2]=0;while(1){if((c[A>>2]|0)>=2)break f;c[s+(c[A>>2]<<2)>>2]=b[(c[L>>2]|0)+8528+(c[A>>2]<<1)>>1];c[A>>2]=(c[A>>2]|0)+1}}while(0);Dh(c[w>>2]|0,s);if(!((c[K>>2]|0)==0?!(c[(c[x>>2]|0)+4264+2404+(c[(c[x>>2]|0)+2388>>2]<<2)>>2]|0):0))q=74;do if((q|0)==74){if((c[K>>2]|0)==2?(c[(c[x>>2]|0)+4264+2420+(c[(c[x>>2]|0)+2388>>2]<<2)>>2]|0)==0:0)break;c[I>>2]=0;break f}while(0);Eh(c[w>>2]|0,I)}while(0);if(((c[I>>2]|0)==0?(c[(c[H>>2]|0)+4>>2]|0)==2:0)?(c[(c[L>>2]|0)+8548>>2]|0)==1:0){wk((c[L>>2]|0)+4264+1348|0,0,960)|0;k=(c[L>>2]|0)+4264+1284|0;e=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(e|0));c[(c[L>>2]|0)+4264+2308>>2]=100;a[(c[L>>2]|0)+4264+2312>>0]=10;c[(c[L>>2]|0)+4264+4164>>2]=0;c[(c[L>>2]|0)+4264+2376>>2]=1}R=S(c[(c[H>>2]|0)+12>>2]|0,c[(c[H>>2]|0)+4>>2]|0)|0;c[y>>2]=(R|0)<(S(c[(c[H>>2]|0)+8>>2]|0,c[c[H>>2]>>2]|0)|0)&1;if(c[y>>2]|0)k=1;else k=S(c[(c[H>>2]|0)+4>>2]|0,(c[(c[x>>2]|0)+2328>>2]|0)+2|0)|0;c[O>>2]=la()|0;d=l;l=l+((1*(k<<1)|0)+15&-16)|0;if(c[y>>2]|0){c[F>>2]=c[E>>2];e=c[x>>2]|0;k=c[E>>2]|0}else{c[F>>2]=d;e=c[x>>2]|0;k=d}c[F+4>>2]=k+(c[e+2328>>2]<<1)+4;if(!(c[K>>2]|0))c[v>>2]=((c[I>>2]|0)!=0^1)&1;else{if(c[(c[L>>2]|0)+8548>>2]|0)if((c[K>>2]|0)==2?(c[(c[H>>2]|0)+4>>2]|0)==2:0)k=(c[(c[x>>2]|0)+4264+2420+(c[(c[x>>2]|0)+4264+2388>>2]<<2)>>2]|0)==1;else k=0;else k=1;c[v>>2]=k&1}c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[(c[H>>2]|0)+4>>2]|0))break;if((c[A>>2]|0)==0|(c[v>>2]|0)!=0){c[r>>2]=(c[(c[x>>2]|0)+2388>>2]|0)-(c[A>>2]|0);g:do if((c[r>>2]|0)<=0)c[u>>2]=0;else{if((c[K>>2]|0)==2){c[u>>2]=c[(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2420+((c[r>>2]|0)-1<<2)>>2]|0?2:0;break}do if((c[A>>2]|0)>0){if(!(c[(c[L>>2]|0)+8548>>2]|0))break;c[u>>2]=1;break g}while(0);c[u>>2]=2}while(0);R=Qe((c[x>>2]|0)+((c[A>>2]|0)*4264|0)|0,c[w>>2]|0,(c[F+(c[A>>2]<<2)>>2]|0)+4|0,C,c[K>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;c[M>>2]=(c[M>>2]|0)+R}else wk((c[F+(c[A>>2]<<2)>>2]|0)+4|0,0,c[C>>2]<<1|0)|0;R=(c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2388|0;c[R>>2]=(c[R>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+1}if((c[c[H>>2]>>2]|0)==2?(c[(c[H>>2]|0)+4>>2]|0)==2:0)yg((c[L>>2]|0)+8528|0,c[F>>2]|0,c[F+4>>2]|0,s,c[(c[x>>2]|0)+2316>>2]|0,c[C>>2]|0);else{R=c[F>>2]|0;Q=(c[L>>2]|0)+8528+4|0;b[R>>1]=b[Q>>1]|0;b[R+2>>1]=b[Q+2>>1]|0;R=(c[L>>2]|0)+8528+4|0;Q=(c[F>>2]|0)+(c[C>>2]<<1)|0;b[R>>1]=b[Q>>1]|0;b[R+2>>1]=b[Q+2>>1]|0}R=S(c[C>>2]|0,c[(c[H>>2]|0)+8>>2]|0)|0;c[c[B>>2]>>2]=(R|0)/(((c[(c[x>>2]|0)+2316>>2]&65535)<<16>>16)*1e3|0)|0;if((c[c[H>>2]>>2]|0)==2)k=c[c[B>>2]>>2]|0;else k=1;e=l;l=l+((1*(k<<1)|0)+15&-16)|0;if((c[c[H>>2]>>2]|0)==2)c[D>>2]=e;else c[D>>2]=c[E>>2];if(c[y>>2]|0)k=S(c[(c[H>>2]|0)+4>>2]|0,(c[(c[x>>2]|0)+2328>>2]|0)+2|0)|0;else k=1;e=l;l=l+((1*(k<<1)|0)+15&-16)|0;if(c[y>>2]|0){R=(S(c[(c[H>>2]|0)+4>>2]|0,(c[(c[x>>2]|0)+2328>>2]|0)+2|0)|0)<<1;uk(e|0,c[E>>2]|0,R+0|0)|0;c[F>>2]=e;c[F+4>>2]=e+(c[(c[x>>2]|0)+2328>>2]<<1)+4}c[A>>2]=0;while(1){R=c[H>>2]|0;if((c[A>>2]|0)>=(c[((c[c[H>>2]>>2]|0)<(c[(c[H>>2]|0)+4>>2]|0)?R:R+4|0)>>2]|0))break;R=nh((c[x>>2]|0)+((c[A>>2]|0)*4264|0)+2432|0,c[D>>2]|0,(c[F+(c[A>>2]<<2)>>2]|0)+2|0,c[C>>2]|0)|0;c[M>>2]=(c[M>>2]|0)+R;h:do if((c[c[H>>2]>>2]|0)==2){c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[c[B>>2]>>2]|0))break h;b[(c[E>>2]|0)+((c[A>>2]|0)+(c[J>>2]<<1)<<1)>>1]=b[(c[D>>2]|0)+(c[J>>2]<<1)>>1]|0;c[J>>2]=(c[J>>2]|0)+1}}while(0);c[A>>2]=(c[A>>2]|0)+1}i:do if((c[c[H>>2]>>2]|0)==2){if((c[(c[H>>2]|0)+4>>2]|0)!=1)break;if(c[G>>2]|0){R=nh((c[x>>2]|0)+4264+2432|0,c[D>>2]|0,(c[F>>2]|0)+2|0,c[C>>2]|0)|0;c[M>>2]=(c[M>>2]|0)+R;c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[c[B>>2]>>2]|0))break i;b[(c[E>>2]|0)+(1+(c[J>>2]<<1)<<1)>>1]=b[(c[D>>2]|0)+(c[J>>2]<<1)>>1]|0;c[J>>2]=(c[J>>2]|0)+1}}else{c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[c[B>>2]>>2]|0))break i;b[(c[E>>2]|0)+(1+(c[J>>2]<<1)<<1)>>1]=b[(c[E>>2]|0)+(0+(c[J>>2]<<1)<<1)>>1]|0;c[J>>2]=(c[J>>2]|0)+1}}}while(0);if((c[(c[x>>2]|0)+4164>>2]|0)==2){c[z>>2]=c[4402];c[z+4>>2]=c[4403];c[z+8>>2]=c[4404];e=S(c[(c[x>>2]|0)+2308>>2]|0,c[z+((c[(c[x>>2]|0)+2316>>2]|0)-8>>2<<2)>>2]|0)|0;k=c[H>>2]|0}else{e=0;k=c[H>>2]|0}c[k+20>>2]=e;j:do if((c[K>>2]|0)==1){c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[L>>2]|0)+8544>>2]|0))break j;a[(c[L>>2]|0)+((c[J>>2]|0)*4264|0)+2312>>0]=10;c[J>>2]=(c[J>>2]|0)+1}}else c[(c[L>>2]|0)+8548>>2]=c[I>>2];while(0);c[N>>2]=c[M>>2];ka(c[O>>2]|0);R=c[N>>2]|0;l=P;return R|0}c[M>>2]=-200;c[N>>2]=c[M>>2];R=c[N>>2]|0;l=P;return R|0}function Ye(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;c[c[e>>2]>>2]=20208;l=d;return c[b>>2]|0}function Ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+20|0;e=k+16|0;g=k+12|0;i=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;c[j>>2]=0;c[i>>2]=c[f>>2];wk(c[i>>2]|0,0,20208)|0;c[h>>2]=0;while(1){b=c[i>>2]|0;if((c[h>>2]|0)>=2)break;d=Bg(b+((c[h>>2]|0)*10060|0)|0,c[e>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+d;c[h>>2]=(c[h>>2]|0)+1}c[b+20184>>2]=1;c[(c[i>>2]|0)+20188>>2]=1;i=_e(c[f>>2]|0,c[g>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+i;l=k;return c[j>>2]|0}function _e(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;i=g+16|0;d=g+12|0;e=g+8|0;f=g+4|0;h=g;c[i>>2]=a;c[d>>2]=b;c[e>>2]=0;c[h>>2]=c[i>>2];c[f>>2]=c[h>>2];c[c[d>>2]>>2]=c[(c[h>>2]|0)+20184>>2];c[(c[d>>2]|0)+4>>2]=c[(c[h>>2]|0)+20188>>2];c[(c[d>>2]|0)+8>>2]=c[(c[f>>2]|0)+4552>>2];c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+4560>>2];c[(c[d>>2]|0)+16>>2]=c[(c[f>>2]|0)+4564>>2];c[(c[d>>2]|0)+20>>2]=c[(c[f>>2]|0)+4568>>2];c[(c[d>>2]|0)+24>>2]=c[(c[f>>2]|0)+4608>>2];c[(c[d>>2]|0)+28>>2]=c[(c[f>>2]|0)+4604>>2];c[(c[d>>2]|0)+32>>2]=c[(c[f>>2]|0)+4612>>2];c[(c[d>>2]|0)+36>>2]=c[(c[f>>2]|0)+4620>>2];c[(c[d>>2]|0)+40>>2]=c[(c[f>>2]|0)+6084>>2];c[(c[d>>2]|0)+48>>2]=c[(c[f>>2]|0)+6072>>2];c[(c[d>>2]|0)+52>>2]=c[(c[f>>2]|0)+4672>>2];c[(c[d>>2]|0)+72>>2]=((c[(c[f>>2]|0)+4572>>2]&65535)<<16>>16)*1e3;c[(c[d>>2]|0)+76>>2]=c[(c[f>>2]|0)+4532>>2];if((c[(c[f>>2]|0)+4572>>2]|0)!=16){h=0;h=h&1;i=c[d>>2]|0;i=i+80|0;c[i>>2]=h;i=c[e>>2]|0;l=g;return i|0}h=(c[(c[f>>2]|0)+16+12>>2]|0)==0;h=h&1;i=c[d>>2]|0;i=i+80|0;c[i>>2]=h;i=c[e>>2]|0;l=g;return i|0}
function $e(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;Z=l;l=l+176|0;V=Z+156|0;_=Z+152|0;P=Z+148|0;J=Z+144|0;F=Z+140|0;I=Z+136|0;D=Z+132|0;R=Z+128|0;Q=Z+124|0;x=Z+120|0;B=Z+116|0;w=Z+112|0;Y=Z+108|0;X=Z+104|0;U=Z+100|0;G=Z+96|0;H=Z+92|0;C=Z+88|0;E=Z+84|0;m=Z+80|0;K=Z+76|0;q=Z+72|0;p=Z+64|0;s=Z+56|0;o=Z+52|0;L=Z+48|0;T=Z+44|0;n=Z+40|0;v=Z+36|0;M=Z+32|0;k=Z+28|0;W=Z+24|0;z=Z+20|0;y=Z+160|0;t=Z+16|0;r=Z+12|0;A=Z+8|0;N=Z+4|0;u=Z;c[_>>2]=d;c[P>>2]=e;c[J>>2]=f;c[F>>2]=g;c[I>>2]=h;c[D>>2]=i;c[R>>2]=j;c[Y>>2]=0;c[X>>2]=0;c[U>>2]=0;c[E>>2]=0;c[T>>2]=c[_>>2];if(c[(c[P>>2]|0)+68>>2]|0){c[(c[T>>2]|0)+4660>>2]=1;c[(c[T>>2]|0)+10060+4660>>2]=1}c[(c[T>>2]|0)+10060+5744>>2]=0;c[(c[T>>2]|0)+5744>>2]=0;_=zg(c[P>>2]|0)|0;c[U>>2]=_;if(_|0){c[V>>2]=c[U>>2];_=c[V>>2]|0;l=Z;return _|0}c[(c[P>>2]|0)+88>>2]=0;if((c[(c[P>>2]|0)+4>>2]|0)>(c[(c[T>>2]|0)+20188>>2]|0)?(_=Bg((c[T>>2]|0)+10060|0,c[(c[T>>2]|0)+5088>>2]|0)|0,c[U>>2]=(c[U>>2]|0)+_,c[(c[T>>2]|0)+20120>>2]=0,c[(c[T>>2]|0)+20120+8>>2]=0,c[(c[T>>2]|0)+20120+12>>2]=0,c[(c[T>>2]|0)+20120+12+4>>2]=1,c[(c[T>>2]|0)+20120+12+8>>2]=0,c[(c[T>>2]|0)+20120+12+12>>2]=1,b[(c[T>>2]|0)+20120+30>>1]=0,b[(c[T>>2]|0)+20120+28>>1]=16384,(c[(c[T>>2]|0)+20184>>2]|0)==2):0){uk((c[T>>2]|0)+10060+5772|0,(c[T>>2]|0)+5772|0,300)|0;_=(c[T>>2]|0)+10060|0;f=c[T>>2]|0;c[_>>2]=c[f>>2];c[_+4>>2]=c[f+4>>2]}if((c[(c[P>>2]|0)+24>>2]|0)!=(c[(c[T>>2]|0)+4608>>2]|0))e=1;else e=(c[(c[T>>2]|0)+20188>>2]|0)!=(c[(c[P>>2]|0)+4>>2]|0);c[n>>2]=e&1;c[(c[T>>2]|0)+20184>>2]=c[c[P>>2]>>2];c[(c[T>>2]|0)+20188>>2]=c[(c[P>>2]|0)+4>>2];c[C>>2]=((c[F>>2]|0)*100|0)/(c[(c[P>>2]|0)+8>>2]|0)|0;c[M>>2]=(c[C>>2]|0)>1?c[C>>2]>>1:1;c[v>>2]=0;e=c[C>>2]|0;a:do if(!(c[R>>2]|0)){_=S(e,c[(c[P>>2]|0)+8>>2]|0)|0;if((c[F>>2]|0)<0?1:(_|0)!=((c[F>>2]|0)*100|0)){c[V>>2]=-101;_=c[V>>2]|0;l=Z;return _|0}if(((c[F>>2]|0)*1e3|0)>(S(c[(c[P>>2]|0)+24>>2]|0,c[(c[P>>2]|0)+8>>2]|0)|0)){c[V>>2]=-101;_=c[V>>2]|0;l=Z;return _|0}}else{if((e|0)!=1){c[V>>2]=-101;_=c[V>>2]|0;l=Z;return _|0}c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[(c[P>>2]|0)+4>>2]|0))break;c[U>>2]=Bg((c[T>>2]|0)+((c[Q>>2]|0)*10060|0)|0,c[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+5088>>2]|0)|0;c[Q>>2]=(c[Q>>2]|0)+1}c[Y>>2]=c[(c[P>>2]|0)+24>>2];c[(c[P>>2]|0)+24>>2]=10;c[X>>2]=c[(c[P>>2]|0)+36>>2];c[(c[P>>2]|0)+36>>2]=0;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[(c[P>>2]|0)+4>>2]|0))break a;c[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+4664>>2]=0;c[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+4676>>2]=1;c[Q>>2]=(c[Q>>2]|0)+1}}while(0);c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[(c[P>>2]|0)+4>>2]|0))break;if((c[Q>>2]|0)==1)e=c[(c[T>>2]|0)+4572>>2]|0;else e=0;c[k>>2]=e;_=Cg((c[T>>2]|0)+((c[Q>>2]|0)*10060|0)|0,c[P>>2]|0,c[(c[T>>2]|0)+20200>>2]|0,c[Q>>2]|0,c[k>>2]|0)|0;c[U>>2]=_;if(_|0){O=28;break}b:do if(c[n>>2]|0?1:(c[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+4660>>2]|0)!=0){c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[T>>2]|0)+5740>>2]|0))break b;c[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+4720+(c[x>>2]<<2)>>2]=0;c[x>>2]=(c[x>>2]|0)+1}}while(0);c[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+6076>>2]=c[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+6072>>2];c[Q>>2]=(c[Q>>2]|0)+1}if((O|0)==28){c[V>>2]=c[U>>2];_=c[V>>2]|0;l=Z;return _|0}c[H>>2]=S((c[C>>2]|0)*10|0,c[(c[T>>2]|0)+4572>>2]|0)|0;_=S(c[H>>2]|0,c[(c[T>>2]|0)+4552>>2]|0)|0;c[m>>2]=(_|0)/((c[(c[T>>2]|0)+4572>>2]|0)*1e3|0)|0;_=c[m>>2]|0;c[W>>2]=la()|0;g=l;l=l+((1*(_<<1)|0)+15&-16)|0;while(1){c[G>>2]=(c[(c[T>>2]|0)+4580>>2]|0)-(c[(c[T>>2]|0)+5736>>2]|0);c[G>>2]=(c[G>>2]|0)<(c[H>>2]|0)?c[G>>2]|0:c[H>>2]|0;_=S(c[G>>2]|0,c[(c[T>>2]|0)+4552>>2]|0)|0;c[E>>2]=(_|0)/((c[(c[T>>2]|0)+4572>>2]|0)*1e3|0)|0;if((c[c[P>>2]>>2]|0)==2?(c[(c[P>>2]|0)+4>>2]|0)==2:0){c[z>>2]=c[(c[T>>2]|0)+5744>>2];c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[E>>2]|0))break;b[g+(c[Q>>2]<<1)>>1]=b[(c[J>>2]|0)+(c[Q>>2]<<1<<1)>>1]|0;c[Q>>2]=(c[Q>>2]|0)+1}if((c[z>>2]|0)==0?(c[(c[T>>2]|0)+20192>>2]|0)==1:0)uk((c[T>>2]|0)+10060+5772|0,(c[T>>2]|0)+5772|0,300)|0;_=nh((c[T>>2]|0)+5772|0,(c[T>>2]|0)+5092+((c[(c[T>>2]|0)+5736>>2]|0)+2<<1)|0,g,c[E>>2]|0)|0;c[U>>2]=(c[U>>2]|0)+_;_=(c[T>>2]|0)+5736|0;c[_>>2]=(c[_>>2]|0)+(c[G>>2]|0);c[G>>2]=(c[(c[T>>2]|0)+10060+4580>>2]|0)-(c[(c[T>>2]|0)+10060+5736>>2]|0);if((c[G>>2]|0)<(S((c[C>>2]|0)*10|0,c[(c[T>>2]|0)+10060+4572>>2]|0)|0))e=c[G>>2]|0;else e=S((c[C>>2]|0)*10|0,c[(c[T>>2]|0)+10060+4572>>2]|0)|0;c[G>>2]=e;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[E>>2]|0))break;b[g+(c[Q>>2]<<1)>>1]=b[(c[J>>2]|0)+((c[Q>>2]<<1)+1<<1)>>1]|0;c[Q>>2]=(c[Q>>2]|0)+1}e=nh((c[T>>2]|0)+10060+5772|0,(c[T>>2]|0)+10060+5092+((c[(c[T>>2]|0)+10060+5736>>2]|0)+2<<1)|0,g,c[E>>2]|0)|0;c[U>>2]=(c[U>>2]|0)+e;e=c[T>>2]|0;d=c[G>>2]|0;i=1}else O=49;do if((O|0)==49){O=0;if((c[c[P>>2]>>2]|0)==2?(c[(c[P>>2]|0)+4>>2]|0)==1:0){c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[E>>2]|0))break;c[L>>2]=(b[(c[J>>2]|0)+(c[Q>>2]<<1<<1)>>1]|0)+(b[(c[J>>2]|0)+((c[Q>>2]<<1)+1<<1)>>1]|0);b[g+(c[Q>>2]<<1)>>1]=(c[L>>2]>>1)+(c[L>>2]&1);c[Q>>2]=(c[Q>>2]|0)+1}_=nh((c[T>>2]|0)+5772|0,(c[T>>2]|0)+5092+((c[(c[T>>2]|0)+5736>>2]|0)+2<<1)|0,g,c[E>>2]|0)|0;c[U>>2]=(c[U>>2]|0)+_;c:do if((c[(c[T>>2]|0)+20192>>2]|0)==2?(c[(c[T>>2]|0)+5744>>2]|0)==0:0){_=nh((c[T>>2]|0)+10060+5772|0,(c[T>>2]|0)+10060+5092+((c[(c[T>>2]|0)+10060+5736>>2]|0)+2<<1)|0,g,c[E>>2]|0)|0;c[U>>2]=(c[U>>2]|0)+_;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[(c[T>>2]|0)+4580>>2]|0))break c;b[(c[T>>2]|0)+5092+((c[(c[T>>2]|0)+5736>>2]|0)+(c[Q>>2]|0)+2<<1)>>1]=(b[(c[T>>2]|0)+5092+((c[(c[T>>2]|0)+5736>>2]|0)+(c[Q>>2]|0)+2<<1)>>1]|0)+(b[(c[T>>2]|0)+10060+5092+((c[(c[T>>2]|0)+10060+5736>>2]|0)+(c[Q>>2]|0)+2<<1)>>1]|0)>>1;c[Q>>2]=(c[Q>>2]|0)+1}}while(0);e=c[T>>2]|0;d=c[G>>2]|0;i=0;break}uk(g|0,c[J>>2]|0,c[E>>2]<<1|0)|0;e=nh((c[T>>2]|0)+5772|0,(c[T>>2]|0)+5092+((c[(c[T>>2]|0)+5736>>2]|0)+2<<1)|0,g,c[E>>2]|0)|0;c[U>>2]=(c[U>>2]|0)+e;e=c[T>>2]|0;d=c[G>>2]|0;i=0}while(0);_=e+(i*10060|0)+5736|0;c[_>>2]=(c[_>>2]|0)+d;_=S(c[E>>2]|0,c[c[P>>2]>>2]|0)|0;c[J>>2]=(c[J>>2]|0)+(_<<1);c[F>>2]=(c[F>>2]|0)-(c[E>>2]|0);c[(c[T>>2]|0)+20200>>2]=0;if((c[(c[T>>2]|0)+5736>>2]|0)<(c[(c[T>>2]|0)+4580>>2]|0))break;if(!(c[R>>2]|0?1:(c[(c[T>>2]|0)+5744>>2]|0)!=0)){a[y>>0]=0;a[y+1>>0]=0;a[y>>0]=256-(256>>(S((c[(c[T>>2]|0)+5740>>2]|0)+1|0,c[(c[P>>2]|0)+4>>2]|0)|0));wd(c[I>>2]|0,0,y,8);c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[(c[P>>2]|0)+4>>2]|0))break;c[o>>2]=0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+5740>>2]|0))break;c[o>>2]=c[o>>2]|c[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+4720+(c[x>>2]<<2)>>2]<<c[x>>2];c[x>>2]=(c[x>>2]|0)+1}a[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+4719>>0]=(c[o>>2]|0)>0?1:0;if(c[o>>2]|0?(c[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+5740>>2]|0)>1:0)wd(c[I>>2]|0,(c[o>>2]|0)-1|0,c[17844+((c[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+5740>>2]|0)-2<<2)>>2]|0,8);c[Q>>2]=(c[Q>>2]|0)+1}c[x>>2]=0;while(1){_=(c[x>>2]|0)<(c[(c[T>>2]|0)+5740>>2]|0);c[Q>>2]=0;if(!_)break;while(1){if((c[Q>>2]|0)>=(c[(c[P>>2]|0)+4>>2]|0))break;if(c[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+4720+(c[x>>2]<<2)>>2]|0){if(((c[Q>>2]|0)==0?(c[(c[P>>2]|0)+4>>2]|0)==2:0)?(Fh(c[I>>2]|0,(c[T>>2]|0)+20120+34+((c[x>>2]|0)*6|0)|0),(c[(c[T>>2]|0)+10060+4720+(c[x>>2]<<2)>>2]|0)==0):0)Gh(c[I>>2]|0,a[(c[T>>2]|0)+20120+52+(c[x>>2]|0)>>0]|0);if((c[x>>2]|0)>0?c[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+4720+((c[x>>2]|0)-1<<2)>>2]|0:0)c[t>>2]=2;else c[t>>2]=0;bf((c[T>>2]|0)+((c[Q>>2]|0)*10060|0)|0,c[I>>2]|0,c[x>>2]|0,1,c[t>>2]|0);cf(c[I>>2]|0,a[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+6096+((c[x>>2]|0)*36|0)+29>>0]|0,a[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+6096+((c[x>>2]|0)*36|0)+30>>0]|0,(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+6204+((c[x>>2]|0)*320|0)|0,c[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+4580>>2]|0)}c[Q>>2]=(c[Q>>2]|0)+1}c[x>>2]=(c[x>>2]|0)+1}while(1){if((c[Q>>2]|0)>=(c[(c[P>>2]|0)+4>>2]|0))break;_=(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+4720|0;c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;c[Q>>2]=(c[Q>>2]|0)+1}_=af(c[I>>2]|0)|0;c[(c[T>>2]|0)+20176>>2]=_}mg(c[T>>2]|0);c[B>>2]=(S(c[(c[P>>2]|0)+28>>2]|0,c[(c[P>>2]|0)+24>>2]|0)|0)/1e3|0;if(!(c[R>>2]|0))c[B>>2]=(c[B>>2]|0)-(c[(c[T>>2]|0)+20176>>2]|0);c[B>>2]=(c[B>>2]|0)/(c[(c[T>>2]|0)+5740>>2]|0)|0;e=(c[B>>2]&65535)<<16>>16;if((c[(c[P>>2]|0)+24>>2]|0)==10)c[q>>2]=e*100;else c[q>>2]=e*50;c[q>>2]=(c[q>>2]|0)-(((c[(c[T>>2]|0)+20180>>2]|0)*1e3|0)/500|0);if((c[R>>2]|0)==0?(c[(c[T>>2]|0)+5744>>2]|0)>0:0){_=af(c[I>>2]|0)|0;c[r>>2]=_-(c[(c[T>>2]|0)+20176>>2]|0)-(S(c[B>>2]|0,c[(c[T>>2]|0)+5744>>2]|0)|0);c[q>>2]=(c[q>>2]|0)-(((c[r>>2]|0)*1e3|0)/500|0)}e=c[q>>2]|0;do if((c[(c[P>>2]|0)+28>>2]|0)>5e3)if((e|0)>(c[(c[P>>2]|0)+28>>2]|0)){e=c[(c[P>>2]|0)+28>>2]|0;break}else{e=(c[q>>2]|0)<5e3?5e3:c[q>>2]|0;break}else if((e|0)<=5e3)if((c[q>>2]|0)<(c[(c[P>>2]|0)+28>>2]|0)){e=c[(c[P>>2]|0)+28>>2]|0;break}else{e=c[q>>2]|0;break}else e=5e3;while(0);c[q>>2]=e;e=c[T>>2]|0;if((c[(c[P>>2]|0)+4>>2]|0)==2){ug(e+20120|0,(c[T>>2]|0)+5092+4|0,(c[T>>2]|0)+10060+5092+4|0,(c[T>>2]|0)+20120+34+((c[(c[T>>2]|0)+5744>>2]|0)*6|0)|0,(c[T>>2]|0)+20120+52+(c[(c[T>>2]|0)+5744>>2]|0)|0,p,c[q>>2]|0,c[(c[T>>2]|0)+4528>>2]|0,c[(c[P>>2]|0)+60>>2]|0,c[(c[T>>2]|0)+4572>>2]|0,c[(c[T>>2]|0)+4580>>2]|0);e=c[T>>2]|0;if(!(a[(c[T>>2]|0)+20120+52+(c[(c[T>>2]|0)+5744>>2]|0)>>0]|0)){if((c[e+20204>>2]|0)==1){_=(c[T>>2]|0)+10060+7164|0;c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;wk((c[T>>2]|0)+10060+144|0,0,4352)|0;_=(c[T>>2]|0)+10060+4496|0;c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;c[_+12>>2]=0;c[_+16>>2]=0;c[_+20>>2]=0;c[_+24>>2]=0;c[_+28>>2]=0;_=(c[T>>2]|0)+10060+16|0;c[_>>2]=0;c[_+4>>2]=0;c[(c[T>>2]|0)+10060+4540>>2]=100;c[(c[T>>2]|0)+10060+144+4328>>2]=100;a[(c[T>>2]|0)+10060+7164>>0]=10;a[(c[T>>2]|0)+10060+4537>>0]=0;c[(c[T>>2]|0)+10060+144+4344>>2]=65536;c[(c[T>>2]|0)+10060+4660>>2]=1}Th((c[T>>2]|0)+10060|0)}else a[e+10060+4716+(c[(c[T>>2]|0)+5744>>2]|0)>>0]=0;if((c[R>>2]|0)==0?(Fh(c[I>>2]|0,(c[T>>2]|0)+20120+34+((c[(c[T>>2]|0)+5744>>2]|0)*6|0)|0),(a[(c[T>>2]|0)+10060+4716+(c[(c[T>>2]|0)+5744>>2]|0)>>0]|0)==0):0)Gh(c[I>>2]|0,a[(c[T>>2]|0)+20120+52+(c[(c[T>>2]|0)+5744>>2]|0)>>0]|0)}else{c[e+5092>>2]=c[(c[T>>2]|0)+20120+4>>2];_=(c[T>>2]|0)+20120+4|0;n=(c[T>>2]|0)+5092+(c[(c[T>>2]|0)+4580>>2]<<1)|0;b[_>>1]=b[n>>1]|0;b[_+2>>1]=b[n+2>>1]|0}Th(c[T>>2]|0);c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[(c[P>>2]|0)+4>>2]|0))break;c[A>>2]=c[(c[P>>2]|0)+56>>2];do if(!((c[M>>2]|0)==2&(c[v>>2]|0)==0)){if((c[M>>2]|0)==3){if(!(c[v>>2]|0)){c[A>>2]=(c[A>>2]<<1|0)/5|0;break}if((c[v>>2]|0)!=1)break;c[A>>2]=((c[A>>2]|0)*3|0)/4|0}}else c[A>>2]=((c[A>>2]|0)*3|0)/5|0;while(0);if(c[(c[P>>2]|0)+52>>2]|0)e=(c[v>>2]|0)==((c[M>>2]|0)-1|0);else e=0;c[N>>2]=e&1;do if((c[(c[P>>2]|0)+4>>2]|0)==1)c[s>>2]=c[q>>2];else{c[s>>2]=c[p+(c[Q>>2]<<2)>>2];if(c[Q>>2]|0)break;if((c[p+4>>2]|0)<=0)break;c[N>>2]=0;c[A>>2]=(c[A>>2]|0)-((c[(c[P>>2]|0)+56>>2]|0)/(c[M>>2]<<1|0)|0)}while(0);if((c[s>>2]|0)>0){Ag((c[T>>2]|0)+((c[Q>>2]|0)*10060|0)|0,c[s>>2]|0)|0;d:do if(((c[(c[T>>2]|0)+5744>>2]|0)-(c[Q>>2]|0)|0)<=0)c[u>>2]=0;else{do if((c[Q>>2]|0)>0){if(!(c[(c[T>>2]|0)+20204>>2]|0))break;c[u>>2]=1;break d}while(0);c[u>>2]=2}while(0);c[U>>2]=Uh((c[T>>2]|0)+((c[Q>>2]|0)*10060|0)|0,c[D>>2]|0,c[I>>2]|0,c[u>>2]|0,c[A>>2]|0,c[N>>2]|0)|0}c[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+4664>>2]=0;c[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+5736>>2]=0;_=(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+5744|0;c[_>>2]=(c[_>>2]|0)+1;c[Q>>2]=(c[Q>>2]|0)+1}c[(c[T>>2]|0)+20204>>2]=a[(c[T>>2]|0)+20120+52+((c[(c[T>>2]|0)+5744>>2]|0)-1)>>0];do if((c[c[D>>2]>>2]|0)>0?(c[(c[T>>2]|0)+5744>>2]|0)==(c[(c[T>>2]|0)+5740>>2]|0):0){c[w>>2]=0;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[(c[P>>2]|0)+4>>2]|0))break;c[x>>2]=0;while(1){_=(c[x>>2]|0)<(c[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+5740>>2]|0);c[w>>2]=c[w>>2]<<1;e=(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)|0;if(!_)break;c[w>>2]=c[w>>2]|a[e+4716+(c[x>>2]|0)>>0];c[x>>2]=(c[x>>2]|0)+1}c[w>>2]=c[w>>2]|a[e+4719>>0];c[Q>>2]=(c[Q>>2]|0)+1}if(!(c[R>>2]|0))Ad(c[I>>2]|0,c[w>>2]|0,S((c[(c[T>>2]|0)+5740>>2]|0)+1|0,c[(c[P>>2]|0)+4>>2]|0)|0);do if(c[(c[T>>2]|0)+6076>>2]|0){if((c[(c[P>>2]|0)+4>>2]|0)!=1?(c[(c[T>>2]|0)+10060+6076>>2]|0)==0:0)break;c[c[D>>2]>>2]=0}while(0);n=(c[T>>2]|0)+20180|0;c[n>>2]=(c[n>>2]|0)+(c[c[D>>2]>>2]<<3);n=(S(c[(c[P>>2]|0)+28>>2]|0,c[(c[P>>2]|0)+24>>2]|0)|0)/1e3|0;_=(c[T>>2]|0)+20180|0;c[_>>2]=(c[_>>2]|0)-n;do if((c[(c[T>>2]|0)+20180>>2]|0)>1e4)e=1e4;else{if((c[(c[T>>2]|0)+20180>>2]|0)<0){e=0;break}e=c[(c[T>>2]|0)+20180>>2]|0}while(0);c[(c[T>>2]|0)+20180>>2]=e;c[K>>2]=13+(0+(((c[(c[T>>2]|0)+20196>>2]&65535)<<16>>16)*3188>>16));e=(c[T>>2]|0)+20200|0;if((c[(c[T>>2]|0)+4528>>2]|0)<(c[K>>2]|0)){c[e>>2]=1;c[(c[T>>2]|0)+20196>>2]=0;break}else{c[e>>2]=0;_=(c[T>>2]|0)+20196|0;c[_>>2]=(c[_>>2]|0)+(c[(c[P>>2]|0)+24>>2]|0);break}}while(0);if(!(c[F>>2]|0))break;c[v>>2]=(c[v>>2]|0)+1}c[(c[T>>2]|0)+20192>>2]=c[(c[P>>2]|0)+4>>2];c[(c[P>>2]|0)+76>>2]=c[(c[T>>2]|0)+20200>>2];if((c[(c[T>>2]|0)+4572>>2]|0)==16)e=(c[(c[T>>2]|0)+16+12>>2]|0)==0;else e=0;c[(c[P>>2]|0)+80>>2]=e&1;c[(c[P>>2]|0)+72>>2]=((c[(c[T>>2]|0)+4572>>2]&65535)<<16>>16)*1e3;if(c[(c[P>>2]|0)+60>>2]|0)e=0;else e=b[(c[T>>2]|0)+20120+28>>1]|0;c[(c[P>>2]|0)+84>>2]=e;e:do if(c[R>>2]|0){c[(c[P>>2]|0)+24>>2]=c[Y>>2];c[(c[P>>2]|0)+36>>2]=c[X>>2];c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[(c[P>>2]|0)+4>>2]|0))break e;c[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+4664>>2]=0;c[(c[T>>2]|0)+((c[Q>>2]|0)*10060|0)+4676>>2]=0;c[Q>>2]=(c[Q>>2]|0)+1}}while(0);c[(c[P>>2]|0)+92>>2]=a[(c[T>>2]|0)+4732+29>>0];c[(c[P>>2]|0)+96>>2]=b[24736+(a[(c[T>>2]|0)+4732+29>>0]>>1<<2)+(a[(c[T>>2]|0)+4732+30>>0]<<1)>>1];c[V>>2]=c[U>>2];ka(c[W>>2]|0);_=c[V>>2]|0;l=Z;return _|0}function af(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(V(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function bf(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+112|0;v=y+48|0;x=y+44|0;i=y+40|0;j=y+36|0;n=y+32|0;r=y+28|0;s=y+24|0;k=y+20|0;q=y+16|0;o=y+12|0;p=y+56|0;m=y+88|0;w=y+8|0;t=y+4|0;u=y;c[v>>2]=d;c[x>>2]=e;c[i>>2]=f;c[j>>2]=g;c[n>>2]=h;f=c[v>>2]|0;if(c[j>>2]|0)c[w>>2]=f+6096+((c[i>>2]|0)*36|0);else c[w>>2]=f+4732;c[k>>2]=(a[(c[w>>2]|0)+29>>0]<<1)+(a[(c[w>>2]|0)+30>>0]|0);h=c[x>>2]|0;f=c[k>>2]|0;if((c[j>>2]|0)!=0|(c[k>>2]|0)>=2)wd(h,f-2|0,29209,8);else wd(h,f,29213,8);f=c[x>>2]|0;h=a[c[w>>2]>>0]|0;if((c[n>>2]|0)==2)wd(f,h,26960,8);else{wd(f,h>>3,26936+(a[(c[w>>2]|0)+29>>0]<<3)|0,8);wd(c[x>>2]|0,a[c[w>>2]>>0]&7,29238,8)}c[r>>2]=1;while(1){f=c[x>>2]|0;h=c[w>>2]|0;if((c[r>>2]|0)>=(c[(c[v>>2]|0)+4576>>2]|0))break;wd(f,a[h+(c[r>>2]|0)>>0]|0,26960,8);c[r>>2]=(c[r>>2]|0)+1}wd(f,a[h+8>>0]|0,(c[(c[(c[v>>2]|0)+4688>>2]|0)+16>>2]|0)+(S(a[(c[w>>2]|0)+29>>0]>>1,b[c[(c[v>>2]|0)+4688>>2]>>1]|0)|0)|0,8);rg(p,m,c[(c[v>>2]|0)+4688>>2]|0,a[(c[w>>2]|0)+8>>0]|0);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(b[(c[(c[v>>2]|0)+4688>>2]|0)+2>>1]|0))break;do if((a[(c[w>>2]|0)+8+((c[r>>2]|0)+1)>>0]|0)<4){f=c[x>>2]|0;if((a[(c[w>>2]|0)+8+((c[r>>2]|0)+1)>>0]|0)<=-4){wd(f,0,(c[(c[(c[v>>2]|0)+4688>>2]|0)+28>>2]|0)+(b[p+(c[r>>2]<<1)>>1]|0)|0,8);wd(c[x>>2]|0,0-(a[(c[w>>2]|0)+8+((c[r>>2]|0)+1)>>0]|0)-4|0,29246,8);break}else{wd(f,(a[(c[w>>2]|0)+8+((c[r>>2]|0)+1)>>0]|0)+4|0,(c[(c[(c[v>>2]|0)+4688>>2]|0)+28>>2]|0)+(b[p+(c[r>>2]<<1)>>1]|0)|0,8);break}}else{wd(c[x>>2]|0,8,(c[(c[(c[v>>2]|0)+4688>>2]|0)+28>>2]|0)+(b[p+(c[r>>2]<<1)>>1]|0)|0,8);wd(c[x>>2]|0,(a[(c[w>>2]|0)+8+((c[r>>2]|0)+1)>>0]|0)-4|0,29246,8)}while(0);c[r>>2]=(c[r>>2]|0)+1}if((c[(c[v>>2]|0)+4576>>2]|0)==4)wd(c[x>>2]|0,a[(c[w>>2]|0)+31>>0]|0,29215,8);if((a[(c[w>>2]|0)+29>>0]|0)!=2){u=c[w>>2]|0;u=u+29|0;u=a[u>>0]|0;u=u<<24>>24;v=c[v>>2]|0;v=v+5764|0;c[v>>2]=u;v=c[x>>2]|0;x=c[w>>2]|0;x=x+34|0;x=a[x>>0]|0;x=x<<24>>24;wd(v,x,29223,8);l=y;return}c[q>>2]=1;if((c[n>>2]|0)==2?(c[(c[v>>2]|0)+5764>>2]|0)==2:0){c[o>>2]=(b[(c[w>>2]|0)+26>>1]|0)-(b[(c[v>>2]|0)+5768>>1]|0);if((c[o>>2]|0)<-8|(c[o>>2]|0)>11)c[o>>2]=0;else{c[o>>2]=(c[o>>2]|0)+9;c[q>>2]=0}wd(c[x>>2]|0,c[o>>2]|0,29285,8)}if(c[q>>2]|0){c[t>>2]=(b[(c[w>>2]|0)+26>>1]|0)/(c[(c[v>>2]|0)+4572>>2]>>1|0)|0;c[u>>2]=(b[(c[w>>2]|0)+26>>1]|0)-(S((c[t>>2]&65535)<<16>>16,(c[(c[v>>2]|0)+4572>>2]>>1&65535)<<16>>16)|0);wd(c[x>>2]|0,c[t>>2]|0,29253,8);wd(c[x>>2]|0,c[u>>2]|0,c[(c[v>>2]|0)+4680>>2]|0,8)}b[(c[v>>2]|0)+5768>>1]=b[(c[w>>2]|0)+26>>1]|0;wd(c[x>>2]|0,a[(c[w>>2]|0)+28>>0]|0,c[(c[v>>2]|0)+4684>>2]|0,8);wd(c[x>>2]|0,a[(c[w>>2]|0)+32>>0]|0,27001,8);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[v>>2]|0)+4576>>2]|0))break;wd(c[x>>2]|0,a[(c[w>>2]|0)+4+(c[s>>2]|0)>>0]|0,c[17620+(a[(c[w>>2]|0)+32>>0]<<2)>>2]|0,8);c[s>>2]=(c[s>>2]|0)+1}if(c[n>>2]|0){u=c[w>>2]|0;u=u+29|0;u=a[u>>0]|0;u=u<<24>>24;v=c[v>>2]|0;v=v+5764|0;c[v>>2]=u;v=c[x>>2]|0;x=c[w>>2]|0;x=x+34|0;x=a[x>>0]|0;x=x<<24>>24;wd(v,x,29223,8);l=y;return}wd(c[x>>2]|0,a[(c[w>>2]|0)+33>>0]|0,29206,8);u=c[w>>2]|0;u=u+29|0;u=a[u>>0]|0;u=u<<24>>24;v=c[v>>2]|0;v=v+5764|0;c[v>>2]=u;v=c[x>>2]|0;x=c[w>>2]|0;x=x+34|0;x=a[x>>0]|0;x=x<<24>>24;wd(v,x,29223,8);l=y;return}function cf(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+128|0;z=F+116|0;E=F+112|0;C=F+108|0;A=F+104|0;t=F+100|0;u=F+96|0;x=F+92|0;w=F+88|0;v=F+84|0;s=F+80|0;y=F+76|0;k=F+72|0;m=F+68|0;r=F+64|0;n=F+60|0;p=F+56|0;j=F+24|0;i=F+16|0;B=F+12|0;q=F+8|0;o=F+4|0;D=F;c[z>>2]=b;c[E>>2]=e;c[C>>2]=f;c[A>>2]=g;c[t>>2]=h;c[m>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[v>>2]=c[t>>2]>>4;if((c[v>>2]<<4|0)<(c[t>>2]|0)){c[v>>2]=(c[v>>2]|0)+1;h=(c[A>>2]|0)+(c[t>>2]|0)|0;b=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(b|0))}e=c[v>>2]<<4;c[D>>2]=la()|0;b=l;l=l+((1*(e<<2)|0)+15&-16)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]<<4|0))break;e=a[(c[A>>2]|0)+((c[u>>2]|0)+0)>>0]|0;c[b+((c[u>>2]|0)+0<<2)>>2]=(a[(c[A>>2]|0)+((c[u>>2]|0)+0)>>0]|0)>0?e:0-e|0;e=a[(c[A>>2]|0)+((c[u>>2]|0)+1)>>0]|0;c[b+((c[u>>2]|0)+1<<2)>>2]=(a[(c[A>>2]|0)+((c[u>>2]|0)+1)>>0]|0)>0?e:0-e|0;e=a[(c[A>>2]|0)+((c[u>>2]|0)+2)>>0]|0;c[b+((c[u>>2]|0)+2<<2)>>2]=(a[(c[A>>2]|0)+((c[u>>2]|0)+2)>>0]|0)>0?e:0-e|0;e=a[(c[A>>2]|0)+((c[u>>2]|0)+3)>>0]|0;c[b+((c[u>>2]|0)+3<<2)>>2]=(a[(c[A>>2]|0)+((c[u>>2]|0)+3)>>0]|0)>0?e:0-e|0;c[u>>2]=(c[u>>2]|0)+4}g=l;l=l+((1*(c[v>>2]<<2)|0)+15&-16)|0;f=l;l=l+((1*(c[v>>2]<<2)|0)+15&-16)|0;c[i>>2]=b;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;c[f+(c[u>>2]<<2)>>2]=0;a:while(1){c[k>>2]=df(j,c[i>>2]|0,d[29366]|0,8)|0;e=df(j,j,d[29367]|0,4)|0;c[k>>2]=(c[k>>2]|0)+e;e=df(j,j,d[29368]|0,2)|0;c[k>>2]=(c[k>>2]|0)+e;e=df(g+(c[u>>2]<<2)|0,j,d[29369]|0,1)|0;c[k>>2]=(c[k>>2]|0)+e;if(!(c[k>>2]|0))break;e=f+(c[u>>2]<<2)|0;c[e>>2]=(c[e>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=16)continue a;c[(c[i>>2]|0)+(c[x>>2]<<2)>>2]=c[(c[i>>2]|0)+(c[x>>2]<<2)>>2]>>1;c[x>>2]=(c[x>>2]|0)+1}}c[i>>2]=(c[i>>2]|0)+64;c[u>>2]=(c[u>>2]|0)+1}c[n>>2]=2147483647;c[x>>2]=0;while(1){if((c[x>>2]|0)>=9)break;c[o>>2]=29550+((c[x>>2]|0)*18|0);c[p>>2]=d[29730+((c[E>>2]>>1)*9|0)+(c[x>>2]|0)>>0];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;h=c[o>>2]|0;if((c[f+(c[u>>2]<<2)>>2]|0)>0)c[p>>2]=(c[p>>2]|0)+(d[h+17>>0]|0);else c[p>>2]=(c[p>>2]|0)+(d[h+(c[g+(c[u>>2]<<2)>>2]|0)>>0]|0);c[u>>2]=(c[u>>2]|0)+1}if((c[p>>2]|0)<(c[n>>2]|0)){c[n>>2]=c[p>>2];c[m>>2]=c[x>>2]}c[x>>2]=(c[x>>2]|0)+1}wd(c[z>>2]|0,c[m>>2]|0,29712+((c[E>>2]>>1)*9|0)|0,8);c[q>>2]=29370+((c[m>>2]|0)*18|0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;h=c[z>>2]|0;if(!(c[f+(c[u>>2]<<2)>>2]|0))wd(h,c[g+(c[u>>2]<<2)>>2]|0,c[q>>2]|0,8);else{wd(h,17,c[q>>2]|0,8);c[x>>2]=0;while(1){h=c[z>>2]|0;if((c[x>>2]|0)>=((c[f+(c[u>>2]<<2)>>2]|0)-1|0))break;wd(h,17,29532,8);c[x>>2]=(c[x>>2]|0)+1}wd(h,c[g+(c[u>>2]<<2)>>2]|0,29532,8)}c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;if((c[g+(c[u>>2]<<2)>>2]|0)>0)Wf(c[z>>2]|0,b+(c[u>>2]<<4<<2)|0);c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;b:do if((c[f+(c[u>>2]<<2)>>2]|0)>0){c[B>>2]=(c[A>>2]|0)+(c[u>>2]<<4);c[y>>2]=(c[f+(c[u>>2]<<2)>>2]|0)-1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=16)break b;q=a[(c[B>>2]|0)+(c[x>>2]|0)>>0]|0;c[r>>2]=(((a[(c[B>>2]|0)+(c[x>>2]|0)>>0]|0)>0?q:0-q|0)&255)<<24>>24;c[w>>2]=c[y>>2];while(1){h=c[r>>2]|0;if((c[w>>2]|0)<=0)break;c[s>>2]=h>>c[w>>2]&1;wd(c[z>>2]|0,c[s>>2]|0,29204,8);c[w>>2]=(c[w>>2]|0)+-1}c[s>>2]=h&1;wd(c[z>>2]|0,c[s>>2]|0,29204,8);c[x>>2]=(c[x>>2]|0)+1}}while(0);c[u>>2]=(c[u>>2]|0)+1}Je(c[z>>2]|0,c[A>>2]|0,c[t>>2]|0,c[E>>2]|0,c[C>>2]|0,g);ka(c[D>>2]|0);l=F;return}function df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+24|0;i=n+20|0;j=n+16|0;h=n+12|0;g=n+8|0;f=n+4|0;k=n;c[i>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0)){f=6;break}c[k>>2]=(c[(c[j>>2]|0)+(c[f>>2]<<1<<2)>>2]|0)+(c[(c[j>>2]|0)+((c[f>>2]<<1)+1<<2)>>2]|0);if((c[k>>2]|0)>(c[h>>2]|0)){f=4;break}c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]=c[k>>2];c[f>>2]=(c[f>>2]|0)+1}if((f|0)==4){c[m>>2]=1;m=c[m>>2]|0;l=n;return m|0}else if((f|0)==6){c[m>>2]=0;m=c[m>>2]|0;l=n;return m|0}return 0}function ef(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+24|0;j=p+20|0;o=p+16|0;h=p+12|0;n=p+8|0;m=p+4|0;i=p;c[k>>2]=b;c[j>>2]=d;c[o>>2]=e;c[h>>2]=f;c[n>>2]=g;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;Wg(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;e=0+((((Wg(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)|0)-2090&65535)<<16>>16)*2251>>16)&255;a[(c[k>>2]|0)+(c[m>>2]|0)>>0]=e;if((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)<(a[c[o>>2]>>0]|0)){e=(c[k>>2]|0)+(c[m>>2]|0)|0;a[e>>0]=(a[e>>0]|0)+1<<24>>24}if((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)<=63)if((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)<0)f=0;else f=a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0;else f=63;a[(c[k>>2]|0)+(c[m>>2]|0)>>0]=f;if((c[m>>2]|0)==0&(c[h>>2]|0)==0){f=a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0;do if(((a[c[o>>2]>>0]|0)+-4|0)>63){if((f|0)>((a[c[o>>2]>>0]|0)+-4|0)){f=(a[c[o>>2]>>0]|0)+-4|0;break}if((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)<63)f=63;else f=a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0}else if((f|0)<=63)if((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)<((a[c[o>>2]>>0]|0)+-4|0)){f=(a[c[o>>2]>>0]|0)+-4|0;break}else{f=a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0;break}else f=63;while(0);a[(c[k>>2]|0)+(c[m>>2]|0)>>0]=f;a[c[o>>2]>>0]=a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0}else{a[(c[k>>2]|0)+(c[m>>2]|0)>>0]=(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-(a[c[o>>2]>>0]|0);c[i>>2]=8+(a[c[o>>2]>>0]|0);if((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>(c[i>>2]|0))a[(c[k>>2]|0)+(c[m>>2]|0)>>0]=(c[i>>2]|0)+((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-(c[i>>2]|0)+1>>1);if((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)<=36)if((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)<-4)f=-4;else f=a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0;else f=36;a[(c[k>>2]|0)+(c[m>>2]|0)>>0]=f;f=a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0;if((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>(c[i>>2]|0)){e=c[o>>2]|0;a[e>>0]=(a[e>>0]|0)+((f<<1)-(c[i>>2]|0));e=(ff(a[c[o>>2]>>0]|0,63)|0)&255;a[c[o>>2]>>0]=e}else{e=c[o>>2]|0;a[e>>0]=(a[e>>0]|0)+f}e=(c[k>>2]|0)+(c[m>>2]|0)|0;a[e>>0]=(a[e>>0]|0)+4}e=_g(gf(((a[c[o>>2]>>0]<<16>>16)*29|0)+((a[c[o>>2]>>0]<<16>>16)*7281>>16)+2090|0,3967)|0)|0;c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]=e;c[m>>2]=(c[m>>2]|0)+1}l=p;return}function ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function gf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function hf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;j=q+28|0;k=q+24|0;p=q+20|0;h=q+16|0;o=q+12|0;n=q+8|0;m=q+4|0;i=q;c[j>>2]=b;c[k>>2]=d;c[p>>2]=e;c[h>>2]=f;c[o>>2]=g;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break;f=a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0;if((c[n>>2]|0)==0&(c[h>>2]|0)==0){e=(jf(f,(a[c[p>>2]>>0]|0)-16|0)|0)&255;a[c[p>>2]>>0]=e}else{c[m>>2]=f+-4;c[i>>2]=8+(a[c[p>>2]>>0]|0);f=c[m>>2]|0;if((c[m>>2]|0)>(c[i>>2]|0)){f=(f<<1)-(c[i>>2]|0)|0;b=c[p>>2]|0}else b=c[p>>2]|0;a[b>>0]=(a[b>>0]|0)+f}if((a[c[p>>2]>>0]|0)<=63)if((a[c[p>>2]>>0]|0)<0)f=0;else f=a[c[p>>2]>>0]|0;else f=63;a[c[p>>2]>>0]=f;e=_g(gf(((a[c[p>>2]>>0]<<16>>16)*29|0)+((a[c[p>>2]>>0]<<16>>16)*7281>>16)+2090|0,3967)|0)|0;c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]=e;c[n>>2]=(c[n>>2]|0)+1}l=q;return}function jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function kf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+12|0;h=i+8|0;g=i+4|0;e=i;c[f>>2]=b;c[h>>2]=d;c[e>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[h>>2]|0))break;c[e>>2]=(a[(c[f>>2]|0)+(c[g>>2]|0)>>0]|0)+(c[e>>2]<<8);c[g>>2]=(c[g>>2]|0)+1}l=i;return c[e>>2]|0}function lf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o+20|0;k=o+16|0;m=o+12|0;j=o+8|0;h=o+4|0;i=o;c[n>>2]=a;c[k>>2]=d;c[m>>2]=e;c[j>>2]=f;c[h>>2]=g;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;a=(b[(c[k>>2]|0)+(c[i>>2]<<1)>>1]|0)+((S(((b[(c[m>>2]|0)+(c[i>>2]<<1)>>1]|0)-(b[(c[k>>2]|0)+(c[i>>2]<<1)>>1]|0)&65535)<<16>>16,(c[j>>2]&65535)<<16>>16)|0)>>2)&65535;b[(c[n>>2]|0)+(c[i>>2]<<1)>>1]=a;c[i>>2]=(c[i>>2]|0)+1}l=o;return}function mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;k=m+36|0;i=m+32|0;j=m+28|0;h=m+16|0;g=m+8|0;e=m+4|0;f=m;c[k>>2]=a;c[i>>2]=b;c[j>>2]=d;c[e>>2]=0;c[f>>2]=0;if(!(c[(c[k>>2]|0)+12>>2]|0)){l=m;return}c[e>>2]=256-(c[(c[k>>2]|0)+8>>2]|0)<<10;c[f>>2]=c[e>>2]>>16;c[e>>2]=(c[e>>2]|0)-(c[f>>2]<<16);nf(h,g,c[f>>2]|0,c[e>>2]|0);if(((c[(c[k>>2]|0)+8>>2]|0)+(c[(c[k>>2]|0)+12>>2]|0)|0)<=256)if(((c[(c[k>>2]|0)+8>>2]|0)+(c[(c[k>>2]|0)+12>>2]|0)|0)<0)e=0;else e=(c[(c[k>>2]|0)+8>>2]|0)+(c[(c[k>>2]|0)+12>>2]|0)|0;else e=256;c[(c[k>>2]|0)+8>>2]=e;Rg(c[i>>2]|0,h,g,c[k>>2]|0,c[i>>2]|0,c[j>>2]|0);l=m;return}function nf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+20|0;f=m+16|0;i=m+12|0;h=m+8|0;k=m+4|0;j=m;c[g>>2]=a;c[f>>2]=b;c[i>>2]=d;c[h>>2]=e;if((c[i>>2]|0)>=4){k=c[g>>2]|0;c[k>>2]=c[4475];c[k+4>>2]=c[4476];c[k+8>>2]=c[4477];k=c[f>>2]|0;c[k>>2]=c[4486];c[k+4>>2]=c[4487];l=m;return}if((c[h>>2]|0)<=0){k=c[g>>2]|0;j=17852+((c[i>>2]|0)*12|0)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];k=c[f>>2]|0;j=17912+(c[i>>2]<<3)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];l=m;return}d=(c[h>>2]|0)<32768;c[k>>2]=0;if(d){while(1){if((c[k>>2]|0)>=3)break;d=S((c[17852+(((c[i>>2]|0)+1|0)*12|0)+(c[k>>2]<<2)>>2]|0)-(c[17852+((c[i>>2]|0)*12|0)+(c[k>>2]<<2)>>2]|0)>>16,(c[h>>2]&65535)<<16>>16)|0;d=(c[17852+((c[i>>2]|0)*12|0)+(c[k>>2]<<2)>>2]|0)+(d+((S((c[17852+(((c[i>>2]|0)+1|0)*12|0)+(c[k>>2]<<2)>>2]|0)-(c[17852+((c[i>>2]|0)*12|0)+(c[k>>2]<<2)>>2]|0)&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]=d;c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=0;while(1){if((c[j>>2]|0)>=2)break;k=S((c[17912+((c[i>>2]|0)+1<<3)+(c[j>>2]<<2)>>2]|0)-(c[17912+(c[i>>2]<<3)+(c[j>>2]<<2)>>2]|0)>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[17912+(c[i>>2]<<3)+(c[j>>2]<<2)>>2]|0)+(k+((S((c[17912+((c[i>>2]|0)+1<<3)+(c[j>>2]<<2)>>2]|0)-(c[17912+(c[i>>2]<<3)+(c[j>>2]<<2)>>2]|0)&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]=k;c[j>>2]=(c[j>>2]|0)+1}l=m;return}else{while(1){if((c[k>>2]|0)>=3)break;d=S((c[17852+(((c[i>>2]|0)+1|0)*12|0)+(c[k>>2]<<2)>>2]|0)-(c[17852+((c[i>>2]|0)*12|0)+(c[k>>2]<<2)>>2]|0)>>16,((c[h>>2]|0)-65536&65535)<<16>>16)|0;d=(c[17852+(((c[i>>2]|0)+1|0)*12|0)+(c[k>>2]<<2)>>2]|0)+(d+((S((c[17852+(((c[i>>2]|0)+1|0)*12|0)+(c[k>>2]<<2)>>2]|0)-(c[17852+((c[i>>2]|0)*12|0)+(c[k>>2]<<2)>>2]|0)&65535,((c[h>>2]|0)-65536&65535)<<16>>16)|0)>>16))|0;c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]=d;c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=0;while(1){if((c[j>>2]|0)>=2)break;k=S((c[17912+((c[i>>2]|0)+1<<3)+(c[j>>2]<<2)>>2]|0)-(c[17912+(c[i>>2]<<3)+(c[j>>2]<<2)>>2]|0)>>16,((c[h>>2]|0)-65536&65535)<<16>>16)|0;k=(c[17912+((c[i>>2]|0)+1<<3)+(c[j>>2]<<2)>>2]|0)+(k+((S((c[17912+((c[i>>2]|0)+1<<3)+(c[j>>2]<<2)>>2]|0)-(c[17912+(c[i>>2]<<3)+(c[j>>2]<<2)>>2]|0)&65535,((c[h>>2]|0)-65536&65535)<<16>>16)|0)>>16))|0;c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]=k;c[j>>2]=(c[j>>2]|0)+1}l=m;return}}function of(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+112|0;m=p+24|0;q=p+20|0;n=p+16|0;i=p+12|0;r=p+96|0;o=p+32|0;h=p+8|0;k=p+4|0;j=p;c[m>>2]=e;c[q>>2]=f;c[n>>2]=g;rg(p+64|0,r,c[n>>2]|0,a[c[q>>2]>>0]|0);pf(o,(c[q>>2]|0)+1|0,r,b[(c[n>>2]|0)+4>>1]|0,b[(c[n>>2]|0)+2>>1]|0);c[k>>2]=(c[(c[n>>2]|0)+8>>2]|0)+(S(a[c[q>>2]>>0]|0,b[(c[n>>2]|0)+2>>1]|0)|0);c[j>>2]=(c[(c[n>>2]|0)+12>>2]|0)+((S(a[c[q>>2]>>0]|0,b[(c[n>>2]|0)+2>>1]|0)|0)<<1);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(b[(c[n>>2]|0)+2>>1]|0))break;c[h>>2]=((b[o+(c[i>>2]<<1)>>1]<<14|0)/(b[(c[j>>2]|0)+(c[i>>2]<<1)>>1]|0)|0)+(d[(c[k>>2]|0)+(c[i>>2]|0)>>0]<<7);if((c[h>>2]|0)>32767)f=32767;else f=(c[h>>2]|0)<0?0:c[h>>2]|0;b[(c[m>>2]|0)+(c[i>>2]<<1)>>1]=f;c[i>>2]=(c[i>>2]|0)+1}gh(c[m>>2]|0,c[(c[n>>2]|0)+36>>2]|0,b[(c[n>>2]|0)+2>>1]|0);l=p;return}function pf(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+32|0;q=r+24|0;k=r+20|0;o=r+16|0;p=r+12|0;s=r+28|0;j=r+8|0;m=r+4|0;n=r;c[q>>2]=e;c[k>>2]=f;c[o>>2]=g;c[p>>2]=h;b[s>>1]=i;c[m>>2]=0;c[j>>2]=(b[s>>1]|0)-1;while(1){if((c[j>>2]|0)<0)break;c[n>>2]=(S((c[m>>2]&65535)<<16>>16,d[(c[o>>2]|0)+(c[j>>2]|0)>>0]|0)|0)>>8;c[m>>2]=a[(c[k>>2]|0)+(c[j>>2]|0)>>0]<<10;f=c[m>>2]|0;if((c[m>>2]|0)<=0){if((f|0)<0)c[m>>2]=(c[m>>2]|0)+102}else c[m>>2]=f-102;s=S(c[m>>2]>>16,(c[p>>2]&65535)<<16>>16)|0;c[m>>2]=(c[n>>2]|0)+(s+((S(c[m>>2]&65535,(c[p>>2]&65535)<<16>>16)|0)>>16));b[(c[q>>2]|0)+(c[j>>2]<<1)>>1]=c[m>>2];c[j>>2]=(c[j>>2]|0)+-1}l=r;return}function qf(d,e,f,g,h,i,j,k,m,n,o,p,q,r,s){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0;U=l;l=l+112|0;M=U+100|0;F=U+96|0;N=U+92|0;T=U+88|0;O=U+84|0;G=U+80|0;C=U+76|0;t=U+72|0;z=U+68|0;H=U+64|0;A=U+60|0;x=U+56|0;L=U+52|0;E=U+48|0;D=U+44|0;I=U+40|0;J=U+36|0;R=U+32|0;B=U+28|0;v=U+24|0;w=U+20|0;u=U+16|0;P=U+12|0;y=U+8|0;K=U+4|0;Q=U;c[M>>2]=d;c[F>>2]=e;c[N>>2]=f;c[T>>2]=g;c[O>>2]=h;c[G>>2]=i;c[C>>2]=j;c[t>>2]=k;c[z>>2]=m;c[H>>2]=n;c[A>>2]=o;c[x>>2]=p;c[L>>2]=q;c[E>>2]=r;c[D>>2]=s;c[(c[F>>2]|0)+4340>>2]=a[(c[N>>2]|0)+34>>0];c[J>>2]=c[(c[F>>2]|0)+4328>>2];c[K>>2]=b[24736+(a[(c[N>>2]|0)+29>>0]>>1<<2)+(a[(c[N>>2]|0)+30>>0]<<1)>>1];if((a[(c[N>>2]|0)+31>>0]|0)==4)c[B>>2]=0;else c[B>>2]=1;m=(c[(c[M>>2]|0)+4588>>2]|0)+(c[(c[M>>2]|0)+4580>>2]|0)|0;c[Q>>2]=la()|0;k=l;l=l+((1*(m<<2)|0)+15&-16)|0;m=l;l=l+((1*((c[(c[M>>2]|0)+4588>>2]|0)+(c[(c[M>>2]|0)+4580>>2]|0)<<1)|0)+15&-16)|0;p=l;l=l+((1*(c[(c[M>>2]|0)+4584>>2]<<2)|0)+15&-16)|0;c[(c[F>>2]|0)+4336>>2]=c[(c[M>>2]|0)+4588>>2];c[(c[F>>2]|0)+4332>>2]=c[(c[M>>2]|0)+4588>>2];c[P>>2]=(c[F>>2]|0)+(c[(c[M>>2]|0)+4588>>2]<<1);c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[M>>2]|0)+4576>>2]|0))break;c[v>>2]=(c[G>>2]|0)+((c[I>>2]>>1|1-(c[B>>2]|0))<<4<<1);c[w>>2]=(c[C>>2]|0)+((c[I>>2]|0)*5<<1);c[u>>2]=(c[t>>2]|0)+((c[I>>2]|0)*24<<1);c[y>>2]=c[(c[z>>2]|0)+(c[I>>2]<<2)>>2]>>2;c[y>>2]=c[y>>2]|c[(c[z>>2]|0)+(c[I>>2]<<2)>>2]>>1<<16;c[(c[F>>2]|0)+4348>>2]=0;if((a[(c[N>>2]|0)+29>>0]|0)==2?(c[J>>2]=c[(c[L>>2]|0)+(c[I>>2]<<2)>>2],(c[I>>2]&3-(c[B>>2]<<1)|0)==0):0){c[R>>2]=(c[(c[M>>2]|0)+4588>>2]|0)-(c[J>>2]|0)-(c[(c[M>>2]|0)+4636>>2]|0)-2;g=(c[F>>2]|0)+((c[R>>2]|0)+(S(c[I>>2]|0,c[(c[M>>2]|0)+4584>>2]|0)|0)<<1)|0;$g(m+(c[R>>2]<<1)|0,g,c[v>>2]|0,(c[(c[M>>2]|0)+4588>>2]|0)-(c[R>>2]|0)|0,c[(c[M>>2]|0)+4636>>2]|0,c[(c[M>>2]|0)+5088>>2]|0);c[(c[F>>2]|0)+4348>>2]=1;c[(c[F>>2]|0)+4332>>2]=c[(c[M>>2]|0)+4588>>2]}rf(c[M>>2]|0,c[F>>2]|0,c[T>>2]|0,p,m,k,c[I>>2]|0,c[D>>2]|0,c[x>>2]|0,c[L>>2]|0,a[(c[N>>2]|0)+29>>0]|0);sf(c[F>>2]|0,a[(c[N>>2]|0)+29>>0]|0,p,c[O>>2]|0,c[P>>2]|0,k,c[v>>2]|0,c[w>>2]|0,c[u>>2]|0,c[J>>2]|0,c[y>>2]|0,c[(c[H>>2]|0)+(c[I>>2]<<2)>>2]|0,c[(c[A>>2]|0)+(c[I>>2]<<2)>>2]|0,c[(c[x>>2]|0)+(c[I>>2]<<2)>>2]|0,c[E>>2]|0,c[K>>2]|0,c[(c[M>>2]|0)+4584>>2]|0,c[(c[M>>2]|0)+4632>>2]|0,c[(c[M>>2]|0)+4636>>2]|0,c[(c[M>>2]|0)+5088>>2]|0);c[T>>2]=(c[T>>2]|0)+(c[(c[M>>2]|0)+4584>>2]<<1);c[O>>2]=(c[O>>2]|0)+(c[(c[M>>2]|0)+4584>>2]|0);c[P>>2]=(c[P>>2]|0)+(c[(c[M>>2]|0)+4584>>2]<<1);c[I>>2]=(c[I>>2]|0)+1}c[(c[F>>2]|0)+4328>>2]=c[(c[L>>2]|0)+((c[(c[M>>2]|0)+4576>>2]|0)-1<<2)>>2];vk(c[F>>2]|0,(c[F>>2]|0)+(c[(c[M>>2]|0)+4580>>2]<<1)|0,c[(c[M>>2]|0)+4588>>2]<<1|0)|0;vk((c[F>>2]|0)+1280|0,(c[F>>2]|0)+1280+(c[(c[M>>2]|0)+4580>>2]<<2)|0,c[(c[M>>2]|0)+4588>>2]<<2|0)|0;ka(c[Q>>2]|0);l=U;return}function rf(a,d,e,f,g,h,i,j,k,m,n){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=l;l=l+64|0;w=D+60|0;q=D+56|0;B=D+52|0;C=D+48|0;x=D+44|0;y=D+40|0;A=D+36|0;p=D+32|0;o=D+28|0;E=D+24|0;z=D+20|0;s=D+16|0;v=D+12|0;r=D+8|0;u=D+4|0;t=D;c[w>>2]=a;c[q>>2]=d;c[B>>2]=e;c[C>>2]=f;c[x>>2]=g;c[y>>2]=h;c[A>>2]=i;c[p>>2]=j;c[o>>2]=k;c[E>>2]=m;c[z>>2]=n;c[v>>2]=c[(c[E>>2]|0)+(c[A>>2]<<2)>>2];if((c[(c[o>>2]|0)+(c[A>>2]<<2)>>2]|0)>1)k=c[(c[o>>2]|0)+(c[A>>2]<<2)>>2]|0;else k=1;c[u>>2]=vf(k,47)|0;c[t>>2]=(c[u>>2]>>4)+1>>1;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[w>>2]|0)+4584>>2]|0))break;E=S(b[(c[B>>2]|0)+(c[s>>2]<<1)>>1]>>16,(c[t>>2]&65535)<<16>>16)|0;E=E+((S(b[(c[B>>2]|0)+(c[s>>2]<<1)>>1]&65535,(c[t>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(S(b[(c[B>>2]|0)+(c[s>>2]<<1)>>1]|0,(c[t>>2]>>15)+1>>1)|0)|0;c[(c[C>>2]|0)+(c[s>>2]<<2)>>2]=E;c[s>>2]=(c[s>>2]|0)+1}a:do if(c[(c[q>>2]|0)+4348>>2]|0){if(!(c[A>>2]|0)){E=S(c[u>>2]>>16,(c[p>>2]&65535)<<16>>16)|0;c[u>>2]=E+((S(c[u>>2]&65535,(c[p>>2]&65535)<<16>>16)|0)>>16)<<2}c[s>>2]=(c[(c[q>>2]|0)+4332>>2]|0)-(c[v>>2]|0)-2;while(1){if((c[s>>2]|0)>=(c[(c[q>>2]|0)+4332>>2]|0))break a;E=S(c[u>>2]>>16,b[(c[x>>2]|0)+(c[s>>2]<<1)>>1]|0)|0;E=E+((S(c[u>>2]&65535,b[(c[x>>2]|0)+(c[s>>2]<<1)>>1]|0)|0)>>16)|0;c[(c[y>>2]|0)+(c[s>>2]<<2)>>2]=E;c[s>>2]=(c[s>>2]|0)+1}}while(0);if((c[(c[o>>2]|0)+(c[A>>2]<<2)>>2]|0)==(c[(c[q>>2]|0)+4344>>2]|0)){l=D;return}c[r>>2]=wf(c[(c[q>>2]|0)+4344>>2]|0,c[(c[o>>2]|0)+(c[A>>2]<<2)>>2]|0,16)|0;c[s>>2]=(c[(c[q>>2]|0)+4336>>2]|0)-(c[(c[w>>2]|0)+4588>>2]|0);while(1){if((c[s>>2]|0)>=(c[(c[q>>2]|0)+4336>>2]|0))break;E=S(c[r>>2]>>16,(c[(c[q>>2]|0)+1280+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0;E=E+((S(c[r>>2]&65535,(c[(c[q>>2]|0)+1280+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(S(c[r>>2]|0,(c[(c[q>>2]|0)+1280+(c[s>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[q>>2]|0)+1280+(c[s>>2]<<2)>>2]=E;c[s>>2]=(c[s>>2]|0)+1}b:do if((c[z>>2]|0)==2?(c[(c[q>>2]|0)+4348>>2]|0)==0:0){c[s>>2]=(c[(c[q>>2]|0)+4332>>2]|0)-(c[v>>2]|0)-2;while(1){if((c[s>>2]|0)>=(c[(c[q>>2]|0)+4332>>2]|0))break b;E=S(c[r>>2]>>16,(c[(c[y>>2]|0)+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0;E=E+((S(c[r>>2]&65535,(c[(c[y>>2]|0)+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(S(c[r>>2]|0,(c[(c[y>>2]|0)+(c[s>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[y>>2]|0)+(c[s>>2]<<2)>>2]=E;c[s>>2]=(c[s>>2]|0)+1}}while(0);E=S(c[r>>2]>>16,(c[(c[q>>2]|0)+4320>>2]&65535)<<16>>16)|0;E=E+((S(c[r>>2]&65535,(c[(c[q>>2]|0)+4320>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(S(c[r>>2]|0,(c[(c[q>>2]|0)+4320>>2]>>15)+1>>1)|0)|0;c[(c[q>>2]|0)+4320>>2]=E;E=S(c[r>>2]>>16,(c[(c[q>>2]|0)+4324>>2]&65535)<<16>>16)|0;E=E+((S(c[r>>2]&65535,(c[(c[q>>2]|0)+4324>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(S(c[r>>2]|0,(c[(c[q>>2]|0)+4324>>2]>>15)+1>>1)|0)|0;c[(c[q>>2]|0)+4324>>2]=E;c[s>>2]=0;while(1){if((c[s>>2]|0)>=16)break;E=S(c[r>>2]>>16,(c[(c[q>>2]|0)+3840+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0;E=E+((S(c[r>>2]&65535,(c[(c[q>>2]|0)+3840+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(S(c[r>>2]|0,(c[(c[q>>2]|0)+3840+(c[s>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[q>>2]|0)+3840+(c[s>>2]<<2)>>2]=E;c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=24)break;E=S(c[r>>2]>>16,(c[(c[q>>2]|0)+4224+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0;E=E+((S(c[r>>2]&65535,(c[(c[q>>2]|0)+4224+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(S(c[r>>2]|0,(c[(c[q>>2]|0)+4224+(c[s>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[q>>2]|0)+4224+(c[s>>2]<<2)>>2]=E;c[s>>2]=(c[s>>2]|0)+1}c[(c[q>>2]|0)+4344>>2]=c[(c[o>>2]|0)+(c[A>>2]<<2)>>2];l=D;return}function sf(d,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;var y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;na=l;l=l+176|0;la=na+172|0;fa=na+168|0;ia=na+164|0;U=na+160|0;ja=na+156|0;ca=na+152|0;H=na+148|0;I=na+144|0;y=na+140|0;L=na+136|0;A=na+132|0;G=na+128|0;B=na+124|0;oa=na+120|0;F=na+116|0;P=na+112|0;ma=na+108|0;da=na+104|0;R=na+100|0;K=na+92|0;E=na+88|0;D=na+84|0;M=na+80|0;O=na+76|0;N=na+72|0;Y=na+68|0;aa=na+64|0;V=na+60|0;W=na+56|0;X=na+52|0;Z=na+48|0;_=na+44|0;J=na+40|0;C=na+36|0;ka=na+32|0;z=na+28|0;ga=na+24|0;ha=na+20|0;ba=na+16|0;T=na+12|0;ea=na+8|0;Q=na+4|0;$=na;c[la>>2]=d;c[fa>>2]=e;c[ia>>2]=f;c[U>>2]=g;c[ja>>2]=h;c[ca>>2]=i;c[H>>2]=j;c[I>>2]=k;c[y>>2]=m;c[L>>2]=n;c[A>>2]=o;c[G>>2]=p;c[B>>2]=q;c[oa>>2]=r;c[F>>2]=s;c[P>>2]=t;c[ma>>2]=u;c[da>>2]=v;c[R>>2]=w;c[na+96>>2]=x;c[ea>>2]=(c[la>>2]|0)+1280+((c[(c[la>>2]|0)+4336>>2]|0)-(c[L>>2]|0)+1<<2);c[Q>>2]=(c[ca>>2]|0)+((c[(c[la>>2]|0)+4332>>2]|0)-(c[L>>2]|0)+2<<2);c[z>>2]=c[oa>>2]>>6;c[T>>2]=(c[la>>2]|0)+3840+60;c[K>>2]=0;while(1){m=c[la>>2]|0;if((c[K>>2]|0)>=(c[ma>>2]|0))break;oa=907633515+(S(c[m+4340>>2]|0,196314165)|0)|0;c[(c[la>>2]|0)+4340>>2]=oa;c[D>>2]=tf(c[T>>2]|0,c[H>>2]|0,c[R>>2]|0)|0;if((c[fa>>2]|0)==2){c[E>>2]=2;oa=S(c[c[Q>>2]>>2]>>16,b[c[I>>2]>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(oa+((S(c[c[Q>>2]>>2]&65535,b[c[I>>2]>>1]|0)|0)>>16));oa=S(c[(c[Q>>2]|0)+-4>>2]>>16,b[(c[I>>2]|0)+2>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(oa+((S(c[(c[Q>>2]|0)+-4>>2]&65535,b[(c[I>>2]|0)+2>>1]|0)|0)>>16));oa=S(c[(c[Q>>2]|0)+-8>>2]>>16,b[(c[I>>2]|0)+4>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(oa+((S(c[(c[Q>>2]|0)+-8>>2]&65535,b[(c[I>>2]|0)+4>>1]|0)|0)>>16));oa=S(c[(c[Q>>2]|0)+-12>>2]>>16,b[(c[I>>2]|0)+6>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(oa+((S(c[(c[Q>>2]|0)+-12>>2]&65535,b[(c[I>>2]|0)+6>>1]|0)|0)>>16));oa=S(c[(c[Q>>2]|0)+-16>>2]>>16,b[(c[I>>2]|0)+8>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(oa+((S(c[(c[Q>>2]|0)+-16>>2]&65535,b[(c[I>>2]|0)+8>>1]|0)|0)>>16));c[Q>>2]=(c[Q>>2]|0)+4}else c[E>>2]=0;c[M>>2]=uf((c[la>>2]|0)+4324|0,(c[la>>2]|0)+4224|0,c[y>>2]|0,c[da>>2]|0)|0;oa=S(c[(c[la>>2]|0)+4320>>2]>>16,(c[G>>2]&65535)<<16>>16)|0;c[M>>2]=(c[M>>2]|0)+(oa+((S(c[(c[la>>2]|0)+4320>>2]&65535,(c[G>>2]&65535)<<16>>16)|0)>>16));oa=S(c[(c[la>>2]|0)+1280+((c[(c[la>>2]|0)+4336>>2]|0)-1<<2)>>2]>>16,(c[B>>2]&65535)<<16>>16)|0;c[N>>2]=oa+((S(c[(c[la>>2]|0)+1280+((c[(c[la>>2]|0)+4336>>2]|0)-1<<2)>>2]&65535,(c[B>>2]&65535)<<16>>16)|0)>>16);oa=(c[N>>2]|0)+(S(c[(c[la>>2]|0)+4320>>2]>>16,c[B>>2]>>16)|0)|0;c[N>>2]=oa+((S(c[(c[la>>2]|0)+4320>>2]&65535,c[B>>2]>>16)|0)>>16);c[ga>>2]=(c[D>>2]<<2)-(c[M>>2]|0);c[ga>>2]=(c[ga>>2]|0)-(c[N>>2]|0);if((c[L>>2]|0)>0){oa=S((c[c[ea>>2]>>2]|0)+(c[(c[ea>>2]|0)+-8>>2]|0)>>16,(c[A>>2]&65535)<<16>>16)|0;c[O>>2]=oa+((S((c[c[ea>>2]>>2]|0)+(c[(c[ea>>2]|0)+-8>>2]|0)&65535,(c[A>>2]&65535)<<16>>16)|0)>>16);oa=(c[O>>2]|0)+(S(c[(c[ea>>2]|0)+-4>>2]>>16,c[A>>2]>>16)|0)|0;c[O>>2]=oa+((S(c[(c[ea>>2]|0)+-4>>2]&65535,c[A>>2]>>16)|0)>>16);c[O>>2]=c[O>>2]<<1;c[ea>>2]=(c[ea>>2]|0)+4;c[ha>>2]=(c[E>>2]|0)-(c[O>>2]|0);c[ga>>2]=(c[ha>>2]|0)+(c[ga>>2]<<1);c[ga>>2]=(c[ga>>2]>>2)+1>>1}else c[ga>>2]=(c[ga>>2]>>1)+1>>1;c[Y>>2]=(c[(c[ia>>2]|0)+(c[K>>2]<<2)>>2]|0)-(c[ga>>2]|0);if((c[(c[la>>2]|0)+4340>>2]|0)<0)c[Y>>2]=0-(c[Y>>2]|0);if((c[Y>>2]|0)>30720)m=30720;else m=(c[Y>>2]|0)<-31744?-31744:c[Y>>2]|0;c[Y>>2]=m;c[W>>2]=(c[Y>>2]|0)-(c[P>>2]|0);c[V>>2]=c[W>>2]>>10;do if((c[F>>2]|0)>2048){c[$>>2]=((c[F>>2]|0)/2|0)-512;m=c[W>>2]|0;r=c[$>>2]|0;if((c[W>>2]|0)>(c[$>>2]|0)){c[V>>2]=m-r>>10;break}o=c[W>>2]|0;if((m|0)<(0-r|0)){c[V>>2]=o+(c[$>>2]|0)>>10;break}if((o|0)<0){c[V>>2]=-1;break}else{c[V>>2]=0;break}}while(0);m=c[V>>2]|0;do if((c[V>>2]|0)<=0){if(!m){c[W>>2]=c[P>>2];c[X>>2]=(c[W>>2]|0)+944;c[Z>>2]=S((c[W>>2]&65535)<<16>>16,(c[F>>2]&65535)<<16>>16)|0;c[_>>2]=S((c[X>>2]&65535)<<16>>16,(c[F>>2]&65535)<<16>>16)|0;break}if((c[V>>2]|0)==-1){c[X>>2]=c[P>>2];c[W>>2]=(c[X>>2]|0)-944;c[Z>>2]=S((0-(c[W>>2]|0)&65535)<<16>>16,(c[F>>2]&65535)<<16>>16)|0;c[_>>2]=S((c[X>>2]&65535)<<16>>16,(c[F>>2]&65535)<<16>>16)|0;break}else{c[W>>2]=(c[V>>2]<<10)+80;c[W>>2]=(c[W>>2]|0)+(c[P>>2]|0);c[X>>2]=(c[W>>2]|0)+1024;c[Z>>2]=S((0-(c[W>>2]|0)&65535)<<16>>16,(c[F>>2]&65535)<<16>>16)|0;c[_>>2]=S((0-(c[X>>2]|0)&65535)<<16>>16,(c[F>>2]&65535)<<16>>16)|0;break}}else{c[W>>2]=(m<<10)-80;c[W>>2]=(c[W>>2]|0)+(c[P>>2]|0);c[X>>2]=(c[W>>2]|0)+1024;c[Z>>2]=S((c[W>>2]&65535)<<16>>16,(c[F>>2]&65535)<<16>>16)|0;c[_>>2]=S((c[X>>2]&65535)<<16>>16,(c[F>>2]&65535)<<16>>16)|0}while(0);c[aa>>2]=(c[Y>>2]|0)-(c[W>>2]|0);c[Z>>2]=(c[Z>>2]|0)+(S((c[aa>>2]&65535)<<16>>16,(c[aa>>2]&65535)<<16>>16)|0);c[aa>>2]=(c[Y>>2]|0)-(c[X>>2]|0);c[_>>2]=(c[_>>2]|0)+(S((c[aa>>2]&65535)<<16>>16,(c[aa>>2]&65535)<<16>>16)|0);if((c[_>>2]|0)<(c[Z>>2]|0))c[W>>2]=c[X>>2];a[(c[U>>2]|0)+(c[K>>2]|0)>>0]=(c[W>>2]>>9)+1>>1;c[J>>2]=c[W>>2]<<4;if((c[(c[la>>2]|0)+4340>>2]|0)<0)c[J>>2]=0-(c[J>>2]|0);c[C>>2]=(c[J>>2]|0)+(c[E>>2]<<1);c[ka>>2]=(c[C>>2]|0)+(c[D>>2]<<4);oa=S(c[ka>>2]>>16,(c[z>>2]&65535)<<16>>16)|0;oa=oa+((S(c[ka>>2]&65535,(c[z>>2]&65535)<<16>>16)|0)>>16)|0;if(((oa+(S(c[ka>>2]|0,(c[z>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){oa=S(c[ka>>2]>>16,(c[z>>2]&65535)<<16>>16)|0;oa=oa+((S(c[ka>>2]&65535,(c[z>>2]&65535)<<16>>16)|0)>>16)|0;if(((oa+(S(c[ka>>2]|0,(c[z>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)m=-32768;else{m=S(c[ka>>2]>>16,(c[z>>2]&65535)<<16>>16)|0;m=m+((S(c[ka>>2]&65535,(c[z>>2]&65535)<<16>>16)|0)>>16)|0;m=(m+(S(c[ka>>2]|0,(c[z>>2]>>15)+1>>1)|0)>>7)+1>>1}}else m=32767;b[(c[ja>>2]|0)+(c[K>>2]<<1)>>1]=m;c[T>>2]=(c[T>>2]|0)+4;c[c[T>>2]>>2]=c[ka>>2];c[(c[la>>2]|0)+4324>>2]=(c[ka>>2]|0)-(c[(c[ia>>2]|0)+(c[K>>2]<<2)>>2]<<4);c[ba>>2]=(c[(c[la>>2]|0)+4324>>2]|0)-(c[M>>2]<<2);c[(c[la>>2]|0)+4320>>2]=c[ba>>2];c[(c[la>>2]|0)+1280+(c[(c[la>>2]|0)+4336>>2]<<2)>>2]=(c[ba>>2]|0)-(c[N>>2]<<2);c[(c[ca>>2]|0)+(c[(c[la>>2]|0)+4332>>2]<<2)>>2]=c[C>>2]<<1;oa=(c[la>>2]|0)+4336|0;c[oa>>2]=(c[oa>>2]|0)+1;oa=(c[la>>2]|0)+4332|0;c[oa>>2]=(c[oa>>2]|0)+1;c[(c[la>>2]|0)+4340>>2]=(c[(c[la>>2]|0)+4340>>2]|0)+(a[(c[U>>2]|0)+(c[K>>2]|0)>>0]|0);c[K>>2]=(c[K>>2]|0)+1}o=m+3840|0;m=(c[la>>2]|0)+3840+(c[ma>>2]<<2)|0;r=o+64|0;do{c[o>>2]=c[m>>2];o=o+4|0;m=m+4|0}while((o|0)<(r|0));l=na;return}function tf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;f=i+12|0;g=i+8|0;j=i+4|0;h=i;c[f>>2]=a;c[g>>2]=d;c[j>>2]=e;c[h>>2]=c[j>>2]>>1;e=S(c[c[f>>2]>>2]>>16,b[c[g>>2]>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[c[f>>2]>>2]&65535,b[c[g>>2]>>1]|0)|0)>>16));e=S(c[(c[f>>2]|0)+-4>>2]>>16,b[(c[g>>2]|0)+2>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[(c[f>>2]|0)+-4>>2]&65535,b[(c[g>>2]|0)+2>>1]|0)|0)>>16));e=S(c[(c[f>>2]|0)+-8>>2]>>16,b[(c[g>>2]|0)+4>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[(c[f>>2]|0)+-8>>2]&65535,b[(c[g>>2]|0)+4>>1]|0)|0)>>16));e=S(c[(c[f>>2]|0)+-12>>2]>>16,b[(c[g>>2]|0)+6>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[(c[f>>2]|0)+-12>>2]&65535,b[(c[g>>2]|0)+6>>1]|0)|0)>>16));e=S(c[(c[f>>2]|0)+-16>>2]>>16,b[(c[g>>2]|0)+8>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[(c[f>>2]|0)+-16>>2]&65535,b[(c[g>>2]|0)+8>>1]|0)|0)>>16));e=S(c[(c[f>>2]|0)+-20>>2]>>16,b[(c[g>>2]|0)+10>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[(c[f>>2]|0)+-20>>2]&65535,b[(c[g>>2]|0)+10>>1]|0)|0)>>16));e=S(c[(c[f>>2]|0)+-24>>2]>>16,b[(c[g>>2]|0)+12>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[(c[f>>2]|0)+-24>>2]&65535,b[(c[g>>2]|0)+12>>1]|0)|0)>>16));e=S(c[(c[f>>2]|0)+-28>>2]>>16,b[(c[g>>2]|0)+14>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[(c[f>>2]|0)+-28>>2]&65535,b[(c[g>>2]|0)+14>>1]|0)|0)>>16));e=S(c[(c[f>>2]|0)+-32>>2]>>16,b[(c[g>>2]|0)+16>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[(c[f>>2]|0)+-32>>2]&65535,b[(c[g>>2]|0)+16>>1]|0)|0)>>16));e=S(c[(c[f>>2]|0)+-36>>2]>>16,b[(c[g>>2]|0)+18>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[(c[f>>2]|0)+-36>>2]&65535,b[(c[g>>2]|0)+18>>1]|0)|0)>>16));if((c[j>>2]|0)!=16){j=c[h>>2]|0;l=i;return j|0}j=S(c[(c[f>>2]|0)+-40>>2]>>16,b[(c[g>>2]|0)+20>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(j+((S(c[(c[f>>2]|0)+-40>>2]&65535,b[(c[g>>2]|0)+20>>1]|0)|0)>>16));j=S(c[(c[f>>2]|0)+-44>>2]>>16,b[(c[g>>2]|0)+22>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(j+((S(c[(c[f>>2]|0)+-44>>2]&65535,b[(c[g>>2]|0)+22>>1]|0)|0)>>16));j=S(c[(c[f>>2]|0)+-48>>2]>>16,b[(c[g>>2]|0)+24>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(j+((S(c[(c[f>>2]|0)+-48>>2]&65535,b[(c[g>>2]|0)+24>>1]|0)|0)>>16));j=S(c[(c[f>>2]|0)+-52>>2]>>16,b[(c[g>>2]|0)+26>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(j+((S(c[(c[f>>2]|0)+-52>>2]&65535,b[(c[g>>2]|0)+26>>1]|0)|0)>>16));j=S(c[(c[f>>2]|0)+-56>>2]>>16,b[(c[g>>2]|0)+28>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(j+((S(c[(c[f>>2]|0)+-56>>2]&65535,b[(c[g>>2]|0)+28>>1]|0)|0)>>16));j=S(c[(c[f>>2]|0)+-60>>2]>>16,b[(c[g>>2]|0)+30>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(j+((S(c[(c[f>>2]|0)+-60>>2]&65535,b[(c[g>>2]|0)+30>>1]|0)|0)>>16));j=c[h>>2]|0;l=i;return j|0}function uf(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;p=o+28|0;h=o+24|0;g=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;i=o;c[p>>2]=a;c[h>>2]=d;c[g>>2]=e;c[j>>2]=f;c[n>>2]=c[c[p>>2]>>2];c[m>>2]=c[c[h>>2]>>2];c[c[h>>2]>>2]=c[n>>2];c[k>>2]=c[j>>2]>>1;f=S(c[n>>2]>>16,b[c[g>>2]>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(f+((S(c[n>>2]&65535,b[c[g>>2]>>1]|0)|0)>>16));c[i>>2]=2;while(1){if((c[i>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=c[(c[h>>2]|0)+((c[i>>2]|0)-1<<2)>>2];c[(c[h>>2]|0)+((c[i>>2]|0)-1<<2)>>2]=c[m>>2];p=S(c[m>>2]>>16,b[(c[g>>2]|0)+((c[i>>2]|0)-1<<1)>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(p+((S(c[m>>2]&65535,b[(c[g>>2]|0)+((c[i>>2]|0)-1<<1)>>1]|0)|0)>>16));c[m>>2]=c[(c[h>>2]|0)+((c[i>>2]|0)+0<<2)>>2];c[(c[h>>2]|0)+((c[i>>2]|0)+0<<2)>>2]=c[n>>2];p=S(c[n>>2]>>16,b[(c[g>>2]|0)+(c[i>>2]<<1)>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(p+((S(c[n>>2]&65535,b[(c[g>>2]|0)+(c[i>>2]<<1)>>1]|0)|0)>>16));c[i>>2]=(c[i>>2]|0)+2}c[(c[h>>2]|0)+((c[j>>2]|0)-1<<2)>>2]=c[m>>2];p=S(c[m>>2]>>16,b[(c[g>>2]|0)+((c[j>>2]|0)-1<<1)>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(p+((S(c[m>>2]&65535,b[(c[g>>2]|0)+((c[j>>2]|0)-1<<1)>>1]|0)|0)>>16));c[k>>2]=c[k>>2]<<1;l=o;return c[k>>2]|0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+48|0;g=h+32|0;n=h+28|0;d=h+24|0;i=h+20|0;f=h+16|0;j=h+12|0;m=h+8|0;k=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;b=c[n>>2]|0;c[i>>2]=(xf((c[n>>2]|0)>0?b:0-b|0)|0)-1;c[m>>2]=c[n>>2]<<c[i>>2];c[j>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[j>>2]<<16;b=S(c[m>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;c[k>>2]=536870912-(b+((S(c[m>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))<<3;b=S(c[k>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;b=(c[e>>2]|0)+(b+((S(c[k>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=b+(S(c[k>>2]|0,(c[j>>2]>>15)+1>>1)|0);c[f>>2]=61-(c[i>>2]|0)-(c[d>>2]|0);b=c[f>>2]|0;if((c[f>>2]|0)>0)if((b|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];n=c[g>>2]|0;l=h;return n|0}else{c[g>>2]=0;n=c[g>>2]|0;l=h;return n|0}a=c[e>>2]|0;d=0-(c[f>>2]|0)|0;do if((-2147483648>>0-b|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>d|0)){b=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){b=2147483647>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>d|0)){b=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){b=-2147483648>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}while(0);c[g>>2]=b<<0-(c[f>>2]|0);n=c[g>>2]|0;l=h;return n|0}function wf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;h=l;l=l+48|0;g=h+40|0;q=h+36|0;p=h+32|0;i=h+28|0;k=h+24|0;j=h+20|0;f=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;e=h;c[q>>2]=a;c[p>>2]=b;c[i>>2]=d;b=c[q>>2]|0;c[k>>2]=(xf((c[q>>2]|0)>0?b:0-b|0)|0)-1;c[n>>2]=c[q>>2]<<c[k>>2];b=c[p>>2]|0;c[j>>2]=(xf((c[p>>2]|0)>0?b:0-b|0)|0)-1;c[o>>2]=c[p>>2]<<c[j>>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;b=S(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=b+((S(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);b=c[n>>2]|0;a=c[o>>2]|0;d=c[e>>2]|0;d=rk(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=sk(d|0,D|0,32)|0;c[n>>2]=b-(d<<3);d=S(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(d+((S(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[f>>2]=29+(c[k>>2]|0)-(c[j>>2]|0)-(c[i>>2]|0);d=c[f>>2]|0;if((c[f>>2]|0)>=0)if((d|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];q=c[g>>2]|0;l=h;return q|0}else{c[g>>2]=0;q=c[g>>2]|0;l=h;return q|0}a=c[e>>2]|0;b=0-(c[f>>2]|0)|0;do if((-2147483648>>0-d|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>b|0)){d=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){d=2147483647>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>b|0)){d=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){d=-2147483648>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}while(0);c[g>>2]=d<<0-(c[f>>2]|0);q=c[g>>2]|0;l=h;return q|0}function xf(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(V(c[b>>2]|0)|0))|0;l=d;return b|0}function yf(d,e,f,g,h,i,j,k,m,n,o,p,q,r,s){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ca=l;l=l+304|0;_=ca+296|0;U=ca+292|0;N=ca+288|0;R=ca+284|0;$=ca+280|0;F=ca+276|0;C=ca+272|0;t=ca+268|0;z=ca+264|0;H=ca+260|0;A=ca+256|0;x=ca+252|0;Y=ca+248|0;E=ca+244|0;D=ca+240|0;W=ca+236|0;K=ca+232|0;L=ca+228|0;P=ca+224|0;B=ca+220|0;I=ca+216|0;Q=ca+212|0;X=ca+208|0;O=ca+204|0;V=ca+200|0;v=ca+196|0;w=ca+192|0;u=ca+188|0;aa=ca+184|0;y=ca+180|0;M=ca+176|0;G=ca+172|0;T=ca+168|0;Z=ca+164|0;ba=ca+160|0;J=ca;c[_>>2]=d;c[U>>2]=e;c[N>>2]=f;c[R>>2]=g;c[$>>2]=h;c[F>>2]=i;c[C>>2]=j;c[t>>2]=k;c[z>>2]=m;c[H>>2]=n;c[A>>2]=o;c[x>>2]=p;c[Y>>2]=q;c[E>>2]=r;c[D>>2]=s;c[L>>2]=c[(c[U>>2]|0)+4328>>2];g=c[(c[_>>2]|0)+4624>>2]|0;c[ba>>2]=la()|0;j=l;l=l+((1*(g*1300|0)|0)+15&-16)|0;wk(j|0,0,(c[(c[_>>2]|0)+4624>>2]|0)*1300|0)|0;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[(c[_>>2]|0)+4624>>2]|0))break;c[Z>>2]=j+((c[K>>2]|0)*1300|0);c[(c[Z>>2]|0)+1288>>2]=(c[K>>2]|0)+(a[(c[N>>2]|0)+34>>0]|0)&3;c[(c[Z>>2]|0)+1292>>2]=c[(c[Z>>2]|0)+1288>>2];c[(c[Z>>2]|0)+1296>>2]=0;c[(c[Z>>2]|0)+1280>>2]=c[(c[U>>2]|0)+4320>>2];c[(c[Z>>2]|0)+1284>>2]=c[(c[U>>2]|0)+4324>>2];c[(c[Z>>2]|0)+1024>>2]=c[(c[U>>2]|0)+1280+((c[(c[_>>2]|0)+4588>>2]|0)-1<<2)>>2];k=c[Z>>2]|0;p=(c[U>>2]|0)+3840|0;m=k+64|0;do{c[k>>2]=c[p>>2];k=k+4|0;p=p+4|0}while((k|0)<(m|0));k=(c[Z>>2]|0)+1184|0;p=(c[U>>2]|0)+4224|0;m=k+96|0;do{c[k>>2]=c[p>>2];k=k+4|0;p=p+4|0}while((k|0)<(m|0));c[K>>2]=(c[K>>2]|0)+1}c[M>>2]=b[24736+(a[(c[N>>2]|0)+29>>0]>>1<<2)+(a[(c[N>>2]|0)+30>>0]<<1)>>1];c[O>>2]=0;c[V>>2]=zf(40,c[(c[_>>2]|0)+4584>>2]|0)|0;a:do if((a[(c[N>>2]|0)+29>>0]|0)!=2){if((c[L>>2]|0)>0)c[V>>2]=zf(c[V>>2]|0,(c[L>>2]|0)-2-1|0)|0}else{c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[(c[_>>2]|0)+4576>>2]|0))break a;c[V>>2]=zf(c[V>>2]|0,(c[(c[Y>>2]|0)+(c[K>>2]<<2)>>2]|0)-2-1|0)|0;c[K>>2]=(c[K>>2]|0)+1}}while(0);if((a[(c[N>>2]|0)+31>>0]|0)==4)c[B>>2]=0;else c[B>>2]=1;p=l;l=l+((1*((c[(c[_>>2]|0)+4588>>2]|0)+(c[(c[_>>2]|0)+4580>>2]|0)<<2)|0)+15&-16)|0;m=l;l=l+((1*((c[(c[_>>2]|0)+4588>>2]|0)+(c[(c[_>>2]|0)+4580>>2]|0)<<1)|0)+15&-16)|0;o=l;l=l+((1*(c[(c[_>>2]|0)+4584>>2]<<2)|0)+15&-16)|0;c[aa>>2]=(c[U>>2]|0)+(c[(c[_>>2]|0)+4588>>2]<<1);c[(c[U>>2]|0)+4336>>2]=c[(c[_>>2]|0)+4588>>2];c[(c[U>>2]|0)+4332>>2]=c[(c[_>>2]|0)+4588>>2];c[Q>>2]=0;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[(c[_>>2]|0)+4576>>2]|0))break;c[v>>2]=(c[F>>2]|0)+((c[K>>2]>>1|1-(c[B>>2]|0))<<4<<1);c[w>>2]=(c[C>>2]|0)+((c[K>>2]|0)*5<<1);c[u>>2]=(c[t>>2]|0)+((c[K>>2]|0)*24<<1);c[y>>2]=c[(c[z>>2]|0)+(c[K>>2]<<2)>>2]>>2;c[y>>2]=c[y>>2]|c[(c[z>>2]|0)+(c[K>>2]<<2)>>2]>>1<<16;c[(c[U>>2]|0)+4348>>2]=0;if((a[(c[N>>2]|0)+29>>0]|0)==2?(c[L>>2]=c[(c[Y>>2]|0)+(c[K>>2]<<2)>>2],(c[K>>2]&3-(c[B>>2]<<1)|0)==0):0){if((c[K>>2]|0)==2){c[G>>2]=c[j+1296>>2];c[I>>2]=0;c[W>>2]=1;while(1){if((c[W>>2]|0)>=(c[(c[_>>2]|0)+4624>>2]|0))break;if((c[j+((c[W>>2]|0)*1300|0)+1296>>2]|0)<(c[G>>2]|0)){c[G>>2]=c[j+((c[W>>2]|0)*1300|0)+1296>>2];c[I>>2]=c[W>>2]}c[W>>2]=(c[W>>2]|0)+1}c[W>>2]=0;while(1){if((c[W>>2]|0)>=(c[(c[_>>2]|0)+4624>>2]|0))break;if((c[W>>2]|0)!=(c[I>>2]|0)){g=j+((c[W>>2]|0)*1300|0)+1296|0;c[g>>2]=(c[g>>2]|0)+134217727}c[W>>2]=(c[W>>2]|0)+1}c[Z>>2]=j+((c[I>>2]|0)*1300|0);c[X>>2]=(c[O>>2]|0)+(c[V>>2]|0);c[W>>2]=0;while(1){if((c[W>>2]|0)>=(c[V>>2]|0))break;c[X>>2]=((c[X>>2]|0)-1|0)%40|0;if((c[X>>2]|0)<0)c[X>>2]=(c[X>>2]|0)+40;a[(c[$>>2]|0)+((c[W>>2]|0)-(c[V>>2]|0))>>0]=(c[(c[Z>>2]|0)+544+(c[X>>2]<<2)>>2]>>9)+1>>1;g=S(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]>>16,(c[(c[x>>2]|0)+4>>2]&65535)<<16>>16)|0;g=g+((S(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]&65535,(c[(c[x>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((g+(S(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]|0,(c[(c[x>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1|0)<=32767){g=S(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]>>16,(c[(c[x>>2]|0)+4>>2]&65535)<<16>>16)|0;g=g+((S(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]&65535,(c[(c[x>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((g+(S(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]|0,(c[(c[x>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1|0)<-32768)k=-32768;else{k=S(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]>>16,(c[(c[x>>2]|0)+4>>2]&65535)<<16>>16)|0;k=k+((S(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]&65535,(c[(c[x>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;k=(k+(S(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]|0,(c[(c[x>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1}}else k=32767;b[(c[aa>>2]|0)+((c[W>>2]|0)-(c[V>>2]|0)<<1)>>1]=k;c[(c[U>>2]|0)+1280+((c[(c[U>>2]|0)+4336>>2]|0)-(c[V>>2]|0)+(c[W>>2]|0)<<2)>>2]=c[(c[Z>>2]|0)+1024+(c[X>>2]<<2)>>2];c[W>>2]=(c[W>>2]|0)+1}c[Q>>2]=0}c[P>>2]=(c[(c[_>>2]|0)+4588>>2]|0)-(c[L>>2]|0)-(c[(c[_>>2]|0)+4636>>2]|0)-2;g=(c[U>>2]|0)+((c[P>>2]|0)+(S(c[K>>2]|0,c[(c[_>>2]|0)+4584>>2]|0)|0)<<1)|0;$g(m+(c[P>>2]<<1)|0,g,c[v>>2]|0,(c[(c[_>>2]|0)+4588>>2]|0)-(c[P>>2]|0)|0,c[(c[_>>2]|0)+4636>>2]|0,c[(c[_>>2]|0)+5088>>2]|0);c[(c[U>>2]|0)+4332>>2]=c[(c[_>>2]|0)+4588>>2];c[(c[U>>2]|0)+4348>>2]=1}Af(c[_>>2]|0,c[U>>2]|0,j,c[R>>2]|0,o,m,p,c[K>>2]|0,c[(c[_>>2]|0)+4624>>2]|0,c[D>>2]|0,c[x>>2]|0,c[Y>>2]|0,a[(c[N>>2]|0)+29>>0]|0,c[V>>2]|0);ha=c[U>>2]|0;ga=a[(c[N>>2]|0)+29>>0]|0;fa=c[$>>2]|0;ea=c[aa>>2]|0;da=c[v>>2]|0;k=c[w>>2]|0;s=c[u>>2]|0;r=c[L>>2]|0;e=c[y>>2]|0;i=c[(c[H>>2]|0)+(c[K>>2]<<2)>>2]|0;n=c[(c[A>>2]|0)+(c[K>>2]<<2)>>2]|0;q=c[(c[x>>2]|0)+(c[K>>2]<<2)>>2]|0;d=c[E>>2]|0;f=c[M>>2]|0;h=c[(c[_>>2]|0)+4584>>2]|0;g=c[Q>>2]|0;c[Q>>2]=g+1;Bf(ha,j,ga,o,fa,ea,p,J,da,k,s,r,e,i,n,q,d,f,h,g,c[(c[_>>2]|0)+4632>>2]|0,c[(c[_>>2]|0)+4636>>2]|0,c[(c[_>>2]|0)+4668>>2]|0,c[(c[_>>2]|0)+4624>>2]|0,O,c[V>>2]|0,c[(c[_>>2]|0)+5088>>2]|0);c[R>>2]=(c[R>>2]|0)+(c[(c[_>>2]|0)+4584>>2]<<1);c[$>>2]=(c[$>>2]|0)+(c[(c[_>>2]|0)+4584>>2]|0);c[aa>>2]=(c[aa>>2]|0)+(c[(c[_>>2]|0)+4584>>2]<<1);c[K>>2]=(c[K>>2]|0)+1}c[G>>2]=c[j+1296>>2];c[I>>2]=0;c[K>>2]=1;while(1){if((c[K>>2]|0)>=(c[(c[_>>2]|0)+4624>>2]|0))break;if((c[j+((c[K>>2]|0)*1300|0)+1296>>2]|0)<(c[G>>2]|0)){c[G>>2]=c[j+((c[K>>2]|0)*1300|0)+1296>>2];c[I>>2]=c[K>>2]}c[K>>2]=(c[K>>2]|0)+1}c[Z>>2]=j+((c[I>>2]|0)*1300|0);a[(c[N>>2]|0)+34>>0]=c[(c[Z>>2]|0)+1292>>2];c[X>>2]=(c[O>>2]|0)+(c[V>>2]|0);c[T>>2]=c[(c[x>>2]|0)+((c[(c[_>>2]|0)+4576>>2]|0)-1<<2)>>2]>>6;c[W>>2]=0;while(1){if((c[W>>2]|0)>=(c[V>>2]|0))break;c[X>>2]=((c[X>>2]|0)-1|0)%40|0;if((c[X>>2]|0)<0)c[X>>2]=(c[X>>2]|0)+40;a[(c[$>>2]|0)+((c[W>>2]|0)-(c[V>>2]|0))>>0]=(c[(c[Z>>2]|0)+544+(c[X>>2]<<2)>>2]>>9)+1>>1;ha=S(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]>>16,(c[T>>2]&65535)<<16>>16)|0;ha=ha+((S(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]&65535,(c[T>>2]&65535)<<16>>16)|0)>>16)|0;if(((ha+(S(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]|0,(c[T>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){ha=S(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]>>16,(c[T>>2]&65535)<<16>>16)|0;ha=ha+((S(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]&65535,(c[T>>2]&65535)<<16>>16)|0)>>16)|0;if(((ha+(S(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]|0,(c[T>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)k=-32768;else{k=S(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]>>16,(c[T>>2]&65535)<<16>>16)|0;k=k+((S(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]&65535,(c[T>>2]&65535)<<16>>16)|0)>>16)|0;k=(k+(S(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]|0,(c[T>>2]>>15)+1>>1)|0)>>7)+1>>1}}else k=32767;b[(c[aa>>2]|0)+((c[W>>2]|0)-(c[V>>2]|0)<<1)>>1]=k;c[(c[U>>2]|0)+1280+((c[(c[U>>2]|0)+4336>>2]|0)-(c[V>>2]|0)+(c[W>>2]|0)<<2)>>2]=c[(c[Z>>2]|0)+1024+(c[X>>2]<<2)>>2];c[W>>2]=(c[W>>2]|0)+1}k=(c[U>>2]|0)+3840|0;p=(c[Z>>2]|0)+(c[(c[_>>2]|0)+4584>>2]<<2)|0;m=k+64|0;do{c[k>>2]=c[p>>2];k=k+4|0;p=p+4|0}while((k|0)<(m|0));k=(c[U>>2]|0)+4224|0;p=(c[Z>>2]|0)+1184|0;m=k+96|0;do{c[k>>2]=c[p>>2];k=k+4|0;p=p+4|0}while((k|0)<(m|0));c[(c[U>>2]|0)+4320>>2]=c[(c[Z>>2]|0)+1280>>2];c[(c[U>>2]|0)+4324>>2]=c[(c[Z>>2]|0)+1284>>2];c[(c[U>>2]|0)+4328>>2]=c[(c[Y>>2]|0)+((c[(c[_>>2]|0)+4576>>2]|0)-1<<2)>>2];vk(c[U>>2]|0,(c[U>>2]|0)+(c[(c[_>>2]|0)+4580>>2]<<1)|0,c[(c[_>>2]|0)+4588>>2]<<1|0)|0;vk((c[U>>2]|0)+1280|0,(c[U>>2]|0)+1280+(c[(c[_>>2]|0)+4580>>2]<<2)|0,c[(c[_>>2]|0)+4588>>2]<<2|0)|0;ka(c[ba>>2]|0);l=ca;return}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Af(a,d,e,f,g,h,i,j,k,m,n,o,p,q){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=l;l=l+96|0;E=L+80|0;t=L+76|0;D=L+72|0;J=L+68|0;K=L+64|0;F=L+60|0;G=L+56|0;I=L+52|0;B=L+48|0;s=L+44|0;r=L+40|0;M=L+36|0;H=L+32|0;u=L+28|0;w=L+24|0;z=L+20|0;A=L+16|0;v=L+12|0;y=L+8|0;x=L+4|0;C=L;c[E>>2]=a;c[t>>2]=d;c[D>>2]=e;c[J>>2]=f;c[K>>2]=g;c[F>>2]=h;c[G>>2]=i;c[I>>2]=j;c[B>>2]=k;c[s>>2]=m;c[r>>2]=n;c[M>>2]=o;c[H>>2]=p;c[u>>2]=q;c[A>>2]=c[(c[M>>2]|0)+(c[I>>2]<<2)>>2];if((c[(c[r>>2]|0)+(c[I>>2]<<2)>>2]|0)>1)n=c[(c[r>>2]|0)+(c[I>>2]<<2)>>2]|0;else n=1;c[y>>2]=Df(n,47)|0;c[x>>2]=(c[y>>2]>>4)+1>>1;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[E>>2]|0)+4584>>2]|0))break;M=S(b[(c[J>>2]|0)+(c[w>>2]<<1)>>1]>>16,(c[x>>2]&65535)<<16>>16)|0;M=M+((S(b[(c[J>>2]|0)+(c[w>>2]<<1)>>1]&65535,(c[x>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(S(b[(c[J>>2]|0)+(c[w>>2]<<1)>>1]|0,(c[x>>2]>>15)+1>>1)|0)|0;c[(c[K>>2]|0)+(c[w>>2]<<2)>>2]=M;c[w>>2]=(c[w>>2]|0)+1}a:do if(c[(c[t>>2]|0)+4348>>2]|0){if(!(c[I>>2]|0)){M=S(c[y>>2]>>16,(c[s>>2]&65535)<<16>>16)|0;c[y>>2]=M+((S(c[y>>2]&65535,(c[s>>2]&65535)<<16>>16)|0)>>16)<<2}c[w>>2]=(c[(c[t>>2]|0)+4332>>2]|0)-(c[A>>2]|0)-2;while(1){if((c[w>>2]|0)>=(c[(c[t>>2]|0)+4332>>2]|0))break a;M=S(c[y>>2]>>16,b[(c[F>>2]|0)+(c[w>>2]<<1)>>1]|0)|0;M=M+((S(c[y>>2]&65535,b[(c[F>>2]|0)+(c[w>>2]<<1)>>1]|0)|0)>>16)|0;c[(c[G>>2]|0)+(c[w>>2]<<2)>>2]=M;c[w>>2]=(c[w>>2]|0)+1}}while(0);if((c[(c[r>>2]|0)+(c[I>>2]<<2)>>2]|0)==(c[(c[t>>2]|0)+4344>>2]|0)){l=L;return}c[v>>2]=Ef(c[(c[t>>2]|0)+4344>>2]|0,c[(c[r>>2]|0)+(c[I>>2]<<2)>>2]|0,16)|0;c[w>>2]=(c[(c[t>>2]|0)+4336>>2]|0)-(c[(c[E>>2]|0)+4588>>2]|0);while(1){if((c[w>>2]|0)>=(c[(c[t>>2]|0)+4336>>2]|0))break;M=S(c[v>>2]>>16,(c[(c[t>>2]|0)+1280+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((S(c[v>>2]&65535,(c[(c[t>>2]|0)+1280+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(S(c[v>>2]|0,(c[(c[t>>2]|0)+1280+(c[w>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[t>>2]|0)+1280+(c[w>>2]<<2)>>2]=M;c[w>>2]=(c[w>>2]|0)+1}b:do if((c[H>>2]|0)==2?(c[(c[t>>2]|0)+4348>>2]|0)==0:0){c[w>>2]=(c[(c[t>>2]|0)+4332>>2]|0)-(c[A>>2]|0)-2;while(1){if((c[w>>2]|0)>=((c[(c[t>>2]|0)+4332>>2]|0)-(c[u>>2]|0)|0))break b;M=S(c[v>>2]>>16,(c[(c[G>>2]|0)+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((S(c[v>>2]&65535,(c[(c[G>>2]|0)+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(S(c[v>>2]|0,(c[(c[G>>2]|0)+(c[w>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[G>>2]|0)+(c[w>>2]<<2)>>2]=M;c[w>>2]=(c[w>>2]|0)+1}}while(0);c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[B>>2]|0))break;c[C>>2]=(c[D>>2]|0)+((c[z>>2]|0)*1300|0);M=S(c[v>>2]>>16,(c[(c[C>>2]|0)+1280>>2]&65535)<<16>>16)|0;M=M+((S(c[v>>2]&65535,(c[(c[C>>2]|0)+1280>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(S(c[v>>2]|0,(c[(c[C>>2]|0)+1280>>2]>>15)+1>>1)|0)|0;c[(c[C>>2]|0)+1280>>2]=M;M=S(c[v>>2]>>16,(c[(c[C>>2]|0)+1284>>2]&65535)<<16>>16)|0;M=M+((S(c[v>>2]&65535,(c[(c[C>>2]|0)+1284>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(S(c[v>>2]|0,(c[(c[C>>2]|0)+1284>>2]>>15)+1>>1)|0)|0;c[(c[C>>2]|0)+1284>>2]=M;c[w>>2]=0;while(1){if((c[w>>2]|0)>=16)break;M=S(c[v>>2]>>16,(c[(c[C>>2]|0)+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((S(c[v>>2]&65535,(c[(c[C>>2]|0)+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(S(c[v>>2]|0,(c[(c[C>>2]|0)+(c[w>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[C>>2]|0)+(c[w>>2]<<2)>>2]=M;c[w>>2]=(c[w>>2]|0)+1}c[w>>2]=0;while(1){if((c[w>>2]|0)>=24)break;M=S(c[v>>2]>>16,(c[(c[C>>2]|0)+1184+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((S(c[v>>2]&65535,(c[(c[C>>2]|0)+1184+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(S(c[v>>2]|0,(c[(c[C>>2]|0)+1184+(c[w>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[C>>2]|0)+1184+(c[w>>2]<<2)>>2]=M;c[w>>2]=(c[w>>2]|0)+1}c[w>>2]=0;while(1){if((c[w>>2]|0)>=40)break;M=S(c[v>>2]>>16,(c[(c[C>>2]|0)+864+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((S(c[v>>2]&65535,(c[(c[C>>2]|0)+864+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(S(c[v>>2]|0,(c[(c[C>>2]|0)+864+(c[w>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[C>>2]|0)+864+(c[w>>2]<<2)>>2]=M;M=S(c[v>>2]>>16,(c[(c[C>>2]|0)+1024+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((S(c[v>>2]&65535,(c[(c[C>>2]|0)+1024+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(S(c[v>>2]|0,(c[(c[C>>2]|0)+1024+(c[w>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[C>>2]|0)+1024+(c[w>>2]<<2)>>2]=M;c[w>>2]=(c[w>>2]|0)+1}c[z>>2]=(c[z>>2]|0)+1}c[(c[t>>2]|0)+4344>>2]=c[(c[r>>2]|0)+(c[I>>2]<<2)>>2];l=L;return}function Bf(d,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;var F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0;Pa=l;l=l+256|0;N=Pa+248|0;Na=Pa+244|0;Aa=Pa+240|0;Ga=Pa+236|0;na=Pa+232|0;Ha=Pa+228|0;xa=Pa+224|0;Z=Pa+220|0;W=Pa+216|0;X=Pa+212|0;F=Pa+208|0;ba=Pa+204|0;H=Pa+200|0;T=Pa+196|0;I=Pa+192|0;Qa=Pa+188|0;M=Pa+184|0;ga=Pa+180|0;Ka=Pa+176|0;Ca=Pa+172|0;ya=Pa+168|0;ia=Pa+164|0;Fa=Pa+160|0;La=Pa+156|0;Ba=Pa+152|0;Y=Pa+148|0;$=Pa+140|0;aa=Pa+136|0;Ja=Pa+132|0;U=Pa+128|0;R=Pa+124|0;P=Pa+120|0;ca=Pa+116|0;V=Pa+112|0;L=Pa+108|0;K=Pa+104|0;da=Pa+100|0;fa=Pa+96|0;ea=Pa+92|0;ra=Pa+88|0;va=Pa+84|0;sa=Pa+80|0;ta=Pa+76|0;Q=Pa+72|0;O=Pa+68|0;oa=Pa+64|0;pa=Pa+60|0;qa=Pa+56|0;_=Pa+52|0;J=Pa+48|0;Ia=Pa+44|0;G=Pa+40|0;Da=Pa+36|0;Ea=Pa+32|0;wa=Pa+28|0;ha=Pa+24|0;za=Pa+20|0;ja=Pa+16|0;Ma=Pa+12|0;ma=Pa+8|0;Oa=Pa+4|0;ua=Pa;c[N>>2]=d;c[Na>>2]=e;c[Aa>>2]=f;c[Ga>>2]=g;c[na>>2]=h;c[Ha>>2]=i;c[xa>>2]=j;c[Z>>2]=k;c[W>>2]=m;c[X>>2]=n;c[F>>2]=o;c[ba>>2]=p;c[H>>2]=q;c[T>>2]=r;c[I>>2]=s;c[Qa>>2]=t;c[M>>2]=u;c[ga>>2]=v;c[Ka>>2]=w;c[Ca>>2]=x;c[ya>>2]=y;c[ia>>2]=z;c[Fa>>2]=A;c[La>>2]=B;c[Ba>>2]=C;c[Y>>2]=D;c[Pa+144>>2]=E;i=c[La>>2]|0;c[Oa>>2]=la()|0;s=l;l=l+((1*(i*56|0)|0)+15&-16)|0;c[za>>2]=(c[N>>2]|0)+1280+((c[(c[N>>2]|0)+4336>>2]|0)-(c[ba>>2]|0)+1<<2);c[ha>>2]=(c[xa>>2]|0)+((c[(c[N>>2]|0)+4332>>2]|0)-(c[ba>>2]|0)+2<<2);c[G>>2]=c[Qa>>2]>>6;c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[Ka>>2]|0))break;if((c[Aa>>2]|0)==2){c[L>>2]=2;Qa=S(c[c[ha>>2]>>2]>>16,b[c[X>>2]>>1]|0)|0;c[L>>2]=(c[L>>2]|0)+(Qa+((S(c[c[ha>>2]>>2]&65535,b[c[X>>2]>>1]|0)|0)>>16));Qa=S(c[(c[ha>>2]|0)+-4>>2]>>16,b[(c[X>>2]|0)+2>>1]|0)|0;c[L>>2]=(c[L>>2]|0)+(Qa+((S(c[(c[ha>>2]|0)+-4>>2]&65535,b[(c[X>>2]|0)+2>>1]|0)|0)>>16));Qa=S(c[(c[ha>>2]|0)+-8>>2]>>16,b[(c[X>>2]|0)+4>>1]|0)|0;c[L>>2]=(c[L>>2]|0)+(Qa+((S(c[(c[ha>>2]|0)+-8>>2]&65535,b[(c[X>>2]|0)+4>>1]|0)|0)>>16));Qa=S(c[(c[ha>>2]|0)+-12>>2]>>16,b[(c[X>>2]|0)+6>>1]|0)|0;c[L>>2]=(c[L>>2]|0)+(Qa+((S(c[(c[ha>>2]|0)+-12>>2]&65535,b[(c[X>>2]|0)+6>>1]|0)|0)>>16));Qa=S(c[(c[ha>>2]|0)+-16>>2]>>16,b[(c[X>>2]|0)+8>>1]|0)|0;c[L>>2]=(c[L>>2]|0)+(Qa+((S(c[(c[ha>>2]|0)+-16>>2]&65535,b[(c[X>>2]|0)+8>>1]|0)|0)>>16));c[L>>2]=c[L>>2]<<1;c[ha>>2]=(c[ha>>2]|0)+4}else c[L>>2]=0;if((c[ba>>2]|0)>0){Qa=S((c[c[za>>2]>>2]|0)+(c[(c[za>>2]|0)+-8>>2]|0)>>16,(c[H>>2]&65535)<<16>>16)|0;c[fa>>2]=Qa+((S((c[c[za>>2]>>2]|0)+(c[(c[za>>2]|0)+-8>>2]|0)&65535,(c[H>>2]&65535)<<16>>16)|0)>>16);Qa=(c[fa>>2]|0)+(S(c[(c[za>>2]|0)+-4>>2]>>16,c[H>>2]>>16)|0)|0;c[fa>>2]=Qa+((S(c[(c[za>>2]|0)+-4>>2]&65535,c[H>>2]>>16)|0)>>16);c[fa>>2]=(c[L>>2]|0)-(c[fa>>2]<<2);c[za>>2]=(c[za>>2]|0)+4}else c[fa>>2]=0;c[Ja>>2]=0;while(1){if((c[Ja>>2]|0)>=(c[La>>2]|0))break;c[Ma>>2]=(c[Na>>2]|0)+((c[Ja>>2]|0)*1300|0);c[ma>>2]=s+((c[Ja>>2]|0)*56|0);Qa=907633515+(S(c[(c[Ma>>2]|0)+1288>>2]|0,196314165)|0)|0;c[(c[Ma>>2]|0)+1288>>2]=Qa;c[ja>>2]=(c[Ma>>2]|0)+(15+(c[$>>2]|0)<<2);c[K>>2]=Cf(c[ja>>2]|0,c[W>>2]|0,c[ia>>2]|0)|0;c[K>>2]=c[K>>2]<<4;Qa=S(c[(c[Ma>>2]|0)+1184>>2]>>16,(c[Fa>>2]&65535)<<16>>16)|0;c[Ea>>2]=(c[(c[Ma>>2]|0)+1284>>2]|0)+(Qa+((S(c[(c[Ma>>2]|0)+1184>>2]&65535,(c[Fa>>2]&65535)<<16>>16)|0)>>16));Qa=S((c[(c[Ma>>2]|0)+1184+4>>2]|0)-(c[Ea>>2]|0)>>16,(c[Fa>>2]&65535)<<16>>16)|0;c[Da>>2]=(c[(c[Ma>>2]|0)+1184>>2]|0)+(Qa+((S((c[(c[Ma>>2]|0)+1184+4>>2]|0)-(c[Ea>>2]|0)&65535,(c[Fa>>2]&65535)<<16>>16)|0)>>16));c[(c[Ma>>2]|0)+1184>>2]=c[Ea>>2];c[da>>2]=c[ya>>2]>>1;Qa=S(c[Ea>>2]>>16,b[c[F>>2]>>1]|0)|0;c[da>>2]=(c[da>>2]|0)+(Qa+((S(c[Ea>>2]&65535,b[c[F>>2]>>1]|0)|0)>>16));c[aa>>2]=2;while(1){if((c[aa>>2]|0)>=(c[ya>>2]|0))break;Qa=S((c[(c[Ma>>2]|0)+1184+((c[aa>>2]|0)+0<<2)>>2]|0)-(c[Da>>2]|0)>>16,(c[Fa>>2]&65535)<<16>>16)|0;c[Ea>>2]=(c[(c[Ma>>2]|0)+1184+((c[aa>>2]|0)-1<<2)>>2]|0)+(Qa+((S((c[(c[Ma>>2]|0)+1184+((c[aa>>2]|0)+0<<2)>>2]|0)-(c[Da>>2]|0)&65535,(c[Fa>>2]&65535)<<16>>16)|0)>>16));c[(c[Ma>>2]|0)+1184+((c[aa>>2]|0)-1<<2)>>2]=c[Da>>2];Qa=S(c[Da>>2]>>16,b[(c[F>>2]|0)+((c[aa>>2]|0)-1<<1)>>1]|0)|0;c[da>>2]=(c[da>>2]|0)+(Qa+((S(c[Da>>2]&65535,b[(c[F>>2]|0)+((c[aa>>2]|0)-1<<1)>>1]|0)|0)>>16));Qa=S((c[(c[Ma>>2]|0)+1184+((c[aa>>2]|0)+1<<2)>>2]|0)-(c[Ea>>2]|0)>>16,(c[Fa>>2]&65535)<<16>>16)|0;c[Da>>2]=(c[(c[Ma>>2]|0)+1184+((c[aa>>2]|0)+0<<2)>>2]|0)+(Qa+((S((c[(c[Ma>>2]|0)+1184+((c[aa>>2]|0)+1<<2)>>2]|0)-(c[Ea>>2]|0)&65535,(c[Fa>>2]&65535)<<16>>16)|0)>>16));c[(c[Ma>>2]|0)+1184+((c[aa>>2]|0)+0<<2)>>2]=c[Ea>>2];Qa=S(c[Ea>>2]>>16,b[(c[F>>2]|0)+(c[aa>>2]<<1)>>1]|0)|0;c[da>>2]=(c[da>>2]|0)+(Qa+((S(c[Ea>>2]&65535,b[(c[F>>2]|0)+(c[aa>>2]<<1)>>1]|0)|0)>>16));c[aa>>2]=(c[aa>>2]|0)+2}c[(c[Ma>>2]|0)+1184+((c[ya>>2]|0)-1<<2)>>2]=c[Da>>2];Qa=S(c[Da>>2]>>16,b[(c[F>>2]|0)+((c[ya>>2]|0)-1<<1)>>1]|0)|0;c[da>>2]=(c[da>>2]|0)+(Qa+((S(c[Da>>2]&65535,b[(c[F>>2]|0)+((c[ya>>2]|0)-1<<1)>>1]|0)|0)>>16));c[da>>2]=c[da>>2]<<1;Qa=S(c[(c[Ma>>2]|0)+1280>>2]>>16,(c[T>>2]&65535)<<16>>16)|0;c[da>>2]=(c[da>>2]|0)+(Qa+((S(c[(c[Ma>>2]|0)+1280>>2]&65535,(c[T>>2]&65535)<<16>>16)|0)>>16));c[da>>2]=c[da>>2]<<2;Qa=S(c[(c[Ma>>2]|0)+1024+(c[c[Ba>>2]>>2]<<2)>>2]>>16,(c[I>>2]&65535)<<16>>16)|0;c[ea>>2]=Qa+((S(c[(c[Ma>>2]|0)+1024+(c[c[Ba>>2]>>2]<<2)>>2]&65535,(c[I>>2]&65535)<<16>>16)|0)>>16);Qa=(c[ea>>2]|0)+(S(c[(c[Ma>>2]|0)+1280>>2]>>16,c[I>>2]>>16)|0)|0;c[ea>>2]=Qa+((S(c[(c[Ma>>2]|0)+1280>>2]&65535,c[I>>2]>>16)|0)>>16);c[ea>>2]=c[ea>>2]<<2;c[Da>>2]=(c[da>>2]|0)+(c[ea>>2]|0);c[Ea>>2]=(c[fa>>2]|0)+(c[K>>2]|0);c[Da>>2]=(c[Ea>>2]|0)-(c[Da>>2]|0);c[Da>>2]=(c[Da>>2]>>3)+1>>1;c[ra>>2]=(c[(c[Ga>>2]|0)+(c[$>>2]<<2)>>2]|0)-(c[Da>>2]|0);if((c[(c[Ma>>2]|0)+1288>>2]|0)<0)c[ra>>2]=0-(c[ra>>2]|0);if((c[ra>>2]|0)>30720)o=30720;else o=(c[ra>>2]|0)<-31744?-31744:c[ra>>2]|0;c[ra>>2]=o;c[pa>>2]=(c[ra>>2]|0)-(c[ga>>2]|0);c[oa>>2]=c[pa>>2]>>10;do if((c[M>>2]|0)>2048){c[ua>>2]=((c[M>>2]|0)/2|0)-512;o=c[pa>>2]|0;t=c[ua>>2]|0;if((c[pa>>2]|0)>(c[ua>>2]|0)){c[oa>>2]=o-t>>10;break}q=c[pa>>2]|0;if((o|0)<(0-t|0)){c[oa>>2]=q+(c[ua>>2]|0)>>10;break}if((q|0)<0){c[oa>>2]=-1;break}else{c[oa>>2]=0;break}}while(0);o=c[oa>>2]|0;do if((c[oa>>2]|0)<=0){if(!o){c[pa>>2]=c[ga>>2];c[qa>>2]=(c[pa>>2]|0)+944;c[sa>>2]=S((c[pa>>2]&65535)<<16>>16,(c[M>>2]&65535)<<16>>16)|0;c[ta>>2]=S((c[qa>>2]&65535)<<16>>16,(c[M>>2]&65535)<<16>>16)|0;break}if((c[oa>>2]|0)==-1){c[qa>>2]=c[ga>>2];c[pa>>2]=(c[qa>>2]|0)-944;c[sa>>2]=S((0-(c[pa>>2]|0)&65535)<<16>>16,(c[M>>2]&65535)<<16>>16)|0;c[ta>>2]=S((c[qa>>2]&65535)<<16>>16,(c[M>>2]&65535)<<16>>16)|0;break}else{c[pa>>2]=(c[oa>>2]<<10)+80;c[pa>>2]=(c[pa>>2]|0)+(c[ga>>2]|0);c[qa>>2]=(c[pa>>2]|0)+1024;c[sa>>2]=S((0-(c[pa>>2]|0)&65535)<<16>>16,(c[M>>2]&65535)<<16>>16)|0;c[ta>>2]=S((0-(c[qa>>2]|0)&65535)<<16>>16,(c[M>>2]&65535)<<16>>16)|0;break}}else{c[pa>>2]=(o<<10)-80;c[pa>>2]=(c[pa>>2]|0)+(c[ga>>2]|0);c[qa>>2]=(c[pa>>2]|0)+1024;c[sa>>2]=S((c[pa>>2]&65535)<<16>>16,(c[M>>2]&65535)<<16>>16)|0;c[ta>>2]=S((c[qa>>2]&65535)<<16>>16,(c[M>>2]&65535)<<16>>16)|0}while(0);c[va>>2]=(c[ra>>2]|0)-(c[pa>>2]|0);c[sa>>2]=(c[sa>>2]|0)+(S((c[va>>2]&65535)<<16>>16,(c[va>>2]&65535)<<16>>16)|0)>>10;c[va>>2]=(c[ra>>2]|0)-(c[qa>>2]|0);c[ta>>2]=(c[ta>>2]|0)+(S((c[va>>2]&65535)<<16>>16,(c[va>>2]&65535)<<16>>16)|0)>>10;o=c[(c[Ma>>2]|0)+1296>>2]|0;if((c[sa>>2]|0)<(c[ta>>2]|0)){c[(c[ma>>2]|0)+4>>2]=o+(c[sa>>2]|0);c[(c[ma>>2]|0)+28+4>>2]=(c[(c[Ma>>2]|0)+1296>>2]|0)+(c[ta>>2]|0);c[c[ma>>2]>>2]=c[pa>>2];o=c[qa>>2]|0;t=c[ma>>2]|0}else{c[(c[ma>>2]|0)+4>>2]=o+(c[ta>>2]|0);c[(c[ma>>2]|0)+28+4>>2]=(c[(c[Ma>>2]|0)+1296>>2]|0)+(c[sa>>2]|0);c[c[ma>>2]>>2]=c[qa>>2];o=c[pa>>2]|0;t=c[ma>>2]|0}c[t+28>>2]=o;c[_>>2]=c[c[ma>>2]>>2]<<4;if((c[(c[Ma>>2]|0)+1288>>2]|0)<0)c[_>>2]=0-(c[_>>2]|0);c[J>>2]=(c[_>>2]|0)+(c[L>>2]|0);c[Ia>>2]=(c[J>>2]|0)+(c[K>>2]|0);c[(c[ma>>2]|0)+16>>2]=(c[Ia>>2]|0)-(c[(c[Ga>>2]|0)+(c[$>>2]<<2)>>2]<<4);c[wa>>2]=(c[(c[ma>>2]|0)+16>>2]|0)-(c[da>>2]|0);c[(c[ma>>2]|0)+20>>2]=(c[wa>>2]|0)-(c[ea>>2]|0);c[(c[ma>>2]|0)+12>>2]=c[wa>>2];c[(c[ma>>2]|0)+24>>2]=c[J>>2];c[(c[ma>>2]|0)+8>>2]=c[Ia>>2];c[_>>2]=c[(c[ma>>2]|0)+28>>2]<<4;if((c[(c[Ma>>2]|0)+1288>>2]|0)<0)c[_>>2]=0-(c[_>>2]|0);c[J>>2]=(c[_>>2]|0)+(c[L>>2]|0);c[Ia>>2]=(c[J>>2]|0)+(c[K>>2]|0);c[(c[ma>>2]|0)+28+16>>2]=(c[Ia>>2]|0)-(c[(c[Ga>>2]|0)+(c[$>>2]<<2)>>2]<<4);c[wa>>2]=(c[(c[ma>>2]|0)+28+16>>2]|0)-(c[da>>2]|0);c[(c[ma>>2]|0)+28+20>>2]=(c[wa>>2]|0)-(c[ea>>2]|0);c[(c[ma>>2]|0)+28+12>>2]=c[wa>>2];c[(c[ma>>2]|0)+28+24>>2]=c[J>>2];c[(c[ma>>2]|0)+28+8>>2]=c[Ia>>2];c[Ja>>2]=(c[Ja>>2]|0)+1}c[c[Ba>>2]>>2]=((c[c[Ba>>2]>>2]|0)-1|0)%40|0;if((c[c[Ba>>2]>>2]|0)<0){Qa=c[Ba>>2]|0;c[Qa>>2]=(c[Qa>>2]|0)+40}c[ca>>2]=((c[c[Ba>>2]>>2]|0)+(c[Y>>2]|0)|0)%40|0;c[Q>>2]=c[s+4>>2];c[U>>2]=0;c[Ja>>2]=1;while(1){if((c[Ja>>2]|0)>=(c[La>>2]|0))break;if((c[s+((c[Ja>>2]|0)*56|0)+4>>2]|0)<(c[Q>>2]|0)){c[Q>>2]=c[s+((c[Ja>>2]|0)*56|0)+4>>2];c[U>>2]=c[Ja>>2]}c[Ja>>2]=(c[Ja>>2]|0)+1}c[V>>2]=c[(c[Na>>2]|0)+((c[U>>2]|0)*1300|0)+384+(c[ca>>2]<<2)>>2];c[Ja>>2]=0;while(1){if((c[Ja>>2]|0)>=(c[La>>2]|0))break;if((c[(c[Na>>2]|0)+((c[Ja>>2]|0)*1300|0)+384+(c[ca>>2]<<2)>>2]|0)!=(c[V>>2]|0)){c[s+((c[Ja>>2]|0)*56|0)+4>>2]=(c[s+((c[Ja>>2]|0)*56|0)+4>>2]|0)+134217727;c[s+((c[Ja>>2]|0)*56|0)+28+4>>2]=(c[s+((c[Ja>>2]|0)*56|0)+28+4>>2]|0)+134217727}c[Ja>>2]=(c[Ja>>2]|0)+1}c[O>>2]=c[s+4>>2];c[Q>>2]=c[s+28+4>>2];c[P>>2]=0;c[R>>2]=0;c[Ja>>2]=1;while(1){if((c[Ja>>2]|0)>=(c[La>>2]|0))break;if((c[s+((c[Ja>>2]|0)*56|0)+4>>2]|0)>(c[O>>2]|0)){c[O>>2]=c[s+((c[Ja>>2]|0)*56|0)+4>>2];c[P>>2]=c[Ja>>2]}if((c[s+((c[Ja>>2]|0)*56|0)+28+4>>2]|0)<(c[Q>>2]|0)){c[Q>>2]=c[s+((c[Ja>>2]|0)*56|0)+28+4>>2];c[R>>2]=c[Ja>>2]}c[Ja>>2]=(c[Ja>>2]|0)+1}if((c[Q>>2]|0)<(c[O>>2]|0)){uk((c[Na>>2]|0)+((c[P>>2]|0)*1300|0)+(c[$>>2]<<2)|0,(c[Na>>2]|0)+((c[R>>2]|0)*1300|0)+(c[$>>2]<<2)|0,1300-(c[$>>2]<<2)|0)|0;Qa=s+((c[P>>2]|0)*56|0)|0;i=s+((c[R>>2]|0)*56|0)+28|0;c[Qa>>2]=c[i>>2];c[Qa+4>>2]=c[i+4>>2];c[Qa+8>>2]=c[i+8>>2];c[Qa+12>>2]=c[i+12>>2];c[Qa+16>>2]=c[i+16>>2];c[Qa+20>>2]=c[i+20>>2];c[Qa+24>>2]=c[i+24>>2]}c[Ma>>2]=(c[Na>>2]|0)+((c[U>>2]|0)*1300|0);if(!((c[Ca>>2]|0)<=0?(c[$>>2]|0)<(c[Y>>2]|0):0)){a[(c[na>>2]|0)+((c[$>>2]|0)-(c[Y>>2]|0))>>0]=(c[(c[Ma>>2]|0)+544+(c[ca>>2]<<2)>>2]>>9)+1>>1;Qa=S(c[(c[Ma>>2]|0)+704+(c[ca>>2]<<2)>>2]>>16,(c[(c[Z>>2]|0)+(c[ca>>2]<<2)>>2]&65535)<<16>>16)|0;Qa=Qa+((S(c[(c[Ma>>2]|0)+704+(c[ca>>2]<<2)>>2]&65535,(c[(c[Z>>2]|0)+(c[ca>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;if(((Qa+(S(c[(c[Ma>>2]|0)+704+(c[ca>>2]<<2)>>2]|0,(c[(c[Z>>2]|0)+(c[ca>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){Qa=S(c[(c[Ma>>2]|0)+704+(c[ca>>2]<<2)>>2]>>16,(c[(c[Z>>2]|0)+(c[ca>>2]<<2)>>2]&65535)<<16>>16)|0;Qa=Qa+((S(c[(c[Ma>>2]|0)+704+(c[ca>>2]<<2)>>2]&65535,(c[(c[Z>>2]|0)+(c[ca>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;if(((Qa+(S(c[(c[Ma>>2]|0)+704+(c[ca>>2]<<2)>>2]|0,(c[(c[Z>>2]|0)+(c[ca>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)o=-32768;else{o=S(c[(c[Ma>>2]|0)+704+(c[ca>>2]<<2)>>2]>>16,(c[(c[Z>>2]|0)+(c[ca>>2]<<2)>>2]&65535)<<16>>16)|0;o=o+((S(c[(c[Ma>>2]|0)+704+(c[ca>>2]<<2)>>2]&65535,(c[(c[Z>>2]|0)+(c[ca>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;o=(o+(S(c[(c[Ma>>2]|0)+704+(c[ca>>2]<<2)>>2]|0,(c[(c[Z>>2]|0)+(c[ca>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1}}else o=32767;b[(c[Ha>>2]|0)+((c[$>>2]|0)-(c[Y>>2]|0)<<1)>>1]=o;c[(c[N>>2]|0)+1280+((c[(c[N>>2]|0)+4336>>2]|0)-(c[Y>>2]|0)<<2)>>2]=c[(c[Ma>>2]|0)+1024+(c[ca>>2]<<2)>>2];c[(c[xa>>2]|0)+((c[(c[N>>2]|0)+4332>>2]|0)-(c[Y>>2]|0)<<2)>>2]=c[(c[Ma>>2]|0)+864+(c[ca>>2]<<2)>>2]}Qa=(c[N>>2]|0)+4336|0;c[Qa>>2]=(c[Qa>>2]|0)+1;Qa=(c[N>>2]|0)+4332|0;c[Qa>>2]=(c[Qa>>2]|0)+1;c[Ja>>2]=0;while(1){if((c[Ja>>2]|0)>=(c[La>>2]|0))break;c[Ma>>2]=(c[Na>>2]|0)+((c[Ja>>2]|0)*1300|0);c[ma>>2]=s+((c[Ja>>2]|0)*56|0);c[(c[Ma>>2]|0)+1280>>2]=c[(c[ma>>2]|0)+12>>2];c[(c[Ma>>2]|0)+1284>>2]=c[(c[ma>>2]|0)+16>>2];c[(c[Ma>>2]|0)+(16+(c[$>>2]|0)<<2)>>2]=c[(c[ma>>2]|0)+8>>2];c[(c[Ma>>2]|0)+704+(c[c[Ba>>2]>>2]<<2)>>2]=c[(c[ma>>2]|0)+8>>2];c[(c[Ma>>2]|0)+544+(c[c[Ba>>2]>>2]<<2)>>2]=c[c[ma>>2]>>2];c[(c[Ma>>2]|0)+864+(c[c[Ba>>2]>>2]<<2)>>2]=c[(c[ma>>2]|0)+24>>2]<<1;c[(c[Ma>>2]|0)+1024+(c[c[Ba>>2]>>2]<<2)>>2]=c[(c[ma>>2]|0)+20>>2];c[(c[Ma>>2]|0)+1288>>2]=(c[(c[Ma>>2]|0)+1288>>2]|0)+((c[c[ma>>2]>>2]>>9)+1>>1);c[(c[Ma>>2]|0)+384+(c[c[Ba>>2]>>2]<<2)>>2]=c[(c[Ma>>2]|0)+1288>>2];c[(c[Ma>>2]|0)+1296>>2]=c[(c[ma>>2]|0)+4>>2];c[Ja>>2]=(c[Ja>>2]|0)+1}c[(c[Z>>2]|0)+(c[c[Ba>>2]>>2]<<2)>>2]=c[G>>2];c[$>>2]=(c[$>>2]|0)+1}c[Ja>>2]=0;while(1){if((c[Ja>>2]|0)>=(c[La>>2]|0))break;c[Ma>>2]=(c[Na>>2]|0)+((c[Ja>>2]|0)*1300|0);o=c[Ma>>2]|0;t=(c[Ma>>2]|0)+(c[Ka>>2]<<2)|0;q=o+64|0;do{c[o>>2]=c[t>>2];o=o+4|0;t=t+4|0}while((o|0)<(q|0));c[Ja>>2]=(c[Ja>>2]|0)+1}ka(c[Oa>>2]|0);l=Pa;return}function Cf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;f=i+12|0;g=i+8|0;j=i+4|0;h=i;c[f>>2]=a;c[g>>2]=d;c[j>>2]=e;c[h>>2]=c[j>>2]>>1;e=S(c[c[f>>2]>>2]>>16,b[c[g>>2]>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[c[f>>2]>>2]&65535,b[c[g>>2]>>1]|0)|0)>>16));e=S(c[(c[f>>2]|0)+-4>>2]>>16,b[(c[g>>2]|0)+2>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[(c[f>>2]|0)+-4>>2]&65535,b[(c[g>>2]|0)+2>>1]|0)|0)>>16));e=S(c[(c[f>>2]|0)+-8>>2]>>16,b[(c[g>>2]|0)+4>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[(c[f>>2]|0)+-8>>2]&65535,b[(c[g>>2]|0)+4>>1]|0)|0)>>16));e=S(c[(c[f>>2]|0)+-12>>2]>>16,b[(c[g>>2]|0)+6>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[(c[f>>2]|0)+-12>>2]&65535,b[(c[g>>2]|0)+6>>1]|0)|0)>>16));e=S(c[(c[f>>2]|0)+-16>>2]>>16,b[(c[g>>2]|0)+8>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[(c[f>>2]|0)+-16>>2]&65535,b[(c[g>>2]|0)+8>>1]|0)|0)>>16));e=S(c[(c[f>>2]|0)+-20>>2]>>16,b[(c[g>>2]|0)+10>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[(c[f>>2]|0)+-20>>2]&65535,b[(c[g>>2]|0)+10>>1]|0)|0)>>16));e=S(c[(c[f>>2]|0)+-24>>2]>>16,b[(c[g>>2]|0)+12>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[(c[f>>2]|0)+-24>>2]&65535,b[(c[g>>2]|0)+12>>1]|0)|0)>>16));e=S(c[(c[f>>2]|0)+-28>>2]>>16,b[(c[g>>2]|0)+14>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[(c[f>>2]|0)+-28>>2]&65535,b[(c[g>>2]|0)+14>>1]|0)|0)>>16));e=S(c[(c[f>>2]|0)+-32>>2]>>16,b[(c[g>>2]|0)+16>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[(c[f>>2]|0)+-32>>2]&65535,b[(c[g>>2]|0)+16>>1]|0)|0)>>16));e=S(c[(c[f>>2]|0)+-36>>2]>>16,b[(c[g>>2]|0)+18>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(e+((S(c[(c[f>>2]|0)+-36>>2]&65535,b[(c[g>>2]|0)+18>>1]|0)|0)>>16));if((c[j>>2]|0)!=16){j=c[h>>2]|0;l=i;return j|0}j=S(c[(c[f>>2]|0)+-40>>2]>>16,b[(c[g>>2]|0)+20>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(j+((S(c[(c[f>>2]|0)+-40>>2]&65535,b[(c[g>>2]|0)+20>>1]|0)|0)>>16));j=S(c[(c[f>>2]|0)+-44>>2]>>16,b[(c[g>>2]|0)+22>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(j+((S(c[(c[f>>2]|0)+-44>>2]&65535,b[(c[g>>2]|0)+22>>1]|0)|0)>>16));j=S(c[(c[f>>2]|0)+-48>>2]>>16,b[(c[g>>2]|0)+24>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(j+((S(c[(c[f>>2]|0)+-48>>2]&65535,b[(c[g>>2]|0)+24>>1]|0)|0)>>16));j=S(c[(c[f>>2]|0)+-52>>2]>>16,b[(c[g>>2]|0)+26>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(j+((S(c[(c[f>>2]|0)+-52>>2]&65535,b[(c[g>>2]|0)+26>>1]|0)|0)>>16));j=S(c[(c[f>>2]|0)+-56>>2]>>16,b[(c[g>>2]|0)+28>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(j+((S(c[(c[f>>2]|0)+-56>>2]&65535,b[(c[g>>2]|0)+28>>1]|0)|0)>>16));j=S(c[(c[f>>2]|0)+-60>>2]>>16,b[(c[g>>2]|0)+30>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(j+((S(c[(c[f>>2]|0)+-60>>2]&65535,b[(c[g>>2]|0)+30>>1]|0)|0)>>16));j=c[h>>2]|0;l=i;return j|0}function Df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+48|0;g=h+32|0;n=h+28|0;d=h+24|0;i=h+20|0;f=h+16|0;j=h+12|0;m=h+8|0;k=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;b=c[n>>2]|0;c[i>>2]=(Ff((c[n>>2]|0)>0?b:0-b|0)|0)-1;c[m>>2]=c[n>>2]<<c[i>>2];c[j>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[j>>2]<<16;b=S(c[m>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;c[k>>2]=536870912-(b+((S(c[m>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))<<3;b=S(c[k>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;b=(c[e>>2]|0)+(b+((S(c[k>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=b+(S(c[k>>2]|0,(c[j>>2]>>15)+1>>1)|0);c[f>>2]=61-(c[i>>2]|0)-(c[d>>2]|0);b=c[f>>2]|0;if((c[f>>2]|0)>0)if((b|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];n=c[g>>2]|0;l=h;return n|0}else{c[g>>2]=0;n=c[g>>2]|0;l=h;return n|0}a=c[e>>2]|0;d=0-(c[f>>2]|0)|0;do if((-2147483648>>0-b|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>d|0)){b=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){b=2147483647>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>d|0)){b=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){b=-2147483648>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}while(0);c[g>>2]=b<<0-(c[f>>2]|0);n=c[g>>2]|0;l=h;return n|0}function Ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;h=l;l=l+48|0;g=h+40|0;q=h+36|0;p=h+32|0;i=h+28|0;k=h+24|0;j=h+20|0;f=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;e=h;c[q>>2]=a;c[p>>2]=b;c[i>>2]=d;b=c[q>>2]|0;c[k>>2]=(Ff((c[q>>2]|0)>0?b:0-b|0)|0)-1;c[n>>2]=c[q>>2]<<c[k>>2];b=c[p>>2]|0;c[j>>2]=(Ff((c[p>>2]|0)>0?b:0-b|0)|0)-1;c[o>>2]=c[p>>2]<<c[j>>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;b=S(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=b+((S(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);b=c[n>>2]|0;a=c[o>>2]|0;d=c[e>>2]|0;d=rk(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=sk(d|0,D|0,32)|0;c[n>>2]=b-(d<<3);d=S(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(d+((S(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[f>>2]=29+(c[k>>2]|0)-(c[j>>2]|0)-(c[i>>2]|0);d=c[f>>2]|0;if((c[f>>2]|0)>=0)if((d|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];q=c[g>>2]|0;l=h;return q|0}else{c[g>>2]=0;q=c[g>>2]|0;l=h;return q|0}a=c[e>>2]|0;b=0-(c[f>>2]|0)|0;do if((-2147483648>>0-d|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>b|0)){d=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){d=2147483647>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>b|0)){d=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){d=-2147483648>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}while(0);c[g>>2]=d<<0-(c[f>>2]|0);q=c[g>>2]|0;l=h;return q|0}function Ff(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(V(c[b>>2]|0)|0))|0;l=d;return b|0}function Gf(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+4172>>2]=c[(c[d>>2]|0)+2328>>2]<<7;c[(c[d>>2]|0)+4172+72>>2]=65536;c[(c[d>>2]|0)+4172+72+4>>2]=65536;c[(c[d>>2]|0)+4172+88>>2]=20;c[(c[d>>2]|0)+4172+84>>2]=2;l=b;return}function Hf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m+16|0;g=m+12|0;i=m+8|0;j=m+4|0;h=m;c[k>>2]=a;c[g>>2]=b;c[i>>2]=d;c[j>>2]=e;c[h>>2]=f;if((c[(c[k>>2]|0)+2316>>2]|0)!=(c[(c[k>>2]|0)+4172+80>>2]|0)){Gf(c[k>>2]|0);c[(c[k>>2]|0)+4172+80>>2]=c[(c[k>>2]|0)+2316>>2]}d=c[k>>2]|0;f=c[g>>2]|0;if(c[j>>2]|0){If(d,f,c[i>>2]|0,c[h>>2]|0);k=(c[k>>2]|0)+4160|0;c[k>>2]=(c[k>>2]|0)+1;l=m;return}else{Jf(d,f);l=m;return}}function If(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+176|0;H=O+120|0;I=O+116|0;C=O+112|0;p=O+108|0;D=O+104|0;E=O+100|0;v=O+96|0;F=O+92|0;s=O+88|0;z=O+84|0;k=O+80|0;m=O+76|0;L=O+72|0;r=O+68|0;x=O+64|0;u=O+60|0;i=O+56|0;j=O+52|0;y=O+48|0;w=O+44|0;B=O+40|0;o=O+36|0;K=O+160|0;n=O+32|0;M=O+28|0;A=O+128|0;J=O+24|0;G=O+16|0;N=O+8|0;t=O+4|0;q=O;c[H>>2]=d;c[I>>2]=e;c[C>>2]=f;c[p>>2]=g;c[J>>2]=(c[H>>2]|0)+4172;h=(c[(c[H>>2]|0)+2336>>2]|0)+(c[(c[H>>2]|0)+2328>>2]|0)|0;c[N>>2]=la()|0;e=l;l=l+((1*(h<<2)|0)+15&-16)|0;h=l;l=l+((1*(c[(c[H>>2]|0)+2336>>2]<<1)|0)+15&-16)|0;c[G>>2]=c[(c[J>>2]|0)+72>>2]>>6;c[G+4>>2]=c[(c[J>>2]|0)+72+4>>2]>>6;if(c[(c[H>>2]|0)+2376>>2]|0){f=(c[J>>2]|0)+14|0;d=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(d|0))}Kf(i,k,j,m,(c[H>>2]|0)+4|0,G,c[(c[H>>2]|0)+2332>>2]|0,c[(c[H>>2]|0)+2324>>2]|0);f=(c[H>>2]|0)+4|0;g=c[(c[J>>2]|0)+84>>2]|0;if((c[i>>2]>>c[m>>2]|0)<(c[j>>2]>>c[k>>2]|0))c[y>>2]=f+((Lf(0,(S(g-1|0,c[(c[J>>2]|0)+88>>2]|0)|0)-128|0)|0)<<2);else c[y>>2]=f+((Lf(0,(S(g,c[(c[J>>2]|0)+88>>2]|0)|0)-128|0)|0)<<2);c[n>>2]=(c[J>>2]|0)+4;b[K>>1]=b[(c[J>>2]|0)+56>>1]|0;c[r>>2]=b[22956+((Mf(1,c[(c[H>>2]|0)+4160>>2]|0)|0)<<1)>>1];m=(c[(c[H>>2]|0)+4164>>2]|0)==2;g=Mf(1,c[(c[H>>2]|0)+4160>>2]|0)|0;if(m)c[x>>2]=b[22960+(g<<1)>>1];else c[x>>2]=b[22964+(g<<1)>>1];Tg((c[J>>2]|0)+14|0,c[(c[H>>2]|0)+2340>>2]|0,64881);uk(A|0,(c[J>>2]|0)+14|0,c[(c[H>>2]|0)+2340>>2]<<1|0)|0;do if(!(c[(c[H>>2]|0)+4160>>2]|0)){b[K>>1]=16384;if((c[(c[H>>2]|0)+4164>>2]|0)!=2){c[t>>2]=ah((c[J>>2]|0)+14|0,c[(c[H>>2]|0)+2340>>2]|0)|0;c[q>>2]=Of(134217728,c[t>>2]|0)|0;c[q>>2]=Pf(4194304,c[q>>2]|0)|0;c[q>>2]=c[q>>2]<<3;t=S(c[q>>2]>>16,(c[x>>2]&65535)<<16>>16)|0;c[x>>2]=t+((S(c[q>>2]&65535,(c[x>>2]&65535)<<16>>16)|0)>>16)>>14;break}c[D>>2]=0;while(1){if((c[D>>2]|0)>=5)break;b[K>>1]=(b[K>>1]|0)-(b[(c[n>>2]|0)+(c[D>>2]<<1)>>1]|0);c[D>>2]=(c[D>>2]|0)+1}b[K>>1]=Nf(3277,b[K>>1]|0)|0;b[K>>1]=(S(b[K>>1]|0,b[(c[J>>2]|0)+68>>1]|0)|0)>>14}while(0);c[L>>2]=c[(c[J>>2]|0)+52>>2];c[F>>2]=(c[c[J>>2]>>2]>>7)+1>>1;c[z>>2]=c[(c[H>>2]|0)+2336>>2];c[s>>2]=(c[(c[H>>2]|0)+2336>>2]|0)-(c[F>>2]|0)-(c[(c[H>>2]|0)+2340>>2]|0)-2;$g(h+(c[s>>2]<<1)|0,(c[H>>2]|0)+1348+(c[s>>2]<<1)|0,A,(c[(c[H>>2]|0)+2336>>2]|0)-(c[s>>2]|0)|0,c[(c[H>>2]|0)+2340>>2]|0,c[p>>2]|0);c[u>>2]=Qf(c[(c[J>>2]|0)+72+4>>2]|0,46)|0;c[u>>2]=(c[u>>2]|0)<1073741823?c[u>>2]|0:1073741823;c[D>>2]=(c[s>>2]|0)+(c[(c[H>>2]|0)+2340>>2]|0);while(1){if((c[D>>2]|0)>=(c[(c[H>>2]|0)+2336>>2]|0))break;t=S(c[u>>2]>>16,b[h+(c[D>>2]<<1)>>1]|0)|0;t=t+((S(c[u>>2]&65535,b[h+(c[D>>2]<<1)>>1]|0)|0)>>16)|0;c[e+(c[D>>2]<<2)>>2]=t;c[D>>2]=(c[D>>2]|0)+1}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[H>>2]|0)+2324>>2]|0))break;c[w>>2]=e+((c[z>>2]|0)-(c[F>>2]|0)+2<<2);c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[(c[H>>2]|0)+2332>>2]|0))break;c[o>>2]=2;u=S(c[c[w>>2]>>2]>>16,b[c[n>>2]>>1]|0)|0;c[o>>2]=(c[o>>2]|0)+(u+((S(c[c[w>>2]>>2]&65535,b[c[n>>2]>>1]|0)|0)>>16));u=S(c[(c[w>>2]|0)+-4>>2]>>16,b[(c[n>>2]|0)+2>>1]|0)|0;c[o>>2]=(c[o>>2]|0)+(u+((S(c[(c[w>>2]|0)+-4>>2]&65535,b[(c[n>>2]|0)+2>>1]|0)|0)>>16));u=S(c[(c[w>>2]|0)+-8>>2]>>16,b[(c[n>>2]|0)+4>>1]|0)|0;c[o>>2]=(c[o>>2]|0)+(u+((S(c[(c[w>>2]|0)+-8>>2]&65535,b[(c[n>>2]|0)+4>>1]|0)|0)>>16));u=S(c[(c[w>>2]|0)+-12>>2]>>16,b[(c[n>>2]|0)+6>>1]|0)|0;c[o>>2]=(c[o>>2]|0)+(u+((S(c[(c[w>>2]|0)+-12>>2]&65535,b[(c[n>>2]|0)+6>>1]|0)|0)>>16));u=S(c[(c[w>>2]|0)+-16>>2]>>16,b[(c[n>>2]|0)+8>>1]|0)|0;c[o>>2]=(c[o>>2]|0)+(u+((S(c[(c[w>>2]|0)+-16>>2]&65535,b[(c[n>>2]|0)+8>>1]|0)|0)>>16));c[w>>2]=(c[w>>2]|0)+4;c[L>>2]=907633515+(S(c[L>>2]|0,196314165)|0);c[s>>2]=c[L>>2]>>25&127;u=S(c[(c[y>>2]|0)+(c[s>>2]<<2)>>2]>>16,b[K>>1]|0)|0;u=(c[o>>2]|0)+(u+((S(c[(c[y>>2]|0)+(c[s>>2]<<2)>>2]&65535,b[K>>1]|0)|0)>>16))<<2;c[e+(c[z>>2]<<2)>>2]=u;c[z>>2]=(c[z>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=5)break;u=(S((c[r>>2]&65535)<<16>>16,b[(c[n>>2]|0)+(c[E>>2]<<1)>>1]|0)|0)>>15&65535;b[(c[n>>2]|0)+(c[E>>2]<<1)>>1]=u;c[E>>2]=(c[E>>2]|0)+1}if(a[(c[H>>2]|0)+2736+29>>0]|0)b[K>>1]=(S(b[K>>1]|0,(c[x>>2]&65535)<<16>>16)|0)>>15;c[c[J>>2]>>2]=(c[c[J>>2]>>2]|0)+(((c[c[J>>2]>>2]>>16)*655|0)+((c[c[J>>2]>>2]&65535)*655>>16));u=Of(c[c[J>>2]>>2]|0,((c[(c[H>>2]|0)+2316>>2]&65535)<<16>>16)*18<<8)|0;c[c[J>>2]>>2]=u;c[F>>2]=(c[c[J>>2]>>2]>>7)+1>>1;c[v>>2]=(c[v>>2]|0)+1}c[M>>2]=e+((c[(c[H>>2]|0)+2336>>2]|0)-16<<2);f=c[M>>2]|0;g=(c[H>>2]|0)+1284|0;d=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));c[D>>2]=0;while(1){g=c[H>>2]|0;if((c[D>>2]|0)>=(c[(c[H>>2]|0)+2328>>2]|0))break;c[B>>2]=c[g+2340>>2]>>1;z=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-1<<2)>>2]>>16,b[A>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(z+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-1<<2)>>2]&65535,b[A>>1]|0)|0)>>16));z=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-2<<2)>>2]>>16,b[A+2>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(z+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-2<<2)>>2]&65535,b[A+2>>1]|0)|0)>>16));z=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-3<<2)>>2]>>16,b[A+4>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(z+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-3<<2)>>2]&65535,b[A+4>>1]|0)|0)>>16));z=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-4<<2)>>2]>>16,b[A+6>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(z+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-4<<2)>>2]&65535,b[A+6>>1]|0)|0)>>16));z=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-5<<2)>>2]>>16,b[A+8>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(z+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-5<<2)>>2]&65535,b[A+8>>1]|0)|0)>>16));z=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-6<<2)>>2]>>16,b[A+10>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(z+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-6<<2)>>2]&65535,b[A+10>>1]|0)|0)>>16));z=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-7<<2)>>2]>>16,b[A+12>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(z+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-7<<2)>>2]&65535,b[A+12>>1]|0)|0)>>16));z=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-8<<2)>>2]>>16,b[A+14>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(z+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-8<<2)>>2]&65535,b[A+14>>1]|0)|0)>>16));z=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-9<<2)>>2]>>16,b[A+16>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(z+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-9<<2)>>2]&65535,b[A+16>>1]|0)|0)>>16));z=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-10<<2)>>2]>>16,b[A+18>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(z+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-10<<2)>>2]&65535,b[A+18>>1]|0)|0)>>16));c[E>>2]=10;while(1){if((c[E>>2]|0)>=(c[(c[H>>2]|0)+2340>>2]|0))break;z=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-(c[E>>2]|0)-1<<2)>>2]>>16,b[A+(c[E>>2]<<1)>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(z+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)-(c[E>>2]|0)-1<<2)>>2]&65535,b[A+(c[E>>2]<<1)>>1]|0)|0)>>16));c[E>>2]=(c[E>>2]|0)+1}if((c[B>>2]|0)>134217727)f=134217727;else f=(c[B>>2]|0)<-134217728?-134217728:c[B>>2]|0;d=c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]|0;g=(c[B>>2]|0)>134217727;if(!((c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]|0)+(f<<4)&-2147483648)){if(g)g=134217727;else g=(c[B>>2]|0)<-134217728?-134217728:c[B>>2]|0;if(d&g<<4&-2147483648|0)g=-2147483648;else{if((c[B>>2]|0)>134217727)g=134217727;else g=(c[B>>2]|0)<-134217728?-134217728:c[B>>2]|0;g=(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]|0)+(g<<4)|0}}else{if(g)g=134217727;else g=(c[B>>2]|0)<-134217728?-134217728:c[B>>2]|0;if(!((d|g<<4)&-2147483648))g=2147483647;else{if((c[B>>2]|0)>134217727)g=134217727;else g=(c[B>>2]|0)<-134217728?-134217728:c[B>>2]|0;g=(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]|0)+(g<<4)|0}}c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]=g;z=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]>>16,(c[G+4>>2]&65535)<<16>>16)|0;z=z+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]&65535,(c[G+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((z+(S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]|0,(c[G+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){z=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]>>16,(c[G+4>>2]&65535)<<16>>16)|0;z=z+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]&65535,(c[G+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((z+(S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]|0,(c[G+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)g=-32768;else{g=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]>>16,(c[G+4>>2]&65535)<<16>>16)|0;g=g+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]&65535,(c[G+4>>2]&65535)<<16>>16)|0)>>16)|0;g=(g+(S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]|0,(c[G+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else g=32767;if((g|0)<=32767){z=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]>>16,(c[G+4>>2]&65535)<<16>>16)|0;z=z+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]&65535,(c[G+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((z+(S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]|0,(c[G+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){z=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]>>16,(c[G+4>>2]&65535)<<16>>16)|0;z=z+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]&65535,(c[G+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((z+(S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]|0,(c[G+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)g=-32768;else{g=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]>>16,(c[G+4>>2]&65535)<<16>>16)|0;g=g+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]&65535,(c[G+4>>2]&65535)<<16>>16)|0)>>16)|0;g=(g+(S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]|0,(c[G+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else g=32767;if((g|0)>=-32768){z=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]>>16,(c[G+4>>2]&65535)<<16>>16)|0;z=z+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]&65535,(c[G+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((z+(S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]|0,(c[G+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){z=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]>>16,(c[G+4>>2]&65535)<<16>>16)|0;z=z+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]&65535,(c[G+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((z+(S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]|0,(c[G+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)g=-32768;else{g=S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]>>16,(c[G+4>>2]&65535)<<16>>16)|0;g=g+((S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]&65535,(c[G+4>>2]&65535)<<16>>16)|0)>>16)|0;g=(g+(S(c[(c[M>>2]|0)+(16+(c[D>>2]|0)<<2)>>2]|0,(c[G+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else g=32767}else g=-32768}else g=32767;b[(c[C>>2]|0)+(c[D>>2]<<1)>>1]=g;c[D>>2]=(c[D>>2]|0)+1}f=g+1284|0;g=(c[M>>2]|0)+(c[(c[H>>2]|0)+2328>>2]<<2)|0;d=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));c[(c[J>>2]|0)+52>>2]=c[L>>2];b[(c[J>>2]|0)+56>>1]=b[K>>1]|0;c[D>>2]=0;while(1){if((c[D>>2]|0)>=4)break;c[(c[I>>2]|0)+(c[D>>2]<<2)>>2]=c[F>>2];c[D>>2]=(c[D>>2]|0)+1}ka(c[N>>2]|0);l=O;return}
function Rj(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k+16|0;f=k+12|0;e=k+8|0;h=k+4|0;i=k;c[j>>2]=a;c[f>>2]=b;g[h>>2]=0.0;g[i>>2]=0.0;c[e>>2]=0;while(1){d=+g[h>>2];if((c[e>>2]|0)>=(c[f>>2]|0))break;if(d>+g[(c[j>>2]|0)+(c[e>>2]<<2)>>2])d=+g[h>>2];else d=+g[(c[j>>2]|0)+(c[e>>2]<<2)>>2];g[h>>2]=d;if(+g[i>>2]<+g[(c[j>>2]|0)+(c[e>>2]<<2)>>2])d=+g[i>>2];else d=+g[(c[j>>2]|0)+(c[e>>2]<<2)>>2];g[i>>2]=d;c[e>>2]=(c[e>>2]|0)+1}l=k;return +(d>-+g[i>>2]?+g[h>>2]:-+g[i>>2])}function Sj(a,d,e,f,h){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;q=t+36|0;s=t+32|0;o=t+28|0;i=t+24|0;j=t+20|0;n=t+16|0;m=t+12|0;p=t+8|0;k=t+4|0;r=t;c[s>>2]=a;c[o>>2]=d;c[i>>2]=e;c[j>>2]=f;c[n>>2]=h;c[k>>2]=xj(c[i>>2]|0,c[(c[s>>2]|0)+156>>2]|0,c[(c[s>>2]|0)+144>>2]|0)|0;if((c[k>>2]|0)<=0){c[q>>2]=-1;s=c[q>>2]|0;l=t;return s|0}a=S(c[k>>2]|0,c[(c[s>>2]|0)+112>>2]|0)|0;c[r>>2]=la()|0;e=l;l=l+((1*(a<<2)|0)+15&-16)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(S(c[k>>2]|0,c[(c[s>>2]|0)+112>>2]|0)|0))break;g[e+(c[m>>2]<<2)>>2]=+(b[(c[o>>2]|0)+(c[m>>2]<<1)>>1]|0)*.000030517578125;c[m>>2]=(c[m>>2]|0)+1}c[p>>2]=zj(c[s>>2]|0,e,c[k>>2]|0,c[j>>2]|0,c[n>>2]|0,16,c[o>>2]|0,c[i>>2]|0,0,-2,c[(c[s>>2]|0)+112>>2]|0,1,0)|0;c[q>>2]=c[p>>2];ka(c[r>>2]|0);s=c[q>>2]|0;l=t;return s|0}function Tj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;g=l;l=l+32|0;h=g+20|0;j=g+16|0;i=g+12|0;m=g+8|0;k=g+4|0;n=g;c[h>>2]=a;c[j>>2]=b;c[i>>2]=d;c[m>>2]=e;c[k>>2]=f;c[n>>2]=xj(c[i>>2]|0,c[(c[h>>2]|0)+156>>2]|0,c[(c[h>>2]|0)+144>>2]|0)|0;a=zj(c[h>>2]|0,c[j>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,24,c[j>>2]|0,c[i>>2]|0,0,-2,c[(c[h>>2]|0)+112>>2]|0,2,1)|0;l=g;return a|0}function Uj(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0;_a=l;l=l+544|0;ga=_a+64|0;fa=_a+56|0;ea=_a+48|0;da=_a+40|0;ca=_a+32|0;ba=_a+24|0;aa=_a+16|0;$=_a+8|0;_=_a;Za=_a+536|0;Xa=_a+532|0;$a=_a+528|0;Ya=_a+524|0;h=_a+520|0;f=_a+504|0;m=_a+500|0;ha=_a+496|0;n=_a+492|0;ka=_a+488|0;v=_a+484|0;ta=_a+480|0;P=_a+476|0;Ma=_a+472|0;Wa=_a+468|0;Sa=_a+464|0;W=_a+460|0;Ta=_a+456|0;X=_a+452|0;Ua=_a+448|0;Y=_a+444|0;Va=_a+440|0;Z=_a+436|0;ia=_a+432|0;o=_a+428|0;ja=_a+424|0;p=_a+420|0;la=_a+416|0;q=_a+412|0;ma=_a+408|0;r=_a+404|0;na=_a+400|0;s=_a+396|0;oa=_a+392|0;t=_a+388|0;pa=_a+384|0;u=_a+380|0;qa=_a+376|0;w=_a+372|0;ra=_a+368|0;x=_a+364|0;sa=_a+360|0;y=_a+356|0;ua=_a+352|0;z=_a+348|0;va=_a+344|0;A=_a+340|0;wa=_a+336|0;B=_a+332|0;xa=_a+328|0;C=_a+324|0;ya=_a+320|0;D=_a+316|0;za=_a+312|0;E=_a+308|0;Aa=_a+304|0;F=_a+300|0;Ba=_a+296|0;G=_a+292|0;Ca=_a+288|0;H=_a+284|0;Da=_a+280|0;I=_a+276|0;Ea=_a+272|0;J=_a+268|0;Fa=_a+264|0;K=_a+260|0;Ga=_a+256|0;L=_a+252|0;Ha=_a+248|0;M=_a+244|0;Ia=_a+240|0;N=_a+236|0;Ja=_a+232|0;O=_a+228|0;Ka=_a+224|0;Q=_a+220|0;La=_a+216|0;R=_a+212|0;Na=_a+208|0;j=_a+204|0;i=_a+104|0;k=_a+100|0;S=_a+96|0;Oa=_a+92|0;T=_a+88|0;Pa=_a+84|0;U=_a+80|0;Qa=_a+76|0;V=_a+72|0;Ra=_a+68|0;c[Xa>>2]=a;c[$a>>2]=d;c[Ya>>2]=0;c[f>>2]=e;c[h>>2]=(c[Xa>>2]|0)+(c[c[Xa>>2]>>2]|0);a:do switch(c[$a>>2]|0){case 4e3:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[ha>>2]=$a;c[m>>2]=c[ha>>2];do if(!((c[m>>2]|0)!=2048&(c[m>>2]|0)!=2049&(c[m>>2]|0)!=2051)){if((c[(c[Xa>>2]|0)+14248>>2]|0)==0?(c[(c[Xa>>2]|0)+108>>2]|0)!=(c[m>>2]|0):0)break;c[(c[Xa>>2]|0)+108>>2]=c[m>>2];c[(c[Xa>>2]|0)+188+4>>2]=c[m>>2];f=99;break a}while(0);c[Ya>>2]=-1;f=99;break}case 4001:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[ka>>2]=$a;c[n>>2]=c[ka>>2];if(c[n>>2]|0){c[c[n>>2]>>2]=c[(c[Xa>>2]|0)+108>>2];f=99}else f=100;break}case 4002:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[ta>>2]=$a;c[v>>2]=c[ta>>2];do if((c[v>>2]|0)!=-1e3&(c[v>>2]|0)!=-1){if((c[v>>2]|0)<=0){f=100;break a}if((c[v>>2]|0)<=500){c[v>>2]=500;break}if((c[v>>2]|0)>((c[(c[Xa>>2]|0)+112>>2]|0)*3e5|0))c[v>>2]=(c[(c[Xa>>2]|0)+112>>2]|0)*3e5}while(0);c[(c[Xa>>2]|0)+164>>2]=c[v>>2];f=99;break}case 4003:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[Ma>>2]=$a;c[P>>2]=c[Ma>>2];if(c[P>>2]|0){f=Cj(c[Xa>>2]|0,c[(c[Xa>>2]|0)+14232>>2]|0,1276)|0;c[c[P>>2]>>2]=f;f=99}else f=100;break}case 4022:{Va=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Va>>2]|0;c[f>>2]=Va+4;c[Sa>>2]=$a;c[Wa>>2]=c[Sa>>2];f=c[Wa>>2]|0;if((c[Wa>>2]|0)<1){if((f|0)!=-1e3){f=100;break a}}else if((c[Wa>>2]|0)!=-1e3?(f|0)>(c[(c[Xa>>2]|0)+112>>2]|0):0){f=100;break a}c[(c[Xa>>2]|0)+120>>2]=c[Wa>>2];f=99;break}case 4023:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[Ta>>2]=$a;c[W>>2]=c[Ta>>2];if(c[W>>2]|0){c[c[W>>2]>>2]=c[(c[Xa>>2]|0)+120>>2];f=99}else f=100;break}case 4004:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[Ua>>2]=$a;c[X>>2]=c[Ua>>2];if(!((c[X>>2]|0)<1101|(c[X>>2]|0)>1105)){c[(c[Xa>>2]|0)+132>>2]=c[X>>2];f=c[Xa>>2]|0;if((c[(c[Xa>>2]|0)+132>>2]|0)==1101){c[f+8+12>>2]=8e3;f=99;break a}else{c[(c[Xa>>2]|0)+8+12>>2]=(c[f+132>>2]|0)==1102?12e3:16e3;f=99;break a}}else f=100;break}case 4005:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[Va>>2]=$a;c[Y>>2]=c[Va>>2];if(c[Y>>2]|0){c[c[Y>>2]>>2]=c[(c[Xa>>2]|0)+132>>2];f=99}else f=100;break}case 4008:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[ia>>2]=$a;c[Z>>2]=c[ia>>2];if(!(((c[Z>>2]|0)<1101|(c[Z>>2]|0)>1105)&(c[Z>>2]|0)!=-1e3)){c[(c[Xa>>2]|0)+128>>2]=c[Z>>2];f=c[Xa>>2]|0;if((c[(c[Xa>>2]|0)+128>>2]|0)==1101){c[f+8+12>>2]=8e3;f=99;break a}else{c[(c[Xa>>2]|0)+8+12>>2]=(c[f+128>>2]|0)==1102?12e3:16e3;f=99;break a}}else f=100;break}case 4009:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[ja>>2]=$a;c[o>>2]=c[ja>>2];if(c[o>>2]|0){c[c[o>>2]>>2]=c[(c[Xa>>2]|0)+14236>>2];f=99}else f=100;break}case 4016:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[la>>2]=$a;c[p>>2]=c[la>>2];if((c[p>>2]|0)<0|(c[p>>2]|0)>1)f=100;else{c[(c[Xa>>2]|0)+184>>2]=c[p>>2];f=99}break}case 4017:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[ma>>2]=$a;c[q>>2]=c[ma>>2];if(c[q>>2]|0){c[c[q>>2]>>2]=c[(c[Xa>>2]|0)+184>>2];f=99}else f=100;break}case 4010:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[na>>2]=$a;c[r>>2]=c[na>>2];if((c[r>>2]|0)<0|(c[r>>2]|0)>10)f=100;else{c[(c[Xa>>2]|0)+8+36>>2]=c[r>>2];f=c[h>>2]|0;c[_>>2]=c[r>>2];sc(f,4010,_)|0;f=99}break}case 4011:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[oa>>2]=$a;c[s>>2]=c[oa>>2];if(c[s>>2]|0){c[c[s>>2]>>2]=c[(c[Xa>>2]|0)+8+36>>2];f=99}else f=100;break}case 4012:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[pa>>2]=$a;c[t>>2]=c[pa>>2];if((c[t>>2]|0)<0|(c[t>>2]|0)>1)f=100;else{c[(c[Xa>>2]|0)+8+40>>2]=c[t>>2];f=99}break}case 4013:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[qa>>2]=$a;c[u>>2]=c[qa>>2];if(c[u>>2]|0){c[c[u>>2]>>2]=c[(c[Xa>>2]|0)+8+40>>2];f=99}else f=100;break}case 4014:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[ra>>2]=$a;c[w>>2]=c[ra>>2];if((c[w>>2]|0)<0|(c[w>>2]|0)>100)f=100;else{c[(c[Xa>>2]|0)+8+32>>2]=c[w>>2];f=c[h>>2]|0;c[$>>2]=c[w>>2];sc(f,4014,$)|0;f=99}break}case 4015:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[sa>>2]=$a;c[x>>2]=c[sa>>2];if(c[x>>2]|0){c[c[x>>2]>>2]=c[(c[Xa>>2]|0)+8+32>>2];f=99}else f=100;break}case 4006:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[ua>>2]=$a;c[y>>2]=c[ua>>2];if((c[y>>2]|0)<0|(c[y>>2]|0)>1)f=100;else{c[(c[Xa>>2]|0)+148>>2]=c[y>>2];c[(c[Xa>>2]|0)+8+52>>2]=1-(c[y>>2]|0);f=99}break}case 4007:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[va>>2]=$a;c[z>>2]=c[va>>2];if(c[z>>2]|0){c[c[z>>2]>>2]=c[(c[Xa>>2]|0)+148>>2];f=99}else f=100;break}case 11018:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[wa>>2]=$a;c[A>>2]=c[wa>>2];if((c[A>>2]|0)<-1|(c[A>>2]|0)>100)f=100;else{c[(c[Xa>>2]|0)+140>>2]=c[A>>2];f=99}break}case 11019:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[xa>>2]=$a;c[B>>2]=c[xa>>2];if(c[B>>2]|0){c[c[B>>2]>>2]=c[(c[Xa>>2]|0)+140>>2];f=99}else f=100;break}case 4020:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[ya>>2]=$a;c[C>>2]=c[ya>>2];if((c[C>>2]|0)<0|(c[C>>2]|0)>1)f=100;else{c[(c[Xa>>2]|0)+152>>2]=c[C>>2];f=99}break}case 4021:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[za>>2]=$a;c[D>>2]=c[za>>2];if(c[D>>2]|0){c[c[D>>2]>>2]=c[(c[Xa>>2]|0)+152>>2];f=99}else f=100;break}case 4024:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[Aa>>2]=$a;c[E>>2]=c[Aa>>2];if((c[E>>2]|0)!=-1e3&(c[E>>2]|0)!=3001&(c[E>>2]|0)!=3002)f=100;else{c[(c[Xa>>2]|0)+124>>2]=c[E>>2];f=99}break}case 4025:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[Ba>>2]=$a;c[F>>2]=c[Ba>>2];if(c[F>>2]|0){c[c[F>>2]>>2]=c[(c[Xa>>2]|0)+124>>2];f=99}else f=100;break}case 4027:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[Ca>>2]=$a;c[G>>2]=c[Ca>>2];if(c[G>>2]|0){c[c[G>>2]>>2]=(c[(c[Xa>>2]|0)+144>>2]|0)/400|0;if((c[(c[Xa>>2]|0)+108>>2]|0)!=2051){f=c[G>>2]|0;c[f>>2]=(c[f>>2]|0)+(c[(c[Xa>>2]|0)+116>>2]|0);f=99}else f=99}else f=100;break}case 4029:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[Da>>2]=$a;c[H>>2]=c[Da>>2];if(c[H>>2]|0){c[c[H>>2]>>2]=c[(c[Xa>>2]|0)+144>>2];f=99}else f=100;break}case 4031:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[Ea>>2]=$a;c[I>>2]=c[Ea>>2];if(c[I>>2]|0){c[c[I>>2]>>2]=c[(c[Xa>>2]|0)+18132>>2];f=99}else f=100;break}case 4036:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[Fa>>2]=$a;c[J>>2]=c[Fa>>2];if((c[J>>2]|0)<8|(c[J>>2]|0)>24)f=100;else{c[(c[Xa>>2]|0)+168>>2]=c[J>>2];f=99}break}case 4037:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[Ga>>2]=$a;c[K>>2]=c[Ga>>2];if(c[K>>2]|0){c[c[K>>2]>>2]=c[(c[Xa>>2]|0)+168>>2];f=99}else f=100;break}case 4040:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[Ha>>2]=$a;c[L>>2]=c[Ha>>2];if((c[L>>2]|0)!=5e3&(c[L>>2]|0)!=5001&(c[L>>2]|0)!=5002&(c[L>>2]|0)!=5003&(c[L>>2]|0)!=5004&(c[L>>2]|0)!=5005&(c[L>>2]|0)!=5006&(c[L>>2]|0)!=5007&(c[L>>2]|0)!=5008&(c[L>>2]|0)!=5009)f=100;else{c[(c[Xa>>2]|0)+156>>2]=c[L>>2];f=c[h>>2]|0;c[aa>>2]=c[L>>2];sc(f,4040,aa)|0;f=99}break}case 4041:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[Ia>>2]=$a;c[M>>2]=c[Ia>>2];if(c[M>>2]|0){c[c[M>>2]>>2]=c[(c[Xa>>2]|0)+156>>2];f=99}else f=100;break}case 4042:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[Ja>>2]=$a;c[N>>2]=c[Ja>>2];if((c[N>>2]|0)>1|(c[N>>2]|0)<0)f=100;else{c[(c[Xa>>2]|0)+8+68>>2]=c[N>>2];f=99}break}case 4043:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[Ka>>2]=$a;c[O>>2]=c[Ka>>2];if(c[O>>2]|0){c[c[O>>2]>>2]=c[(c[Xa>>2]|0)+8+68>>2];f=99}else f=100;break}case 4046:{Xa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Xa>>2]|0;c[f>>2]=Xa+4;c[La>>2]=$a;c[Q>>2]=c[La>>2];if((c[Q>>2]|0)<0|(c[Q>>2]|0)>1)f=100;else{f=c[h>>2]|0;c[ba>>2]=c[Q>>2];sc(f,4046,ba)|0;f=99}break}case 4047:{Xa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Xa>>2]|0;c[f>>2]=Xa+4;c[Na>>2]=$a;c[R>>2]=c[Na>>2];if(c[R>>2]|0){f=c[h>>2]|0;c[ca>>2]=(c[R>>2]|0)+((((c[R>>2]|0)-(c[R>>2]|0)|0)/4|0)<<2);sc(f,4047,ca)|0;f=99}else f=100;break}case 4028:{c[j>>2]=(c[Xa>>2]|0)+(c[(c[Xa>>2]|0)+4>>2]|0);$j((c[Xa>>2]|0)+188|0);c[k>>2]=(c[Xa>>2]|0)+14188;wk(c[k>>2]|0,0,18136-((c[k>>2]|0)-(c[Xa>>2]|0))|0)|0;sc(c[h>>2]|0,4028,da)|0;Ze(c[j>>2]|0,c[(c[Xa>>2]|0)+180>>2]|0,i)|0;c[(c[Xa>>2]|0)+14188>>2]=c[(c[Xa>>2]|0)+112>>2];b[(c[Xa>>2]|0)+14192>>1]=16384;g[(c[Xa>>2]|0)+14200>>2]=1.0;c[(c[Xa>>2]|0)+14248>>2]=1;c[(c[Xa>>2]|0)+14220>>2]=1001;c[(c[Xa>>2]|0)+14236>>2]=1105;f=(Wg(60)|0)<<8;c[(c[Xa>>2]|0)+14196>>2]=f;f=99;break}case 11002:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[Oa>>2]=$a;c[S>>2]=c[Oa>>2];if(((c[S>>2]|0)<1e3|(c[S>>2]|0)>1002)&(c[S>>2]|0)!=-1e3)f=100;else{c[(c[Xa>>2]|0)+136>>2]=c[S>>2];f=99}break}case 10024:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[Pa>>2]=$a;c[T>>2]=c[Pa>>2];c[(c[Xa>>2]|0)+176>>2]=c[T>>2];f=c[h>>2]|0;c[ea>>2]=c[T>>2];c[Ya>>2]=sc(f,10024,ea)|0;f=99;break}case 10026:{Wa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Wa>>2]|0;c[f>>2]=Wa+4;c[Qa>>2]=$a;c[U>>2]=c[Qa>>2];c[(c[Xa>>2]|0)+14252>>2]=c[U>>2];f=c[h>>2]|0;c[fa>>2]=(c[U>>2]|0)+((((c[U>>2]|0)-(c[U>>2]|0)|0)/4|0)<<2);c[Ya>>2]=sc(f,10026,fa)|0;f=99;break}case 10015:{Xa=(c[f>>2]|0)+(4-1)&~(4-1);$a=c[Xa>>2]|0;c[f>>2]=Xa+4;c[Ra>>2]=$a;c[V>>2]=c[Ra>>2];if(c[V>>2]|0){f=c[h>>2]|0;c[ga>>2]=(c[V>>2]|0)+((((c[V>>2]|0)-(c[V>>2]|0)|0)/4|0)<<2);c[Ya>>2]=sc(f,10015,ga)|0;f=99}else f=100;break}default:{c[Ya>>2]=-5;f=99}}while(0);if((f|0)==99){c[Za>>2]=c[Ya>>2];$a=c[Za>>2]|0;l=_a;return $a|0}else if((f|0)==100){c[Za>>2]=-1;$a=c[Za>>2]|0;l=_a;return $a|0}return 0}function Vj(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;c[(c[b>>2]|0)+4>>2]=0;l=d;return c[b>>2]|0}function Wj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=Xj(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;l=e;return a|0}function Xj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;m=q+24|0;n=q+20|0;i=q+16|0;j=q+12|0;o=q+8|0;p=q+28|0;h=q+4|0;k=q;c[n>>2]=b;c[i>>2]=e;c[j>>2]=f;c[o>>2]=g;if((c[j>>2]|0)<1){c[m>>2]=-4;p=c[m>>2]|0;l=q;return p|0}if(c[(c[n>>2]|0)+4>>2]|0){if(((d[c[n>>2]>>0]|0)&252|0)!=((d[c[i>>2]>>0]|0)&252|0)){c[m>>2]=-4;p=c[m>>2]|0;l=q;return p|0}}else{a[c[n>>2]>>0]=a[c[i>>2]>>0]|0;g=Zi(c[i>>2]|0,8e3)|0;c[(c[n>>2]|0)+296>>2]=g}c[h>>2]=pj(c[i>>2]|0,c[j>>2]|0)|0;if((c[h>>2]|0)<1){c[m>>2]=-4;p=c[m>>2]|0;l=q;return p|0}if((S((c[h>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0)|0,c[(c[n>>2]|0)+296>>2]|0)|0)>960){c[m>>2]=-4;p=c[m>>2]|0;l=q;return p|0}c[k>>2]=_i(c[i>>2]|0,c[j>>2]|0,c[o>>2]|0,p,(c[n>>2]|0)+8+(c[(c[n>>2]|0)+4>>2]<<2)|0,(c[n>>2]|0)+200+(c[(c[n>>2]|0)+4>>2]<<1)|0,0,0)|0;if((c[k>>2]|0)<1){c[m>>2]=c[k>>2];p=c[m>>2]|0;l=q;return p|0}else{p=(c[n>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+(c[h>>2]|0);c[m>>2]=0;p=c[m>>2]|0;l=q;return p|0}return 0}function Yj(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+80|0;A=F+68|0;p=F+64|0;m=F+60|0;n=F+56|0;r=F+52|0;v=F+48|0;C=F+44|0;x=F+40|0;t=F+36|0;q=F+32|0;D=F+28|0;u=F+24|0;s=F+20|0;z=F+16|0;E=F+12|0;y=F+8|0;w=F+4|0;B=F;c[p>>2]=e;c[m>>2]=f;c[n>>2]=g;c[r>>2]=h;c[v>>2]=i;c[C>>2]=j;c[x>>2]=k;if(((c[m>>2]|0)>=0?(c[m>>2]|0)<(c[n>>2]|0):0)?(c[n>>2]|0)<=(c[(c[p>>2]|0)+4>>2]|0):0){c[q>>2]=(c[n>>2]|0)-(c[m>>2]|0);c[u>>2]=(c[p>>2]|0)+200+(c[m>>2]<<1);c[s>>2]=(c[p>>2]|0)+8+(c[m>>2]<<2);if(c[C>>2]|0)c[D>>2]=1+((b[(c[u>>2]|0)+((c[q>>2]|0)-1<<1)>>1]|0)>=252&1);else c[D>>2]=0;c[z>>2]=c[r>>2];do if((c[q>>2]|0)!=1){if((c[q>>2]|0)==2){f=b[c[u>>2]>>1]|0;if((b[(c[u>>2]|0)+2>>1]|0)==(b[c[u>>2]>>1]|0)){c[D>>2]=(c[D>>2]|0)+((f<<1)+1);if((c[D>>2]|0)<=(c[v>>2]|0)){e=(d[c[p>>2]>>0]&252|1)&255;j=c[z>>2]|0;c[z>>2]=j+1;a[j>>0]=e;break}c[A>>2]=-2;E=c[A>>2]|0;l=F;return E|0}else{c[D>>2]=(c[D>>2]|0)+(f+(b[(c[u>>2]|0)+2>>1]|0)+2+((b[c[u>>2]>>1]|0)>=252&1));if((c[D>>2]|0)<=(c[v>>2]|0)){e=(d[c[p>>2]>>0]&252|2)&255;j=c[z>>2]|0;c[z>>2]=j+1;a[j>>0]=e;j=Yi(b[c[u>>2]>>1]|0,c[z>>2]|0)|0;c[z>>2]=(c[z>>2]|0)+j;break}c[A>>2]=-2;E=c[A>>2]|0;l=F;return E|0}}}else{c[D>>2]=(c[D>>2]|0)+((b[c[u>>2]>>1]|0)+1);if((c[D>>2]|0)<=(c[v>>2]|0)){e=d[c[p>>2]>>0]&252;j=c[z>>2]|0;c[z>>2]=j+1;a[j>>0]=e;break}c[A>>2]=-2;E=c[A>>2]|0;l=F;return E|0}while(0);if((c[q>>2]|0)<=2){if(c[x>>2]|0?(c[D>>2]|0)<(c[v>>2]|0):0)o=23}else o=23;a:do if((o|0)==23){c[y>>2]=0;c[z>>2]=c[r>>2];if(c[C>>2]|0)c[D>>2]=1+((b[(c[u>>2]|0)+((c[q>>2]|0)-1<<1)>>1]|0)>=252&1);else c[D>>2]=0;c[E>>2]=0;c[t>>2]=1;while(1){if((c[t>>2]|0)>=(c[q>>2]|0))break;if((b[(c[u>>2]|0)+(c[t>>2]<<1)>>1]|0)!=(b[c[u>>2]>>1]|0)){o=29;break}c[t>>2]=(c[t>>2]|0)+1}if((o|0)==29)c[E>>2]=1;do if(c[E>>2]|0){c[D>>2]=(c[D>>2]|0)+2;c[t>>2]=0;while(1){f=c[u>>2]|0;if((c[t>>2]|0)>=((c[q>>2]|0)-1|0))break;c[D>>2]=(c[D>>2]|0)+(1+((b[f+(c[t>>2]<<1)>>1]|0)>=252&1)+(b[(c[u>>2]|0)+(c[t>>2]<<1)>>1]|0));c[t>>2]=(c[t>>2]|0)+1}c[D>>2]=(c[D>>2]|0)+(b[f+((c[q>>2]|0)-1<<1)>>1]|0);if((c[D>>2]|0)<=(c[v>>2]|0)){p=(d[c[p>>2]>>0]&252|3)&255;o=c[z>>2]|0;c[z>>2]=o+1;a[o>>0]=p;o=(c[q>>2]|128)&255;p=c[z>>2]|0;c[z>>2]=p+1;a[p>>0]=o;break}c[A>>2]=-2;E=c[A>>2]|0;l=F;return E|0}else{o=(S(c[q>>2]|0,b[c[u>>2]>>1]|0)|0)+2|0;c[D>>2]=(c[D>>2]|0)+o;if((c[D>>2]|0)<=(c[v>>2]|0)){p=(d[c[p>>2]>>0]&252|3)&255;o=c[z>>2]|0;c[z>>2]=o+1;a[o>>0]=p;o=c[q>>2]&255;p=c[z>>2]|0;c[z>>2]=p+1;a[p>>0]=o;break}c[A>>2]=-2;E=c[A>>2]|0;l=F;return E|0}while(0);if(c[x>>2]|0)f=(c[v>>2]|0)-(c[D>>2]|0)|0;else f=0;c[y>>2]=f;if(c[y>>2]|0){p=(c[r>>2]|0)+1|0;a[p>>0]=d[p>>0]|64;c[w>>2]=((c[y>>2]|0)-1|0)/255|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[w>>2]|0))break;p=c[z>>2]|0;c[z>>2]=p+1;a[p>>0]=-1;c[t>>2]=(c[t>>2]|0)+1}p=(c[y>>2]|0)-((c[w>>2]|0)*255|0)-1&255;w=c[z>>2]|0;c[z>>2]=w+1;a[w>>0]=p;c[D>>2]=(c[D>>2]|0)+(c[y>>2]|0)}if(c[E>>2]|0){c[t>>2]=0;while(1){if((c[t>>2]|0)>=((c[q>>2]|0)-1|0))break a;E=Yi(b[(c[u>>2]|0)+(c[t>>2]<<1)>>1]|0,c[z>>2]|0)|0;c[z>>2]=(c[z>>2]|0)+E;c[t>>2]=(c[t>>2]|0)+1}}}while(0);if(c[C>>2]|0){c[B>>2]=Yi(b[(c[u>>2]|0)+((c[q>>2]|0)-1<<1)>>1]|0,c[z>>2]|0)|0;c[z>>2]=(c[z>>2]|0)+(c[B>>2]|0)}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[q>>2]|0))break;vk(c[z>>2]|0,c[(c[s>>2]|0)+(c[t>>2]<<2)>>2]|0,(b[(c[u>>2]|0)+(c[t>>2]<<1)>>1]|0)+0|0)|0;c[z>>2]=(c[z>>2]|0)+(b[(c[u>>2]|0)+(c[t>>2]<<1)>>1]|0);c[t>>2]=(c[t>>2]|0)+1}b:do if(c[x>>2]|0)while(1){if((c[z>>2]|0)>>>0>=((c[r>>2]|0)+(c[v>>2]|0)|0)>>>0)break b;E=c[z>>2]|0;c[z>>2]=E+1;a[E>>0]=0}while(0);c[A>>2]=c[D>>2];E=c[A>>2]|0;l=F;return E|0}c[A>>2]=-1;E=c[A>>2]|0;l=F;return E|0}function Zj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+320|0;i=k+316|0;e=k+312|0;f=k+308|0;g=k+304|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<1){c[i>>2]=-1;j=c[i>>2]|0;l=k;return j|0}if((c[f>>2]|0)==(c[g>>2]|0)){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}if((c[f>>2]|0)>(c[g>>2]|0)){c[i>>2]=-1;j=c[i>>2]|0;l=k;return j|0}Vj(j)|0;vk((c[e>>2]|0)+(c[g>>2]|0)+(0-(c[f>>2]|0))|0,c[e>>2]|0,(c[f>>2]|0)+0|0)|0;c[h>>2]=Wj(j,(c[e>>2]|0)+(c[g>>2]|0)+(0-(c[f>>2]|0))|0,c[f>>2]|0)|0;if(c[h>>2]|0){c[i>>2]=c[h>>2];j=c[i>>2]|0;l=k;return j|0}c[h>>2]=Yj(j,0,c[j+4>>2]|0,c[e>>2]|0,c[g>>2]|0,0,1)|0;if((c[h>>2]|0)>0){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else{c[i>>2]=c[h>>2];j=c[i>>2]|0;l=k;return j|0}return 0}function _j(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=ze()|0;c[c[e>>2]>>2]=a;c[(c[e>>2]|0)+8>>2]=c[f>>2];$j(c[e>>2]|0);l=d;return}function $j(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(c[d>>2]|0)+12;wk(c[e>>2]|0,0,14e3-((c[e>>2]|0)-(c[d>>2]|0))|0)|0;l=b;return}function ak(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+80|0;A=B+76|0;u=B+72|0;v=B+68|0;r=B+64|0;t=B+60|0;i=B+56|0;f=B+52|0;h=B+48|0;q=B+44|0;p=B+40|0;n=B+36|0;o=B+32|0;z=B+28|0;y=B+24|0;s=B+20|0;j=B+16|0;m=B+12|0;k=B+8|0;x=B+4|0;w=B;c[A>>2]=a;c[u>>2]=b;c[v>>2]=d;c[r>>2]=c[(c[A>>2]|0)+7448>>2];c[t>>2]=(c[(c[A>>2]|0)+7444>>2]|0)-(c[(c[A>>2]|0)+7448>>2]|0);if((c[t>>2]|0)<0)c[t>>2]=(c[t>>2]|0)+100;if((c[v>>2]|0)>((c[(c[A>>2]|0)+8>>2]|0)/50|0|0)?(c[r>>2]|0)!=(c[(c[A>>2]|0)+7444>>2]|0):0){a=(c[r>>2]|0)+1|0;c[r>>2]=a;c[r>>2]=(c[r>>2]|0)==100?0:a}if((c[r>>2]|0)==(c[(c[A>>2]|0)+7444>>2]|0))c[r>>2]=(c[r>>2]|0)+-1;if((c[r>>2]|0)<0)c[r>>2]=99;c[p>>2]=c[r>>2];uk(c[u>>2]|0,(c[A>>2]|0)+7600+(c[r>>2]<<6)|0,64|0)|0;e=+g[(c[u>>2]|0)+4>>2];g[f>>2]=e;g[i>>2]=e;c[h>>2]=1;c[q>>2]=0;while(1){if((c[q>>2]|0)>=3)break;a=(c[r>>2]|0)+1|0;c[r>>2]=a;c[r>>2]=(c[r>>2]|0)==100?0:a;if((c[r>>2]|0)==(c[(c[A>>2]|0)+7444>>2]|0))break;if(+g[i>>2]>+g[(c[A>>2]|0)+7600+(c[r>>2]<<6)+4>>2])e=+g[i>>2];else e=+g[(c[A>>2]|0)+7600+(c[r>>2]<<6)+4>>2];g[i>>2]=e;g[f>>2]=+g[f>>2]+ +g[(c[A>>2]|0)+7600+(c[r>>2]<<6)+4>>2];c[h>>2]=(c[h>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+1}if(+g[f>>2]/+(c[h>>2]|0)>+g[i>>2]-.20000000298023224)e=+g[f>>2]/+(c[h>>2]|0);else e=+g[i>>2]-.20000000298023224;g[(c[u>>2]|0)+4>>2]=e;i=c[p>>2]|0;c[m>>2]=i;c[j>>2]=i;if((c[t>>2]|0)>15){c[j>>2]=(c[j>>2]|0)+5;if((c[j>>2]|0)>=100)c[j>>2]=(c[j>>2]|0)-100;c[m>>2]=(c[m>>2]|0)+1;if((c[m>>2]|0)>=100)c[m>>2]=(c[m>>2]|0)-100}g[z>>2]=1.0;g[y>>2]=0.0;g[s>>2]=+g[(c[A>>2]|0)+7600+(c[m>>2]<<6)+36>>2];g[o>>2]=.10000000149011612>+g[s>>2]?.10000000149011612:+g[s>>2];g[n>>2]=(.10000000149011612>+g[s>>2]?.10000000149011612:+g[s>>2])*+g[(c[A>>2]|0)+7600+(c[j>>2]<<6)+20>>2];while(1){i=(c[j>>2]|0)+1|0;c[j>>2]=i;c[j>>2]=(c[j>>2]|0)==100?0:i;if((c[j>>2]|0)==(c[(c[A>>2]|0)+7444>>2]|0))break;i=(c[m>>2]|0)+1|0;c[m>>2]=i;c[m>>2]=(c[m>>2]|0)==100?0:i;if((c[m>>2]|0)==(c[(c[A>>2]|0)+7444>>2]|0))break;g[k>>2]=+g[(c[A>>2]|0)+7600+(c[m>>2]<<6)+36>>2];if((+g[n>>2]-(+g[s>>2]-+g[k>>2])*10.0)/+g[o>>2]<+g[z>>2])e=(+g[n>>2]-(+g[s>>2]-+g[k>>2])*10.0)/+g[o>>2];else e=+g[z>>2];g[z>>2]=e;if((+g[n>>2]+(+g[s>>2]-+g[k>>2])*10.0)/+g[o>>2]>+g[y>>2])e=(+g[n>>2]+(+g[s>>2]-+g[k>>2])*10.0)/+g[o>>2];else e=+g[y>>2];g[y>>2]=e;g[o>>2]=+g[o>>2]+(.10000000149011612>+g[k>>2]?.10000000149011612:+g[k>>2]);g[n>>2]=+g[n>>2]+(.10000000149011612>+g[k>>2]?.10000000149011612:+g[k>>2])*+g[(c[A>>2]|0)+7600+(c[j>>2]<<6)+20>>2]}g[(c[u>>2]|0)+20>>2]=+g[n>>2]/+g[o>>2];if(+g[n>>2]/+g[o>>2]<+g[z>>2])e=+g[n>>2]/+g[o>>2];else e=+g[z>>2];g[z>>2]=e;if(+g[n>>2]/+g[o>>2]>+g[y>>2])e=+g[n>>2]/+g[o>>2];else e=+g[y>>2];g[y>>2]=e;g[z>>2]=+g[z>>2]>0.0?+g[z>>2]:0.0;g[y>>2]=+g[y>>2]<1.0?+g[y>>2]:1.0;if((c[t>>2]|0)<10){g[x>>2]=+g[z>>2];g[w>>2]=+g[y>>2];c[r>>2]=c[p>>2];c[q>>2]=0;while(1){if(((c[(c[A>>2]|0)+7436>>2]|0)-1|0)<15)b=(c[(c[A>>2]|0)+7436>>2]|0)-1|0;else b=15;if((c[q>>2]|0)>=(b|0))break;p=(c[r>>2]|0)+-1|0;c[r>>2]=p;c[r>>2]=(c[r>>2]|0)<0?99:p;if(+g[x>>2]<+g[(c[A>>2]|0)+7600+(c[r>>2]<<6)+20>>2])e=+g[x>>2];else e=+g[(c[A>>2]|0)+7600+(c[r>>2]<<6)+20>>2];g[x>>2]=e;if(+g[w>>2]>+g[(c[A>>2]|0)+7600+(c[r>>2]<<6)+20>>2])e=+g[w>>2];else e=+g[(c[A>>2]|0)+7600+(c[r>>2]<<6)+20>>2];g[w>>2]=e;c[q>>2]=(c[q>>2]|0)+1}if(0.0>+g[x>>2]-+g[s>>2]*.10000000149011612)e=0.0;else e=+g[x>>2]-+g[s>>2]*.10000000149011612;g[x>>2]=e;if(1.0<+g[w>>2]+ +g[s>>2]*.10000000149011612)e=1.0;else e=+g[w>>2]+ +g[s>>2]*.10000000149011612;g[w>>2]=e;g[z>>2]=+g[z>>2]+(1.0-+(c[t>>2]|0)*.10000000149011612)*(+g[x>>2]-+g[z>>2]);g[y>>2]=+g[y>>2]+(1.0-+(c[t>>2]|0)*.10000000149011612)*(+g[w>>2]-+g[y>>2])}g[(c[u>>2]|0)+24>>2]=+g[z>>2];g[(c[u>>2]|0)+28>>2]=+g[y>>2];b=(c[v>>2]|0)/((c[(c[A>>2]|0)+8>>2]|0)/400|0|0)|0;d=(c[A>>2]|0)+7452|0;while(1){c[d>>2]=(c[d>>2]|0)+b;b=c[A>>2]|0;if((c[(c[A>>2]|0)+7452>>2]|0)<8)break;b=b+7452|0;c[b>>2]=(c[b>>2]|0)-8;b=1;d=(c[A>>2]|0)+7448|0}if((c[b+7448>>2]|0)<100){l=B;return}A=(c[A>>2]|0)+7448|0;c[A>>2]=(c[A>>2]|0)-100;l=B;return}function bk(a,b,d,e,f,g,h,i,j,k,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+64|0;q=C+52|0;w=C+48|0;t=C+44|0;r=C+40|0;y=C+36|0;u=C+32|0;v=C+28|0;o=C+24|0;p=C+20|0;z=C+16|0;x=C+12|0;s=C+8|0;A=C+4|0;B=C;c[q>>2]=a;c[w>>2]=b;c[t>>2]=d;c[r>>2]=e;c[y>>2]=f;c[u>>2]=g;c[v>>2]=h;c[o>>2]=i;c[p>>2]=j;c[z>>2]=k;c[x>>2]=m;c[s>>2]=n;c[r>>2]=(c[r>>2]|0)-(c[r>>2]&1);if(!(c[t>>2]|0)){z=c[s>>2]|0;c[z>>2]=0;z=c[q>>2]|0;A=c[s>>2]|0;B=c[y>>2]|0;ak(z,A,B);l=C;return}if((((c[p>>2]|0)*95|0)/50|0|0)<(c[r>>2]|0))i=((c[p>>2]|0)*95|0)/50|0;else i=c[r>>2]|0;c[r>>2]=i;c[B>>2]=(c[r>>2]|0)-(c[(c[q>>2]|0)+7440>>2]|0);c[A>>2]=c[(c[q>>2]|0)+7440>>2];while(1){if((c[B>>2]|0)<=0)break;if(((c[p>>2]|0)/50|0|0)<(c[B>>2]|0))i=(c[p>>2]|0)/50|0;else i=c[B>>2]|0;ck(c[q>>2]|0,c[w>>2]|0,c[t>>2]|0,i,c[A>>2]|0,c[u>>2]|0,c[v>>2]|0,c[o>>2]|0,c[z>>2]|0,c[x>>2]|0);c[A>>2]=(c[A>>2]|0)+((c[p>>2]|0)/50|0);c[B>>2]=(c[B>>2]|0)-((c[p>>2]|0)/50|0)}c[(c[q>>2]|0)+7440>>2]=c[r>>2];z=(c[q>>2]|0)+7440|0;c[z>>2]=(c[z>>2]|0)-(c[y>>2]|0);z=c[s>>2]|0;c[z>>2]=0;z=c[q>>2]|0;A=c[s>>2]|0;B=c[y>>2]|0;ak(z,A,B);l=C;return}function ck(b,d,e,f,h,i,j,k,m,n){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0;lb=l;l=l+11648|0;kb=lb+11636|0;q=lb+11632|0;V=lb+11628|0;O=lb+11624|0;S=lb+11620|0;A=lb+11616|0;B=lb+11612|0;s=lb+11608|0;ua=lb+11604|0;L=lb+11600|0;cb=lb+11596|0;Ra=lb+11592|0;N=lb+11588|0;za=lb+11584|0;X=lb+11580|0;r=lb+11576|0;I=lb+11572|0;C=lb+11568|0;ea=lb+11496|0;Ta=lb+11424|0;Za=lb+11392|0;$a=lb+11292|0;bb=lb+11288|0;Ua=lb+11284|0;ib=lb+11280|0;Ya=lb+11272|0;ab=lb+11268|0;Va=lb+11264|0;gb=lb+11256|0;_a=lb+11252|0;Qa=lb+11248|0;Aa=lb+11244|0;Sa=lb+11240|0;La=lb+11236|0;Pa=lb+11160|0;hb=lb+11156|0;Fa=lb+11152|0;Na=lb+11148|0;T=lb+11144|0;jb=lb+11140|0;Ea=lb+11136|0;$=lb+10176|0;eb=lb+10144|0;fb=lb+10140|0;na=lb+10064|0;sa=lb+9988|0;ta=lb+9912|0;db=lb+9784|0;Ma=lb+9780|0;Ka=lb+9776|0;M=lb+5936|0;Ga=lb+2096|0;ka=lb+1136|0;ha=lb+176|0;U=lb+172|0;u=lb+168|0;w=lb+164|0;t=lb+160|0;v=lb+156|0;x=lb+152|0;J=lb+148|0;D=lb+144|0;y=lb+140|0;K=lb+136|0;H=lb+132|0;P=lb+128|0;R=lb+124|0;z=lb+120|0;aa=lb+116|0;W=lb+112|0;Y=lb+108|0;Z=lb+104|0;_=lb+100|0;ba=lb+96|0;ja=lb+92|0;ga=lb+88|0;ca=lb+84|0;da=lb+80|0;ia=lb+76|0;fa=lb+72|0;la=lb+68|0;ma=lb+64|0;oa=lb+60|0;qa=lb+56|0;va=lb+52|0;ra=lb+48|0;pa=lb+44|0;wa=lb+40|0;xa=lb+36|0;ya=lb+32|0;Ca=lb+28|0;Ba=lb+24|0;Da=lb+20|0;Oa=lb+16|0;Ja=lb+12|0;Ia=lb+8|0;Wa=lb+4|0;Xa=lb;c[kb>>2]=b;c[q>>2]=d;c[V>>2]=e;c[O>>2]=f;c[S>>2]=h;c[A>>2]=i;c[B>>2]=j;c[s>>2]=k;c[ua>>2]=m;c[L>>2]=n;c[za>>2]=480;c[X>>2]=240;c[r>>2]=(c[kb>>2]|0)+12;c[I>>2]=(c[kb>>2]|0)+972;c[C>>2]=(c[kb>>2]|0)+1932;g[lb+11276>>2]=97.40908813476562;g[Ya>>2]=0.0;c[hb>>2]=0;g[Fa>>2]=0.0;g[fb>>2]=0.0;if(10<(1+(c[(c[kb>>2]|0)+7436>>2]|0)|0))k=10;else k=1+(c[(c[kb>>2]|0)+7436>>2]|0)|0;g[_a>>2]=1.0/+(k|0);if(25<(1+(c[(c[kb>>2]|0)+7436>>2]|0)|0))k=25;else k=1+(c[(c[kb>>2]|0)+7436>>2]|0)|0;g[Qa>>2]=1.0/+(k|0);if(100<(1+(c[(c[kb>>2]|0)+7436>>2]|0)|0))k=100;else k=1+(c[(c[kb>>2]|0)+7436>>2]|0)|0;p=1.0/+(k|0);g[Aa>>2]=p;g[Aa>>2]=(c[(c[kb>>2]|0)+7436>>2]|0)<=1?1.0:p;if((c[(c[kb>>2]|0)+8>>2]|0)!=48e3){if((c[(c[kb>>2]|0)+8>>2]|0)==16e3){c[O>>2]=((c[O>>2]|0)*3|0)/2|0;c[S>>2]=((c[S>>2]|0)*3|0)/2|0}}else{c[O>>2]=(c[O>>2]|0)/2|0;c[S>>2]=(c[S>>2]|0)/2|0}c[N>>2]=c[(c[q>>2]|0)+64+8>>2];if(!(c[(c[kb>>2]|0)+7436>>2]|0))c[(c[kb>>2]|0)+5772>>2]=240;if((c[O>>2]|0)<(720-(c[(c[kb>>2]|0)+5772>>2]|0)|0))k=c[O>>2]|0;else k=720-(c[(c[kb>>2]|0)+5772>>2]|0)|0;p=+dk(c[L>>2]|0,c[V>>2]|0,(c[kb>>2]|0)+2892+(c[(c[kb>>2]|0)+5772>>2]<<2)|0,(c[kb>>2]|0)+7588|0,k,c[S>>2]|0,c[A>>2]|0,c[B>>2]|0,c[s>>2]|0,c[(c[kb>>2]|0)+8>>2]|0);q=(c[kb>>2]|0)+7456|0;g[q>>2]=+g[q>>2]+p;if(((c[(c[kb>>2]|0)+5772>>2]|0)+(c[O>>2]|0)|0)<720){kb=(c[kb>>2]|0)+5772|0;c[kb>>2]=(c[kb>>2]|0)+(c[O>>2]|0);l=lb;return}g[Ea>>2]=+g[(c[kb>>2]|0)+7456>>2];e=(c[kb>>2]|0)+7600|0;b=(c[kb>>2]|0)+7444|0;q=c[b>>2]|0;c[b>>2]=q+1;c[jb>>2]=e+(q<<6);if((c[(c[kb>>2]|0)+7444>>2]|0)>=100){q=(c[kb>>2]|0)+7444|0;c[q>>2]=(c[q>>2]|0)-100}c[cb>>2]=0;while(1){if((c[cb>>2]|0)>=(c[X>>2]|0))break;g[U>>2]=+g[18396+(c[cb>>2]<<2)>>2];g[M+(c[cb>>2]<<3)>>2]=+g[U>>2]*+g[(c[kb>>2]|0)+2892+(c[cb>>2]<<2)>>2];g[M+(c[cb>>2]<<3)+4>>2]=+g[U>>2]*+g[(c[kb>>2]|0)+2892+((c[X>>2]|0)+(c[cb>>2]|0)<<2)>>2];g[M+((c[za>>2]|0)-(c[cb>>2]|0)-1<<3)>>2]=+g[U>>2]*+g[(c[kb>>2]|0)+2892+((c[za>>2]|0)-(c[cb>>2]|0)-1<<2)>>2];g[M+((c[za>>2]|0)-(c[cb>>2]|0)-1<<3)+4>>2]=+g[U>>2]*+g[(c[kb>>2]|0)+2892+((c[za>>2]|0)+(c[X>>2]|0)-(c[cb>>2]|0)-1<<2)>>2];c[cb>>2]=(c[cb>>2]|0)+1}vk((c[kb>>2]|0)+2892|0,(c[kb>>2]|0)+2892+2880+-960|0,960|0)|0;c[T>>2]=(c[O>>2]|0)-(720-(c[(c[kb>>2]|0)+5772>>2]|0));p=+dk(c[L>>2]|0,c[V>>2]|0,(c[kb>>2]|0)+2892+960|0,(c[kb>>2]|0)+7588|0,c[T>>2]|0,(c[S>>2]|0)+720-(c[(c[kb>>2]|0)+5772>>2]|0)|0,c[A>>2]|0,c[B>>2]|0,c[s>>2]|0,c[(c[kb>>2]|0)+8>>2]|0);g[(c[kb>>2]|0)+7456>>2]=p;c[(c[kb>>2]|0)+5772>>2]=240+(c[T>>2]|0);Id(c[N>>2]|0,M,Ga);if(+g[Ga>>2]!=+g[Ga>>2]){c[c[jb>>2]>>2]=0;l=lb;return}c[cb>>2]=1;while(1){if((c[cb>>2]|0)>=(c[X>>2]|0))break;g[u>>2]=+g[Ga+(c[cb>>2]<<3)>>2]+ +g[Ga+((c[za>>2]|0)-(c[cb>>2]|0)<<3)>>2];g[t>>2]=+g[Ga+(c[cb>>2]<<3)+4>>2]-+g[Ga+((c[za>>2]|0)-(c[cb>>2]|0)<<3)+4>>2];g[w>>2]=+g[Ga+(c[cb>>2]<<3)+4>>2]+ +g[Ga+((c[za>>2]|0)-(c[cb>>2]|0)<<3)+4>>2];g[v>>2]=+g[Ga+((c[za>>2]|0)-(c[cb>>2]|0)<<3)>>2]-+g[Ga+(c[cb>>2]<<3)>>2];g[x>>2]=+ek(+g[t>>2],+g[u>>2])*.15915493667125702;g[J>>2]=+g[x>>2]-+g[(c[r>>2]|0)+(c[cb>>2]<<2)>>2];g[D>>2]=+g[J>>2]-+g[(c[I>>2]|0)+(c[cb>>2]<<2)>>2];g[y>>2]=+ek(+g[v>>2],+g[w>>2])*.15915493667125702;g[K>>2]=+g[y>>2]-+g[x>>2];g[H>>2]=+g[K>>2]-+g[J>>2];p=+g[D>>2];g[P>>2]=p-+(ok(+g[D>>2])|0);p=+F(+(+g[P>>2]));g[ha+(c[cb>>2]<<2)>>2]=p;g[P>>2]=+g[P>>2]*+g[P>>2];g[P>>2]=+g[P>>2]*+g[P>>2];p=+g[H>>2];g[R>>2]=p-+(ok(+g[H>>2])|0);p=+F(+(+g[R>>2]));V=ha+(c[cb>>2]<<2)|0;g[V>>2]=+g[V>>2]+p;g[R>>2]=+g[R>>2]*+g[R>>2];g[R>>2]=+g[R>>2]*+g[R>>2];g[z>>2]=(+g[(c[C>>2]|0)+(c[cb>>2]<<2)>>2]+ +g[P>>2]+ +g[R>>2]*2.0)*.25;g[ka+(c[cb>>2]<<2)>>2]=1.0/(+g[z>>2]*62341.81640625+1.0)-.014999999664723873;g[$+(c[cb>>2]<<2)>>2]=1.0/(+g[R>>2]*62341.81640625+1.0)-.014999999664723873;g[(c[r>>2]|0)+(c[cb>>2]<<2)>>2]=+g[y>>2];g[(c[I>>2]|0)+(c[cb>>2]<<2)>>2]=+g[K>>2];g[(c[C>>2]|0)+(c[cb>>2]<<2)>>2]=+g[R>>2];c[cb>>2]=(c[cb>>2]|0)+1}c[cb>>2]=2;while(1){if((c[cb>>2]|0)>=((c[X>>2]|0)-1|0))break;V=c[cb>>2]|0;k=c[cb>>2]|0;if(!(+g[$+(c[cb>>2]<<2)>>2]<+g[$+((+g[$+((c[cb>>2]|0)-1<<2)>>2]>+g[$+((c[cb>>2]|0)+1<<2)>>2]?V-1|0:V+1|0)<<2)>>2])){V=c[cb>>2]|0;k=+g[$+(k-1<<2)>>2]>+g[$+((c[cb>>2]|0)+1<<2)>>2]?V-1|0:V+1|0}g[aa>>2]=+g[$+(k<<2)>>2];if(+g[ka+(c[cb>>2]<<2)>>2]>+g[aa>>2]-.10000000149011612)o=+g[ka+(c[cb>>2]<<2)>>2];else o=+g[aa>>2]-.10000000149011612;g[ka+(c[cb>>2]<<2)>>2]=.8999999761581421*o;c[cb>>2]=(c[cb>>2]|0)+1}g[bb>>2]=0.0;g[Ua>>2]=0.0;g[(c[jb>>2]|0)+16>>2]=0.0;g[ib>>2]=0.0;g[ab>>2]=0.0;a:do if(!(c[(c[kb>>2]|0)+7436>>2]|0)){c[Ra>>2]=0;while(1){if((c[Ra>>2]|0)>=18)break a;g[(c[kb>>2]|0)+7008+(c[Ra>>2]<<2)>>2]=1.0e10;g[(c[kb>>2]|0)+7080+(c[Ra>>2]<<2)>>2]=-1.0e10;c[Ra>>2]=(c[Ra>>2]|0)+1}}while(0);g[Va>>2]=0.0;g[Sa>>2]=0.0;g[W>>2]=0.0;g[Y>>2]=+g[Ga>>2]*2.0;g[Z>>2]=+g[Ga+4>>2]*2.0;g[W>>2]=+g[Y>>2]*+g[Y>>2]+ +g[Z>>2]*+g[Z>>2];c[cb>>2]=1;while(1){if((c[cb>>2]|0)>=4)break;g[_>>2]=+g[Ga+(c[cb>>2]<<3)>>2]*+g[Ga+(c[cb>>2]<<3)>>2]+ +g[Ga+((c[za>>2]|0)-(c[cb>>2]|0)<<3)>>2]*+g[Ga+((c[za>>2]|0)-(c[cb>>2]|0)<<3)>>2]+ +g[Ga+(c[cb>>2]<<3)+4>>2]*+g[Ga+(c[cb>>2]<<3)+4>>2]+ +g[Ga+((c[za>>2]|0)-(c[cb>>2]|0)<<3)+4>>2]*+g[Ga+((c[za>>2]|0)-(c[cb>>2]|0)<<3)+4>>2];g[W>>2]=+g[W>>2]+ +g[_>>2];c[cb>>2]=(c[cb>>2]|0)+1}g[W>>2]=+g[W>>2];g[na>>2]=+Q(+(+g[W>>2]+1.000000013351432e-10))*.7213475108146667;c[Ra>>2]=0;while(1){if((c[Ra>>2]|0)>=18)break;g[ba>>2]=0.0;g[ja>>2]=0.0;g[ga>>2]=0.0;c[cb>>2]=c[19356+(c[Ra>>2]<<2)>>2];while(1){if((c[cb>>2]|0)>=(c[19356+((c[Ra>>2]|0)+1<<2)>>2]|0))break;g[fa>>2]=+g[Ga+(c[cb>>2]<<3)>>2]*+g[Ga+(c[cb>>2]<<3)>>2]+ +g[Ga+((c[za>>2]|0)-(c[cb>>2]|0)<<3)>>2]*+g[Ga+((c[za>>2]|0)-(c[cb>>2]|0)<<3)>>2]+ +g[Ga+(c[cb>>2]<<3)+4>>2]*+g[Ga+(c[cb>>2]<<3)+4>>2]+ +g[Ga+((c[za>>2]|0)-(c[cb>>2]|0)<<3)+4>>2]*+g[Ga+((c[za>>2]|0)-(c[cb>>2]|0)<<3)+4>>2];g[fa>>2]=+g[fa>>2];g[ba>>2]=+g[ba>>2]+ +g[fa>>2];if(0.0>+g[ka+(c[cb>>2]<<2)>>2])o=0.0;else o=+g[ka+(c[cb>>2]<<2)>>2];g[ja>>2]=+g[ja>>2]+ +g[fa>>2]*o;g[ga>>2]=+g[ga>>2]+ +g[fa>>2]*2.0*(.5-+g[ha+(c[cb>>2]<<2)>>2]);c[cb>>2]=(c[cb>>2]|0)+1}if(!(+g[ba>>2]<1.0e9)){Ha=52;break}if(+g[ba>>2]!=+g[ba>>2]){Ha=52;break}g[(c[kb>>2]|0)+5856+((c[(c[kb>>2]|0)+7432>>2]|0)*72|0)+(c[Ra>>2]<<2)>>2]=+g[ba>>2];g[ib>>2]=+g[ib>>2]+ +g[ga>>2]/(+g[ba>>2]+1.0000000036274937e-15);p=+G(+(+g[ba>>2]+1.000000013351432e-10));g[Sa>>2]=+g[Sa>>2]+p;p=+Q(+(+g[ba>>2]+1.000000013351432e-10));g[Ta+(c[Ra>>2]<<2)>>2]=p;p=+Q(+(+g[ba>>2]+1.000000013351432e-10))*.7213475108146667;g[na+((c[Ra>>2]|0)+1<<2)>>2]=p;g[(c[kb>>2]|0)+6432+((c[(c[kb>>2]|0)+7432>>2]|0)*72|0)+(c[Ra>>2]<<2)>>2]=+g[Ta+(c[Ra>>2]<<2)>>2];if(!(c[(c[kb>>2]|0)+7436>>2]|0)){p=+g[Ta+(c[Ra>>2]<<2)>>2];g[(c[kb>>2]|0)+7008+(c[Ra>>2]<<2)>>2]=p;g[(c[kb>>2]|0)+7080+(c[Ra>>2]<<2)>>2]=p}do if(+g[(c[kb>>2]|0)+7080+(c[Ra>>2]<<2)>>2]>+g[(c[kb>>2]|0)+7008+(c[Ra>>2]<<2)>>2]+7.5){k=c[kb>>2]|0;if(+g[(c[kb>>2]|0)+7080+(c[Ra>>2]<<2)>>2]-+g[Ta+(c[Ra>>2]<<2)>>2]>+g[Ta+(c[Ra>>2]<<2)>>2]-+g[(c[kb>>2]|0)+7008+(c[Ra>>2]<<2)>>2]){aa=k+7080+(c[Ra>>2]<<2)|0;g[aa>>2]=+g[aa>>2]-.009999999776482582;break}else{aa=k+7008+(c[Ra>>2]<<2)|0;g[aa>>2]=+g[aa>>2]+.009999999776482582;break}}while(0);o=+g[Ta+(c[Ra>>2]<<2)>>2];k=c[kb>>2]|0;if(!(+g[Ta+(c[Ra>>2]<<2)>>2]>+g[(c[kb>>2]|0)+7080+(c[Ra>>2]<<2)>>2])){if(o<+g[k+7008+(c[Ra>>2]<<2)>>2]){g[(c[kb>>2]|0)+7008+(c[Ra>>2]<<2)>>2]=+g[Ta+(c[Ra>>2]<<2)>>2];k=c[kb>>2]|0;if(+g[(c[kb>>2]|0)+7008+(c[Ra>>2]<<2)>>2]+15.0<+g[(c[kb>>2]|0)+7080+(c[Ra>>2]<<2)>>2])o=+g[k+7008+(c[Ra>>2]<<2)>>2]+15.0;else o=+g[k+7080+(c[Ra>>2]<<2)>>2];k=(c[kb>>2]|0)+7080+(c[Ra>>2]<<2)|0;Ha=69}}else{g[k+7080+(c[Ra>>2]<<2)>>2]=o;k=c[kb>>2]|0;if(+g[(c[kb>>2]|0)+7080+(c[Ra>>2]<<2)>>2]-15.0>+g[(c[kb>>2]|0)+7008+(c[Ra>>2]<<2)>>2])o=+g[k+7080+(c[Ra>>2]<<2)>>2]-15.0;else o=+g[k+7008+(c[Ra>>2]<<2)>>2];k=(c[kb>>2]|0)+7008+(c[Ra>>2]<<2)|0;Ha=69}if((Ha|0)==69){Ha=0;g[k>>2]=o}g[Va>>2]=+g[Va>>2]+(+g[Ta+(c[Ra>>2]<<2)>>2]-+g[(c[kb>>2]|0)+7008+(c[Ra>>2]<<2)>>2])/(+g[(c[kb>>2]|0)+7080+(c[Ra>>2]<<2)>>2]-+g[(c[kb>>2]|0)+7008+(c[Ra>>2]<<2)>>2]+1.0000000036274937e-15);g[da>>2]=0.0;g[ca>>2]=0.0;c[cb>>2]=0;while(1){if((c[cb>>2]|0)>=8)break;p=+G(+(+g[(c[kb>>2]|0)+5856+((c[cb>>2]|0)*72|0)+(c[Ra>>2]<<2)>>2]));g[ca>>2]=+g[ca>>2]+p;g[da>>2]=+g[da>>2]+ +g[(c[kb>>2]|0)+5856+((c[cb>>2]|0)*72|0)+(c[Ra>>2]<<2)>>2];c[cb>>2]=(c[cb>>2]|0)+1}if(.9900000095367432<+g[ca>>2]/+G(+(+g[da>>2]*8.0+1.0e-15)))o=.9900000095367432;else o=+g[ca>>2]/+G(+(+g[da>>2]*8.0+1.0e-15));g[ia>>2]=o;g[ia>>2]=+g[ia>>2]*+g[ia>>2];g[ia>>2]=+g[ia>>2]*+g[ia>>2];g[ab>>2]=+g[ab>>2]+ +g[ia>>2];if(+g[ja>>2]/(+g[ba>>2]+1.0000000036274937e-15)>+g[ia>>2]*+g[(c[kb>>2]|0)+5776+(c[Ra>>2]<<2)>>2])o=+g[ja>>2]/(+g[ba>>2]+1.0000000036274937e-15);else o=+g[ia>>2]*+g[(c[kb>>2]|0)+5776+(c[Ra>>2]<<2)>>2];g[ea+(c[Ra>>2]<<2)>>2]=o;g[bb>>2]=+g[bb>>2]+ +g[ea+(c[Ra>>2]<<2)>>2];if((c[Ra>>2]|0)>=9)g[bb>>2]=+g[bb>>2]-+g[ea+((c[Ra>>2]|0)-18+9<<2)>>2];if(+g[Ua>>2]>(+((c[Ra>>2]|0)-18|0)*.029999999329447746+1.0)*+g[bb>>2])o=+g[Ua>>2];else o=(+((c[Ra>>2]|0)-18|0)*.029999999329447746+1.0)*+g[bb>>2];g[Ua>>2]=o;g[Ya>>2]=+g[Ya>>2]+ +g[ea+(c[Ra>>2]<<2)>>2]*+((c[Ra>>2]|0)-8|0);g[(c[kb>>2]|0)+5776+(c[Ra>>2]<<2)>>2]=+g[ea+(c[Ra>>2]<<2)>>2];c[Ra>>2]=(c[Ra>>2]|0)+1}if((Ha|0)==52){c[c[jb>>2]>>2]=0;l=lb;return}g[sa>>2]=+g[na>>2];g[ta>>2]=+g[na>>2]-2.5;c[Ra>>2]=1;while(1){if((c[Ra>>2]|0)>=19)break;g[la>>2]=+((c[19356+(c[Ra>>2]<<2)>>2]|0)-(c[19356+((c[Ra>>2]|0)-1<<2)>>2]|0)|0)*2.0/4.0;k=c[Ra>>2]|0;if(+g[sa+((c[Ra>>2]|0)-1<<2)>>2]+ +g[la>>2]<+g[na+(c[Ra>>2]<<2)>>2])o=+g[sa+(k-1<<2)>>2]+ +g[la>>2];else o=+g[na+(k<<2)>>2];g[sa+(c[Ra>>2]<<2)>>2]=o;k=c[Ra>>2]|0;if(+g[ta+((c[Ra>>2]|0)-1<<2)>>2]-+g[la>>2]>+g[na+(c[Ra>>2]<<2)>>2]-2.5)o=+g[ta+(k-1<<2)>>2]-+g[la>>2];else o=+g[na+(k<<2)>>2]-2.5;g[ta+(c[Ra>>2]<<2)>>2]=o;c[Ra>>2]=(c[Ra>>2]|0)+1}c[Ra>>2]=16;while(1){if((c[Ra>>2]|0)<0)break;g[ma>>2]=+((c[19356+((c[Ra>>2]|0)+1<<2)>>2]|0)-(c[19356+(c[Ra>>2]<<2)>>2]|0)|0)*2.0/4.0;k=c[Ra>>2]|0;if(+g[sa+((c[Ra>>2]|0)+1<<2)>>2]+ +g[ma>>2]<+g[sa+(c[Ra>>2]<<2)>>2])o=+g[sa+(k+1<<2)>>2]+ +g[ma>>2];else o=+g[sa+(k<<2)>>2];g[sa+(c[Ra>>2]<<2)>>2]=o;k=c[Ra>>2]|0;if(+g[ta+((c[Ra>>2]|0)+1<<2)>>2]-+g[ma>>2]>+g[ta+(c[Ra>>2]<<2)>>2])o=+g[ta+(k+1<<2)>>2]-+g[ma>>2];else o=+g[ta+(k<<2)>>2];g[ta+(c[Ra>>2]<<2)>>2]=o;c[Ra>>2]=(c[Ra>>2]|0)+-1}c[Ra>>2]=0;while(1){if((c[Ra>>2]|0)>=19)break;if(0.0>+g[ta+(c[Ra>>2]<<2)>>2]-+g[na+(c[Ra>>2]<<2)>>2])o=0.0;else o=+g[ta+(c[Ra>>2]<<2)>>2]-+g[na+(c[Ra>>2]<<2)>>2];if(0.0>+g[na+(c[Ra>>2]<<2)>>2]-(+g[sa+(c[Ra>>2]<<2)>>2]+2.5))p=0.0;else p=+g[na+(c[Ra>>2]<<2)>>2]-(+g[sa+(c[Ra>>2]<<2)>>2]+2.5);g[oa>>2]=o+p;if(255<(~~+E(+(+g[oa>>2]*64.0+.5))|0))k=255;else k=~~+E(+(+g[oa>>2]*64.0+.5));a[(c[jb>>2]|0)+44+(c[Ra>>2]|0)>>0]=k;c[Ra>>2]=(c[Ra>>2]|0)+1}while(1){if((c[Ra>>2]|0)>=19)break;a[(c[jb>>2]|0)+44+(c[Ra>>2]|0)>>0]=0;c[Ra>>2]=(c[Ra>>2]|0)+1}c[cb>>2]=0;while(1){if((c[cb>>2]|0)>=8)break;g[va>>2]=999999986991104.0;c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=8)break;g[pa>>2]=0.0;c[ra>>2]=0;while(1){if((c[ra>>2]|0)>=18)break;g[wa>>2]=+g[(c[kb>>2]|0)+6432+((c[cb>>2]|0)*72|0)+(c[ra>>2]<<2)>>2]-+g[(c[kb>>2]|0)+6432+((c[qa>>2]|0)*72|0)+(c[ra>>2]<<2)>>2];g[pa>>2]=+g[pa>>2]+ +g[wa>>2]*+g[wa>>2];c[ra>>2]=(c[ra>>2]|0)+1}if((c[qa>>2]|0)!=(c[cb>>2]|0))g[va>>2]=+g[va>>2]<+g[pa>>2]?+g[va>>2]:+g[pa>>2];c[qa>>2]=(c[qa>>2]|0)+1}g[fb>>2]=+g[fb>>2]+ +g[va>>2];c[cb>>2]=(c[cb>>2]|0)+1}g[fb>>2]=+G(+(+g[fb>>2]/8.0/18.0));g[La>>2]=0.0;c[hb>>2]=0;g[Fa>>2]=0.0;g[Na>>2]=5.699999746866524e-04/+(1<<(0>((c[ua>>2]|0)-8|0)?0:(c[ua>>2]|0)-8|0)|0);g[Na>>2]=+g[Na>>2]*+g[Na>>2];g[Ma>>2]=0.0;g[Ka>>2]=0.0;c[Ra>>2]=0;while(1){if((c[Ra>>2]|0)>=18)break;g[xa>>2]=0.0;c[Ca>>2]=c[19356+(c[Ra>>2]<<2)>>2];c[Ba>>2]=c[19356+((c[Ra>>2]|0)+1<<2)>>2];c[cb>>2]=c[Ca>>2];while(1){if((c[cb>>2]|0)>=(c[Ba>>2]|0))break;g[Da>>2]=+g[Ga+(c[cb>>2]<<3)>>2]*+g[Ga+(c[cb>>2]<<3)>>2]+ +g[Ga+((c[za>>2]|0)-(c[cb>>2]|0)<<3)>>2]*+g[Ga+((c[za>>2]|0)-(c[cb>>2]|0)<<3)>>2]+ +g[Ga+(c[cb>>2]<<3)+4>>2]*+g[Ga+(c[cb>>2]<<3)+4>>2]+ +g[Ga+((c[za>>2]|0)-(c[cb>>2]|0)<<3)+4>>2]*+g[Ga+((c[za>>2]|0)-(c[cb>>2]|0)<<3)+4>>2];g[xa>>2]=+g[xa>>2]+ +g[Da>>2];c[cb>>2]=(c[cb>>2]|0)+1}g[xa>>2]=+g[xa>>2];g[Fa>>2]=+g[Fa>>2]>+g[xa>>2]?+g[Fa>>2]:+g[xa>>2];o=+g[xa>>2];if((c[Ca>>2]|0)<64)g[Ma>>2]=+g[Ma>>2]+o;else g[Ka>>2]=+g[Ka>>2]+o;if((1.0-+g[Aa>>2])*+g[(c[kb>>2]|0)+7152+(c[Ra>>2]<<2)>>2]>+g[xa>>2])o=(1.0-+g[Aa>>2])*+g[(c[kb>>2]|0)+7152+(c[Ra>>2]<<2)>>2];else o=+g[xa>>2];g[(c[kb>>2]|0)+7152+(c[Ra>>2]<<2)>>2]=o;if(+g[xa>>2]>+g[(c[kb>>2]|0)+7152+(c[Ra>>2]<<2)>>2])o=+g[xa>>2];else o=+g[(c[kb>>2]|0)+7152+(c[Ra>>2]<<2)>>2];g[ya>>2]=o;do if(+g[xa>>2]*1.0e9>+g[Fa>>2]){if(!(+g[ya>>2]>+g[Na>>2]*3.0*+((c[Ba>>2]|0)-(c[Ca>>2]|0)|0))?!(+g[xa>>2]>+g[Na>>2]*+((c[Ba>>2]|0)-(c[Ca>>2]|0)|0)):0)break;c[hb>>2]=(c[Ra>>2]|0)+1}while(0);c[Pa+(c[Ra>>2]<<2)>>2]=+g[xa>>2]<((c[(c[kb>>2]|0)+5852>>2]|0)>=((c[Ra>>2]|0)+1|0)?.009999999776482582:.05000000074505806)*+g[La>>2]&1;g[La>>2]=+g[La>>2]*.05000000074505806>+g[xa>>2]?+g[La>>2]*.05000000074505806:+g[xa>>2];c[Ra>>2]=(c[Ra>>2]|0)+1}if((c[(c[kb>>2]|0)+8>>2]|0)==48e3){g[Ia>>2]=+g[Ea>>2]*2.7777778450399637e-04;g[Oa>>2]=(c[(c[kb>>2]|0)+5852>>2]|0)==20?10.0:30.0;g[Ka>>2]=+g[Ka>>2]+ +g[Ia>>2];if((1.0-+g[Aa>>2])*+g[(c[kb>>2]|0)+7152+(c[Ra>>2]<<2)>>2]>+g[Ia>>2])o=(1.0-+g[Aa>>2])*+g[(c[kb>>2]|0)+7152+(c[Ra>>2]<<2)>>2];else o=+g[Ia>>2];g[(c[kb>>2]|0)+7152+(c[Ra>>2]<<2)>>2]=o;if(+g[Ia>>2]>+g[(c[kb>>2]|0)+7152+(c[Ra>>2]<<2)>>2])o=+g[Ia>>2];else o=+g[(c[kb>>2]|0)+7152+(c[Ra>>2]<<2)>>2];g[Ja>>2]=o;if(!(!(+g[Ja>>2]>+g[Oa>>2]*3.0*+g[Na>>2]*160.0)?!(+g[Ia>>2]>+g[Oa>>2]*+g[Na>>2]*160.0):0))c[hb>>2]=20;c[Pa+(c[Ra>>2]<<2)>>2]=+g[Ia>>2]<((c[(c[kb>>2]|0)+5852>>2]|0)==20?.009999999776482582:.05000000074505806)*+g[La>>2]&1}if(+g[Ka>>2]>+g[Ma>>2]){o=+g[Ma>>2]/+g[Ka>>2];k=c[jb>>2]|0}else{o=1.0;k=c[jb>>2]|0}g[k+40>>2]=o;if((c[hb>>2]|0)==20?c[Pa+72>>2]|0:0)c[hb>>2]=(c[hb>>2]|0)-2;else Ha=160;if(((Ha|0)==160?(c[hb>>2]|0)>0&(c[hb>>2]|0)<=18:0)?c[Pa+((c[hb>>2]|0)-1<<2)>>2]|0:0)c[hb>>2]=(c[hb>>2]|0)+-1;if((c[(c[kb>>2]|0)+7436>>2]|0)<=2)c[hb>>2]=20;g[Sa>>2]=+nk(+g[Sa>>2])*20.0;if(+g[(c[kb>>2]|0)+7424>>2]-.003000000026077032>+g[Sa>>2])o=+g[(c[kb>>2]|0)+7424>>2]-.003000000026077032;else o=+g[Sa>>2];g[(c[kb>>2]|0)+7424>>2]=o;Pa=(c[kb>>2]|0)+7428|0;g[Pa>>2]=+g[Pa>>2]*(1.0-+g[Qa>>2]);if(+g[Sa>>2]<+g[(c[kb>>2]|0)+7424>>2]-30.0){Sa=(c[kb>>2]|0)+7428|0;g[Sa>>2]=+g[Sa>>2]+ +g[Qa>>2]}c[cb>>2]=0;while(1){if((c[cb>>2]|0)>=8)break;g[Wa>>2]=0.0;c[Ra>>2]=0;while(1){if((c[Ra>>2]|0)>=16)break;g[Wa>>2]=+g[Wa>>2]+ +g[19432+((c[cb>>2]<<4)+(c[Ra>>2]|0)<<2)>>2]*+g[Ta+(c[Ra>>2]<<2)>>2];c[Ra>>2]=(c[Ra>>2]|0)+1}g[Za+(c[cb>>2]<<2)>>2]=+g[Wa>>2];c[cb>>2]=(c[cb>>2]|0)+1}c[cb>>2]=0;while(1){if((c[cb>>2]|0)>=8)break;g[Xa>>2]=0.0;c[Ra>>2]=0;while(1){if((c[Ra>>2]|0)>=16)break;g[Xa>>2]=+g[Xa>>2]+ +g[19432+((c[cb>>2]<<4)+(c[Ra>>2]|0)<<2)>>2]*.5*(+g[(c[kb>>2]|0)+7080+(c[Ra>>2]<<2)>>2]+ +g[(c[kb>>2]|0)+7008+(c[Ra>>2]<<2)>>2]);c[Ra>>2]=(c[Ra>>2]|0)+1}g[eb+(c[cb>>2]<<2)>>2]=+g[Xa>>2];c[cb>>2]=(c[cb>>2]|0)+1}g[ab>>2]=+g[ab>>2]/18.0;p=+g[Va>>2]/18.0;g[Va>>2]=p;g[Va>>2]=(c[(c[kb>>2]|0)+7436>>2]|0)<10?.5:p;g[ib>>2]=+g[ib>>2]/18.0;g[(c[jb>>2]|0)+16>>2]=+g[ib>>2]+(1.0-+g[ib>>2])*+g[Va>>2];g[bb>>2]=+g[Ua>>2]/9.0;if(+g[bb>>2]>+g[(c[kb>>2]|0)+5848>>2]*.800000011920929)o=+g[bb>>2];else o=+g[(c[kb>>2]|0)+5848>>2]*.800000011920929;g[bb>>2]=o;g[(c[kb>>2]|0)+5848>>2]=+g[bb>>2];g[Ya>>2]=+g[Ya>>2]/64.0;g[(c[jb>>2]|0)+8>>2]=+g[Ya>>2];c[(c[kb>>2]|0)+7432>>2]=((c[(c[kb>>2]|0)+7432>>2]|0)+1|0)%8|0;if(((c[(c[kb>>2]|0)+7436>>2]|0)+1|0)<1e4)k=(c[(c[kb>>2]|0)+7436>>2]|0)+1|0;else k=1e4;c[(c[kb>>2]|0)+7436>>2]=k;g[(c[jb>>2]|0)+4>>2]=+g[bb>>2];c[cb>>2]=0;while(1){if((c[cb>>2]|0)>=4)break;g[$a+(c[cb>>2]<<2)>>2]=(+g[Za+(c[cb>>2]<<2)>>2]+ +g[(c[kb>>2]|0)+7228+((c[cb>>2]|0)+24<<2)>>2])*-.12298999726772308+(+g[(c[kb>>2]|0)+7228+(c[cb>>2]<<2)>>2]+ +g[(c[kb>>2]|0)+7228+((c[cb>>2]|0)+16<<2)>>2])*.49195000529289246+ +g[(c[kb>>2]|0)+7228+((c[cb>>2]|0)+8<<2)>>2]*.6969299912452698-+g[(c[kb>>2]|0)+7356+(c[cb>>2]<<2)>>2]*1.4349000453948975;c[cb>>2]=(c[cb>>2]|0)+1}c[cb>>2]=0;while(1){if((c[cb>>2]|0)>=4)break;g[(c[kb>>2]|0)+7356+(c[cb>>2]<<2)>>2]=(1.0-+g[_a>>2])*+g[(c[kb>>2]|0)+7356+(c[cb>>2]<<2)>>2]+ +g[_a>>2]*+g[Za+(c[cb>>2]<<2)>>2];c[cb>>2]=(c[cb>>2]|0)+1}c[cb>>2]=0;while(1){if((c[cb>>2]|0)>=4)break;g[$a+(4+(c[cb>>2]|0)<<2)>>2]=(+g[Za+(c[cb>>2]<<2)>>2]-+g[(c[kb>>2]|0)+7228+((c[cb>>2]|0)+24<<2)>>2])*.6324599981307983+(+g[(c[kb>>2]|0)+7228+(c[cb>>2]<<2)>>2]-+g[(c[kb>>2]|0)+7228+((c[cb>>2]|0)+16<<2)>>2])*.31622999906539917;c[cb>>2]=(c[cb>>2]|0)+1}c[cb>>2]=0;while(1){if((c[cb>>2]|0)>=3)break;g[$a+(8+(c[cb>>2]|0)<<2)>>2]=(+g[Za+(c[cb>>2]<<2)>>2]+ +g[(c[kb>>2]|0)+7228+((c[cb>>2]|0)+24<<2)>>2])*.5345199704170227-(+g[(c[kb>>2]|0)+7228+(c[cb>>2]<<2)>>2]+ +g[(c[kb>>2]|0)+7228+((c[cb>>2]|0)+16<<2)>>2])*.26725998520851135-+g[(c[kb>>2]|0)+7228+((c[cb>>2]|0)+8<<2)>>2]*.5345199704170227;c[cb>>2]=(c[cb>>2]|0)+1}b:do if((c[(c[kb>>2]|0)+7436>>2]|0)>5){c[cb>>2]=0;while(1){if((c[cb>>2]|0)>=9)break b;g[(c[kb>>2]|0)+7388+(c[cb>>2]<<2)>>2]=(1.0-+g[_a>>2])*+g[(c[kb>>2]|0)+7388+(c[cb>>2]<<2)>>2]+ +g[_a>>2]*+g[$a+(c[cb>>2]<<2)>>2]*+g[$a+(c[cb>>2]<<2)>>2];c[cb>>2]=(c[cb>>2]|0)+1}}while(0);c[cb>>2]=0;while(1){if((c[cb>>2]|0)>=4)break;g[$a+(c[cb>>2]<<2)>>2]=+g[Za+(c[cb>>2]<<2)>>2]-+g[eb+(c[cb>>2]<<2)>>2];c[cb>>2]=(c[cb>>2]|0)+1}c[cb>>2]=0;while(1){if((c[cb>>2]|0)>=8)break;g[(c[kb>>2]|0)+7228+((c[cb>>2]|0)+24<<2)>>2]=+g[(c[kb>>2]|0)+7228+((c[cb>>2]|0)+16<<2)>>2];g[(c[kb>>2]|0)+7228+((c[cb>>2]|0)+16<<2)>>2]=+g[(c[kb>>2]|0)+7228+((c[cb>>2]|0)+8<<2)>>2];g[(c[kb>>2]|0)+7228+((c[cb>>2]|0)+8<<2)>>2]=+g[(c[kb>>2]|0)+7228+(c[cb>>2]<<2)>>2];g[(c[kb>>2]|0)+7228+(c[cb>>2]<<2)>>2]=+g[Za+(c[cb>>2]<<2)>>2];c[cb>>2]=(c[cb>>2]|0)+1}c[cb>>2]=0;while(1){if((c[cb>>2]|0)>=9)break;p=+G(+(+g[(c[kb>>2]|0)+7388+(c[cb>>2]<<2)>>2]));g[$a+(11+(c[cb>>2]|0)<<2)>>2]=p-+g[19944+(c[cb>>2]<<2)>>2];c[cb>>2]=(c[cb>>2]|0)+1}g[$a+72>>2]=+g[fb>>2]-.7799999713897705;g[$a+80>>2]=+g[(c[jb>>2]|0)+4>>2]-.15472300350666046;g[$a+84>>2]=+g[(c[jb>>2]|0)+16>>2]-.7246429920196533;g[$a+88>>2]=+g[ab>>2]-.7437170147895813;g[$a+92>>2]=+g[(c[jb>>2]|0)+8>>2]+.06921599805355072;g[$a+96>>2]=+g[(c[kb>>2]|0)+7428>>2]-.06792999804019928;gk(20784,db,$a);jk(20804,(c[kb>>2]|0)+7460|0,db);gk(20824,gb,(c[kb>>2]|0)+7460|0);g[(c[jb>>2]|0)+36>>2]=+g[gb+4>>2];o=+g[gb>>2];if(+g[gb>>2]*10.0<+g[gb>>2]*.6899999976158142*(2.0-+g[gb>>2])+.11999999731779099)o=10.0*o;else o=.6899999976158142*o*(2.0-+g[gb>>2])+.11999999731779099;p=+g[gb>>2];do if(!(1.0-(1.0-+g[gb>>2])*10.0>o)){o=+g[gb>>2];if(10.0*p<+g[gb>>2]*.6899999976158142*(2.0-+g[gb>>2])+.11999999731779099){o=10.0*o;break}else{o=.6899999976158142*o*(2.0-+g[gb>>2])+.11999999731779099;break}}else o=1.0-(1.0-p)*10.0;while(0);g[(c[jb>>2]|0)+20>>2]=o;c[(c[jb>>2]|0)+32>>2]=c[hb>>2];c[(c[kb>>2]|0)+5852>>2]=c[hb>>2];g[(c[jb>>2]|0)+12>>2]=+g[ib>>2];c[c[jb>>2]>>2]=1;l=lb;return}function dk(a,b,d,e,f,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0;D=l;l=l+64|0;y=D+60|0;s=D+56|0;p=D+52|0;C=D+48|0;v=D+44|0;B=D+40|0;t=D+36|0;q=D+32|0;r=D+28|0;n=D+24|0;o=D+20|0;u=D+16|0;w=D+12|0;x=D+8|0;z=D+4|0;A=D;c[s>>2]=a;c[p>>2]=b;c[C>>2]=d;c[v>>2]=e;c[B>>2]=f;c[t>>2]=h;c[q>>2]=i;c[r>>2]=j;c[n>>2]=k;c[o>>2]=m;g[x>>2]=0.0;if(!(c[B>>2]|0)){g[y>>2]=0.0;E=+g[y>>2];l=D;return +E}if((c[o>>2]|0)!=48e3){if((c[o>>2]|0)==16e3){c[B>>2]=(c[B>>2]<<1|0)/3|0;c[t>>2]=(c[t>>2]<<1|0)/3|0}}else{c[B>>2]=c[B>>2]<<1;c[t>>2]=c[t>>2]<<1}d=c[B>>2]|0;c[z>>2]=la()|0;m=l;l=l+((1*(d<<2)|0)+15&-16)|0;Ab[c[s>>2]&3](c[p>>2]|0,m,c[B>>2]|0,c[t>>2]|0,c[q>>2]|0,c[r>>2]|0,c[n>>2]|0);g[u>>2]=.000030517578125;if((c[r>>2]|0)!=-2){if((c[r>>2]|0)>-1)g[u>>2]=+g[u>>2]/2.0}else g[u>>2]=+g[u>>2]/+(c[n>>2]|0);c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[B>>2]|0))break;t=m+(c[w>>2]<<2)|0;g[t>>2]=+g[t>>2]*+g[u>>2];c[w>>2]=(c[w>>2]|0)+1}do if((c[o>>2]|0)!=48e3){if((c[o>>2]|0)==24e3){uk(c[C>>2]|0,m|0,(c[B>>2]<<2)+0|0)|0;break}if((c[o>>2]|0)==16e3){u=(c[B>>2]|0)*3|0;c[A>>2]=la()|0;k=l;l=l+((1*(u<<2)|0)+15&-16)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[B>>2]|0))break;g[k+((c[w>>2]|0)*3<<2)>>2]=+g[m+(c[w>>2]<<2)>>2];g[k+(((c[w>>2]|0)*3|0)+1<<2)>>2]=+g[m+(c[w>>2]<<2)>>2];g[k+(((c[w>>2]|0)*3|0)+2<<2)>>2]=+g[m+(c[w>>2]<<2)>>2];c[w>>2]=(c[w>>2]|0)+1}+fk(c[v>>2]|0,c[C>>2]|0,k,(c[B>>2]|0)*3|0);ka(c[A>>2]|0)}}else g[x>>2]=+fk(c[v>>2]|0,c[C>>2]|0,m,c[B>>2]|0);while(0);g[y>>2]=+g[x>>2];ka(c[z>>2]|0);E=+g[y>>2];l=D;return +E}function ek(a,b){a=+a;b=+b;var c=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+24|0;i=k+20|0;f=k+16|0;h=k+12|0;j=k+8|0;c=k+4|0;d=k;g[i>>2]=a;g[f>>2]=b;g[h>>2]=+g[f>>2]*+g[f>>2];g[j>>2]=+g[i>>2]*+g[i>>2];if(+g[h>>2]+ +g[j>>2]<1.000000045813705e-18){g[e>>2]=0.0;a=+g[e>>2];l=k;return +a}if(+g[h>>2]<+g[j>>2]){g[c>>2]=(+g[j>>2]+ +g[h>>2]*.6784840226173401)*(+g[j>>2]+ +g[h>>2]*.0859554186463356);g[e>>2]=-+g[f>>2]*+g[i>>2]*(+g[j>>2]+ +g[h>>2]*.43157973885536194)/+g[c>>2]+(+g[i>>2]<0.0?-1.5707963705062866:1.5707963705062866);a=+g[e>>2];l=k;return +a}else{g[d>>2]=(+g[h>>2]+ +g[j>>2]*.6784840226173401)*(+g[h>>2]+ +g[j>>2]*.0859554186463356);g[e>>2]=+g[f>>2]*+g[i>>2]*(+g[h>>2]+ +g[j>>2]*.43157973885536194)/+g[d>>2]+(+g[i>>2]<0.0?-1.5707963705062866:1.5707963705062866)-(+g[f>>2]*+g[i>>2]<0.0?-1.5707963705062866:1.5707963705062866);a=+g[e>>2];l=k;return +a}return 0.0}function fk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;f=s+44|0;p=s+40|0;k=s+36|0;t=s+32|0;n=s+28|0;o=s+24|0;m=s+20|0;q=s+16|0;r=s+12|0;i=s+8|0;h=s+4|0;j=s;c[f>>2]=a;c[p>>2]=b;c[k>>2]=d;c[t>>2]=e;c[o>>2]=(c[t>>2]|0)/2|0;g[j>>2]=0.0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break;g[m>>2]=+g[(c[k>>2]|0)+(c[n>>2]<<1<<2)>>2];g[i>>2]=+g[m>>2]-+g[c[f>>2]>>2];g[h>>2]=+g[i>>2]*.6074370741844177;g[q>>2]=+g[c[f>>2]>>2]+ +g[h>>2];g[c[f>>2]>>2]=+g[m>>2]+ +g[h>>2];g[r>>2]=+g[q>>2];g[m>>2]=+g[(c[k>>2]|0)+((c[n>>2]<<1)+1<<2)>>2];g[i>>2]=+g[m>>2]-+g[(c[f>>2]|0)+4>>2];g[h>>2]=+g[i>>2]*.15062999725341797;g[q>>2]=+g[q>>2]+ +g[(c[f>>2]|0)+4>>2];g[q>>2]=+g[q>>2]+ +g[h>>2];g[(c[f>>2]|0)+4>>2]=+g[m>>2]+ +g[h>>2];g[i>>2]=-+g[m>>2]-+g[(c[f>>2]|0)+8>>2];g[h>>2]=+g[i>>2]*.15062999725341797;g[r>>2]=+g[r>>2]+ +g[(c[f>>2]|0)+8>>2];g[r>>2]=+g[r>>2]+ +g[h>>2];g[(c[f>>2]|0)+8>>2]=-+g[m>>2]+ +g[h>>2];g[j>>2]=+g[j>>2]+ +g[r>>2]*+g[r>>2];g[(c[p>>2]|0)+(c[n>>2]<<2)>>2]=+g[q>>2]*.5;c[n>>2]=(c[n>>2]|0)+1}l=s;return +(+g[j>>2])}function gk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+48|0;m=q+32|0;n=q+28|0;j=q+24|0;i=q+20|0;k=q+16|0;h=q+12|0;f=q+8|0;o=q+4|0;p=q;c[m>>2]=b;c[n>>2]=d;c[j>>2]=e;c[f>>2]=c[(c[m>>2]|0)+8>>2];c[h>>2]=c[(c[m>>2]|0)+12>>2];c[o>>2]=c[h>>2];c[i>>2]=0;while(1){e=c[m>>2]|0;if((c[i>>2]|0)>=(c[h>>2]|0))break;g[p>>2]=+(a[(c[e>>2]|0)+(c[i>>2]|0)>>0]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[f>>2]|0))break;d=S(c[k>>2]|0,c[o>>2]|0)|0;g[p>>2]=+g[p>>2]+ +(a[(c[(c[m>>2]|0)+4>>2]|0)+(d+(c[i>>2]|0))>>0]|0)*+g[(c[j>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}g[(c[n>>2]|0)+(c[i>>2]<<2)>>2]=+g[p>>2]*.0078125;c[i>>2]=(c[i>>2]|0)+1}p=(c[e+16>>2]|0)!=0;c[i>>2]=0;if(p){while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;r=+hk(+g[(c[n>>2]|0)+(c[i>>2]<<2)>>2]);g[(c[n>>2]|0)+(c[i>>2]<<2)>>2]=r;c[i>>2]=(c[i>>2]|0)+1}l=q;return}else{while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;r=+ik(+g[(c[n>>2]|0)+(c[i>>2]<<2)>>2]);g[(c[n>>2]|0)+(c[i>>2]<<2)>>2]=r;c[i>>2]=(c[i>>2]|0)+1}l=q;return}}function hk(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;g[c>>2]=a;a=+ik(+g[c>>2]*.5)*.5+.5;l=b;return +a}function ik(a){a=+a;var b=0,d=0,e=0,f=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+20|0;h=j+16|0;d=j+12|0;i=j+8|0;b=j+4|0;f=j;g[h>>2]=a;g[f>>2]=1.0;if(!(+g[h>>2]<8.0)){g[e>>2]=1.0;a=+g[e>>2];l=j;return +a}if(!(+g[h>>2]>-8.0)){g[e>>2]=-1.0;a=+g[e>>2];l=j;return +a}if(+g[h>>2]!=+g[h>>2]){g[e>>2]=0.0;a=+g[e>>2];l=j;return +a}if(+g[h>>2]<0.0){g[h>>2]=-+g[h>>2];g[f>>2]=-1.0}c[d>>2]=~~+E(+(+g[h>>2]*25.0+.5));g[h>>2]=+g[h>>2]-+(c[d>>2]|0)*.03999999910593033;g[i>>2]=+g[19980+(c[d>>2]<<2)>>2];g[b>>2]=1.0-+g[i>>2]*+g[i>>2];g[i>>2]=+g[i>>2]+ +g[h>>2]*+g[b>>2]*(1.0-+g[i>>2]*+g[h>>2]);g[e>>2]=+g[f>>2]*+g[i>>2];a=+g[e>>2];l=j;return +a}function jk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0;v=l;l=l+432|0;i=v+428|0;p=v+424|0;m=v+420|0;k=v+416|0;n=v+412|0;h=v+408|0;f=v+404|0;q=v+400|0;u=v+272|0;o=v+144|0;j=v+16|0;r=v+8|0;s=v+4|0;t=v;c[i>>2]=b;c[p>>2]=d;c[m>>2]=e;c[f>>2]=c[(c[i>>2]|0)+12>>2];c[h>>2]=c[(c[i>>2]|0)+16>>2];c[q>>2]=(c[h>>2]|0)*3;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;g[r>>2]=+(a[(c[c[i>>2]>>2]|0)+(c[k>>2]|0)>>0]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[f>>2]|0))break;d=S(c[n>>2]|0,c[q>>2]|0)|0;g[r>>2]=+g[r>>2]+ +(a[(c[(c[i>>2]|0)+4>>2]|0)+(d+(c[k>>2]|0))>>0]|0)*+g[(c[m>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;d=S(c[n>>2]|0,c[q>>2]|0)|0;g[r>>2]=+g[r>>2]+ +(a[(c[(c[i>>2]|0)+8>>2]|0)+(d+(c[k>>2]|0))>>0]|0)*+g[(c[p>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}w=+hk(+g[r>>2]*.0078125);g[u+(c[k>>2]<<2)>>2]=w;c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;g[s>>2]=+(a[(c[c[i>>2]>>2]|0)+((c[h>>2]|0)+(c[k>>2]|0))>>0]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[f>>2]|0))break;r=(c[h>>2]|0)+(S(c[n>>2]|0,c[q>>2]|0)|0)|0;g[s>>2]=+g[s>>2]+ +(a[(c[(c[i>>2]|0)+4>>2]|0)+(r+(c[k>>2]|0))>>0]|0)*+g[(c[m>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;r=(c[h>>2]|0)+(S(c[n>>2]|0,c[q>>2]|0)|0)|0;g[s>>2]=+g[s>>2]+ +(a[(c[(c[i>>2]|0)+8>>2]|0)+(r+(c[k>>2]|0))>>0]|0)*+g[(c[p>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}w=+hk(+g[s>>2]*.0078125);g[o+(c[k>>2]<<2)>>2]=w;c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;g[t>>2]=+(a[(c[c[i>>2]>>2]|0)+((c[h>>2]<<1)+(c[k>>2]|0))>>0]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[f>>2]|0))break;s=(c[h>>2]<<1)+(S(c[n>>2]|0,c[q>>2]|0)|0)|0;g[t>>2]=+g[t>>2]+ +(a[(c[(c[i>>2]|0)+4>>2]|0)+(s+(c[k>>2]|0))>>0]|0)*+g[(c[m>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;s=(c[h>>2]<<1)+(S(c[n>>2]|0,c[q>>2]|0)|0)|0;g[t>>2]=+g[t>>2]+ +(a[(c[(c[i>>2]|0)+8>>2]|0)+(s+(c[k>>2]|0))>>0]|0)*+g[(c[p>>2]|0)+(c[n>>2]<<2)>>2]*+g[o+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}x=+g[u+(c[k>>2]<<2)>>2]*+g[(c[p>>2]|0)+(c[k>>2]<<2)>>2];w=1.0-+g[u+(c[k>>2]<<2)>>2];w=x+w*+ik(+g[t>>2]*.0078125);g[j+(c[k>>2]<<2)>>2]=w;c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;g[(c[p>>2]|0)+(c[k>>2]<<2)>>2]=+g[j+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}l=v;return}function kk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;o=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;n=c[8925]|0;d=n>>>a;if(d&3|0){e=(d&1^1)+a|0;f=35740+(e<<1<<2)|0;b=f+8|0;a=c[b>>2]|0;g=a+8|0;d=c[g>>2]|0;if((d|0)==(f|0))c[8925]=n&~(1<<e);else{c[d+12>>2]=f;c[b>>2]=d}w=e<<3;c[a+4>>2]=w|3;w=a+w+4|0;c[w>>2]=c[w>>2]|1;w=g;l=x;return w|0}m=c[8927]|0;if(k>>>0>m>>>0){if(d|0){i=2<<a;d=d<<a&(i|0-i);d=(d&0-d)+-1|0;i=d>>>12&16;d=d>>>i;a=d>>>5&8;d=d>>>a;g=d>>>2&4;d=d>>>g;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=(a|i|g|b|e)+(d>>>e)|0;d=35740+(e<<1<<2)|0;b=d+8|0;g=c[b>>2]|0;i=g+8|0;a=c[i>>2]|0;if((a|0)==(d|0)){a=n&~(1<<e);c[8925]=a}else{c[a+12>>2]=d;c[b>>2]=a;a=n}w=e<<3;h=w-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+w>>2]=h;if(m|0){e=c[8930]|0;b=m>>>3;d=35740+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[8925]=a|b;b=d+8|0;a=d}else{a=d+8|0;b=a;a=c[a>>2]|0}c[b>>2]=e;c[a+12>>2]=e;c[e+8>>2]=a;c[e+12>>2]=d}c[8927]=h;c[8930]=f;w=i;l=x;return w|0}i=c[8926]|0;if(i){d=(i&0-i)+-1|0;h=d>>>12&16;d=d>>>h;g=d>>>5&8;d=d>>>g;j=d>>>2&4;d=d>>>j;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[36004+((g|h|j|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-k|0;a=c[e+16+(((c[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){j=d;h=e}else{do{h=(c[a+4>>2]&-8)-k|0;j=h>>>0<d>>>0;d=j?h:d;e=j?a:e;a=c[a+16+(((c[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=d;h=e}g=h+k|0;if(g>>>0>h>>>0){f=c[h+24>>2]|0;b=c[h+12>>2]|0;do if((b|0)==(h|0)){a=h+20|0;b=c[a>>2]|0;if(!b){a=h+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(d|0){b=d;a=e;continue}e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[h+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[h+28>>2]|0;a=36004+(b<<2)|0;if((h|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[8926]=i&~(1<<b);break}}else{c[f+16+(((c[f+16>>2]|0)!=(h|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[h+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[h+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){w=j+k|0;c[h+4>>2]=w|3;w=h+w+4|0;c[w>>2]=c[w>>2]|1}else{c[h+4>>2]=k|3;c[g+4>>2]=j|1;c[g+j>>2]=j;if(m|0){e=c[8930]|0;b=m>>>3;d=35740+(b<<1<<2)|0;b=1<<b;if(!(n&b)){c[8925]=n|b;b=d+8|0;a=d}else{a=d+8|0;b=a;a=c[a>>2]|0}c[b>>2]=e;c[a+12>>2]=e;c[e+8>>2]=a;c[e+12>>2]=d}c[8927]=j;c[8930]=g}w=h+8|0;l=x;return w|0}else n=k}else n=k}else n=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[8926]|0;if(e){d=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{n=(a+1048320|0)>>>16&8;v=a<<n;m=(v+520192|0)>>>16&4;v=v<<m;j=(v+245760|0)>>>16&2;j=14-(m|n|j)+(v<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=c[36004+(j<<2)>>2]|0;a:do if(!a){f=0;a=0;v=57}else{f=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(c[i+4>>2]&-8)-k|0;if(g>>>0<d>>>0)if(!g){d=0;f=i;a=i;v=61;break a}else{d=g;a=i}g=c[i+20>>2]|0;i=c[i+16+(h>>>31<<2)>>2]|0;f=(g|0)==0|(g|0)==(i|0)?f:g;g=(i|0)==0;if(g){v=57;break}else h=h<<((g^1)&1)}}while(0);if((v|0)==57){if((f|0)==0&(a|0)==0){a=2<<j;a=e&(a|0-a);if(!a){n=k;break}a=(a&0-a)+-1|0;j=a>>>12&16;a=a>>>j;i=a>>>5&8;a=a>>>i;m=a>>>2&4;a=a>>>m;n=a>>>1&2;a=a>>>n;f=a>>>1&1;f=c[36004+((i|j|m|n|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else v=61}if((v|0)==61)while(1){v=0;m=(c[f+4>>2]&-8)-k|0;n=m>>>0<d>>>0;d=n?m:d;a=n?f:a;f=c[f+16+(((c[f+16>>2]|0)==0&1)<<2)>>2]|0;if(!f){i=d;j=a;break}else v=61}if((j|0)!=0?i>>>0<((c[8927]|0)-k|0)>>>0:0){h=j+k|0;if(h>>>0<=j>>>0){w=0;l=x;return w|0}g=c[j+24>>2]|0;b=c[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(d|0){b=d;a=f;continue}f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}c[a>>2]=0}else{w=c[j+8>>2]|0;c[w+12>>2]=b;c[b+8>>2]=w}while(0);do if(g){a=c[j+28>>2]|0;d=36004+(a<<2)|0;if((j|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[8926]=e;break}}else{c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[j+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[j+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);do if(i>>>0>=16){c[j+4>>2]=k|3;c[h+4>>2]=i|1;c[h+i>>2]=i;b=i>>>3;if(i>>>0<256){d=35740+(b<<1<<2)|0;a=c[8925]|0;b=1<<b;if(!(a&b)){c[8925]=a|b;b=d+8|0;a=d}else{a=d+8|0;b=a;a=c[a>>2]|0}c[b>>2]=h;c[a+12>>2]=h;c[h+8>>2]=a;c[h+12>>2]=d;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;b=(w+245760|0)>>>16&2;b=14-(u|v|b)+(w<<b>>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;d=36004+(b<<2)|0;c[h+28>>2]=b;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<b;if(!(e&a)){c[8926]=e|a;c[d>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);d=c[d>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(i|0)){v=97;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=96;break}else{a=a<<1;d=b}}if((v|0)==96){c[e>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((v|0)==97){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=h;c[v>>2]=h;c[h+8>>2]=w;c[h+12>>2]=d;c[h+24>>2]=0;break}}else{w=i+k|0;c[j+4>>2]=w|3;w=j+w+4|0;c[w>>2]=c[w>>2]|1}while(0);w=j+8|0;l=x;return w|0}else n=k}else n=k}else n=-1;while(0);d=c[8927]|0;if(d>>>0>=n>>>0){a=d-n|0;b=c[8930]|0;if(a>>>0>15){w=b+n|0;c[8930]=w;c[8927]=a;c[w+4>>2]=a|1;c[b+d>>2]=a;c[b+4>>2]=n|3}else{c[8927]=0;c[8930]=0;c[b+4>>2]=d|3;w=b+d+4|0;c[w>>2]=c[w>>2]|1}w=b+8|0;l=x;return w|0}h=c[8928]|0;if(h>>>0>n>>>0){u=h-n|0;c[8928]=u;w=c[8931]|0;v=w+n|0;c[8931]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}if(!(c[9043]|0)){c[9045]=4096;c[9044]=4096;c[9046]=-1;c[9047]=-1;c[9048]=0;c[9036]=0;c[9043]=o&-16^1431655768;a=4096}else a=c[9045]|0;i=n+48|0;j=n+47|0;g=a+j|0;e=0-a|0;k=g&e;if(k>>>0<=n>>>0){w=0;l=x;return w|0}a=c[9035]|0;if(a|0?(m=c[9033]|0,o=m+k|0,o>>>0<=m>>>0|o>>>0>a>>>0):0){w=0;l=x;return w|0}b:do if(!(c[9036]&4)){d=c[8931]|0;c:do if(d){f=36148;while(1){a=c[f>>2]|0;if(a>>>0<=d>>>0?(r=f+4|0,(a+(c[r>>2]|0)|0)>>>0>d>>>0):0)break;a=c[f+8>>2]|0;if(!a){v=118;break c}else f=a}b=g-h&e;if(b>>>0<2147483647){a=zk(b|0)|0;if((a|0)==((c[f>>2]|0)+(c[r>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;v=135;break b}}else{e=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){d=zk(0)|0;if((d|0)!=(-1|0)?(b=d,p=c[9044]|0,q=p+-1|0,b=((q&b|0)==0?0:(q+b&0-p)-b|0)+k|0,p=c[9033]|0,q=b+p|0,b>>>0>n>>>0&b>>>0<2147483647):0){r=c[9035]|0;if(r|0?q>>>0<=p>>>0|q>>>0>r>>>0:0){b=0;break}a=zk(b|0)|0;if((a|0)==(d|0)){h=d;g=b;v=135;break b}else{e=a;v=126}}else b=0}while(0);do if((v|0)==126){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=e;g=b;v=135;break b}a=c[9045]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=e;g=b;v=135;break b}if((zk(a|0)|0)==(-1|0)){zk(d|0)|0;b=0;break}else{h=e;g=a+b|0;v=135;break b}}while(0);c[9036]=c[9036]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(s=zk(k|0)|0,r=zk(0)|0,u=r-s|0,t=u>>>0>(n+40|0)>>>0,!((s|0)==(-1|0)|t^1|s>>>0<r>>>0&((s|0)!=(-1|0)&(r|0)!=(-1|0))^1)):0){h=s;g=t?u:b;v=135}if((v|0)==135){b=(c[9033]|0)+g|0;c[9033]=b;if(b>>>0>(c[9034]|0)>>>0)c[9034]=b;j=c[8931]|0;do if(j){f=36148;while(1){d=c[f>>2]|0;e=f+4|0;b=c[e>>2]|0;if((h|0)==(d+b|0)){v=143;break}a=c[f+8>>2]|0;if(!a)break;else f=a}if(((v|0)==143?(c[f+12>>2]&8|0)==0:0)?h>>>0>j>>>0&d>>>0<=j>>>0:0){c[e>>2]=b+g;w=(c[8928]|0)+g|0;u=j+8|0;u=(u&7|0)==0?0:0-u&7;v=j+u|0;u=w-u|0;c[8931]=v;c[8928]=u;c[v+4>>2]=u|1;c[j+w+4>>2]=40;c[8932]=c[9047];break}if(h>>>0<(c[8929]|0)>>>0)c[8929]=h;a=h+g|0;b=36148;while(1){if((c[b>>2]|0)==(a|0)){v=151;break}b=c[b+8>>2]|0;if(!b){a=36148;break}}if((v|0)==151)if(!(c[b+12>>2]&8)){c[b>>2]=h;m=b+4|0;c[m>>2]=(c[m>>2]|0)+g;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;b=a+8|0;b=a+((b&7|0)==0?0:0-b&7)|0;k=m+n|0;i=b-m-n|0;c[m+4>>2]=n|3;do if((j|0)!=(b|0)){if((c[8930]|0)==(b|0)){w=(c[8927]|0)+i|0;c[8927]=w;c[8930]=k;c[k+4>>2]=w|1;c[k+w>>2]=w;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;d:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[8925]=c[8925]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else f=e}else f=d;while(1){e=a+20|0;d=c[e>>2]|0;if(d|0){a=d;f=e;continue}e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;f=e}}c[f>>2]=0}else{w=c[b+8>>2]|0;c[w+12>>2]=a;c[a+8>>2]=w}while(0);if(!g)break;d=c[b+28>>2]|0;e=36004+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){c[g+16+(((c[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{c[e>>2]=a;if(a|0)break;c[8926]=c[8926]&~(1<<d);break d}while(0);c[a+24>>2]=g;e=b+16|0;d=c[e>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}d=c[e+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=35740+(b<<1<<2)|0;a=c[8925]|0;b=1<<b;if(!(a&b)){c[8925]=a|b;b=d+8|0;a=d}else{a=d+8|0;b=a;a=c[a>>2]|0}c[b>>2]=k;c[a+12>>2]=k;c[k+8>>2]=a;c[k+12>>2]=d;break}b=f>>>8;do if(!b)a=0;else{if(f>>>0>16777215){a=31;break}v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;a=(w+245760|0)>>>16&2;a=14-(u|v|a)+(w<<a>>>15)|0;a=f>>>(a+7|0)&1|a<<1}while(0);e=36004+(a<<2)|0;c[k+28>>2]=a;b=k+16|0;c[b+4>>2]=0;c[b>>2]=0;b=c[8926]|0;d=1<<a;if(!(b&d)){c[8926]=b|d;c[e>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}a=f<<((a|0)==31?0:25-(a>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){v=192;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=191;break}else{a=a<<1;d=b}}if((v|0)==191){c[e>>2]=k;c[k+24>>2]=d;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((v|0)==192){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=k;c[v>>2]=k;c[k+8>>2]=w;c[k+12>>2]=d;c[k+24>>2]=0;break}}else{w=(c[8928]|0)+i|0;c[8928]=w;c[8931]=k;c[k+4>>2]=w|1}while(0);w=m+8|0;l=x;return w|0}else a=36148;while(1){b=c[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(c[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=c[a+8>>2]|0}f=w+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=g+-40|0;u=h+8|0;u=(u&7|0)==0?0:0-u&7;v=h+u|0;u=d-u|0;c[8931]=v;c[8928]=u;c[v+4>>2]=u|1;c[h+d+4>>2]=40;c[8932]=c[9047];d=a+4|0;c[d>>2]=27;c[b>>2]=c[9037];c[b+4>>2]=c[9038];c[b+8>>2]=c[9039];c[b+12>>2]=c[9040];c[9037]=h;c[9038]=g;c[9040]=0;c[9039]=b;b=a+24|0;do{v=b;b=b+4|0;c[b>>2]=7}while((v+8|0)>>>0<w>>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=35740+(b<<1<<2)|0;a=c[8925]|0;b=1<<b;if(!(a&b)){c[8925]=a|b;b=d+8|0;a=d}else{a=d+8|0;b=a;a=c[a>>2]|0}c[b>>2]=j;c[a+12>>2]=j;c[j+8>>2]=a;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;d=(w+245760|0)>>>16&2;d=14-(u|v|d)+(w<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=36004+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[f>>2]=0;b=c[8926]|0;a=1<<d;if(!(b&a)){c[8926]=b|a;c[e>>2]=j;c[j+24>>2]=e;c[j+12>>2]=j;c[j+8>>2]=j;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){v=213;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=212;break}else{a=a<<1;d=b}}if((v|0)==212){c[e>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((v|0)==213){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=j;c[v>>2]=j;c[j+8>>2]=w;c[j+12>>2]=d;c[j+24>>2]=0;break}}}else{w=c[8929]|0;if((w|0)==0|h>>>0<w>>>0)c[8929]=h;c[9037]=h;c[9038]=g;c[9040]=0;c[8934]=c[9043];c[8933]=-1;c[8938]=35740;c[8937]=35740;c[8940]=35748;c[8939]=35748;c[8942]=35756;c[8941]=35756;c[8944]=35764;c[8943]=35764;c[8946]=35772;c[8945]=35772;c[8948]=35780;c[8947]=35780;c[8950]=35788;c[8949]=35788;c[8952]=35796;c[8951]=35796;c[8954]=35804;c[8953]=35804;c[8956]=35812;c[8955]=35812;c[8958]=35820;c[8957]=35820;c[8960]=35828;c[8959]=35828;c[8962]=35836;c[8961]=35836;c[8964]=35844;c[8963]=35844;c[8966]=35852;c[8965]=35852;c[8968]=35860;c[8967]=35860;c[8970]=35868;c[8969]=35868;c[8972]=35876;c[8971]=35876;c[8974]=35884;c[8973]=35884;c[8976]=35892;c[8975]=35892;c[8978]=35900;c[8977]=35900;c[8980]=35908;c[8979]=35908;c[8982]=35916;c[8981]=35916;c[8984]=35924;c[8983]=35924;c[8986]=35932;c[8985]=35932;c[8988]=35940;c[8987]=35940;c[8990]=35948;c[8989]=35948;c[8992]=35956;c[8991]=35956;c[8994]=35964;c[8993]=35964;c[8996]=35972;c[8995]=35972;c[8998]=35980;c[8997]=35980;c[9e3]=35988;c[8999]=35988;w=g+-40|0;u=h+8|0;u=(u&7|0)==0?0:0-u&7;v=h+u|0;u=w-u|0;c[8931]=v;c[8928]=u;c[v+4>>2]=u|1;c[h+w+4>>2]=40;c[8932]=c[9047]}while(0);b=c[8928]|0;if(b>>>0>n>>>0){u=b-n|0;c[8928]=u;w=c[8931]|0;v=w+n|0;c[8931]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}}c[(mk()|0)>>2]=12;w=0;l=x;return w|0}function lk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;d=a+-8|0;e=c[8929]|0;a=c[a+-4>>2]|0;b=a&-8;k=d+b|0;do if(!(a&1)){f=c[d>>2]|0;if(!(a&3))return;g=d+(0-f)|0;h=f+b|0;if(g>>>0<e>>>0)return;if((c[8930]|0)==(g|0)){b=k+4|0;a=c[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}c[8927]=h;c[b>>2]=a&-2;c[g+4>>2]=h|1;c[g+h>>2]=h;return}d=f>>>3;if(f>>>0<256){a=c[g+8>>2]|0;b=c[g+12>>2]|0;if((b|0)==(a|0)){c[8925]=c[8925]&~(1<<d);i=g;j=g;b=h;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=g;j=g;b=h;break}}f=c[g+24>>2]|0;a=c[g+12>>2]|0;do if((a|0)==(g|0)){d=g+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){d=0;break}else e=d}else e=b;while(1){d=a+20|0;b=c[d>>2]|0;if(b|0){a=b;e=d;continue}d=a+16|0;b=c[d>>2]|0;if(!b)break;else{a=b;e=d}}c[e>>2]=0;d=a}else{d=c[g+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(f){a=c[g+28>>2]|0;b=36004+(a<<2)|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;if(!d){c[8926]=c[8926]&~(1<<a);i=g;j=g;b=h;break}}else{c[f+16+(((c[f+16>>2]|0)!=(g|0)&1)<<2)>>2]=d;if(!d){i=g;j=g;b=h;break}}c[d+24>>2]=f;b=g+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}a=c[b+4>>2]|0;if(a){c[d+20>>2]=a;c[a+24>>2]=d;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=d;j=d}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=c[a>>2]|0;if(!(d&1))return;if(!(d&2)){if((c[8931]|0)==(k|0)){k=(c[8928]|0)+b|0;c[8928]=k;c[8931]=j;c[j+4>>2]=k|1;if((j|0)!=(c[8930]|0))return;c[8930]=0;c[8927]=0;return}if((c[8930]|0)==(k|0)){k=(c[8927]|0)+b|0;c[8927]=k;c[8930]=i;c[j+4>>2]=k|1;c[i+k>>2]=k;return}f=(d&-8)+b|0;e=d>>>3;do if(d>>>0<256){b=c[k+8>>2]|0;a=c[k+12>>2]|0;if((a|0)==(b|0)){c[8925]=c[8925]&~(1<<e);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[k+24>>2]|0;a=c[k+12>>2]|0;do if((a|0)==(k|0)){d=k+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){d=0;break}else e=d}else e=b;while(1){d=a+20|0;b=c[d>>2]|0;if(b|0){a=b;e=d;continue}d=a+16|0;b=c[d>>2]|0;if(!b)break;else{a=b;e=d}}c[e>>2]=0;d=a}else{d=c[k+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[k+28>>2]|0;b=36004+(a<<2)|0;if((c[b>>2]|0)==(k|0)){c[b>>2]=d;if(!d){c[8926]=c[8926]&~(1<<a);break}}else{c[g+16+(((c[g+16>>2]|0)!=(k|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=g;b=k+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}a=c[b+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[j+4>>2]=f|1;c[i+f>>2]=f;if((j|0)==(c[8930]|0)){c[8927]=f;return}}else{c[a>>2]=d&-2;c[j+4>>2]=b|1;c[i+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=35740+(a<<1<<2)|0;b=c[8925]|0;a=1<<a;if(!(b&a)){c[8925]=b|a;a=d+8|0;b=d}else{b=d+8|0;a=b;b=c[b>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)b=31;else{i=(a+1048320|0)>>>16&8;k=a<<i;h=(k+520192|0)>>>16&4;k=k<<h;b=(k+245760|0)>>>16&2;b=14-(h|i|b)+(k<<b>>>15)|0;b=f>>>(b+7|0)&1|b<<1}else b=0;e=36004+(b<<2)|0;c[j+28>>2]=b;c[j+20>>2]=0;c[j+16>>2]=0;a=c[8926]|0;d=1<<b;do if(a&d){b=f<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){a=73;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){a=72;break}else{b=b<<1;d=a}}if((a|0)==72){c[e>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((a|0)==73){i=d+8|0;k=c[i>>2]|0;c[k+12>>2]=j;c[i>>2]=j;c[j+8>>2]=k;c[j+12>>2]=d;c[j+24>>2]=0;break}}else{c[8926]=a|d;c[e>>2]=j;c[j+24>>2]=e;c[j+12>>2]=j;c[j+8>>2]=j}while(0);k=(c[8933]|0)+-1|0;c[8933]=k;if(!k)a=36156;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[8933]=-1;return}function mk(){return 36196}function nk(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;d=c[j>>2]|0;b=c[j+4>>2]|0;e=(b|0)<0;do if(e|b>>>0<1048576){if((d|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;b=c[j+4>>2]|0;e=c[j>>2]|0;d=-1077;f=9;break}}else if(b>>>0<=2146435071)if((d|0)==0&0==0&(b|0)==1072693248)a=0.0;else{e=d;d=-1023;f=9}while(0);if((f|0)==9){f=b+614242|0;c[j>>2]=e;c[j+4>>2]=(f&1048575)+1072079006;k=+h[j>>3]+-1.0;i=k*(k*.5);l=k/(k+2.0);m=l*l;g=m*m;h[j>>3]=k-i;e=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=e;a=+h[j>>3];g=k-a-i+l*(i+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+m*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));m=a*.4342944818781689;i=+(d+(f>>>20)|0);l=i*.30102999566361177;k=l+m;a=k+(m+(l-k)+(g*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function ok(a){a=+a;return ~~+yk(+a)|0}function pk(){}function qk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=S(e,f)|0;d=a>>>16;a=(c>>>16)+(S(e,d)|0)|0;e=b>>>16;b=S(e,f)|0;return (D=(a>>>16)+(S(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function rk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=qk(e,f)|0;a=D;return (D=(S(b,f)|0)+(S(d,e)|0)+a|a&0,c|0|0)|0}function sk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=(b|0)<0?-1:0;return b>>c-32|0}function tk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (D=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function uk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;if((f|0)>=196608)return ia(b|0,e|0,f|0)|0;i=b|0;h=b+f|0;if((b&3)==(e&3)){while(b&3){if(!f)return i|0;a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0;f=f-1|0}f=h&-4|0;g=f-64|0;while((b|0)<=(g|0)){gb(d,b,fb(d,e));gb(d,b+16,fb(d,e+16));gb(d,b+32,fb(d,e+32));gb(d,b+48,fb(d,e+48));b=b+64|0;e=e+64|0}while((b|0)<(f|0)){c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}}else{f=h-4|0;while((b|0)<(f|0)){a[b>>0]=a[e>>0]|0;a[b+1>>0]=a[e+1>>0]|0;a[b+2>>0]=a[e+2>>0]|0;a[b+3>>0]=a[e+3>>0]|0;b=b+4|0;e=e+4|0}}while((b|0)<(h|0)){a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}return i|0}function vk(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else uk(b,c,d)|0;return b|0}function wk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=na(0,0,0,0),k=0;i=b+f|0;e=e&255;if((f|0)>=67){while(b&3){a[b>>0]=e;b=b+1|0}g=i&-4|0;h=g-64|0;k=e|e<<8|e<<16|e<<24;j=Qa(k);while((b|0)<=(h|0)){gb(d,b,j);gb(d,b+16,j);gb(d,b+32,j);gb(d,b+48,j);b=b+64|0}while((b|0)<(g|0)){c[b>>2]=k;b=b+4|0}}while((b|0)<(i|0)){a[b>>0]=e;b=b+1|0}return i-f|0}function xk(a){a=+a;return a>=0.0?+E(a+.5):+R(a-.5)}function yk(a){a=+a;return a-+E(a)!=.5?+xk(a):+xk(a/2.0)*2.0}function zk(a){a=a|0;var b=0,d=0;d=a+15&-16|0;b=c[i>>2]|0;a=b+d|0;if((d|0)>0&(a|0)<(b|0)|(a|0)<0){$()|0;ha(12);return -1}c[i>>2]=a;if((a|0)>(_()|0)?(Z()|0)==0:0){c[i>>2]=b;ha(12);return -1}return b|0}function Ak(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +ub[a&0](b|0,c|0,d|0)}function Bk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return +vb[a&0](b|0,c|0,d|0,e|0,f|0)}function Ck(a,b,c){a=a|0;b=b|0;c=c|0;return wb[a&3](b|0,c|0)|0}function Dk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;xb[a&0](b|0,c|0,d|0,e|0)}function Ek(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;yb[a&0](b|0,c|0,d|0,e|0,+f,+g,+h)}function Fk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;zb[a&0](b|0,c|0,d|0,e|0,f|0,g|0)}function Gk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Ab[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Hk(a,b,c){a=a|0;b=b|0;c=c|0;X(0);return 0.0}function Ik(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;X(1);return 0.0}function Jk(a,b){a=a|0;b=b|0;X(2);return 0}function Kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;X(3)}function Lk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;X(4)}function Mk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;X(5)}function Nk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;X(6)}
// EMSCRIPTEN_END_FUNCS
var ub=[Hk];var vb=[Ik];var wb=[Jk,bg,Ri,Jk];var xb=[Kk];var yb=[Lk];var zb=[Mk];var Ab=[Nk,wj,vj,Nk];return{___muldi3:rk,_bitshift64Ashr:sk,_free:lk,_i64Add:tk,_malloc:kk,_memcpy:uk,_memmove:vk,_memset:wk,_opus_decode:lj,_opus_decode_float:qj,_opus_decoder_ctl:rj,_opus_decoder_get_size:aj,_opus_decoder_init:cj,_opus_encode:Sj,_opus_encode_float:Tj,_opus_encoder_ctl:Uj,_opus_encoder_get_size:sj,_opus_encoder_init:uj,_opus_get_version_string:nc,_opus_packet_get_nb_samples:oj,_opus_strerror:mc,_rintf:yk,_sbrk:zk,dynCall_diii:Ak,dynCall_diiiii:Bk,dynCall_iii:Ck,dynCall_viiii:Dk,dynCall_viiiiddd:Ek,dynCall_viiiiii:Fk,dynCall_viiiiiii:Gk,establishStackSpace:Eb,getTempRet0:Hb,runPostSets:pk,setTempRet0:Gb,setThrew:Fb,stackAlloc:Bb,stackRestore:Db,stackSave:Cb}})
// EMSCRIPTEN_END_ASM
(e.w,e.A,buffer);e.___muldi3=Z.___muldi3;e._bitshift64Ashr=Z._bitshift64Ashr;
e._free=Z._free;e._i64Add=Z._i64Add;e._malloc=Z._malloc;e._memcpy=Z._memcpy;e._memmove=Z._memmove;e._memset=Z._memset;e._opus_decode=Z._opus_decode;e._opus_decode_float=Z._opus_decode_float;e._opus_decoder_ctl=Z._opus_decoder_ctl;e._opus_decoder_get_size=Z._opus_decoder_get_size;e._opus_decoder_init=Z._opus_decoder_init;e._opus_encode=Z._opus_encode;e._opus_encode_float=Z._opus_encode_float;e._opus_encoder_ctl=Z._opus_encoder_ctl;e._opus_encoder_get_size=Z._opus_encoder_get_size;
e._opus_encoder_init=Z._opus_encoder_init;e._opus_get_version_string=Z._opus_get_version_string;e._opus_packet_get_nb_samples=Z._opus_packet_get_nb_samples;e._opus_strerror=Z._opus_strerror;e._rintf=Z._rintf;e._sbrk=Z._sbrk;e.establishStackSpace=Z.establishStackSpace;e.getTempRet0=Z.getTempRet0;e.runPostSets=Z.runPostSets;e.setTempRet0=Z.setTempRet0;e.setThrew=Z.setThrew;e.stackAlloc=Z.stackAlloc;var lb=e.stackRestore=Z.stackRestore,hb=e.stackSave=Z.stackSave;e.dynCall_diii=Z.dynCall_diii;
e.dynCall_diiiii=Z.dynCall_diiiii;e.dynCall_iii=Z.dynCall_iii;e.dynCall_viiii=Z.dynCall_viiii;e.dynCall_viiiiddd=Z.dynCall_viiiiddd;e.dynCall_viiiiii=Z.dynCall_viiiiii;e.dynCall_viiiiiii=Z.dynCall_viiiiiii;e.asm=Z;
if(X)if((String.prototype.startsWith?X.startsWith(Pa):0===X.indexOf(Pa))||("function"===typeof e.locateFile?X=e.locateFile(X):e.memoryInitializerPrefixURL&&(X=e.memoryInitializerPrefixURL+X)),K||aa){var mb=e.readBinary(X);O.set(mb,8)}else{var ob=function(){e.readAsync(X,nb,function(){throw"could not load memory initializer "+X;})};W++;e.monitorRunDependencies&&e.monitorRunDependencies(W);var nb=function(a){a.byteLength&&(a=new Uint8Array(a));O.set(a,8);e.memoryInitializerRequest&&delete e.memoryInitializerRequest.response;
W--;e.monitorRunDependencies&&e.monitorRunDependencies(W);0==W&&(null!==Na&&(clearInterval(Na),Na=null),Oa&&(a=Oa,Oa=null,a()))},pb=L(X);if(pb)nb(pb.buffer);else if(e.memoryInitializerRequest){var qb=function(){var a=e.memoryInitializerRequest,f=a.response;if(200!==a.status&&0!==a.status)if(f=L(e.memoryInitializerRequestURL))f=f.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+a.status+", retrying "+X);ob();return}nb(f)};e.memoryInitializerRequest.response?
setTimeout(qb,0):e.memoryInitializerRequest.addEventListener("load",qb)}else ob()}e.then=function(a){if(e.calledRun)a(e);else{var f=e.onRuntimeInitialized;e.onRuntimeInitialized=function(){f&&f();a(e)}}return e};function M(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}M.prototype=Error();M.prototype.constructor=M;Oa=function rb(){e.calledRun||sb();e.calledRun||(Oa=rb)};
function sb(){function a(){if(!e.calledRun&&(e.calledRun=!0,!ka)){Ka||(Ka=!0,V(xa));V(Ha);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var a=e.postRun.shift();Ja.unshift(a)}V(Ja)}}if(!(0<W)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)La();V(wa);0<W||e.calledRun||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},
1);a()},1)):a())}}e.run=sb;e.exit=function(a,f){if(!f||!e.noExitRuntime||0!==a){if(!e.noExitRuntime&&(ka=!0,qa=void 0,V(Ia),e.onExit))e.onExit(a);K&&process.exit(a);e.quit(a,new M(a))}};function N(a){if(e.onAbort)e.onAbort(a);void 0!==a?(e.print(a),e.printErr(a),a=JSON.stringify(a)):a="";ka=!0;throw"abort("+a+"). Build with -s ASSERTIONS=1 for more info.";}e.abort=N;if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();e.noExitRuntime=!0;sb();
return Module;
};
if (typeof exports === 'object' && typeof module === 'object')
module.exports = Module;
else if (typeof define === 'function' && define['amd'])
define([], function() { return Module; });
else if (typeof exports === 'object')
exports["Module"] = Module;