UNPKG

zlib-asm

Version:
1,679 lines (1,674 loc) 237 kB
Module["asm"] = (function(global,env,buffer) { "use asm"; var a = new global.Int8Array(buffer); var b = new global.Int16Array(buffer); var c = new global.Int32Array(buffer); var d = new global.Uint8Array(buffer); var e = new global.Uint16Array(buffer); var f = new global.Uint32Array(buffer); var g = new global.Float32Array(buffer); var h = new global.Float64Array(buffer); var i = env.STACKTOP | 0; var j = env.STACK_MAX | 0; var k = env.tempDoublePtr | 0; var l = env.ABORT | 0; var m = 0; var n = 0; var o = 0; var p = 0; var q = global.NaN, r = global.Infinity; var s = 0, t = 0, u = 0, v = 0, w = 0.0, x = 0, y = 0, z = 0, A = 0.0; var B = 0; var C = 0; var D = 0; var E = 0; var F = 0; var G = 0; var H = 0; var I = 0; var J = 0; var K = 0; var L = global.Math.floor; var M = global.Math.abs; var N = global.Math.sqrt; var O = global.Math.pow; var P = global.Math.cos; var Q = global.Math.sin; var R = global.Math.tan; var S = global.Math.acos; var T = global.Math.asin; var U = global.Math.atan; var V = global.Math.atan2; var W = global.Math.exp; var X = global.Math.log; var Y = global.Math.ceil; var Z = global.Math.imul; var _ = global.Math.min; var $ = global.Math.clz32; var aa = env.abort; var ba = env.assert; var ca = env.invoke_iiii; var da = env.invoke_vii; var ea = env.invoke_iii; var fa = env._sbrk; var ga = env._emscripten_memcpy_big; var ha = env._abort; var ia = env._emscripten_asm_const_iiii; var ja = 0.0; // EMSCRIPTEN_START_FUNCS function Xa(f, g) { f = f | 0; g = g | 0; var h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0; D = i; i = i + 80 | 0; w = D + 60 | 0; x = D + 56 | 0; y = D + 52 | 0; C = D + 48 | 0; t = D + 44 | 0; u = D + 40 | 0; m = D + 36 | 0; r = D + 32 | 0; p = D + 28 | 0; j = D + 24 | 0; z = D + 20 | 0; A = D + 16 | 0; k = D + 12 | 0; l = D + 8 | 0; o = D + 68 | 0; q = D + 64 | 0; s = D + 4 | 0; B = D; n = D + 72 | 0; c[x >> 2] = f; c[y >> 2] = g; do if (c[x >> 2] | 0) if (c[(c[x >> 2] | 0) + 28 >> 2] | 0) if (c[(c[x >> 2] | 0) + 12 >> 2] | 0) { if (!(c[c[x >> 2] >> 2] | 0)) if (c[(c[x >> 2] | 0) + 4 >> 2] | 0) break; c[C >> 2] = c[(c[x >> 2] | 0) + 28 >> 2]; if ((c[c[C >> 2] >> 2] | 0) == 11) c[c[C >> 2] >> 2] = 12; c[u >> 2] = c[(c[x >> 2] | 0) + 12 >> 2]; c[r >> 2] = c[(c[x >> 2] | 0) + 16 >> 2]; c[t >> 2] = c[c[x >> 2] >> 2]; c[m >> 2] = c[(c[x >> 2] | 0) + 4 >> 2]; c[p >> 2] = c[(c[C >> 2] | 0) + 56 >> 2]; c[j >> 2] = c[(c[C >> 2] | 0) + 60 >> 2]; c[z >> 2] = c[m >> 2]; c[A >> 2] = c[r >> 2]; c[B >> 2] = 0; a : while (1) { b : do switch (c[c[C >> 2] >> 2] | 0) { case 28: { v = 302; break a; } case 29: { v = 303; break a; } case 30: { v = 304; break a; } case 0: { if (!(c[(c[C >> 2] | 0) + 8 >> 2] | 0)) { c[c[C >> 2] >> 2] = 12; continue a; } while (1) { if ((c[j >> 2] | 0) >>> 0 >= 16) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } if ((c[p >> 2] | 0) == 35615 ? (c[(c[C >> 2] | 0) + 8 >> 2] & 2 | 0) != 0 : 0) { h = yb(0, 0, 0) | 0; c[(c[C >> 2] | 0) + 24 >> 2] = h; a[n >> 0] = c[p >> 2]; a[n + 1 >> 0] = (c[p >> 2] | 0) >>> 8; h = yb(c[(c[C >> 2] | 0) + 24 >> 2] | 0, n, 2) | 0; c[(c[C >> 2] | 0) + 24 >> 2] = h; c[p >> 2] = 0; c[j >> 2] = 0; c[c[C >> 2] >> 2] = 1; continue a; } c[(c[C >> 2] | 0) + 16 >> 2] = 0; if (c[(c[C >> 2] | 0) + 32 >> 2] | 0) c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 48 >> 2] = -1; if (c[(c[C >> 2] | 0) + 8 >> 2] & 1 | 0) if (!(((((c[p >> 2] & 255) << 8) + ((c[p >> 2] | 0) >>> 8) | 0) >>> 0) % 31 | 0)) { if ((c[p >> 2] & 15 | 0) != 8) { c[(c[x >> 2] | 0) + 24 >> 2] = 13811; c[c[C >> 2] >> 2] = 29; continue a; } c[p >> 2] = (c[p >> 2] | 0) >>> 4; c[j >> 2] = (c[j >> 2] | 0) - 4; c[s >> 2] = (c[p >> 2] & 15) + 8; g = c[s >> 2] | 0; f = (c[C >> 2] | 0) + 36 | 0; if (!(c[(c[C >> 2] | 0) + 36 >> 2] | 0)) c[f >> 2] = g; else if (g >>> 0 > (c[f >> 2] | 0) >>> 0) { c[(c[x >> 2] | 0) + 24 >> 2] = 13838; c[c[C >> 2] >> 2] = 29; continue a; } c[(c[C >> 2] | 0) + 20 >> 2] = 1 << c[s >> 2]; h = xb(0, 0, 0) | 0; c[(c[C >> 2] | 0) + 24 >> 2] = h; c[(c[x >> 2] | 0) + 48 >> 2] = h; c[c[C >> 2] >> 2] = c[p >> 2] & 512 | 0 ? 9 : 11; c[p >> 2] = 0; c[j >> 2] = 0; continue a; } c[(c[x >> 2] | 0) + 24 >> 2] = 13788; c[c[C >> 2] >> 2] = 29; continue a; } case 1: { while (1) { if ((c[j >> 2] | 0) >>> 0 >= 16) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } c[(c[C >> 2] | 0) + 16 >> 2] = c[p >> 2]; if ((c[(c[C >> 2] | 0) + 16 >> 2] & 255 | 0) != 8) { c[(c[x >> 2] | 0) + 24 >> 2] = 13811; c[c[C >> 2] >> 2] = 29; continue a; } if (c[(c[C >> 2] | 0) + 16 >> 2] & 57344 | 0) { c[(c[x >> 2] | 0) + 24 >> 2] = 13858; c[c[C >> 2] >> 2] = 29; continue a; } if (c[(c[C >> 2] | 0) + 32 >> 2] | 0) c[c[(c[C >> 2] | 0) + 32 >> 2] >> 2] = (c[p >> 2] | 0) >>> 8 & 1; if (c[(c[C >> 2] | 0) + 16 >> 2] & 512 | 0) { a[n >> 0] = c[p >> 2]; a[n + 1 >> 0] = (c[p >> 2] | 0) >>> 8; v = yb(c[(c[C >> 2] | 0) + 24 >> 2] | 0, n, 2) | 0; c[(c[C >> 2] | 0) + 24 >> 2] = v; } c[p >> 2] = 0; c[j >> 2] = 0; c[c[C >> 2] >> 2] = 2; v = 42; break; } case 2: { v = 42; break; } case 3: { v = 50; break; } case 4: { v = 58; break; } case 5: { v = 70; break; } case 6: { v = 85; break; } case 7: { v = 100; break; } case 8: { v = 115; break; } case 9: { while (1) { if ((c[j >> 2] | 0) >>> 0 >= 32) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } v = ((c[p >> 2] | 0) >>> 24 & 255) + ((c[p >> 2] | 0) >>> 8 & 65280) + ((c[p >> 2] & 65280) << 8) + ((c[p >> 2] & 255) << 24) | 0; c[(c[C >> 2] | 0) + 24 >> 2] = v; c[(c[x >> 2] | 0) + 48 >> 2] = v; c[p >> 2] = 0; c[j >> 2] = 0; c[c[C >> 2] >> 2] = 10; v = 129; break; } case 10: { v = 129; break; } case 11: { v = 132; break; } case 12: { v = 133; break; } case 13: { c[p >> 2] = (c[p >> 2] | 0) >>> (c[j >> 2] & 7); c[j >> 2] = (c[j >> 2] | 0) - (c[j >> 2] & 7); while (1) { if ((c[j >> 2] | 0) >>> 0 >= 32) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } if ((c[p >> 2] & 65535 | 0) != ((c[p >> 2] | 0) >>> 16 ^ 65535 | 0)) { c[(c[x >> 2] | 0) + 24 >> 2] = 13922; c[c[C >> 2] >> 2] = 29; continue a; } else { c[(c[C >> 2] | 0) + 64 >> 2] = c[p >> 2] & 65535; c[p >> 2] = 0; c[j >> 2] = 0; c[c[C >> 2] >> 2] = 14; if ((c[y >> 2] | 0) == 6) break a; else { v = 153; break b; } } } case 14: { v = 153; break; } case 15: { v = 154; break; } case 16: { while (1) { if ((c[j >> 2] | 0) >>> 0 >= 14) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } c[(c[C >> 2] | 0) + 96 >> 2] = (c[p >> 2] & 31) + 257; c[p >> 2] = (c[p >> 2] | 0) >>> 5; c[j >> 2] = (c[j >> 2] | 0) - 5; c[(c[C >> 2] | 0) + 100 >> 2] = (c[p >> 2] & 31) + 1; c[p >> 2] = (c[p >> 2] | 0) >>> 5; c[j >> 2] = (c[j >> 2] | 0) - 5; c[(c[C >> 2] | 0) + 92 >> 2] = (c[p >> 2] & 15) + 4; c[p >> 2] = (c[p >> 2] | 0) >>> 4; c[j >> 2] = (c[j >> 2] | 0) - 4; if ((c[(c[C >> 2] | 0) + 96 >> 2] | 0) >>> 0 <= 286) if ((c[(c[C >> 2] | 0) + 100 >> 2] | 0) >>> 0 <= 30) { c[(c[C >> 2] | 0) + 104 >> 2] = 0; c[c[C >> 2] >> 2] = 17; v = 169; break b; } c[(c[x >> 2] | 0) + 24 >> 2] = 13951; c[c[C >> 2] >> 2] = 29; continue a; } case 17: { v = 169; break; } case 18: { v = 179; break; } case 19: { v = 213; break; } case 20: { v = 214; break; } case 21: { v = 235; break; } case 22: { v = 241; break; } case 23: { v = 253; break; } case 24: break; case 25: { if (!(c[r >> 2] | 0)) break a; f = c[(c[C >> 2] | 0) + 64 >> 2] & 255; h = c[u >> 2] | 0; c[u >> 2] = h + 1; a[h >> 0] = f; c[r >> 2] = (c[r >> 2] | 0) + -1; c[c[C >> 2] >> 2] = 20; continue a; } case 26: { do if (c[(c[C >> 2] | 0) + 8 >> 2] | 0) { while (1) { if ((c[j >> 2] | 0) >>> 0 >= 32) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } c[A >> 2] = (c[A >> 2] | 0) - (c[r >> 2] | 0); h = (c[x >> 2] | 0) + 20 | 0; c[h >> 2] = (c[h >> 2] | 0) + (c[A >> 2] | 0); h = (c[C >> 2] | 0) + 28 | 0; c[h >> 2] = (c[h >> 2] | 0) + (c[A >> 2] | 0); if (c[A >> 2] | 0) { g = c[(c[C >> 2] | 0) + 24 >> 2] | 0; f = (c[u >> 2] | 0) + (0 - (c[A >> 2] | 0)) | 0; h = c[A >> 2] | 0; if (c[(c[C >> 2] | 0) + 16 >> 2] | 0) g = yb(g, f, h) | 0; else g = xb(g, f, h) | 0; c[(c[C >> 2] | 0) + 24 >> 2] = g; c[(c[x >> 2] | 0) + 48 >> 2] = g; } c[A >> 2] = c[r >> 2]; g = c[p >> 2] | 0; if (!(c[(c[C >> 2] | 0) + 16 >> 2] | 0)) g = (g >>> 24 & 255) + ((c[p >> 2] | 0) >>> 8 & 65280) + ((c[p >> 2] & 65280) << 8) + ((c[p >> 2] & 255) << 24) | 0; if ((g | 0) != (c[(c[C >> 2] | 0) + 24 >> 2] | 0)) { c[(c[x >> 2] | 0) + 24 >> 2] = 14125; c[c[C >> 2] >> 2] = 29; continue a; } else { c[p >> 2] = 0; c[j >> 2] = 0; break; } } while (0); c[c[C >> 2] >> 2] = 27; v = 293; break; } case 27: { v = 293; break; } default: { v = 305; break a; } } while (0); do if ((v | 0) == 42) { while (1) { v = 0; if ((c[j >> 2] | 0) >>> 0 >= 32) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; v = c[t >> 2] | 0; c[t >> 2] = v + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[v >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; v = 42; } if (c[(c[C >> 2] | 0) + 32 >> 2] | 0) c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 4 >> 2] = c[p >> 2]; if (c[(c[C >> 2] | 0) + 16 >> 2] & 512 | 0) { a[n >> 0] = c[p >> 2]; a[n + 1 >> 0] = (c[p >> 2] | 0) >>> 8; a[n + 2 >> 0] = (c[p >> 2] | 0) >>> 16; a[n + 3 >> 0] = (c[p >> 2] | 0) >>> 24; v = yb(c[(c[C >> 2] | 0) + 24 >> 2] | 0, n, 4) | 0; c[(c[C >> 2] | 0) + 24 >> 2] = v; } c[p >> 2] = 0; c[j >> 2] = 0; c[c[C >> 2] >> 2] = 3; v = 50; } else if ((v | 0) == 129) { if (!(c[(c[C >> 2] | 0) + 12 >> 2] | 0)) { v = 130; break a; } v = xb(0, 0, 0) | 0; c[(c[C >> 2] | 0) + 24 >> 2] = v; c[(c[x >> 2] | 0) + 48 >> 2] = v; c[c[C >> 2] >> 2] = 11; v = 132; } else if ((v | 0) == 153) { c[c[C >> 2] >> 2] = 15; v = 154; } else if ((v | 0) == 169) { while (1) { v = 0; if ((c[(c[C >> 2] | 0) + 104 >> 2] | 0) >>> 0 >= (c[(c[C >> 2] | 0) + 92 >> 2] | 0) >>> 0) break; while (1) { if ((c[j >> 2] | 0) >>> 0 >= 3) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } h = c[p >> 2] & 7; f = (c[C >> 2] | 0) + 104 | 0; v = c[f >> 2] | 0; c[f >> 2] = v + 1; b[(c[C >> 2] | 0) + 112 + ((e[12160 + (v << 1) >> 1] | 0) << 1) >> 1] = h; c[p >> 2] = (c[p >> 2] | 0) >>> 3; c[j >> 2] = (c[j >> 2] | 0) - 3; v = 169; } while (1) { g = c[C >> 2] | 0; if ((c[(c[C >> 2] | 0) + 104 >> 2] | 0) >>> 0 >= 19) break; f = g + 104 | 0; h = c[f >> 2] | 0; c[f >> 2] = h + 1; b[(c[C >> 2] | 0) + 112 + ((e[12160 + (h << 1) >> 1] | 0) << 1) >> 1] = 0; } c[(c[C >> 2] | 0) + 108 >> 2] = g + 1328; c[(c[C >> 2] | 0) + 76 >> 2] = c[(c[C >> 2] | 0) + 108 >> 2]; c[(c[C >> 2] | 0) + 84 >> 2] = 7; c[B >> 2] = $a(0, (c[C >> 2] | 0) + 112 | 0, 19, (c[C >> 2] | 0) + 108 | 0, (c[C >> 2] | 0) + 84 | 0, (c[C >> 2] | 0) + 752 | 0) | 0; if (c[B >> 2] | 0) { c[(c[x >> 2] | 0) + 24 >> 2] = 13987; c[c[C >> 2] >> 2] = 29; continue a; } else { c[(c[C >> 2] | 0) + 104 >> 2] = 0; c[c[C >> 2] >> 2] = 18; v = 179; break; } } else if ((v | 0) == 293) { v = 0; if (!(c[(c[C >> 2] | 0) + 8 >> 2] | 0)) { v = 301; break a; } if (!(c[(c[C >> 2] | 0) + 16 >> 2] | 0)) { v = 301; break a; } while (1) { if ((c[j >> 2] | 0) >>> 0 >= 32) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } if ((c[p >> 2] | 0) == (c[(c[C >> 2] | 0) + 28 >> 2] | 0)) { v = 300; break a; } c[(c[x >> 2] | 0) + 24 >> 2] = 14146; c[c[C >> 2] >> 2] = 29; continue a; } while (0); do if ((v | 0) == 50) { while (1) { v = 0; if ((c[j >> 2] | 0) >>> 0 >= 16) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; v = c[t >> 2] | 0; c[t >> 2] = v + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[v >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; v = 50; } if (c[(c[C >> 2] | 0) + 32 >> 2] | 0) { c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 8 >> 2] = c[p >> 2] & 255; c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 12 >> 2] = (c[p >> 2] | 0) >>> 8; } if (c[(c[C >> 2] | 0) + 16 >> 2] & 512 | 0) { a[n >> 0] = c[p >> 2]; a[n + 1 >> 0] = (c[p >> 2] | 0) >>> 8; v = yb(c[(c[C >> 2] | 0) + 24 >> 2] | 0, n, 2) | 0; c[(c[C >> 2] | 0) + 24 >> 2] = v; } c[p >> 2] = 0; c[j >> 2] = 0; c[c[C >> 2] >> 2] = 4; v = 58; } else if ((v | 0) == 132) { v = 0; if ((c[y >> 2] | 0) == 5 | (c[y >> 2] | 0) == 6) break a; else v = 133; } else if ((v | 0) == 154) { v = 0; c[k >> 2] = c[(c[C >> 2] | 0) + 64 >> 2]; if (!(c[k >> 2] | 0)) { c[c[C >> 2] >> 2] = 11; continue a; } if ((c[k >> 2] | 0) >>> 0 > (c[m >> 2] | 0) >>> 0) c[k >> 2] = c[m >> 2]; if ((c[k >> 2] | 0) >>> 0 > (c[r >> 2] | 0) >>> 0) c[k >> 2] = c[r >> 2]; if (!(c[k >> 2] | 0)) break a; Ib(c[u >> 2] | 0, c[t >> 2] | 0, c[k >> 2] | 0) | 0; c[m >> 2] = (c[m >> 2] | 0) - (c[k >> 2] | 0); c[t >> 2] = (c[t >> 2] | 0) + (c[k >> 2] | 0); c[r >> 2] = (c[r >> 2] | 0) - (c[k >> 2] | 0); c[u >> 2] = (c[u >> 2] | 0) + (c[k >> 2] | 0); h = (c[C >> 2] | 0) + 64 | 0; c[h >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0); continue a; } else if ((v | 0) == 179) { c : while (1) { v = 0; if ((c[(c[C >> 2] | 0) + 104 >> 2] | 0) >>> 0 >= ((c[(c[C >> 2] | 0) + 96 >> 2] | 0) + (c[(c[C >> 2] | 0) + 100 >> 2] | 0) | 0) >>> 0) break; while (1) { h = (c[(c[C >> 2] | 0) + 76 >> 2] | 0) + ((c[p >> 2] & (1 << c[(c[C >> 2] | 0) + 84 >> 2]) - 1) << 2) | 0; b[o >> 1] = b[h >> 1] | 0; b[o + 2 >> 1] = b[h + 2 >> 1] | 0; if ((d[o + 1 >> 0] | 0) >>> 0 <= (c[j >> 2] | 0) >>> 0) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } if ((e[o + 2 >> 1] | 0 | 0) < 16) { c[p >> 2] = (c[p >> 2] | 0) >>> (d[o + 1 >> 0] | 0); c[j >> 2] = (c[j >> 2] | 0) - (d[o + 1 >> 0] | 0); h = b[o + 2 >> 1] | 0; f = (c[C >> 2] | 0) + 104 | 0; v = c[f >> 2] | 0; c[f >> 2] = v + 1; b[(c[C >> 2] | 0) + 112 + (v << 1) >> 1] = h; v = 179; continue; } do if ((e[o + 2 >> 1] | 0 | 0) == 16) { while (1) { if ((c[j >> 2] | 0) >>> 0 >= ((d[o + 1 >> 0] | 0) + 2 | 0) >>> 0) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } c[p >> 2] = (c[p >> 2] | 0) >>> (d[o + 1 >> 0] | 0); c[j >> 2] = (c[j >> 2] | 0) - (d[o + 1 >> 0] | 0); if (!(c[(c[C >> 2] | 0) + 104 >> 2] | 0)) { v = 190; break c; } c[s >> 2] = e[(c[C >> 2] | 0) + 112 + ((c[(c[C >> 2] | 0) + 104 >> 2] | 0) - 1 << 1) >> 1]; c[k >> 2] = 3 + (c[p >> 2] & 3); c[p >> 2] = (c[p >> 2] | 0) >>> 2; c[j >> 2] = (c[j >> 2] | 0) - 2; } else if ((e[o + 2 >> 1] | 0 | 0) == 17) { while (1) { if ((c[j >> 2] | 0) >>> 0 >= ((d[o + 1 >> 0] | 0) + 3 | 0) >>> 0) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } c[p >> 2] = (c[p >> 2] | 0) >>> (d[o + 1 >> 0] | 0); c[j >> 2] = (c[j >> 2] | 0) - (d[o + 1 >> 0] | 0); c[s >> 2] = 0; c[k >> 2] = 3 + (c[p >> 2] & 7); c[p >> 2] = (c[p >> 2] | 0) >>> 3; c[j >> 2] = (c[j >> 2] | 0) - 3; break; } else { while (1) { if ((c[j >> 2] | 0) >>> 0 >= ((d[o + 1 >> 0] | 0) + 7 | 0) >>> 0) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } c[p >> 2] = (c[p >> 2] | 0) >>> (d[o + 1 >> 0] | 0); c[j >> 2] = (c[j >> 2] | 0) - (d[o + 1 >> 0] | 0); c[s >> 2] = 0; c[k >> 2] = 11 + (c[p >> 2] & 127); c[p >> 2] = (c[p >> 2] | 0) >>> 7; c[j >> 2] = (c[j >> 2] | 0) - 7; break; } while (0); if (((c[(c[C >> 2] | 0) + 104 >> 2] | 0) + (c[k >> 2] | 0) | 0) >>> 0 > ((c[(c[C >> 2] | 0) + 96 >> 2] | 0) + (c[(c[C >> 2] | 0) + 100 >> 2] | 0) | 0) >>> 0) { v = 202; break; } while (1) { v = c[k >> 2] | 0; c[k >> 2] = v + -1; if (!v) { v = 179; continue c; } h = c[s >> 2] & 65535; f = (c[C >> 2] | 0) + 104 | 0; v = c[f >> 2] | 0; c[f >> 2] = v + 1; b[(c[C >> 2] | 0) + 112 + (v << 1) >> 1] = h; } } if ((v | 0) == 190) { v = 0; c[(c[x >> 2] | 0) + 24 >> 2] = 14012; c[c[C >> 2] >> 2] = 29; } else if ((v | 0) == 202) { v = 0; c[(c[x >> 2] | 0) + 24 >> 2] = 14012; c[c[C >> 2] >> 2] = 29; } if ((c[c[C >> 2] >> 2] | 0) == 29) continue a; if (!(e[(c[C >> 2] | 0) + 112 + 512 >> 1] | 0)) { c[(c[x >> 2] | 0) + 24 >> 2] = 14038; c[c[C >> 2] >> 2] = 29; continue a; } c[(c[C >> 2] | 0) + 108 >> 2] = (c[C >> 2] | 0) + 1328; c[(c[C >> 2] | 0) + 76 >> 2] = c[(c[C >> 2] | 0) + 108 >> 2]; c[(c[C >> 2] | 0) + 84 >> 2] = 9; c[B >> 2] = $a(1, (c[C >> 2] | 0) + 112 | 0, c[(c[C >> 2] | 0) + 96 >> 2] | 0, (c[C >> 2] | 0) + 108 | 0, (c[C >> 2] | 0) + 84 | 0, (c[C >> 2] | 0) + 752 | 0) | 0; if (c[B >> 2] | 0) { c[(c[x >> 2] | 0) + 24 >> 2] = 14075; c[c[C >> 2] >> 2] = 29; continue a; } c[(c[C >> 2] | 0) + 80 >> 2] = c[(c[C >> 2] | 0) + 108 >> 2]; c[(c[C >> 2] | 0) + 88 >> 2] = 6; c[B >> 2] = $a(2, (c[C >> 2] | 0) + 112 + (c[(c[C >> 2] | 0) + 96 >> 2] << 1) | 0, c[(c[C >> 2] | 0) + 100 >> 2] | 0, (c[C >> 2] | 0) + 108 | 0, (c[C >> 2] | 0) + 88 | 0, (c[C >> 2] | 0) + 752 | 0) | 0; if (c[B >> 2] | 0) { c[(c[x >> 2] | 0) + 24 >> 2] = 14103; c[c[C >> 2] >> 2] = 29; continue a; } else { c[c[C >> 2] >> 2] = 19; if ((c[y >> 2] | 0) == 6) break a; else { v = 213; break; } } } while (0); if ((v | 0) == 58) { v = 0; if (c[(c[C >> 2] | 0) + 16 >> 2] & 1024 | 0) { while (1) { if ((c[j >> 2] | 0) >>> 0 >= 16) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } c[(c[C >> 2] | 0) + 64 >> 2] = c[p >> 2]; if (c[(c[C >> 2] | 0) + 32 >> 2] | 0) c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 20 >> 2] = c[p >> 2]; if (c[(c[C >> 2] | 0) + 16 >> 2] & 512 | 0) { a[n >> 0] = c[p >> 2]; a[n + 1 >> 0] = (c[p >> 2] | 0) >>> 8; v = yb(c[(c[C >> 2] | 0) + 24 >> 2] | 0, n, 2) | 0; c[(c[C >> 2] | 0) + 24 >> 2] = v; } c[p >> 2] = 0; c[j >> 2] = 0; } else if (c[(c[C >> 2] | 0) + 32 >> 2] | 0) c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 16 >> 2] = 0; c[c[C >> 2] >> 2] = 5; v = 70; } else if ((v | 0) == 133) { v = 0; if (c[(c[C >> 2] | 0) + 4 >> 2] | 0) { c[p >> 2] = (c[p >> 2] | 0) >>> (c[j >> 2] & 7); c[j >> 2] = (c[j >> 2] | 0) - (c[j >> 2] & 7); c[c[C >> 2] >> 2] = 26; continue; } while (1) { if ((c[j >> 2] | 0) >>> 0 >= 3) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } c[(c[C >> 2] | 0) + 4 >> 2] = c[p >> 2] & 1; c[p >> 2] = (c[p >> 2] | 0) >>> 1; c[j >> 2] = (c[j >> 2] | 0) - 1; switch (c[p >> 2] & 3 | 0) { case 0: { c[c[C >> 2] >> 2] = 13; break; } case 1: { Ya(c[C >> 2] | 0); c[c[C >> 2] >> 2] = 19; if ((c[y >> 2] | 0) == 6) { v = 141; break a; } break; } case 2: { c[c[C >> 2] >> 2] = 16; break; } case 3: { c[(c[x >> 2] | 0) + 24 >> 2] = 13903; c[c[C >> 2] >> 2] = 29; break; } default: { v = 144; break a; } } c[p >> 2] = (c[p >> 2] | 0) >>> 2; c[j >> 2] = (c[j >> 2] | 0) - 2; continue; } else if ((v | 0) == 213) { c[c[C >> 2] >> 2] = 20; v = 214; } do if ((v | 0) == 70) { v = 0; if (c[(c[C >> 2] | 0) + 16 >> 2] & 1024 | 0) { c[k >> 2] = c[(c[C >> 2] | 0) + 64 >> 2]; if ((c[k >> 2] | 0) >>> 0 > (c[m >> 2] | 0) >>> 0) c[k >> 2] = c[m >> 2]; if (c[k >> 2] | 0) { if (c[(c[C >> 2] | 0) + 32 >> 2] | 0) if (c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 16 >> 2] | 0) { c[s >> 2] = (c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 20 >> 2] | 0) - (c[(c[C >> 2] | 0) + 64 >> 2] | 0); if (((c[s >> 2] | 0) + (c[k >> 2] | 0) | 0) >>> 0 > (c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 24 >> 2] | 0) >>> 0) g = (c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 24 >> 2] | 0) - (c[s >> 2] | 0) | 0; else g = c[k >> 2] | 0; Ib((c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 16 >> 2] | 0) + (c[s >> 2] | 0) | 0, c[t >> 2] | 0, g | 0) | 0; } if (c[(c[C >> 2] | 0) + 16 >> 2] & 512 | 0) { h = yb(c[(c[C >> 2] | 0) + 24 >> 2] | 0, c[t >> 2] | 0, c[k >> 2] | 0) | 0; c[(c[C >> 2] | 0) + 24 >> 2] = h; } c[m >> 2] = (c[m >> 2] | 0) - (c[k >> 2] | 0); c[t >> 2] = (c[t >> 2] | 0) + (c[k >> 2] | 0); h = (c[C >> 2] | 0) + 64 | 0; c[h >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0); } if (c[(c[C >> 2] | 0) + 64 >> 2] | 0) break a; } c[(c[C >> 2] | 0) + 64 >> 2] = 0; c[c[C >> 2] >> 2] = 6; v = 85; } else if ((v | 0) == 214) { v = 0; if ((c[m >> 2] | 0) >>> 0 >= 6 & (c[r >> 2] | 0) >>> 0 >= 258) { c[(c[x >> 2] | 0) + 12 >> 2] = c[u >> 2]; c[(c[x >> 2] | 0) + 16 >> 2] = c[r >> 2]; c[c[x >> 2] >> 2] = c[t >> 2]; c[(c[x >> 2] | 0) + 4 >> 2] = c[m >> 2]; c[(c[C >> 2] | 0) + 56 >> 2] = c[p >> 2]; c[(c[C >> 2] | 0) + 60 >> 2] = c[j >> 2]; Bb(c[x >> 2] | 0, c[A >> 2] | 0); c[u >> 2] = c[(c[x >> 2] | 0) + 12 >> 2]; c[r >> 2] = c[(c[x >> 2] | 0) + 16 >> 2]; c[t >> 2] = c[c[x >> 2] >> 2]; c[m >> 2] = c[(c[x >> 2] | 0) + 4 >> 2]; c[p >> 2] = c[(c[C >> 2] | 0) + 56 >> 2]; c[j >> 2] = c[(c[C >> 2] | 0) + 60 >> 2]; if ((c[c[C >> 2] >> 2] | 0) != 11) continue a; c[(c[C >> 2] | 0) + 7108 >> 2] = -1; continue a; } c[(c[C >> 2] | 0) + 7108 >> 2] = 0; while (1) { h = (c[(c[C >> 2] | 0) + 76 >> 2] | 0) + ((c[p >> 2] & (1 << c[(c[C >> 2] | 0) + 84 >> 2]) - 1) << 2) | 0; b[o >> 1] = b[h >> 1] | 0; b[o + 2 >> 1] = b[h + 2 >> 1] | 0; if ((d[o + 1 >> 0] | 0) >>> 0 <= (c[j >> 2] | 0) >>> 0) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } if (d[o >> 0] | 0 | 0) if (!((d[o >> 0] | 0) & 240)) { b[q >> 1] = b[o >> 1] | 0; b[q + 2 >> 1] = b[o + 2 >> 1] | 0; while (1) { h = (c[(c[C >> 2] | 0) + 76 >> 2] | 0) + ((e[q + 2 >> 1] | 0) + ((c[p >> 2] & (1 << (d[q + 1 >> 0] | 0) + (d[q >> 0] | 0)) - 1) >>> (d[q + 1 >> 0] | 0)) << 2) | 0; b[o >> 1] = b[h >> 1] | 0; b[o + 2 >> 1] = b[h + 2 >> 1] | 0; if (((d[q + 1 >> 0] | 0) + (d[o + 1 >> 0] | 0) | 0) >>> 0 <= (c[j >> 2] | 0) >>> 0) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } c[p >> 2] = (c[p >> 2] | 0) >>> (d[q + 1 >> 0] | 0); c[j >> 2] = (c[j >> 2] | 0) - (d[q + 1 >> 0] | 0); h = (c[C >> 2] | 0) + 7108 | 0; c[h >> 2] = (c[h >> 2] | 0) + (d[q + 1 >> 0] | 0); } c[p >> 2] = (c[p >> 2] | 0) >>> (d[o + 1 >> 0] | 0); c[j >> 2] = (c[j >> 2] | 0) - (d[o + 1 >> 0] | 0); h = (c[C >> 2] | 0) + 7108 | 0; c[h >> 2] = (c[h >> 2] | 0) + (d[o + 1 >> 0] | 0); c[(c[C >> 2] | 0) + 64 >> 2] = e[o + 2 >> 1]; if (!(d[o >> 0] | 0)) { c[c[C >> 2] >> 2] = 25; continue a; } if ((d[o >> 0] | 0) & 32 | 0) { c[(c[C >> 2] | 0) + 7108 >> 2] = -1; c[c[C >> 2] >> 2] = 11; continue a; } if ((d[o >> 0] | 0) & 64 | 0) { c[(c[x >> 2] | 0) + 24 >> 2] = 15124; c[c[C >> 2] >> 2] = 29; continue a; } else { c[(c[C >> 2] | 0) + 72 >> 2] = (d[o >> 0] | 0) & 15; c[c[C >> 2] >> 2] = 21; v = 235; break; } } while (0); if ((v | 0) == 85) { v = 0; if (c[(c[C >> 2] | 0) + 16 >> 2] & 2048 | 0) { if (!(c[m >> 2] | 0)) break; c[k >> 2] = 0; do { h = c[k >> 2] | 0; c[k >> 2] = h + 1; c[s >> 2] = d[(c[t >> 2] | 0) + h >> 0]; if (c[(c[C >> 2] | 0) + 32 >> 2] | 0) if (c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 28 >> 2] | 0) if ((c[(c[C >> 2] | 0) + 64 >> 2] | 0) >>> 0 < (c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 32 >> 2] | 0) >>> 0) { f = c[s >> 2] & 255; g = (c[C >> 2] | 0) + 64 | 0; h = c[g >> 2] | 0; c[g >> 2] = h + 1; a[(c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 28 >> 2] | 0) + h >> 0] = f; } if (!(c[s >> 2] | 0)) break; } while ((c[k >> 2] | 0) >>> 0 < (c[m >> 2] | 0) >>> 0); if (c[(c[C >> 2] | 0) + 16 >> 2] & 512 | 0) { h = yb(c[(c[C >> 2] | 0) + 24 >> 2] | 0, c[t >> 2] | 0, c[k >> 2] | 0) | 0; c[(c[C >> 2] | 0) + 24 >> 2] = h; } c[m >> 2] = (c[m >> 2] | 0) - (c[k >> 2] | 0); c[t >> 2] = (c[t >> 2] | 0) + (c[k >> 2] | 0); if (c[s >> 2] | 0) break; } else if (c[(c[C >> 2] | 0) + 32 >> 2] | 0) c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 28 >> 2] = 0; c[(c[C >> 2] | 0) + 64 >> 2] = 0; c[c[C >> 2] >> 2] = 7; v = 100; } else if ((v | 0) == 235) { v = 0; if (c[(c[C >> 2] | 0) + 72 >> 2] | 0) { while (1) { if ((c[j >> 2] | 0) >>> 0 >= (c[(c[C >> 2] | 0) + 72 >> 2] | 0) >>> 0) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } v = (c[C >> 2] | 0) + 64 | 0; c[v >> 2] = (c[v >> 2] | 0) + (c[p >> 2] & (1 << c[(c[C >> 2] | 0) + 72 >> 2]) - 1); c[p >> 2] = (c[p >> 2] | 0) >>> (c[(c[C >> 2] | 0) + 72 >> 2] | 0); c[j >> 2] = (c[j >> 2] | 0) - (c[(c[C >> 2] | 0) + 72 >> 2] | 0); v = (c[C >> 2] | 0) + 7108 | 0; c[v >> 2] = (c[v >> 2] | 0) + (c[(c[C >> 2] | 0) + 72 >> 2] | 0); } c[(c[C >> 2] | 0) + 7112 >> 2] = c[(c[C >> 2] | 0) + 64 >> 2]; c[c[C >> 2] >> 2] = 22; v = 241; } do if ((v | 0) == 100) { v = 0; if (c[(c[C >> 2] | 0) + 16 >> 2] & 4096 | 0) { if (!(c[m >> 2] | 0)) break a; c[k >> 2] = 0; do { h = c[k >> 2] | 0; c[k >> 2] = h + 1; c[s >> 2] = d[(c[t >> 2] | 0) + h >> 0]; if (c[(c[C >> 2] | 0) + 32 >> 2] | 0) if (c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 36 >> 2] | 0) if ((c[(c[C >> 2] | 0) + 64 >> 2] | 0) >>> 0 < (c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 40 >> 2] | 0) >>> 0) { f = c[s >> 2] & 255; g = (c[C >> 2] | 0) + 64 | 0; h = c[g >> 2] | 0; c[g >> 2] = h + 1; a[(c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 36 >> 2] | 0) + h >> 0] = f; } if (!(c[s >> 2] | 0)) break; } while ((c[k >> 2] | 0) >>> 0 < (c[m >> 2] | 0) >>> 0); if (c[(c[C >> 2] | 0) + 16 >> 2] & 512 | 0) { h = yb(c[(c[C >> 2] | 0) + 24 >> 2] | 0, c[t >> 2] | 0, c[k >> 2] | 0) | 0; c[(c[C >> 2] | 0) + 24 >> 2] = h; } c[m >> 2] = (c[m >> 2] | 0) - (c[k >> 2] | 0); c[t >> 2] = (c[t >> 2] | 0) + (c[k >> 2] | 0); if (c[s >> 2] | 0) break a; } else if (c[(c[C >> 2] | 0) + 32 >> 2] | 0) c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 36 >> 2] = 0; c[c[C >> 2] >> 2] = 8; v = 115; } else if ((v | 0) == 241) { while (1) { v = 0; h = (c[(c[C >> 2] | 0) + 80 >> 2] | 0) + ((c[p >> 2] & (1 << c[(c[C >> 2] | 0) + 88 >> 2]) - 1) << 2) | 0; b[o >> 1] = b[h >> 1] | 0; b[o + 2 >> 1] = b[h + 2 >> 1] | 0; if ((d[o + 1 >> 0] | 0) >>> 0 <= (c[j >> 2] | 0) >>> 0) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; v = c[t >> 2] | 0; c[t >> 2] = v + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[v >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; v = 241; } if (!((d[o >> 0] | 0) & 240)) { b[q >> 1] = b[o >> 1] | 0; b[q + 2 >> 1] = b[o + 2 >> 1] | 0; while (1) { h = (c[(c[C >> 2] | 0) + 80 >> 2] | 0) + ((e[q + 2 >> 1] | 0) + ((c[p >> 2] & (1 << (d[q + 1 >> 0] | 0) + (d[q >> 0] | 0)) - 1) >>> (d[q + 1 >> 0] | 0)) << 2) | 0; b[o >> 1] = b[h >> 1] | 0; b[o + 2 >> 1] = b[h + 2 >> 1] | 0; if (((d[q + 1 >> 0] | 0) + (d[o + 1 >> 0] | 0) | 0) >>> 0 <= (c[j >> 2] | 0) >>> 0) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } c[p >> 2] = (c[p >> 2] | 0) >>> (d[q + 1 >> 0] | 0); c[j >> 2] = (c[j >> 2] | 0) - (d[q + 1 >> 0] | 0); h = (c[C >> 2] | 0) + 7108 | 0; c[h >> 2] = (c[h >> 2] | 0) + (d[q + 1 >> 0] | 0); } c[p >> 2] = (c[p >> 2] | 0) >>> (d[o + 1 >> 0] | 0); c[j >> 2] = (c[j >> 2] | 0) - (d[o + 1 >> 0] | 0); h = (c[C >> 2] | 0) + 7108 | 0; c[h >> 2] = (c[h >> 2] | 0) + (d[o + 1 >> 0] | 0); if ((d[o >> 0] | 0) & 64 | 0) { c[(c[x >> 2] | 0) + 24 >> 2] = 15102; c[c[C >> 2] >> 2] = 29; continue a; } else { c[(c[C >> 2] | 0) + 68 >> 2] = e[o + 2 >> 1]; c[(c[C >> 2] | 0) + 72 >> 2] = (d[o >> 0] | 0) & 15; c[c[C >> 2] >> 2] = 23; v = 253; break; } } while (0); if ((v | 0) == 115) { v = 0; do if (c[(c[C >> 2] | 0) + 16 >> 2] & 512 | 0) { while (1) { if ((c[j >> 2] | 0) >>> 0 >= 16) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } if ((c[p >> 2] | 0) != (c[(c[C >> 2] | 0) + 24 >> 2] & 65535 | 0)) { c[(c[x >> 2] | 0) + 24 >> 2] = 13883; c[c[C >> 2] >> 2] = 29; continue a; } else { c[p >> 2] = 0; c[j >> 2] = 0; break; } } while (0); if (c[(c[C >> 2] | 0) + 32 >> 2] | 0) { c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 44 >> 2] = c[(c[C >> 2] | 0) + 16 >> 2] >> 9 & 1; c[(c[(c[C >> 2] | 0) + 32 >> 2] | 0) + 48 >> 2] = 1; } h = yb(0, 0, 0) | 0; c[(c[C >> 2] | 0) + 24 >> 2] = h; c[(c[x >> 2] | 0) + 48 >> 2] = h; c[c[C >> 2] >> 2] = 11; continue; } else if ((v | 0) == 253) { v = 0; if (c[(c[C >> 2] | 0) + 72 >> 2] | 0) { while (1) { if ((c[j >> 2] | 0) >>> 0 >= (c[(c[C >> 2] | 0) + 72 >> 2] | 0) >>> 0) break; if (!(c[m >> 2] | 0)) break a; c[m >> 2] = (c[m >> 2] | 0) + -1; h = c[t >> 2] | 0; c[t >> 2] = h + 1; c[p >> 2] = (c[p >> 2] | 0) + ((d[h >> 0] | 0) << c[j >> 2]); c[j >> 2] = (c[j >> 2] | 0) + 8; } h = (c[C >> 2] | 0) + 68 | 0; c[h >> 2] = (c[h >> 2] | 0) + (c[p >> 2] & (1 << c[(c[C >> 2] | 0) + 72 >> 2]) - 1); c[p >> 2] = (c[p >> 2] | 0) >>> (c[(c[C >> 2] | 0) + 72 >> 2] | 0); c[j >> 2] = (c[j >> 2] | 0) - (c[(c[C >> 2] | 0) + 72 >> 2] | 0); h = (c[C >> 2] | 0) + 7108 | 0; c[h >> 2] = (c[h >> 2] | 0) + (c[(c[C >> 2] | 0) + 72 >> 2] | 0); } c[c[C >> 2] >> 2] = 24; } if (!(c[r >> 2] | 0)) break; c[k >> 2] = (c[A >> 2] | 0) - (c[r >> 2] | 0); if ((c[(c[C >> 2] | 0) + 68 >> 2] | 0) >>> 0 > (c[k >> 2] | 0) >>> 0) { c[k >> 2] = (c[(c[C >> 2] | 0) + 68 >> 2] | 0) - (c[k >> 2] | 0); if ((c[k >> 2] | 0) >>> 0 > (c[(c[C >> 2] | 0) + 44 >> 2] | 0) >>> 0) if (c[(c[C >> 2] | 0) + 7104 >> 2] | 0) { c[(c[x >> 2] | 0) + 24 >> 2] = 15072; c[c[C >> 2] >> 2] = 29; continue; } g = c[C >> 2] | 0; if ((c[k >> 2] | 0) >>> 0 > (c[(c[C >> 2] | 0) + 48 >> 2] | 0) >>> 0) { c[k >> 2] = (c[k >> 2] | 0) - (c[g + 48 >> 2] | 0); c[l >> 2] = (c[(c[C >> 2] | 0) + 52 >> 2] | 0) + ((c[(c[C >> 2] | 0) + 40 >> 2] | 0) - (c[k >> 2] | 0)); } else c[l >> 2] = (c[g + 52 >> 2] | 0) + ((c[(c[C >> 2] | 0) + 48 >> 2] | 0) - (c[k >> 2] | 0)); if ((c[k >> 2] | 0) >>> 0 > (c[(c[C >> 2] | 0) + 64 >> 2] | 0) >>> 0) c[k >> 2] = c[(c[C >> 2] | 0) + 64 >> 2]; } else { c[l >> 2] = (c[u >> 2] | 0) + (0 - (c[(c[C >> 2] | 0) + 68 >> 2] | 0)); c[k >> 2] = c[(c[C >> 2] | 0) + 64 >> 2]; } if ((c[k >> 2] | 0) >>> 0 > (c[r >> 2] | 0) >>> 0) c[k >> 2] = c[r >> 2]; c[r >> 2] = (c[r >> 2] | 0) - (c[k >> 2] | 0); h = (c[C >> 2] | 0) + 64 | 0; c[h >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0); do { f = c[l >> 2] | 0; c[l >> 2] = f + 1; f = a[f >> 0] | 0; h = c[u >> 2] | 0; c[u >> 2] = h + 1; a[h >> 0] = f; h = (c[k >> 2] | 0) + -1 | 0; c[k >> 2] = h; } while ((h | 0) != 0); if (c[(c[C >> 2] | 0) + 64 >> 2] | 0) continue; c[c[C >> 2] >> 2] = 20; } if ((v | 0) == 130) { c[(c[x >> 2] | 0) + 12 >> 2] = c[u >> 2]; c[(c[x >> 2] | 0) + 16 >> 2] = c[r >> 2]; c[c[x >> 2] >> 2] = c[t >> 2]; c[(c[x >> 2] | 0) + 4 >> 2] = c[m >> 2]; c[(c[C >> 2] | 0) + 56 >> 2] = c[p >> 2]; c[(c[C >> 2] | 0) + 60 >> 2] = c[j >> 2]; c[w >> 2] = 2; C = c[w >> 2] | 0; i = D; return C | 0; } else if ((v | 0) == 141) { c[p >> 2] = (c[p >> 2] | 0) >>> 2; c[j >> 2] = (c[j >> 2] | 0) - 2; } else if ((v | 0) != 144) if ((v | 0) == 300) { c[p >> 2] = 0; c[j >> 2] = 0; v = 301; } else if ((v | 0) == 303) c[B >> 2] = -3; else if ((v | 0) == 304) { c[w >> 2] = -4; C = c[w >> 2] | 0; i = D; return C | 0; } else if ((v | 0) == 305) { c[w >> 2] = -2; C = c[w >> 2] | 0; i = D; return C | 0; } if ((v | 0) == 301) { c[c[C >> 2] >> 2] = 28; v = 302; } if ((v | 0) == 302) c[B >> 2] = 1; c[(c[x >> 2] | 0) + 12 >> 2] = c[u >> 2]; c[(c[x >> 2] | 0) + 16 >> 2] = c[r >> 2]; c[c[x >> 2] >> 2] = c[t >> 2]; c[(c[x >> 2] | 0) + 4 >> 2] = c[m >> 2]; c[(c[C >> 2] | 0) + 56 >> 2] = c[p >> 2]; c[(c[C >> 2] | 0) + 60 >> 2] = c[j >> 2]; if (c[(c[C >> 2] | 0) + 40 >> 2] | 0) v = 310; else if ((c[A >> 2] | 0) != (c[(c[x >> 2] | 0) + 16 >> 2] | 0)) if ((c[c[C >> 2] >> 2] | 0) >>> 0 < 29) if ((c[y >> 2] | 0) != 4 ? 1 : (c[c[C >> 2] >> 2] | 0) >>> 0 < 26) v = 310; if ((v | 0) == 310) if (Za(c[x >> 2] | 0, c[(c[x >> 2] | 0) + 12 >> 2] | 0, (c[A >> 2] | 0) - (c[(c[x >> 2] | 0) + 16 >> 2] | 0) | 0) | 0) { c[c[C >> 2] >> 2] = 30; c[w >> 2] = -4; C = c[w >> 2] | 0; i = D; return C | 0; } c[z >> 2] = (c[z >> 2] | 0) - (c[(c[x >> 2] | 0) + 4 >> 2] | 0); c[A >> 2] = (c[A >> 2] | 0) - (c[(c[x >> 2] | 0) + 16 >> 2] | 0); v = (c[x >> 2] | 0) + 8 | 0; c[v >> 2] = (c[v >> 2] | 0) + (c[z >> 2] | 0); v = (c[x >> 2] | 0) + 20 | 0; c[v >> 2] = (c[v >> 2] | 0) + (c[A >> 2] | 0); v = (c[C >> 2] | 0) + 28 | 0; c[v >> 2] = (c[v >> 2] | 0) + (c[A >> 2] | 0); if (c[A >> 2] | 0 ? (c[(c[C >> 2] | 0) + 8 >> 2] | 0) != 0 : 0) { g = c[(c[C >> 2] | 0) + 24 >> 2] | 0; f = (c[(c[x >> 2] | 0) + 12 >> 2] | 0) + (0 - (c[A >> 2] | 0)) | 0; h = c[A >> 2] | 0; if (c[(c[C >> 2] | 0) + 16 >> 2] | 0) g = yb(g, f, h) | 0; else g = xb(g, f, h) | 0; c[(c[C >> 2] | 0) + 24 >> 2] = g; c[(c[x >> 2] | 0) + 48 >> 2] = g; } if ((c[c[C >> 2] >> 2] | 0) == 19) g = 1; else g = (c[c[C >> 2] >> 2] | 0) == 14; c[(c[x >> 2] | 0) + 44 >> 2] = (c[(c[C >> 2] | 0) + 60 >> 2] | 0) + (c[(c[C >> 2] | 0) + 4 >> 2] | 0 ? 64 : 0) + ((c[c[C >> 2] >> 2] | 0) == 11 ? 128 : 0) + (g ? 256 : 0); if (((c[z >> 2] | 0) == 0 & (c[A >> 2] | 0) == 0 | (c[y >> 2] | 0) == 4) & (c[B >> 2] | 0) == 0) c[B >> 2] = -5; c[w >> 2] = c[B >> 2]; C = c[w >> 2] | 0; i = D; return C | 0; } while (0); c[w >> 2] = -2; C = c[w >> 2] | 0; i = D; return C | 0; } function Db(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0; D = i; i = i + 16 | 0; p = D; do if (a >>> 0 < 245) { q = a >>> 0 < 11 ? 16 : a + 11 & -8; a = q >>> 3; k = c[3803] | 0; b = k >>> a; if (b & 3 | 0) { f = (b & 1 ^ 1) + a | 0; g = 15252 + (f << 1 << 2) | 0; b = g + 8 | 0; d = c[b >> 2] | 0; h = d + 8 | 0; e = c[h >> 2] | 0; do if ((g | 0) == (e | 0)) c[3803] = k & ~(1 << f); else { if (e >>> 0 < (c[3807] | 0) >>> 0) ha(); a = e + 12 | 0; if ((c[a >> 2] | 0) == (d | 0)) { c[a >> 2] = g; c[b >> 2] = e; break; } else ha(); } while (0); C = f << 3; c[d + 4 >> 2] = C | 3; C = d + C + 4 | 0; c[C >> 2] = c[C >> 2] | 1; C = h; i = D; return C | 0; } h = c[3805] | 0; if (q >>> 0 > h >>> 0) { if (b | 0) { f = 2 << a; f = b << a & (f | 0 - f); f = (f & 0 - f) + -1 | 0; j = f >>> 12 & 16; f = f >>> j; b = f >>> 5 & 8; f = f >>> b; g = f >>> 2 & 4; f = f >>> g; d = f >>> 1 & 2; f = f >>> d; e = f >>> 1 & 1; e = (b | j | g | d | e) + (f >>> e) | 0; f = 15252 + (e << 1 << 2) | 0; d = f + 8 | 0; g = c[d >> 2] | 0; j = g + 8 | 0; b = c[j >> 2] | 0; do if ((f | 0) == (b | 0)) { c[3803] = k & ~(1 << e); l = h; } else { if (b >>> 0 < (c[3807] | 0) >>> 0) ha(); a = b + 12 | 0; if ((c[a >> 2] | 0) == (g | 0)) { c[a >> 2] = f; c[d >> 2] = b; l = c[3805] | 0; break; } else ha(); } while (0); h = (e << 3) - q | 0; c[g + 4 >> 2] = q | 3; f = g + q | 0; c[f + 4 >> 2] = h | 1; c[f + h >> 2] = h; if (l | 0) { e = c[3808] | 0; b = l >>> 3; d = 15252 + (b << 1 << 2) | 0; a = c[3803] | 0; b = 1 << b; if (!(a & b)) { c[3803] = a | b; m = d + 8 | 0; n = d; } else { a = d + 8 | 0; b = c[a >> 2] | 0; if (b >>> 0 < (c[3807] | 0) >>> 0) ha(); else { m = a; n = b; } } c[m >> 2] = e; c[n + 12 >> 2] = e; c[e + 8 >> 2] = n; c[e + 12 >> 2] = d; } c[3805] = h; c[3808] = f; C = j; i = D; return C | 0; } a = c[3804] | 0; if (a) { d = (a & 0 - a) + -1 | 0; B = d >>> 12 & 16; d = d >>> B; A = d >>> 5 & 8; d = d >>> A; C = d >>> 2 & 4; d = d >>> C; b = d >>> 1 & 2; d = d >>> b; e = d >>> 1 & 1; e = c[15516 + ((A | B | C | b | e) + (d >>> e) << 2) >> 2] | 0; d = (c[e + 4 >> 2] & -8) - q | 0; b = e; while (1) { a = c[b + 16 >> 2] | 0; if (!a) { a = c[b + 20 >> 2] | 0; if (!a) { k = e; break; } } b = (c[a + 4 >> 2] & -8) - q | 0; C = b >>> 0 < d >>> 0; d = C ? b : d; b = a; e = C ? a : e; } g = c[3807] | 0; if (k >>> 0 < g >>> 0) ha(); j = k + q | 0; if (k >>> 0 >= j >>> 0) ha(); h = c[k + 24 >> 2] | 0; e = c[k + 12 >> 2] | 0; do if ((e | 0) == (k | 0)) { b = k + 20 | 0; a = c[b >> 2] | 0; if (!a) { b = k + 16 | 0; a = c[b >> 2] | 0; if (!a) { o = 0; break; } } while (1) { f = a + 20 | 0; e = c[f >> 2] | 0; if (e | 0) { a = e; b = f; continue; } f = a + 16 | 0; e = c[f >> 2] | 0; if (!e) break; else { a = e; b = f; } } if (b >>> 0 < g >>> 0) ha(); else { c[b >> 2] = 0; o = a; break; } } else { f = c[k + 8 >> 2] | 0; if (f >>> 0 < g >>> 0) ha(); a = f + 12 | 0; if ((c[a >> 2] | 0) != (k | 0)) ha(); b = e + 8 | 0; if ((c[b >> 2] | 0) == (k | 0)) { c[a >> 2] = e; c[b >> 2] = f; o = e; break; } else ha(); } while (0); do if (h | 0) { a = c[k + 28 >> 2] | 0; b = 15516 + (a << 2) | 0; if ((k | 0) == (c[b >> 2] | 0)) { c[b >> 2] = o; if (!o) { c[3804] = c[3804] & ~(1 << a); break; } } else { if (h >>> 0 < (c[3807] | 0) >>> 0) ha(); a = h + 16 | 0; if ((c[a >> 2] | 0) == (k | 0)) c[a >> 2] = o; else c[h + 20 >> 2] = o; if (!o) break; } b = c[3807] | 0; if (o >>> 0 < b >>> 0) ha(); c[o + 24 >> 2] = h; a = c[k + 16 >> 2] | 0; do if (a | 0) if (a >>> 0 < b >>> 0) ha(); else { c[o + 16 >> 2] = a; c[a + 24 >> 2] = o; break; } while (0); a = c[k + 20 >> 2] | 0; if (a | 0) if (a >>> 0 < (c[3807] | 0) >>> 0) ha(); else { c[o + 20 >> 2] = a; c[a + 24 >> 2] = o; break; } } while (0); if (d >>> 0 < 16) { C = d + q | 0; c[k + 4 >> 2] = C | 3; C = k + C + 4 | 0; c[C >> 2] = c[C >> 2] | 1; } else { c[k + 4 >> 2] = q | 3; c[j + 4 >> 2] = d | 1; c[j + d >> 2] = d; a = c[3805] | 0; if (a | 0) { f = c[3808] | 0; b = a >>> 3; e = 15252 + (b << 1 << 2) | 0; a = c[3803] | 0; b = 1 << b; if (!(a & b)) { c[3803] = a | b; r = e + 8 | 0; s = e; } else { a = e + 8 | 0; b = c[a >> 2] | 0; if (b >>> 0 < (c[3807] | 0) >>> 0) ha(); else { r = a; s = b; } } c[r >> 2] = f; c[s + 12 >> 2] = f; c[f + 8 >> 2] = s; c[f + 12 >> 2] = e; } c[3805] = d; c[3808] = j; } C = k + 8 | 0; i = D; return C | 0; } } } else if (a >>> 0 > 4294967231) q = -1; else { a = a + 11 | 0; q = a & -8; k = c[3804] | 0; if (k) { b = 0 - q | 0; a = a >>> 8; if (!a) j = 0; else if (q >>> 0 > 16777215) j = 31; else { s = (a + 1048320 | 0) >>> 16 & 8; w = a << s; r = (w + 520192 | 0) >>> 16 & 4; w = w << r; j = (w + 245760 | 0) >>> 16 & 2; j = 14 - (r | s | j) + (w << j >>> 15) | 0; j = q >>> (j + 7 | 0) & 1 | j << 1; } d = c[15516 + (j << 2) >> 2] | 0; a : do if (!d) { e = b; a = 0; b = 0; w = 86; } else { e = b; a = 0; h = q << ((j | 0) == 31 ? 0 : 25 - (j >>> 1) | 0); b = 0; while (1) { f = c[d + 4 >> 2] & -8; g = f - q | 0; if (g >>> 0 < e >>> 0) if ((f | 0) == (q | 0)) { e = g; a = d; b = d; w = 90; break a; } else { e = g; b = d; } f = c[d + 20 >> 2] | 0; d = c[d + 16 + (h >>> 31 << 2) >> 2] | 0; a = (f | 0) == 0 | (f | 0) == (d | 0) ? a : f; f = (d | 0) == 0; if (f) { w = 86; break; } else h = h << (f & 1 ^ 1); } } while (0); if ((w | 0) == 86) { if ((a | 0) == 0 & (b | 0) == 0) { a = 2 << j; a = k & (a | 0 - a); if (!a) break; s = (a & 0 - a) + -1 | 0; n = s >>> 12 & 16; s = s >>> n; m = s >>> 5 & 8; s = s >>> m; o = s >>> 2 & 4; s = s >>> o; r = s >>> 1 & 2; s = s >>> r; a = s >>> 1 & 1; a = c[15516 + ((m | n | o | r | a) + (s >>> a) << 2) >> 2] | 0; } if (!a) { h = e; k = b; } else w = 90; } if ((w | 0) == 90) while (1) { w = 0; s = (c[a + 4 >> 2] & -8) - q | 0; d = s >>> 0 < e >>> 0; e = d ? s : e; b = d ? a : b; d = c[a + 16 >> 2] | 0; if (d | 0) { a = d; w = 90; continue; } a = c[a + 20 >> 2] | 0; if (!a) { h = e; k = b; break; } else w = 90; } if (k) if (h >>> 0 < ((c[3805] | 0) - q | 0) >>> 0) { f = c[3807] | 0; if (k >>> 0 < f >>> 0) ha(); j = k + q | 0; if (k >>> 0 >= j >>> 0) ha(); g = c[k + 24 >> 2] | 0; d = c[k + 12 >> 2] | 0; do if ((d | 0) == (k | 0)) { b = k + 20 | 0; a = c[b >> 2] | 0; if (!a) { b = k + 16 | 0; a = c[b >> 2] | 0; if (!a) { t = 0; break; } } while (1) { e = a + 20 | 0; d = c[e >> 2] | 0; if (d | 0) { a = d; b = e; continue; } e = a + 16 | 0; d = c[e >> 2] | 0; if (!d) break; else { a = d; b = e; } } if (b >>> 0 < f >>> 0) ha(); else { c[b >> 2] = 0; t = a; break; } } else { e = c[k + 8 >> 2] | 0; if (e >>> 0 < f >>> 0) ha(); a = e + 12 | 0; if ((c[a >> 2] | 0) != (k | 0)) ha(); b = d + 8 | 0; if ((c[b >> 2] | 0) == (k | 0)) { c[a >> 2] = d; c[b >> 2] = e; t = d; break; } else ha(); } while (0); do if (g | 0) { a = c[k + 28 >> 2] | 0; b = 15516 + (a << 2) | 0; if ((k | 0) == (c[b >> 2] | 0)) { c[b >> 2] = t; if (!t) { c[3804] = c[3804] & ~(1 << a); break; } } else { if (g >>> 0 < (c[3807] | 0) >>> 0) ha(); a = g + 16 | 0; if ((c[a >> 2] | 0) == (k | 0)) c[a >> 2] = t; else c[g + 20 >> 2] = t; if (!t) break; } b = c[3807] | 0; if (t >>> 0 < b >>> 0) ha(); c[t + 24 >> 2] = g; a = c[k + 16 >> 2] | 0; do if (a | 0) if (a >>> 0 < b >>> 0) ha(); else { c[t + 16 >> 2] = a; c[a + 24 >> 2] = t; break; } while (0); a = c[k + 20 >> 2] | 0; if (a | 0) if (a >>> 0 < (c[3807] | 0) >>> 0) ha(); else { c[t + 20 >> 2] = a; c[a + 24 >> 2] = t; break; } } while (0); do if (h >>> 0 < 16) { C = h + q | 0; c[k + 4 >> 2] = C | 3; C = k + C + 4 | 0; c[C >> 2] = c[C >> 2] | 1; } else { c[k + 4 >> 2] = q | 3; c[j + 4 >> 2] = h | 1; c[j + h >> 2] = h; a = h >>> 3; if (h >>> 0 < 256) { d = 15252 + (a << 1 << 2) | 0; b = c[3803] | 0; a = 1 << a; if (!(b & a)) { c[3803] = b | a; u = d + 8 | 0; v = d; } else { a = d + 8 | 0;