earth-reverse-engineering/lib/decode-resource.js
2019-09-04 00:54:58 +02:00

6844 lines
341 KiB
JavaScript

"use strict"
// generate random id
function uuidv4() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
let r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
}
module.exports = (function() {
// minified protobuf decoder js code
const code = function() {
(function() {
'use strict';
var T, jb = this;
function kb(c, d, e) {
c = c.split(".");
e = e || jb;
c[0] in e || "undefined" == typeof e.execScript || e.execScript("var " + c[0]);
for (var h; c.length && (h = c.shift());) c.length || void 0 === d ? e[h] && e[h] !== Object.prototype[h] ? e = e[h] : e = e[h] = {} : e[h] = d
}
var Fb = Date.now || function() {
return +new Date
};
function Mb(c) {
this.length = c.length || c;
for (var d = 0; d < this.length; d++) this[d] = c[d] || 0
}
Mb.prototype.a = 4;
Mb.prototype.set = function(c, d) {
d = d || 0;
for (var e = 0; e < c.length && d + e < this.length; e++) this[d + e] = c[e]
};
Mb.prototype.toString = Array.prototype.join;
"undefined" == typeof Float32Array && (Mb.BYTES_PER_ELEMENT = 4, Mb.prototype.BYTES_PER_ELEMENT = Mb.prototype.a, Mb.prototype.set = Mb.prototype.set, Mb.prototype.toString = Mb.prototype.toString, kb("Float32Array", Mb, void 0));
function Rb(c) {
this.length = c.length || c;
for (var d = 0; d < this.length; d++) this[d] = c[d] || 0
}
Rb.prototype.a = 8;
Rb.prototype.set = function(c, d) {
d = d || 0;
for (var e = 0; e < c.length && d + e < this.length; e++) this[d + e] = c[e]
};
Rb.prototype.toString = Array.prototype.join;
if ("undefined" == typeof Float64Array) {
try {
Rb.BYTES_PER_ELEMENT = 8
} catch (c) {}
Rb.prototype.BYTES_PER_ELEMENT = Rb.prototype.a;
Rb.prototype.set = Rb.prototype.set;
Rb.prototype.toString = Rb.prototype.toString;
kb("Float64Array", Rb, void 0)
};
function Sb() {
this.matrixMeshFromGlobe = this.matrixGlobeFromMesh = null;
this.meshes = [];
this.overlaySurfaceMeshes = [];
this.copyrightIds = this.waterMesh = null;
this.nonEmptyOctants = 0;
this.bvhTriPermutation = this.bvhNodes = null
}
function Tb() {
this.vertexAlphas = this.indices = this.uvOffsetAndScale = this.layerBounds = this.texture = this.vertices = null;
this.numNonDegenerateTriangles = 0;
this.meshId = -1;
this.octantCounts = this.normals = null
}
function Ub() {
this.bytes = null;
this.textureFormat = 1;
this.viewDirection = this.height = this.width = 0;
this.meshId = -1
}
function Vb() {
this.headNodePath = "";
this.obbRotations = this.obbExtents = this.obbCenters = this.metersPerTexel = this.flags = this.bulkMetadataEpoch = this.epoch = this.childIndices = null;
this.defaultImageryEpoch = 0;
this.imageryEpochArray = null;
this.defaultTextureFormat = 0;
this.textureFormatArray = null;
this.defaultAvailableViewDirections = 0;
this.childBulkMetadata = this.nodes = this.viewDependentTextureFormatArray = this.availableViewDirectionsArray = null
}
function Wb() {
this.textures = [];
this.transformInfo = [];
this.projectionOrigin = null
}
function pc() {
this.vertexTransformMap = this.transformTable = null;
this.meshId = -1;
this.uvOffsetAndScale = null
};
function qc(c) {
this.u = new DataView(c.buffer);
this.b = c;
this.a = 0;
this.c = c.length;
this.h = [];
this.l = this.o = 0
}
T = qc.prototype;
T.D = function() {
if (this.a < this.c) {
var c = this.sa();
this.o = c & 7;
return this.l = c >> 3
}
return 0
};
T.O = function(c) {
this.h.push(this.c);
this.c = c
};
T.N = function() {
if (!this.h.length) return !1;
this.c = this.h.pop();
return !0
};
T.sa = function() {
var c = 0,
d = 1;
do {
var e = this.b[this.a++];
c += (127 & e) * d;
d *= 128
} while (e & 128);
return c
};
T.jd = function() {
do var c = this.b[this.a++]; while (c & 128)
};
T.hd = function() {
this.a = this.sa() + this.a
};
T.B = function() {
switch (this.o) {
case 0:
return this.jd(), !0;
case 1:
return this.a += 8, !0;
case 2:
return this.hd(), !0;
case 5:
return this.a += 4, !0
}
return !1
};
T.Xc = function() {
var c = this.sa();
return c & 2147483648 ? (c & 2147483647) - 2147483648 : c
};
T.f = qc.prototype.sa;
T.$ = function() {
var c = this.u.getFloat32(this.a, !0);
this.a += 4;
return c
};
T.ua = function() {
var c = this.u.getFloat64(this.a, !0);
this.a += 8;
return c
};
T.Ia = function() {
return this.b[this.a++]
};
T.Ka = function() {
var c = this.b[this.a++];
c |= this.b[this.a++] << 8;
return c & 32768 ? c | 4294901760 : c
};
T.ia = function() {
var c = this.b[this.a++];
return this.b[this.a++] << 8 | c
};
T.cd = function() {
var c = this.b[this.a++];
c = this.a + c;
for (var d = ""; this.a < c;) {
var e = this.b[this.a++];
if (128 > e) d += String.fromCharCode(e);
else if (!(192 > e))
if (224 > e) {
var h = this.b[this.a++];
d += String.fromCharCode((e & 31) << 6 | h & 63)
} else if (240 > e) {
h = this.b[this.a++];
var k = this.b[this.a++];
d += String.fromCharCode((e & 15) << 12 | (h & 63) << 6 | k & 63)
}
}
return d
};
T.data = function() {
return this.b
};
T.Oc = function() {
this.a = this.l = this.o = 0;
this.c = this.b.length;
this.h = []
};
T.U = function(c) {
this.a += c
};
function rc(c, d) {
this.h = new qc(c);
this.Oa = d;
this.c = null;
this.b = new Float64Array(3);
this.a = new Float32Array(4);
this.o = {};
this.l = this.u = 0;
this.ra = this.L = this.ba = this.M = !1
}
T = rc.prototype;
T.Nc = function() {
var c = this.h,
d, e = [],
h = this.c = new Vb;
this.a[0] = Infinity;
this.a[1] = Infinity;
this.a[2] = Infinity;
this.a[3] = Infinity;
for (h.defaultTextureFormat = 6; d = c.D();) switch (d) {
case 1:
d = c.f();
c.O(c.a + d);
e.push(this.bd());
c.N();
break;
case 2:
d = c.f();
c.O(c.a + d);
this.Vc();
c.N();
break;
case 3:
c.f();
this.b[0] = c.ua();
this.b[1] = c.ua();
this.b[2] = c.ua();
break;
case 4:
c.f();
this.a[0] = c.$();
this.a[1] = c.$();
this.a[2] = c.$();
this.a[3] = c.$();
break;
case 5:
h.defaultImageryEpoch = c.f();
break;
case 6:
h.defaultTextureFormat = sc(c.f());
break;
case 7:
h.defaultAvailableViewDirections = c.f();
break;
case 8:
h.defaultViewDependentTextureFormat = sc(c.f());
break;
default:
c.B()
}
c.Oc();
d = e.slice();
d.sort(tc);
for (var k = 0; k < e.length; k++) this.o[d[k]] = k;
k = e.length;
h.epoch = new Uint32Array(k);
h.bulkMetadataEpoch = new Uint32Array(k);
h.flags = new Uint8Array(k);
h.metersPerTexel = new Float32Array(k);
h.obbCenters = new Float64Array(3 * k);
h.obbExtents = new Float32Array(3 * k);
h.obbRotations = new Float32Array(9 * k);
h.imageryEpochArray = new Uint32Array(k);
h.textureFormatArray = new Uint8Array(k);
h.viewDependentTextureFormatArray = new Uint8Array(k);
h.availableViewDirectionsArray = new Uint8Array(k);
for (k = 0; d = c.D();) switch (d) {
case 1:
d = c.f();
c.O(c.a + d);
this.$c(e[k++]);
c.N();
break;
default:
c.B()
}
this.pc();
c = [h.childIndices.buffer, h.epoch.buffer, h.bulkMetadataEpoch.buffer, h.flags.buffer, h.metersPerTexel.buffer, h.obbCenters.buffer, h.obbExtents.buffer, h.obbRotations.buffer];
this.M ? c.push(h.imageryEpochArray.buffer) : h.imageryEpochArray = null;
this.ba ? c.push(h.textureFormatArray.buffer) : h.textureFormatArray = null;
this.L ? c.push(h.availableViewDirectionsArray.buffer) : h.availableViewDirectionsArray = null;
this.ra ? c.push(h.viewDependentTextureFormatArray.buffer) : h.viewDependentTextureFormatArray = null;
this.Oa(h, c)
};
function tc(c, d) {
var e = c.length - d.length;
return 0 != e ? e : c < d ? -1 : 1
}
T.Vc = function() {
for (var c = this.h, d = this.c, e; e = c.D();) switch (e) {
case 1:
d.headNodePath = c.cd();
break;
case 2:
this.l = c.f();
break;
default:
c.B()
}
};
T.bd = function() {
for (var c = this.h, d, e = ""; d = c.D();) switch (d) {
case 1:
e = c.f();
d = (e & 3) + 1;
e = e >> 2 & (1 << 3 * d) - 1;
for (var h = "", k = 0; k < d; k++) h += e >> 3 * k & 7;
e = h;
break;
default:
c.B()
}
return e
};
T.$c = function(c) {
var d = this.h,
e = this.c,
h, k = 0,
g = [],
m = [],
p = [],
v = 0,
z = this.l,
B = this.l,
A = this.o[c];
e.imageryEpochArray[A] = e.defaultImageryEpoch;
e.textureFormatArray[A] = e.defaultTextureFormat;
for (e.availableViewDirectionsArray[A] = e.defaultAvailableViewDirections; h = d.D();) switch (h) {
case 1:
k = d.f();
break;
case 3:
d.f();
g[0] = d.Ka();
g[1] = d.Ka();
g[2] = d.Ka();
m[0] = d.Ia();
m[1] = d.Ia();
m[2] = d.Ia();
p[0] = d.ia();
p[1] = d.ia();
p[2] = d.ia();
break;
case 4:
v = d.$();
break;
case 2:
z = d.f();
break;
case 5:
B = d.f();
break;
case 7:
this.M = !0;
e.imageryEpochArray[A] = d.f();
break;
case 8:
this.ba = !0;
e.textureFormatArray[A] = sc(d.f());
break;
case 9:
this.L = !0;
e.availableViewDirectionsArray[A] = d.f();
break;
case 10:
this.ra = !0;
e.viewDependentTextureFormatArray[A] = sc(d.f());
break;
default:
d.B()
}
c = c.length;
4 > c && this.u++;
e.epoch[A] = z;
e.bulkMetadataEpoch[A] = B;
e.flags[A] = k >> 2 + 3 * c;
0 == v && (v = this.a[c - 1]);
e.metersPerTexel[A] = v;
g[0] = g[0] * v + this.b[0];
g[1] = g[1] * v + this.b[1];
g[2] = g[2] * v + this.b[2];
m[0] *= v;
m[1] *= v;
m[2] *= v;
p[0] = p[0] * Math.PI / 32768;
p[1] = p[1] * Math.PI / 65536;
p[2] = p[2] * Math.PI / 32768;
k = new Float32Array(9);
z = p[0];
c = p[1];
v = p[2];
p = Math.cos(z);
z = Math.sin(z);
B = Math.cos(c);
c = Math.sin(c);
d = Math.cos(v);
v = Math.sin(v);
k[0] = p * d - B * z * v;
k[1] = B * p * v + d * z;
k[2] = v * c;
k[3] = -p * v - d * B * z;
k[4] = p * B * d - z * v;
k[5] = d * c;
k[6] = c * z;
k[7] = -p * c;
k[8] = B;
k == k ? (p = k[1], v = k[2], z = k[5], k[1] = k[3], k[2] = k[6], k[3] = p, k[5] = k[7], k[6] = v, k[7] = z) : (k[0] = k[0], k[1] = k[3], k[2] = k[6], k[3] = k[1], k[4] = k[4], k[5] = k[7], k[6] = k[2], k[7] = k[5], k[8] = k[8]);
e.obbCenters.set(g, 3 * A);
e.obbRotations.set(k, 9 * A);
e.obbExtents.set(m, 3 * A)
};
T.pc = function() {
this.c.childIndices = new Int16Array(8 * (this.u + 1));
this.Ab("", -1)
};
T.Ab = function(c, d) {
if (4 != c.length)
for (var e = 0; 8 > e; e++) {
var h = c + e,
k = this.o[h];
void 0 !== k ? this.Ab(h, k) : k = -1;
this.c.childIndices[8 * (d + 1) + e] = k
}
};
var uc = [6, 1];
function sc(c) {
for (var d = 0; d < uc.length; d++) {
var e = uc[d];
if (c & 1 << e - 1) return 0 == e && c.toString(16), e
}
c.toString(16);
return uc[0]
};
function vc(c, d) {
return 0 == d ? c + 1 & -2 : 1 == d ? c | 1 : c + 2
};
function zd(c) {
this.ba = c;
this.l = null;
this.o = 0;
this.b = this.h = this.L = this.M = this.c = this.u = null;
this.a = 0
}
T = zd.prototype;
T.start = function() {
for (var c = this.ba, d = 0, e = 0; e < c.length; ++e) d += c[e].numNonDegenerateTriangles;
if (0 >= d) return null;
this.M = new Uint32Array(d);
this.c = new Uint32Array(d);
this.L = new Uint8Array(6 * d);
this.h = Array(3);
this.h[0] = new Uint8Array(d);
this.h[1] = new Uint8Array(d);
this.h[2] = new Uint8Array(d);
for (var h = this.L, k = this.h, g, m, p, v, z, B, A = 0, G = 0, C = 0, R = 0, L = 0, O = 0, sa = 0, ka = 0, qa = 0; qa < c.length; ++qa) {
e = c[qa];
var P = e.indices,
la = e.vertices,
Ea = P.length - 2;
for (e = 0; e < Ea; ++e) {
m = P[vc(e, 0)];
var J = P[vc(e, 1)],
aa = P[vc(e, 2)];
if (m != J && J != aa && aa != m) {
this.M[ka] = qa << 24 | e;
this.c[ka] = ka;
p = 8 * m;
g = v = la[p++];
m = z = la[p++];
p = B = la[p];
var Ja = 8 * J;
J = la[Ja++];
J < g ? g = J : J > v && (v = J);
J = la[Ja++];
J < m ? m = J : J > z && (z = J);
J = la[Ja];
J < p ? p = J : J > B && (B = J);
aa *= 8;
J = la[aa++];
J < g ? g = J : J > v && (v = J);
J = la[aa++];
J < m ? m = J : J > z && (z = J);
J = la[aa];
J < p ? p = J : J > B && (B = J);
h[A++] = g;
h[A++] = m;
h[A++] = p;
h[A++] = v;
h[A++] = z;
h[A++] = B;
g = g + v >> 1;
m = m + z >> 1;
p = p + B >> 1;
k[0][ka] = g;
k[1][ka] = m;
k[2][ka] = p;
0 < ka ? (g < G ? G = g : g > L && (L = g), m < C ? C = m : m > O && (O = m), p < R ? R = p : p > sa && (sa = p)) : (G = L = g, C = O = m, R = sa = p);
++ka
}
}
}
this.l = c = new Uint8Array(24 * d);
this.u = new Uint32Array(c.buffer);
c[0] = G;
c[1] = C;
c[2] = R;
c[3] = L;
c[4] = O;
c[5] = sa;
this.b = new Uint32Array(3 * d);
this.a = 0;
this.b[this.a++] = 0;
this.b[this.a++] = 0;
this.b[this.a++] = d;
this.o = 1;
return this.cb
};
T.cb = function() {
for (var c = this.b, d = 0; 0 < this.a;) {
var e = c[--this.a],
h = c[--this.a],
k = c[--this.a],
g = e - h;
if (0 == d || 1E4 > d + g) this.nc(k, h, e), d += g;
else {
this.a += 3;
break
}
}
return 0 == this.a ? this.wc : this.cb
};
T.nc = function(c, d, e) {
var h = e - d;
if (4 >= h) this.ob(c, d, e);
else {
var k = this.l,
g = 12 * c,
m = k[g + 3] - k[g + 0],
p = k[g + 4] - k[g + 1],
v = k[g + 5] - k[g + 2];
if (m > p && m > v) var z = 0;
else p > v ? (z = 1, m = p) : (z = 2, m = v);
k = k[g + z] + (m >> 1);
p = d;
v = e;
g = this.h[z];
for (m = this.c;;) {
for (; p < v && !(g[m[p]] >= k);) p++;
for (; p < v && !(g[m[v - 1]] < k);) v--;
if (p == v) {
p = v;
break
}
var B = m[p];
m[p] = m[v - 1];
m[v - 1] = B
}
if (p == d || p == e) {
if (255 > h) {
this.ob(c, d, e);
return
}
p = (d + e) / 2;
k = g[m[p]]
}
h = this.o++;
g = this.o++;
this.Fc(c, h, z, k, d, p, e);
this.b[this.a++] = g;
this.b[this.a++] = p;
this.b[this.a++] = e;
this.b[this.a++] = h;
this.b[this.a++] = d;
this.b[this.a++] = p
}
};
T.Fc = function(c, d, e, h, k, g, m) {
h = this.l;
c *= 12;
h[c + 6] = 0;
h[c + 7] = e;
this.u[c + 8 >> 2] = d;
e = this.h[0];
c = this.h[1];
for (var p = this.h[2], v = 0; 2 > v; v++) {
var z = 0 == v ? k : g,
B = 0 == v ? g : m;
if (!(4 >= B - z)) {
var A = this.c[z],
G = e[A],
C = c[A];
A = p[A];
var R = G,
L = G,
O = C,
sa = C,
ka = A,
qa = A;
for (z += 1; z < B; z++) A = this.c[z], G = e[A], C = c[A], A = p[A], G < R ? R = G : G > L && (L = G), C < O ? O = C : C > sa && (sa = C), A < ka ? ka = A : A > qa && (qa = A);
B = 12 * (0 == v ? d : d + 1);
h[B++] = R;
h[B++] = O;
h[B++] = ka;
h[B++] = L;
h[B++] = sa;
h[B] = qa
}
}
};
T.ob = function(c, d, e) {
var h = this.L,
k = this.c,
g, m, p, v;
var z = g = m = 255;
var B = p = v = 0;
for (var A = d; A < e; ++A) {
var G = 6 * k[A],
C = h[G++];
z = z < C ? z : C;
C = h[G++];
g = g < C ? g : C;
C = h[G++];
m = m < C ? m : C;
C = h[G++];
B = B > C ? B : C;
C = h[G++];
p = p > C ? p : C;
C = h[G++];
v = v > C ? v : C
}
h = this.l;
c *= 12;
k = c + 0;
h[k++] = z;
h[k++] = g;
h[k++] = m;
h[k++] = B;
h[k++] = p;
h[k] = v;
h[c + 6] = 1;
h[c + 7] = e - d;
this.u[c + 8 >> 2] = d
};
T.wc = function() {
for (var c = this.l, d = this.u, e = this.o - 1; 0 <= e; e--) {
var h = 12 * e;
if (0 == c[h + 6]) {
var k = h + 0;
h = 12 * d[h + 8 >> 2];
for (var g = h + 12, m = 0; 3 > m; m++, k++, h++, g++) {
var p = c[h],
v = c[g];
c[k] = p <= v ? p : v;
p = c[3 + h];
v = c[3 + g];
c[3 + k] = p >= v ? p : v
}
}
}
for (e = 0; e < this.c.length; ++e) this.c[e] = this.M[this.c[e]];
this.l = c.subarray(0, 12 * this.o);
return null
};
T.hc = function() {
return this.l
};
var Ad = null;
function Bd() {
this.Gc()
}
T = Bd.prototype;
T.xb = function(c) {
return this.a._malloc(c)
};
T.mb = function(c) {
this.a._free(c)
};
T.lc = function(c, d, e, h) {
this.a.HEAPU8.set(c.subarray(d, d + e), h)
};
T.mc = function(c, d, e, h) {
e.set(this.a.HEAPU8.subarray(c, c + d), h)
};
T.Ac = function(c, d) {
return this.a._crn_get_decompressed_size(c, d)
};
T.sc = function(c, d, e, h) {
return this.a._crn_decompress(c, d, e, h)
};
T.Gc = function() {
function c(a) {
eval.call(null, a)
}
function d(a) {
w.print(a + ":\n" + Error().stack);
throw "Assertion: " + a;
}
function e(a, b) {
a || d("Assertion failed: " + b)
}
function h(a, b, n, u) {
var f = 0;
try {
var c = eval("_" + a)
} catch (Fa) {
try {
c = Kd.Module["_" + a]
} catch (sf) {}
}
e(c, "Cannot call unknown function " + a + " (perhaps LLVM optimizations or closure removed it?)");
var r = 0;
a = u ? u.map(function(a) {
var b = n[r++];
"string" == b ? (f || (f = Q.Bb()), b = Q.Ma(a.length + 1), G(a, b), a = b) : "array" == b && (f || (f = Q.Bb()), b = Q.Ma(a.length), C(a, b), a = b);
return a
}) : [];
b = function(a, b) {
if ("string" == b) return m(a);
e("array" != b);
return a
}(c.apply(null, a), b);
f && Q.kd(f);
return b
}
function k(a, f, n) {
n = n || "i8";
"*" === n[n.length - 1] && (n = "i32");
switch (n) {
case "i1":
D[a] = f;
break;
case "i8":
D[a] = f;
break;
case "i16":
Da[a >> 1] = f;
break;
case "i32":
b[a >> 2] = f;
break;
case "i64":
b[a >> 2] = f;
break;
case "float":
Cb[a >> 2] = f;
break;
case "double":
Xb[0] = f;
b[a >> 2] = cb[0];
b[a + 4 >> 2] = cb[1];
break;
default:
d("invalid type for setValue: " + n)
}
}
function g(a, b, n) {
if ("number" === typeof a) {
var f = !0;
var c = a
} else f = !1, c = a.length;
var N = "string" === typeof b ? b : null;
n = [db, Q.Ma, Q.Cb][void 0 === n ? 2 : n](Math.max(c, N ? 1 : b.length));
if (f) return Xa(n, 0, c), n;
f = 0;
for (var r; f < c;) {
var d = a[f];
"function" === typeof d && (d = Q.ef(d));
r = N || b[f];
0 === r ? f++ : ("i64" == r && (r = "i32"), k(n + f, d, r), f += Q.Ea(r))
}
return n
}
function m(a, b) {
for (var f = "undefined" == typeof b, u = "", c = 0, N, r = String.fromCharCode(0);;) {
N = String.fromCharCode(I[a + c]);
if (f && N == r) break;
u += N;
c += 1;
if (!f && c == b) break
}
return u
}
function p(a) {
for (; 0 < a.length;) {
var b = a.shift(),
n = b.Da;
"number" === typeof n && (n = Ma[n]);
n(void 0 === b.gc ? null : b.gc)
}
}
function v(a, b) {
return Array.prototype.slice.call(D.subarray(a, a + b))
}
function z(a) {
for (var b = 0; D[a + b];) b++;
return b
}
function B(a, b) {
var f = z(a);
b && f++;
a = v(a, f);
b && (a[f - 1] = 0);
return a
}
function A(a, b, n) {
var f = [],
c = 0;
void 0 === n && (n = a.length);
for (; c < n;) {
var N = a.charCodeAt(c);
255 < N && (N &= 255);
f.push(N);
c += 1
}
b || f.push(0);
return f
}
function G(a, b, n) {
for (var f = 0; f < a.length;) {
var c = a.charCodeAt(f);
255 < c && (c &= 255);
D[b + f] = c;
f += 1
}
n || (D[b + f] = 0)
}
function C(a, b) {
for (var f = 0; f < a.length; f++) D[b + f] = a[f]
}
function R(a, b) {
return 0 <= a ? a : 32 >= b ? 2 * Math.abs(1 << b - 1) + a : Math.pow(2, b) + a
}
function L(a, b) {
if (0 >= a) return a;
var f = 32 >= b ? Math.abs(1 << b - 1) : Math.pow(2, b - 1);
a >= f && (32 >= b || a > f) && (a = -2 * f + a);
return a
}
function O(a) {
return 0 == (a | 0) ? 0 : 0 == (a - 1 & a | 0)
}
function sa(a) {
a = a - 1 | 0;
a |= a >>> 16;
a |= a >>> 8;
a |= a >>> 4;
a |= a >>> 2;
return (a >>> 1 | a) + 1 | 0
}
function ka(a, b) {
return a >>> 0 < b >>> 0 ? a : b
}
function qa(a, b) {
return a >>> 0 > b >>> 0 ? a : b
}
function P(a, f, n) {
var u = M;
M += 512;
var c = u | 0;
Ld(c, q.md | 0, (lb = M, M += 12, b[lb >> 2] = f, b[lb + 4 >> 2] = n, b[lb + 8 >> 2] = a, lb));
Md(c);
M = u
}
function la(a, f, n, u, c) {
var N = M;
M += 4;
var na = N,
d = a + 4 | 0;
var e = (a + 8 | 0) >> 2;
t[d >> 2] >>> 0 > t[e] >>> 0 && P(q.nd | 0, q.a | 0, 2181);
Math.floor(2147418112 / (u >>> 0)) >>> 0 <= f >>> 0 && P(q.Vb | 0, q.a | 0, 2182);
var h = t[e],
y = h >>> 0 < f >>> 0;
do {
if (y) {
var E = n ? O(f) ? f : sa(f) : f;
0 != (E | 0) & E >>> 0 > h >>> 0 || P(q.$b | 0, q.a | 0, 2191);
var H = E * u | 0;
if (0 == (c | 0)) {
var x = a | 0;
var l = Ea(b[x >> 2], H, na, 1);
if (0 == (l | 0)) {
E = 0;
break
}
b[x >> 2] = l
} else {
l = J(H, na);
if (0 == (l | 0)) {
E = 0;
break
}
x = (a | 0) >> 2;
Ma[c](l, b[x], b[d >> 2]);
var g = b[x];
0 != (g | 0) && aa(g);
b[x] = l
}
x = t[na >> 2];
b[e] = x >>> 0 > H >>> 0 ? Math.floor((x >>> 0) / (u >>> 0)) : E
}
E = 1
} while (0);
M = N;
return E
}
function Ea(a, f, n, u) {
var c = M;
M += 4;
var N = c;
0 == (a & 7 | 0) ? 2147418112 < f >>> 0 ? (mb(q.o | 0), n = 0) : (b[N >> 2] = f, a = Ma[b[Yb >> 2]](a, f, N, u, b[Zb >> 2]), 0 != (n | 0) && (b[n >> 2] = b[N >> 2]), 0 != (a & 7 | 0) && P(q.u | 0, q.a | 0, 2654), n = a) : (mb(q.Fb | 0), n = 0);
M = c;
return n
}
function J(a, f) {
var n = M;
M += 4;
var u = n;
a = a + 3 & -4;
a = 0 == (a | 0) ? 4 : a;
if (2147418112 < a >>> 0) mb(q.o | 0), f = 0;
else {
b[u >> 2] = a;
var c = Ma[b[Yb >> 2]](0, a, u, 1, b[Zb >> 2]);
u = t[u >> 2];
0 != (f | 0) && (b[f >> 2] = u);
0 == (c | 0) | u >>> 0 < a >>> 0 ? (mb(q.Eb | 0), f = 0) : (0 != (c & 7 | 0) && P(q.u | 0, q.a | 0, 2629), f = c)
}
M = n;
return f
}
function aa(a) {
if (0 != (a | 0))
if (0 == (a & 7 | 0)) Ma[b[Yb >> 2]](a, 0, 0, 1, b[Zb >> 2]);
else mb(q.Gb | 0)
}
function Ja(a, f, n, u) {
var c = a >> 2,
N = M;
M += 200;
var r = N >> 2;
var d = N + 64;
var e = d >> 2;
var l = N + 132,
y = 0 == (f | 0) | 11 < u >>> 0;
a: do
if (y) var E = 0;
else {
b[c] = f;
Ua(d);
for (var H = 0;;) {
var x = I[n + H | 0];
if (0 != x << 24 >> 24) {
var h = ((x & 255) << 2) + d | 0;
b[h >> 2] = b[h >> 2] + 1 | 0
}
var g = H + 1 | 0;
if ((g | 0) == (f | 0)) {
var k = 1,
$b = -1,
p = 0,
m = 0,
v = 0;
break
}
H = g
}
for (;;) {
var A = t[(k << 2 >> 2) + e];
if (0 == (A | 0)) {
b[((k - 1 << 2) + 28 >> 2) + c] = 0;
var w = v,
z = m,
B = p,
G = $b
} else {
var C = ka($b, k),
F = qa(p, k),
K = k - 1 | 0;
b[(K << 2 >> 2) + r] = v;
var J = A + v | 0,
U = 16 - k | 0;
b[((K << 2) + 28 >> 2) + c] = (J - 1 << U | (1 << U) - 1) + 1 | 0;
b[((K << 2) + 96 >> 2) + c] = m;
b[l + (k << 2) >> 2] = m;
w = J;
z = A + m | 0;
B = F;
G = C
}
var L = k + 1 | 0;
if (17 == (L | 0)) break;
k = L;
$b = G;
p = B;
m = z;
v = w << 1
}
b[c + 1] = z;
var ac = (a + 172 | 0) >> 2;
if (z >>> 0 > t[ac] >>> 0) {
var R = O(z) ? z : ka(f, sa(z));
b[ac] = R;
var Q = a + 176 | 0,
W = b[Q >> 2];
if (0 == (W | 0)) var wc = R;
else ab(W), wc = b[ac];
var ma = Ya(wc);
b[Q >> 2] = ma;
if (0 == (ma | 0)) {
E = 0;
break
}
var fa = Q
} else fa = a + 176 | 0;
var ha = a + 24 | 0;
D[ha] = G & 255;
D[a + 25 | 0] = B & 255;
for (var ba = 0;;) {
var ia = I[n + ba | 0],
ca = ia & 255;
if (0 != ia << 24 >> 24) {
0 == (b[(ca << 2 >> 2) + e] | 0) && P(q.ac | 0, q.a | 0, 2334);
var ja = (ca << 2) + l | 0,
V = t[ja >> 2];
b[ja >> 2] = V + 1 | 0;
V >>> 0 >= z >>> 0 && P(q.bc | 0, q.a | 0, 2338);
Da[b[fa >> 2] + (V << 1) >> 1] = ba & 65535
}
var S = ba + 1 | 0;
if ((S | 0) == (f | 0)) break;
ba = S
}
var X = I[ha],
ea = (X & 255) >>> 0 < u >>> 0 ? u : 0,
da = a + 8 | 0;
b[da >> 2] = ea;
var xc = 0 != (ea | 0);
if (xc) {
var oa = 1 << ea,
ua = a + 164 | 0;
if (oa >>> 0 > t[ua >> 2] >>> 0) {
b[ua >> 2] = oa;
var Y = a + 168 | 0,
yc = b[Y >> 2];
0 != (yc | 0) && Va(yc);
var Ca = va(oa);
b[Y >> 2] = Ca;
if (0 == (Ca | 0)) {
E = 0;
break a
}
Xa(Ca, -1, oa << 2, 1);
if (0 == (ea | 0)) var aa = 26;
else ra = Y, aa = 34
} else {
var la = a + 168 | 0;
Xa(b[la >> 2], -1, oa << 2, 1);
var ra = la;
aa = 34
}
b: do
if (34 == aa)
for (var pa = 1;;) {
var xa = 0 == (b[(pa << 2 >> 2) + e] | 0);
c: do
if (!xa) {
var Ba = ea - pa | 0,
Aa = 1 << Ba,
ta = pa - 1 | 0,
za = t[(ta << 2 >> 2) + r],
zc = Nd(a, pa);
if (!(za >>> 0 > zc >>> 0))
for (var Ja = b[((ta << 2) + 96 >> 2) + c] - za | 0, Ha = pa << 16, ya = za;;) {
var Ka = Z[b[fa >> 2] + (Ja + ya << 1) >> 1] & 65535;
(I[n + Ka | 0] & 255 | 0) != (pa | 0) && P(q.cc | 0, q.a | 0, 2380);
for (var La = ya << Ba, Oa = Ka | Ha, Ga = 0;;) {
var ub = Ga + La | 0;
ub >>> 0 >= oa >>> 0 && P(q.ec | 0, q.a | 0, 2386);
var vb = t[ra >> 2];
if (-1 == (b[vb + (ub << 2) >> 2] | 0)) var Ac = vb;
else P(q.fc | 0, q.a | 0, 2388), Ac = b[ra >> 2];
b[Ac + (ub << 2) >> 2] = Oa;
var Ia = Ga + 1 | 0;
if (Ia >>> 0 >= Aa >>> 0) break;
Ga = Ia
}
var wa = ya + 1 | 0;
if (wa >>> 0 > zc >>> 0) break c;
ya = wa
}
}
while (0);
var Ea = pa + 1 | 0;
if (Ea >>> 0 > ea >>> 0) break b;
pa = Ea
}
while (0);
var Ma = D[ha]
} else Ma = X;
var Na = a + 96 | 0;
b[Na >> 2] = b[Na >> 2] - b[r] | 0;
var Qa = a + 100 | 0;
b[Qa >> 2] = b[Qa >> 2] - b[r + 1] | 0;
var Sa = a + 104 | 0;
b[Sa >> 2] = b[Sa >> 2] - b[r + 2] | 0;
var Bc = a + 108 | 0;
b[Bc >> 2] = b[Bc >> 2] - b[r + 3] | 0;
var Cc = a + 112 | 0;
b[Cc >> 2] = b[Cc >> 2] - b[r + 4] | 0;
var Gb = a + 116 | 0;
b[Gb >> 2] = b[Gb >> 2] - b[r + 5] | 0;
var Pa = a + 120 | 0;
b[Pa >> 2] = b[Pa >> 2] - b[r + 6] | 0;
var nb = a + 124 | 0;
b[nb >> 2] = b[nb >> 2] - b[r + 7] | 0;
var Ta = a + 128 | 0;
b[Ta >> 2] = b[Ta >> 2] - b[r + 8] | 0;
var Dc = a + 132 | 0;
b[Dc >> 2] = b[Dc >> 2] - b[r + 9] | 0;
var Ec = a + 136 | 0;
b[Ec >> 2] = b[Ec >> 2] - b[r + 10] | 0;
var rb = a + 140 | 0;
b[rb >> 2] = b[rb >> 2] - b[r + 11] | 0;
var Hb = a + 144 | 0;
b[Hb >> 2] = b[Hb >> 2] - b[r + 12] | 0;
var Ib = a + 148 | 0;
b[Ib >> 2] = b[Ib >> 2] - b[r + 13] | 0;
var Jb = a + 152 | 0;
b[Jb >> 2] = b[Jb >> 2] - b[r + 14] | 0;
var ob = a + 156 | 0;
b[ob >> 2] = b[ob >> 2] - b[r + 15] | 0;
var Kb = a + 16 | 0;
b[Kb >> 2] = 0;
var Za = (a + 20 | 0) >> 2;
b[Za] = Ma & 255;
b: do
if (xc) {
for (var sb = ea;;) {
if (0 == (sb | 0)) break b;
var $a = sb - 1 | 0;
if (0 != (b[(sb << 2 >> 2) + e] | 0)) break;
sb = $a
}
b[Kb >> 2] = b[(($a << 2) + 28 >> 2) + c];
for (var Lb = ea + 1 | 0, Ra = b[Za] = Lb;;) {
if (Ra >>> 0 > B >>> 0) break b;
if (0 != (b[(Ra << 2 >> 2) + e] | 0)) break;
Ra = Ra + 1 | 0
}
b[Za] = Ra
}
while (0);
b[c + 23] = -1;
b[c + 40] = 1048575;
b[c + 3] = 32 - b[da >> 2] | 0;
E = 1
}
while (0);
M = N;
return E
}
function Ua(a) {
Xa(a, 0, 68, 1)
}
function ab(a) {
if (0 != (a | 0)) {
var f = b[a - 4 >> 2];
a = a - 8 | 0;
var n = 0 == (f | 0) ? 4 : (f | 0) == (b[a >> 2] ^ -1 | 0) ? 5 : 4;
4 == n && P(q.M | 0, q.a | 0, 696);
aa(a)
}
}
function Ya(a) {
a = 0 == (a | 0) ? 1 : a;
var f = J((a << 1) + 8 | 0, 0);
0 == (f | 0) ? a = 0 : (b[f + 4 >> 2] = a, b[f >> 2] = a ^ -1, a = f + 8 | 0);
return a
}
function Va(a) {
if (0 != (a | 0)) {
var f = b[a - 4 >> 2];
a = a - 8 | 0;
var n = 0 == (f | 0) ? 4 : (f | 0) == (b[a >> 2] ^ -1 | 0) ? 5 : 4;
4 == n && P(q.M | 0, q.a | 0, 696);
aa(a)
}
}
function va(a) {
a = 0 == (a | 0) ? 1 : a;
var f = J((a << 2) + 8 | 0, 0);
0 == (f | 0) ? a = 0 : (b[f + 4 >> 2] = a, b[f >> 2] = a ^ -1, a = f + 8 | 0);
return a
}
function Nd(a, f) {
0 != (f | 0) & 17 > f >>> 0 || P(q.Zb | 0, q.a | 0, 2018);
a = b[a + (f - 1 << 2) + 28 >> 2];
return 0 == (a | 0) ? -1 : (a - 1 | 0) >>> ((16 - f | 0) >>> 0)
}
function pa(a) {
return (I[a | 0] & 255) << 8 | I[a + 1 | 0] & 255
}
function pb(a) {
return (I[a + 1 | 0] & 255) << 16 | (I[a | 0] & 255) << 24 | I[a + 3 | 0] & 255 | (I[a + 2 | 0] & 255) << 8
}
function Ka(a) {
return I[a | 0] & 255
}
function Na(a) {
return I[a + 2 | 0] & 255 | (I[a | 0] & 255) << 16 | (I[a + 1 | 0] & 255) << 8
}
function Od(a) {
return 0 != (D[a + 12 | 0] & 1) << 24 >> 24
}
function Pd(a, f, n, u) {
0 == (a | 0) ? (a = db(f), 0 == (n | 0) ? n = a : (b[n >> 2] = 0 == (a | 0) ? 0 : bc(a), n = a)) : 0 == (f | 0) ? (eb(a), 0 != (n | 0) && (b[n >> 2] = 0), n = 0) : (u ? (f = Qd(a, f), 0 == (f | 0) ? f = 0 : a = f) : f = 0, 0 != (n | 0) && (b[n >> 2] = bc(a)), n = f);
return n
}
function Rd(a) {
return 0 == (a | 0) ? 0 : bc(a)
}
function mb(a) {
P(a, q.a | 0, 2602)
}
function Sd(a, b) {
0 == a && 0 == b || 9 == a && 0 == b ? a = 4 : 1 == a && 0 == b || 2 == a && 0 == b || 7 == a && 0 == b || 8 == a && 0 == b || 3 == a && 0 == b || 4 == a && 0 == b || 5 == a && 0 == b || 6 == a && 0 == b ? a = 8 : (P(q.Mb | 0, q.a | 0, 2766), a = 0);
return a
}
function Fc(a, b) {
return Sd(a, b) << 1 & 536870910
}
function Gc(a, b, n) {
if (0 == (b | 0) | 74 > n >>> 0) var f = 0;
else 18552 != (pa(b) | 0) ? f = 0 : 74 > pa(b + 2 | 0) >>> 0 ? f = 0 : pb(b + 6 | 0) >>> 0 > n >>> 0 ? f = 0 : f = b;
return f
}
function Sa(a, f, n) {
var u = n >> 2;
0 == (a | 0) | 74 > f >>> 0 | 0 == (n | 0) ? u = 0 : 40 != (b[u] | 0) ? u = 0 : (a = Gc(0, a, f), 0 == (a | 0) ? u = 0 : (b[u + 1] = pa(a + 12 | 0), b[u + 2] = pa(a + 14 | 0), b[u + 3] = Ka(a + 16 | 0), b[u + 4] = Ka(a + 17 | 0), f = a + 18 | 0, n = n + 32 | 0, b[n >> 2] = Ka(f), b[n + 4 >> 2] = 0, n = Ka(f), b[u + 5] = 0 == (n | 0) ? 8 : 9 == (n | 0) ? 8 : 16, b[u + 6] = pb(a + 25 | 0), b[u + 7] = pb(a + 29 | 0), u = 1));
return u
}
function Ha(a) {
b[a >> 2] = 0;
Hc(a + 4 | 0);
b[a + 20 >> 2] = 0
}
function Hc(a) {
Td(a)
}
function Ud(a, f) {
if ((a | 0) != (f | 0)) {
b[a >> 2] = b[f >> 2];
var n = a + 4 | 0;
Vd(n, f + 4 | 0);
if (Od(n)) Ic(a);
else {
n = b[f + 20 >> 2];
f = (a + 20 | 0) >> 2;
var u = b[f];
0 == (n | 0) ? (cc(u), b[f] = 0) : 0 == (u | 0) ? (n = Wd(n), b[f] = n) : Jc(u, n)
}
}
return a
}
function Xd(a) {
Yd(a)
}
function cc(a) {
0 != (a | 0) && (Zd(a), aa(a))
}
function Vd(a, b) {
$d(a, b);
return a
}
function Ic(a) {
b[a >> 2] = 0;
dc(a + 4 | 0);
a = a + 20 | 0;
var f = b[a >> 2];
0 != (f | 0) && (cc(f), b[a >> 2] = 0)
}
function ae(a, f) {
b[a >> 2] = 0;
Hc(a + 4 | 0);
b[a + 20 >> 2] = 0;
Ud(a, f)
}
function ya(a) {
var f = b[a + 20 >> 2];
0 != (f | 0) && cc(f);
Xd(a + 4 | 0)
}
function be(a) {
var b = 0 == (a | 0);
a: do
if (b) var n = 0;
else
for (b = 0;;)
if (a >>>= 1, b = b + 1 | 0, 0 == (a | 0)) {
n = b;
break a
}
while (0);
return n
}
function ce(a) {
return b[a + 4 >> 2]
}
function Kc(a) {
a >>= 2;
b[a] = 0;
b[a + 1] = 0;
b[a + 2] = 0;
b[a + 3] = 0;
b[a + 4] = 0;
b[a + 5] = 0
}
function de(a) {
b[a + 16 >> 2] = 0;
b[a + 20 >> 2] = 0
}
function Jc(a, f) {
if ((a | 0) != (f | 0)) {
ee(a);
fb(a, f, 180, 1);
var n = f + 168 | 0;
if (0 != (b[n >> 2] | 0)) {
var u = a + 164 | 0,
c = va(b[u >> 2]);
b[a + 168 >> 2] = c;
0 != (c | 0) && fb(c, b[n >> 2], b[u >> 2] << 2, 1)
}
f = f + 176 | 0;
0 != (b[f >> 2] | 0) && (n = a + 172 | 0, u = Ya(b[n >> 2]), b[a + 176 >> 2] = u, 0 != (u | 0) && fb(u, b[f >> 2], b[n >> 2] << 1, 1))
}
return a
}
function Wd(a) {
var b = J(180, 0);
return 0 == (b | 0) ? 0 : fe(b, a)
}
function dc(a) {
var f = a | 0,
n = b[f >> 2];
if (0 != (n | 0)) {
var u = a + 4 | 0;
aa(n);
b[f >> 2] = 0;
b[u >> 2] = 0;
b[a + 8 >> 2] = 0
}
D[a + 12 | 0] = 0
}
function ec(a, f) {
var n = (a + 4 | 0) >> 2;
var u = t[n],
c = (u | 0) == (f | 0);
do
if (c) var N = 1;
else {
if (u >>> 0 <= f >>> 0) {
if (t[a + 8 >> 2] >>> 0 < f >>> 0) {
if (!Lc(a, f, (u + 1 | 0) == (f | 0))) {
N = 0;
break
}
N = b[n]
} else N = u;
ge(b[a >> 2] + N | 0, f - N | 0)
}
b[n] = f;
N = 1
}
while (0);
return N
}
function gb(a, f) {
t[a + 4 >> 2] >>> 0 <= f >>> 0 && P(q.l | 0, q.a | 0, 968);
return b[a >> 2] + f | 0
}
function he() {
var a = J(180, 0);
return 0 == (a | 0) ? 0 : ie(a)
}
function je(a) {
a = t[a >> 2];
return 16 < a >>> 0 ? ka(ke(a) + 1 | 0, 11) & 255 : 0
}
function Mc(a) {
var f = a + 4 | 0,
n = ce(f);
0 != (n | 0) & 8193 > n >>> 0 || P(q.Pb | 0, q.a | 0, 3106);
var u = a | 0;
b[u >> 2] = n;
var c = a + 20 | 0,
N = t[c >> 2];
0 == (N | 0) ? (n = he(), c = b[c >> 2] = n, u = b[u >> 2]) : (c = N, u = n);
f = gb(f, 0);
return Ja(c, u, f, je(a))
}
function ke(a) {
var b = le(a);
return 32 == (b | 0) ? 32 : (1 << b >>> 0 < a >>> 0 & 1) + b | 0
}
function Ta(a, b) {
0 == (b | 0) ? a = 0 : 16 < b >>> 0 ? (b = yb(a, b - 16 | 0), a = yb(a, 16), a = b << 16 | a) : a = yb(a, b);
return a
}
function U(a, f) {
var n = t[f + 20 >> 2] >> 2;
var u = (a + 20 | 0) >> 2;
var c = t[u];
if (24 > (c | 0)) {
var N = (a + 4 | 0) >> 2;
var r = t[N],
d = t[a + 8 >> 2],
e = r >>> 0 < d >>> 0;
16 > (c | 0) ? (e ? (e = r + 1 | 0, r = (I[r] & 255) << 8) : (e = r, r = 0), e >>> 0 < d >>> 0 ? (d = e + 1 | 0, e = I[e] & 255) : (d = e, e = 0), b[N] = d, b[u] = c + 16 | 0, N = a + 16 | 0, c = (e | r) << 16 - c | b[N >> 2], b[N >> 2] = c) : (e ? (b[N] = r + 1 | 0, r = I[r] & 255) : r = 0, b[u] = c + 8 | 0, N = a + 16 | 0, c = r << 24 - c | b[N >> 2], b[N >> 2] = c)
} else c = b[a + 16 >> 2];
a = a + 16 | 0;
N = (c >>> 16) + 1 | 0;
if (N >>> 0 > t[n + 4] >>> 0) {
d = t[n + 5];
e = d - 1 | 0;
var l = N >>> 0 > t[((e << 2) + 28 >> 2) + n] >>> 0;
a: do
if (l)
for (;;) {
r = d + 1 | 0;
if (N >>> 0 <= t[((d << 2) + 28 >> 2) + n] >>> 0) {
var y = d;
break a
}
d = r
} else r = d, y = e;
while (0);
c = (c >>> ((32 - r | 0) >>> 0)) + b[((y << 2) + 96 >> 2) + n] | 0;
if (c >>> 0 < t[f >> 2] >>> 0) {
x = r;
h = Z[b[n + 44] + (c << 1) >> 1] & 65535;
var E = 22
} else {
P(q.L | 0, q.a | 0, 3375);
var H = 0;
E = 23
}
} else {
x = t[b[n + 42] + (c >>> ((32 - b[n + 2] | 0) >>> 0) << 2) >> 2]; - 1 == (x | 0) && P(q.Tb | 0, q.a | 0, 3353);
n = x & 65535;
x >>>= 16;
f = me(f + 4 | 0, n);
if ((I[f] & 255 | 0) == (x | 0)) var x = x,
h = n;
else P(q.Ub | 0, q.a | 0, 3357), h = n;
E = 22
}
22 == E && (b[a >> 2] <<= x, b[u] = b[u] - x | 0, H = h);
return H
}
function hb(a, f, n) {
0 == (n | 0) ? a = 0 : (b[a >> 2] = f, b[a + 4 >> 2] = f, b[a + 12 >> 2] = n, b[a + 8 >> 2] = f + n | 0, de(a), a = 1);
return a
}
function yb(a, f) {
33 <= f >>> 0 && P(q.Qb | 0, q.a | 0, 3299);
var n = (a + 20 | 0) >> 2;
var u = t[n],
c = (u | 0) < (f | 0);
a: do
if (c) {
var N = a + 4 | 0;
c = a + 8 | 0;
for (var d = a + 16 | 0, e = u;;)
if (u = b[N >> 2], (u | 0) == (b[c >> 2] | 0) ? u = 0 : (b[N >> 2] = u + 1 | 0, u = I[u] & 255), e = e + 8 | 0, b[n] = e, 33 > (e | 0) || (P(q.Rb | 0, q.a | 0, 3308), e = b[n]), u = u << 32 - e | b[d >> 2], b[d >> 2] = u, (e | 0) >= (f | 0)) {
N = e;
d = u;
break a
}
} else N = u, d = b[a + 16 >> 2];
while (0);
b[a + 16 >> 2] = d << f;
b[n] = N - f | 0;
return d >>> ((32 - f | 0) >>> 0)
}
function me(a, f) {
t[a + 4 >> 2] >>> 0 <= f >>> 0 && P(q.l | 0, q.a | 0, 967);
return b[a >> 2] + f | 0
}
function wa(a, b) {
var f = M;
M += 24;
var u = f,
c = Ta(a, be(8192));
if (0 == (c | 0)) Ic(b), a = 1;
else {
var d = b + 4 | 0;
if (ec(d, c)) {
var r = gb(d, 0);
Xa(r, 0, c, 1);
r = Ta(a, 5);
if (0 == (r | 0) | 21 < r >>> 0) a = 0;
else {
Ha(u);
var e = u + 4 | 0,
h = ec(e, 21);
a: do
if (h) {
for (var l = 0;;) {
var y = Ta(a, 3),
E = gb(e, I[q.ba + l | 0] & 255);
D[E] = y & 255;
l = l + 1 | 0;
if ((l | 0) == (r | 0)) break
}
if (Mc(u)) b: for (r = 0;;) {
l = r >>> 0 < c >>> 0;
e = c - r | 0;
y = 0 == (r | 0);
for (E = r - 1 | 0;;) {
if (!l) {
if ((r | 0) != (c | 0)) {
l = 0;
break a
}
l = Mc(b);
break a
}
h = U(a, u);
if (17 > h >>> 0) {
e = gb(d, r);
D[e] = h & 255;
r = r + 1 | 0;
continue b
}
if (17 == (h | 0)) {
h = Ta(a, 3) + 3 | 0;
if (h >>> 0 > e >>> 0) {
l = 0;
break a
}
r = h + r | 0;
continue b
} else if (18 == (h | 0)) {
h = Ta(a, 7) + 11 | 0;
if (h >>> 0 > e >>> 0) {
l = 0;
break a
}
r = h + r | 0;
continue b
} else {
if (2 <= (h - 19 | 0) >>> 0) {
P(q.L | 0, q.a | 0, 3249);
l = 0;
break a
}
var H = 19 == (h | 0) ? Ta(a, 2) + 3 | 0 : Ta(a, 6) + 7 | 0;
if (y | H >>> 0 > e >>> 0) {
l = 0;
break a
}
h = gb(d, E);
h = I[h];
if (0 == h << 24 >> 24) {
l = 0;
break a
}
H = H + r | 0;
if (r >>> 0 < H >>> 0) {
e = r;
break
}
}
}
for (;;)
if (r = gb(d, e), e = e + 1 | 0, D[r] = h, (e | 0) == (H | 0)) {
r = H;
continue b
}
} else l = 0
} else l = 0;
while (0);
ya(u);
a = l
}
} else a = 0
}
M = f;
return a
}
function Nc(a) {
return 519686845 == (b[a >> 2] | 0)
}
function ne(a, b) {
if (0 == (a | 0) | 62 > b >>> 0) a = 0;
else {
var f = oe();
0 == (f | 0) ? a = 0 : pe(f, a, b) ? a = f : (Oc(f), a = 0)
}
return a
}
function oe() {
var a = J(300, 0);
return 0 == (a | 0) ? 0 : qe(a)
}
function pe(a, f, n) {
var u = Gc(0, f, n);
b[a + 88 >> 2] = u;
if (0 == (u | 0)) var c = 0;
else b[a + 4 >> 2] = f, b[a + 8 >> 2] = n, re(a) ? c = se(a) : c = 0;
return c
}
function Oc(a) {
0 != (a | 0) && (te(a), aa(a))
}
function ue(a, b, n, u, c) {
if (0 == (a | 0) | 0 == (b | 0) | 8 > n >>> 0 | 15 < c >>> 0) var f = 0;
else Nc(a) ? f = ve(a, b, n, u, c) : f = 0;
return f
}
function ve(a, f, n, u, c) {
var d = t[a + 88 >> 2],
r = pb((c << 2) + d + 70 | 0),
e = b[a + 8 >> 2],
na = c + 1 | 0;
d = na >>> 0 < Ka(d + 16 | 0) >>> 0 ? pb((na << 2) + d + 70 | 0) : e;
d >>> 0 <= r >>> 0 && P(q.Wb | 0, q.a | 0, 3794);
return Pc(a, b[a + 4 >> 2] + r | 0, d - r | 0, f, n, u, c)
}
function Pc(a, f, n, u, c, d, r) {
var N = a + 88 | 0,
e = t[N >> 2],
na = (qa(pa(e + 12 | 0) >>> (r >>> 0), 1) + 3 | 0) >>> 2;
r = (qa(pa(e + 14 | 0) >>> (r >>> 0), 1) + 3 | 0) >>> 2;
e = Ka(e + 18 | 0);
e = (0 == (e | 0) ? 8 : 9 == (e | 0) ? 8 : 16) * na | 0;
if (0 == (d | 0)) {
var y = e;
var E = 5
} else if (e >>> 0 <= d >>> 0 & 0 == (d & 3 | 0)) y = d, E = 5;
else {
var H = 0;
E = 12
}
5 == E && ((y * r | 0) >>> 0 > c >>> 0 ? H = 0 : (c = (na + 1 | 0) >>> 1, d = (r + 1 | 0) >>> 1, hb(a + 92 | 0, f, n) ? (f = Ka(b[N >> 2] + 18 | 0), 0 == (f | 0) ? (Qc(a, u, 0, y, na, r, c, d), H = 1) : 2 == (f | 0) || 3 == (f | 0) || 5 == (f | 0) || 6 == (f | 0) || 4 == (f | 0) ? (Rc(a, u, 0, y, na, r, c, d), H = 1) : 9 == (f | 0) ? (Sc(a, u, 0, y, na, r, c, d), H = 1) : 7 == (f | 0) || 8 == (f | 0) ? (Tc(a, u, 0, y, na, r, c, d), H = 1) : H = 0) : H = 0));
return H
}
function we(a) {
0 == (a | 0) ? a = 0 : Nc(a) ? (Oc(a), a = 1) : a = 0;
return a
}
function xe(a, f) {
var n = M;
M += 40;
var c = n;
Wa(c);
Sa(a, f, c);
a = b[c + 4 >> 2];
M = n;
return a
}
function Wa(a) {
ye(a)
}
function ze(a, f) {
var n = M;
M += 40;
var c = n;
Wa(c);
Sa(a, f, c);
a = b[c + 8 >> 2];
M = n;
return a
}
function Ae(a, f) {
var n = M;
M += 40;
var c = n;
Wa(c);
Sa(a, f, c);
a = b[c + 12 >> 2];
M = n;
return a
}
function Be(a, f) {
var n = M;
M += 40;
var c = n;
Wa(c);
Sa(a, f, c);
a = b[(c + 32 | 0) >> 2];
M = n;
return a
}
function Ce(a, f) {
var n = M;
M += 40;
var c = n;
Wa(c);
Sa(a, f, c);
a = (b[c + 4 >> 2] + 3 | 0) >>> 2;
f = (b[c + 8 >> 2] + 3 | 0) >>> 2;
c = c + 32 | 0;
c = Fc(b[c >> 2], b[c + 4 >> 2]);
M = n;
return f * a * c | 0
}
function De(a, f, n, c) {
var u = M;
M += 44;
var d = u,
r = u + 40;
Wa(d);
Sa(a, f, d);
var e = (b[d + 4 >> 2] + 3 | 0) >>> 2;
d = d + 32 | 0;
d = Fc(b[d >> 2], b[d + 4 >> 2]);
e = e * d | 0;
a = ne(a, f);
r |= 0;
b[r >> 2] = n;
ue(a, r, c, e, 0);
we(a);
M = u
}
function te(a) {
Ee(a)
}
function Ee(a) {
Uc(a)
}
function Fe(a) {
b[a >> 2] = 0;
b[a + 4 >> 2] = 0;
b[a + 8 >> 2] = 0;
D[a + 12 | 0] = 0
}
function Ge(a) {
b[a >> 2] = 0;
b[a + 4 >> 2] = 0;
b[a + 8 >> 2] = 0;
D[a + 12 | 0] = 0
}
function He(a) {
b[a + 164 >> 2] = 0;
b[a + 168 >> 2] = 0;
b[a + 172 >> 2] = 0;
b[a + 176 >> 2] = 0
}
function Td(a) {
b[a >> 2] = 0;
b[a + 4 >> 2] = 0;
b[a + 8 >> 2] = 0;
D[a + 12 | 0] = 0
}
function ye(a) {
b[a >> 2] = 40
}
function Vc(a) {
Ie(a)
}
function Wc(a) {
Je(a)
}
function Je(a) {
Ke(a)
}
function Ke(a) {
var f = a | 0,
n = b[f >> 2];
if (0 != (n | 0)) {
var c = a + 4 | 0;
aa(n);
b[f >> 2] = 0;
b[c >> 2] = 0;
b[a + 8 >> 2] = 0
}
D[a + 12 | 0] = 0
}
function Ie(a) {
Le(a)
}
function Le(a) {
var f = a | 0,
n = b[f >> 2];
if (0 != (n | 0)) {
var c = a + 4 | 0;
aa(n);
b[f >> 2] = 0;
b[c >> 2] = 0;
b[a + 8 >> 2] = 0
}
D[a + 12 | 0] = 0
}
function qe(a) {
0 == (a | 0) ? a = 0 : Me(a);
return a
}
function Me(a) {
Ne(a)
}
function Ne(a) {
b[a >> 2] = 519686845;
b[a + 4 >> 2] = 0;
b[a + 8 >> 2] = 0;
b[a + 88 >> 2] = 0;
Kc(a + 92 | 0);
Ha(a + 116 | 0);
Ha(a + 140 | 0);
Ha(a + 164 | 0);
Ha(a + 188 | 0);
Ha(a + 212 | 0);
Xc(a + 236 | 0);
Xc(a + 252 | 0);
Yc(a + 268 | 0);
Yc(a + 284 | 0)
}
function Xc(a) {
Ge(a)
}
function Yc(a) {
Fe(a)
}
function ie(a) {
0 == (a | 0) ? a = 0 : Oe(a);
return a
}
function Oe(a) {
He(a)
}
function Lc(a, b, n) {
la(a, b, n, 1, 0) ? a = 1 : (D[a + 12 | 0] = 1, a = 0);
return a
}
function ge(a, b) {
Xa(a, 0, b, 1)
}
function fe(a, b) {
0 == (a | 0) ? a = 0 : Pe(a, b);
return a
}
function Pe(a, b) {
Qe(a, b)
}
function Qe(a, f) {
b[a + 164 >> 2] = 0;
b[a + 168 >> 2] = 0;
b[a + 172 >> 2] = 0;
b[a + 176 >> 2] = 0;
Jc(a, f)
}
function $d(a, f) {
var n = (a | 0) == (f | 0);
do
if (n) var c = 1;
else {
c = (f + 4 | 0) >> 2;
if ((b[a + 8 >> 2] | 0) == (b[c] | 0)) ec(a, 0);
else if (dc(a), !Lc(a, b[c], 0)) {
c = 0;
break
}
fb(b[a >> 2], b[f >> 2], b[c], 1);
b[a + 4 >> 2] = b[c];
c = 1
}
while (0);
return c
}
function Zd(a) {
Re(a)
}
function Re(a) {
Se(a)
}
function Se(a) {
var f = b[a + 168 >> 2];
0 != (f | 0) && Va(f);
a = b[a + 176 >> 2];
0 != (a | 0) && ab(a)
}
function Yd(a) {
dc(a)
}
function Qc(a, f, c, u, d, N, r, e) {
var n, na = M;
M += 24;
var y = na;
var E = y >> 2;
var H = na + 4;
var x = H >> 2;
c = na + 8 >> 2;
var h = a + 236 | 0,
l = zb(h),
g = a + 252 | 0,
Fa = zb(g);
b[E] = 0;
b[x] = 0;
var k = Ka(b[a + 88 >> 2] + 17 | 0),
p = u >>> 2,
m = 0 == (k | 0);
a: do
if (!m) {
m = 0 == (e | 0);
var v = e - 1 | 0;
N = 0 != (N & 1 | 0);
var A = u << 1,
w = a + 92 | 0,
z = a + 116 | 0,
B = a + 188 | 0,
G = p + 1 | 0,
D = p + 2 | 0,
C = p + 3 | 0,
K = r - 1 | 0;
a = a + 140 | 0;
var F = K << 4;
d = 0 != (d & 1 | 0);
for (var J = 0, L = 1;;) {
b: do
if (m) var O = L;
else {
O = b[f + (J << 2) >> 2];
for (var P = 0, W = L;;) {
if (0 == (P & 1 | 0)) {
var Q = O;
L = 16;
var Z = 1,
fa = r,
ha = 0
} else Q = O + F | 0, L = -16, fa = Z = -1, ha = K;
var ba = (P | 0) == (v | 0),
ia = ba & N,
ca = (ha | 0) == (fa | 0);
c: do
if (ca) var ja = W;
else
for (ja = ba & N ^ 1, ba = W, W = Q, Q = W >> 2;;) {
ca = 1 == (ba | 0) ? U(w, z) | 512 : ba;
ba = ca & 7;
ca >>>= 3;
var V = I[q.h + ba | 0] & 255;
var S = 0;
for (n = b[E];;) {
var X = U(w, a);
b[E] = n + X | 0;
ma(y, l);
n = t[E];
X = za(h, n);
b[(S << 2 >> 2) + c] = b[X >> 2];
S = S + 1 | 0;
if (S >>> 0 >= V >>> 0) break
}
V = (ha | 0) == (K | 0) & d;
S = W >> 2;
n = ia | V;
d: do
if (n)
for (S = 0;;) {
var ea = S * u | 0;
n = ea >> 2;
var da = W + ea | 0,
R = 0 == (S | 0) | ja;
X = S << 1;
var oa = U(w, B);
b[x] = b[x] + oa | 0;
ma(H, Fa);
V ? (R ? (b[da >> 2] = b[((I[(ba << 2) + ta + X | 0] & 255) << 2 >> 2) + c], X = za(g, b[x]), b[n + (Q + 1)] = b[X >> 2], n = U(w, B), b[x] = b[x] + n | 0) : (n = U(w, B), b[x] = b[x] + n | 0), ma(H, Fa)) : R ? (b[da >> 2] = b[((I[(ba << 2) + ta + X | 0] & 255) << 2 >> 2) + c], da = za(g, b[x]), b[n + (Q + 1)] = b[da >> 2], ea = ea + (W + 8) | 0, da = U(w, B), b[x] = b[x] + da | 0, ma(H, Fa), b[ea >> 2] = b[((I[(ba << 2) + ta + (X | 1) | 0] & 255) << 2 >> 2) + c], X = za(g, b[x]), b[n + (Q + 3)] = b[X >> 2]) : (n = U(w, B), b[x] = b[x] + n | 0, ma(H, Fa));
S = S + 1 | 0;
if (2 == (S | 0)) break d
} else b[S] = b[((I[(ba << 2) + ta | 0] & 255) << 2 >> 2) + c], X = U(w, B), b[x] = b[x] + X | 0, ma(H, Fa), X = za(g, b[x]), b[Q + 1] = b[X >> 2], b[Q + 2] = b[((I[(ba << 2) + ta + 1 | 0] & 255) << 2 >> 2) + c], X = U(w, B), b[x] = b[x] + X | 0, ma(H, Fa), X = za(g, b[x]), b[Q + 3] = b[X >> 2], b[(p << 2 >> 2) + S] = b[((I[(ba << 2) + ta + 2 | 0] & 255) << 2 >> 2) + c], X = U(w, B), b[x] = b[x] + X | 0, ma(H, Fa), X = za(g, b[x]), b[(G << 2 >> 2) + S] = b[X >> 2], b[(D << 2 >> 2) + S] = b[((I[(ba << 2) + ta + 3 | 0] & 255) << 2 >> 2) + c], X = U(w, B), b[x] = b[x] + X | 0, ma(H, Fa), X = za(g, b[x]), b[(C << 2 >> 2) + S] = b[X >> 2];
while (0);
ha = ha + Z | 0;
if ((ha | 0) == (fa | 0)) {
ja = ca;
break c
}
ba = ca;
W = W + L | 0;
Q = W >> 2
}
while (0);
P = P + 1 | 0;
if ((P | 0) == (e | 0)) {
O = ja;
break b
}
O = O + A | 0;
W = ja
}
}while (0);J = J + 1 | 0;
if ((J | 0) == (k | 0)) break a;L = O
}
}
while (0);
M = na;
return 1
}
function Uc(a) {
b[a >> 2] = 0;
Vc(a + 284 | 0);
Vc(a + 268 | 0);
Wc(a + 252 | 0);
Wc(a + 236 | 0);
var f = a + 188 | 0;
ya(a + 212 | 0);
ya(f);
f = a + 140 | 0;
ya(a + 164 | 0);
ya(f);
ya(a + 116 | 0)
}
function ma(a, f) {
var c = b[a >> 2];
f = c - f | 0;
var u = f >> 31;
b[a >> 2] = u & c | f & (u ^ -1)
}
function fc(a) {
return b[a + 4 >> 2]
}
function zb(a) {
return b[a + 4 >> 2]
}
function Rc(a, f, c, u, d, N, r, e) {
var n = M;
M += 48;
var na = n;
var y = na >> 2;
var E = n + 4;
var H = E >> 2;
var x = n + 8;
var h = x >> 2;
var l = n + 12;
var g = l >> 2;
var Fa = n + 16 >> 2;
c = n + 32 >> 2;
var k = a + 236 | 0,
p = zb(k),
m = a + 252 | 0,
v = zb(m),
w = a + 268 | 0,
A = fc(w),
z = b[a + 88 >> 2],
B = pa(z + 63 | 0);
b[y] = 0;
b[H] = 0;
b[h] = 0;
b[g] = 0;
z = Ka(z + 17 | 0);
var G = 0 == (z | 0);
a: do
if (!G) {
G = 0 == (e | 0);
var D = e - 1 | 0;
N = 0 == (N & 1 | 0);
var K = u << 1,
C = a + 92 | 0,
F = a + 116 | 0,
J = a + 212 | 0,
L = a + 188 | 0,
O = a + 284 | 0,
P = a + 140 | 0;
a = a + 164 | 0;
var W = r - 1 | 0,
Q = W << 5;
d = 0 != (d & 1 | 0);
for (var R = 0, fa = 1;;) {
b: do
if (G) var ha = fa;
else {
ha = b[f + (R << 2) >> 2];
for (var ba = 0, ia = fa;;) {
if (0 == (ba & 1 | 0)) {
var ca = ha;
fa = 32;
var ja = 1,
V = r,
S = 0
} else ca = ha + Q | 0, fa = -32, V = ja = -1, S = W;
var X = N | (ba | 0) != (D | 0);
var ea = (S | 0) == (V | 0);
c: do
if (ea) var da = ia;
else
for (da = ia;;) {
ia = 1 == (da | 0) ? U(C, F) | 512 : da;
da = ia & 7;
ia >>>= 3;
ea = I[q.h + da | 0] & 255;
for (var Y = 0, oa = b[h];;) {
var ua = U(C, a);
b[h] = oa + ua | 0;
ma(x, A);
oa = t[h];
ua = Aa(w, oa);
b[(Y << 2 >> 2) + c] = Z[ua >> 1] & 65535;
Y = Y + 1 | 0;
if (Y >>> 0 >= ea >>> 0) break
}
Y = 0;
for (oa = b[y]; !(ua = U(C, P), b[y] = oa + ua | 0, ma(na, p), oa = t[y], ua = za(k, oa), b[(Y << 2 >> 2) + Fa] = b[ua >> 2], Y = Y + 1 | 0, Y >>> 0 >= ea >>> 0););
Y = (S | 0) == (W | 0) & d;
oa = ca;
ea = oa >> 2;
for (ua = 0;;) {
var ka = 0 == (ua | 0) | X;
var aa = ua << 1;
var Ca = U(C, J);
b[g] = b[g] + Ca | 0;
ma(l, B);
Ca = U(C, L);
b[H] = b[H] + Ca | 0;
ma(E, v);
if (ka) {
var ra = oa,
la = I[(da << 2) + ta + aa | 0] & 255;
Ca = Aa(O, 3 * b[g] | 0) >> 1;
b[ra >> 2] = (Z[Ca] & 65535) << 16 | b[(la << 2 >> 2) + c];
b[ea + 1] = (Z[Ca + 2] & 65535) << 16 | Z[Ca + 1] & 65535;
b[ea + 2] = b[(la << 2 >> 2) + Fa];
Ca = za(m, b[H]);
b[ea + 3] = b[Ca >> 2]
}
Ca = U(C, J);
b[g] = b[g] + Ca | 0;
ma(l, B);
Ca = U(C, L);
b[H] = b[H] + Ca | 0;
ma(E, v);
Y | ka ^ 1 || (ka = oa + 16 | 0, Ca = I[(da << 2) + ta + (aa | 1) | 0] & 255, aa = Aa(O, 3 * b[g] | 0) >> 1, b[ka >> 2] = (Z[aa] & 65535) << 16 | b[(Ca << 2 >> 2) + c], b[ea + 5] = (Z[aa + 2] & 65535) << 16 | Z[aa + 1] & 65535, b[ea + 6] = b[(Ca << 2 >> 2) + Fa], aa = za(m, b[H]), b[ea + 7] = b[aa >> 2]);
ua = ua + 1 | 0;
if (2 == (ua | 0)) break;
oa = oa + u | 0;
ea = oa >> 2
}
S = S + ja | 0;
if ((S | 0) == (V | 0)) {
da = ia;
break c
}
da = ia;
ca = ca + fa | 0
}
while (0);
ba = ba + 1 | 0;
if ((ba | 0) == (e | 0)) {
ha = da;
break b
}
ha = ha + K | 0;
ia = da
}
}while (0);R = R + 1 | 0;
if ((R | 0) == (z | 0)) break a;fa = ha
}
}
while (0);
M = n;
return 1
}
function Sc(a, f, c, u, d, N, r, e) {
var n, na = M;
M += 24;
var y = na;
var E = y >> 2;
var H = na + 4;
var x = H >> 2;
c = na + 8 >> 2;
var h = a + 268 | 0,
l = fc(h),
g = b[a + 88 >> 2],
k = pa(g + 63 | 0);
b[E] = 0;
b[x] = 0;
g = Ka(g + 17 | 0);
var Fa = 0 == (g | 0);
a: do
if (!Fa) {
Fa = 0 == (e | 0);
var p = e - 1 | 0;
N = 0 == (N & 1 | 0);
var m = u << 1,
v = a + 92 | 0,
w = a + 116 | 0;
d = 0 == (d & 1 | 0);
var z = a + 164 | 0,
A = a + 212 | 0;
a = a + 284 | 0;
for (var B = r - 1 | 0, C = B << 4, G = 0, D = 1;;) {
b: do
if (Fa) var K = D;
else {
K = b[f + (G << 2) >> 2];
for (var F = 0, J = D;;) {
if (0 == (F & 1 | 0)) {
var L = K;
D = 16;
var O = 1,
P = r,
W = 0
} else L = K + C | 0, D = -16, P = O = -1, W = B;
var Q = N | (F | 0) != (p | 0),
R = (W | 0) == (P | 0);
c: do
if (R) var fa = J;
else
for (fa = J;;) {
J = 1 == (fa | 0) ? U(v, w) | 512 : fa;
fa = J & 7;
J >>>= 3;
var ha = I[q.h + fa | 0] & 255;
R = d | (W | 0) != (B | 0);
var ba = 0;
for (n = b[E];;) {
var ia = U(v, z);
b[E] = n + ia | 0;
ma(y, l);
n = t[E];
ia = Aa(h, n);
b[(ba << 2 >> 2) + c] = Z[ia >> 1] & 65535;
ba = ba + 1 | 0;
if (ba >>> 0 >= ha >>> 0) {
ha = L;
n = ha >> 2;
ba = 0;
break
}
}
for (;;) {
ia = ha;
var ca = 0 == (ba | 0) | Q;
var ja = ba << 1;
var V = U(v, A);
b[x] = b[x] + V | 0;
ma(H, k);
R ? ca ? (V = I[(fa << 2) + ta + ja | 0] & 255, ca = Aa(a, 3 * b[x] | 0) >> 1, b[ia >> 2] = (Z[ca] & 65535) << 16 | b[(V << 2 >> 2) + c], b[n + 1] = (Z[ca + 2] & 65535) << 16 | Z[ca + 1] & 65535, ia = ha + 8 | 0, ca = U(v, A), b[x] = b[x] + ca | 0, ma(H, k), ca = I[(fa << 2) + ta + (ja | 1) | 0] & 255, ja = Aa(a, 3 * b[x] | 0) >> 1, b[ia >> 2] = (Z[ja] & 65535) << 16 | b[(ca << 2 >> 2) + c], b[n + 3] = (Z[ja + 2] & 65535) << 16 | Z[ja + 1] & 65535) : (n = U(v, A), b[x] = b[x] + n | 0, ma(H, k)) : (ca ? (ca = I[(fa << 2) + ta + ja | 0] & 255, ja = Aa(a, 3 * b[x] | 0) >> 1, b[ia >> 2] = (Z[ja] & 65535) << 16 | b[(ca << 2 >> 2) + c], b[n + 1] = (Z[ja + 2] & 65535) << 16 | Z[ja + 1] & 65535, n = U(v, A), b[x] = b[x] + n | 0) : (n = U(v, A), b[x] = b[x] + n | 0), ma(H, k));
ba = ba + 1 | 0;
if (2 == (ba | 0)) break;
ha = ha + u | 0;
n = ha >> 2
}
W = W + O | 0;
if ((W | 0) == (P | 0)) {
fa = J;
break c
}
fa = J;
L = L + D | 0
}
while (0);
F = F + 1 | 0;
if ((F | 0) == (e | 0)) {
K = fa;
break b
}
K = K + m | 0;
J = fa
}
}while (0);G = G + 1 | 0;
if ((G | 0) == (g | 0)) break a;D = K
}
}
while (0);
M = na;
return 1
}
function Tc(a, f, c, u, d, e, r, h) {
var n = M;
M += 48;
var N = n;
var y = N >> 2;
var E = n + 4;
var na = E >> 2;
var x = n + 8;
var l = x >> 2;
var g = n + 12;
var k = g >> 2;
var Fa = n + 16 >> 2;
c = n + 32 >> 2;
var p = a + 268 | 0,
m = fc(p),
v = b[a + 88 >> 2],
w = pa(v + 63 | 0);
b[y] = 0;
b[na] = 0;
b[l] = 0;
b[k] = 0;
v = Ka(v + 17 | 0);
var A = 0 == (v | 0);
a: do
if (!A) {
A = 0 == (h | 0);
var z = h - 1 | 0;
e = 0 == (e & 1 | 0);
var B = u << 1,
K = a + 92 | 0,
G = a + 116 | 0,
D = a + 212 | 0,
C = a + 284 | 0;
a = a + 164 | 0;
var F = r - 1 | 0,
J = F << 5;
d = 0 != (d & 1 | 0);
for (var L = 0, O = 1;;) {
b: do
if (A) var P = O;
else {
P = b[f + (L << 2) >> 2];
for (var Q = 0, W = O;;) {
if (0 == (Q & 1 | 0)) {
var R = P;
O = 32;
var Y = 1,
fa = r,
ha = 0
} else R = P + J | 0, O = -32, fa = Y = -1, ha = F;
var ba = e | (Q | 0) != (z | 0);
var ia = (ha | 0) == (fa | 0);
c: do
if (ia) var ca = W;
else
for (ca = W;;) {
W = 1 == (ca | 0) ? U(K, G) | 512 : ca;
ca = W & 7;
W >>>= 3;
ia = I[q.h + ca | 0] & 255;
for (var ja = 0, V = b[y];;) {
var S = U(K, a);
b[y] = V + S | 0;
ma(N, m);
V = t[y];
S = Aa(p, V);
b[(ja << 2 >> 2) + Fa] = Z[S >> 1] & 65535;
ja = ja + 1 | 0;
if (ja >>> 0 >= ia >>> 0) break
}
ja = 0;
for (V = b[l]; !(S = U(K, a), b[l] = V + S | 0, ma(x, m), V = t[l], S = Aa(p, V), b[(ja << 2 >> 2) + c] = Z[S >> 1] & 65535, ja = ja + 1 | 0, ja >>> 0 >= ia >>> 0););
ja = (ha | 0) == (F | 0) & d;
V = R;
ia = V >> 2;
for (S = 0;;) {
var X = 0 == (S | 0) | ba;
var ea = S << 1;
var da = U(K, D);
b[na] = b[na] + da | 0;
ma(E, w);
da = U(K, D);
b[k] = b[k] + da | 0;
ma(g, w);
if (X) {
var aa = V,
oa = I[(ca << 2) + ta + ea | 0] & 255;
var ua = Aa(C, 3 * b[na] | 0) >> 1;
da = Aa(C, 3 * b[k] | 0) >> 1;
b[aa >> 2] = (Z[ua] & 65535) << 16 | b[(oa << 2 >> 2) + Fa];
b[ia + 1] = (Z[ua + 2] & 65535) << 16 | Z[ua + 1] & 65535;
b[ia + 2] = (Z[da] & 65535) << 16 | b[(oa << 2 >> 2) + c];
b[ia + 3] = (Z[da + 2] & 65535) << 16 | Z[da + 1] & 65535
}
da = U(K, D);
b[na] = b[na] + da | 0;
ma(E, w);
da = U(K, D);
b[k] = b[k] + da | 0;
ma(g, w);
ja | X ^ 1 || (X = V + 16 | 0, ua = I[(ca << 2) + ta + (ea | 1) | 0] & 255, da = Aa(C, 3 * b[na] | 0) >> 1, ea = Aa(C, 3 * b[k] | 0) >> 1, b[X >> 2] = (Z[da] & 65535) << 16 | b[(ua << 2 >> 2) + Fa], b[ia + 5] = (Z[da + 2] & 65535) << 16 | Z[da + 1] & 65535, b[ia + 6] = (Z[ea] & 65535) << 16 | b[(ua << 2 >> 2) + c], b[ia + 7] = (Z[ea + 2] & 65535) << 16 | Z[ea + 1] & 65535);
S = S + 1 | 0;
if (2 == (S | 0)) break;
V = V + u | 0;
ia = V >> 2
}
ha = ha + Y | 0;
if ((ha | 0) == (fa | 0)) {
ca = W;
break c
}
ca = W;
R = R + O | 0
}
while (0);
Q = Q + 1 | 0;
if ((Q | 0) == (h | 0)) {
P = ca;
break b
}
P = P + B | 0;
W = ca
}
}while (0);L = L + 1 | 0;
if ((L | 0) == (v | 0)) break a;O = P
}
}
while (0);
M = n;
return 1
}
function Aa(a, f) {
t[a + 4 >> 2] >>> 0 <= f >>> 0 && P(q.l | 0, q.a | 0, 968);
return (f << 1) + b[a >> 2] | 0
}
function za(a, f) {
t[a + 4 >> 2] >>> 0 <= f >>> 0 && P(q.l | 0, q.a | 0, 968);
return (f << 2) + b[a >> 2] | 0
}
function re(a) {
var f = a + 92 | 0,
c = b[a + 4 >> 2];
var u = (a + 88 | 0) >> 2;
var d = b[u];
c = hb(f, c + Na(d + 67 | 0) | 0, pa(d + 65 | 0));
do
if (c)
if (wa(f, a + 116 | 0)) {
d = b[u];
if (0 == (pa(d + 39 | 0) | 0)) {
if (0 == (pa(d + 55 | 0) | 0)) {
d = 0;
break
}
} else {
if (!wa(f, a + 140 | 0)) {
d = 0;
break
}
if (!wa(f, a + 188 | 0)) {
d = 0;
break
}
d = b[u]
}
if (0 != (pa(d + 55 | 0) | 0)) {
if (!wa(f, a + 164 | 0)) {
d = 0;
break
}
if (!wa(f, a + 212 | 0)) {
d = 0;
break
}
}
d = 1
} else d = 0;
else d = 0; while (0);
return d
}
function le(a) {
var b = 1 < a >>> 0;
a: do
if (b)
for (b = 0;;) {
b = b + 1 | 0;
if (3 >= a >>> 0) {
var c = b;
break a
}
a >>>= 1
} else c = 0;
while (0);
return c
}
function se(a) {
var f = a + 88 | 0,
c = b[f >> 2];
if (0 == (pa(c + 39 | 0) | 0)) {
d = c;
var u = 5
} else if (Zc(a))
if ($c(a)) {
var d = b[f >> 2];
u = 5
} else e = 0, u = 9;
else {
var e = 0;
u = 9
}
do
if (5 == u) {
if (0 != (pa(d + 55 | 0) | 0)) {
if (!ad(a)) {
e = 0;
break
}
if (!bd(a)) {
e = 0;
break
}
}
e = 1
}
while (0);
return e
}
function cd(a) {
Xa(a, 0, 64, 1)
}
function dd(a, f) {
var c = (a + 4 | 0) >> 2;
var u = t[c],
d = (u | 0) == (f | 0);
do
if (d) var e = 1;
else {
if (u >>> 0 <= f >>> 0) {
if (t[a + 8 >> 2] >>> 0 < f >>> 0) {
if (!Te(a, f, (u + 1 | 0) == (f | 0))) {
e = 0;
break
}
e = b[c]
} else e = u;
Ue((e << 1) + b[a >> 2] | 0, f - e | 0)
}
b[c] = f;
e = 1
}
while (0);
return e
}
function Te(a, b, c) {
la(a, b, c, 2, 0) ? a = 1 : (D[a + 12 | 0] = 1, a = 0);
return a
}
function Ue(a, b) {
Xa(a, 0, b << 1, 1)
}
function ed(a, f) {
var c = (a + 4 | 0) >> 2;
var u = t[c],
d = (u | 0) == (f | 0);
do
if (d) var e = 1;
else {
if (u >>> 0 <= f >>> 0) {
if (t[a + 8 >> 2] >>> 0 < f >>> 0) {
if (!Ve(a, f, (u + 1 | 0) == (f | 0))) {
e = 0;
break
}
e = b[c]
} else e = u;
We((e << 2) + b[a >> 2] | 0, f - e | 0)
}
b[c] = f;
e = 1
}
while (0);
return e
}
function Ve(a, b, c) {
la(a, b, c, 4, 0) ? a = 1 : (D[a + 12 | 0] = 1, a = 0);
return a
}
function We(a, b) {
Xa(a, 0, b << 2, 1)
}
function ee(a) {
var f = a + 168 | 0,
c = b[f >> 2];
0 != (c | 0) && (Va(c), b[f >> 2] = 0, b[a + 164 >> 2] = 0);
f = a + 176 | 0;
c = b[f >> 2];
0 != (c | 0) && (ab(c), b[f >> 2] = 0, b[a + 172 >> 2] = 0)
}
function Zc(a) {
var f = M;
M += 48;
var c = f,
u = a + 88 | 0,
d = pa(b[u >> 2] + 39 | 0),
e = a + 236 | 0;
if (ed(e, d)) {
var r = a + 92 | 0;
u = b[u >> 2];
if (hb(r, b[a + 4 >> 2] + Na(u + 33 | 0) | 0, Na(u + 36 | 0))) {
a = c | 0;
Ha(a);
u = c + 24 | 0;
Ha(u);
for (var h = 0;;) {
if (2 <= h >>> 0) {
var l = 9;
break
}
if (!wa(r, c + 24 * h | 0)) {
var g = 0;
l = 11;
break
}
h = h + 1 | 0
}
a: do
if (9 == l)
if (c = za(e, 0), 0 == (d | 0)) g = 1;
else {
var y = g = e = 0,
E = 0,
H = 0,
x = 0;
for (h = 0;;) {
x = U(r, a) + x & 31;
H = U(r, u) + H & 63;
E = U(r, a) + E & 31;
var k = U(r, a) + y | 0;
y = k & 31;
g = U(r, u) + g & 63;
e = U(r, a) + e & 31;
b[c >> 2] = H << 5 | x << 11 | E | k << 27 | g << 21 | e << 16;
h = h + 1 | 0;
if ((h | 0) == (d | 0)) {
g = 1;
break a
}
c = c + 4 | 0
}
}
while (0);
ya(u);
ya(a);
d = g
} else d = 0
} else d = 0;
M = f;
return d
}
function $c(a) {
var f = M;
M += 480;
var c = f,
u = f + 24,
d = f + 220,
e = f + 416,
r = b[a + 88 >> 2],
h = pa(r + 47 | 0),
l = a + 92 | 0;
if (hb(l, b[a + 4 >> 2] + Na(r + 41 | 0) | 0, Na(r + 44 | 0))) {
Ha(c);
r = wa(l, c);
a: do
if (r) {
for (var g = -3, y = -3, E = 0;;) {
b[u + (E << 2) >> 2] = g;
b[d + (E << 2) >> 2] = y;
g = g + 1 | 0;
var H = 3 < (g | 0);
y = (H & 1) + y | 0;
E = E + 1 | 0;
if (49 == (E | 0)) break;
g = H ? -3 : g
}
cd(e);
y = a + 252 | 0;
if (ed(y, h)) {
var x = za(y, 0);
if (0 == (h | 0)) y = 1;
else {
a = e | 0;
r = e + 4 | 0;
y = e + 8 | 0;
E = e + 12 | 0;
g = e + 16 | 0;
H = e + 20 | 0;
for (var k = e + 24 | 0, t = e + 28 | 0, p = e + 32 | 0, m = e + 36 | 0, v = e + 40 | 0, w = e + 44 | 0, A = e + 48 | 0, z = e + 52 | 0, B = e + 56 | 0, K = e + 60 | 0, D = 0;;) {
for (var C = 0;;) {
var G = U(l, c),
F = C << 1,
J = (F << 2) + e | 0;
b[J >> 2] = b[J >> 2] + b[u + (G << 2) >> 2] & 3;
F = ((F | 1) << 2) + e | 0;
b[F >> 2] = b[F >> 2] + b[d + (G << 2) >> 2] & 3;
C = C + 1 | 0;
if (8 == (C | 0)) break
}
b[x >> 2] = (I[q.c + b[r >> 2] | 0] & 255) << 2 | I[q.c + b[a >> 2] | 0] & 255 | (I[q.c + b[y >> 2] | 0] & 255) << 4 | (I[q.c + b[E >> 2] | 0] & 255) << 6 | (I[q.c + b[g >> 2] | 0] & 255) << 8 | (I[q.c + b[H >> 2] | 0] & 255) << 10 | (I[q.c + b[k >> 2] | 0] & 255) << 12 | (I[q.c + b[t >> 2] | 0] & 255) << 14 | (I[q.c + b[p >> 2] | 0] & 255) << 16 | (I[q.c + b[m >> 2] | 0] & 255) << 18 | (I[q.c + b[v >> 2] | 0] & 255) << 20 | (I[q.c + b[w >> 2] | 0] & 255) << 22 | (I[q.c + b[A >> 2] | 0] & 255) << 24 | (I[q.c + b[z >> 2] | 0] & 255) << 26 | (I[q.c + b[B >> 2] | 0] & 255) << 28 | (I[q.c + b[K >> 2] | 0] & 255) << 30;
D = D + 1 | 0;
if ((D | 0) == (h | 0)) {
y = 1;
break a
}
x = x + 4 | 0
}
}
} else y = 0
} else y = 0;
while (0);
ya(c);
c = y
} else c = 0;
M = f;
return c
}
function ad(a) {
var f = M;
M += 24;
var c = f,
u = b[a + 88 >> 2],
d = pa(u + 55 | 0),
e = a + 92 | 0;
if (hb(e, b[a + 4 >> 2] + Na(u + 49 | 0) | 0, Na(u + 52 | 0))) {
Ha(c);
u = wa(e, c);
a: do
if (u) {
var r = a + 268 | 0;
if (dd(r, d))
if (r = Aa(r, 0), 0 == (d | 0)) r = 1;
else {
a = r;
for (var h = r = u = 0;;) {
var l = U(e, c),
g = U(e, c);
u = l + u & 255;
r = g + r & 255;
Da[a >> 1] = (r << 8 | u) & 65535;
h = h + 1 | 0;
if ((h | 0) == (d | 0)) {
r = 1;
break a
}
a = a + 2 | 0
}
} else r = 0
} else r = 0;
while (0);
ya(c);
c = r
} else c = 0;
M = f;
return c
}
function bd(a) {
var f = M;
M += 1888;
var c = f,
u = f + 24,
d = f + 924,
e = f + 1824,
r = b[a + 88 >> 2],
h = pa(r + 63 | 0),
l = a + 92 | 0;
if (hb(l, b[a + 4 >> 2] + Na(r + 57 | 0) | 0, Na(r + 60 | 0))) {
Ha(c);
r = wa(l, c);
a: do
if (r) {
for (var g = -7, y = -7, E = 0;;) {
b[u + (E << 2) >> 2] = g;
b[d + (E << 2) >> 2] = y;
g = g + 1 | 0;
var H = 7 < (g | 0);
y = (H & 1) + y | 0;
E = E + 1 | 0;
if (225 == (E | 0)) break;
g = H ? -7 : g
}
cd(e);
y = a + 284 | 0;
if (dd(y, 3 * h | 0)) {
var x = Aa(y, 0);
if (0 == (h | 0)) y = 1;
else {
a = e | 0;
r = e + 4 | 0;
y = e + 8 | 0;
E = e + 12 | 0;
g = e + 16 | 0;
H = e + 20 | 0;
var k = e + 24 | 0,
t = e + 28 | 0,
p = e + 32 | 0,
m = e + 36 | 0,
v = e + 40 | 0,
w = e + 44 | 0,
A = e + 48 | 0,
z = e + 52 | 0,
B = e + 56 | 0,
K = e + 60 | 0,
C = x;
x = C >> 1;
for (var D = 0;;) {
for (var F = 0;;) {
var G = U(l, c),
J = F << 1,
L = (J << 2) + e | 0;
b[L >> 2] = b[L >> 2] + b[u + (G << 2) >> 2] & 7;
J = ((J | 1) << 2) + e | 0;
b[J >> 2] = b[J >> 2] + b[d + (G << 2) >> 2] & 7;
F = F + 1 | 0;
if (8 == (F | 0)) break
}
Da[x] = (I[q.b + b[r >> 2] | 0] & 255) << 3 | I[q.b + b[a >> 2] | 0] & 255 | (I[q.b + b[y >> 2] | 0] & 255) << 6 | (I[q.b + b[E >> 2] | 0] & 255) << 9 | (I[q.b + b[g >> 2] | 0] & 255) << 12 | (I[q.b + b[H >> 2] | 0] & 255) << 15;
Da[x + 1] = (I[q.b + b[k >> 2] | 0] & 255) << 2 | (I[q.b + b[H >> 2] | 0] & 255) >>> 1 | (I[q.b + b[t >> 2] | 0] & 255) << 5 | (I[q.b + b[p >> 2] | 0] & 255) << 8 | (I[q.b + b[m >> 2] | 0] & 255) << 11 | (I[q.b + b[v >> 2] | 0] & 255) << 14;
Da[x + 2] = (I[q.b + b[w >> 2] | 0] & 255) << 1 | (I[q.b + b[v >> 2] | 0] & 255) >>> 2 | (I[q.b + b[A >> 2] | 0] & 255) << 4 | (I[q.b + b[z >> 2] | 0] & 255) << 7 | (I[q.b + b[B >> 2] | 0] & 255) << 10 | (I[q.b + b[K >> 2] | 0] & 255) << 13;
D = D + 1 | 0;
if ((D | 0) == (h | 0)) {
y = 1;
break a
}
C = C + 6 | 0;
x = C >> 1
}
}
} else y = 0
} else y = 0;
while (0);
ya(c);
c = y
} else c = 0;
M = f;
return c
}
function db(a) {
var f = 245 > a >>> 0;
do {
if (f) {
var c = 11 > a >>> 0 ? 16 : a + 11 & -8,
u = c >>> 3,
d = t[l >> 2],
e = d >>> (u >>> 0);
if (0 != (e & 3 | 0)) {
a = (e & 1 ^ 1) + u | 0;
c = a << 1;
f = (c << 2) + l + 40 | 0;
u = (c + 2 << 2) + l + 40 | 0;
var r = t[u >> 2];
c = r + 8 | 0;
e = t[c >> 2];
if ((f | 0) == (e | 0)) b[l >> 2] = d & (1 << a ^ -1);
else {
if (e >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[u >> 2] = e;
b[e + 12 >> 2] = f
}
d = a << 3;
b[r + 4 >> 2] = d | 3;
d = r + (d | 4) | 0;
b[d >> 2] |= 1;
r = c;
var h = 38;
break
}
if (c >>> 0 <= t[l + 8 >> 2] >>> 0) {
var g = c;
h = 30;
break
}
if (0 != (e | 0)) {
a = 2 << u;
a = e << u & (a | -a);
f = (a & -a) - 1 | 0;
a = f >>> 12 & 16;
r = f >>> (a >>> 0);
f = r >>> 5 & 8;
u = r >>> (f >>> 0);
r = u >>> 2 & 4;
e = u >>> (r >>> 0);
u = e >>> 1 & 2;
e >>>= u >>> 0;
var k = e >>> 1 & 1;
r = (f | a | r | u | k) + (e >>> (k >>> 0)) | 0;
a = r << 1;
u = (a << 2) + l + 40 | 0;
e = (a + 2 << 2) + l + 40 | 0;
f = t[e >> 2];
a = f + 8 | 0;
k = t[a >> 2];
if ((u | 0) == (k | 0)) b[l >> 2] = d & (1 << r ^ -1);
else {
if (k >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[e >> 2] = k;
b[k + 12 >> 2] = u
}
r <<= 3;
d = r - c | 0;
b[f + 4 >> 2] = c | 3;
u = f;
f = u + c | 0;
b[u + (c | 4) >> 2] = d | 1;
b[u + r >> 2] = d;
k = t[l + 8 >> 2];
if (0 != (k | 0)) {
c = b[l + 20 >> 2];
u = k >>> 2 & 1073741822;
r = (u << 2) + l + 40 | 0;
e = t[l >> 2];
k = 1 << (k >>> 3);
if (0 == (e & k | 0)) b[l >> 2] = e | k, e = r, u = (u + 2 << 2) + l + 40 | 0;
else if (u = (u + 2 << 2) + l + 40 | 0, e = t[u >> 2], !(e >>> 0 >= t[l + 16 >> 2] >>> 0)) throw K(), "Reached an unreachable!";
b[u >> 2] = c;
b[e + 12 >> 2] = c;
b[(c + 8 | 0) >> 2] = e;
b[(c + 12 | 0) >> 2] = r
}
b[l + 8 >> 2] = d;
b[l + 20 >> 2] = f;
r = a;
h = 38;
break
}
if (0 == (b[l + 4 >> 2] | 0)) {
g = c;
h = 30;
break
}
d = fd(c);
if (0 == (d | 0)) {
g = c;
h = 30;
break
}
r = d
} else {
if (4294967231 < a >>> 0) {
g = -1;
h = 30;
break
}
d = a + 11 & -8;
if (0 == (b[l + 4 >> 2] | 0)) {
g = d;
h = 30;
break
}
c = gd(d);
if (0 == (c | 0)) {
g = d;
h = 30;
break
}
r = c
}
h = 38
} while (0);
30 == h && (c = t[l + 8 >> 2], g >>> 0 > c >>> 0 ? (d = t[l + 12 >> 2], g >>> 0 < d >>> 0 ? (d = d - g | 0, b[l + 12 >> 2] = d, c = t[l + 24 >> 2], b[l + 24 >> 2] = c + g | 0, b[g + (c + 4) >> 2] = d | 1, b[c + 4 >> 2] = g | 3, r = c + 8 | 0) : r = hd(g)) : (a = c - g | 0, d = t[l + 20 >> 2], 15 < a >>> 0 ? (b[l + 20 >> 2] = d + g | 0, b[l + 8 >> 2] = a, b[g + (d + 4) >> 2] = a | 1, b[d + c >> 2] = a, b[d + 4 >> 2] = g | 3) : (b[l + 8 >> 2] = 0, b[l + 20 >> 2] = 0, b[d + 4 >> 2] = c | 3, g = c + (d + 4) | 0, b[g >> 2] |= 1), r = d + 8 | 0));
return r
}
function fd(a) {
var f = b[l + 4 >> 2],
c = (f & -f) - 1 | 0;
f = c >>> 12 & 16;
var d = c >>> (f >>> 0);
c = d >>> 5 & 8;
var e = d >>> (c >>> 0);
d = e >>> 2 & 4;
var h = e >>> (d >>> 0);
e = h >>> 1 & 2;
h >>>= e >>> 0;
var r = h >>> 1 & 1;
f = c = t[l + ((c | f | d | e | r) + (h >>> (r >>> 0)) << 2) + 304 >> 2];
e = f >> 2;
c = (b[c + 4 >> 2] & -8) - a | 0;
a: for (;;)
for (d = f;;) {
h = b[d + 16 >> 2];
if (0 == (h | 0)) {
if (d = b[d + 20 >> 2], 0 == (d | 0)) break a
} else d = h;
h = (b[d + 4 >> 2] & -8) - a | 0;
if (h >>> 0 < c >>> 0) {
f = d;
e = f >> 2;
c = h;
continue a
}
}
h = f;
var g = t[l + 16 >> 2];
if (!(h >>> 0 < g >>> 0 || (d = h + a | 0, h >>> 0 >= d >>> 0))) {
r = t[e + 6];
var k = t[e + 3],
p = (k | 0) == (f | 0);
do {
if (p) {
var y = f + 20 | 0;
var E = b[y >> 2];
if (0 == (E | 0) && (y = f + 16 | 0, E = b[y >> 2], 0 == (E | 0))) {
E = 0;
y = E >> 2;
break
}
for (;;) {
var H = E + 20 | 0,
x = b[H >> 2];
if (0 != (x | 0)) y = H, E = x;
else {
H = E + 16 | 0;
x = t[H >> 2];
if (0 == (x | 0)) break;
y = H;
E = x
}
}
if (y >>> 0 < g >>> 0) throw K(), "Reached an unreachable!";
b[y >> 2] = 0
} else {
y = t[e + 2];
if (y >>> 0 < g >>> 0) throw K(), "Reached an unreachable!";
b[y + 12 >> 2] = k;
b[k + 8 >> 2] = y;
E = k
}
y = E >> 2
} while (0);
g = 0 == (r | 0);
a: do
if (!g) {
k = f + 28 | 0;
p = (b[k >> 2] << 2) + l + 304 | 0;
H = (f | 0) == (b[p >> 2] | 0);
do {
if (H) {
b[p >> 2] = E;
if (0 != (E | 0)) break;
b[l + 4 >> 2] &= 1 << b[k >> 2] ^ -1;
break a
}
if (r >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
x = r + 16 | 0;
(b[x >> 2] | 0) == (f | 0) ? b[x >> 2] = E: b[r + 20 >> 2] = E;
if (0 == (E | 0)) break a
} while (0);
if (E >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[y + 6] = r;
k = t[e + 4];
if (0 != (k | 0)) {
if (k >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[y + 4] = k;
b[k + 24 >> 2] = E
}
k = t[e + 5];
if (0 != (k | 0)) {
if (k >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[y + 5] = k;
b[k + 24 >> 2] = E
}
}
while (0);
if (16 > c >>> 0) a = c + a | 0, b[e + 1] = a | 3, a = a + (h + 4) | 0, b[a >> 2] |= 1;
else {
b[e + 1] = a | 3;
b[a + (h + 4) >> 2] = c | 1;
b[h + c + a >> 2] = c;
g = t[l + 8 >> 2];
if (0 != (g | 0)) {
a = t[l + 20 >> 2];
h = g >>> 2 & 1073741822;
e = (h << 2) + l + 40 | 0;
r = t[l >> 2];
g = 1 << (g >>> 3);
if (0 == (r & g | 0)) b[l >> 2] = r | g, r = e, h = (h + 2 << 2) + l + 40 | 0;
else if (h = (h + 2 << 2) + l + 40 | 0, r = t[h >> 2], !(r >>> 0 >= t[l + 16 >> 2] >>> 0)) throw K(), "Reached an unreachable!";
b[h >> 2] = a;
b[r + 12 >> 2] = a;
b[a + 8 >> 2] = r;
b[a + 12 >> 2] = e
}
b[l + 8 >> 2] = c;
b[l + 20 >> 2] = d
}
return f + 8 | 0
}
K();
throw "Reached an unreachable!";
}
function hd(a) {
0 == (b[xa >> 2] | 0) && id();
var f = 0 == (b[l + 440 >> 2] & 4 | 0);
do
if (f) {
var c = b[l + 24 >> 2];
if (0 == (c | 0)) var d = 6;
else if (c = gc(c), 0 == (c | 0)) d = 6;
else {
var e = b[xa + 8 >> 2];
e = a + 47 - b[l + 12 >> 2] + e & -e;
if (2147483647 <= e >>> 0) d = 14;
else {
var h = La(e);
if ((h | 0) == (b[c >> 2] + b[c + 4 >> 2] | 0)) {
var r = h,
g = e;
var k = h;
d = 13
} else {
var p = h,
y = e;
d = 15
}
}
}
if (6 == d)
if (c = La(0), -1 == (c | 0)) d = 14;
else {
e = b[xa + 8 >> 2];
e = e + (a + 47) & -e;
h = c;
var E = b[xa + 4 >> 2],
H = E - 1 | 0;
e = 0 == (H & h | 0) ? e : e - h + (H + h & -E) | 0;
2147483647 <= e >>> 0 ? d = 14 : (h = La(e), (h | 0) == (c | 0) ? (r = c, g = e, k = h, d = 13) : (p = h, y = e, d = 15))
}
if (13 == d) {
if (-1 != (r | 0)) {
var x = g,
q = r;
d = 26;
break
}
p = k;
y = g
} else if (14 == d) {
b[l + 440 >> 2] |= 4;
d = 23;
break
}
c = -y | 0;
if (-1 != (p | 0) & 2147483647 > y >>> 0)
if (y >>> 0 >= (a + 48 | 0) >>> 0) {
var m = y;
d = 21
} else e = b[xa + 8 >> 2], e = a + 47 - y + e & -e, 2147483647 <= e >>> 0 ? (m = y, d = 21) : -1 == (La(e) | 0) ? (La(c), d = 22) : (m = e + y | 0, d = 21);
else m = y, d = 21;
21 == d && -1 != (p | 0) ? (x = m, q = p, d = 26) : (b[l + 440 >> 2] |= 4, d = 23)
} else d = 23;
while (0);
23 == d && (f = b[xa + 8 >> 2], f = f + (a + 47) & -f, 2147483647 <= f >>> 0 ? d = 49 : (f = La(f), r = La(0), -1 != (r | 0) & -1 != (f | 0) & f >>> 0 < r >>> 0 ? (r = r - f | 0, r >>> 0 <= (a + 40 | 0) >>> 0 | -1 == (f | 0) ? d = 49 : (x = r, q = f, d = 26)) : d = 49));
a: do
if (26 == d) {
f = b[l + 432 >> 2] + x | 0;
b[l + 432 >> 2] = f;
f >>> 0 > t[l + 436 >> 2] >>> 0 && (b[l + 436 >> 2] = f);
f = t[l + 24 >> 2];
r = 0 == (f | 0);
b: do
if (r) g = t[l + 16 >> 2], 0 == (g | 0) | q >>> 0 < g >>> 0 && (b[l + 16 >> 2] = q), b[l + 444 >> 2] = q, b[l + 448 >> 2] = x, b[l + 456 >> 2] = 0, b[l + 36 >> 2] = b[xa >> 2], b[l + 32 >> 2] = -1, Xe(), Ab(q, x - 40 | 0);
else {
p = l + 444 | 0;
for (k = p >> 2; 0 != (p | 0);) {
g = t[k];
p = p + 4 | 0;
y = t[p >> 2];
m = g + y | 0;
if ((q | 0) == (m | 0)) {
if (0 != (b[k + 3] & 8 | 0)) break;
k = f;
if (!(k >>> 0 >= g >>> 0 & k >>> 0 < m >>> 0)) break;
b[p >> 2] = y + x | 0;
Ab(b[l + 24 >> 2], b[l + 12 >> 2] + x | 0);
break b
}
p = b[k + 2];
k = p >> 2
}
q >>> 0 < t[l + 16 >> 2] >>> 0 && (b[l + 16 >> 2] = q);
k = q + x | 0;
for (p = l + 444 | 0; 0 != (p | 0);) {
y = p | 0;
g = t[y >> 2];
if ((g | 0) == (k | 0)) {
if (0 != (b[p + 12 >> 2] & 8 | 0)) break;
b[y >> 2] = q;
var v = p + 4 | 0;
b[v >> 2] = b[v >> 2] + x | 0;
v = jd(q, g, a);
d = 50;
break a
}
p = b[p + 8 >> 2]
}
kd(q, x)
}
while (0);
f = t[l + 12 >> 2];
f >>> 0 <= a >>> 0 ? d = 49 : (v = f - a | 0, b[l + 12 >> 2] = v, r = f = t[l + 24 >> 2], b[l + 24 >> 2] = r + a | 0, b[a + (r + 4) >> 2] = v | 1, b[f + 4 >> 2] = a | 3, v = f + 8 | 0, d = 50)
}
while (0);
49 == d && (a = ld(), b[a >> 2] = 12, v = 0);
return v
}
function gd(a) {
var f = a >> 2,
c = -a | 0,
d = a >>> 8;
if (0 == (d | 0)) var e = 0;
else if (16777215 < a >>> 0) e = 31;
else {
var h = (d + 1048320 | 0) >>> 16 & 8,
r = d << h,
g = (r + 520192 | 0) >>> 16 & 4,
k = r << g,
p = (k + 245760 | 0) >>> 16 & 2,
y = 14 - (g | h | p) + (k << p >>> 15) | 0;
e = a >>> ((y + 7 | 0) >>> 0) & 1 | y << 1
}
var E = t[l + (e << 2) + 304 >> 2],
H = 0 == (E | 0);
a: do
if (H) var x = 0,
q = c,
v = 0;
else {
var m = 31 == (e | 0) ? 0 : 25 - (e >>> 1) | 0,
w = 0,
A = c,
z = E;
var B = z >> 2;
for (var C = a << m, D = 0;;) {
var F = b[B + 1] & -8,
G = F - a | 0;
if (G >>> 0 < A >>> 0) {
if ((F | 0) == (a | 0)) {
x = z;
q = G;
v = z;
break a
}
var I = z,
J = G
} else I = w, J = A;
var M = t[B + 5],
L = t[((C >>> 31 << 2) + 16 >> 2) + B],
O = 0 == (M | 0) | (M | 0) == (L | 0) ? D : M;
if (0 == (L | 0)) {
x = I;
q = J;
v = O;
break a
}
w = I;
A = J;
z = L;
B = z >> 2;
C <<= 1;
D = O
}
}
while (0);
if (0 == (v | 0) & 0 == (x | 0)) {
var P = 2 << e,
Q = b[l + 4 >> 2] & (P | -P);
if (0 == (Q | 0)) var R = v;
else {
var U = (Q & -Q) - 1 | 0,
Y = U >>> 12 & 16,
W = U >>> (Y >>> 0),
Z = W >>> 5 & 8,
aa = W >>> (Z >>> 0),
fa = aa >>> 2 & 4,
ha = aa >>> (fa >>> 0),
ba = ha >>> 1 & 2,
ia = ha >>> (ba >>> 0),
ca = ia >>> 1 & 1;
R = b[l + ((Z | Y | fa | ba | ca) + (ia >>> (ca >>> 0)) << 2) + 304 >> 2]
}
} else R = v;
var ja = 0 == (R | 0);
a: do
if (ja) {
var V = q,
S = x;
var X = S >> 2
} else {
var ea = R;
var da = ea >> 2;
for (var ka = q, oa = x;;) {
var ua = (b[da + 1] & -8) - a | 0,
ma = ua >>> 0 < ka >>> 0,
pa = ma ? ua : ka,
Ca = ma ? ea : oa,
la = t[da + 4];
if (0 != (la | 0)) ea = la;
else {
var ra = t[da + 5];
if (0 == (ra | 0)) {
V = pa;
S = Ca;
X = S >> 2;
break a
}
ea = ra
}
da = ea >> 2;
ka = pa;
oa = Ca
}
}
while (0);
var va = 0 == (S | 0);
a: do
if (va) var sa = 0;
else
if (V >>> 0 >= (b[l + 8 >> 2] - a | 0) >>> 0) sa = 0;
else {
var qa = S;
var Ba = qa >> 2;
var xa = t[l + 16 >> 2];
if (!(qa >>> 0 < xa >>> 0)) {
var ya = qa + a | 0,
za = ya;
if (!(qa >>> 0 >= ya >>> 0)) {
var ta = t[X + 6],
Aa = t[X + 3],
Ja = (Aa | 0) == (S | 0);
do {
if (Ja) {
var Ka = S + 20 | 0,
Ha = b[Ka >> 2];
if (0 == (Ha | 0)) {
var Ia = S + 16 | 0,
Oa = b[Ia >> 2];
if (0 == (Oa | 0)) {
var Ga = 0;
var ub = Ga >> 2;
break
}
var vb = Ia,
wa = Oa
} else vb = Ka, wa = Ha;
for (;;) {
var La = wa + 20 | 0,
Ea = b[La >> 2];
if (0 != (Ea | 0)) vb = La, wa = Ea;
else {
var Ma = wa + 16 | 0,
Na = t[Ma >> 2];
if (0 == (Na | 0)) break;
vb = Ma;
wa = Na
}
}
if (vb >>> 0 < xa >>> 0) throw K(), "Reached an unreachable!";
b[vb >> 2] = 0;
Ga = wa
} else {
var Da = t[X + 2];
if (Da >>> 0 < xa >>> 0) throw K(), "Reached an unreachable!";
b[Da + 12 >> 2] = Aa;
b[Aa + 8 >> 2] = Da;
Ga = Aa
}
ub = Ga >> 2
} while (0);
var Qa = 0 == (ta | 0);
b: do
if (!Qa) {
var Sa = S + 28 | 0,
Ta = (b[Sa >> 2] << 2) + l + 304 | 0,
Xa = (S | 0) == (b[Ta >> 2] | 0);
do {
if (Xa) {
b[Ta >> 2] = Ga;
if (0 != (Ga | 0)) break;
b[l + 4 >> 2] &= 1 << b[Sa >> 2] ^ -1;
break b
}
if (ta >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
var Gb = ta + 16 | 0;
(b[Gb >> 2] | 0) == (S | 0) ? b[Gb >> 2] = Ga: b[ta + 20 >> 2] = Ga;
if (0 == (Ga | 0)) break b
} while (0);
if (Ga >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[ub + 6] = ta;
var Pa = t[X + 4];
if (0 != (Pa | 0)) {
if (Pa >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[ub + 4] = Pa;
b[Pa + 24 >> 2] = Ga
}
var nb = t[X + 5];
if (0 != (nb | 0)) {
if (nb >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[ub + 5] = nb;
b[nb + 24 >> 2] = Ga
}
}
while (0);
var ab = 16 > V >>> 0;
b: do
if (ab) {
var Va = V + a | 0;
b[X + 1] = Va | 3;
var Ya = Va + (qa + 4) | 0;
b[Ya >> 2] |= 1
} else
if (b[X + 1] = a | 3, b[f + (Ba + 1)] = V | 1, b[(V >> 2) + Ba + f] = V, 256 > V >>> 0) {
var rb = V >>> 2 & 1073741822,
Hb = (rb << 2) + l + 40 | 0,
Ib = t[l >> 2],
Jb = 1 << (V >>> 3);
if (0 == (Ib & Jb | 0)) {
b[l >> 2] = Ib | Jb;
var ob = Hb,
Kb = (rb + 2 << 2) + l + 40 | 0
} else {
var Za = (rb + 2 << 2) + l + 40 | 0,
sb = t[Za >> 2];
if (sb >>> 0 >= t[l + 16 >> 2] >>> 0) ob = sb, Kb = Za;
else throw K(), "Reached an unreachable!";
}
b[Kb >> 2] = za;
b[ob + 12 >> 2] = za;
b[f + (Ba + 2)] = ob;
b[f + (Ba + 3)] = Hb
} else {
var $a = ya,
Lb = V >>> 8;
if (0 == (Lb | 0)) var Ra = 0;
else if (16777215 < V >>> 0) Ra = 31;
else {
var Ua = (Lb + 1048320 | 0) >>> 16 & 8,
cb = Lb << Ua,
db = (cb + 520192 | 0) >>> 16 & 4,
eb = cb << db,
gb = (eb + 245760 | 0) >>> 16 & 2,
hb = 14 - (db | Ua | gb) + (eb << gb >>> 15) | 0;
Ra = V >>> ((hb + 7 | 0) >>> 0) & 1 | hb << 1
}
var Wa = (Ra << 2) + l + 304 | 0;
b[f + (Ba + 7)] = Ra;
var tb = a + (qa + 16) | 0;
b[f + (Ba + 5)] = 0;
b[tb >> 2] = 0;
var bb = b[l + 4 >> 2],
Db = 1 << Ra;
if (0 == (bb & Db | 0)) b[l + 4 >> 2] = bb | Db, b[Wa >> 2] = $a, b[f + (Ba + 6)] = Wa, b[f + (Ba + 3)] = $a, b[f + (Ba + 2)] = $a;
else
for (var lb = V << (31 == (Ra | 0) ? 0 : 25 - (Ra >>> 1) | 0), qb = b[Wa >> 2];;) {
if ((b[qb + 4 >> 2] & -8 | 0) == (V | 0)) {
var mb = qb + 8 | 0,
Eb = t[mb >> 2],
pb = t[l + 16 >> 2];
if (!(qb >>> 0 < pb >>> 0 || Eb >>> 0 < pb >>> 0)) {
b[Eb + 12 >> 2] = $a;
b[mb >> 2] = $a;
b[f + (Ba + 2)] = Eb;
b[f + (Ba + 3)] = qb;
b[f + (Ba + 6)] = 0;
break b
}
K();
throw "Reached an unreachable!";
}
var fb = (lb >>> 31 << 2) + qb + 16 | 0,
ib = t[fb >> 2];
if (0 == (ib | 0)) {
if (fb >>> 0 >= t[l + 16 >> 2] >>> 0) {
b[fb >> 2] = $a;
b[f + (Ba + 6)] = qb;
b[f + (Ba + 3)] = $a;
b[f + (Ba + 2)] = $a;
break b
}
K();
throw "Reached an unreachable!";
}
lb <<= 1;
qb = ib
}
}
while (0);
sa = S + 8 | 0;
break a
}
}
K();
throw "Reached an unreachable!";
}
while (0);
return sa
}
function md(a) {
0 == (b[xa >> 2] | 0) && id();
var f = 4294967232 > a >>> 0;
a: do {
if (f) {
var c = t[l + 24 >> 2];
if (0 == (c | 0)) {
c = 0;
break
}
var d = t[l + 12 >> 2];
if (d >>> 0 > (a + 40 | 0) >>> 0) {
var e = t[xa + 8 >> 2],
h = (Math.floor(((-40 - a - 1 + d + e | 0) >>> 0) / (e >>> 0)) - 1) * e | 0,
r = gc(c);
if (0 == (b[r + 12 >> 2] & 8 | 0) && (d = La(0), c = (r + 4 | 0) >> 2, (d | 0) == (b[r >> 2] + b[c] | 0) && (h = La(-(2147483646 < h >>> 0 ? -2147483648 - e | 0 : h) | 0), e = La(0), -1 != (h | 0) & e >>> 0 < d >>> 0 && (h = d - e | 0, (d | 0) != (e | 0))))) {
b[c] = b[c] - h | 0;
b[l + 432 >> 2] = b[l + 432 >> 2] - h | 0;
Ab(b[l + 24 >> 2], b[l + 12 >> 2] - h | 0);
c = (d | 0) != (e | 0);
break a
}
}
if (t[l + 12 >> 2] >>> 0 <= t[l + 28 >> 2] >>> 0) {
c = 0;
break
}
b[l + 28 >> 2] = -1
}
c = 0
} while (0);
return c & 1
}
function eb(a) {
var f = a >> 2,
c = 0 == (a | 0);
a: do
if (!c) {
var d = a - 8 | 0,
e = d,
h = t[l + 16 >> 2],
r = d >>> 0 < h >>> 0;
b: do
if (!r) {
var g = t[a - 4 >> 2],
k = g & 3;
if (1 != (k | 0)) {
var p = g & -8;
var y = p >> 2;
var E = a + (p - 8) | 0,
H = E,
x = 0 == (g & 1 | 0);
c: do
if (x) {
var q = t[d >> 2];
if (0 == (k | 0)) break a;
var v = -8 - q | 0;
var m = v >> 2;
var w = a + v | 0,
A = w,
z = q + p | 0;
if (w >>> 0 < h >>> 0) break b;
if ((A | 0) == (b[l + 20 >> 2] | 0)) {
var B = (a + (p - 4) | 0) >> 2;
if (3 != (b[B] & 3 | 0)) {
var C = A;
var D = C >> 2;
var F = z;
break
}
b[l + 8 >> 2] = z;
b[B] &= -2;
b[m + (f + 1)] = z | 1;
b[E >> 2] = z;
break a
}
if (256 > q >>> 0) {
var G = t[m + (f + 2)],
I = t[m + (f + 3)];
if ((G | 0) == (I | 0)) b[l >> 2] &= 1 << (q >>> 3) ^ -1, C = A, D = C >> 2, F = z;
else {
var J = ((q >>> 2 & 1073741822) << 2) + l + 40 | 0;
if (!((G | 0) != (J | 0) & G >>> 0 < h >>> 0) && (I | 0) == (J | 0) | I >>> 0 >= h >>> 0) {
b[G + 12 >> 2] = I;
b[I + 8 >> 2] = G;
C = A;
D = C >> 2;
F = z;
break c
}
K();
throw "Reached an unreachable!";
}
} else {
var M = w,
L = t[m + (f + 6)],
O = t[m + (f + 3)],
P = (O | 0) == (M | 0);
do {
if (P) {
var Q = v + (a + 20) | 0,
R = b[Q >> 2];
if (0 == (R | 0)) {
var U = v + (a + 16) | 0,
Y = b[U >> 2];
if (0 == (Y | 0)) {
var W = 0;
var Z = W >> 2;
break
}
var aa = U,
fa = Y
} else {
aa = Q;
fa = R;
var ha = 21
}
for (;;) {
var ba = fa + 20 | 0,
ia = b[ba >> 2];
if (0 != (ia | 0)) aa = ba, fa = ia;
else {
var ca = fa + 16 | 0,
ja = t[ca >> 2];
if (0 == (ja | 0)) break;
aa = ca;
fa = ja
}
}
if (aa >>> 0 < h >>> 0) throw K(), "Reached an unreachable!";
b[aa >> 2] = 0;
W = fa
} else {
var V = t[m + (f + 2)];
if (V >>> 0 < h >>> 0) throw K(), "Reached an unreachable!";
b[V + 12 >> 2] = O;
b[O + 8 >> 2] = V;
W = O
}
Z = W >> 2
} while (0);
if (0 != (L | 0)) {
var S = v + (a + 28) | 0,
X = (b[S >> 2] << 2) + l + 304 | 0,
ea = (M | 0) == (b[X >> 2] | 0);
do {
if (ea) {
b[X >> 2] = W;
if (0 != (W | 0)) break;
b[l + 4 >> 2] &= 1 << b[S >> 2] ^ -1;
C = A;
D = C >> 2;
F = z;
break c
}
if (L >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
var da = L + 16 | 0;
(b[da >> 2] | 0) == (M | 0) ? b[da >> 2] = W: b[L + 20 >> 2] = W;
if (0 == (W | 0)) {
C = A;
D = C >> 2;
F = z;
break c
}
} while (0);
if (W >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[Z + 6] = L;
var ka = t[m + (f + 4)];
if (0 != (ka | 0)) {
if (ka >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[Z + 4] = ka;
b[ka + 24 >> 2] = W
}
var oa = t[m + (f + 5)];
if (0 != (oa | 0)) {
if (oa >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[Z + 5] = oa;
b[oa + 24 >> 2] = W
}
}
C = A;
D = C >> 2;
F = z
}
} else C = e, D = C >> 2, F = p;
while (0);
var ma = C;
if (!(ma >>> 0 >= E >>> 0)) {
var pa = a + (p - 4) | 0,
la = t[pa >> 2];
if (0 != (la & 1 | 0)) {
if (0 == (la & 2 | 0)) {
if ((H | 0) == (b[l + 24 >> 2] | 0)) {
var ra = b[l + 12 >> 2] + F | 0;
b[l + 12 >> 2] = ra;
b[l + 24 >> 2] = C;
b[D + 1] = ra | 1;
(C | 0) == (b[l + 20 >> 2] | 0) && (b[l + 20 >> 2] = 0, b[l + 8 >> 2] = 0);
if (ra >>> 0 <= t[l + 28 >> 2] >>> 0) break a;
md(0);
break a
}
if ((H | 0) == (b[l + 20 >> 2] | 0)) {
var qa = b[l + 8 >> 2] + F | 0;
b[l + 8 >> 2] = qa;
b[l + 20 >> 2] = C;
b[D + 1] = qa | 1;
b[(ma + qa | 0) >> 2] = qa;
break a
}
var sa = (la & -8) + F | 0,
va = la >>> 3,
xa = 256 > la >>> 0;
c: do
if (xa) {
var ta = t[f + y],
Ba = t[((p | 4) >> 2) + f];
if ((ta | 0) == (Ba | 0)) b[l >> 2] &= 1 << va ^ -1;
else {
var Aa = ((la >>> 2 & 1073741822) << 2) + l + 40 | 0;
ha = (ta | 0) == (Aa | 0) ? 63 : ta >>> 0 < t[l + 16 >> 2] >>> 0 ? 66 : 63;
if (63 == ha && !((Ba | 0) != (Aa | 0) && Ba >>> 0 < t[l + 16 >> 2] >>> 0)) {
b[ta + 12 >> 2] = Ba;
b[Ba + 8 >> 2] = ta;
break c
}
K();
throw "Reached an unreachable!";
}
} else {
var ya = E,
wa = t[y + (f + 4)],
za = t[((p | 4) >> 2) + f],
Ka = (za | 0) == (ya | 0);
do {
if (Ka) {
var Ha = p + (a + 12) | 0,
Ia = b[Ha >> 2];
if (0 == (Ia | 0)) {
var Ja = p + (a + 8) | 0,
La = b[Ja >> 2];
if (0 == (La | 0)) {
var Oa = 0;
var Ga = Oa >> 2;
break
}
var Ea = Ja,
Da = La
} else Ea = Ha, Da = Ia, ha = 73;
for (;;) {
var Ma = Da + 20 | 0,
Na = b[Ma >> 2];
if (0 != (Na | 0)) Ea = Ma, Da = Na;
else {
var Sa = Da + 16 | 0,
Ta = t[Sa >> 2];
if (0 == (Ta | 0)) break;
Ea = Sa;
Da = Ta
}
}
if (Ea >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[Ea >> 2] = 0;
Oa = Da
} else {
var Qa = t[f + y];
if (Qa >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[Qa + 12 >> 2] = za;
b[za + 8 >> 2] = Qa;
Oa = za
}
Ga = Oa >> 2
} while (0);
if (0 != (wa | 0)) {
var Va = p + (a + 20) | 0,
Xa = (b[Va >> 2] << 2) + l + 304 | 0,
ab = (ya | 0) == (b[Xa >> 2] | 0);
do {
if (ab) {
b[Xa >> 2] = Oa;
if (0 != (Oa | 0)) break;
b[l + 4 >> 2] &= 1 << b[Va >> 2] ^ -1;
break c
}
if (wa >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
var Ya = wa + 16 | 0;
(b[Ya >> 2] | 0) == (ya | 0) ? b[Ya >> 2] = Oa: b[wa + 20 >> 2] = Oa;
if (0 == (Oa | 0)) break c
} while (0);
if (Oa >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[Ga + 6] = wa;
var Ua = t[y + (f + 2)];
if (0 != (Ua | 0)) {
if (Ua >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[Ga + 4] = Ua;
b[Ua + 24 >> 2] = Oa
}
var Wa = t[y + (f + 3)];
if (0 != (Wa | 0)) {
if (Wa >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[Ga + 5] = Wa;
b[Wa + 24 >> 2] = Oa
}
}
}
while (0);
b[D + 1] = sa | 1;
b[ma + sa >> 2] = sa;
if ((C | 0) != (b[l + 20 >> 2] | 0)) var Pa = sa;
else {
b[l + 8 >> 2] = sa;
break a
}
} else b[pa >> 2] = la & -2, b[D + 1] = F | 1, Pa = b[ma + F >> 2] = F;
if (256 > Pa >>> 0) {
var nb = Pa >>> 2 & 1073741822,
cb = (nb << 2) + l + 40 | 0,
db = t[l >> 2],
eb = 1 << (Pa >>> 3);
if (0 == (db & eb | 0)) {
b[l >> 2] = db | eb;
var rb = cb,
fb = (nb + 2 << 2) + l + 40 | 0
} else {
var gb = (nb + 2 << 2) + l + 40 | 0,
hb = t[gb >> 2];
if (hb >>> 0 >= t[l + 16 >> 2] >>> 0) rb = hb, fb = gb;
else throw K(), "Reached an unreachable!";
}
b[fb >> 2] = C;
b[rb + 12 >> 2] = C;
b[D + 2] = rb;
b[D + 3] = cb;
break a
}
var ob = C,
bb = Pa >>> 8;
if (0 == (bb | 0)) var Za = 0;
else if (16777215 < Pa >>> 0) Za = 31;
else {
var sb = (bb + 1048320 | 0) >>> 16 & 8,
$a = bb << sb,
lb = ($a + 520192 | 0) >>> 16 & 4,
Ra = $a << lb,
mb = (Ra + 245760 | 0) >>> 16 & 2,
pb = 14 - (lb | sb | mb) + (Ra << mb >>> 15) | 0;
Za = Pa >>> ((pb + 7 | 0) >>> 0) & 1 | pb << 1
}
var ib = (Za << 2) + l + 304 | 0;
b[D + 7] = Za;
b[D + 5] = 0;
b[D + 4] = 0;
var wb = b[l + 4 >> 2],
xb = 1 << Za,
Cb = 0 == (wb & xb | 0);
c: do
if (Cb) b[l + 4 >> 2] = wb | xb, b[ib >> 2] = ob, b[D + 6] = ib, b[D + 3] = C, b[D + 2] = C;
else
for (var yb = Pa << (31 == (Za | 0) ? 0 : 25 - (Za >>> 1) | 0), tb = b[ib >> 2];;) {
if ((b[tb + 4 >> 2] & -8 | 0) == (Pa | 0)) {
var zb = tb + 8 | 0,
Db = t[zb >> 2],
Ab = t[l + 16 >> 2];
if (!(tb >>> 0 < Ab >>> 0 || Db >>> 0 < Ab >>> 0)) {
b[Db + 12 >> 2] = ob;
b[zb >> 2] = ob;
b[D + 2] = Db;
b[D + 3] = tb;
b[D + 6] = 0;
break c
}
K();
throw "Reached an unreachable!";
}
var qb = (yb >>> 31 << 2) + tb + 16 | 0,
Bb = t[qb >> 2];
if (0 == (Bb | 0)) {
if (qb >>> 0 >= t[l + 16 >> 2] >>> 0) {
b[qb >> 2] = ob;
b[D + 6] = tb;
b[D + 3] = C;
b[D + 2] = C;
break c
}
K();
throw "Reached an unreachable!";
}
yb <<= 1;
tb = Bb
}
while (0);
var Eb = b[l + 32 >> 2] - 1 | 0;
b[l + 32 >> 2] = Eb;
if (0 != (Eb | 0)) break a;
Ye();
break a
}
}
}
}
while (0);
K();
throw "Reached an unreachable!";
}
while (0)
}
function Ye() {
var a = b[l + 452 >> 2],
f = 0 == (a | 0);
a: do
if (!f)
for (;;)
if (a = b[a + 8 >> 2], 0 == (a | 0)) break a;
while (0);
b[l + 32 >> 2] = -1
}
function Qd(a, b) {
return 0 == (a | 0) ? db(b) : nd(a, b)
}
function nd(a, f) {
var c;
var d = 4294967231 < f >>> 0;
a: do
if (d) {
var e = ld();
b[e >> 2] = 12;
e = 0
} else {
var h = c = a - 8 | 0;
d = (a - 4 | 0) >> 2;
var r = t[d];
e = r & -8;
var g = e - 8 | 0,
k = a + g | 0;
if (!(c >>> 0 < t[l + 16 >> 2] >>> 0)) {
var p = r & 3;
if (1 != (p | 0) & -8 < (g | 0) && (c = (a + (e - 4) | 0) >> 2, 0 != (b[c] & 1 | 0))) {
g = 11 > f >>> 0 ? 16 : f + 11 & -8;
if (0 == (p | 0)) {
var y = 0,
E = Ze(h, g);
var H = 17
} else e >>> 0 < g >>> 0 ? (k | 0) != (b[l + 24 >> 2] | 0) ? H = 21 : (k = b[l + 12 >> 2] + e | 0, k >>> 0 <= g >>> 0 ? H = 21 : (y = k - g | 0, E = a + (g - 8) | 0, b[d] = g | r & 1 | 2, b[a + (g - 4) >> 2] = y | 1, b[l + 24 >> 2] = E, b[l + 12 >> 2] = y, y = 0, E = h, H = 17)) : (y = e - g | 0, 15 >= y >>> 0 ? y = 0 : (b[d] = g | r & 1 | 2, b[a + (g - 4) >> 2] = y | 3, b[c] |= 1, y = a + g | 0), E = h, H = 17);
if (17 == H && 0 != (E | 0)) {
0 != (y | 0) && eb(y);
e = E + 8 | 0;
break a
}
h = db(f);
if (0 == (h | 0)) {
e = 0;
break a
}
d = e - (0 == (b[d] & 3 | 0) ? 8 : 4) | 0;
fb(h, a, d >>> 0 < f >>> 0 ? d : f, 1);
eb(a);
e = h;
break a
}
}
K();
throw "Reached an unreachable!";
}
while (0);
return e
}
function id() {
if (0 == (b[xa >> 2] | 0)) {
var a = $e(8);
if (0 == (a - 1 & a | 0)) b[xa + 8 >> 2] = a, b[xa + 4 >> 2] = a, b[xa + 12 >> 2] = -1, b[xa + 16 >> 2] = 2097152, b[xa + 20 >> 2] = 0, b[l + 440 >> 2] = 0, a = af(0), b[xa >> 2] = a & -16 ^ 1431655768;
else throw K(), "Reached an unreachable!";
}
}
function bc(a) {
if (0 == (a | 0)) a = 0;
else {
a = b[a - 4 >> 2];
var f = a & 3;
a = 1 == (f | 0) ? 0 : (a & -8) - (0 == (f | 0) ? 8 : 4) | 0
}
return a
}
function Ze(a, f) {
var c = b[a + 4 >> 2] & -8;
if (256 > f >>> 0) var d = 0;
else c >>> 0 >= (f + 4 | 0) >>> 0 && (c - f | 0) >>> 0 <= b[xa + 8 >> 2] << 1 >>> 0 ? d = a : d = 0;
return d
}
function gc(a) {
var f, c = l + 444 | 0;
for (f = c >> 2;;) {
var d = t[f];
if (d >>> 0 <= a >>> 0 && (d + b[f + 1] | 0) >>> 0 > a >>> 0) {
a = c;
break
}
f = t[f + 2];
if (0 == (f | 0)) {
a = 0;
break
}
c = f;
f = c >> 2
}
return a
}
function Ab(a, f) {
var c = a + 8 | 0;
c = 0 == (c & 7 | 0) ? 0 : -c & 7;
var d = f - c | 0;
b[l + 24 >> 2] = a + c | 0;
b[l + 12 >> 2] = d;
b[c + (a + 4) >> 2] = d | 1;
b[f + (a + 4) >> 2] = 40;
b[l + 28 >> 2] = b[xa + 16 >> 2]
}
function Xe() {
for (var a = 0;;) {
var f = a << 1,
c = (f << 2) + l + 40 | 0;
b[l + (f + 3 << 2) + 40 >> 2] = c;
b[l + (f + 2 << 2) + 40 >> 2] = c;
a = a + 1 | 0;
if (32 == (a | 0)) break
}
}
function jd(a, f, c) {
var d = f >> 2,
e = a >> 2,
n = a + 8 | 0;
n = 0 == (n & 7 | 0) ? 0 : -n & 7;
var h = f + 8 | 0;
var g = 0 == (h & 7 | 0) ? 0 : -h & 7;
var k = g >> 2;
var p = f + g | 0,
y = n + c | 0;
h = y >> 2;
var E = a + y | 0,
H = p - (a + n) - c | 0;
b[(n + 4 >> 2) + e] = c | 3;
c = (p | 0) == (b[l + 24 >> 2] | 0);
a: do
if (c) {
var x = b[l + 12 >> 2] + H | 0;
b[l + 12 >> 2] = x;
b[l + 24 >> 2] = E;
b[h + (e + 1)] = x | 1
} else
if ((p | 0) == (b[l + 20 >> 2] | 0)) x = b[l + 8 >> 2] + H | 0, b[l + 8 >> 2] = x, b[l + 20 >> 2] = E, b[h + (e + 1)] = x | 1, b[(a + x + y | 0) >> 2] = x;
else {
var q = t[k + (d + 1)];
if (1 == (q & 3 | 0)) {
x = q & -8;
var v = q >>> 3,
m = 256 > q >>> 0;
b: do
if (m) {
var w = t[((g | 8) >> 2) + d],
z = t[k + (d + 3)];
if ((w | 0) == (z | 0)) b[l >> 2] &= 1 << v ^ -1;
else {
q = ((q >>> 2 & 1073741822) << 2) + l + 40 | 0;
var A = (w | 0) == (q | 0) ? 15 : w >>> 0 < t[l + 16 >> 2] >>> 0 ? 18 : 15;
if (15 == A && !((z | 0) != (q | 0) && z >>> 0 < t[l + 16 >> 2] >>> 0)) {
b[w + 12 >> 2] = z;
b[z + 8 >> 2] = w;
break b
}
K();
throw "Reached an unreachable!";
}
} else {
w = p;
z = t[((g | 24) >> 2) + d];
var C = t[k + (d + 3)],
D = (C | 0) == (w | 0);
do {
if (D) {
var B = g | 16;
var F = B + (f + 4) | 0,
G = b[F >> 2];
if (0 == (G | 0)) {
if (B = f + B | 0, G = b[B >> 2], 0 == (G | 0)) {
G = 0;
B = G >> 2;
break
}
} else B = F, A = 25;
for (;;) {
F = G + 20 | 0;
var I = b[F >> 2];
if (0 != (I | 0)) B = F, G = I;
else {
F = G + 16 | 0;
I = t[F >> 2];
if (0 == (I | 0)) break;
B = F;
G = I
}
}
if (B >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[B >> 2] = 0
} else {
B = t[((g | 8) >> 2) + d];
if (B >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[B + 12 >> 2] = C;
b[C + 8 >> 2] = B;
G = C
}
B = G >> 2
} while (0);
if (0 != (z | 0)) {
C = g + (f + 28) | 0;
D = (b[C >> 2] << 2) + l + 304 | 0;
F = (w | 0) == (b[D >> 2] | 0);
do {
if (F) {
b[D >> 2] = G;
if (0 != (G | 0)) break;
b[l + 4 >> 2] &= 1 << b[C >> 2] ^ -1;
break b
}
if (z >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
I = z + 16 | 0;
(b[I >> 2] | 0) == (w | 0) ? b[I >> 2] = G: b[z + 20 >> 2] = G;
if (0 == (G | 0)) break b
} while (0);
if (G >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[B + 6] = z;
w = g | 16;
z = t[(w >> 2) + d];
if (0 != (z | 0)) {
if (z >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[B + 4] = z;
b[z + 24 >> 2] = G
}
w = t[(w + 4 >> 2) + d];
if (0 != (w | 0)) {
if (w >>> 0 < t[l + 16 >> 2] >>> 0) throw K(), "Reached an unreachable!";
b[B + 5] = w;
b[w + 24 >> 2] = G
}
}
}
while (0);
q = f + (x | g) | 0;
x = x + H | 0
} else q = p, x = H;
q = q + 4 | 0;
b[q >> 2] &= -2;
b[h + (e + 1)] = x | 1;
b[(x >> 2) + e + h] = x;
if (256 > x >>> 0) {
v = x >>> 2 & 1073741822;
q = (v << 2) + l + 40 | 0;
m = t[l >> 2];
x = 1 << (x >>> 3);
if (0 == (m & x | 0)) b[l >> 2] = m | x, x = q, v = (v + 2 << 2) + l + 40 | 0;
else if (v = (v + 2 << 2) + l + 40 | 0, x = t[v >> 2], !(x >>> 0 >= t[l + 16 >> 2] >>> 0)) throw K(), "Reached an unreachable!";
b[v >> 2] = E;
b[x + 12 >> 2] = E;
b[h + (e + 2)] = x;
b[h + (e + 3)] = q
} else if (q = E, m = x >>> 8, 0 == (m | 0) ? m = 0 : 16777215 < x >>> 0 ? m = 31 : (v = (m + 1048320 | 0) >>> 16 & 8, w = m << v, m = (w + 520192 | 0) >>> 16 & 4, w <<= m, z = (w + 245760 | 0) >>> 16 & 2, v = 14 - (m | v | z) + (w << z >>> 15) | 0, m = x >>> ((v + 7 | 0) >>> 0) & 1 | v << 1), v = (m << 2) + l + 304 | 0, b[h + (e + 7)] = m, w = y + (a + 16) | 0, b[h + (e + 5)] = 0, b[w >> 2] = 0, w = b[l + 4 >> 2], z = 1 << m, 0 == (w & z | 0)) b[l + 4 >> 2] = w | z, b[v >> 2] = q, b[h + (e + 6)] = v, b[h + (e + 3)] = q, b[h + (e + 2)] = q;
else
for (d = x << (31 == (m | 0) ? 0 : 25 - (m >>> 1) | 0), f = b[v >> 2];;) {
if ((b[f + 4 >> 2] & -8 | 0) == (x | 0)) {
d = f + 8 | 0;
k = t[d >> 2];
g = t[l + 16 >> 2];
if (!(f >>> 0 < g >>> 0 || k >>> 0 < g >>> 0)) {
b[k + 12 >> 2] = q;
b[d >> 2] = q;
b[h + (e + 2)] = k;
b[h + (e + 3)] = f;
b[h + (e + 6)] = 0;
break a
}
K();
throw "Reached an unreachable!";
}
k = (d >>> 31 << 2) + f + 16 | 0;
g = t[k >> 2];
if (0 == (g | 0)) {
if (k >>> 0 >= t[l + 16 >> 2] >>> 0) {
b[k >> 2] = q;
b[h + (e + 6)] = f;
b[h + (e + 3)] = q;
b[h + (e + 2)] = q;
break a
}
K();
throw "Reached an unreachable!";
}
d <<= 1;
f = g
}
}
while (0);
return a + (n | 8) | 0
}
function bf() {
return q.Yb | 0
}
function cf() {
return q.Hb | 0
}
function od(a) {
b[a >> 2] = pd + 8 | 0
}
function qd(a) {
0 != (a | 0) && eb(a)
}
function df(a) {
hc(a);
qd(a)
}
function hc(a) {
ef(a | 0)
}
function ff(a) {
od(a | 0);
b[a >> 2] = rd + 8 | 0
}
function gf(a) {
hc(a | 0);
qd(a)
}
function kd(a, f) {
var c = t[l + 24 >> 2];
var d = c >> 2;
var e = gc(c),
h = b[e >> 2];
var g = b[e + 4 >> 2];
e = h + g | 0;
var k = h + (g - 39) | 0;
h = h + (g - 47) + (0 == (k & 7 | 0) ? 0 : -k & 7) | 0;
h = h >>> 0 < (c + 16 | 0) >>> 0 ? c : h;
k = h + 8 | 0;
g = k >> 2;
Ab(a, f - 40 | 0);
b[(h + 4 | 0) >> 2] = 27;
b[g] = b[l + 444 >> 2];
b[g + 1] = b[l + 448 >> 2];
b[g + 2] = b[l + 452 >> 2];
b[g + 3] = b[l + 456 >> 2];
b[l + 444 >> 2] = a;
b[l + 448 >> 2] = f;
b[l + 456 >> 2] = 0;
b[l + 452 >> 2] = k;
a = h + 28 | 0;
b[a >> 2] = 7;
f = (h + 32 | 0) >>> 0 < e >>> 0;
a: do
if (f)
for (;;) {
f = a + 4 | 0;
b[f >> 2] = 7;
if ((a + 8 | 0) >>> 0 >= e >>> 0) break a;
a = f
}
while (0);
e = (h | 0) == (c | 0);
a: do
if (!e)
if (a = h - c | 0, f = c + a | 0, g = a + (c + 4) | 0, b[g >> 2] &= -2, b[d + 1] = a | 1, b[f >> 2] = a, 256 > a >>> 0) {
g = a >>> 2 & 1073741822;
f = (g << 2) + l + 40 | 0;
k = t[l >> 2];
a = 1 << (a >>> 3);
if (0 == (k & a | 0)) b[l >> 2] = k | a, a = f, g = (g + 2 << 2) + l + 40 | 0;
else if (g = (g + 2 << 2) + l + 40 | 0, a = t[g >> 2], !(a >>> 0 >= t[l + 16 >> 2] >>> 0)) throw K(), "Reached an unreachable!";
b[g >> 2] = c;
b[a + 12 >> 2] = c;
b[d + 2] = a;
b[d + 3] = f
} else {
f = c;
k = a >>> 8;
if (0 == (k | 0)) k = 0;
else if (16777215 < a >>> 0) k = 31;
else {
g = (k + 1048320 | 0) >>> 16 & 8;
var p = k << g;
k = (p + 520192 | 0) >>> 16 & 4;
p <<= k;
var q = (p + 245760 | 0) >>> 16 & 2;
g = 14 - (k | g | q) + (p << q >>> 15) | 0;
k = a >>> ((g + 7 | 0) >>> 0) & 1 | g << 1
}
g = (k << 2) + l + 304 | 0;
b[d + 7] = k;
b[d + 5] = 0;
b[d + 4] = 0;
p = b[l + 4 >> 2];
q = 1 << k;
if (0 == (p & q | 0)) b[l + 4 >> 2] = p | q, b[g >> 2] = f, b[d + 6] = g, b[d + 3] = c, b[d + 2] = c;
else
for (e = a << (31 == (k | 0) ? 0 : 25 - (k >>> 1) | 0), h = b[g >> 2];;) {
if ((b[h + 4 >> 2] & -8 | 0) == (a | 0)) {
c = h + 8 | 0;
e = t[c >> 2];
a = t[l + 16 >> 2];
if (!(h >>> 0 < a >>> 0 || e >>> 0 < a >>> 0)) {
b[e + 12 >> 2] = f;
b[c >> 2] = f;
b[d + 2] = e;
b[d + 3] = h;
b[d + 6] = 0;
break a
}
K();
throw "Reached an unreachable!";
}
g = (e >>> 31 << 2) + h + 16 | 0;
k = t[g >> 2];
if (0 == (k | 0)) {
if (g >>> 0 >= t[l + 16 >> 2] >>> 0) {
b[g >> 2] = f;
b[d + 6] = h;
b[d + 3] = c;
b[d + 2] = c;
break a
}
K();
throw "Reached an unreachable!";
}
e <<= 1;
h = k
}
}
while (0)
}
function hf(a, c) {
function f(a) {
if ("double" === a) var f = (cb[0] = b[c + d >> 2], cb[1] = b[c + d + 4 >> 2], Xb[0]);
else "i64" == a ? f = [b[c + d >> 2], b[c + d + 4 >> 2]] : (a = "i32", f = b[c + d >> 2]);
d += Q.Cc(a);
return f
}
for (var d = 0, e = [], h, g;;) {
var k = a;
h = D[a];
if (0 === h) break;
g = D[a + 1];
if (37 == h) {
var l = !1,
p = !1,
y = !1,
E = !1;
a: for (;;) {
switch (g) {
case 43:
l = !0;
break;
case 45:
p = !0;
break;
case 35:
y = !0;
break;
case 48:
if (E) break a;
else {
E = !0;
break
}
default:
break a
}
a++;
g = D[a + 1]
}
var H = 0;
if (42 == g) H = f("i32"), a++, g = D[a + 1];
else
for (; 48 <= g && 57 >= g;) H = 10 * H + (g - 48), a++, g = D[a + 1];
var x = !1;
if (46 == g) {
var q = 0;
x = !0;
a++;
g = D[a + 1];
if (42 == g) q = f("i32"), a++;
else
for (;;) {
g = D[a + 1];
if (48 > g || 57 < g) break;
q = 10 * q + (g - 48);
a++
}
g = D[a + 1]
} else q = 6;
switch (String.fromCharCode(g)) {
case "h":
g = D[a + 2];
if (104 == g) {
a++;
var t = 1
} else t = 2;
break;
case "l":
g = D[a + 2];
108 == g ? (a++, t = 8) : t = 4;
break;
case "L":
case "q":
case "j":
t = 8;
break;
case "z":
case "t":
case "I":
t = 4;
break;
default:
t = null
}
t && a++;
g = D[a + 1];
if (-1 != "diuoxXp".split("").indexOf(String.fromCharCode(g))) {
k = 100 == g || 105 == g;
t = t || 4;
var v = h = f("i" + 8 * t),
m;
8 == t && (h = Q.Mc(h[0], h[1], 117 == g));
4 >= t && (h = (k ? L : R)(h & Math.pow(256, t) - 1, 8 * t));
var w = Math.abs(h);
k = "";
if (100 == g || 105 == g) 8 == t && Bb ? m = Bb.stringify(v[0], v[1]) : m = L(h, 8 * t, 1).toString(10);
else if (117 == g) 8 == t && Bb ? m = Bb.stringify(v[0], v[1], !0) : m = R(h, 8 * t, 1).toString(10), h = Math.abs(h);
else if (111 == g) m = (y ? "0" : "") + w.toString(8);
else if (120 == g || 88 == g) {
k = y ? "0x" : "";
if (0 > h) {
h = -h;
m = (w - 1).toString(16);
y = [];
for (v = 0; v < m.length; v++) y.push((15 - parseInt(m[v], 16)).toString(16));
for (m = y.join(""); m.length < 2 * t;) m = "f" + m
} else m = w.toString(16);
88 == g && (k = k.toUpperCase(), m = m.toUpperCase())
} else 112 == g && (0 === w ? m = "(nil)" : (k = "0x", m = w.toString(16)));
if (x)
for (; m.length < q;) m = "0" + m;
for (l && (k = 0 > h ? "-" + k : "+" + k); k.length + m.length < H;) p ? m += " " : E ? m = "0" + m : k = " " + k;
m = k + m;
m.split("").forEach(function(a) {
e.push(a.charCodeAt(0))
})
} else if (-1 != "fFeEgG".split("").indexOf(String.fromCharCode(g))) {
h = f("double");
if (isNaN(h)) m = "nan", E = !1;
else if (isFinite(h)) {
x = !1;
t = Math.min(q, 20);
if (103 == g || 71 == g) x = !0, q = q || 1, t = parseInt(h.toExponential(t).split("e")[1], 10), q > t && -4 <= t ? (g = (103 == g ? "f" : "F").charCodeAt(0), q -= t + 1) : (g = (103 == g ? "e" : "E").charCodeAt(0), q--), t = Math.min(q, 20);
if (101 == g || 69 == g) m = h.toExponential(t), /[eE][-+]\d$/.test(m) && (m = m.slice(0, -1) + "0" + m.slice(-1));
else if (102 == g || 70 == g) m = h.toFixed(t);
k = m.split("e");
if (x && !y)
for (; 1 < k[0].length && -1 != k[0].indexOf(".") && ("0" == k[0].slice(-1) || "." == k[0].slice(-1));) k[0] = k[0].slice(0, -1);
else
for (y && -1 == m.indexOf(".") && (k[0] += "."); q > t++;) k[0] += "0";
m = k[0] + (1 < k.length ? "e" + k[1] : "");
69 == g && (m = m.toUpperCase());
l && 0 <= h && (m = "+" + m)
} else m = (0 > h ? "-" : "") + "inf", E = !1;
for (; m.length < H;) p ? m += " " : !E || "-" != m[0] && "+" != m[0] ? m = (E ? "0" : " ") + m : m = m[0] + "0" + m.slice(1);
97 > g && (m = m.toUpperCase());
m.split("").forEach(function(a) {
e.push(a.charCodeAt(0))
})
} else if (115 == g) {
(l = f("i8*")) ? (l = B(l), x && l.length > q && (l = l.slice(0, q))) : l = A("(null)", !0);
if (!p)
for (; l.length < H--;) e.push(32);
e = e.concat(l);
if (p)
for (; l.length < H--;) e.push(32)
} else if (99 == g) {
for (p && e.push(f("i8")); 0 < --H;) e.push(32);
p || e.push(f("i8"))
} else if (110 == g) p = f("i32*"), b[p >> 2] = e.length;
else if (37 == g) e.push(h);
else
for (v = k; v < a + 2; v++) e.push(D[v]);
a += 2
} else e.push(h), a += 1
}
return e
}
function jf(a, b, c, d) {
c = hf(c, d);
b = void 0 === b ? c.length : Math.min(c.length, b - 1);
for (d = 0; d < b; d++) D[a + d] = c[d];
D[a + d] = 0;
return c.length
}
function Ld(a, b, c) {
return jf(a, void 0, b, c)
}
function Y(a) {
Y.a || (Y.a = g([0], "i32", 2));
return b[Y.a >> 2] = a
}
function kf(a, b, c, d) {
a = F.streams[a];
if (!a || a.object.T) return Y(ra.Pa), -1;
if (a.pa) {
if (a.object.Y) return Y(ra.Jb), -1;
if (0 > c || 0 > d) return Y(ra.wa), -1;
for (var f = a.object.v; f.length < d;) f.push(0);
for (var e = 0; e < c; e++) f[d + e] = I[b + e];
a.object.timestamp = Date.now();
return e
}
Y(ra.fa);
return -1
}
function sd(a, b, c) {
var f = F.streams[a];
if (f) {
if (f.pa) {
if (0 > c) return Y(ra.wa), -1;
if (f.object.T) {
if (f.object.ca) {
for (a = 0; a < c; a++) try {
f.object.ca(D[b + a])
} catch (na) {
return Y(ra.Qa), -1
}
f.object.timestamp = Date.now();
return a
}
Y(ra.Lb);
return -1
}
b = kf(a, b, c, f.position); - 1 != b && (f.position += b);
return b
}
Y(ra.fa);
return -1
}
Y(ra.Pa);
return -1
}
function lf(a) {
return z(a)
}
function mf(a, b) {
return sd(b, a, lf(a))
}
function Nb(a, b) {
a = R(a & 255);
D[Nb.a] = a;
return -1 == sd(b, Nb.a, 1) ? (b in F.streams && (F.streams[b].error = !0), -1) : a
}
function Md(a) {
var c = b[Ob >> 2];
a = mf(a, c);
return 0 > a ? a : 0 > Nb(10, c) ? -1 : a + 1
}
function Xa(a, c, d) {
if (20 <= d) {
for (d = a + d; a % 4;) D[a++] = c;
0 > c && (c += 256);
a >>= 2;
for (var f = d >> 2, e = c | c << 8 | c << 16 | c << 24; a < f;) b[a++] = e;
for (a <<= 2; a < d;) D[a++] = c
} else
for (; d--;) D[a++] = c
}
function fb(a, c, d) {
if (20 <= d && c % 2 == a % 2)
if (c % 4 == a % 4) {
for (d = c + d; c % 4;) D[a++] = D[c++];
c >>= 2;
a >>= 2;
for (var f = d >> 2; c < f;) b[a++] = b[c++];
c <<= 2;
for (a <<= 2; c < d;) D[a++] = D[c++]
} else {
d = c + d;
c % 2 && (D[a++] = D[c++]);
c >>= 1;
a >>= 1;
for (f = d >> 1; c < f;) Da[a++] = Da[c++];
c <<= 1;
a <<= 1;
c < d && (D[a++] = D[c++])
} else
for (; d--;) D[a++] = D[c++]
}
function K() {
throw "abort() at " + Error().stack;
}
function $e(a) {
switch (a) {
case 8:
return 4096;
case 54:
case 56:
case 21:
case 61:
case 63:
case 22:
case 67:
case 23:
case 24:
case 25:
case 26:
case 27:
case 69:
case 28:
case 101:
case 70:
case 71:
case 29:
case 30:
case 199:
case 75:
case 76:
case 32:
case 43:
case 44:
case 80:
case 46:
case 47:
case 45:
case 48:
case 49:
case 42:
case 82:
case 33:
case 7:
case 108:
case 109:
case 107:
case 112:
case 119:
case 121:
return 200809;
case 13:
case 104:
case 94:
case 95:
case 34:
case 35:
case 77:
case 81:
case 83:
case 84:
case 85:
case 86:
case 87:
case 88:
case 89:
case 90:
case 91:
case 94:
case 95:
case 110:
case 111:
case 113:
case 114:
case 115:
case 116:
case 117:
case 118:
case 120:
case 40:
case 16:
case 79:
case 19:
return -1;
case 92:
case 93:
case 5:
case 72:
case 6:
case 74:
case 92:
case 93:
case 96:
case 97:
case 98:
case 99:
case 102:
case 103:
case 105:
return 1;
case 38:
case 66:
case 50:
case 51:
case 4:
return 1024;
case 15:
case 64:
case 41:
return 32;
case 55:
case 37:
case 17:
return 2147483647;
case 18:
case 1:
return 47839;
case 59:
case 57:
return 99;
case 68:
case 58:
return 2048;
case 0:
return 2097152;
case 3:
return 65536;
case 14:
return 32768;
case 73:
return 32767;
case 39:
return 16384;
case 60:
return 1E3;
case 106:
return 700;
case 52:
return 256;
case 62:
return 255;
case 2:
return 100;
case 65:
return 64;
case 36:
return 20;
case 100:
return 16;
case 20:
return 6;
case 53:
return 4
}
Y(ra.wa);
return -1
}
function af(a) {
var c = Math.floor(Date.now() / 1E3);
a && (b[a >> 2] = c);
return c
}
function nf() {
return Y.a
}
function La(a) {
var b = La;
b.b || (Ia = Ia + 4095 >> 12 << 12, b.b = !0);
b = Ia;
0 != a && Q.Cb(a);
return b
}
function td(a) {
a = a || w.arguments;
w.setStatus && w.setStatus("");
w.preRun && w.preRun();
var b = null;
w._main && (p(ud), b = w.jc(a), w.noExitRuntime || (p(vd), of.print()));
w.postRun && w.postRun();
return b
}
var ib = {};
if ("undefined" == typeof wb) var wb = {};
var w = {};
try {
this.Module = w
} catch (a) {
this.Module = w = {}
}
var wd = "object" === typeof wb;
if (wd)
if (wd) w.print || (w.print = function(a) {
console.log(a)
}), w.printErr || (w.printErr = function(a) {
console.log(a)
}), w.read = function(a) {
var b = new XMLHttpRequest;
b.open("GET", a, !1);
b.send(null);
return b.responseText
}, w.arguments || "undefined" != typeof arguments && (w.arguments = arguments);
else throw "Unknown runtime environment. Where are we?";
else w.print = print, w.printErr = printErr, w.read = "undefined" != typeof read ? read : function(a) {
snarf(a)
}, w.arguments || ("undefined" != typeof scriptArgs ? w.arguments = scriptArgs : "undefined" != typeof arguments && (w.arguments = arguments));
"undefined" == !w.load && w.read && (w.load = function(a) {
c(w.read(a))
});
w.printErr || (w.printErr = function() {});
w.print || (w.print = w.printErr);
w.arguments || (w.arguments = []);
w.print = w.print;
w.qf = w.printErr;
var Q = {
Bb: function() {
return M
},
kd: function(a) {
M = a
},
bf: function(a, b) {
b = b || 4;
return 1 == b ? a : "Math.ceil((" + a + ")/" + b + ")*" + b
},
Ic: function(a) {
return a in Q.Sb || a in Q.Nb
},
Jc: function(a) {
return "*" == a[a.length - 1]
},
Lc: function(a) {
return isPointerType(a) ? !1 : /^\[\d+ x (.*)\]/.test(a) || /<?{ ?[^}]* ?}>?/.test(a) ? !0 : "%" == a[0]
},
Sb: {
i1: 0,
i8: 0,
i16: 0,
i32: 0,
i64: 0
},
Nb: {
"float": 0,
"double": 0
},
Se: function(a, b, c, e) {
var f = Math.pow(2, e) - 1;
if (32 > e) switch (c) {
case "shl":
return [a << e, b << e | (a & f << 32 - e) >>> 32 - e];
case "ashr":
return [(a >>> e | (b & f) << 32 - e) >> 0 >>> 0, b >> e >>> 0];
case "lshr":
return [(a >>> e | (b & f) << 32 - e) >>> 0, b >>> e]
} else if (32 == e) switch (c) {
case "shl":
return [0, a];
case "ashr":
return [b, 0 > (b | 0) ? f : 0];
case "lshr":
return [b, 0]
} else switch (c) {
case "shl":
return [0, a << e - 32];
case "ashr":
return [b >> e - 32 >>> 0, 0 > (b | 0) ? f : 0];
case "lshr":
return [b >>> e - 32, 0]
}
d("unknown bitshift64 op: " + [value, c, e])
},
nf: function(a, b) {
return (a | 0 | b | 0) + 4294967296 * (Math.round(a / 4294967296) | Math.round(b / 4294967296))
},
Qe: function(a, b) {
return ((a | 0) & (b | 0)) + 4294967296 * (Math.round(a / 4294967296) & Math.round(b / 4294967296))
},
uf: function(a, b) {
return ((a | 0) ^ (b | 0)) + 4294967296 * (Math.round(a / 4294967296) ^ Math.round(b / 4294967296))
},
Ea: function(a) {
if (1 == Q.ja) return 1;
var b = {
"%i1": 1,
"%i8": 1,
"%i16": 2,
"%i32": 4,
"%i64": 8,
"%float": 4,
"%double": 8
}["%" + a];
b || ("*" == a[a.length - 1] ? b = Q.ja : "i" == a[0] && (a = parseInt(a.substr(1)), e(0 == a % 8), b = a / 8));
return b
},
Cc: function(a) {
return Math.max(Q.Ea(a), Q.ja)
},
tc: function(a, b) {
var c = {};
return b ? a.filter(function(a) {
return c[a[b]] ? !1 : c[a[b]] = !0
}) : a.filter(function(a) {
return c[a] ? !1 : c[a] = !0
})
},
set: function() {
for (var a = "object" === typeof arguments[0] ? arguments[0] : arguments, b = {}, c = 0; c < a.length; c++) b[a[c]] = 0;
return b
},
ic: function(a) {
a.W = 0;
a.la = 0;
var b = [],
c = -1;
a.lb = a.Ca.map(function(f) {
var d;
if (Q.Ic(f) || Q.Jc(f)) f = d = Q.Ea(f);
else if (Q.Lc(f)) d = ib.types[f].W, f = ib.types[f].la;
else throw "Unclear type in struct: " + f + ", in " + a.Qc + " :: " + dump(ib.types[a.Qc]);
f = a.pf ? 1 : Math.min(f, Q.ja);
a.la = Math.max(a.la, f);
f = Q.ka(a.W, f);
a.W = f + d;
0 <= c && b.push(f - c);
return c = f
});
a.W = Q.ka(a.W, a.la);
0 == b.length ? a.kb = a.W : 1 == Q.tc(b).length && (a.kb = b[0]);
a.lf = 1 != a.kb;
return a.lb
},
zc: function(a, b, c) {
if (b) {
c = c || 0;
var f = ("undefined" === typeof ib ? Q.tf : ib.types)[b];
if (!f) return null;
e(f.Ca.length === a.length, "Number of named fields must match the type for " + b);
var d = f.lb
} else f = {
Ca: a.map(function(a) {
return a[0]
})
}, d = Q.ic(f);
var g = {
Ne: f.W
};
b ? a.forEach(function(a, b) {
if ("string" === typeof a) g[a] = d[b] + c;
else {
var e;
for (e in a) var h = e;
g[h] = Q.zc(a[h], f.Ca[b], d[b])
}
}) : a.forEach(function(a, b) {
g[a[1]] = d[b]
});
return g
},
Pe: function(a) {
var b = Ma.length;
Ma.push(a);
Ma.push(0);
return b
},
Ma: function(a) {
var b = M;
M += a;
M = M + 3 >> 2 << 2;
return b
},
Cb: function(a) {
var c = Ia;
Ia += a;
Ia = Ia + 3 >> 2 << 2;
if (Ia >= bb) {
for (; bb <= Ia;) bb = 2 * bb + 4095 >> 12 << 12;
a = D;
var d = new ArrayBuffer(bb);
D = new Int8Array(d);
Da = new Int16Array(d);
b = new Int32Array(d);
I = new Uint8Array(d);
Z = new Uint16Array(d);
t = new Uint32Array(d);
Cb = new Float32Array(d);
ic = new Float64Array(d);
D.set(a)
}
return c
},
ka: function(a, b) {
return Math.ceil(a / (b ? b : 4)) * (b ? b : 4)
},
Mc: function(a, b, c) {
return c ? (a >>> 0) + 4294967296 * (b >>> 0) : (a >>> 0) + 4294967296 * (b | 0)
},
ja: 4,
Me: 0
},
of = {
Xb: 0,
bb: 0,
rf: {},
mf: function(a, b) {
b || (this.bb++, this.bb >= this.Xb && d("\n\nToo many corrections!"))
},
print: function() {}
},
lb, Kd = this;
w.ccall = h;
w.cwrap = function(a, b, c) {
return function() {
return h(a, b, c, Array.prototype.slice.call(arguments))
}
};
w.setValue = k;
w.getValue = function(a, c) {
c = c || "i8";
"*" === c[c.length - 1] && (c = "i32");
switch (c) {
case "i1":
return D[a];
case "i8":
return D[a];
case "i16":
return Da[a >> 1];
case "i32":
return b[a >> 2];
case "i64":
return b[a >> 2];
case "float":
return Cb[a >> 2];
case "double":
return cb[0] = b[a >> 2], cb[1] = b[a + 4 >> 2], Xb[0];
default:
d("invalid type for setValue: " + c)
}
return null
};
w.ALLOC_NORMAL = 0;
w.ALLOC_STACK = 1;
w.ALLOC_STATIC = 2;
w.allocate = g;
w.Pointer_stringify = m;
w.Array_stringify = function(a) {
for (var b = "", c = 0; c < a.length; c++) b += String.fromCharCode(a[c]);
return b
};
var M, pf = w.TOTAL_STACK || 5242880,
bb = w.TOTAL_MEMORY || 10485760;
e(!!Int32Array && !!Float64Array && !!(new Int32Array(1)).subarray && !!(new Int32Array(1)).set, "Cannot fallback to non-typed array case: Code is too specialized");
var Qa = new ArrayBuffer(bb);
var D = new Int8Array(Qa);
var Da = new Int16Array(Qa);
var b = new Int32Array(Qa);
var I = new Uint8Array(Qa);
var Z = new Uint16Array(Qa);
var t = new Uint32Array(Qa);
var Cb = new Float32Array(Qa);
var ic = new Float64Array(Qa);
b[0] = 255;
e(255 === I[0] && 0 === I[3], "Typed arrays 2 must be run on a little-endian system");
var jc = A("(null)");
var Ia = jc.length;
for (var Pb = 0; Pb < jc.length; Pb++) D[Pb] = jc[Pb];
w.HEAP = void 0;
w.HEAP8 = D;
w.HEAP16 = Da;
w.HEAP32 = b;
w.HEAPU8 = I;
w.HEAPU16 = Z;
w.HEAPU32 = t;
w.HEAPF32 = Cb;
w.HEAPF64 = ic;
var kc = (M = Q.ka(Ia)) + pf;
var lc = Q.ka(kc, 8),
cb = b.subarray(lc >> 2),
Xb = ic.subarray(lc >> 3);
kc = lc + 8;
Ia = kc + 4095 >> 12 << 12;
var xd = [],
ud = [],
vd = [];
w.Array_copy = v;
w.TypedArray_copy = function(a, b, c) {
void 0 === c && (c = 0);
for (var d = new Uint8Array(b - c), f = c; f < b; ++f) d[f - c] = D[a + f];
return d.buffer
};
w.String_len = z;
w.String_copy = B;
w.intArrayFromString = A;
w.intArrayToString = function(a) {
for (var b = [], c = 0; c < a.length; c++) {
var d = a[c];
255 < d && (d &= 255);
b.push(String.fromCharCode(d))
}
return b.join("")
};
w.writeStringToMemory = G;
w.writeArrayToMemory = C;
var q = [],
mc = 0;
la.X = 1;
Ja.X = 1;
Sa.X = 1;
U.X = 1;
yb.X = 1;
wa.X = 1;
Pc.X = 1;
w._crn_get_width = xe;
w._crn_get_height = ze;
w._crn_get_levels = Ae;
w._crn_get_dxt_format = Be;
w._crn_get_decompressed_size = Ce;
w._crn_decompress = De;
Qc.X = 1;
Uc.X = 1;
Rc.X = 1;
Sc.X = 1;
Tc.X = 1;
Zc.X = 1;
$c.X = 1;
ad.X = 1;
bd.X = 1;
w._malloc = db;
db.X = 1;
fd.X = 1;
hd.X = 1;
gd.X = 1;
md.X = 1;
w._free = eb;
eb.X = 1;
nd.X = 1;
jd.X = 1;
kd.X = 1;
var Bb = function() {
function a(a, b) {
this.j = a | 0;
this.m = b | 0
}
function b(a, b, c) {
null != a && ("number" == typeof a ? this.C(a, b, c) : null == b && "string" != typeof a ? this.J(a, 256) : this.J(a, b))
}
function c() {
return new b(null)
}
function d(a) {
return "0123456789abcdefghijklmnopqrstuvwxyz".charAt(a)
}
function e(a, b) {
a = h[a.charCodeAt(b)];
return null == a ? -1 : a
}
function g(a) {
var b = c();
b.S(a);
return b
}
a.Va = {};
a.S = function(b) {
if (-128 <= b && 128 > b) {
var c = a.Va[b];
if (c) return c
}
c = new a(b | 0, 0 > b ? -1 : 0); - 128 <= b && 128 > b && (a.Va[b] = c);
return c
};
a.C = function(b) {
return isNaN(b) || !isFinite(b) ? a.K : b <= -a.Ya ? a.w : b + 1 >= a.Ya ? a.yc : 0 > b ? a.C(-b).s() : new a(b % a.P | 0, b / a.P | 0)
};
a.I = function(b, c) {
return new a(b, c)
};
a.J = function(b, c) {
if (0 == b.length) throw Error("number format error: empty string");
c = c || 10;
if (2 > c || 36 < c) throw Error("radix out of range: " + c);
if ("-" == b.charAt(0)) return a.J(b.substring(1), c).s();
if (0 <= b.indexOf("-")) throw Error('number format error: interior "-" character: ' + b);
for (var d = a.C(Math.pow(c, 8)), f = a.K, e = 0; e < b.length; e += 8) {
var g = Math.min(8, b.length - e),
h = parseInt(b.substring(e, e + g), c);
8 > g ? (g = a.C(Math.pow(c, g)), f = f.multiply(g).add(a.C(h))) : (f = f.multiply(d), f = f.add(a.C(h)))
}
return f
};
a.xa = 65536;
a.Ge = 16777216;
a.P = a.xa * a.xa;
a.He = a.P / 2;
a.Ie = a.P * a.xa;
a.dc = a.P * a.P;
a.Ya = a.dc / 2;
a.K = a.S(0);
a.ga = a.S(1);
a.Wa = a.S(-1);
a.yc = a.I(-1, 2147483647);
a.w = a.I(0, -2147483648);
a.Xa = a.S(16777216);
a.prototype.va = function() {
return this.m * a.P + this.Bc()
};
a.prototype.toString = function(b) {
b = b || 10;
if (2 > b || 36 < b) throw Error("radix out of range: " + b);
if (this.Z()) return "0";
if (this.A()) {
if (this.equals(a.w)) {
var c = a.C(b),
d = this.H(c);
c = d.multiply(c).V(this);
return d.toString(b) + c.j.toString(b)
}
return "-" + this.s().toString(b)
}
d = a.C(Math.pow(b, 6));
c = this;
for (var f = "";;) {
var e = c.H(d),
g = c.V(e.multiply(d)).j.toString(b);
c = e;
if (c.Z()) return g + f;
for (; 6 > g.length;) g = "0" + g;
f = "" + g + f
}
};
a.prototype.Bc = function() {
return 0 <= this.j ? this.j : a.P + this.j
};
a.prototype.Z = function() {
return 0 == this.m && 0 == this.j
};
a.prototype.A = function() {
return 0 > this.m
};
a.prototype.rb = function() {
return 1 == (this.j & 1)
};
a.prototype.equals = function(a) {
return this.m == a.m && this.j == a.j
};
a.prototype.vb = function(a) {
return 0 > this.compare(a)
};
a.prototype.Dc = function(a) {
return 0 < this.compare(a)
};
a.prototype.Ec = function(a) {
return 0 <= this.compare(a)
};
a.prototype.compare = function(a) {
if (this.equals(a)) return 0;
var b = this.A(),
c = a.A();
return b && !c ? -1 : !b && c ? 1 : this.V(a).A() ? -1 : 1
};
a.prototype.s = function() {
return this.equals(a.w) ? a.w : this.Sc().add(a.ga)
};
a.prototype.add = function(b) {
var c = this.m >>> 16,
d = this.m & 65535,
f = this.j >>> 16,
e = b.m >>> 16,
g = b.m & 65535,
h = b.j >>> 16;
b = (this.j & 65535) + (b.j & 65535);
h = (b >>> 16) + (f + h);
f = h >>> 16;
f += d + g;
c = (f >>> 16) + (c + e) & 65535;
return a.I((h & 65535) << 16 | b & 65535, c << 16 | f & 65535)
};
a.prototype.V = function(a) {
return this.add(a.s())
};
a.prototype.multiply = function(b) {
if (this.Z() || b.Z()) return a.K;
if (this.equals(a.w)) return b.rb() ? a.w : a.K;
if (b.equals(a.w)) return this.rb() ? a.w : a.K;
if (this.A()) return b.A() ? this.s().multiply(b.s()) : this.s().multiply(b).s();
if (b.A()) return this.multiply(b.s()).s();
if (this.vb(a.Xa) && b.vb(a.Xa)) return a.C(this.va() * b.va());
var c = this.m >>> 16,
d = this.m & 65535,
f = this.j >>> 16,
e = this.j & 65535,
g = b.m >>> 16,
h = b.m & 65535,
k = b.j >>> 16;
b = b.j & 65535;
var y = e * b;
var l = (y >>> 16) + f * b;
var n = l >>> 16;
l = (l & 65535) + e * k;
n += l >>> 16;
n += d * b;
var m = n >>> 16;
n = (n & 65535) + f * k;
m += n >>> 16;
n = (n & 65535) + e * h;
m = m + (n >>> 16) + (c * b + d * k + f * h + e * g) & 65535;
return a.I((l & 65535) << 16 | y & 65535, m << 16 | n & 65535)
};
a.prototype.H = function(b) {
if (b.Z()) throw Error("division by zero");
if (this.Z()) return a.K;
if (this.equals(a.w)) {
if (b.equals(a.ga) || b.equals(a.Wa)) return a.w;
if (b.equals(a.w)) return a.ga;
var c = this.gd(1).H(b).shiftLeft(1);
if (c.equals(a.K)) return b.A() ? a.ga : a.Wa;
var d = this.V(b.multiply(c));
return c.add(d.H(b))
}
if (b.equals(a.w)) return a.K;
if (this.A()) return b.A() ? this.s().H(b.s()) : this.s().H(b).s();
if (b.A()) return this.H(b.s()).s();
var f = a.K;
for (d = this; d.Ec(b);) {
c = Math.max(1, Math.floor(d.va() / b.va()));
var e = Math.ceil(Math.log(c) / Math.LN2);
e = 48 >= e ? 1 : Math.pow(2, e - 48);
for (var g = a.C(c), h = g.multiply(b); h.A() || h.Dc(d);) c -= e, g = a.C(c), h = g.multiply(b);
g.Z() && (g = a.ga);
f = f.add(g);
d = d.V(h)
}
return f
};
a.prototype.yb = function(a) {
return this.V(this.H(a).multiply(a))
};
a.prototype.Sc = function() {
return a.I(~this.j, ~this.m)
};
a.prototype.shiftLeft = function(b) {
b &= 63;
if (0 == b) return this;
var c = this.j;
return 32 > b ? a.I(c << b, this.m << b | c >>> 32 - b) : a.I(0, c << b - 32)
};
a.prototype.gd = function(b) {
b &= 63;
if (0 == b) return this;
var c = this.m;
return 32 > b ? a.I(this.j >>> b | c << 32 - b, c >> b) : a.I(c >> b - 32, 0 <= c ? 0 : -1)
};
b.prototype.ya = function(a, b, c, d, f, e) {
for (; 0 <= --e;) {
var g = b * this[a++] + c[d] + f;
f = Math.floor(g / 67108864);
c[d++] = g & 67108863
}
return f
};
b.prototype.i = 26;
b.prototype.G = 67108863;
b.prototype.ea = 67108864;
b.prototype.Ob = Math.pow(2, 52);
b.prototype.Ta = 26;
b.prototype.Ua = 0;
var h = [],
k;
var l = 48;
for (k = 0; 9 >= k; ++k) h[l++] = k;
l = 97;
for (k = 10; 36 > k; ++k) h[l++] = k;
l = 65;
for (k = 10; 36 > k; ++k) h[l++] = k;
b.prototype.copyTo = function(a) {
for (var b = this.t - 1; 0 <= b; --b) a[b] = this[b];
a.t = this.t;
a.g = this.g
};
b.prototype.S = function(a) {
this.t = 1;
this.g = 0 > a ? -1 : 0;
0 < a ? this[0] = a : -1 > a ? this[0] = a + DV : this.t = 0
};
b.prototype.J = function(a, c) {
if (16 == c) c = 4;
else if (8 == c) c = 3;
else if (256 == c) c = 8;
else if (2 == c) c = 1;
else if (32 == c) c = 5;
else if (4 == c) c = 2;
else {
this.xc(a, c);
return
}
this.g = this.t = 0;
for (var d = a.length, f = !1, g = 0; 0 <= --d;) {
var h = 8 == c ? a[d] & 255 : e(a, d);
0 > h ? "-" == a.charAt(d) && (f = !0) : (f = !1, 0 == g ? this[this.t++] = h : g + c > this.i ? (this[this.t - 1] |= (h & (1 << this.i - g) - 1) << g, this[this.t++] = h >> this.i - g) : this[this.t - 1] |= h << g, g += c, g >= this.i && (g -= this.i))
}
8 == c && 0 != (a[0] & 128) && (this.g = -1, 0 < g && (this[this.t - 1] |= (1 << this.i - g) - 1 << g));
this.R();
f && b.a.F(this, this)
};
b.prototype.R = function() {
for (var a = this.g & this.G; 0 < this.t && this[this.t - 1] == a;) --this.t
};
b.prototype.Ba = function(a, b) {
var c;
for (c = this.t - 1; 0 <= c; --c) b[c + a] = this[c];
for (c = a - 1; 0 <= c; --c) b[c] = 0;
b.t = this.t + a;
b.g = this.g
};
b.prototype.vc = function(a, b) {
for (var c = a; c < this.t; ++c) b[c - a] = this[c];
b.t = Math.max(this.t - a, 0);
b.g = this.g
};
b.prototype.ub = function(a, b) {
var c = a % this.i,
d = this.i - c,
f = (1 << d) - 1;
a = Math.floor(a / this.i);
var e = this.g << c & this.G,
g;
for (g = this.t - 1; 0 <= g; --g) b[g + a + 1] = this[g] >> d | e, e = (this[g] & f) << c;
for (g = a - 1; 0 <= g; --g) b[g] = 0;
b[a] = e;
b.t = this.t + a + 1;
b.g = this.g;
b.R()
};
b.prototype.Uc = function(a, b) {
b.g = this.g;
var c = Math.floor(a / this.i);
if (c >= this.t) b.t = 0;
else {
a %= this.i;
var d = this.i - a,
f = (1 << a) - 1;
b[0] = this[c] >> a;
for (var e = c + 1; e < this.t; ++e) b[e - c - 1] |= (this[e] & f) << d, b[e - c] = this[e] >> a;
0 < a && (b[this.t - c - 1] |= (this.g & f) << d);
b.t = this.t - c;
b.R()
}
};
b.prototype.F = function(a, b) {
for (var c = 0, d = 0, f = Math.min(a.t, this.t); c < f;) d += this[c] - a[c], b[c++] = d & this.G, d >>= this.i;
if (a.t < this.t) {
for (d -= a.g; c < this.t;) d += this[c], b[c++] = d & this.G, d >>= this.i;
d += this.g
} else {
for (d += this.g; c < a.t;) d -= a[c], b[c++] = d & this.G, d >>= this.i;
d -= a.g
}
b.g = 0 > d ? -1 : 0; - 1 > d ? b[c++] = this.ea + d : 0 < d && (b[c++] = d);
b.t = c;
b.R()
};
b.prototype.Pc = function(a, c) {
var d = this.abs(),
f = a.abs(),
e = d.t;
for (c.t = e + f.t; 0 <= --e;) c[e] = 0;
for (e = 0; e < f.t; ++e) c[e + d.t] = d.ya(0, f[e], c, e, 0, d.t);
c.g = 0;
c.R();
this.g != a.g && b.a.F(c, c)
};
b.prototype.aa = function(a, d, f) {
var e = a.abs();
if (!(0 >= e.t)) {
var g = this.abs();
if (g.t < e.t) null != d && d.S(0), null != f && this.copyTo(f);
else {
null == f && (f = c());
var h = c(),
k = this.g;
a = a.g;
var l = e[e.t - 1],
n = 1,
m;
0 != (m = l >>> 16) && (l = m, n += 16);
0 != (m = l >> 8) && (l = m, n += 8);
0 != (m = l >> 4) && (l = m, n += 4);
0 != (m = l >> 2) && (l = m, n += 2);
0 != l >> 1 && (n += 1);
l = this.i - n;
0 < l ? (e.ub(l, h), g.ub(l, f)) : (e.copyTo(h), g.copyTo(f));
e = h.t;
g = h[e - 1];
if (0 != g) {
m = g * (1 << this.Ta) + (1 < e ? h[e - 2] >> this.Ua : 0);
n = this.Ob / m;
m = (1 << this.Ta) / m;
var u = 1 << this.Ua,
y = f.t,
p = y - e,
r = null == d ? c() : d;
h.Ba(p, r);
0 <= f.kc(r) && (f[f.t++] = 1, f.F(r, f));
b.c.Ba(e, r);
for (r.F(h, h); h.t < e;) h[h.t++] = 0;
for (; 0 <= --p;) {
var q = f[--y] == g ? this.G : Math.floor(f[y] * n + (f[y - 1] + u) * m);
if ((f[y] += h.ya(0, q, f, p, 0, e)) < q)
for (h.Ba(p, r), f.F(r, f); f[y] < --q;) f.F(r, f)
}
null != d && (f.vc(e, d), k != a && b.a.F(d, d));
f.t = e;
f.R();
0 < l && f.Uc(l, f);
0 > k && b.a.F(f, f)
}
}
}
};
b.prototype.toString = function(a) {
if (0 > this.g) return "-" + this.s().toString(a);
if (16 == a) a = 4;
else if (8 == a) a = 3;
else if (2 == a) a = 1;
else if (32 == a) a = 5;
else if (4 == a) a = 2;
else return this.ld(a);
var b = (1 << a) - 1,
c, f = !1,
e = "",
g = this.t,
h = this.i - g * this.i % a;
if (0 < g--)
for (h < this.i && 0 < (c = this[g] >> h) && (f = !0, e = d(c)); 0 <= g;) h < a ? (c = (this[g] & (1 << h) - 1) << a - h, c |= this[--g] >> (h += this.i - a)) : (c = this[g] >> (h -= a) & b, 0 >= h && (h += this.i, --g)), 0 < c && (f = !0), f && (e += d(c));
return f ? e : "0"
};
b.prototype.s = function() {
var a = c();
b.a.F(this, a);
return a
};
b.prototype.abs = function() {
return 0 > this.g ? this.s() : this
};
b.prototype.kc = function(a) {
var b = this.g - a.g;
if (0 != b) return b;
var c = this.t;
b = c - a.t;
if (0 != b) return b;
for (; 0 <= --c;)
if (0 != (b = this[c] - a[c])) return b;
return 0
};
b.a = g(0);
b.c = g(1);
b.prototype.xc = function(a, c) {
this.S(0);
null == c && (c = 10);
for (var d = this.ab(c), f = Math.pow(c, d), g = !1, h = 0, k = 0, l = 0; l < a.length; ++l) {
var n = e(a, l);
0 > n ? "-" == a.charAt(l) && 0 == this.La() && (g = !0) : (k = c * k + n, ++h >= d && (this.gb(f), this.fb(k, 0), k = h = 0))
}
0 < h && (this.gb(Math.pow(c, h)), this.fb(k, 0));
g && b.a.F(this, this)
};
b.prototype.ab = function(a) {
return Math.floor(Math.LN2 * this.i / Math.log(a))
};
b.prototype.La = function() {
return 0 > this.g ? -1 : 0 >= this.t || 1 == this.t && 0 >= this[0] ? 0 : 1
};
b.prototype.gb = function(a) {
this[this.t] = this.ya(0, a - 1, this, 0, 0, this.t);
++this.t;
this.R()
};
b.prototype.fb = function(a, b) {
if (0 != a) {
for (; this.t <= b;) this[this.t++] = 0;
for (this[b] += a; this[b] >= this.ea;) this[b] -= this.ea, ++b >= this.t && (this[this.t++] = 0), ++this[b]
}
};
b.prototype.ld = function(a) {
null == a && (a = 10);
if (0 == this.La() || 2 > a || 36 < a) return "0";
var b = Math.pow(a, this.ab(a)),
d = g(b),
f = c(),
e = c(),
h = "";
for (this.aa(d, f, e); 0 < f.La();) h = (b + e.pb()).toString(a).substr(1) + h, f.aa(d, f, e);
return e.pb().toString(a) + h
};
b.prototype.pb = function() {
if (0 > this.g) {
if (1 == this.t) return this[0] - this.ea;
if (0 == this.t) return -1
} else {
if (1 == this.t) return this[0];
if (0 == this.t) return 0
}
return (this[1] & (1 << 32 - this.i) - 1) << this.i | this[0]
};
b.prototype.$a = function(a, b) {
for (var c = 0, d = 0, f = Math.min(a.t, this.t); c < f;) d += this[c] + a[c], b[c++] = d & this.G, d >>= this.i;
if (a.t < this.t) {
for (d += a.g; c < this.t;) d += this[c], b[c++] = d & this.G, d >>= this.i;
d += this.g
} else {
for (d += this.g; c < a.t;) d += a[c], b[c++] = d & this.G, d >>= this.i;
d += a.g
}
b.g = 0 > d ? -1 : 0;
0 < d ? b[c++] = d : -1 > d && (b[c++] = this.ea + d);
b.t = c;
b.R()
};
var m = {
result: [0, 0],
add: function(b, c, d, f) {
b = (new a(b, c)).add(new a(d, f));
m.result[0] = b.j;
m.result[1] = b.m
},
V: function(b, c, d, f) {
b = (new a(b, c)).V(new a(d, f));
m.result[0] = b.j;
m.result[1] = b.m
},
multiply: function(b, c, d, f) {
b = (new a(b, c)).multiply(new a(d, f));
m.result[0] = b.j;
m.result[1] = b.m
},
wb: function() {
m.da = new b;
m.da.J("4294967296", 10)
},
qa: function(a, c) {
var d = new b;
d.J(c.toString(), 10);
c = new b;
d.Pc(m.da, c);
d = new b;
d.J(a.toString(), 10);
a = new b;
d.$a(c, a);
return a
},
Ze: function(c, d, f, e, g) {
m.da || m.wb();
g ? (c = m.qa(c >>> 0, d >>> 0), e = m.qa(f >>> 0, e >>> 0), f = new b, c.aa(e, f, null), e = new b, c = new b, f.aa(m.da, c, e), m.result[0] = parseInt(e.toString()) | 0, m.result[1] = parseInt(c.toString()) | 0) : (c = new a(c, d), e = new a(f, e), f = c.H(e), m.result[0] = f.j, m.result[1] = f.m)
},
yb: function(c, d, f, e, g) {
m.da || m.wb();
g ? (c = m.qa(c >>> 0, d >>> 0), e = m.qa(f >>> 0, e >>> 0), f = new b, c.aa(e, null, f), e = new b, c = new b, f.aa(m.da, c, e), m.result[0] = parseInt(e.toString()) | 0, m.result[1] = parseInt(c.toString()) | 0) : (c = new a(c, d), e = new a(f, e), f = c.yb(e), m.result[0] = f.j, m.result[1] = f.m)
},
stringify: function(c, d, f) {
c = (new a(c, d)).toString();
f && "-" == c[0] && (m.Na || (m.Na = new b, m.Na.J("18446744073709551616", 10)), f = new b, f.J(c, 10), c = new b, m.Na.$a(f, c), c = c.toString(10));
return c
}
};
return m
}(),
ra = {
pd: 7,
fa: 13,
qd: 98,
rd: 99,
sd: 97,
td: 11,
ud: 114,
Pa: 9,
vd: 74,
wd: 16,
xd: 125,
yd: 10,
zd: 103,
Ad: 111,
Bd: 104,
Cd: 35,
Dd: 89,
Ed: 33,
Fd: 122,
Ib: 17,
Gd: 14,
Hd: 27,
Id: 113,
Jd: 43,
Kd: 84,
Ld: 115,
Md: 4,
wa: 22,
Qa: 5,
Nd: 106,
Jb: 21,
Kb: 40,
Od: 24,
Pd: 31,
Qd: 90,
Rd: 72,
Sd: 36,
Td: 100,
Ud: 102,
Vd: 101,
Wd: 23,
Xd: 105,
Yd: 61,
Zd: 19,
Ra: 2,
$d: 8,
ae: 37,
be: 67,
ce: 12,
de: 42,
ee: 92,
fe: 28,
ge: 63,
he: 60,
ie: 38,
je: 107,
Sa: 20,
ke: 39,
le: 131,
me: 88,
ne: 95,
oe: 25,
Lb: 6,
pe: 75,
qe: 130,
re: 1,
se: 32,
te: 71,
ue: 93,
ve: 91,
we: 34,
xe: 30,
ye: 29,
ze: 3,
Ae: 116,
Be: 62,
Ce: 110,
De: 26,
Ee: 11,
Fe: 18
},
nc = 0,
Ob = 0,
oc = 0,
F = {
rc: "/",
Rc: 2,
streams: [null],
nb: !0,
Za: function(a, b) {
if ("string" !== typeof a) return null;
void 0 === b && (b = F.rc);
a && "/" == a[0] && (b = "");
a = (b + "/" + a).split("/").reverse();
for (b = [""]; a.length;) {
var c = a.pop();
"" != c && "." != c && (".." == c ? 1 < b.length && b.pop() : b.push(c))
}
return 1 == b.length ? "/" : b.join("/")
},
za: function(a, b, c) {
var d = {
Kc: !1,
oa: !1,
error: 0,
name: null,
path: null,
object: null,
Ga: !1,
zb: null,
Ha: null
};
a = F.Za(a);
if ("/" == a) d.Kc = !0, d.oa = d.Ga = !0, d.name = "/", d.path = d.zb = "/", d.object = d.Ha = F.root;
else if (null !== a) {
c = c || 0;
a = a.slice(1).split("/");
for (var f = F.root, e = [""]; a.length;) {
1 == a.length && f.Y && (d.Ga = !0, d.zb = 1 == e.length ? "/" : e.join("/"), d.Ha = f, d.name = a[0]);
var g = a.shift();
if (!f.Y) {
d.error = ra.Sa;
break
} else if (!f.read) {
d.error = ra.fa;
break
} else if (!f.v.hasOwnProperty(g)) {
d.error = ra.Ra;
break
}
f = f.v[g];
if (f.link && (!b || 0 != a.length)) {
if (40 < c) {
d.error = ra.Kb;
break
}
d = F.Za(f.link, e.join("/"));
d = F.za([d].concat(a).join("/"), b, c + 1);
break
}
e.push(g);
0 == a.length && (d.oa = !0, d.path = e.join("/"), d.object = f)
}
}
return d
},
jb: function(a, b) {
F.hb();
a = F.za(a, b);
if (a.oa) return a.object;
Y(a.error);
return null
},
eb: function(a, b, c, d, e) {
a || (a = "/");
"string" === typeof a && (a = F.jb(a));
if (!a) throw Y(ra.fa), Error("Parent path must exist.");
if (!a.Y) throw Y(ra.Sa), Error("Parent must be a folder.");
if (!a.write && !F.nb) throw Y(ra.fa), Error("Parent folder must be writeable.");
if (!b || "." == b || ".." == b) throw Y(ra.Ra), Error("Name must not be empty.");
if (a.v.hasOwnProperty(b)) throw Y(ra.Ib), Error("Can't overwrite object.");
a.v[b] = {
read: void 0 === d ? !0 : d,
write: void 0 === e ? !1 : e,
timestamp: Date.now(),
Hc: F.Rc++
};
for (var f in c) c.hasOwnProperty(f) && (a.v[b][f] = c[f]);
return a.v[b]
},
Aa: function(a, b, c, d) {
return F.eb(a, b, {
Y: !0,
T: !1,
v: {}
}, c, d)
},
qc: function(a, b, c, d) {
a = F.jb(a);
if (null === a) throw Error("Invalid parent.");
for (b = b.split("/").reverse(); b.length;) {
var f = b.pop();
f && (a.v.hasOwnProperty(f) || F.Aa(a, f, c, d), a = a.v[f])
}
return a
},
na: function(a, b, c, d, e) {
c.Y = !1;
return F.eb(a, b, c, d, e)
},
Ue: function(a, b, c, d, e) {
if ("string" === typeof c) {
for (var f = Array(c.length), g = 0, h = c.length; g < h; ++g) f[g] = c.charCodeAt(g);
c = f
}
return F.na(a, b, {
T: !1,
v: c
}, d, e)
},
Ve: function(a, b, c, d, e) {
return F.na(a, b, {
T: !1,
url: c
}, d, e)
},
We: function(a, b, c, d, e) {
return F.na(a, b, {
T: !1,
link: c
}, d, e)
},
ma: function(a, b, c, d) {
if (!c && !d) throw Error("A device must have at least one callback defined.");
return F.na(a, b, {
T: !0,
input: c,
ca: d
}, !!c, !!d)
},
cf: function(a) {
if (a.T || a.Y || a.link || a.v) return !0;
var b = !0;
if ("undefined" !== typeof XMLHttpRequest) e("Cannot do synchronous binary XHRs in modern browsers. Use --embed-file or --preload-file in emcc");
else if (w.read) try {
a.v = A(w.read(a.url), !0)
} catch (n) {
b = !1
} else throw Error("Cannot load without read() or XMLHttpRequest.");
b || Y(ra.Qa);
return b
},
hb: function() {
F.root || (F.root = {
read: !0,
write: !0,
Y: !0,
T: !1,
timestamp: Date.now(),
Hc: 1,
v: {}
})
},
ha: function(a, b, c) {
function d(a) {
null === a || 10 === a ? (b.ta(b.buffer.join("")), b.buffer = []) : b.buffer.push(String.fromCharCode(a))
}
e(!F.ha.b, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");
F.ha.b = !0;
F.hb();
a = a || w.stdin;
b = b || w.stdout;
c = c || w.stderr;
var f = !0,
h = !0,
k = !0;
a || (f = !1, a = function() {
if (!a.cache || !a.cache.length) {
var b;
"undefined" != typeof wb && "function" == typeof wb.prompt ? b = wb.prompt("Input: ") : "function" == typeof readline && (b = readline());
b || (b = "");
a.cache = A(b + "\n", !0)
}
return a.cache.shift()
});
b || (h = !1, b = d);
b.ta || (b.ta = w.print);
b.buffer || (b.buffer = []);
c || (k = !1, c = d);
c.ta || (c.ta = w.print);
c.buffer || (c.buffer = []);
F.Aa("/", "tmp", !0, !0);
var l = F.Aa("/", "dev", !0, !0),
m = F.ma(l, "stdin", a),
n = F.ma(l, "stdout", null, b);
c = F.ma(l, "stderr", null, c);
F.ma(l, "tty", a, b);
F.streams[1] = {
path: "/dev/stdin",
object: m,
position: 0,
sb: !0,
pa: !1,
qb: !1,
tb: !f,
error: !1,
ib: !1,
Db: []
};
F.streams[2] = {
path: "/dev/stdout",
object: n,
position: 0,
sb: !1,
pa: !0,
qb: !1,
tb: !h,
error: !1,
ib: !1,
Db: []
};
F.streams[3] = {
path: "/dev/stderr",
object: c,
position: 0,
sb: !1,
pa: !0,
qb: !1,
tb: !k,
error: !1,
ib: !1,
Db: []
};
nc = g([1], "void*", 2);
Ob = g([2], "void*", 2);
oc = g([3], "void*", 2);
F.qc("/", "dev/shm/tmp", !0, !0);
F.streams[nc] = F.streams[1];
F.streams[Ob] = F.streams[2];
F.streams[oc] = F.streams[3];
g([g([0, 0, 0, 0, nc, 0, 0, 0, Ob, 0, 0, 0, oc, 0, 0, 0], "void*", 2)], "void*", 2)
},
Tc: function() {
F.ha.b && (F.streams[2] && 0 < F.streams[2].object.ca.buffer.length && F.streams[2].object.ca(10), F.streams[3] && 0 < F.streams[3].object.ca.buffer.length && F.streams[3].object.ca(10))
},
sf: function(a) {
"./" == a.substr(0, 2) && (a = a.substr(2));
return a
},
Ye: function(a) {
a = F.za(a);
if (!a.Ga || !a.oa) throw "Invalid path " + a;
delete a.Ha.v[a.name]
}
},
ld = nf,
ef;
xd.unshift({
Da: function() {
w.noFSInit || F.ha.b || F.ha()
}
});
ud.push({
Da: function() {
F.nb = !1
}
});
vd.push({
Da: function() {
F.Tc()
}
});
Y(0);
Nb.a = g([0], "i8", 2);
g(12, "void*", 2);
w.jc = function(a) {
function b() {
for (var a = 0; 3 > a; a++) d.push(0)
}
var c = a.length + 1,
d = [g(A("/bin/this.program"), "i8", 2)];
b();
for (var e = 0; e < c - 1; e += 1) d.push(g(A(a[e]), "i8", 2)), b();
d.push(0);
d = g(d, "i32", 2);
return _main(c, d, 0)
};
var qf;
q.md = g([37, 115, 40, 37, 117, 41, 58, 32, 65, 115, 115, 101, 114, 116, 105, 111, 110, 32, 102, 97, 105, 108, 117, 114, 101, 58, 32, 34, 37, 115, 34, 10, 0], "i8", 2);
q.nd = g([109, 95, 115, 105, 122, 101, 32, 60, 61, 32, 109, 95, 99, 97, 112, 97, 99, 105, 116, 121, 0], "i8", 2);
q.a = g([116, 104, 105, 114, 100, 95, 112, 97, 114, 116, 121, 47, 99, 114, 117, 110, 99, 104, 47, 101, 109, 115, 99, 114, 105, 112, 116, 101, 110, 47, 46, 46, 47, 105, 110, 99, 47, 99, 114, 110, 95, 100, 101, 99, 111, 109, 112, 46, 104, 0], "i8", 2);
q.Vb = g([109, 105, 110, 95, 110, 101, 119, 95, 99, 97, 112, 97, 99, 105, 116, 121, 32, 60, 32, 40, 48, 120, 55, 70, 70, 70, 48, 48, 48, 48, 85, 32, 47, 32, 101, 108, 101, 109, 101, 110, 116, 95, 115, 105, 122, 101, 41, 0], "i8", 2);
q.$b = g([110, 101, 119, 95, 99, 97, 112, 97, 99, 105, 116, 121, 32, 38, 38, 32, 40, 110, 101, 119, 95, 99, 97, 112, 97, 99, 105, 116, 121, 32, 62, 32, 109, 95, 99, 97, 112, 97, 99, 105, 116, 121, 41, 0], "i8", 2);
q.ac = g([110, 117, 109, 95, 99, 111, 100, 101, 115, 91, 99, 93, 0], "i8", 2);
q.bc = g([115, 111, 114, 116, 101, 100, 95, 112, 111, 115, 32, 60, 32, 116, 111, 116, 97, 108, 95, 117, 115, 101, 100, 95, 115, 121, 109, 115, 0], "i8", 2);
q.cc = g([112, 67, 111, 100, 101, 115, 105, 122, 101, 115, 91, 115, 121, 109, 95, 105, 110, 100, 101, 120, 93, 32, 61, 61, 32, 99, 111, 100, 101, 115, 105, 122, 101, 0], "i8", 2);
q.ec = g([116, 32, 60, 32, 40, 49, 85, 32, 60, 60, 32, 116, 97, 98, 108, 101, 95, 98, 105, 116, 115, 41, 0], "i8", 2);
q.fc = g([109, 95, 108, 111, 111, 107, 117, 112, 91, 116, 93, 32, 61, 61, 32, 99, 85, 73, 78, 84, 51, 50, 95, 77, 65, 88, 0], "i8", 2);
var Yb = g([2], ["i8* (i8*, i32, i32*, i1, i8*)*", 0, 0, 0, 0], 2);
g([4], ["i32 (i8*, i8*)*", 0, 0, 0, 0], 2);
var Zb = g(1, "i8*", 2);
q.o = g([99, 114, 110, 100, 95, 109, 97, 108, 108, 111, 99, 58, 32, 115, 105, 122, 101, 32, 116, 111, 111, 32, 98, 105, 103, 0], "i8", 2);
q.Eb = g([99, 114, 110, 100, 95, 109, 97, 108, 108, 111, 99, 58, 32, 111, 117, 116, 32, 111, 102, 32, 109, 101, 109, 111, 114, 121, 0], "i8", 2);
q.u = g([40, 40, 117, 105, 110, 116, 51, 50, 41, 112, 95, 110, 101, 119, 32, 38, 32, 40, 67, 82, 78, 68, 95, 77, 73, 78, 95, 65, 76, 76, 79, 67, 95, 65, 76, 73, 71, 78, 77, 69, 78, 84, 32, 45, 32, 49, 41, 41, 32, 61, 61, 32, 48, 0], "i8", 2);
q.Fb = g([99, 114, 110, 100, 95, 114, 101, 97, 108, 108, 111, 99, 58, 32, 98, 97, 100, 32, 112, 116, 114, 0], "i8", 2);
q.Gb = g([99, 114, 110, 100, 95, 102, 114, 101, 101, 58, 32, 98, 97, 100, 32, 112, 116, 114, 0], "i8", 2);
q.Re = g([99, 114, 110, 100, 95, 109, 115, 105, 122, 101, 58, 32, 98, 97, 100, 32, 112, 116, 114, 0], "i8", 2);
g([1, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 16, 0, 0, 0, 32, 0, 0, 0, 64, 0, 0, 0, 128, 0, 0, 0, 256, 0, 0, 0, 512, 0, 0, 0, 1024, 0, 0, 0, 2048, 0, 0, 0, 4096, 0, 0, 0, 8192, 0, 0, 0, 16384, 0, 0, 0, 32768, 0, 0, 0, 65536, 0, 0, 0, 131072, 0, 0, 0, 262144, 0, 0, 0, 524288, 0, 0, 0, 1048576, 0, 0, 0, 2097152, 0, 0, 0, 4194304, 0, 0, 0, 8388608, 0, 0, 0, 16777216, 0, 0, 0, 33554432, 0, 0, 0, 67108864, 0, 0, 0, 134217728, 0, 0, 0, 268435456, 0, 0, 0, 536870912, 0, 0, 0, 1073741824, 0, 0, 0, -2147483648, 0, 0, 0], ["i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0], 2);
q.Mb = g([102, 97, 108, 115, 101, 0], "i8", 2);
q.Te = g([99, 114, 110, 100, 95, 118, 97, 108, 105, 100, 97, 116, 101, 95, 102, 105, 108, 101, 40, 38, 110, 101, 119, 95, 104, 101, 97, 100, 101, 114, 44, 32, 97, 99, 116, 117, 97, 108, 95, 98, 97, 115, 101, 95, 100, 97, 116, 97, 95, 115, 105, 122, 101, 44, 32, 78, 85, 76, 76, 41, 0], "i8", 2);
q.Xe = g([40, 116, 111, 116, 97, 108, 95, 115, 121, 109, 115, 32, 62, 61, 32, 49, 41, 32, 38, 38, 32, 40, 116, 111, 116, 97, 108, 95, 115, 121, 109, 115, 32, 60, 61, 32, 112, 114, 101, 102, 105, 120, 95, 99, 111, 100, 105, 110, 103, 58, 58, 99, 77, 97, 120, 83, 117, 112, 112, 111, 114, 116, 101, 100, 83, 121, 109, 115, 41, 32, 38, 38, 32, 40, 99, 111, 100, 101, 95, 115, 105, 122, 101, 95, 108, 105, 109, 105, 116, 32, 62, 61, 32, 49, 41, 0], "i8", 2);
q.Pb = g([40, 116, 111, 116, 97, 108, 95, 115, 121, 109, 115, 32, 62, 61, 32, 49, 41, 32, 38, 38, 32, 40, 116, 111, 116, 97, 108, 95, 115, 121, 109, 115, 32, 60, 61, 32, 112, 114, 101, 102, 105, 120, 95, 99, 111, 100, 105, 110, 103, 58, 58, 99, 77, 97, 120, 83, 117, 112, 112, 111, 114, 116, 101, 100, 83, 121, 109, 115, 41, 0], "i8", 2);
q.ba = g([17, 18, 19, 20, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15, 16], "i8", 2);
q.L = g([48, 0], "i8", 2);
q.Qb = g([110, 117, 109, 95, 98, 105, 116, 115, 32, 60, 61, 32, 51, 50, 85, 0], "i8", 2);
q.Rb = g([109, 95, 98, 105, 116, 95, 99, 111, 117, 110, 116, 32, 60, 61, 32, 99, 66, 105, 116, 66, 117, 102, 83, 105, 122, 101, 0], "i8", 2);
q.Tb = g([116, 32, 33, 61, 32, 99, 85, 73, 78, 84, 51, 50, 95, 77, 65, 88, 0], "i8", 2);
q.Ub = g([109, 111, 100, 101, 108, 46, 109, 95, 99, 111, 100, 101, 95, 115, 105, 122, 101, 115, 91, 115, 121, 109, 93, 32, 61, 61, 32, 108, 101, 110, 0], "i8", 2);
g([1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 7, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 6, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 7, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0], ["i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0], 2);
g([0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 7, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0], ["i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0], 2);
q.Je = g([0, 3, 1, 2], "i8", 2);
q.c = g([0, 2, 3, 1], "i8", 2);
q.Ke = g([0, 7, 1, 2, 3, 4, 5, 6], "i8", 2);
q.b = g([0, 2, 3, 4, 5, 6, 7, 1], "i8", 2);
q.Le = g([1, 0, 5, 4, 3, 2, 6, 7], "i8", 2);
q.od = g([1, 0, 7, 6, 5, 4, 3, 2], "i8", 2);
q.af = g([105, 110, 100, 101, 120, 32, 60, 32, 50, 0], "i8", 2);
q.df = g([40, 108, 111, 32, 60, 61, 32, 48, 120, 70, 70, 70, 70, 85, 41, 32, 38, 38, 32, 40, 104, 105, 32, 60, 61, 32, 48, 120, 70, 70, 70, 70, 85, 41, 0], "i8", 2);
q.ff = g([40, 120, 32, 60, 32, 99, 68, 88, 84, 66, 108, 111, 99, 107, 83, 105, 122, 101, 41, 32, 38, 38, 32, 40, 121, 32, 60, 32, 99, 68, 88, 84, 66, 108, 111, 99, 107, 83, 105, 122, 101, 41, 0], "i8", 2);
q.gf = g([118, 97, 108, 117, 101, 32, 60, 61, 32, 48, 120, 70, 70, 0], "i8", 2);
q.hf = g([118, 97, 108, 117, 101, 32, 60, 61, 32, 48, 120, 70, 0], "i8", 2);
q.jf = g([40, 108, 111, 32, 60, 61, 32, 48, 120, 70, 70, 41, 32, 38, 38, 32, 40, 104, 105, 32, 60, 61, 32, 48, 120, 70, 70, 41, 0], "i8", 2);
q.l = g([105, 32, 60, 32, 109, 95, 115, 105, 122, 101, 0], "i8", 2);
q.M = g([110, 117, 109, 32, 38, 38, 32, 40, 110, 117, 109, 32, 61, 61, 32, 126, 110, 117, 109, 95, 99, 104, 101, 99, 107, 41, 0], "i8", 2);
q.h = g([1, 2, 2, 3, 3, 3, 3, 4], "i8", 2);
var ta = g([0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 2, 1, 0, 2, 0, 0, 1, 2, 3], "i8", 2);
q.Wb = g([110, 101, 120, 116, 95, 108, 101, 118, 101, 108, 95, 111, 102, 115, 32, 62, 32, 99, 117, 114, 95, 108, 101, 118, 101, 108, 95, 111, 102, 115, 0], "i8", 2);
q.Zb = g([40, 108, 101, 110, 32, 62, 61, 32, 49, 41, 32, 38, 38, 32, 40, 108, 101, 110, 32, 60, 61, 32, 99, 77, 97, 120, 69, 120, 112, 101, 99, 116, 101, 100, 67, 111, 100, 101, 83, 105, 122, 101, 41, 0], "i8", 2);
var l = g(468, ["i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "i32", 0, 0, 0, "*", 0, 0, 0, "i32", 0, 0, 0, "*", 0, 0, 0, "i32", 0, 0, 0, "*", 0, 0, 0, "i32", 0, 0, 0], 2);
var xa = g(24, "i32", 2);
q.kf = g([109, 97, 120, 32, 115, 121, 115, 116, 101, 109, 32, 98, 121, 116, 101, 115, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0], "i8", 2);
q.Oe = g([115, 121, 115, 116, 101, 109, 32, 98, 121, 116, 101, 115, 32, 32, 32, 32, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0], "i8", 2);
q.$e = g([105, 110, 32, 117, 115, 101, 32, 98, 121, 116, 101, 115, 32, 32, 32, 32, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0], "i8", 2);
g([0], "i8", 2);
g(1, "void ()*", 2);
var pd = g([0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 8, 0, 0, 0, 10, 0, 0, 0], ["*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0], 2);
g(1, "void*", 2);
q.Yb = g([115, 116, 100, 58, 58, 98, 97, 100, 95, 97, 108, 108, 111, 99, 0], "i8", 2);
var rd = g([0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 12, 0, 0, 0, 14, 0, 0, 0], ["*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0, "*", 0, 0, 0], 2);
g(1, "void*", 2);
q.Hb = g([98, 97, 100, 95, 97, 114, 114, 97, 121, 95, 110, 101, 119, 95, 108, 101, 110, 103, 116, 104, 0], "i8", 2);
q.Oa = g([83, 116, 57, 98, 97, 100, 95, 97, 108, 108, 111, 99, 0], "i8", 2);
var xb = g(12, "*", 2);
q.ra = g([83, 116, 50, 48, 98, 97, 100, 95, 97, 114, 114, 97, 121, 95, 110, 101, 119, 95, 108, 101, 110, 103, 116, 104, 0], "i8", 2);
var Qb = g(12, "*", 2);
b[pd + 4 >> 2] = xb;
b[rd + 4 >> 2] = Qb;
var yd = g([2, 0, 0, 0, 0], ["i8*", 0, 0, 0, 0], 2);
b[xb >> 2] = yd + 8 | 0;
b[xb + 4 >> 2] = q.Oa | 0;
b[xb + 8 >> 2] = qf;
b[Qb >> 2] = yd + 8 | 0;
b[Qb + 4 >> 2] = q.ra | 0;
b[Qb + 8 >> 2] = xb;
var Ma = [0, 0, Pd, 0, Rd, 0, hc, 0, df, 0, bf, 0, gf, 0, cf, 0, Ha, 0, ae, 0, ya, 0, Kc, 0, od, 0, ff, 0];
w.FUNCTION_TABLE = Ma;
w.run = td;
p(xd);
w.noInitialRun && (mc++, w.monitorRunDependencies && w.monitorRunDependencies(mc));
0 == mc && td();
this.a = w
};
function Cd(c, d, e) {
this.b = new qc(c);
this.o = d;
this.a = new Wb;
this.l = e
}
Cd.prototype.c = function() {
for (var c = this.b, d; d = c.D();) switch (d) {
case 2:
d = c.f();
c.O(c.a + d);
this.a.textures.push(Dd(c, this.o));
c.N();
break;
case 3:
d = c.f();
c.O(c.a + d);
d = this.h();
this.a.transformInfo[d.meshId] = d;
c.N();
break;
case 4:
var e = c.f() / 4;
this.a.projectionOrigin = new Float32Array(e);
for (d = 0; d < e; ++d) this.a.projectionOrigin[d] = c.$();
break;
default:
c.B()
}
c = [];
e = this.a.textures;
for (d = 0; d < e.length; d++) c.push(e[d].bytes.buffer);
for (d = 0; d < this.a.transformInfo.length; ++d)
if (this.a.transformInfo[d]) {
c.push(this.a.transformInfo[d].transformTable.buffer);
c.push(this.a.transformInfo[d].vertexTransformMap.buffer);
var h = e[this.a.transformInfo[d].meshId];
h = new Float32Array([.5, .5 - h.height, 1 / h.width, -1 / h.height]);
this.a.transformInfo[d].uvOffsetAndScale = h;
c.push(h.buffer)
}
this.a.projectionOrigin && c.push(this.a.projectionOrigin.buffer);
this.l(this.a, c)
};
Cd.prototype.h = function() {
for (var c = this.b, d, e = new pc; d = c.D();) switch (d) {
case 1:
d = c.f();
for (var h = d / 6, k = new Float64Array(5 * h), g = c.data(), m = c.a, p = 0; p < h; ++p) {
var v = m + 6 * p,
z = g[v],
B = g[v + 1],
A = g[v + 2],
G = g[v + 3],
C = g[v + 4];
v = g[v + 5];
127 < G && (G -= 256);
A += G << 8;
127 < v && (v -= 256);
C += v << 8;
G = 2 * Math.PI * z / 256;
z = Math.cos(G);
G = Math.sin(G);
B /= 255;
k[5 * p] = 1 + (B - 1) * z * z;
k[5 * p + 1] = (B - 1) * z * G;
k[5 * p + 2] = 1 + (B - 1) * G * G;
k[5 * p + 3] = A;
k[5 * p + 4] = C
}
e.transformTable = k;
c.U(d);
break;
case 2:
d = c.f();
h = d / 2;
k = new Uint16Array(h);
g = c.data();
m = c.a;
for (p = 0; p < h; ++p) k[p] = g[m + 2 * p] + (g[m + 2 * p + 1] << 8);
e.vertexTransformMap = k;
c.U(d);
break;
case 3:
e.meshId = c.f();
break;
default:
c.B()
}
return e
};
var Ed = null;
function Dd(c, d) {
for (var e = c.data(), h, k = 1, g = 0, m = 0, p = 256, v = 256, z = 0, B = -1; h = c.D();) switch (h) {
case 1:
m = c.Xc();
g || (g = c.a);
c.U(m);
break;
case 3:
p = c.f();
break;
case 4:
v = c.f();
break;
case 2:
k = c.f();
break;
case 5:
z = c.f();
break;
case 6:
B = c.f();
break;
default:
c.B()
}
c = new Ub;
switch (k) {
case 1:
c.bytes = new Uint8Array(m);
c.bytes.set(e.subarray(g, g + m));
break;
case 6:
Ed || (Ed = new Bd);
h = Ed;
var A = h.xb(m);
h.lc(e, g, m, A);
e = h.Ac(A, m);
g = h.xb(e);
c.bytes = new Uint8Array(e);
h.sc(A, m, g, e);
h.mc(g, e, c.bytes, 0);
h.mb(A);
h.mb(g);
if (!d) {
d = new Uint16Array(c.bytes.buffer);
m = p;
A = v;
e = new Uint16Array(m * A);
Ad || (Ad = new Uint16Array(4));
g = Ad;
h = m / 4;
for (var G = A / 4, C = 0; C < G; C++)
for (var R = 0; R < h; R++) {
A = 4 * (C * h + R);
g[0] = d[A];
g[1] = d[A + 1];
var L = g[0] & 31;
var O = g[0] & 2016;
var sa = g[0] & 63488;
var ka = g[1] & 31;
var qa = g[1] & 2016;
var P = g[1] & 63488;
g[2] = 5 * L + 3 * ka >> 3 | 5 * O + 3 * qa >> 3 & 2016 | 5 * sa + 3 * P >> 3 & 63488;
g[3] = 5 * ka + 3 * L >> 3 | 5 * qa + 3 * O >> 3 & 2016 | 5 * P + 3 * sa >> 3 & 63488;
O = 4 * C * m + 4 * R;
L = d[A + 2];
e[O] = g[L & 3];
e[O + 1] = g[L >> 2 & 3];
e[O + 2] = g[L >> 4 & 3];
e[O + 3] = g[L >> 6 & 3];
O += m;
e[O] = g[L >> 8 & 3];
e[O + 1] = g[L >> 10 & 3];
e[O + 2] = g[L >> 12 & 3];
e[O + 3] = g[L >> 14];
L = d[A + 3];
O += m;
e[O] = g[L & 3];
e[O + 1] = g[L >> 2 & 3];
e[O + 2] = g[L >> 4 & 3];
e[O + 3] = g[L >> 6 & 3];
O += m;
e[O] = g[L >> 8 & 3];
e[O + 1] = g[L >> 10 & 3];
e[O + 2] = g[L >> 12 & 3];
e[O + 3] = g[L >> 14]
}
c.bytes = new Uint8Array(e.buffer)
}
}
c.textureFormat = k;
c.width = p;
c.height = v;
c.viewDirection = z;
c.meshId = B;
return c
};
function Fd(c, d, e, h) {
this.b = new qc(c);
this.u = d;
this.h = e;
this.a = new Sb;
this.l = [];
this.o = h;
this.c = null
}
T = Fd.prototype;
T.Fa = function() {
for (var c = this.b, d; d = c.D();) switch (d) {
case 1:
var e = c.f() / 8,
h = this.a.matrixGlobeFromMesh = new Float64Array(16);
for (d = 0; d < e; d++) h[d] = c.ua();
this.a.matrixMeshFromGlobe = new Float64Array(16);
d = this.a.matrixMeshFromGlobe;
e = h[0];
var k = h[1],
g = h[2],
m = h[3],
p = h[4],
v = h[5],
z = h[6],
B = h[7],
A = h[8],
G = h[9],
C = h[10],
R = h[11],
L = h[12],
O = h[13],
sa = h[14];
h = h[15];
var ka = e * v - k * p,
qa = e * z - g * p,
P = e * B - m * p,
la = k * z - g * v,
Ea = k * B - m * v,
J = g * B - m * z,
aa = A * O - G * L,
Ja = A * sa - C * L,
Ua = A * h - R * L,
ab = G * sa - C * O,
Ya = G * h - R * O,
Va = C * h - R * sa,
va = ka * Va - qa * Ya + P * ab + la * Ua - Ea * Ja + J * aa;
0 != va && (va = 1 / va, d[0] = (v * Va - z * Ya + B * ab) * va, d[1] = (-k * Va + g * Ya - m * ab) * va, d[2] = (O * J - sa * Ea + h * la) * va, d[3] = (-G * J + C * Ea - R * la) * va, d[4] = (-p * Va + z * Ua - B * Ja) * va, d[5] = (e * Va - g * Ua + m * Ja) * va, d[6] = (-L * J + sa * P - h * qa) * va, d[7] = (A * J - C * P + R * qa) * va, d[8] = (p * Ya - v * Ua + B * aa) * va, d[9] = (-e * Ya + k * Ua - m * aa) * va, d[10] = (L * Ea - O * P + h * ka) * va, d[11] = (-A * Ea + G * P - R * ka) * va, d[12] = (-p * ab + v * Ja - z * aa) * va, d[13] = (e * ab - k * Ja + g * aa) * va, d[14] = (-L * la + O * qa - sa * ka) * va, d[15] = (A * la - G * qa + C * ka) * va);
break;
case 2:
d = c.f();
c.O(c.a + d);
this.a.meshes.push(this.Ja());
c.N();
break;
case 3:
d = c.f();
this.a.copyrightIds ? this.a.copyrightIds.push(d) : this.a.copyrightIds = [d];
break;
case 6:
d = c.f();
c.O(c.a + d);
this.a.waterMesh = this.Ja();
c.N();
break;
case 7:
d = c.f();
c.O(c.a + d);
this.a.overlaySurfaceMeshes.push(this.Ja());
c.N();
break;
case 8:
this.h ? this.ad() : c.B();
break;
default:
c.B()
}
this.oc();
if (this.h)
for (d = 0; d < this.a.meshes.length; ++d) this.uc(this.a.meshes[d]);
c = [];
c.push(this.a.matrixGlobeFromMesh.buffer);
c.push(this.a.matrixMeshFromGlobe.buffer);
e = this.a.meshes;
for (d = 0; d < e.length; d++) c.push(e[d].vertices.buffer), c.push(e[d].uvOffsetAndScale.buffer), c.push(e[d].layerBounds.buffer), c.push(e[d].indices.buffer), e[d].normals && c.push(e[d].normals.buffer), (k = e[d].texture) && c.push(k.bytes.buffer);
e = this.a.overlaySurfaceMeshes;
for (d = 0; d < e.length; d++) c.push(e[d].vertices.buffer), c.push(e[d].layerBounds.buffer), c.push(e[d].indices.buffer), e[d].normals && c.push(e[d].normals.buffer);
if (d = this.a.waterMesh) c.push(d.vertices.buffer), c.push(d.vertexAlphas.buffer), c.push(d.layerBounds.buffer), c.push(d.indices.buffer), d.normals && c.push(d.normals.buffer);
c.push(this.a.bvhNodes.buffer);
c.push(this.a.bvhTriPermutation.buffer);
this.o(this.a, c)
};
T.oc = function() {
for (var c = this.a, d = c.meshes.slice(), e = 0; e < c.overlaySurfaceMeshes.length; e++) d.push(c.overlaySurfaceMeshes[e]);
c.waterMesh && d.push(c.waterMesh);
if (0 != d.length) {
c = new zd(d);
for (d = c.start(); null != d;) d = d.apply(c);
this.a.bvhNodes = c.hc();
this.a.bvhTriPermutation = c.c
}
};
T.Ja = function() {
var c = this.b,
d = new Tb,
e = [];
this.l.push(e);
for (var h; h = c.D();) switch (h) {
case 1:
this.fd(d);
break;
case 3:
this.Wc(d);
break;
case 6:
h = c.f();
c.O(c.a + h);
d.texture = Dd(c, this.u);
c.N();
break;
case 7:
this.dd(d);
break;
case 8:
this.Yc(d, e);
break;
case 9:
this.ed(d);
break;
case 10:
var k = c.f() / 4,
g = d.uvOffsetAndScale = new Float32Array(4);
for (h = 0; h < k; h++) g[h] = c.$();
break;
case 11:
this.h ? this.Zc(d) : c.B();
break;
case 12:
d.meshId = c.f();
break;
default:
c.B()
}
d.uvOffsetAndScale && (d.uvOffsetAndScale[1] -= 1 / d.uvOffsetAndScale[3], d.uvOffsetAndScale[3] *= -1);
c = d.vertices;
k = d.indices;
for (var m = g = 0; m < e.length; m++) {
var p = m & 7;
0 < e[m] && (this.a.nonEmptyOctants |= 1 << p);
for (h = 0; h < e[m]; h++) {
var v = 8 * k[g++] + 3;
c[v] = p
}
}
return d
};
T.Wc = function(c) {
var d = this.b;
d.f();
for (var e = d.f(), h = c.indices = new Uint16Array(e), k = 0, g = 0, m, p = 0, v = 0, z = 0; z < e; z++) {
var B = d.f();
m = p;
p = v;
v = k - B;
h[z] = v;
m != p && p != v && m != v && g++;
B || k++
}
c.numNonDegenerateTriangles = g
};
T.fd = function(c) {
var d = this.b,
e = d.data(),
h = d.f(),
k = h / 3;
c = c.vertices = new Uint8Array(8 * k);
for (var g = d.a, m = 0; 2 >= m; m++) {
var p = e[g++];
c[m] = p;
for (var v = 1; v < k; v++) p = p + e[g++] & 255, c[8 * v + m] = p
}
d.U(h)
};
T.ed = function(c) {
var d = this.b,
e = d.data(),
h = d.f();
c = c.vertexAlphas = new Uint8Array(h);
var k = d.a,
g = e[k++];
c[0] = g;
for (var m = 1; m < h; m++) g = g + e[k++] & 255, c[m] = g;
d.U(h)
};
T.dd = function(c) {
for (var d = this.b, e = d.data(), h = (d.f() - 4) / 4, k = d.ia(), g = d.ia(), m = 0, p = 0, v = d.a, z = c.vertices, B = 0; B < h; B++) {
var A = e[v + 1 * h + B] + (e[v + 3 * h + B] << 8);
m = (m + (e[v + 0 * h + B] + (e[v + 2 * h + B] << 8))) % (k + 1);
p = (p + A) % (g + 1);
A = 8 * B + 4;
z[A + 0] = m & 255;
z[A + 1] = m >> 8;
z[A + 2] = p & 255;
z[A + 3] = p >> 8
}
c.uvOffsetAndScale || (c.uvOffsetAndScale = new Float32Array([.5, .5, 1 / (k + 1), 1 / (g + 1)]));
d.U(4 * h)
};
T.Yc = function(c, d) {
var e = this.b;
e.f();
var h = e.f(),
k = 0,
g = c.layerBounds = new Uint32Array(10),
m = 0;
c = c.octantCounts = new Uint32Array(72);
for (var p = 0; p < h; p++) {
0 == p % 8 && (g[m++] = k);
var v = e.f();
d.push(v);
c[8 * (m - 1) + (p & 7)] = v;
k += v
}
for (; 10 > m; m++) g[m] = k
};
function Gd(c, d) {
if (4 >= d) return (c << d) + (c & (1 << d) - 1);
if (6 >= d) {
var e = 8 - d;
return (c << d) + (c << d >> e) + (c << d >> e >> e) + (c << d >> e >> e >> e)
}
return -(c & 1)
}
function Hd(c, d) {
return c < d ? c : d
}
function Id(c) {
c = Math.round(c);
return Hd(0 > c ? 0 : c, 255)
}
T.ad = function() {
var c = this.b,
d = c.data(),
e = c.f(),
h = c.a,
k = d[h] + (d[h + 1] << 8),
g = d[h + 2];
h += 3;
this.c = new Uint8Array(3 * k);
for (var m = 0; m < e; ++m) {
var p = d[h + m],
v = d[h + k + m];
p = Gd(p, g);
v = Gd(v, g);
var z = p / 255,
B = v / 255;
v = this.c;
p = 3 * m;
var A = z,
G = B,
C = A + G,
R = A - G,
L = 1;.5 <= C && 1.5 >= C && -.5 <= R && .5 >= R || (L = -1, .5 >= C ? (A = .5 - B, G = .5 - z) : 1.5 <= C ? (A = 1.5 - B, G = 1.5 - z) : -.5 >= R ? (A = B - .5, G = z + .5) : (A = B + .5, G = z - .5), C = A + G, R = A - G);
z = Hd(Hd(2 * C - 1, 3 - 2 * C), Hd(2 * R + 1, 1 - 2 * R)) * L;
A = 2 * A - 1;
G = 2 * G - 1;
B = 127 / Math.sqrt(z * z + A * A + G * G);
v[p + 0] = Id(B * z + 127);
v[p + 1] = Id(B * A + 127);
v[p + 2] = Id(B * G + 127)
}
c.U(e)
};
T.Zc = function(c) {
var d = this.b,
e = d.data(),
h = d.f(),
k = d.a;
c.normals = new Uint8Array(e.buffer.slice(k, k + h));
d.U(h)
};
T.uc = function(c) {
var d = c.normals;
if (d && this.c)
for (h = d.length / 2, c.normals = new Uint8Array(4 * h), k = 0; k < h; ++k) {
var e = d[k] + (d[h + k] << 8);
c.normals[4 * k] = this.c[3 * e];
c.normals[4 * k + 1] = this.c[3 * e + 1];
c.normals[4 * k + 2] = this.c[3 * e + 2];
c.normals[4 * k + 3] = 0
} else {
var h = c.vertices.length / 8;
c.normals = new Uint8Array(4 * h);
for (var k = 0; k < h; ++k) c.normals[4 * k] = 127, c.normals[4 * k + 1] = 127, c.normals[4 * k + 2] = 127, c.normals[4 * k + 3] = 0
}
};
var Jd = [];
function rf(c) {
this.b = c;
c.webkitPostMessage && (c.postMessage = c.webkitPostMessage);
var d = this;
c.onmessage = function(c) {
d.a(c)
}
}
rf.prototype.a = function(c) {
var d = Fb(),
e = c.data.id,
h = c.data.command;
c = c.data.payload;
var k = this.b;
if (void 0 !== e && void 0 !== h && c) {
c = new Uint8Array(c);
var g = function(c, g) {
var h = Fb() - d,
m = {};
m.id = e;
m.time = h;
m.payload = c;
m.logs = [];
m.complete = !0;
k.postMessage(m, g)
};
0 == h ? (h = new rc(c, g), h.Nc()) : 1 == h ? (h = new Fd(c, !0, !1, g), h.Fa()) : 2 == h ? (h = new Fd(c, !1, !0, g), h.Fa()) : 3 == h ? (h = new Fd(c, !0, !0, g), h.Fa()) : 4 == h ? (h = new Cd(c, !0, g), h.c()) : 5 == h ? (h = new Cd(c, !1, g), h.c()) : Jd.push("Bad DecodeTaskCommand: " + h)
}
};
new rf(self);
}).call(this); };
const callbacks = {};
const self = {
postMessage: function (p, g) {
callbacks[p.id].resolve(p);
delete callbacks[event.id];
}
}
code();
return async function decode(command, payload) {
const id = uuidv4();
return await new Promise(function (resolve, reject) {
callbacks[id] = { resolve, reject }
self.onmessage({ data: { id, command, payload } });;
});
}
})();