// @ts-nocheck /* eslint-disable */ /* * Last update 2020-07-23 * * Compiled from Howard Butler's laz-perf * https://github.com/hobu/laz-perf * Under LGPL License * * To update this file: * - git clone https://github.com/hobu/laz-perf * - cd laz-perf * - echo 'set(CMAKE_CXX_FLAGS "-s SINGLE_FILE=1 ${CMAKE_CXX_FLAGS}"' >> emscripten/CMakeLists.txt * - mkdir build && cd build * - cmake .. -DEMSCRIPTEN=1 -DCMAKE_TOOLCHAIN_FILE=/emscripten//cmake/Modules/Platform/Emscripten.cmake * - VERBOSE=1 make * * See the laz-perf repository for required dependencies * * The result should be build/emscripten/laz-perf.asm.js * Copy the content of this file in the getModule function below */ // laz-perf.js export default function getModule() { var Module = typeof Module !== 'undefined' ? Module : {}; var moduleOverrides = {}; var key; for (key in Module) { if (Module.hasOwnProperty(key)) { moduleOverrides[key] = Module[key]; } } var arguments_ = []; var thisProgram = './this.program'; var quit_ = function (status, toThrow) { throw toThrow; }; var ENVIRONMENT_IS_WEB = false; var ENVIRONMENT_IS_WORKER = false; var ENVIRONMENT_IS_NODE = false; var ENVIRONMENT_IS_SHELL = false; ENVIRONMENT_IS_WEB = typeof window === 'object'; ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string'; ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; var scriptDirectory = ''; function locateFile(path) { if (Module['locateFile']) { return Module['locateFile'](path, scriptDirectory); } return scriptDirectory + path; } var read_, readAsync, readBinary, setWindowTitle; var nodeFS; var nodePath; if (ENVIRONMENT_IS_NODE) { if (ENVIRONMENT_IS_WORKER) { scriptDirectory = require('path').dirname(scriptDirectory) + '/'; } else { const dirname = typeof __dirname !== 'undefined' ? __dirname : ''; scriptDirectory = dirname + '/'; } read_ = function shell_read(filename, binary) { var ret = tryParseAsDataURI(filename); if (ret) { return binary ? ret : ret.toString(); } if (!nodeFS) nodeFS = require('fs'); if (!nodePath) nodePath = require('path'); filename = nodePath['normalize'](filename); return nodeFS['readFileSync'](filename, binary ? null : 'utf8'); }; readBinary = function readBinary(filename) { var ret = read_(filename, true); if (!ret.buffer) { ret = new Uint8Array(ret); } assert(ret.buffer); return ret; }; if (process['argv'].length > 1) { thisProgram = process['argv'][1].replace(/\\/g, '/'); } arguments_ = process['argv'].slice(2); if (typeof module !== 'undefined') { module['exports'] = Module; } process['on']('uncaughtException', function (ex) { if (!(ex instanceof ExitStatus)) { throw ex; } }); process['on']('unhandledRejection', abort); quit_ = function (status) { process['exit'](status); }; Module['inspect'] = function () { return '[Emscripten Module object]'; }; } else if (ENVIRONMENT_IS_SHELL) { if (typeof read != 'undefined') { read_ = function shell_read(f) { var data = tryParseAsDataURI(f); if (data) { return intArrayToString(data); } return read(f); }; } readBinary = function readBinary(f) { var data; data = tryParseAsDataURI(f); if (data) { return data; } if (typeof readbuffer === 'function') { return new Uint8Array(readbuffer(f)); } data = read(f, 'binary'); assert(typeof data === 'object'); return data; }; if (typeof scriptArgs != 'undefined') { arguments_ = scriptArgs; } else if (typeof arguments != 'undefined') { arguments_ = arguments; } if (typeof quit === 'function') { quit_ = function (status) { quit(status); }; } if (typeof print !== 'undefined') { if (typeof console === 'undefined') console = {}; console.log = print; console.warn = console.error = typeof printErr !== 'undefined' ? printErr : print; } } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { if (ENVIRONMENT_IS_WORKER) { scriptDirectory = self.location.href; } else if (document.currentScript) { scriptDirectory = document.currentScript.src; } if (scriptDirectory.indexOf('blob:') !== 0) { scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/') + 1); } else { scriptDirectory = ''; } { read_ = function shell_read(url) { try { var xhr = new XMLHttpRequest(); xhr.open('GET', url, false); xhr.send(null); return xhr.responseText; } catch (err) { var data = tryParseAsDataURI(url); if (data) { return intArrayToString(data); } throw err; } }; if (ENVIRONMENT_IS_WORKER) { readBinary = function readBinary(url) { try { var xhr = new XMLHttpRequest(); xhr.open('GET', url, false); xhr.responseType = 'arraybuffer'; xhr.send(null); return new Uint8Array(xhr.response); } catch (err) { var data = tryParseAsDataURI(url); if (data) { return data; } throw err; } }; } readAsync = function readAsync(url, onload, onerror) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.responseType = 'arraybuffer'; xhr.onload = function xhr_onload() { if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { onload(xhr.response); return; } var data = tryParseAsDataURI(url); if (data) { onload(data.buffer); return; } onerror(); }; xhr.onerror = onerror; xhr.send(null); }; } setWindowTitle = function (title) { document.title = title; }; } else { } var out = Module['print'] || console.log.bind(console); var err = Module['printErr'] || console.warn.bind(console); for (key in moduleOverrides) { if (moduleOverrides.hasOwnProperty(key)) { Module[key] = moduleOverrides[key]; } } moduleOverrides = null; if (Module['arguments']) arguments_ = Module['arguments']; if (Module['thisProgram']) thisProgram = Module['thisProgram']; if (Module['quit']) quit_ = Module['quit']; var STACK_ALIGN = 16; function dynamicAlloc(size) { var ret = HEAP32[DYNAMICTOP_PTR >> 2]; var end = (ret + size + 15) & -16; HEAP32[DYNAMICTOP_PTR >> 2] = end; return ret; } function getNativeTypeSize(type) { switch (type) { case 'i1': case 'i8': return 1; case 'i16': return 2; case 'i32': return 4; case 'i64': return 8; case 'float': return 4; case 'double': return 8; default: { if (type[type.length - 1] === '*') { return 4; } else if (type[0] === 'i') { var bits = Number(type.substr(1)); assert(bits % 8 === 0, 'getNativeTypeSize invalid bits ' + bits + ', type ' + type); return bits / 8; } else { return 0; } } } } function warnOnce(text) { if (!warnOnce.shown) warnOnce.shown = {}; if (!warnOnce.shown[text]) { warnOnce.shown[text] = 1; err(text); } } var jsCallStartIndex = 1; var functionPointers = new Array(0); var funcWrappers = {}; function dynCall(sig, ptr, args) { if (args && args.length) { return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); } else { return Module['dynCall_' + sig].call(null, ptr); } } var tempRet0 = 0; var setTempRet0 = function (value) { tempRet0 = value; }; var getTempRet0 = function () { return tempRet0; }; var GLOBAL_BASE = 8; var wasmBinary; if (Module['wasmBinary']) wasmBinary = Module['wasmBinary']; var noExitRuntime; if (Module['noExitRuntime']) noExitRuntime = Module['noExitRuntime']; function setValue(ptr, value, type, noSafe) { type = type || 'i8'; if (type.charAt(type.length - 1) === '*') type = 'i32'; switch (type) { case 'i1': HEAP8[ptr >> 0] = value; break; case 'i8': HEAP8[ptr >> 0] = value; break; case 'i16': HEAP16[ptr >> 1] = value; break; case 'i32': HEAP32[ptr >> 2] = value; break; case 'i64': (tempI64 = [ value >>> 0, ((tempDouble = value), +Math_abs(tempDouble) >= +1 ? tempDouble > +0 ? (Math_min(+Math_floor(tempDouble / +4294967296), +4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / +4294967296) >>> 0 : 0) ]), (HEAP32[ptr >> 2] = tempI64[0]), (HEAP32[(ptr + 4) >> 2] = tempI64[1]); break; case 'float': HEAPF32[ptr >> 2] = value; break; case 'double': HEAPF64[ptr >> 3] = value; break; default: abort('invalid type for setValue: ' + type); } } var ABORT = false; var EXITSTATUS = 0; function assert(condition, text) { if (!condition) { abort('Assertion failed: ' + text); } } function getCFunc(ident) { var func = Module['_' + ident]; assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported'); return func; } function ccall(ident, returnType, argTypes, args, opts) { var toC = { string: function (str) { var ret = 0; if (str !== null && str !== undefined && str !== 0) { var len = (str.length << 2) + 1; ret = stackAlloc(len); stringToUTF8(str, ret, len); } return ret; }, array: function (arr) { var ret = stackAlloc(arr.length); writeArrayToMemory(arr, ret); return ret; } }; function convertReturnValue(ret) { if (returnType === 'string') return UTF8ToString(ret); if (returnType === 'boolean') return Boolean(ret); return ret; } var func = getCFunc(ident); var cArgs = []; var stack = 0; if (args) { for (var i = 0; i < args.length; i++) { var converter = toC[argTypes[i]]; if (converter) { if (stack === 0) stack = stackSave(); cArgs[i] = converter(args[i]); } else { cArgs[i] = args[i]; } } } var ret = func.apply(null, cArgs); ret = convertReturnValue(ret); if (stack !== 0) stackRestore(stack); return ret; } var ALLOC_NONE = 3; var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; function UTF8ArrayToString(heap, idx, maxBytesToRead) { var endIdx = idx + maxBytesToRead; var endPtr = idx; while (heap[endPtr] && !(endPtr >= endIdx)) ++endPtr; if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) { return UTF8Decoder.decode(heap.subarray(idx, endPtr)); } else { var str = ''; while (idx < endPtr) { var u0 = heap[idx++]; if (!(u0 & 128)) { str += String.fromCharCode(u0); continue; } var u1 = heap[idx++] & 63; if ((u0 & 224) == 192) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } var u2 = heap[idx++] & 63; if ((u0 & 240) == 224) { u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; } else { u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heap[idx++] & 63); } if (u0 < 65536) { str += String.fromCharCode(u0); } else { var ch = u0 - 65536; str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023)); } } } return str; } function UTF8ToString(ptr, maxBytesToRead) { return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; } function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { if (!(maxBytesToWrite > 0)) return 0; var startIdx = outIdx; var endIdx = outIdx + maxBytesToWrite - 1; for (var i = 0; i < str.length; ++i) { var u = str.charCodeAt(i); if (u >= 55296 && u <= 57343) { var u1 = str.charCodeAt(++i); u = (65536 + ((u & 1023) << 10)) | (u1 & 1023); } if (u <= 127) { if (outIdx >= endIdx) break; heap[outIdx++] = u; } else if (u <= 2047) { if (outIdx + 1 >= endIdx) break; heap[outIdx++] = 192 | (u >> 6); heap[outIdx++] = 128 | (u & 63); } else if (u <= 65535) { if (outIdx + 2 >= endIdx) break; heap[outIdx++] = 224 | (u >> 12); heap[outIdx++] = 128 | ((u >> 6) & 63); heap[outIdx++] = 128 | (u & 63); } else { if (outIdx + 3 >= endIdx) break; heap[outIdx++] = 240 | (u >> 18); heap[outIdx++] = 128 | ((u >> 12) & 63); heap[outIdx++] = 128 | ((u >> 6) & 63); heap[outIdx++] = 128 | (u & 63); } } heap[outIdx] = 0; return outIdx - startIdx; } function stringToUTF8(str, outPtr, maxBytesToWrite) { return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); } function lengthBytesUTF8(str) { var len = 0; for (var i = 0; i < str.length; ++i) { var u = str.charCodeAt(i); if (u >= 55296 && u <= 57343) u = (65536 + ((u & 1023) << 10)) | (str.charCodeAt(++i) & 1023); if (u <= 127) ++len; else if (u <= 2047) len += 2; else if (u <= 65535) len += 3; else len += 4; } return len; } var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; function UTF16ToString(ptr, maxBytesToRead) { var endPtr = ptr; var idx = endPtr >> 1; var maxIdx = idx + maxBytesToRead / 2; while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx; endPtr = idx << 1; if (endPtr - ptr > 32 && UTF16Decoder) { return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); } else { var i = 0; var str = ''; while (1) { var codeUnit = HEAP16[(ptr + i * 2) >> 1]; if (codeUnit == 0 || i == maxBytesToRead / 2) return str; ++i; str += String.fromCharCode(codeUnit); } } } function stringToUTF16(str, outPtr, maxBytesToWrite) { if (maxBytesToWrite === undefined) { maxBytesToWrite = 2147483647; } if (maxBytesToWrite < 2) return 0; maxBytesToWrite -= 2; var startPtr = outPtr; var numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length; for (var i = 0; i < numCharsToWrite; ++i) { var codeUnit = str.charCodeAt(i); HEAP16[outPtr >> 1] = codeUnit; outPtr += 2; } HEAP16[outPtr >> 1] = 0; return outPtr - startPtr; } function lengthBytesUTF16(str) { return str.length * 2; } function UTF32ToString(ptr, maxBytesToRead) { var i = 0; var str = ''; while (!(i >= maxBytesToRead / 4)) { var utf32 = HEAP32[(ptr + i * 4) >> 2]; if (utf32 == 0) break; ++i; if (utf32 >= 65536) { var ch = utf32 - 65536; str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023)); } else { str += String.fromCharCode(utf32); } } return str; } function stringToUTF32(str, outPtr, maxBytesToWrite) { if (maxBytesToWrite === undefined) { maxBytesToWrite = 2147483647; } if (maxBytesToWrite < 4) return 0; var startPtr = outPtr; var endPtr = startPtr + maxBytesToWrite - 4; for (var i = 0; i < str.length; ++i) { var codeUnit = str.charCodeAt(i); if (codeUnit >= 55296 && codeUnit <= 57343) { var trailSurrogate = str.charCodeAt(++i); codeUnit = (65536 + ((codeUnit & 1023) << 10)) | (trailSurrogate & 1023); } HEAP32[outPtr >> 2] = codeUnit; outPtr += 4; if (outPtr + 4 > endPtr) break; } HEAP32[outPtr >> 2] = 0; return outPtr - startPtr; } function lengthBytesUTF32(str) { var len = 0; for (var i = 0; i < str.length; ++i) { var codeUnit = str.charCodeAt(i); if (codeUnit >= 55296 && codeUnit <= 57343) ++i; len += 4; } return len; } function writeArrayToMemory(array, buffer) { HEAP8.set(array, buffer); } function writeAsciiToMemory(str, buffer, dontAddNull) { for (var i = 0; i < str.length; ++i) { HEAP8[buffer++ >> 0] = str.charCodeAt(i); } if (!dontAddNull) HEAP8[buffer >> 0] = 0; } var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; function updateGlobalBufferAndViews(buf) { buffer = buf; Module['HEAP8'] = HEAP8 = new Int8Array(buf); Module['HEAP16'] = HEAP16 = new Int16Array(buf); Module['HEAP32'] = HEAP32 = new Int32Array(buf); Module['HEAPU8'] = HEAPU8 = new Uint8Array(buf); Module['HEAPU16'] = HEAPU16 = new Uint16Array(buf); Module['HEAPU32'] = HEAPU32 = new Uint32Array(buf); Module['HEAPF32'] = HEAPF32 = new Float32Array(buf); Module['HEAPF64'] = HEAPF64 = new Float64Array(buf); } var STACK_BASE = 22384, DYNAMIC_BASE = 5265264, DYNAMICTOP_PTR = 22176; var INITIAL_INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 167772160; if (Module['buffer']) { buffer = Module['buffer']; } else { buffer = new ArrayBuffer(INITIAL_INITIAL_MEMORY); } INITIAL_INITIAL_MEMORY = buffer.byteLength; updateGlobalBufferAndViews(buffer); HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; function callRuntimeCallbacks(callbacks) { while (callbacks.length > 0) { var callback = callbacks.shift(); if (typeof callback == 'function') { callback(Module); continue; } var func = callback.func; if (typeof func === 'number') { if (callback.arg === undefined) { Module['dynCall_v'](func); } else { Module['dynCall_vi'](func, callback.arg); } } else { func(callback.arg === undefined ? null : callback.arg); } } } var __ATPRERUN__ = []; var __ATINIT__ = []; var __ATMAIN__ = []; var __ATPOSTRUN__ = []; var runtimeInitialized = false; var runtimeExited = false; function preRun() { if (Module['preRun']) { if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; while (Module['preRun'].length) { addOnPreRun(Module['preRun'].shift()); } } callRuntimeCallbacks(__ATPRERUN__); } function initRuntime() { runtimeInitialized = true; callRuntimeCallbacks(__ATINIT__); } function preMain() { callRuntimeCallbacks(__ATMAIN__); } function exitRuntime() { runtimeExited = true; } function postRun() { if (Module['postRun']) { if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; while (Module['postRun'].length) { addOnPostRun(Module['postRun'].shift()); } } callRuntimeCallbacks(__ATPOSTRUN__); } function addOnPreRun(cb) { __ATPRERUN__.unshift(cb); } function addOnPostRun(cb) { __ATPOSTRUN__.unshift(cb); } var Math_abs = Math.abs; var Math_ceil = Math.ceil; var Math_floor = Math.floor; var Math_min = Math.min; var runDependencies = 0; var runDependencyWatcher = null; var dependenciesFulfilled = null; function addRunDependency(id) { runDependencies++; if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); } } function removeRunDependency(id) { runDependencies--; if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); } if (runDependencies == 0) { if (runDependencyWatcher !== null) { clearInterval(runDependencyWatcher); runDependencyWatcher = null; } if (dependenciesFulfilled) { var callback = dependenciesFulfilled; dependenciesFulfilled = null; callback(); } } } Module['preloadedImages'] = {}; Module['preloadedAudios'] = {}; function abort(what) { if (Module['onAbort']) { Module['onAbort'](what); } what += ''; out(what); err(what); ABORT = true; EXITSTATUS = 1; what = 'abort(' + what + '). Build with -s ASSERTIONS=1 for more info.'; throw what; } var memoryInitializer = null; function hasPrefix(str, prefix) { return String.prototype.startsWith ? str.startsWith(prefix) : str.indexOf(prefix) === 0; } var dataURIPrefix = 'data:application/octet-stream;base64,'; function isDataURI(filename) { return hasPrefix(filename, dataURIPrefix); } var fileURIPrefix = 'file://'; var tempDouble; var tempI64; __ATINIT__.push({ func: function () { globalCtors(); } }); memoryInitializer = 'data:application/octet-stream;base64,AAAAAAAAAAAPDg0MCwoJCA4AAQMGCgoJDQECBAcLCwoMAwQFCAwMCwsGBwgJDQ0MCgoLDA0ODg0JCgsMDQ4PDggJCgsMDQ4PAAECAwQFBgcBAAECAwQFBgIBAAECAwQFAwIBAAECAwQEAwIBAAECAwUEAwIBAAECBgUEAwIBAAEHBgUEAwIBAMgPAAAoDQAAEBAAACAQAADIDwAAUA0AABAQAAAgEAAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAAAAAAAAAAAASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAAAAAADgFgAAmRgAAGAQAAAAAAAA4BYAAEIZAABgEAAAAAAAAOAWAAAqGgAASA8AAAAAAAC4FgAANBsAAOAWAACfGgAAMAoAAAAAAADgFgAAaRsAAEgPAAAAAAAA4BYAAIobAABIDwAAAAAAALgWAAAPHAAA4BYAAHwcAABIDwAAAAAAAOAWAACVHAAASA8AAAAAAADgFgAAHh0AAEgPAAAAAAAA4BYAAHcdAABIDwAAAAAAAOAWAACQHQAASA8AAAAAAADgFgAAQh4AAEgPAAAAAAAA4BYAAIceAABgEAAAAAAAAOAWAACkHwAASA8AAAAAAAC4FgAAZyAAAOAWAADkHwAA8AoAAAAAAADgFgAAjyAAAGAQAAAAAAAAuBYAAMMiAADgFgAAAiIAABgLAAAAAAAA4BYAAOEiAABgEAAAAAAAAOAWAADQJAAAGAsAAAAAAADgFgAAkSUAAGAQAAAAAAAA4BYAAIAnAAAYCwAAAAAAAOAWAAA9KAAAYBAAAAAAAADgFgAAJCoAABgLAAAAAAAA4BYAAOkqAABgEAAAAAAAAOAWAADgLAAA8AoAAAAAAADgFgAAui0AAGAQAAAAAAAA4BYAANsvAADwCgAAAAAAAOAWAADTMAAAYBAAAAAAAADgFgAAMDMAAPAKAAAAAAAA4BYAACQ0AABgEAAAAAAAAOAWAAB5NgAA8AoAAAAAAADgFgAAizcAAGAQAAAAAAAA4BYAABw6AABgEAAAAAAAAOAWAACdOgAAYBAAAAAAAADgFgAAXjsAAPAKAAAAAAAA4BYAALU7AABgEAAAAAAAAOAWAADMPAAAGAsAAAAAAADgFgAATz0AAGAQAAAAAAAA4BYAAL4+AAAYCwAAAAAAAOAWAABBPwAAYBAAAAAAAADgFgAAsEAAABgLAAAAAAAA4BYAADNBAABgEAAAAAAAAOAWAACiQgAAGAsAAAAAAADgFgAAJUMAAGAQAAAAAAAA4BYAAJREAAAYCwAAAAAAAOAWAAAXRQAAYBAAAAAAAADgFgAAhkYAABgLAAAAAAAA4BYAAAlHAABgEAAAAAAAALgWAAB4SAAAiBcAAIBIAAAAAAAAIA0AAIgXAACJSAAAAQAAACANAAC4FgAAqkgAAIgXAAC6SAAAAAAAAEgNAACIFwAAy0gAAAEAAABIDQAAuBYAABhMAAC4FgAAN0wAALgWAABWTAAAuBYAAHVMAAC4FgAAlEwAALgWAACzTAAAuBYAANJMAAC4FgAA8UwAALgWAAAQTQAAuBYAAC9NAAC4FgAATk0AALgWAABtTQAAuBYAAIxNAACkFwAAn00AAAAAAAABAAAA8A0AAAAAAAC4FgAA4U0AAKQXAAAHTgAAAAAAAAEAAADwDQAAAAAAAKQXAABJTgAAAAAAAAEAAADwDQAAAAAAAKQXAACITgAAAAAAAAEAAADwDQAAAAAAAKQXAADHTgAAAAAAAAEAAADwDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALgWAADNTwAA4BYAAC1QAAAADwAAAAAAAOAWAADaTwAAEA8AAAAAAAC4FgAA+08AAOAWAAAIUAAA8A4AAAAAAADgFgAAhlAAAOgOAAAAAAAA4BYAAJNQAADoDgAAAAAAAOAWAACjUAAA6A4AAAAAAADgFgAAtVAAADgPAAAAAAAA4BYAAMZQAAA4DwAAAAAAAOAWAADXUAAAAA8AAAAAAADgFgAA+VAAAHgPAAAAAAAA4BYAAB1RAAAADwAAAAAAAOAWAABCUQAAeA8AAAAAAADgFgAAjlEAAAAPAAAAAAAAbBcAALZRAABsFwAAuFEAAGwXAAC7UQAAbBcAAL1RAABsFwAAv1EAAGwXAADBUQAAbBcAAMNRAABsFwAAxVEAAGwXAADHUQAAbBcAAMlRAABsFwAAy1EAAGwXAADNUQAAbBcAAM9RAABsFwAA0VEAAOAWAADTUQAA8A4AAAAAAADgFgAARlIAAOgOAAAAAAAAuBYAAGJSAACkFwAAe1IAAAAAAAABAAAAWBAAAAAAAADgFgAA9FIAAIgQAAAAAAAA4BYAABdTAACYEAAAAAAAALgWAAAuUwAA4BYAAHBTAACIEAAAAAAAAOAWAACSUwAASA8AAAAAAAAAAAAAAAoAAAEAAAACAAAAAwAAAAEAAAAEAAAAAAAAABAKAAABAAAABQAAAAYAAAACAAAABwAAAAAAAAAgCgAACAAAAAkAAAABAAAAAAAAADgKAAAKAAAACwAAAAIAAAABAAAADAAAAA0AAAACAAAAAwAAAAMAAAAAAAAASAoAAAgAAAAOAAAAAQAAAAAAAABYCgAACAAAAA8AAAABAAAAAAAAAIAKAAAIAAAAEAAAAAEAAAAAAAAAcAoAAAgAAAARAAAAAQAAAAAAAACQCgAACAAAABIAAAABAAAAAAAAAKAKAAAIAAAAEwAAAAEAAAAAAAAAsAoAAAgAAAAUAAAAAQAAAAAAAADACgAACAAAABUAAAABAAAAAAAAANAKAAABAAAAFgAAABcAAAAEAAAAGAAAAAAAAADgCgAACAAAABkAAAABAAAAAAAAAPgKAAAFAAAAGgAAABsAAAAAAAAA8AoAAAEAAAAcAAAAHQAAAAAAAAAICwAAAQAAAB4AAAAfAAAABgAAACAAAAAAAAAAIAsAACEAAAAiAAAABwAAAAgAAAAAAAAAGAsAACMAAAAkAAAABwAAAAkAAAAAAAAAMAsAAAEAAAAlAAAAJgAAAAoAAAAnAAAAAAAAAEALAAAoAAAAKQAAAAcAAAALAAAAAAAAAFALAAABAAAAKgAAACsAAAAMAAAALAAAAAAAAABgCwAALQAAAC4AAAAHAAAADQAAAAAAAABwCwAAAQAAAC8AAAAwAAAADgAAADEAAAAAAAAAgAsAADIAAAAzAAAABwAAAA8AAAAAAAAAkAsAAAEAAAA0AAAANQAAABAAAAA2AAAAAAAAAKALAAARAAAANwAAADgAAAAAAAAAsAsAAAEAAAA5AAAAOgAAABIAAAA7AAAAAAAAAMALAAATAAAAPAAAAD0AAAAAAAAA0AsAAAEAAAA+AAAAPwAAABQAAABAAAAAAAAAAOALAAAVAAAAQQAAAEIAAAAAAAAA8AsAAAEAAABDAAAARAAAABYAAABFAAAAAAAAAAAMAAAXAAAARgAAAEcAAAAAAAAAEAwAAAEAAABIAAAASQAAABgAAABKAAAAAAAAACAMAAABAAAASwAAAEwAAAAZAAAATQAAAAAAAAAwDAAAAQAAAE4AAABPAAAAGgAAAFAAAAAAAAAAQAwAABsAAABRAAAAUgAAAAAAAABQDAAAAQAAAFMAAABUAAAAHAAAAFUAAAAAAAAAYAwAAFYAAABXAAAABwAAAB0AAAAAAAAAcAwAAAEAAABYAAAAWQAAAB4AAABaAAAAAAAAAIAMAABbAAAAXAAAAAcAAAAfAAAAAAAAAJAMAAABAAAAXQAAAF4AAAAgAAAAXwAAAAAAAACgDAAAYAAAAGEAAAAHAAAAIQAAAAAAAACwDAAAAQAAAGIAAABjAAAAIgAAAGQAAAAAAAAAwAwAAGUAAABmAAAABwAAACMAAAAAAAAA0AwAAAEAAABnAAAAaAAAACQAAABpAAAAAAAAAOAMAABqAAAAawAAAAcAAAAlAAAAAAAAAPAMAAABAAAAbAAAAG0AAAAmAAAAbgAAAAAAAAAADQAAbwAAAHAAAAAHAAAAJwAAAAAAAAAQDQAAAQAAAHEAAAByAAAAKAAAAHMAAAAoDQAAyA8AACgNAAAIEAAAEBAAACgNAABQDQAAyA8AAFANAAAgEAAAyA8AAFANAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwDgAAdAAAAHUAAAB2AAAAdwAAAAIAAAABAAAAAQAAAAEAAAAAAAAAGA8AAHQAAAB4AAAAdgAAAHcAAAACAAAAAgAAAAIAAAACAAAAAAAAACgPAAB5AAAAegAAAAQAAAAAAAAAOA8AAHsAAAB8AAAABQAAAAAAAABIDwAACAAAAH0AAAABAAAAAAAAAFgPAAB7AAAAfgAAAAUAAAAAAAAAaA8AAHsAAAB/AAAABQAAAAAAAAC4DwAAdAAAAIAAAAB2AAAAdwAAAAMAAAAAAAAAiA8AAHQAAACBAAAAdgAAAHcAAAAEAAAAAAAAADgQAAB0AAAAggAAAHYAAAB3AAAAAgAAAAMAAAADAAAAAwAAAAAAAABIEAAAgwAAAIQAAAAGAAAAAAAAAHgQAACFAAAAhgAAAAcAAAABAAAABQAAAAYAAAACAAAAAAAAAKAQAACFAAAAhwAAAAgAAAADAAAABQAAAAYAAAAEAAAA4BcAAAQYAAAAAAAAsBAAAIgAAACJAAAAAQAAAExBU1ppcABvcGVuAGdldFBvaW50AGdldENvdW50AER5bmFtaWNMQVNaaXAAYWRkRmllbGRGbG9hdGluZwBhZGRGaWVsZFNpZ25lZABhZGRGaWVsZFVuc2lnbmVkAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzdfRUVOU185YWxsb2NhdG9ySVM3X0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFAExBU0YATjZsYXN6aXAxM2ludmFsaWRfbWFnaWNFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUARmlsZSBtYWdpYyBpcyBub3QgdmFsaWQATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk42bGFzemlwMmlvNnJlYWRlcjEwYmFzaWNfZmlsZUlOUzJfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRTExX3ZhbGlkYXRvcnNFdkVVbFJOUzNfNmhlYWRlckVFX05TXzlhbGxvY2F0b3JJU0JfRUVGdlNBX0VFRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGdlJONmxhc3ppcDJpbzZoZWFkZXJFRUVFAE42bGFzemlwMjFvbGRfc3R5bGVfY29tcHJlc3Npb25FAE42bGFzemlwMTRub3RfY29tcHJlc3NlZEUAVGhlIGZpbGUgc2VlbXMgdG8gaGF2ZSBvbGQgc3R5bGUgY29tcHJlc3Npb24gd2hpY2ggaXMgbm90IHN1cHBvcnRlZABUaGUgZmlsZSBkb2Vzbid0IHNlZW0gdG8gYmUgY29tcHJlc3NlZABaTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUUxMV92YWxpZGF0b3JzRXZFVWxSTlMwXzZoZWFkZXJFRV8AbGFzemlwIGVuY29kZWQATjZsYXN6aXAxM25vX2xhc3ppcF92bHJFAE42bGFzemlwMjVsYXN6aXBfZm9ybWF0X3Vuc3VwcG9ydGVkRQBPbmx5IExBU3ppcCBQT0lOVFdJU0UgQ0hVTktFRCBkZWNvbXByZXNzb3IgaXMgc3VwcG9ydGVkAE5vIExBU3ppcCBWTFIgd2FzIGZvdW5kIGluIHRoZSBWTFJzIHNlY3Rpb24ATjZsYXN6aXAyMmNodW5rX3RhYmxlX3JlYWRfZXJyb3JFAENodW5rIHRhYmxlIG9mZnNldCA9PSAtMSBpcyBub3Qgc3VwcG9ydGVkIGF0IHRoaXMgdGltZQBONmxhc3ppcDEzbm90X3N1cHBvcnRlZEUATjZsYXN6aXAyNnVua25vd25fY2h1bmtfdGFibGVfZm9ybWF0RQBjaHVua19zaXplID09IHVpbnQubWF4IGlzIG5vdCBzdXBwb3J0ZWQgYXQgdGhpcyB0aW1lLgBUaGVyZSB3YXMgYSBwcm9ibGVtIHJlYWRpbmcgdGhlIGNodW5rIHRhYmxlAFRoZSBjaHVuayB0YWJsZSB2ZXJzaW9uIG51bWJlciBpcyB1bmtub3duAE42bGFzemlwMTFlbmRfb2ZfZmlsZUUAUmVhY2hlZCBFbmQgb2YgZmlsZQBJbnZhbGlkIG51bWJlciBvZiBzeW1ib2xzAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVM5X0VFTlNfOWFsbG9jYXRvcklTOV9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRUVFAE42bGFzemlwMTl1bmtub3duX3NjaGVtYV90eXBlRQBUaGUgTEFaIHNjaGVtYSBpcyBub3QgcmVjb2duaXplZABONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2ZpZWxkX2RlY29tcHJlc3NvcklOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyMGR5bmFtaWNfZGVjb21wcmVzc29yRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19maWVsZF9kZWNvbXByZXNzb3JJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU0NfRUVOU185YWxsb2NhdG9ySVNDX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19maWVsZF9kZWNvbXByZXNzb3JJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzVmaWVsZElOUzBfM2xhczdwb2ludDEwRU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNDX0VFRUVFRQBONmxhc3ppcDdmb3JtYXRzMTBiYXNlX2ZpZWxkRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTSV9FRU5TXzlhbGxvY2F0b3JJU0lfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl81ZmllbGRJTlMyXzNsYXM3cG9pbnQxMEVOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMF81ZmllbGRJTlMwXzNsYXM3Z3BzdGltZUVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczdncHN0aW1lRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNFX0VFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU0lfRUVOU185YWxsb2NhdG9ySVNJX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfNWZpZWxkSU5TMl8zbGFzN2dwc3RpbWVFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFRUUATjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfNWZpZWxkSU5TMF8zbGFzM3JnYkVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczNyZ2JFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTSV9FRU5TXzlhbGxvY2F0b3JJU0lfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl81ZmllbGRJTlMyXzNsYXMzcmdiRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNFX0VFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzVmaWVsZElOUzBfM2xhczEwZXh0cmFieXRlc0VOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczEwZXh0cmFieXRlc0VOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVNJX0VFTlNfOWFsbG9jYXRvcklTSV9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczEwZXh0cmFieXRlc0VOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzBfNWZpZWxkSU5TMF8zbGFzN3BvaW50MTBFTlMwXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0RfRUVFRUVFRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTS19FRU5TXzlhbGxvY2F0b3JJU0tfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRUVFRUVFRUUATjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMwXzVmaWVsZElOUzBfM2xhczdwb2ludDEwRU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNEX0VFRUVOU0JfSU5TQ183Z3BzdGltZUVOU0VfSVNIX0VFRUVFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU05fRUVOU185YWxsb2NhdG9ySVNOX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyMWR5bmFtaWNfZGVjb21wcmVzc29yMUlOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMF8xOXJlY29yZF9kZWNvbXByZXNzb3JJSk5TMF81ZmllbGRJTlMwXzNsYXM3cG9pbnQxMEVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRF9FRUVFTlNCX0lOU0NfM3JnYkVOU0VfSVNIX0VFRUVFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV8zcmdiRU5TR19JU0pfRUVFRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTTl9FRU5TXzlhbGxvY2F0b3JJU05fRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRU5TRF9JTlNFXzNyZ2JFTlNHX0lTSl9FRUVFRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzBfNWZpZWxkSU5TMF8zbGFzN3BvaW50MTBFTlMwXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0RfRUVFRU5TQl9JTlNDXzdncHN0aW1lRU5TRV9JU0hfRUVFRU5TQl9JTlNDXzNyZ2JFTlNFX0lTS19FRUVFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyMWR5bmFtaWNfZGVjb21wcmVzc29yMUlOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl8xOXJlY29yZF9kZWNvbXByZXNzb3JJSk5TMl81ZmllbGRJTlMyXzNsYXM3cG9pbnQxMEVOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRl9FRUVFTlNEX0lOU0VfN2dwc3RpbWVFTlNHX0lTSl9FRUVFTlNEX0lOU0VfM3JnYkVOU0dfSVNNX0VFRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU1FfRUVOU185YWxsb2NhdG9ySVNRX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVOU0RfSU5TRV8zcmdiRU5TR19JU01fRUVFRUVFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUDEwYnVmX3N0cmVhbU5TXzE0ZGVmYXVsdF9kZWxldGVJUzFfRUVOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJMTBidWZfc3RyZWFtRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTNV9FRU5TXzlhbGxvY2F0b3JJUzVfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZmllbGRfZGVjb21wcmVzc29ySU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2ZpZWxkX2RlY29tcHJlc3NvcklOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVM4X0VFTlNfOWFsbG9jYXRvcklTOF9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZmllbGRfZGVjb21wcmVzc29ySU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJaU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWlFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWlOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElpRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElpTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJaUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJak5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWpFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWpOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElqRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElqTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJakVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJYU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWFFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWFOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElhRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElhTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJYUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJc05TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSXNFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSXNOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElzRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElzTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJc0VFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJaE5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWhFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWhOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZEloRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZEloTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJaEVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJdE5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSXRFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSXROUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZEl0RUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZEl0TlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJdEVFRUVFRUVFADZMQVNaaXAAUDZMQVNaaXAAUEs2TEFTWmlwAGlpAHYAdmkAdmlpaWkAdmlpaQBpaWkAMTNEeW5hbWljTEFTWmlwAFAxM0R5bmFtaWNMQVNaaXAAUEsxM0R5bmFtaWNMQVNaaXAAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJRHNOU18xMWNoYXJfdHJhaXRzSURzRUVOU185YWxsb2NhdG9ySURzRUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABzdGQ6OmJhZF9hbGxvYwBTdDliYWRfYWxsb2MAU3QxMWxvZ2ljX2Vycm9yAFN0MTNydW50aW1lX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IAU3QxMm91dF9vZl9yYW5nZQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIwX19mdW5jdGlvbl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyOV9fcG9pbnRlcl90b19tZW1iZXJfdHlwZV9pbmZvRQBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBiAGMAaABhAHMAdABpAGoAbABtAGYAZABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9FAF9fY3hhX2d1YXJkX2FjcXVpcmUgZGV0ZWN0ZWQgcmVjdXJzaXZlIGluaXRpYWxpemF0aW9uAHN0ZDo6YmFkX2Z1bmN0aW9uX2NhbGwATlN0M19fMjE3YmFkX2Z1bmN0aW9uX2NhbGxFAE5TdDNfXzIxNF9fc2hhcmVkX2NvdW50RQBOU3QzX18yMTlfX3NoYXJlZF93ZWFrX2NvdW50RQBtdXRleCBsb2NrIGZhaWxlZABiYXNpY19zdHJpbmcAdW5zcGVjaWZpZWQgZ2VuZXJpY19jYXRlZ29yeSBlcnJvcgBVbmtub3duIGVycm9yICVkAGdlbmVyaWMATlN0M19fMjI0X19nZW5lcmljX2Vycm9yX2NhdGVnb3J5RQBOU3QzX18yMTJfX2RvX21lc3NhZ2VFAE5TdDNfXzIxNGVycm9yX2NhdGVnb3J5RQB1bnNwZWNpZmllZCBzeXN0ZW1fY2F0ZWdvcnkgZXJyb3IAc3lzdGVtAE5TdDNfXzIyM19fc3lzdGVtX2Vycm9yX2NhdGVnb3J5RQBOU3QzX18yMTJzeXN0ZW1fZXJyb3JFADogAHZlY3Rvcg=='; var tempDoublePtr = 22368; function demangle(func) { return func; } function demangleAll(text) { var regex = /\b__Z[\w\d_]+/g; return text.replace(regex, function (x) { var y = demangle(x); return x === y ? x : y + ' [' + x + ']'; }); } function jsStackTrace() { var err = new Error(); if (!err.stack) { try { throw new Error(); } catch (e) { err = e; } if (!err.stack) { return '(no stack trace available)'; } } return err.stack.toString(); } function ___cxa_allocate_exception(size) { return _malloc(size); } var ___exception_infos = {}; var ___exception_caught = []; function ___exception_addRef(ptr) { if (!ptr) return; var info = ___exception_infos[ptr]; info.refcount++; } function ___exception_deAdjust(adjusted) { if (!adjusted || ___exception_infos[adjusted]) return adjusted; for (var key in ___exception_infos) { var ptr = +key; var adj = ___exception_infos[ptr].adjusted; var len = adj.length; for (var i = 0; i < len; i++) { if (adj[i] === adjusted) { return ptr; } } } return adjusted; } function ___cxa_begin_catch(ptr) { var info = ___exception_infos[ptr]; if (info && !info.caught) { info.caught = true; __ZSt18uncaught_exceptionv.uncaught_exceptions--; } if (info) info.rethrown = false; ___exception_caught.push(ptr); ___exception_addRef(___exception_deAdjust(ptr)); return ptr; } var ___exception_last = 0; function ___cxa_throw(ptr, type, destructor) { ___exception_infos[ptr] = { ptr: ptr, adjusted: [ptr], type: type, destructor: destructor, refcount: 0, caught: false, rethrown: false }; ___exception_last = ptr; if (!('uncaught_exception' in __ZSt18uncaught_exceptionv)) { __ZSt18uncaught_exceptionv.uncaught_exceptions = 1; } else { __ZSt18uncaught_exceptionv.uncaught_exceptions++; } throw ptr; } function ___cxa_uncaught_exceptions() { return __ZSt18uncaught_exceptionv.uncaught_exceptions; } function ___gxx_personality_v0() {} function getShiftFromSize(size) { switch (size) { case 1: return 0; case 2: return 1; case 4: return 2; case 8: return 3; default: throw new TypeError('Unknown type size: ' + size); } } function embind_init_charCodes() { var codes = new Array(256); for (var i = 0; i < 256; ++i) { codes[i] = String.fromCharCode(i); } embind_charCodes = codes; } var embind_charCodes = undefined; function readLatin1String(ptr) { var ret = ''; var c = ptr; while (HEAPU8[c]) { ret += embind_charCodes[HEAPU8[c++]]; } return ret; } var awaitingDependencies = {}; var registeredTypes = {}; var typeDependencies = {}; var char_0 = 48; var char_9 = 57; function makeLegalFunctionName(name) { if (undefined === name) { return '_unknown'; } name = name.replace(/[^a-zA-Z0-9_]/g, '$'); var f = name.charCodeAt(0); if (f >= char_0 && f <= char_9) { return '_' + name; } else { return name; } } function createNamedFunction(name, body) { name = makeLegalFunctionName(name); return new Function( 'body', 'return function ' + name + '() {\n' + ' "use strict";' + ' return body.apply(this, arguments);\n' + '};\n' )(body); } function extendError(baseErrorType, errorName) { var errorClass = createNamedFunction(errorName, function (message) { this.name = errorName; this.message = message; var stack = new Error(message).stack; if (stack !== undefined) { this.stack = this.toString() + '\n' + stack.replace(/^Error(:[^\n]*)?\n/, ''); } }); errorClass.prototype = Object.create(baseErrorType.prototype); errorClass.prototype.constructor = errorClass; errorClass.prototype.toString = function () { if (this.message === undefined) { return this.name; } else { return this.name + ': ' + this.message; } }; return errorClass; } var BindingError = undefined; function throwBindingError(message) { throw new BindingError(message); } var InternalError = undefined; function throwInternalError(message) { throw new InternalError(message); } function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) { myTypes.forEach(function (type) { typeDependencies[type] = dependentTypes; }); function onComplete(typeConverters) { var myTypeConverters = getTypeConverters(typeConverters); if (myTypeConverters.length !== myTypes.length) { throwInternalError('Mismatched type converter count'); } for (var i = 0; i < myTypes.length; ++i) { registerType(myTypes[i], myTypeConverters[i]); } } var typeConverters = new Array(dependentTypes.length); var unregisteredTypes = []; var registered = 0; dependentTypes.forEach(function (dt, i) { if (registeredTypes.hasOwnProperty(dt)) { typeConverters[i] = registeredTypes[dt]; } else { unregisteredTypes.push(dt); if (!awaitingDependencies.hasOwnProperty(dt)) { awaitingDependencies[dt] = []; } awaitingDependencies[dt].push(function () { typeConverters[i] = registeredTypes[dt]; ++registered; if (registered === unregisteredTypes.length) { onComplete(typeConverters); } }); } }); if (0 === unregisteredTypes.length) { onComplete(typeConverters); } } function registerType(rawType, registeredInstance, options) { options = options || {}; if (!('argPackAdvance' in registeredInstance)) { throw new TypeError('registerType registeredInstance requires argPackAdvance'); } var name = registeredInstance.name; if (!rawType) { throwBindingError('type "' + name + '" must have a positive integer typeid pointer'); } if (registeredTypes.hasOwnProperty(rawType)) { if (options.ignoreDuplicateRegistrations) { return; } else { throwBindingError("Cannot register type '" + name + "' twice"); } } registeredTypes[rawType] = registeredInstance; delete typeDependencies[rawType]; if (awaitingDependencies.hasOwnProperty(rawType)) { var callbacks = awaitingDependencies[rawType]; delete awaitingDependencies[rawType]; callbacks.forEach(function (cb) { cb(); }); } } function __embind_register_bool(rawType, name, size, trueValue, falseValue) { var shift = getShiftFromSize(size); name = readLatin1String(name); registerType(rawType, { name: name, fromWireType: function (wt) { return !!wt; }, toWireType: function (destructors, o) { return o ? trueValue : falseValue; }, argPackAdvance: 8, readValueFromPointer: function (pointer) { var heap; if (size === 1) { heap = HEAP8; } else if (size === 2) { heap = HEAP16; } else if (size === 4) { heap = HEAP32; } else { throw new TypeError('Unknown boolean type size: ' + name); } return this['fromWireType'](heap[pointer >> shift]); }, destructorFunction: null }); } function ClassHandle_isAliasOf(other) { if (!(this instanceof ClassHandle)) { return false; } if (!(other instanceof ClassHandle)) { return false; } var leftClass = this.$$.ptrType.registeredClass; var left = this.$$.ptr; var rightClass = other.$$.ptrType.registeredClass; var right = other.$$.ptr; while (leftClass.baseClass) { left = leftClass.upcast(left); leftClass = leftClass.baseClass; } while (rightClass.baseClass) { right = rightClass.upcast(right); rightClass = rightClass.baseClass; } return leftClass === rightClass && left === right; } function shallowCopyInternalPointer(o) { return { count: o.count, deleteScheduled: o.deleteScheduled, preservePointerOnDelete: o.preservePointerOnDelete, ptr: o.ptr, ptrType: o.ptrType, smartPtr: o.smartPtr, smartPtrType: o.smartPtrType }; } function throwInstanceAlreadyDeleted(obj) { function getInstanceTypeName(handle) { return handle.$$.ptrType.registeredClass.name; } throwBindingError(getInstanceTypeName(obj) + ' instance already deleted'); } var finalizationGroup = false; function detachFinalizer(handle) {} function runDestructor($$) { if ($$.smartPtr) { $$.smartPtrType.rawDestructor($$.smartPtr); } else { $$.ptrType.registeredClass.rawDestructor($$.ptr); } } function releaseClassHandle($$) { $$.count.value -= 1; var toDelete = 0 === $$.count.value; if (toDelete) { runDestructor($$); } } function attachFinalizer(handle) { if ('undefined' === typeof FinalizationGroup) { attachFinalizer = function (handle) { return handle; }; return handle; } finalizationGroup = new FinalizationGroup(function (iter) { for (var result = iter.next(); !result.done; result = iter.next()) { var $$ = result.value; if (!$$.ptr) { console.warn('object already deleted: ' + $$.ptr); } else { releaseClassHandle($$); } } }); attachFinalizer = function (handle) { finalizationGroup.register(handle, handle.$$, handle.$$); return handle; }; detachFinalizer = function (handle) { finalizationGroup.unregister(handle.$$); }; return attachFinalizer(handle); } function ClassHandle_clone() { if (!this.$$.ptr) { throwInstanceAlreadyDeleted(this); } if (this.$$.preservePointerOnDelete) { this.$$.count.value += 1; return this; } else { var clone = attachFinalizer( Object.create(Object.getPrototypeOf(this), { $$: { value: shallowCopyInternalPointer(this.$$) } }) ); clone.$$.count.value += 1; clone.$$.deleteScheduled = false; return clone; } } function ClassHandle_delete() { if (!this.$$.ptr) { throwInstanceAlreadyDeleted(this); } if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { throwBindingError('Object already scheduled for deletion'); } detachFinalizer(this); releaseClassHandle(this.$$); if (!this.$$.preservePointerOnDelete) { this.$$.smartPtr = undefined; this.$$.ptr = undefined; } } function ClassHandle_isDeleted() { return !this.$$.ptr; } var delayFunction = undefined; var deletionQueue = []; function flushPendingDeletes() { while (deletionQueue.length) { var obj = deletionQueue.pop(); obj.$$.deleteScheduled = false; obj['delete'](); } } function ClassHandle_deleteLater() { if (!this.$$.ptr) { throwInstanceAlreadyDeleted(this); } if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { throwBindingError('Object already scheduled for deletion'); } deletionQueue.push(this); if (deletionQueue.length === 1 && delayFunction) { delayFunction(flushPendingDeletes); } this.$$.deleteScheduled = true; return this; } function init_ClassHandle() { ClassHandle.prototype['isAliasOf'] = ClassHandle_isAliasOf; ClassHandle.prototype['clone'] = ClassHandle_clone; ClassHandle.prototype['delete'] = ClassHandle_delete; ClassHandle.prototype['isDeleted'] = ClassHandle_isDeleted; ClassHandle.prototype['deleteLater'] = ClassHandle_deleteLater; } function ClassHandle() {} var registeredPointers = {}; function ensureOverloadTable(proto, methodName, humanName) { if (undefined === proto[methodName].overloadTable) { var prevFunc = proto[methodName]; proto[methodName] = function () { if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) { throwBindingError( "Function '" + humanName + "' called with an invalid number of arguments (" + arguments.length + ') - expects one of (' + proto[methodName].overloadTable + ')!' ); } return proto[methodName].overloadTable[arguments.length].apply(this, arguments); }; proto[methodName].overloadTable = []; proto[methodName].overloadTable[prevFunc.argCount] = prevFunc; } } function exposePublicSymbol(name, value, numArguments) { if (Module.hasOwnProperty(name)) { if ( undefined === numArguments || (undefined !== Module[name].overloadTable && undefined !== Module[name].overloadTable[numArguments]) ) { throwBindingError("Cannot register public name '" + name + "' twice"); } ensureOverloadTable(Module, name, name); if (Module.hasOwnProperty(numArguments)) { throwBindingError( 'Cannot register multiple overloads of a function with the same number of arguments (' + numArguments + ')!' ); } Module[name].overloadTable[numArguments] = value; } else { Module[name] = value; if (undefined !== numArguments) { Module[name].numArguments = numArguments; } } } function RegisteredClass( name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast ) { this.name = name; this.constructor = constructor; this.instancePrototype = instancePrototype; this.rawDestructor = rawDestructor; this.baseClass = baseClass; this.getActualType = getActualType; this.upcast = upcast; this.downcast = downcast; this.pureVirtualFunctions = []; } function upcastPointer(ptr, ptrClass, desiredClass) { while (ptrClass !== desiredClass) { if (!ptrClass.upcast) { throwBindingError( 'Expected null or instance of ' + desiredClass.name + ', got an instance of ' + ptrClass.name ); } ptr = ptrClass.upcast(ptr); ptrClass = ptrClass.baseClass; } return ptr; } function constNoSmartPtrRawPointerToWireType(destructors, handle) { if (handle === null) { if (this.isReference) { throwBindingError('null is not a valid ' + this.name); } return 0; } if (!handle.$$) { throwBindingError('Cannot pass "' + _embind_repr(handle) + '" as a ' + this.name); } if (!handle.$$.ptr) { throwBindingError('Cannot pass deleted object as a pointer of type ' + this.name); } var handleClass = handle.$$.ptrType.registeredClass; var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); return ptr; } function genericPointerToWireType(destructors, handle) { var ptr; if (handle === null) { if (this.isReference) { throwBindingError('null is not a valid ' + this.name); } if (this.isSmartPointer) { ptr = this.rawConstructor(); if (destructors !== null) { destructors.push(this.rawDestructor, ptr); } return ptr; } else { return 0; } } if (!handle.$$) { throwBindingError('Cannot pass "' + _embind_repr(handle) + '" as a ' + this.name); } if (!handle.$$.ptr) { throwBindingError('Cannot pass deleted object as a pointer of type ' + this.name); } if (!this.isConst && handle.$$.ptrType.isConst) { throwBindingError( 'Cannot convert argument of type ' + (handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name) + ' to parameter type ' + this.name ); } var handleClass = handle.$$.ptrType.registeredClass; ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); if (this.isSmartPointer) { if (undefined === handle.$$.smartPtr) { throwBindingError('Passing raw pointer to smart pointer is illegal'); } switch (this.sharingPolicy) { case 0: if (handle.$$.smartPtrType === this) { ptr = handle.$$.smartPtr; } else { throwBindingError( 'Cannot convert argument of type ' + (handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name) + ' to parameter type ' + this.name ); } break; case 1: ptr = handle.$$.smartPtr; break; case 2: if (handle.$$.smartPtrType === this) { ptr = handle.$$.smartPtr; } else { var clonedHandle = handle['clone'](); ptr = this.rawShare( ptr, __emval_register(function () { clonedHandle['delete'](); }) ); if (destructors !== null) { destructors.push(this.rawDestructor, ptr); } } break; default: throwBindingError('Unsupporting sharing policy'); } } return ptr; } function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) { if (handle === null) { if (this.isReference) { throwBindingError('null is not a valid ' + this.name); } return 0; } if (!handle.$$) { throwBindingError('Cannot pass "' + _embind_repr(handle) + '" as a ' + this.name); } if (!handle.$$.ptr) { throwBindingError('Cannot pass deleted object as a pointer of type ' + this.name); } if (handle.$$.ptrType.isConst) { throwBindingError( 'Cannot convert argument of type ' + handle.$$.ptrType.name + ' to parameter type ' + this.name ); } var handleClass = handle.$$.ptrType.registeredClass; var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); return ptr; } function simpleReadValueFromPointer(pointer) { return this['fromWireType'](HEAPU32[pointer >> 2]); } function RegisteredPointer_getPointee(ptr) { if (this.rawGetPointee) { ptr = this.rawGetPointee(ptr); } return ptr; } function RegisteredPointer_destructor(ptr) { if (this.rawDestructor) { this.rawDestructor(ptr); } } function RegisteredPointer_deleteObject(handle) { if (handle !== null) { handle['delete'](); } } function downcastPointer(ptr, ptrClass, desiredClass) { if (ptrClass === desiredClass) { return ptr; } if (undefined === desiredClass.baseClass) { return null; } var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass); if (rv === null) { return null; } return desiredClass.downcast(rv); } function getInheritedInstanceCount() { return Object.keys(registeredInstances).length; } function getLiveInheritedInstances() { var rv = []; for (var k in registeredInstances) { if (registeredInstances.hasOwnProperty(k)) { rv.push(registeredInstances[k]); } } return rv; } function setDelayFunction(fn) { delayFunction = fn; if (deletionQueue.length && delayFunction) { delayFunction(flushPendingDeletes); } } function init_embind() { Module['getInheritedInstanceCount'] = getInheritedInstanceCount; Module['getLiveInheritedInstances'] = getLiveInheritedInstances; Module['flushPendingDeletes'] = flushPendingDeletes; Module['setDelayFunction'] = setDelayFunction; } var registeredInstances = {}; function getBasestPointer(class_, ptr) { if (ptr === undefined) { throwBindingError('ptr should not be undefined'); } while (class_.baseClass) { ptr = class_.upcast(ptr); class_ = class_.baseClass; } return ptr; } function getInheritedInstance(class_, ptr) { ptr = getBasestPointer(class_, ptr); return registeredInstances[ptr]; } function makeClassHandle(prototype, record) { if (!record.ptrType || !record.ptr) { throwInternalError('makeClassHandle requires ptr and ptrType'); } var hasSmartPtrType = !!record.smartPtrType; var hasSmartPtr = !!record.smartPtr; if (hasSmartPtrType !== hasSmartPtr) { throwInternalError('Both smartPtrType and smartPtr must be specified'); } record.count = { value: 1 }; return attachFinalizer( Object.create(prototype, { $$: { value: record } }) ); } function RegisteredPointer_fromWireType(ptr) { var rawPointer = this.getPointee(ptr); if (!rawPointer) { this.destructor(ptr); return null; } var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer); if (undefined !== registeredInstance) { if (0 === registeredInstance.$$.count.value) { registeredInstance.$$.ptr = rawPointer; registeredInstance.$$.smartPtr = ptr; return registeredInstance['clone'](); } else { var rv = registeredInstance['clone'](); this.destructor(ptr); return rv; } } function makeDefaultHandle() { if (this.isSmartPointer) { return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this.pointeeType, ptr: rawPointer, smartPtrType: this, smartPtr: ptr }); } else { return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this, ptr: ptr }); } } var actualType = this.registeredClass.getActualType(rawPointer); var registeredPointerRecord = registeredPointers[actualType]; if (!registeredPointerRecord) { return makeDefaultHandle.call(this); } var toType; if (this.isConst) { toType = registeredPointerRecord.constPointerType; } else { toType = registeredPointerRecord.pointerType; } var dp = downcastPointer(rawPointer, this.registeredClass, toType.registeredClass); if (dp === null) { return makeDefaultHandle.call(this); } if (this.isSmartPointer) { return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp, smartPtrType: this, smartPtr: ptr }); } else { return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp }); } } function init_RegisteredPointer() { RegisteredPointer.prototype.getPointee = RegisteredPointer_getPointee; RegisteredPointer.prototype.destructor = RegisteredPointer_destructor; RegisteredPointer.prototype['argPackAdvance'] = 8; RegisteredPointer.prototype['readValueFromPointer'] = simpleReadValueFromPointer; RegisteredPointer.prototype['deleteObject'] = RegisteredPointer_deleteObject; RegisteredPointer.prototype['fromWireType'] = RegisteredPointer_fromWireType; } function RegisteredPointer( name, registeredClass, isReference, isConst, isSmartPointer, pointeeType, sharingPolicy, rawGetPointee, rawConstructor, rawShare, rawDestructor ) { this.name = name; this.registeredClass = registeredClass; this.isReference = isReference; this.isConst = isConst; this.isSmartPointer = isSmartPointer; this.pointeeType = pointeeType; this.sharingPolicy = sharingPolicy; this.rawGetPointee = rawGetPointee; this.rawConstructor = rawConstructor; this.rawShare = rawShare; this.rawDestructor = rawDestructor; if (!isSmartPointer && registeredClass.baseClass === undefined) { if (isConst) { this['toWireType'] = constNoSmartPtrRawPointerToWireType; this.destructorFunction = null; } else { this['toWireType'] = nonConstNoSmartPtrRawPointerToWireType; this.destructorFunction = null; } } else { this['toWireType'] = genericPointerToWireType; } } function replacePublicSymbol(name, value, numArguments) { if (!Module.hasOwnProperty(name)) { throwInternalError('Replacing nonexistant public symbol'); } if (undefined !== Module[name].overloadTable && undefined !== numArguments) { Module[name].overloadTable[numArguments] = value; } else { Module[name] = value; Module[name].argCount = numArguments; } } function embind__requireFunction(signature, rawFunction) { signature = readLatin1String(signature); function makeDynCaller(dynCall) { var args = []; for (var i = 1; i < signature.length; ++i) { args.push('a' + i); } var name = 'dynCall_' + signature + '_' + rawFunction; var body = 'return function ' + name + '(' + args.join(', ') + ') {\n'; body += ' return dynCall(rawFunction' + (args.length ? ', ' : '') + args.join(', ') + ');\n'; body += '};\n'; return new Function('dynCall', 'rawFunction', body)(dynCall, rawFunction); } var dc = Module['dynCall_' + signature]; var fp = makeDynCaller(dc); if (typeof fp !== 'function') { throwBindingError( 'unknown function pointer with signature ' + signature + ': ' + rawFunction ); } return fp; } var UnboundTypeError = undefined; function getTypeName(type) { var ptr = ___getTypeName(type); var rv = readLatin1String(ptr); _free(ptr); return rv; } function throwUnboundTypeError(message, types) { var unboundTypes = []; var seen = {}; function visit(type) { if (seen[type]) { return; } if (registeredTypes[type]) { return; } if (typeDependencies[type]) { typeDependencies[type].forEach(visit); return; } unboundTypes.push(type); seen[type] = true; } types.forEach(visit); throw new UnboundTypeError(message + ': ' + unboundTypes.map(getTypeName).join([', '])); } function __embind_register_class( rawType, rawPointerType, rawConstPointerType, baseClassRawType, getActualTypeSignature, getActualType, upcastSignature, upcast, downcastSignature, downcast, name, destructorSignature, rawDestructor ) { name = readLatin1String(name); getActualType = embind__requireFunction(getActualTypeSignature, getActualType); if (upcast) { upcast = embind__requireFunction(upcastSignature, upcast); } if (downcast) { downcast = embind__requireFunction(downcastSignature, downcast); } rawDestructor = embind__requireFunction(destructorSignature, rawDestructor); var legalFunctionName = makeLegalFunctionName(name); exposePublicSymbol(legalFunctionName, function () { throwUnboundTypeError('Cannot construct ' + name + ' due to unbound types', [ baseClassRawType ]); }); whenDependentTypesAreResolved( [rawType, rawPointerType, rawConstPointerType], baseClassRawType ? [baseClassRawType] : [], function (base) { base = base[0]; var baseClass; var basePrototype; if (baseClassRawType) { baseClass = base.registeredClass; basePrototype = baseClass.instancePrototype; } else { basePrototype = ClassHandle.prototype; } var constructor = createNamedFunction(legalFunctionName, function () { if (Object.getPrototypeOf(this) !== instancePrototype) { throw new BindingError("Use 'new' to construct " + name); } if (undefined === registeredClass.constructor_body) { throw new BindingError(name + ' has no accessible constructor'); } var body = registeredClass.constructor_body[arguments.length]; if (undefined === body) { throw new BindingError( 'Tried to invoke ctor of ' + name + ' with invalid number of parameters (' + arguments.length + ') - expected (' + Object.keys(registeredClass.constructor_body).toString() + ') parameters instead!' ); } return body.apply(this, arguments); }); var instancePrototype = Object.create(basePrototype, { constructor: { value: constructor } }); constructor.prototype = instancePrototype; var registeredClass = new RegisteredClass( name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast ); var referenceConverter = new RegisteredPointer(name, registeredClass, true, false, false); var pointerConverter = new RegisteredPointer( name + '*', registeredClass, false, false, false ); var constPointerConverter = new RegisteredPointer( name + ' const*', registeredClass, false, true, false ); registeredPointers[rawType] = { pointerType: pointerConverter, constPointerType: constPointerConverter }; replacePublicSymbol(legalFunctionName, constructor); return [referenceConverter, pointerConverter, constPointerConverter]; } ); } function heap32VectorToArray(count, firstElement) { var array = []; for (var i = 0; i < count; i++) { array.push(HEAP32[(firstElement >> 2) + i]); } return array; } function runDestructors(destructors) { while (destructors.length) { var ptr = destructors.pop(); var del = destructors.pop(); del(ptr); } } function __embind_register_class_constructor( rawClassType, argCount, rawArgTypesAddr, invokerSignature, invoker, rawConstructor ) { assert(argCount > 0); var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); invoker = embind__requireFunction(invokerSignature, invoker); var args = [rawConstructor]; var destructors = []; whenDependentTypesAreResolved([], [rawClassType], function (classType) { classType = classType[0]; var humanName = 'constructor ' + classType.name; if (undefined === classType.registeredClass.constructor_body) { classType.registeredClass.constructor_body = []; } if (undefined !== classType.registeredClass.constructor_body[argCount - 1]) { throw new BindingError( 'Cannot register multiple constructors with identical number of parameters (' + (argCount - 1) + ") for class '" + classType.name + "'! Overload resolution is currently only performed using the parameter count, not actual type info!" ); } classType.registeredClass.constructor_body[argCount - 1] = function unboundTypeHandler() { throwUnboundTypeError( 'Cannot construct ' + classType.name + ' due to unbound types', rawArgTypes ); }; whenDependentTypesAreResolved([], rawArgTypes, function (argTypes) { classType.registeredClass.constructor_body[argCount - 1] = function constructor_body() { if (arguments.length !== argCount - 1) { throwBindingError( humanName + ' called with ' + arguments.length + ' arguments, expected ' + (argCount - 1) ); } destructors.length = 0; args.length = argCount; for (var i = 1; i < argCount; ++i) { args[i] = argTypes[i]['toWireType'](destructors, arguments[i - 1]); } var ptr = invoker.apply(null, args); runDestructors(destructors); return argTypes[0]['fromWireType'](ptr); }; return []; }); return []; }); } function new_(constructor, argumentList) { if (!(constructor instanceof Function)) { throw new TypeError( 'new_ called with constructor type ' + typeof constructor + ' which is not a function' ); } var dummy = createNamedFunction(constructor.name || 'unknownFunctionName', function () {}); dummy.prototype = constructor.prototype; var obj = new dummy(); var r = constructor.apply(obj, argumentList); return r instanceof Object ? r : obj; } function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc) { var argCount = argTypes.length; if (argCount < 2) { throwBindingError( "argTypes array size mismatch! Must at least get return value and 'this' types!" ); } var isClassMethodFunc = argTypes[1] !== null && classType !== null; var needsDestructorStack = false; for (var i = 1; i < argTypes.length; ++i) { if (argTypes[i] !== null && argTypes[i].destructorFunction === undefined) { needsDestructorStack = true; break; } } var returns = argTypes[0].name !== 'void'; var argsList = ''; var argsListWired = ''; for (var i = 0; i < argCount - 2; ++i) { argsList += (i !== 0 ? ', ' : '') + 'arg' + i; argsListWired += (i !== 0 ? ', ' : '') + 'arg' + i + 'Wired'; } var invokerFnBody = 'return function ' + makeLegalFunctionName(humanName) + '(' + argsList + ') {\n' + 'if (arguments.length !== ' + (argCount - 2) + ') {\n' + "throwBindingError('function " + humanName + " called with ' + arguments.length + ' arguments, expected " + (argCount - 2) + " args!');\n" + '}\n'; if (needsDestructorStack) { invokerFnBody += 'var destructors = [];\n'; } var dtorStack = needsDestructorStack ? 'destructors' : 'null'; var args1 = ['throwBindingError', 'invoker', 'fn', 'runDestructors', 'retType', 'classParam']; var args2 = [ throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1] ]; if (isClassMethodFunc) { invokerFnBody += 'var thisWired = classParam.toWireType(' + dtorStack + ', this);\n'; } for (var i = 0; i < argCount - 2; ++i) { invokerFnBody += 'var arg' + i + 'Wired = argType' + i + '.toWireType(' + dtorStack + ', arg' + i + '); // ' + argTypes[i + 2].name + '\n'; args1.push('argType' + i); args2.push(argTypes[i + 2]); } if (isClassMethodFunc) { argsListWired = 'thisWired' + (argsListWired.length > 0 ? ', ' : '') + argsListWired; } invokerFnBody += (returns ? 'var rv = ' : '') + 'invoker(fn' + (argsListWired.length > 0 ? ', ' : '') + argsListWired + ');\n'; if (needsDestructorStack) { invokerFnBody += 'runDestructors(destructors);\n'; } else { for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; ++i) { var paramName = i === 1 ? 'thisWired' : 'arg' + (i - 2) + 'Wired'; if (argTypes[i].destructorFunction !== null) { invokerFnBody += paramName + '_dtor(' + paramName + '); // ' + argTypes[i].name + '\n'; args1.push(paramName + '_dtor'); args2.push(argTypes[i].destructorFunction); } } } if (returns) { invokerFnBody += 'var ret = retType.fromWireType(rv);\n' + 'return ret;\n'; } else { } invokerFnBody += '}\n'; args1.push(invokerFnBody); var invokerFunction = new_(Function, args1).apply(null, args2); return invokerFunction; } function __embind_register_class_function( rawClassType, methodName, argCount, rawArgTypesAddr, invokerSignature, rawInvoker, context, isPureVirtual ) { var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); methodName = readLatin1String(methodName); rawInvoker = embind__requireFunction(invokerSignature, rawInvoker); whenDependentTypesAreResolved([], [rawClassType], function (classType) { classType = classType[0]; var humanName = classType.name + '.' + methodName; if (isPureVirtual) { classType.registeredClass.pureVirtualFunctions.push(methodName); } function unboundTypesHandler() { throwUnboundTypeError('Cannot call ' + humanName + ' due to unbound types', rawArgTypes); } var proto = classType.registeredClass.instancePrototype; var method = proto[methodName]; if ( undefined === method || (undefined === method.overloadTable && method.className !== classType.name && method.argCount === argCount - 2) ) { unboundTypesHandler.argCount = argCount - 2; unboundTypesHandler.className = classType.name; proto[methodName] = unboundTypesHandler; } else { ensureOverloadTable(proto, methodName, humanName); proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler; } whenDependentTypesAreResolved([], rawArgTypes, function (argTypes) { var memberFunction = craftInvokerFunction( humanName, argTypes, classType, rawInvoker, context ); if (undefined === proto[methodName].overloadTable) { memberFunction.argCount = argCount - 2; proto[methodName] = memberFunction; } else { proto[methodName].overloadTable[argCount - 2] = memberFunction; } return []; }); return []; }); } var emval_free_list = []; var emval_handle_array = [ {}, { value: undefined }, { value: null }, { value: true }, { value: false } ]; function __emval_decref(handle) { if (handle > 4 && 0 === --emval_handle_array[handle].refcount) { emval_handle_array[handle] = undefined; emval_free_list.push(handle); } } function count_emval_handles() { var count = 0; for (var i = 5; i < emval_handle_array.length; ++i) { if (emval_handle_array[i] !== undefined) { ++count; } } return count; } function get_first_emval() { for (var i = 5; i < emval_handle_array.length; ++i) { if (emval_handle_array[i] !== undefined) { return emval_handle_array[i]; } } return null; } function init_emval() { Module['count_emval_handles'] = count_emval_handles; Module['get_first_emval'] = get_first_emval; } function __emval_register(value) { switch (value) { case undefined: { return 1; } case null: { return 2; } case true: { return 3; } case false: { return 4; } default: { var handle = emval_free_list.length ? emval_free_list.pop() : emval_handle_array.length; emval_handle_array[handle] = { refcount: 1, value: value }; return handle; } } } function __embind_register_emval(rawType, name) { name = readLatin1String(name); registerType(rawType, { name: name, fromWireType: function (handle) { var rv = emval_handle_array[handle].value; __emval_decref(handle); return rv; }, toWireType: function (destructors, value) { return __emval_register(value); }, argPackAdvance: 8, readValueFromPointer: simpleReadValueFromPointer, destructorFunction: null }); } function _embind_repr(v) { if (v === null) { return 'null'; } var t = typeof v; if (t === 'object' || t === 'array' || t === 'function') { return v.toString(); } else { return '' + v; } } function floatReadValueFromPointer(name, shift) { switch (shift) { case 2: return function (pointer) { return this['fromWireType'](HEAPF32[pointer >> 2]); }; case 3: return function (pointer) { return this['fromWireType'](HEAPF64[pointer >> 3]); }; default: throw new TypeError('Unknown float type: ' + name); } } function __embind_register_float(rawType, name, size) { var shift = getShiftFromSize(size); name = readLatin1String(name); registerType(rawType, { name: name, fromWireType: function (value) { return value; }, toWireType: function (destructors, value) { if (typeof value !== 'number' && typeof value !== 'boolean') { throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name); } return value; }, argPackAdvance: 8, readValueFromPointer: floatReadValueFromPointer(name, shift), destructorFunction: null }); } function integerReadValueFromPointer(name, shift, signed) { switch (shift) { case 0: return signed ? function readS8FromPointer(pointer) { return HEAP8[pointer]; } : function readU8FromPointer(pointer) { return HEAPU8[pointer]; }; case 1: return signed ? function readS16FromPointer(pointer) { return HEAP16[pointer >> 1]; } : function readU16FromPointer(pointer) { return HEAPU16[pointer >> 1]; }; case 2: return signed ? function readS32FromPointer(pointer) { return HEAP32[pointer >> 2]; } : function readU32FromPointer(pointer) { return HEAPU32[pointer >> 2]; }; default: throw new TypeError('Unknown integer type: ' + name); } } function __embind_register_integer(primitiveType, name, size, minRange, maxRange) { name = readLatin1String(name); if (maxRange === -1) { maxRange = 4294967295; } var shift = getShiftFromSize(size); var fromWireType = function (value) { return value; }; if (minRange === 0) { var bitshift = 32 - 8 * size; fromWireType = function (value) { return (value << bitshift) >>> bitshift; }; } var isUnsignedType = name.indexOf('unsigned') != -1; registerType(primitiveType, { name: name, fromWireType: fromWireType, toWireType: function (destructors, value) { if (typeof value !== 'number' && typeof value !== 'boolean') { throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name); } if (value < minRange || value > maxRange) { throw new TypeError( 'Passing a number "' + _embind_repr(value) + '" from JS side to C/C++ side to an argument of type "' + name + '", which is outside the valid range [' + minRange + ', ' + maxRange + ']!' ); } return isUnsignedType ? value >>> 0 : value | 0; }, argPackAdvance: 8, readValueFromPointer: integerReadValueFromPointer(name, shift, minRange !== 0), destructorFunction: null }); } function __embind_register_memory_view(rawType, dataTypeIndex, name) { var typeMapping = [ Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array ]; var TA = typeMapping[dataTypeIndex]; function decodeMemoryView(handle) { handle = handle >> 2; var heap = HEAPU32; var size = heap[handle]; var data = heap[handle + 1]; return new TA(buffer, data, size); } name = readLatin1String(name); registerType( rawType, { name: name, fromWireType: decodeMemoryView, argPackAdvance: 8, readValueFromPointer: decodeMemoryView }, { ignoreDuplicateRegistrations: true } ); } function __embind_register_std_string(rawType, name) { name = readLatin1String(name); var stdStringIsUTF8 = name === 'std::string'; registerType(rawType, { name: name, fromWireType: function (value) { var length = HEAPU32[value >> 2]; var str; if (stdStringIsUTF8) { var decodeStartPtr = value + 4; for (var i = 0; i <= length; ++i) { var currentBytePtr = value + 4 + i; if (HEAPU8[currentBytePtr] == 0 || i == length) { var maxRead = currentBytePtr - decodeStartPtr; var stringSegment = UTF8ToString(decodeStartPtr, maxRead); if (str === undefined) { str = stringSegment; } else { str += String.fromCharCode(0); str += stringSegment; } decodeStartPtr = currentBytePtr + 1; } } } else { var a = new Array(length); for (var i = 0; i < length; ++i) { a[i] = String.fromCharCode(HEAPU8[value + 4 + i]); } str = a.join(''); } _free(value); return str; }, toWireType: function (destructors, value) { if (value instanceof ArrayBuffer) { value = new Uint8Array(value); } var getLength; var valueIsOfTypeString = typeof value === 'string'; if ( !( valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array ) ) { throwBindingError('Cannot pass non-string to std::string'); } if (stdStringIsUTF8 && valueIsOfTypeString) { getLength = function () { return lengthBytesUTF8(value); }; } else { getLength = function () { return value.length; }; } var length = getLength(); var ptr = _malloc(4 + length + 1); HEAPU32[ptr >> 2] = length; if (stdStringIsUTF8 && valueIsOfTypeString) { stringToUTF8(value, ptr + 4, length + 1); } else { if (valueIsOfTypeString) { for (var i = 0; i < length; ++i) { var charCode = value.charCodeAt(i); if (charCode > 255) { _free(ptr); throwBindingError('String has UTF-16 code units that do not fit in 8 bits'); } HEAPU8[ptr + 4 + i] = charCode; } } else { for (var i = 0; i < length; ++i) { HEAPU8[ptr + 4 + i] = value[i]; } } } if (destructors !== null) { destructors.push(_free, ptr); } return ptr; }, argPackAdvance: 8, readValueFromPointer: simpleReadValueFromPointer, destructorFunction: function (ptr) { _free(ptr); } }); } function __embind_register_std_wstring(rawType, charSize, name) { name = readLatin1String(name); var decodeString, encodeString, getHeap, lengthBytesUTF, shift; if (charSize === 2) { decodeString = UTF16ToString; encodeString = stringToUTF16; lengthBytesUTF = lengthBytesUTF16; getHeap = function () { return HEAPU16; }; shift = 1; } else if (charSize === 4) { decodeString = UTF32ToString; encodeString = stringToUTF32; lengthBytesUTF = lengthBytesUTF32; getHeap = function () { return HEAPU32; }; shift = 2; } registerType(rawType, { name: name, fromWireType: function (value) { var length = HEAPU32[value >> 2]; var HEAP = getHeap(); var str; var decodeStartPtr = value + 4; for (var i = 0; i <= length; ++i) { var currentBytePtr = value + 4 + i * charSize; if (HEAP[currentBytePtr >> shift] == 0 || i == length) { var maxReadBytes = currentBytePtr - decodeStartPtr; var stringSegment = decodeString(decodeStartPtr, maxReadBytes); if (str === undefined) { str = stringSegment; } else { str += String.fromCharCode(0); str += stringSegment; } decodeStartPtr = currentBytePtr + charSize; } } _free(value); return str; }, toWireType: function (destructors, value) { if (!(typeof value === 'string')) { throwBindingError('Cannot pass non-string to C++ string type ' + name); } var length = lengthBytesUTF(value); var ptr = _malloc(4 + length + charSize); HEAPU32[ptr >> 2] = length >> shift; encodeString(value, ptr + 4, length + charSize); if (destructors !== null) { destructors.push(_free, ptr); } return ptr; }, argPackAdvance: 8, readValueFromPointer: simpleReadValueFromPointer, destructorFunction: function (ptr) { _free(ptr); } }); } function __embind_register_void(rawType, name) { name = readLatin1String(name); registerType(rawType, { isVoid: true, name: name, argPackAdvance: 0, fromWireType: function () { return undefined; }, toWireType: function (destructors, o) { return undefined; } }); } function _abort() { abort(); } function _emscripten_get_heap_size() { return HEAPU8.length; } function abortOnCannotGrowMemory(requestedSize) { abort('OOM'); } function _emscripten_resize_heap(requestedSize) { requestedSize = requestedSize >>> 0; abortOnCannotGrowMemory(requestedSize); } function _llvm_trap() { abort('trap!'); } function _emscripten_memcpy_big(dest, src, num) { HEAPU8.copyWithin(dest, src, src + num); } embind_init_charCodes(); BindingError = Module['BindingError'] = extendError(Error, 'BindingError'); InternalError = Module['InternalError'] = extendError(Error, 'InternalError'); init_ClassHandle(); init_RegisteredPointer(); init_embind(); UnboundTypeError = Module['UnboundTypeError'] = extendError(Error, 'UnboundTypeError'); init_emval(); var ASSERTIONS = false; function intArrayToString(array) { var ret = []; for (var i = 0; i < array.length; i++) { var chr = array[i]; if (chr > 255) { if (ASSERTIONS) { assert( false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.' ); } chr &= 255; } ret.push(String.fromCharCode(chr)); } return ret.join(''); } var decodeBase64 = typeof atob === 'function' ? atob : function (input) { var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; var output = ''; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ''); do { enc1 = keyStr.indexOf(input.charAt(i++)); enc2 = keyStr.indexOf(input.charAt(i++)); enc3 = keyStr.indexOf(input.charAt(i++)); enc4 = keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 !== 64) { output = output + String.fromCharCode(chr2); } if (enc4 !== 64) { output = output + String.fromCharCode(chr3); } } while (i < input.length); return output; }; function intArrayFromBase64(s) { if (typeof ENVIRONMENT_IS_NODE === 'boolean' && ENVIRONMENT_IS_NODE) { var buf; try { buf = Buffer.from(s, 'base64'); } catch (_) { buf = new Buffer(s, 'base64'); } return new Uint8Array(buf['buffer'], buf['byteOffset'], buf['byteLength']); } try { var decoded = decodeBase64(s); var bytes = new Uint8Array(decoded.length); for (var i = 0; i < decoded.length; ++i) { bytes[i] = decoded.charCodeAt(i); } return bytes; } catch (_) { throw new Error('Converting base64 string to bytes failed.'); } } function tryParseAsDataURI(filename) { if (!isDataURI(filename)) { return; } return intArrayFromBase64(filename.slice(dataURIPrefix.length)); } var asmGlobalArg = { Math: Math, Int8Array: Int8Array, Int16Array: Int16Array, Int32Array: Int32Array, Uint8Array: Uint8Array, Uint16Array: Uint16Array, Float32Array: Float32Array, Float64Array: Float64Array }; var asmLibraryArg = { A: _emscripten_memcpy_big, B: _emscripten_resize_heap, C: _llvm_trap, D: tempDoublePtr, a: abort, b: setTempRet0, c: getTempRet0, d: ___cxa_allocate_exception, e: ___cxa_begin_catch, f: ___cxa_throw, g: ___cxa_uncaught_exceptions, h: ___exception_addRef, i: ___exception_deAdjust, j: ___gxx_personality_v0, k: __embind_register_bool, l: __embind_register_class, m: __embind_register_class_constructor, n: __embind_register_class_function, o: __embind_register_emval, p: __embind_register_float, q: __embind_register_integer, r: __embind_register_memory_view, s: __embind_register_std_string, t: __embind_register_std_wstring, u: __embind_register_void, v: __emval_decref, w: __emval_register, x: _abort, y: _embind_repr, z: _emscripten_get_heap_size }; // EMSCRIPTEN_START_ASM var asm = /** @suppress {uselessCode} */ (function (global, env, buffer) { 'use asm'; var a = new global.Int8Array(buffer), b = new global.Int16Array(buffer), c = new global.Int32Array(buffer), d = new global.Uint8Array(buffer), e = new global.Uint16Array(buffer), f = new global.Float32Array(buffer), g = new global.Float64Array(buffer), h = env.D | 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0.0, q = global.Math.imul, r = global.Math.clz32, s = env.a, t = env.b, u = env.c, v = env.d, w = env.e, x = env.f, y = env.g, z = env.h, A = env.i, B = env.j, C = env.k, D = env.l, E = env.m, F = env.n, G = env.o, H = env.p, I = env.q, J = env.r, K = env.s, L = env.t, M = env.u, N = env.v, O = env.w, P = env.x, Q = env.y, R = env.z, S = env.A, T = env.B, U = env.C, V = 22384, W = 5265264, X = 0.0; // EMSCRIPTEN_START_FUNCS function ia() { em(); fm(); } function ja() { ka(0); return; } function ka(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; a = V; V = (V + 16) | 0; b = (a + 8) | 0; d = a; vk(); m = xk() | 0; g = yk() | 0; f = Ak() | 0; h = Bk() | 0; i = Ck() | 0; j = Dk() | 0; k = Jk() | 0; l = Kk() | 0; e = Kk() | 0; D(f | 0, h | 0, i | 0, j | 0, k | 0, 9, l | 0, m | 0, e | 0, g | 0, 6204, Lk() | 0, 138); Nk(1); c[d >> 2] = 5; c[(d + 4) >> 2] = 0; c[b >> 2] = c[d >> 2]; c[(b + 4) >> 2] = c[(d + 4) >> 2]; Uk(6211, b); c[d >> 2] = 3; c[(d + 4) >> 2] = 0; c[b >> 2] = c[d >> 2]; c[(b + 4) >> 2] = c[(d + 4) >> 2]; cl(6216, b); c[d >> 2] = 10; c[(d + 4) >> 2] = 0; c[b >> 2] = c[d >> 2]; c[(b + 4) >> 2] = c[(d + 4) >> 2]; kl(6225, b); sl(); g = ul() | 0; e = vl() | 0; m = xl() | 0; l = yl() | 0; k = zl() | 0; j = Dk() | 0; i = Jk() | 0; h = Kk() | 0; f = Kk() | 0; D(m | 0, l | 0, k | 0, j | 0, i | 0, 11, h | 0, g | 0, f | 0, e | 0, 6234, Lk() | 0, 139); Gl(2); c[d >> 2] = 6; c[(d + 4) >> 2] = 0; c[b >> 2] = c[d >> 2]; c[(b + 4) >> 2] = c[(d + 4) >> 2]; Nl(6211, b); c[d >> 2] = 4; c[(d + 4) >> 2] = 0; c[b >> 2] = c[d >> 2]; c[(b + 4) >> 2] = c[(d + 4) >> 2]; Ul(6248, b); c[d >> 2] = 5; c[(d + 4) >> 2] = 0; c[b >> 2] = c[d >> 2]; c[(b + 4) >> 2] = c[(d + 4) >> 2]; Ul(6265, b); c[d >> 2] = 6; c[(d + 4) >> 2] = 0; c[b >> 2] = c[d >> 2]; c[(b + 4) >> 2] = c[(d + 4) >> 2]; Ul(6280, b); c[d >> 2] = 7; c[(d + 4) >> 2] = 0; c[b >> 2] = c[d >> 2]; c[(b + 4) >> 2] = c[(d + 4) >> 2]; _l(6216, b); V = a; return; } function la(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0, g = 0, h = 0, i = 0; e = V; V = (V + 32) | 0; h = (e + 16) | 0; f = (e + 8) | 0; i = e; g = eq(20) | 0; ta(g, b, d); c[i >> 2] = 0; c[h >> 2] = c[i >> 2]; va(f, g, h); b = c[f >> 2] | 0; c[f >> 2] = c[a >> 2]; c[a >> 2] = b; b = (f + 4) | 0; d = (a + 4) | 0; g = c[b >> 2] | 0; c[b >> 2] = c[d >> 2]; c[d >> 2] = g; wa(f); d = eq(352) | 0; ua(d, c[a >> 2] | 0); g = (a + 8) | 0; c[i >> 2] = 0; c[h >> 2] = c[i >> 2]; Fa(f, d, h); d = c[f >> 2] | 0; c[f >> 2] = c[g >> 2]; c[g >> 2] = d; g = (f + 4) | 0; d = (a + 12) | 0; b = c[g >> 2] | 0; c[g >> 2] = c[d >> 2]; c[d >> 2] = b; Ga(f); V = e; return; } function ma(a, b) { a = a | 0; b = b | 0; dd(c[(a + 8) >> 2] | 0, b); return; } function na(a) { a = a | 0; a = ((Qh(c[(a + 8) >> 2] | 0) | 0) + 107) | 0; return ( d[a >> 0] | (d[(a + 1) >> 0] << 8) | (d[(a + 2) >> 0] << 16) | (d[(a + 3) >> 0] << 24) | 0 ); } function oa(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0, g = 0, h = 0, i = 0; e = V; V = (V + 32) | 0; g = (e + 16) | 0; f = (e + 8) | 0; h = e; i = eq(12) | 0; Rh(i, b, d); c[h >> 2] = 0; c[g >> 2] = c[h >> 2]; Vh(f, i, g); i = c[f >> 2] | 0; c[f >> 2] = c[a >> 2]; c[a >> 2] = i; i = (f + 4) | 0; d = (a + 4) | 0; b = c[i >> 2] | 0; c[i >> 2] = c[d >> 2]; c[d >> 2] = b; Wh(f); d = (a + 8) | 0; b = eq(12) | 0; Sh(b, c[a >> 2] | 0); c[h >> 2] = 0; c[g >> 2] = c[h >> 2]; ai(f, b, g); b = c[f >> 2] | 0; c[f >> 2] = c[d >> 2]; c[d >> 2] = b; b = (f + 4) | 0; h = (a + 12) | 0; i = c[b >> 2] | 0; c[b >> 2] = c[h >> 2]; c[h >> 2] = i; bi(f); Th(f, c[d >> 2] | 0); d = (a + 16) | 0; h = c[f >> 2] | 0; i = (f + 4) | 0; b = c[i >> 2] | 0; c[f >> 2] = 0; c[i >> 2] = 0; c[g >> 2] = c[d >> 2]; c[d >> 2] = h; d = (a + 20) | 0; c[(g + 4) >> 2] = c[d >> 2]; c[d >> 2] = b; Uh(g); Uh(f); V = e; return; } function pa(a, b) { a = a | 0; b = b | 0; var d = 0; a = (a + 16) | 0; d = c[a >> 2] | 0; a: do if (d | 0) switch (b | 0) { case 4: { ui(d); break a; } case 8: { vi(d); vi(c[a >> 2] | 0); break a; } default: break a; } while (0); return; } function qa(a, b) { a = a | 0; b = b | 0; var d = 0; d = (a + 16) | 0; a = c[d >> 2] | 0; a: do if (a | 0) { switch (b | 0) { case 1: { hj(a); break a; } case 2: { ij(a); break a; } case 8: { ui(a); a = c[d >> 2] | 0; break; } case 4: break; default: break a; } ui(a); } while (0); return; } function ra(a, b) { a = a | 0; b = b | 0; var d = 0; d = (a + 16) | 0; a = c[d >> 2] | 0; a: do if (a | 0) { switch (b | 0) { case 1: { Rj(a); break a; } case 2: { Sj(a); break a; } case 8: { vi(a); a = c[d >> 2] | 0; break; } case 4: break; default: break a; } vi(a); } while (0); return; } function sa(a, b) { a = a | 0; b = b | 0; a = c[(a + 16) >> 2] | 0; if (a | 0) $[c[c[a >> 2] >> 2] & 63](a, b) | 0; return; } function ta(b, d, e) { b = b | 0; d = d | 0; e = e | 0; c[b >> 2] = d; c[(b + 4) >> 2] = e; c[(b + 8) >> 2] = 0; a[(b + 12) >> 0] = 0; a[(b + 13) >> 0] = 0; c[(b + 16) >> 2] = 0; return; } function ua(a, b) { a = a | 0; b = b | 0; c[a >> 2] = b; Va((a + 4) | 0, b); Wa((a + 247) | 0); c[(a + 288) >> 2] = 0; c[(a + 292) >> 2] = 0; c[(a + 296) >> 2] = 0; Xa((a + 300) | 0); b = (a + 312) | 0; c[b >> 2] = 0; c[(b + 4) >> 2] = 0; c[(b + 8) >> 2] = 0; c[(b + 12) >> 2] = 0; Ya((a + 328) | 0); Za(a); return; } function va(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 4296; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; xa(a, e); V = d; return; } function wa(a) { a = a | 0; var b = 0, d = 0; a = c[(a + 4) >> 2] | 0; if ( a | 0 ? ((d = (a + 4) | 0), (b = c[d >> 2] | 0), (c[d >> 2] = b + -1), (b | 0) == 0) : 0 ) { ca[c[((c[a >> 2] | 0) + 8) >> 2] & 255](a); qq(a); } return; } function xa(a, b) { a = a | 0; b = b | 0; return; } function ya(a) { a = a | 0; w(a | 0) | 0; lp(); } function za(a) { a = a | 0; pq(a); jp(a); return; } function Aa(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) jp(a); return; } function Ba(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 6407 ? (a + 12) | 0 : 0) | 0; } function Ca(a) { a = a | 0; Da(a, 16); return; } function Da(a, b) { a = a | 0; b = b | 0; Ea(a); return; } function Ea(a) { a = a | 0; jp(a); return; } function Fa(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 4324; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; Ha(a, e); V = d; return; } function Ga(a) { a = a | 0; var b = 0, d = 0; a = c[(a + 4) >> 2] | 0; if ( a | 0 ? ((d = (a + 4) | 0), (b = c[d >> 2] | 0), (c[d >> 2] = b + -1), (b | 0) == 0) : 0 ) { ca[c[((c[a >> 2] | 0) + 8) >> 2] & 255](a); qq(a); } return; } function Ha(a, b) { a = a | 0; b = b | 0; return; } function Ia(a) { a = a | 0; pq(a); jp(a); return; } function Ja(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) { Ma(a); jp(a); } return; } function Ka(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 6605 ? (a + 12) | 0 : 0) | 0; } function La(a) { a = a | 0; Da(a, 16); return; } function Ma(a) { a = a | 0; Na((a + 320) | 0); Oa((a + 312) | 0); Pa((a + 300) | 0); Ta((a + 288) | 0); Qa((a + 247) | 0); Ra((a + 4) | 0); return; } function Na(a) { a = a | 0; var b = 0, d = 0; a = c[(a + 4) >> 2] | 0; if ( a | 0 ? ((d = (a + 4) | 0), (b = c[d >> 2] | 0), (c[d >> 2] = b + -1), (b | 0) == 0) : 0 ) { ca[c[((c[a >> 2] | 0) + 8) >> 2] & 255](a); qq(a); } return; } function Oa(a) { a = a | 0; var b = 0, d = 0; a = c[(a + 4) >> 2] | 0; if ( a | 0 ? ((d = (a + 4) | 0), (b = c[d >> 2] | 0), (c[d >> 2] = b + -1), (b | 0) == 0) : 0 ) { ca[c[((c[a >> 2] | 0) + 8) >> 2] & 255](a); qq(a); } return; } function Pa(a) { a = a | 0; Sa(a); return; } function Qa(a) { a = a | 0; a = (a + 34) | 0; a = d[a >> 0] | (d[(a + 1) >> 0] << 8) | (d[(a + 2) >> 0] << 16) | (d[(a + 3) >> 0] << 24); if (a | 0) gq(a); return; } function Ra(a) { a = a | 0; Ua(c[(a + 12) >> 2] | 0); return; } function Sa(a) { a = a | 0; var b = 0, d = 0; b = c[a >> 2] | 0; d = b; if (b | 0) { c[(a + 4) >> 2] = d; Da(b, ((c[(a + 8) >> 2] | 0) - d) | 0); } return; } function Ta(a) { a = a | 0; var b = 0, d = 0; b = c[a >> 2] | 0; d = b; if (b | 0) { c[(a + 4) >> 2] = d; Da(b, ((c[(a + 8) >> 2] | 0) - d) | 0); } return; } function Ua(a) { a = a | 0; er(c[(a + -4) >> 2] | 0); return; } function Va(a, b) { a = a | 0; b = b | 0; c[a >> 2] = b; c[(a + 4) >> 2] = 0; c[(a + 8) >> 2] = 0; c[(a + 12) >> 2] = _a(1048576) | 0; return; } function Wa(b) { b = b | 0; var c = 0; c = (b + 32) | 0; a[c >> 0] = 0; a[(c + 1) >> 0] = 0; b = (b + 34) | 0; a[b >> 0] = 0; a[(b + 1) >> 0] = 0; a[(b + 2) >> 0] = 0; a[(b + 3) >> 0] = 0; return; } function Xa(a) { a = a | 0; c[a >> 2] = 0; c[(a + 4) >> 2] = 0; c[(a + 8) >> 2] = 0; return; } function Ya(a) { a = a | 0; c[a >> 2] = 0; c[(a + 4) >> 2] = 0; c[(a + 8) >> 2] = 0; c[(a + 12) >> 2] = 0; a = (a + 16) | 0; c[a >> 2] = -1; c[(a + 4) >> 2] = -1; return; } function Za(b) { b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; i = V; V = (V + 64) | 0; g = (i + 32) | 0; e = (i + 56) | 0; d = (i + 16) | 0; h = i; $a(c[b >> 2] | 0, e, 4); mb(g, e, (e + 4) | 0); e = lb(6693) | 0; f = a[(g + 11) >> 0] | 0; if ((e | 0) == (((f << 24) >> 24 < 0 ? c[(g + 4) >> 2] | 0 : f & 255) | 0)) { f = (Hq(g, 0, -1, 6693, e) | 0) == 0; Cq(g); if (f) { e = c[b >> 2] | 0; c[d >> 2] = 0; c[(d + 4) >> 2] = 0; c[(d + 8) >> 2] = 0; c[(d + 12) >> 2] = 0; c[g >> 2] = c[d >> 2]; c[(g + 4) >> 2] = c[(d + 4) >> 2]; c[(g + 8) >> 2] = c[(d + 8) >> 2]; c[(g + 12) >> 2] = c[(d + 12) >> 2]; bb(e, g); e = (b + 20) | 0; $a(c[b >> 2] | 0, e, 227); cb(b, e); f = db() | 0; d = c[f >> 2] | 0; f = c[(f + 4) >> 2] | 0; if ((d | 0) != (f | 0)) do { eb(g, d); fb(g, e); gb(g); d = (d + 24) | 0; } while ((d | 0) != (f | 0)); hb(b); ib(b); jb(c[b >> 2] | 0); f = c[b >> 2] | 0; d = ((c[(b + 116) >> 2] | 0) + 8) | 0; e = h; c[e >> 2] = 0; c[(e + 4) >> 2] = 0; e = (h + 8) | 0; c[e >> 2] = d; c[(e + 4) >> 2] = 0; c[g >> 2] = c[h >> 2]; c[(g + 4) >> 2] = c[(h + 4) >> 2]; c[(g + 8) >> 2] = c[(h + 8) >> 2]; c[(g + 12) >> 2] = c[(h + 12) >> 2]; bb(f, g); kb((b + 4) | 0); V = i; return; } } else Cq(g); i = v(8) | 0; ab(i); x(i | 0, 2592, 8); } function _a(a) { a = a | 0; var b = 0; b = dr((a + 68) | 0) | 0; a = (b + 68) & -64; c[(a + -4) >> 2] = b; return a | 0; } function $a(b, d, e) { b = b | 0; d = d | 0; e = e | 0; var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; i = (b + 13) | 0; if (!(a[i >> 0] | 0)) { h = (b + 4) | 0; f = c[h >> 2] | 0; j = (b + 8) | 0; g = c[j >> 2] | 0; k = (f - g) | 0; e = (k | 0) < (e | 0) ? k : e; if (e) { vr(d | 0, ((c[b >> 2] | 0) + g) | 0, e | 0) | 0; g = c[j >> 2] | 0; f = c[h >> 2] | 0; } k = (g + e) | 0; c[j >> 2] = k; c[(b + 16) >> 2] = e; if ((k | 0) >= (f | 0)) a[i >> 0] = 1; } else a[(b + 12) >> 0] = 1; return; } function ab(a) { a = a | 0; xq(a, 6791); c[a >> 2] = 4352; return; } function bb(b, d) { b = b | 0; d = d | 0; var e = 0, f = 0, g = 0; g = (d + 8) | 0; d = c[g >> 2] | 0; g = c[(g + 4) >> 2] | 0; e = c[(b + 4) >> 2] | 0; f = (((e | 0) < 0) << 31) >> 31; if (((g | 0) < (f | 0)) | (((g | 0) == (f | 0)) & (d >>> 0 < e >>> 0))) c[(b + 8) >> 2] = d; else a[(b + 12) >> 0] = 1; return; } function cb(b, c) { b = b | 0; c = c | 0; var d = 0.0, e = 0.0, f = 0, i = 0.0, j = 0, k = 0.0, l = 0, m = 0.0, n = 0, o = 0.0; n = (c + 179) | 0; a[h >> 0] = a[n >> 0]; a[(h + 1) >> 0] = a[(n + 1) >> 0]; a[(h + 2) >> 0] = a[(n + 2) >> 0]; a[(h + 3) >> 0] = a[(n + 3) >> 0]; a[(h + 4) >> 0] = a[(n + 4) >> 0]; a[(h + 5) >> 0] = a[(n + 5) >> 0]; a[(h + 6) >> 0] = a[(n + 6) >> 0]; a[(h + 7) >> 0] = a[(n + 7) >> 0]; m = +g[h >> 3]; j = (c + 187) | 0; a[h >> 0] = a[j >> 0]; a[(h + 1) >> 0] = a[(j + 1) >> 0]; a[(h + 2) >> 0] = a[(j + 2) >> 0]; a[(h + 3) >> 0] = a[(j + 3) >> 0]; a[(h + 4) >> 0] = a[(j + 4) >> 0]; a[(h + 5) >> 0] = a[(j + 5) >> 0]; a[(h + 6) >> 0] = a[(j + 6) >> 0]; a[(h + 7) >> 0] = a[(j + 7) >> 0]; o = +g[h >> 3]; b = (c + 195) | 0; a[h >> 0] = a[b >> 0]; a[(h + 1) >> 0] = a[(b + 1) >> 0]; a[(h + 2) >> 0] = a[(b + 2) >> 0]; a[(h + 3) >> 0] = a[(b + 3) >> 0]; a[(h + 4) >> 0] = a[(b + 4) >> 0]; a[(h + 5) >> 0] = a[(b + 5) >> 0]; a[(h + 6) >> 0] = a[(b + 6) >> 0]; a[(h + 7) >> 0] = a[(b + 7) >> 0]; i = +g[h >> 3]; l = (c + 203) | 0; a[h >> 0] = a[l >> 0]; a[(h + 1) >> 0] = a[(l + 1) >> 0]; a[(h + 2) >> 0] = a[(l + 2) >> 0]; a[(h + 3) >> 0] = a[(l + 3) >> 0]; a[(h + 4) >> 0] = a[(l + 4) >> 0]; a[(h + 5) >> 0] = a[(l + 5) >> 0]; a[(h + 6) >> 0] = a[(l + 6) >> 0]; a[(h + 7) >> 0] = a[(l + 7) >> 0]; k = +g[h >> 3]; f = (c + 211) | 0; a[h >> 0] = a[f >> 0]; a[(h + 1) >> 0] = a[(f + 1) >> 0]; a[(h + 2) >> 0] = a[(f + 2) >> 0]; a[(h + 3) >> 0] = a[(f + 3) >> 0]; a[(h + 4) >> 0] = a[(f + 4) >> 0]; a[(h + 5) >> 0] = a[(f + 5) >> 0]; a[(h + 6) >> 0] = a[(f + 6) >> 0]; a[(h + 7) >> 0] = a[(f + 7) >> 0]; d = +g[h >> 3]; c = (c + 219) | 0; a[h >> 0] = a[c >> 0]; a[(h + 1) >> 0] = a[(c + 1) >> 0]; a[(h + 2) >> 0] = a[(c + 2) >> 0]; a[(h + 3) >> 0] = a[(c + 3) >> 0]; a[(h + 4) >> 0] = a[(c + 4) >> 0]; a[(h + 5) >> 0] = a[(c + 5) >> 0]; a[(h + 6) >> 0] = a[(c + 6) >> 0]; a[(h + 7) >> 0] = a[(c + 7) >> 0]; e = +g[h >> 3]; g[h >> 3] = o; a[n >> 0] = a[h >> 0]; a[(n + 1) >> 0] = a[(h + 1) >> 0]; a[(n + 2) >> 0] = a[(h + 2) >> 0]; a[(n + 3) >> 0] = a[(h + 3) >> 0]; a[(n + 4) >> 0] = a[(h + 4) >> 0]; a[(n + 5) >> 0] = a[(h + 5) >> 0]; a[(n + 6) >> 0] = a[(h + 6) >> 0]; a[(n + 7) >> 0] = a[(h + 7) >> 0]; g[h >> 3] = m; a[l >> 0] = a[h >> 0]; a[(l + 1) >> 0] = a[(h + 1) >> 0]; a[(l + 2) >> 0] = a[(h + 2) >> 0]; a[(l + 3) >> 0] = a[(h + 3) >> 0]; a[(l + 4) >> 0] = a[(h + 4) >> 0]; a[(l + 5) >> 0] = a[(h + 5) >> 0]; a[(l + 6) >> 0] = a[(h + 6) >> 0]; a[(l + 7) >> 0] = a[(h + 7) >> 0]; g[h >> 3] = k; a[j >> 0] = a[h >> 0]; a[(j + 1) >> 0] = a[(h + 1) >> 0]; a[(j + 2) >> 0] = a[(h + 2) >> 0]; a[(j + 3) >> 0] = a[(h + 3) >> 0]; a[(j + 4) >> 0] = a[(h + 4) >> 0]; a[(j + 5) >> 0] = a[(h + 5) >> 0]; a[(j + 6) >> 0] = a[(h + 6) >> 0]; a[(j + 7) >> 0] = a[(h + 7) >> 0]; g[h >> 3] = i; a[f >> 0] = a[h >> 0]; a[(f + 1) >> 0] = a[(h + 1) >> 0]; a[(f + 2) >> 0] = a[(h + 2) >> 0]; a[(f + 3) >> 0] = a[(h + 3) >> 0]; a[(f + 4) >> 0] = a[(h + 4) >> 0]; a[(f + 5) >> 0] = a[(h + 5) >> 0]; a[(f + 6) >> 0] = a[(h + 6) >> 0]; a[(f + 7) >> 0] = a[(h + 7) >> 0]; g[h >> 3] = e; a[b >> 0] = a[h >> 0]; a[(b + 1) >> 0] = a[(h + 1) >> 0]; a[(b + 2) >> 0] = a[(h + 2) >> 0]; a[(b + 3) >> 0] = a[(h + 3) >> 0]; a[(b + 4) >> 0] = a[(h + 4) >> 0]; a[(b + 5) >> 0] = a[(h + 5) >> 0]; a[(b + 6) >> 0] = a[(h + 6) >> 0]; a[(b + 7) >> 0] = a[(h + 7) >> 0]; g[h >> 3] = d; a[c >> 0] = a[h >> 0]; a[(c + 1) >> 0] = a[(h + 1) >> 0]; a[(c + 2) >> 0] = a[(h + 2) >> 0]; a[(c + 3) >> 0] = a[(h + 3) >> 0]; a[(c + 4) >> 0] = a[(h + 4) >> 0]; a[(c + 5) >> 0] = a[(h + 5) >> 0]; a[(c + 6) >> 0] = a[(h + 6) >> 0]; a[(c + 7) >> 0] = a[(h + 7) >> 0]; return; } function db() { var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; g = V; V = (V + 48) | 0; e = (g + 24) | 0; f = g; b = (g + 44) | 0; if ((a[21440] | 0) == 0 ? Tp(21440) | 0 : 0) { c[5374] = 0; c[5375] = 0; c[5376] = 0; $p(21440); } if ((a[21448] | 0) == 0 ? Tp(21448) | 0 : 0) $p(21448); if ((c[5374] | 0) == (c[5375] | 0)) { rq(21508); if ((c[5374] | 0) == (c[5375] | 0)) { a[e >> 0] = a[b >> 0] | 0; pb(f, e); b = c[5375] | 0; do if (b >>> 0 >= (c[5376] | 0) >>> 0) { b = (((((b - (c[5374] | 0)) | 0) / 24) | 0) + 1) | 0; d = xb(21496) | 0; if (d >>> 0 < b >>> 0) cr(21496); else { h = c[5374] | 0; j = ((((c[5376] | 0) - h) | 0) / 24) | 0; i = j << 1; ub( e, j >>> 0 < (d >>> 1) >>> 0 ? (i >>> 0 < b >>> 0 ? b : i) : d, ((((c[5375] | 0) - h) | 0) / 24) | 0, 21504 ); d = (e + 8) | 0; sb(c[d >> 2] | 0, f); c[d >> 2] = (c[d >> 2] | 0) + 24; vb(21496, e); wb(e); break; } } else { qb(e, 21496, 1); j = (e + 4) | 0; sb(c[j >> 2] | 0, f); c[j >> 2] = (c[j >> 2] | 0) + 24; rb(e); } while (0); gb(f); } sq(21508); } V = g; return 21496; } function eb(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0; d = (b + 16) | 0; e = c[d >> 2] | 0; do if (e) if ((b | 0) == (e | 0)) { e = tb(a) | 0; c[(a + 16) >> 2] = e; d = c[d >> 2] | 0; da[c[((c[d >> 2] | 0) + 12) >> 2] & 15](d, e); break; } else { c[(a + 16) >> 2] = Z[c[((c[e >> 2] | 0) + 8) >> 2] & 15](e) | 0; break; } else c[(a + 16) >> 2] = 0; while (0); return; } function fb(a, b) { a = a | 0; b = b | 0; a = c[(a + 16) >> 2] | 0; if (!a) { b = v(4) | 0; c[b >> 2] = 0; Nb(b); x(b | 0, 4168, 131); } else { da[c[((c[a >> 2] | 0) + 24) >> 2] & 15](a, b); return; } } function gb(a) { a = a | 0; var b = 0; b = c[(a + 16) >> 2] | 0; if ((a | 0) != (b | 0)) { if (b | 0) ca[c[((c[b >> 2] | 0) + 20) >> 2] & 255](b); } else ca[c[((c[b >> 2] | 0) + 16) >> 2] & 255](b); return; } function hb(b) { b = b | 0; var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; q = V; V = (V + 96) | 0; i = (q + 16) | 0; o = q; l = (q + 72) | 0; j = c[b >> 2] | 0; m = e[(b + 114) >> 1] | 0; n = o; c[n >> 2] = 0; c[(n + 4) >> 2] = 0; n = (o + 8) | 0; c[n >> 2] = m; c[(n + 4) >> 2] = 0; c[i >> 2] = c[o >> 2]; c[(i + 4) >> 2] = c[(o + 4) >> 2]; c[(i + 8) >> 2] = c[(o + 8) >> 2]; c[(i + 12) >> 2] = c[(o + 12) >> 2]; bb(j, i); j = (b + 120) | 0; a: do if (c[j >> 2] | 0) { k = (i + 2) | 0; m = (i + 16) | 0; n = (i + 20) | 0; o = (i + 18) | 0; g = 0; while (1) { if (!(Ob(c[b >> 2] | 0) | 0)) break a; if (Pb(c[b >> 2] | 0) | 0) break a; $a(c[b >> 2] | 0, i, 54); f = 7277; h = k; while (1) { if ((a[h >> 0] | 0) != (a[f >> 0] | 0)) break; h = (h + 1) | 0; if ((h | 0) == (m | 0)) { p = 8; break; } else f = (f + 1) | 0; } if ( (p | 0) == 8 ? ((p = 0), ((d[o >> 0] | (d[(o + 1) >> 0] << 8)) << 16) >> 16 == 22204) : 0 ) break; Rb(c[b >> 2] | 0, (d[n >> 0] | (d[(n + 1) >> 0] << 8)) & 65535, 0, 1); g = (g + 1) | 0; if (g >>> 0 >= (c[j >> 2] | 0) >>> 0) break a; } o = (d[n >> 0] | (d[(n + 1) >> 0] << 8)) & 65535; p = fq(o) | 0; $a(c[b >> 2] | 0, p, o); Qb(b, p); jp(p); p = (b + 125) | 0; Tb(l, (b + 247) | 0, (d[p >> 0] | (d[(p + 1) >> 0] << 8)) & 65535); Ub((b + 300) | 0, l) | 0; Pa(l); V = q; return; } while (0); q = v(8) | 0; Sb(q); x(q | 0, 2672, 8); } function ib(a) { a = a | 0; var b = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; n = V; V = (V + 176) | 0; g = (n + 40) | 0; h = (n + 24) | 0; b = (n + 16) | 0; f = n; k = (n + 152) | 0; l = (n + 136) | 0; m = (n + 56) | 0; j = c[a >> 2] | 0; i = (a + 116) | 0; o = c[i >> 2] | 0; e = h; c[e >> 2] = 0; c[(e + 4) >> 2] = 0; e = (h + 8) | 0; c[e >> 2] = o; c[(e + 4) >> 2] = 0; c[g >> 2] = c[h >> 2]; c[(g + 4) >> 2] = c[(h + 4) >> 2]; c[(g + 8) >> 2] = c[(h + 8) >> 2]; c[(g + 12) >> 2] = c[(h + 12) >> 2]; bb(j, g); j = b; c[j >> 2] = 0; c[(j + 4) >> 2] = 0; $a(c[a >> 2] | 0, b, 8); if (!(Ob(c[a >> 2] | 0) | 0)) { o = v(8) | 0; hc(o); x(o | 0, 2704, 8); } e = b; b = c[e >> 2] | 0; e = c[(e + 4) >> 2] | 0; if (((b | 0) == -1) & ((e | 0) == -1)) { o = v(8) | 0; ic(o, 7488); x(o | 0, 2720, 8); } o = c[a >> 2] | 0; j = f; c[j >> 2] = 0; c[(j + 4) >> 2] = 0; j = (f + 8) | 0; c[j >> 2] = b; c[(j + 4) >> 2] = e; c[g >> 2] = c[f >> 2]; c[(g + 4) >> 2] = c[(f + 4) >> 2]; c[(g + 8) >> 2] = c[(f + 8) >> 2]; c[(g + 12) >> 2] = c[(f + 12) >> 2]; bb(o, g); if (!(Ob(c[a >> 2] | 0) | 0)) { o = v(8) | 0; hc(o); x(o | 0, 2704, 8); } $a(c[a >> 2] | 0, g, 8); if (!(Ob(c[a >> 2] | 0) | 0)) { o = v(8) | 0; hc(o); x(o | 0, 2704, 8); } if (c[g >> 2] | 0) { o = v(8) | 0; jc(o); x(o | 0, 2736, 8); } h = (a + 288) | 0; j = (a + 292) | 0; c[j >> 2] = c[h >> 2]; o = (a + 259) | 0; if ( (d[o >> 0] | (d[(o + 1) >> 0] << 8) | (d[(o + 2) >> 0] << 16) | (d[(o + 3) >> 0] << 24) | 0) == -1 ) { o = v(8) | 0; ic(o, 7606); x(o | 0, 2720, 8); } f = (g + 4) | 0; kc(h, ((c[f >> 2] | 0) + 1) | 0); o = c[h >> 2] | 0; c[o >> 2] = (c[i >> 2] | 0) + 8; c[(o + 4) >> 2] = 0; if ((c[f >> 2] | 0) >>> 0 > 1) { Va(k, c[a >> 2] | 0); lc(l, k); mc(m, 32, 2, 8, 0); nc(l); oc(m); if (!(c[f >> 2] | 0)) { h = c[h >> 2] | 0; e = h; } else { e = 1; do { if (e >>> 0 > 1) b = c[((c[h >> 2] | 0) + ((e + -1) << 3)) >> 2] | 0; else b = 0; i = pc(m, l, b, 1) | 0; b = c[h >> 2] | 0; o = (b + (e << 3)) | 0; c[o >> 2] = i; c[(o + 4) >> 2] = (((i | 0) < 0) << 31) >> 31; e = (e + 1) | 0; } while (e >>> 0 <= (c[f >> 2] | 0) >>> 0); e = b; h = b; } b = c[j >> 2] | 0; if (((b - e) >> 3) >>> 0 > 1) { g = (b - h) >> 3; f = h; b = 1; e = c[f >> 2] | 0; f = c[(f + 4) >> 2] | 0; do { o = (h + (b << 3)) | 0; j = o; e = lr(c[j >> 2] | 0, c[(j + 4) >> 2] | 0, e | 0, f | 0) | 0; f = u() | 0; c[o >> 2] = e; c[(o + 4) >> 2] = f; b = (b + 1) | 0; } while (b >>> 0 < g >>> 0); } qc(m); rc(l); Ra(k); } V = n; return; } function jb(b) { b = b | 0; a[(b + 12) >> 0] = 0; a[(b + 13) >> 0] = 0; return; } function kb(a) { a = a | 0; c[(a + 8) >> 2] = 0; c[(a + 4) >> 2] = 0; return; } function lb(a) { a = a | 0; return fo(a) | 0; } function mb(b, d, e) { b = b | 0; d = d | 0; e = e | 0; var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; i = V; V = (V + 16) | 0; g = d; h = i; f = (e - g) | 0; if (f >>> 0 > 4294967279) yq(b); if (f >>> 0 < 11) a[(b + 11) >> 0] = f; else { k = (f + 16) & -16; j = eq(k) | 0; c[b >> 2] = j; c[(b + 8) >> 2] = k | -2147483648; c[(b + 4) >> 2] = f; b = j; } if ((d | 0) != (e | 0)) { g = (e - g) | 0; f = b; while (1) { nb(f, d); d = (d + 1) | 0; if ((d | 0) == (e | 0)) break; else f = (f + 1) | 0; } b = (b + g) | 0; } a[h >> 0] = 0; nb(b, h); V = i; return; } function nb(b, c) { b = b | 0; c = c | 0; a[b >> 0] = a[c >> 0] | 0; return; } function ob(a) { a = a | 0; yp(a); jp(a); return; } function pb(a, b) { a = a | 0; b = b | 0; c[a >> 2] = 4372; c[(a + 16) >> 2] = a; return; } function qb(a, b, d) { a = a | 0; b = b | 0; d = d | 0; c[a >> 2] = b; b = c[(b + 4) >> 2] | 0; c[(a + 4) >> 2] = b; c[(a + 8) >> 2] = b + ((d * 24) | 0); return; } function rb(a) { a = a | 0; c[((c[a >> 2] | 0) + 4) >> 2] = c[(a + 4) >> 2]; return; } function sb(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0; d = (b + 16) | 0; e = c[d >> 2] | 0; do if (e) if ((b | 0) == (e | 0)) { e = tb(a) | 0; c[(a + 16) >> 2] = e; d = c[d >> 2] | 0; da[c[((c[d >> 2] | 0) + 12) >> 2] & 15](d, e); break; } else { c[(a + 16) >> 2] = e; c[d >> 2] = 0; break; } else c[(a + 16) >> 2] = 0; while (0); return; } function tb(a) { a = a | 0; return a | 0; } function ub(a, b, d, e) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; var f = 0; f = (a + 12) | 0; c[f >> 2] = 0; c[(a + 16) >> 2] = e; do if (b) if (b >>> 0 > 178956970) { f = v(8) | 0; vq(f, 6723); c[f >> 2] = 5956; x(f | 0, 3928, 123); } else { e = eq((b * 24) | 0) | 0; break; } else e = 0; while (0); c[a >> 2] = e; d = (e + ((d * 24) | 0)) | 0; c[(a + 8) >> 2] = d; c[(a + 4) >> 2] = d; c[f >> 2] = e + ((b * 24) | 0); return; } function vb(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; i = c[a >> 2] | 0; j = (a + 4) | 0; d = c[j >> 2] | 0; h = (b + 4) | 0; if ((d | 0) == (i | 0)) { f = h; g = a; e = c[h >> 2] | 0; d = i; } else { e = c[h >> 2] | 0; do { d = (d + -24) | 0; sb((e + -24) | 0, d); e = ((c[h >> 2] | 0) + -24) | 0; c[h >> 2] = e; } while ((d | 0) != (i | 0)); f = h; g = a; d = c[a >> 2] | 0; } c[g >> 2] = e; c[f >> 2] = d; i = (b + 8) | 0; h = c[j >> 2] | 0; c[j >> 2] = c[i >> 2]; c[i >> 2] = h; i = (a + 8) | 0; j = (b + 12) | 0; a = c[i >> 2] | 0; c[i >> 2] = c[j >> 2]; c[j >> 2] = a; c[b >> 2] = c[f >> 2]; return; } function wb(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0; d = c[(a + 4) >> 2] | 0; e = (a + 8) | 0; b = c[e >> 2] | 0; if ((b | 0) != (d | 0)) do { f = (b + -24) | 0; c[e >> 2] = f; gb(f); b = c[e >> 2] | 0; } while ((b | 0) != (d | 0)); b = c[a >> 2] | 0; if (b | 0) Da(b, ((c[(a + 12) >> 2] | 0) - b) | 0); return; } function xb(a) { a = a | 0; return 178956970; } function yb(a) { a = a | 0; jp(a); return; } function zb(a) { a = a | 0; a = eq(8) | 0; c[a >> 2] = 4372; return a | 0; } function Ab(a, b) { a = a | 0; b = b | 0; c[b >> 2] = 4372; return; } function Bb(a) { a = a | 0; return; } function Cb(a) { a = a | 0; Da(a, 8); return; } function Db(a, b) { a = a | 0; b = b | 0; Hb((a + 4) | 0, b); return; } function Eb(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 7183 ? (a + 4) | 0 : 0) | 0; } function Fb(a) { a = a | 0; return 2664; } function Gb(a) { a = a | 0; return; } function Hb(a, b) { a = a | 0; b = b | 0; Ib(a, b); return; } function Ib(b, c) { b = b | 0; c = c | 0; var e = 0, f = 0; b = (c + 104) | 0; c = d[b >> 0] | 0; e = c >>> 7; f = (c >>> 6) & 1; if (((e | 0) == 1) & ((f | 0) != 0)) { f = v(8) | 0; Jb(f); x(f | 0, 2632, 8); } if ((e | 0) == (f | 0)) { f = v(8) | 0; Kb(f); x(f | 0, 2648, 8); } else { a[b >> 0] = c & 63; return; } } function Jb(a) { a = a | 0; xq(a, 7076); c[a >> 2] = 4416; return; } function Kb(a) { a = a | 0; xq(a, 7144); c[a >> 2] = 4436; return; } function Lb(a) { a = a | 0; yp(a); jp(a); return; } function Mb(a) { a = a | 0; yp(a); jp(a); return; } function Nb(a) { a = a | 0; c[a >> 2] = 6092; return; } function Ob(b) { b = b | 0; var c = 0; c = (b + 12) | 0; b = (a[c >> 0] | 0) == 0; a[c >> 0] = 0; return b | 0; } function Pb(b) { b = b | 0; return ((a[(b + 13) >> 0] | 0) != 0) | 0; } function Qb(a, b) { a = a | 0; b = b | 0; a = (a + 247) | 0; Vb(a, b); if (((d[a >> 0] | (d[(a + 1) >> 0] << 8)) << 16) >> 16 == 2) return; else { b = v(8) | 0; Wb(b); x(b | 0, 2688, 8); } } function Rb(b, d, e, f) { b = b | 0; d = d | 0; e = e | 0; f = f | 0; var g = 0, h = 0; switch (f | 0) { case 0: break; case 2: { f = c[(b + 4) >> 2] | 0; d = lr(lr(d | 0, e | 0, -1, -1) | 0, u() | 0, f | 0, ((((f | 0) < 0) << 31) >> 31) | 0) | 0; e = u() | 0; break; } case 1: { f = c[(b + 8) >> 2] | 0; d = lr(f | 0, ((((f | 0) < 0) << 31) >> 31) | 0, d | 0, e | 0) | 0; e = u() | 0; break; } default: { e = 0; d = 0; } } g = c[(b + 4) >> 2] | 0; h = (((g | 0) < 0) << 31) >> 31; f = (b + 12) | 0; if (((e | 0) < 0) | (((e | 0) > (h | 0)) | (((e | 0) == (h | 0)) & (d >>> 0 >= g >>> 0)))) a[f >> 0] = 1; else { a[f >> 0] = 0; c[(b + 8) >> 2] = d; } return; } function Sb(a) { a = a | 0; xq(a, 7410); c[a >> 2] = 4476; return; } function Tb(a, b, c) { a = a | 0; b = b | 0; c = c | 0; var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; h = V; V = (V + 16) | 0; g = h; Xa(a); f = (b + 32) | 0; if (((d[f >> 0] | (d[(f + 1) >> 0] << 8)) << 16) >> 16) { e = (b + 34) | 0; b = 0; do { j = d[e >> 0] | (d[(e + 1) >> 0] << 8) | (d[(e + 2) >> 0] << 16) | (d[(e + 3) >> 0] << 24); k = (j + ((b * 6) | 0)) | 0; i = (j + ((b * 6) | 0) + 2) | 0; j = (j + ((b * 6) | 0) + 4) | 0; _b( g, (d[k >> 0] | (d[(k + 1) >> 0] << 8)) & 65535, (d[i >> 0] | (d[(i + 1) >> 0] << 8)) & 65535, (d[j >> 0] | (d[(j + 1) >> 0] << 8)) & 65535 ); Zb(a, g); c = (c - ((d[i >> 0] | (d[(i + 1) >> 0] << 8)) & 65535)) | 0; b = (b + 1) | 0; } while (b >>> 0 < ((d[f >> 0] | (d[(f + 1) >> 0] << 8)) & 65535) >>> 0); } if ((c | 0) < 0) { k = v(8) | 0; Wb(k); x(k | 0, 2688, 8); } if (c | 0) { _b(g, 0, c, 2); Zb(a, g); } V = h; return; } function Ub(b, c) { b = b | 0; c = c | 0; var d = 0, e = 0; d = V; V = (V + 16) | 0; e = (d + 1) | 0; a[e >> 0] = a[d >> 0] | 0; fc(b, c, e); V = d; return b | 0; } function Vb(b, c) { b = b | 0; c = c | 0; var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; f = (c + 2) | 0; h = d[c >> 0] | (d[(c + 1) >> 0] << 8); a[b >> 0] = h; a[(b + 1) >> 0] = h >> 8; h = (b + 2) | 0; f = d[f >> 0] | (d[(f + 1) >> 0] << 8); a[h >> 0] = f; a[(h + 1) >> 0] = f >> 8; a[(b + 4) >> 0] = a[(c + 4) >> 0] | 0; h = (c + 6) | 0; a[(b + 5) >> 0] = a[(c + 5) >> 0] | 0; f = (c + 8) | 0; e = (b + 6) | 0; h = d[h >> 0] | (d[(h + 1) >> 0] << 8); a[e >> 0] = h; a[(e + 1) >> 0] = h >> 8; e = (c + 12) | 0; h = (b + 8) | 0; f = d[f >> 0] | (d[(f + 1) >> 0] << 8) | (d[(f + 2) >> 0] << 16) | (d[(f + 3) >> 0] << 24); a[h >> 0] = f; a[(h + 1) >> 0] = f >> 8; a[(h + 2) >> 0] = f >> 16; a[(h + 3) >> 0] = f >> 24; h = (b + 12) | 0; e = d[e >> 0] | (d[(e + 1) >> 0] << 8) | (d[(e + 2) >> 0] << 16) | (d[(e + 3) >> 0] << 24); a[h >> 0] = e; a[(h + 1) >> 0] = e >> 8; a[(h + 2) >> 0] = e >> 16; a[(h + 3) >> 0] = e >> 24; h = (c + 16) | 0; e = h; e = d[e >> 0] | (d[(e + 1) >> 0] << 8) | (d[(e + 2) >> 0] << 16) | (d[(e + 3) >> 0] << 24); h = (h + 4) | 0; h = d[h >> 0] | (d[(h + 1) >> 0] << 8) | (d[(h + 2) >> 0] << 16) | (d[(h + 3) >> 0] << 24); f = (b + 16) | 0; i = f; a[i >> 0] = e; a[(i + 1) >> 0] = e >> 8; a[(i + 2) >> 0] = e >> 16; a[(i + 3) >> 0] = e >> 24; f = (f + 4) | 0; a[f >> 0] = h; a[(f + 1) >> 0] = h >> 8; a[(f + 2) >> 0] = h >> 16; a[(f + 3) >> 0] = h >> 24; f = (c + 32) | 0; h = (c + 24) | 0; i = h; i = d[i >> 0] | (d[(i + 1) >> 0] << 8) | (d[(i + 2) >> 0] << 16) | (d[(i + 3) >> 0] << 24); h = (h + 4) | 0; h = d[h >> 0] | (d[(h + 1) >> 0] << 8) | (d[(h + 2) >> 0] << 16) | (d[(h + 3) >> 0] << 24); e = (b + 24) | 0; g = e; a[g >> 0] = i; a[(g + 1) >> 0] = i >> 8; a[(g + 2) >> 0] = i >> 16; a[(g + 3) >> 0] = i >> 24; e = (e + 4) | 0; a[e >> 0] = h; a[(e + 1) >> 0] = h >> 8; a[(e + 2) >> 0] = h >> 16; a[(e + 3) >> 0] = h >> 24; e = (c + 34) | 0; h = (b + 32) | 0; f = d[f >> 0] | (d[(f + 1) >> 0] << 8); a[h >> 0] = f; a[(h + 1) >> 0] = f >> 8; g = (b + 34) | 0; b = d[g >> 0] | (d[(g + 1) >> 0] << 8) | (d[(g + 2) >> 0] << 16) | (d[(g + 3) >> 0] << 24); if (!b) b = f; else { gq(b); b = d[h >> 0] | (d[(h + 1) >> 0] << 8); } f = fq(((b & 65535) * 6) | 0) | 0; a[g >> 0] = f; a[(g + 1) >> 0] = f >> 8; a[(g + 2) >> 0] = f >> 16; a[(g + 3) >> 0] = f >> 24; if ( (b << 16) >> 16 ? ((b = (c + 36) | 0), (i = d[e >> 0] | (d[(e + 1) >> 0] << 8)), (a[f >> 0] = i), (a[(f + 1) >> 0] = i >> 8), (c = (c + 38) | 0), (i = (f + 2) | 0), (b = d[b >> 0] | (d[(b + 1) >> 0] << 8)), (a[i >> 0] = b), (a[(i + 1) >> 0] = b >> 8), (i = (f + 4) | 0), (c = d[c >> 0] | (d[(c + 1) >> 0] << 8)), (a[i >> 0] = c), (a[(i + 1) >> 0] = c >> 8), ((d[h >> 0] | (d[(h + 1) >> 0] << 8)) & 65535) > 1) : 0 ) { b = 1; do { c = e; e = (e + 6) | 0; i = d[g >> 0] | (d[(g + 1) >> 0] << 8) | (d[(g + 2) >> 0] << 16) | (d[(g + 3) >> 0] << 24); j = (c + 8) | 0; f = (i + ((b * 6) | 0)) | 0; k = d[e >> 0] | (d[(e + 1) >> 0] << 8); a[f >> 0] = k; a[(f + 1) >> 0] = k >> 8; c = (c + 10) | 0; f = (i + ((b * 6) | 0) + 2) | 0; j = d[j >> 0] | (d[(j + 1) >> 0] << 8); a[f >> 0] = j; a[(f + 1) >> 0] = j >> 8; i = (i + ((b * 6) | 0) + 4) | 0; c = d[c >> 0] | (d[(c + 1) >> 0] << 8); a[i >> 0] = c; a[(i + 1) >> 0] = c >> 8; b = (b + 1) | 0; } while (b >>> 0 < ((d[h >> 0] | (d[(h + 1) >> 0] << 8)) & 65535) >>> 0); } return; } function Wb(a) { a = a | 0; xq(a, 7354); c[a >> 2] = 4456; return; } function Xb(a) { a = a | 0; yp(a); jp(a); return; } function Yb(a) { a = a | 0; yp(a); jp(a); return; } function Zb(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; i = V; V = (V + 32) | 0; f = i; g = (a + 4) | 0; d = c[g >> 2] | 0; h = (a + 8) | 0; do if ((d | 0) == (c[h >> 2] | 0)) { d = (((((d - (c[a >> 2] | 0)) | 0) / 12) | 0) + 1) | 0; e = ec(a) | 0; if (e >>> 0 < d >>> 0) cr(a); else { j = c[a >> 2] | 0; k = ((((c[h >> 2] | 0) - j) | 0) / 12) | 0; h = k << 1; bc( f, k >>> 0 < (e >>> 1) >>> 0 ? (h >>> 0 < d >>> 0 ? d : h) : e, ((((c[g >> 2] | 0) - j) | 0) / 12) | 0, (a + 8) | 0 ); h = (f + 8) | 0; g = c[h >> 2] | 0; c[g >> 2] = c[b >> 2]; c[(g + 4) >> 2] = c[(b + 4) >> 2]; c[(g + 8) >> 2] = c[(b + 8) >> 2]; c[h >> 2] = (c[h >> 2] | 0) + 12; cc(a, f); dc(f); break; } } else { $b(f, a, 1); k = (f + 4) | 0; j = c[k >> 2] | 0; c[j >> 2] = c[b >> 2]; c[(j + 4) >> 2] = c[(b + 4) >> 2]; c[(j + 8) >> 2] = c[(b + 8) >> 2]; c[k >> 2] = (c[k >> 2] | 0) + 12; ac(f); } while (0); V = i; return; } function _b(a, b, d, e) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; c[a >> 2] = b; c[(a + 4) >> 2] = d; c[(a + 8) >> 2] = e; return; } function $b(a, b, d) { a = a | 0; b = b | 0; d = d | 0; c[a >> 2] = b; b = c[(b + 4) >> 2] | 0; c[(a + 4) >> 2] = b; c[(a + 8) >> 2] = b + ((d * 12) | 0); return; } function ac(a) { a = a | 0; c[((c[a >> 2] | 0) + 4) >> 2] = c[(a + 4) >> 2]; return; } function bc(a, b, d, e) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; var f = 0; f = (a + 12) | 0; c[f >> 2] = 0; c[(a + 16) >> 2] = e; do if (b) if (b >>> 0 > 357913941) { f = v(8) | 0; vq(f, 6723); c[f >> 2] = 5956; x(f | 0, 3928, 123); } else { e = eq((b * 12) | 0) | 0; break; } else e = 0; while (0); c[a >> 2] = e; d = (e + ((d * 12) | 0)) | 0; c[(a + 8) >> 2] = d; c[(a + 4) >> 2] = d; c[f >> 2] = e + ((b * 12) | 0); return; } function cc(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0; e = c[a >> 2] | 0; h = (a + 4) | 0; g = (b + 4) | 0; f = ((c[h >> 2] | 0) - e) | 0; d = ((c[g >> 2] | 0) + (((((f | 0) / -12) | 0) * 12) | 0)) | 0; c[g >> 2] = d; if ((f | 0) > 0) { ur(d | 0, e | 0, f | 0) | 0; e = g; d = c[g >> 2] | 0; } else e = g; g = c[a >> 2] | 0; c[a >> 2] = d; c[e >> 2] = g; g = (b + 8) | 0; f = c[h >> 2] | 0; c[h >> 2] = c[g >> 2]; c[g >> 2] = f; g = (a + 8) | 0; h = (b + 12) | 0; a = c[g >> 2] | 0; c[g >> 2] = c[h >> 2]; c[h >> 2] = a; c[b >> 2] = c[e >> 2]; return; } function dc(a) { a = a | 0; var b = 0, d = 0, e = 0; b = c[(a + 4) >> 2] | 0; d = (a + 8) | 0; e = c[d >> 2] | 0; if ((e | 0) != (b | 0)) c[d >> 2] = e + ((~(((((e + -12 - b) | 0) >>> 0) / 12) | 0) * 12) | 0); b = c[a >> 2] | 0; if (b | 0) Da(b, ((c[(a + 12) >> 2] | 0) - b) | 0); return; } function ec(a) { a = a | 0; return 357913941; } function fc(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0; gc(a); c[a >> 2] = c[b >> 2]; d = (b + 4) | 0; c[(a + 4) >> 2] = c[d >> 2]; e = (b + 8) | 0; c[(a + 8) >> 2] = c[e >> 2]; c[e >> 2] = 0; c[d >> 2] = 0; c[b >> 2] = 0; return; } function gc(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0; b = c[a >> 2] | 0; d = b; if (b | 0) { e = (a + 4) | 0; c[e >> 2] = d; f = (a + 8) | 0; Da(b, ((c[f >> 2] | 0) - d) | 0); c[f >> 2] = 0; c[e >> 2] = 0; c[a >> 2] = 0; } return; } function hc(a) { a = a | 0; xq(a, 7660); c[a >> 2] = 4496; return; } function ic(a, b) { a = a | 0; b = b | 0; xq(a, b); c[a >> 2] = 4516; return; } function jc(a) { a = a | 0; xq(a, 7704); c[a >> 2] = 4536; return; } function kc(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0; d = (a + 4) | 0; f = c[a >> 2] | 0; e = ((c[d >> 2] | 0) - f) >> 3; if (e >>> 0 >= b >>> 0) { if (e >>> 0 > b >>> 0) c[d >> 2] = f + (b << 3); } else vc(a, (b - e) | 0); return; } function lc(a, b) { a = a | 0; b = b | 0; c[a >> 2] = b; c[(a + 4) >> 2] = 0; c[(a + 8) >> 2] = -1; return; } function mc(a, b, d, e, f) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; f = f | 0; var g = 0; c[(a + 4) >> 2] = b; c[(a + 8) >> 2] = d; c[(a + 12) >> 2] = e; c[(a + 16) >> 2] = f; c[(a + 36) >> 2] = 0; c[(a + 40) >> 2] = 0; c[(a + 44) >> 2] = 0; Gc((a + 48) | 0); c[(a + 68) >> 2] = 0; c[(a + 72) >> 2] = 0; c[(a + 76) >> 2] = 0; do if (!f) { d = (a + 20) | 0; if (((b + -1) | 0) >>> 0 < 31) { c[d >> 2] = b; f = 1 << b; c[(a + 24) >> 2] = f; d = f >>> 1; c[(a + 28) >> 2] = 0 - d; d = (f + -1 - d) | 0; break; } else { c[d >> 2] = 32; c[(a + 24) >> 2] = 0; c[(a + 28) >> 2] = -2147483648; d = 2147483647; break; } } else { e = (a + 20) | 0; c[e >> 2] = 0; c[(a + 24) >> 2] = f; d = f; g = 0; while (1) { d = d >>> 1; b = (g + 1) | 0; if (!d) break; else g = b; } c[e >> 2] = ((1 << g) | 0) == (f | 0) ? g : b; d = f >>> 1; c[(a + 28) >> 2] = 0 - d; d = (f + -1 - d) | 0; } while (0); c[(a + 32) >> 2] = d; c[a >> 2] = 0; return; } function nc(a) { a = a | 0; var b = 0; b = ((Jc(c[a >> 2] | 0) | 0) & 255) << 24; b = (((Jc(c[a >> 2] | 0) | 0) & 255) << 16) | b; b = b | (((Jc(c[a >> 2] | 0) | 0) & 255) << 8); c[(a + 4) >> 2] = b | ((Jc(c[a >> 2] | 0) | 0) & 255); return; } function oc(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0; q = V; V = (V + 64) | 0; o = (q + 44) | 0; p = q; k = (a + 36) | 0; l = (a + 40) | 0; a: do if ((c[k >> 2] | 0) == (c[l >> 2] | 0)) { m = (a + 8) | 0; b: do if (!(c[m >> 2] | 0)) n = (a + 20) | 0; else { f = (a + 20) | 0; g = (a + 44) | 0; h = (o + 4) | 0; i = (a + 44) | 0; j = (o + 8) | 0; e = 0; while (1) { Oc(p, ((c[f >> 2] | 0) + 1) | 0, 0, 0); b = c[l >> 2] | 0; if (b >>> 0 < (c[g >> 2] | 0) >>> 0) { Pc(o, k, 1); Rc(c[h >> 2] | 0, p); c[h >> 2] = (c[h >> 2] | 0) + 44; Qc(o); } else { b = (((((b - (c[k >> 2] | 0)) | 0) / 44) | 0) + 1) | 0; d = Vc(k) | 0; if (d >>> 0 < b >>> 0) break; r = c[k >> 2] | 0; t = ((((c[g >> 2] | 0) - r) | 0) / 44) | 0; s = t << 1; Sc( o, t >>> 0 < (d >>> 1) >>> 0 ? (s >>> 0 < b >>> 0 ? b : s) : d, ((((c[l >> 2] | 0) - r) | 0) / 44) | 0, i ); Rc(c[j >> 2] | 0, p); c[j >> 2] = (c[j >> 2] | 0) + 44; Tc(k, o); Uc(o); } Ic(p); e = (e + 1) | 0; if (e >>> 0 >= (c[m >> 2] | 0) >>> 0) { n = f; break b; } } cr(k); } while (0); if (c[n >> 2] | 0) { h = (a + 12) | 0; i = (a + 68) | 0; j = (a + 72) | 0; k = (a + 76) | 0; l = (o + 4) | 0; f = (a + 76) | 0; g = (o + 8) | 0; e = 1; while (1) { b = c[h >> 2] | 0; Oc(p, 1 << (e >>> 0 > b >>> 0 ? b : e), 0, 0); b = c[j >> 2] | 0; if (b >>> 0 < (c[k >> 2] | 0) >>> 0) { Pc(o, i, 1); Rc(c[l >> 2] | 0, p); c[l >> 2] = (c[l >> 2] | 0) + 44; Qc(o); } else { b = (((((b - (c[i >> 2] | 0)) | 0) / 44) | 0) + 1) | 0; d = Vc(i) | 0; if (d >>> 0 < b >>> 0) break; t = c[i >> 2] | 0; r = ((((c[k >> 2] | 0) - t) | 0) / 44) | 0; s = r << 1; Sc( o, r >>> 0 < (d >>> 1) >>> 0 ? (s >>> 0 < b >>> 0 ? b : s) : d, ((((c[j >> 2] | 0) - t) | 0) / 44) | 0, f ); Rc(c[g >> 2] | 0, p); c[g >> 2] = (c[g >> 2] | 0) + 44; Tc(i, o); Uc(o); } Ic(p); e = (e + 1) | 0; if (e >>> 0 > (c[n >> 2] | 0) >>> 0) break a; } cr(i); } } while (0); V = q; return; } function pc(a, b, d, e) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; d = ((Yc(a, b, ((c[(a + 36) >> 2] | 0) + ((e * 44) | 0)) | 0) | 0) + d) | 0; b = c[(a + 24) >> 2] | 0; if ((d | 0) < 0) return (d + b) | 0; else return (d - (d >>> 0 < b >>> 0 ? 0 : b)) | 0; return 0; } function qc(a) { a = a | 0; Hc((a + 68) | 0); Hc((a + 36) | 0); return; } function rc(a) { a = a | 0; return; } function sc(a) { a = a | 0; yp(a); jp(a); return; } function tc(a) { a = a | 0; yp(a); jp(a); return; } function uc(a) { a = a | 0; yp(a); jp(a); return; } function vc(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; i = V; V = (V + 32) | 0; f = i; g = (a + 8) | 0; h = (a + 4) | 0; d = c[h >> 2] | 0; do if ((((c[g >> 2] | 0) - d) >> 3) >>> 0 < b >>> 0) { d = (((d - (c[a >> 2] | 0)) >> 3) + b) | 0; e = Dc(a) | 0; if (e >>> 0 < d >>> 0) cr(a); else { j = c[a >> 2] | 0; k = ((c[g >> 2] | 0) - j) | 0; g = k >> 2; xc( f, (k >> 3) >>> 0 < (e >>> 1) >>> 0 ? (g >>> 0 < d >>> 0 ? d : g) : e, ((c[h >> 2] | 0) - j) >> 3, (a + 8) | 0 ); yc(f, b); zc(a, f); Ac(f); break; } } else wc(a, b); while (0); V = i; return; } function wc(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0; f = V; V = (V + 16) | 0; e = f; Bc(e, a, b); a = (e + 4) | 0; b = c[a >> 2] | 0; d = c[(e + 8) >> 2] | 0; if ((b | 0) != (d | 0)) { d = (d + -8 - b) | 0; wr(b | 0, 0, ((d + 8) & -8) | 0) | 0; c[a >> 2] = b + (((d >>> 3) + 1) << 3); } Cc(e); V = f; return; } function xc(a, b, d, e) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; var f = 0; f = (a + 12) | 0; c[f >> 2] = 0; c[(a + 16) >> 2] = e; do if (b) if (b >>> 0 > 536870911) { f = v(8) | 0; vq(f, 6723); c[f >> 2] = 5956; x(f | 0, 3928, 123); } else { e = eq(b << 3) | 0; break; } else e = 0; while (0); c[a >> 2] = e; d = (e + (d << 3)) | 0; c[(a + 8) >> 2] = d; c[(a + 4) >> 2] = d; c[f >> 2] = e + (b << 3); return; } function yc(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0; e = V; V = (V + 16) | 0; d = e; Ec(d, (a + 8) | 0, b); a = c[d >> 2] | 0; b = c[(d + 4) >> 2] | 0; if ((a | 0) != (b | 0)) { b = (b + -8 - a) | 0; wr(a | 0, 0, ((b + 8) & -8) | 0) | 0; c[d >> 2] = a + (((b >>> 3) + 1) << 3); } Fc(d); V = e; return; } function zc(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0; e = c[a >> 2] | 0; h = (a + 4) | 0; g = (b + 4) | 0; f = ((c[h >> 2] | 0) - e) | 0; d = ((c[g >> 2] | 0) + ((0 - (f >> 3)) << 3)) | 0; c[g >> 2] = d; if ((f | 0) > 0) { ur(d | 0, e | 0, f | 0) | 0; e = g; d = c[g >> 2] | 0; } else e = g; g = c[a >> 2] | 0; c[a >> 2] = d; c[e >> 2] = g; g = (b + 8) | 0; f = c[h >> 2] | 0; c[h >> 2] = c[g >> 2]; c[g >> 2] = f; g = (a + 8) | 0; h = (b + 12) | 0; a = c[g >> 2] | 0; c[g >> 2] = c[h >> 2]; c[h >> 2] = a; c[b >> 2] = c[e >> 2]; return; } function Ac(a) { a = a | 0; var b = 0, d = 0, e = 0; b = c[(a + 4) >> 2] | 0; d = (a + 8) | 0; e = c[d >> 2] | 0; if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -8 - b) | 0) >>> 3) << 3); b = c[a >> 2] | 0; if (b | 0) Da(b, ((c[(a + 12) >> 2] | 0) - b) | 0); return; } function Bc(a, b, d) { a = a | 0; b = b | 0; d = d | 0; c[a >> 2] = b; b = c[(b + 4) >> 2] | 0; c[(a + 4) >> 2] = b; c[(a + 8) >> 2] = b + (d << 3); return; } function Cc(a) { a = a | 0; c[((c[a >> 2] | 0) + 4) >> 2] = c[(a + 4) >> 2]; return; } function Dc(a) { a = a | 0; return 536870911; } function Ec(a, b, d) { a = a | 0; b = b | 0; d = d | 0; c[a >> 2] = c[b >> 2]; c[(a + 4) >> 2] = (c[b >> 2] | 0) + (d << 3); c[(a + 8) >> 2] = b; return; } function Fc(a) { a = a | 0; c[c[(a + 8) >> 2] >> 2] = c[a >> 2]; return; } function Gc(a) { a = a | 0; c[(a + 12) >> 2] = 1; c[(a + 16) >> 2] = 2; c[(a + 8) >> 2] = 4096; c[(a + 4) >> 2] = 4; c[a >> 2] = 4; return; } function Hc(a) { a = a | 0; var b = 0, d = 0, e = 0; d = c[a >> 2] | 0; if (d | 0) { e = (a + 4) | 0; b = c[e >> 2] | 0; if ((b | 0) == (d | 0)) b = d; else { do { b = (b + -44) | 0; Ic(b); } while ((b | 0) != (d | 0)); b = c[a >> 2] | 0; } c[e >> 2] = d; Da(b, ((c[(a + 8) >> 2] | 0) - b) | 0); } return; } function Ic(a) { a = a | 0; var b = 0; b = c[(a + 8) >> 2] | 0; if (b | 0) Ua(b); b = c[(a + 12) >> 2] | 0; if (b | 0) Ua(b); b = c[(a + 16) >> 2] | 0; if (b | 0) Ua(b); return; } function Jc(b) { b = b | 0; var d = 0, e = 0; e = (b + 4) | 0; d = c[e >> 2] | 0; if ((d | 0) >= (c[(b + 8) >> 2] | 0)) { Kc(b); d = c[e >> 2] | 0; } b = c[(b + 12) >> 2] | 0; c[e >> 2] = d + 1; return a[(b + d) >> 0] | 0; } function Kc(a) { a = a | 0; var b = 0; c[(a + 4) >> 2] = 0; $a(c[a >> 2] | 0, c[(a + 12) >> 2] | 0, 1048576); b = Lc(c[a >> 2] | 0) | 0; c[(a + 8) >> 2] = b; if (!b) { b = v(8) | 0; Mc(b); x(b | 0, 2752, 8); } else return; } function Lc(a) { a = a | 0; return c[(a + 16) >> 2] | 0; } function Mc(a) { a = a | 0; xq(a, 7769); c[a >> 2] = 4556; return; } function Nc(a) { a = a | 0; yp(a); jp(a); return; } function Oc(b, d, e, f) { b = b | 0; d = d | 0; e = e | 0; f = f | 0; var g = 0, h = 0, i = 0; c[b >> 2] = d; a[(b + 4) >> 0] = e & 1; h = (b + 8) | 0; c[h >> 2] = 0; i = (b + 12) | 0; c[i >> 2] = 0; g = (b + 16) | 0; c[g >> 2] = 0; if (((d + -2) | 0) >>> 0 > 2046) { b = v(8) | 0; xq(b, 7789); x(b | 0, 3912, 8); } c[(b + 32) >> 2] = d + -1; if ((d >>> 0 > 16) & (e ^ 1)) { e = 3; while (1) if ((1 << (e + 2)) >>> 0 < d >>> 0) e = (e + 1) | 0; else break; d = 1 << e; c[(b + 36) >> 2] = d; c[(b + 40) >> 2] = 15 - e; c[g >> 2] = _a(((d << 2) + 8) | 0) | 0; d = c[b >> 2] | 0; } else { c[g >> 2] = 0; c[(b + 40) >> 2] = 0; c[(b + 36) >> 2] = 0; } c[h >> 2] = _a(d << 2) | 0; g = _a(c[b >> 2] << 2) | 0; c[i >> 2] = g; c[(b + 20) >> 2] = 0; d = c[b >> 2] | 0; e = (b + 24) | 0; c[e >> 2] = d; d = (d | 0) != 0; if (!f) { if (d) { d = 0; do { c[(g + (d << 2)) >> 2] = 1; d = (d + 1) | 0; } while (d >>> 0 < (c[b >> 2] | 0) >>> 0); } } else if (d) { d = 0; do { c[(g + (d << 2)) >> 2] = c[(f + (d << 2)) >> 2]; d = (d + 1) | 0; } while (d >>> 0 < (c[b >> 2] | 0) >>> 0); } Xc(b); f = (((c[b >> 2] | 0) + 6) | 0) >>> 1; c[e >> 2] = f; c[(b + 28) >> 2] = f; return; } function Pc(a, b, d) { a = a | 0; b = b | 0; d = d | 0; c[a >> 2] = b; b = c[(b + 4) >> 2] | 0; c[(a + 4) >> 2] = b; c[(a + 8) >> 2] = b + ((d * 44) | 0); return; } function Qc(a) { a = a | 0; c[((c[a >> 2] | 0) + 4) >> 2] = c[(a + 4) >> 2]; return; } function Rc(b, d) { b = b | 0; d = d | 0; var e = 0; c[b >> 2] = c[d >> 2]; a[(b + 4) >> 0] = a[(d + 4) >> 0] | 0; e = (d + 8) | 0; c[(b + 8) >> 2] = c[e >> 2]; c[(b + 12) >> 2] = c[(d + 12) >> 2]; c[(b + 16) >> 2] = c[(d + 16) >> 2]; c[(b + 20) >> 2] = c[(d + 20) >> 2]; c[(b + 24) >> 2] = c[(d + 24) >> 2]; c[(b + 28) >> 2] = c[(d + 28) >> 2]; c[(b + 32) >> 2] = c[(d + 32) >> 2]; c[(b + 36) >> 2] = c[(d + 36) >> 2]; c[(b + 40) >> 2] = c[(d + 40) >> 2]; c[e >> 2] = 0; c[(e + 4) >> 2] = 0; c[(e + 8) >> 2] = 0; return; } function Sc(a, b, d, e) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; var f = 0; f = (a + 12) | 0; c[f >> 2] = 0; c[(a + 16) >> 2] = e; do if (b) if (b >>> 0 > 97612893) { f = v(8) | 0; vq(f, 6723); c[f >> 2] = 5956; x(f | 0, 3928, 123); } else { e = eq((b * 44) | 0) | 0; break; } else e = 0; while (0); c[a >> 2] = e; d = (e + ((d * 44) | 0)) | 0; c[(a + 8) >> 2] = d; c[(a + 4) >> 2] = d; c[f >> 2] = e + ((b * 44) | 0); return; } function Tc(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; i = c[a >> 2] | 0; j = (a + 4) | 0; d = c[j >> 2] | 0; h = (b + 4) | 0; if ((d | 0) == (i | 0)) { f = h; g = a; e = c[h >> 2] | 0; d = i; } else { e = c[h >> 2] | 0; do { d = (d + -44) | 0; Wc((e + -44) | 0, d); e = ((c[h >> 2] | 0) + -44) | 0; c[h >> 2] = e; } while ((d | 0) != (i | 0)); f = h; g = a; d = c[a >> 2] | 0; } c[g >> 2] = e; c[f >> 2] = d; i = (b + 8) | 0; h = c[j >> 2] | 0; c[j >> 2] = c[i >> 2]; c[i >> 2] = h; i = (a + 8) | 0; j = (b + 12) | 0; a = c[i >> 2] | 0; c[i >> 2] = c[j >> 2]; c[j >> 2] = a; c[b >> 2] = c[f >> 2]; return; } function Uc(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0; d = c[(a + 4) >> 2] | 0; e = (a + 8) | 0; b = c[e >> 2] | 0; if ((b | 0) != (d | 0)) do { f = (b + -44) | 0; c[e >> 2] = f; Ic(f); b = c[e >> 2] | 0; } while ((b | 0) != (d | 0)); b = c[a >> 2] | 0; if (b | 0) Da(b, ((c[(a + 12) >> 2] | 0) - b) | 0); return; } function Vc(a) { a = a | 0; return 97612893; } function Wc(b, d) { b = b | 0; d = d | 0; var e = 0, f = 0, g = 0, h = 0; e = c[d >> 2] | 0; c[b >> 2] = e; a[(b + 4) >> 0] = a[(d + 4) >> 0] | 0; c[(b + 20) >> 2] = c[(d + 20) >> 2]; c[(b + 24) >> 2] = c[(d + 24) >> 2]; c[(b + 28) >> 2] = c[(d + 28) >> 2]; c[(b + 32) >> 2] = c[(d + 32) >> 2]; h = (b + 36) | 0; c[h >> 2] = c[(d + 36) >> 2]; c[(b + 40) >> 2] = c[(d + 40) >> 2]; e = e << 2; f = _a(e) | 0; c[(b + 8) >> 2] = f; g = c[b >> 2] | 0; if (g | 0) vr(f | 0, c[(d + 8) >> 2] | 0, (g << 2) | 0) | 0; e = _a(e) | 0; c[(b + 12) >> 2] = e; f = c[b >> 2] | 0; if (f | 0) vr(e | 0, c[(d + 12) >> 2] | 0, (f << 2) | 0) | 0; e = c[h >> 2] | 0; if (e) { f = _a(((e << 2) + 8) | 0) | 0; c[(b + 16) >> 2] = f; e = ((c[h >> 2] << 2) + 8) | 0; if (e | 0) vr(f | 0, c[(d + 16) >> 2] | 0, e | 0) | 0; } else c[(b + 16) >> 2] = 0; return; } function Xc(b) { b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0; r = (b + 24) | 0; g = (b + 20) | 0; d = ((c[g >> 2] | 0) + (c[r >> 2] | 0)) | 0; c[g >> 2] = d; if (d >>> 0 > 32768) { c[g >> 2] = 0; if (!(c[b >> 2] | 0)) d = 0; else { f = c[(b + 12) >> 2] | 0; e = 0; do { n = (f + (e << 2)) | 0; d = (((c[n >> 2] | 0) + 1) | 0) >>> 1; c[n >> 2] = d; d = ((c[g >> 2] | 0) + d) | 0; c[g >> 2] = d; e = (e + 1) | 0; } while (e >>> 0 < (c[b >> 2] | 0) >>> 0); } } n = (2147483648 / (d >>> 0)) | 0; do if ((a[(b + 4) >> 0] | 0) == 0 ? ((o = (b + 36) | 0), (c[o >> 2] | 0) != 0) : 0) { if (c[b >> 2] | 0) { j = c[(b + 8) >> 2] | 0; k = c[(b + 12) >> 2] | 0; l = (b + 40) | 0; m = (b + 16) | 0; d = 0; h = 0; i = 0; do { e = (q(h, n) | 0) >>> 16; c[(j + (i << 2)) >> 2] = e; h = ((c[(k + (i << 2)) >> 2] | 0) + h) | 0; e = e >>> (c[l >> 2] | 0); if (d >>> 0 < e >>> 0) { f = (i + -1) | 0; g = c[m >> 2] | 0; do { d = (d + 1) | 0; c[(g + (d << 2)) >> 2] = f; } while ((d | 0) != (e | 0)); d = e; } i = (i + 1) | 0; } while (i >>> 0 < (c[b >> 2] | 0) >>> 0); e = c[m >> 2] | 0; c[e >> 2] = 0; if (d >>> 0 > (c[o >> 2] | 0) >>> 0) { d = b; break; } } else { e = c[(b + 16) >> 2] | 0; c[e >> 2] = 0; d = 0; } do { d = (d + 1) | 0; c[(e + (d << 2)) >> 2] = (c[b >> 2] | 0) + -1; } while (d >>> 0 <= (c[o >> 2] | 0) >>> 0); d = b; } else p = 7; while (0); if ((p | 0) == 7) if (!(c[b >> 2] | 0)) d = b; else { f = c[(b + 8) >> 2] | 0; g = c[(b + 12) >> 2] | 0; d = 0; e = 0; do { c[(f + (d << 2)) >> 2] = (q(e, n) | 0) >>> 16; e = ((c[(g + (d << 2)) >> 2] | 0) + e) | 0; d = (d + 1) | 0; } while (d >>> 0 < (c[b >> 2] | 0) >>> 0); d = b; } p = (((c[r >> 2] | 0) * 5) | 0) >>> 2; o = ((c[d >> 2] << 3) + 48) | 0; p = p >>> 0 > o >>> 0 ? o : p; c[r >> 2] = p; c[(b + 28) >> 2] = p; return; } function Yc(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0; d = Zc(b, d) | 0; c[a >> 2] = d; do if (d) { if (d >>> 0 >= 32) { d = c[(a + 28) >> 2] | 0; break; } e = c[(a + 12) >> 2] | 0; if (d >>> 0 > e >>> 0) { e = (d - e) | 0; d = Zc(b, ((c[(a + 68) >> 2] | 0) + ((((d + -1) | 0) * 44) | 0)) | 0) | 0; e = (d << e) | (_c(b, e) | 0); } else e = Zc(b, ((c[(a + 68) >> 2] | 0) + ((((d + -1) | 0) * 44) | 0)) | 0) | 0; d = c[a >> 2] | 0; if ((e | 0) < ((1 << (d + -1)) | 0)) { d = (e + 1 + (-1 << d)) | 0; break; } else { d = (e + 1) | 0; break; } } else d = $c(b, (a + 48) | 0) | 0; while (0); return d | 0; } function Zc(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; n = (a + 8) | 0; m = c[n >> 2] | 0; f = c[(b + 16) >> 2] | 0; if (f) { e = (a + 4) | 0; d = c[e >> 2] | 0; l = m >>> 15; c[n >> 2] = l; j = ((d >>> 0) / (l >>> 0)) | 0; i = j >>> (c[(b + 40) >> 2] | 0); g = c[(f + (i << 2)) >> 2] | 0; i = ((c[(f + ((i + 1) << 2)) >> 2] | 0) + 1) | 0; h = (g + 1) | 0; k = c[(b + 8) >> 2] | 0; if (i >>> 0 > h >>> 0) { f = g; g = i; do { h = ((g + f) | 0) >>> 1; i = (c[(k + (h << 2)) >> 2] | 0) >>> 0 > j >>> 0; f = i ? f : h; g = i ? h : g; h = (f + 1) | 0; } while (g >>> 0 > h >>> 0); g = f; } f = q(c[(k + (g << 2)) >> 2] | 0, l) | 0; if ((g | 0) == (c[(b + 32) >> 2] | 0)) h = m; else h = q(c[(k + (h << 2)) >> 2] | 0, l) | 0; } else { k = m >>> 15; c[n >> 2] = k; i = c[b >> 2] | 0; l = c[(b + 8) >> 2] | 0; e = (a + 4) | 0; d = c[e >> 2] | 0; j = i >>> 1; f = 0; h = m; g = 0; do { o = q(c[(l + (j << 2)) >> 2] | 0, k) | 0; m = o >>> 0 > d >>> 0; h = m ? o : h; f = m ? f : o; g = m ? g : j; i = m ? j : i; j = ((g + i) | 0) >>> 1; } while ((j | 0) != (g | 0)); } c[e >> 2] = d - f; o = (h - f) | 0; c[n >> 2] = o; if (o >>> 0 < 16777216) ad(a); n = ((c[(b + 12) >> 2] | 0) + (g << 2)) | 0; c[n >> 2] = (c[n >> 2] | 0) + 1; n = (b + 28) | 0; o = ((c[n >> 2] | 0) + -1) | 0; c[n >> 2] = o; if (!o) Xc(b); return g | 0; } function _c(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0; if (b >>> 0 > 19) { d = (bd(a) | 0) & 65535; return ((_c(a, (b + -16) | 0) | 0) << 16) | d | 0; } e = (a + 4) | 0; f = c[e >> 2] | 0; g = (a + 8) | 0; d = (c[g >> 2] | 0) >>> b; c[g >> 2] = d; b = ((f >>> 0) / (d >>> 0)) | 0; c[e >> 2] = f - (q(b, d) | 0); if (d >>> 0 < 16777216) ad(a); return b | 0; } function $c(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; e = (a + 8) | 0; f = c[e >> 2] | 0; d = q(f >>> 13, c[(b + 8) >> 2] | 0) | 0; g = (a + 4) | 0; h = c[g >> 2] | 0; i = h >>> 0 >= d >>> 0; if (i) { c[g >> 2] = h - d; d = (f - d) | 0; c[e >> 2] = d; } else { c[e >> 2] = d; h = (b + 12) | 0; c[h >> 2] = (c[h >> 2] | 0) + 1; } if (d >>> 0 < 16777216) ad(a); h = (b + 4) | 0; a = ((c[h >> 2] | 0) + -1) | 0; c[h >> 2] = a; if (!a) cd(b); return (i & 1) | 0; } function ad(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0; b = (a + 4) | 0; d = (a + 8) | 0; e = c[b >> 2] | 0; do { e = (e << 8) | ((Jc(c[a >> 2] | 0) | 0) & 255); c[b >> 2] = e; f = c[d >> 2] << 8; c[d >> 2] = f; } while (f >>> 0 < 16777216); return; } function bd(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0; d = (a + 4) | 0; f = c[d >> 2] | 0; b = (a + 8) | 0; e = (c[b >> 2] | 0) >>> 16; c[b >> 2] = e; b = ((f >>> 0) / (e >>> 0)) | 0; c[d >> 2] = f - (q(b, e) | 0); ad(a); return (b & 65535) | 0; } function cd(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0, g = 0; f = c[a >> 2] | 0; d = (a + 16) | 0; b = ((c[d >> 2] | 0) + f) | 0; c[d >> 2] = b; if (b >>> 0 > 8192) { e = ((b + 1) | 0) >>> 1; c[d >> 2] = e; g = (a + 12) | 0; b = (((c[g >> 2] | 0) + 1) | 0) >>> 1; c[g >> 2] = b; if ((b | 0) == (e | 0)) { b = (e + 1) | 0; c[d >> 2] = b; d = b; b = e; } else d = e; } else { d = b; b = c[(a + 12) >> 2] | 0; } c[(a + 8) >> 2] = (q(b, (2147483648 / (d >>> 0)) | 0) | 0) >>> 18; g = (f * 5) | 0; g = g >>> 0 > 259 ? 64 : g >>> 2; c[a >> 2] = g; c[(a + 4) >> 2] = g; return; } function dd(a, b) { a = a | 0; b = b | 0; var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; m = V; V = (V + 32) | 0; h = (m + 16) | 0; i = (m + 8) | 0; j = m; k = (a + 336) | 0; f = k; g = (a + 259) | 0; if ( !((c[(f + 4) >> 2] | 0) == 0 ? (c[f >> 2] | 0) == (d[g >> 0] | (d[(g + 1) >> 0] << 8) | (d[(g + 2) >> 0] << 16) | (d[(g + 3) >> 0] << 24) | 0) : 0) ) { f = (a + 320) | 0; e = c[f >> 2] | 0; g = e; if (!((e | 0) != 0 ? (c[(a + 312) >> 2] | 0) != 0 : 0)) { e = g; l = 5; } } else { f = (a + 320) | 0; e = c[(a + 320) >> 2] | 0; l = 5; } if ((l | 0) == 5) { l = (a + 320) | 0; c[h >> 2] = e; c[l >> 2] = 0; e = (a + 324) | 0; c[(h + 4) >> 2] = c[e >> 2]; c[e >> 2] = 0; Na(h); g = (a + 312) | 0; c[h >> 2] = c[g >> 2]; c[g >> 2] = 0; n = (a + 316) | 0; c[(h + 4) >> 2] = c[n >> 2]; c[n >> 2] = 0; Oa(h); o = eq(12) | 0; lc(o, (a + 4) | 0); c[j >> 2] = 0; c[h >> 2] = c[j >> 2]; fd(i, o, h); o = c[i >> 2] | 0; c[i >> 2] = c[g >> 2]; c[g >> 2] = o; o = (i + 4) | 0; j = c[o >> 2] | 0; c[o >> 2] = c[n >> 2]; c[n >> 2] = j; Oa(i); ed(i, c[g >> 2] | 0, (a + 300) | 0); g = c[i >> 2] | 0; n = (i + 4) | 0; j = c[n >> 2] | 0; c[i >> 2] = 0; c[n >> 2] = 0; c[h >> 2] = c[l >> 2]; c[l >> 2] = g; c[(h + 4) >> 2] = c[e >> 2]; c[e >> 2] = j; Na(h); Na(i); e = (a + 328) | 0; j = e; j = lr(c[j >> 2] | 0, c[(j + 4) >> 2] | 0, 1, 0) | 0; l = u() | 0; c[e >> 2] = j; c[(e + 4) >> 2] = l; e = k; c[e >> 2] = 0; c[(e + 4) >> 2] = 0; e = c[f >> 2] | 0; } $[c[c[e >> 2] >> 2] & 63](e, b) | 0; l = k; l = lr(c[l >> 2] | 0, c[(l + 4) >> 2] | 0, 1, 0) | 0; n = u() | 0; o = k; c[o >> 2] = l; c[(o + 4) >> 2] = n; V = m; return; } function ed(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0, g = 0, h = 0; h = V; V = (V + 64) | 0; e = (h + 56) | 0; f = h; g = ld(d) | 0; if ((g | 0) == -1) { h = v(8) | 0; md(h); x(h | 0, 2784, 8); } d = nd(d) | 0; a: do if (!d) switch (g | 0) { case 0: { g = eq(4788) | 0; xd(g); wd(a, b, g); break a; } case 1: { g = eq(5116) | 0; zd(g); yd(a, b, g); break a; } case 2: { g = eq(5104) | 0; Bd(g); Ad(a, b, g); break a; } case 3: { g = eq(5432) | 0; Dd(g); Cd(a, b, g); break a; } default: { c[a >> 2] = 0; c[(a + 4) >> 2] = 0; break a; } } else { od(e, b); pd(c[e >> 2] | 0); if ((g | 2 | 0) == 3) qd(c[e >> 2] | 0); if ((g | 1 | 0) == 3) rd(c[e >> 2] | 0); g = c[e >> 2] | 0; td(f, d); sd(g, f); ud(f); c[a >> 2] = c[e >> 2]; g = (e + 4) | 0; c[(a + 4) >> 2] = c[g >> 2]; c[e >> 2] = 0; c[g >> 2] = 0; vd(e); } while (0); V = h; return; } function fd(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 4576; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; gd(a, e); V = d; return; } function gd(a, b) { a = a | 0; b = b | 0; return; } function hd(a) { a = a | 0; pq(a); jp(a); return; } function id(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) { rc(a); jp(a); } return; } function jd(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 7983 ? (a + 12) | 0 : 0) | 0; } function kd(a) { a = a | 0; Da(a, 16); return; } function ld(a) { a = a | 0; var b = 0, d = 0; b = ((c[(a + 4) >> 2] | 0) - (c[a >> 2] | 0)) | 0; a: do if ( ( (b | 0) != 0 ? ((d = ((((b | 0) / 12) | 0) + ((((nd(a) | 0) != 0) << 31) >> 31)) | 0), (d | 0) != 0) : 0 ) ? ((b = c[a >> 2] | 0), !(Ed(b, Fd() | 0) | 0)) : 0 ) { switch (d | 0) { case 1: { a = 0; break a; } case 2: { if (Gd(((c[a >> 2] | 0) + 12) | 0, Hd() | 0) | 0) { a = 1; break a; } if (Gd(((c[a >> 2] | 0) + 12) | 0, Id() | 0) | 0) { a = 2; break a; } break; } case 3: { if ( Gd(((c[a >> 2] | 0) + 12) | 0, Hd() | 0) | 0 ? ((d = ((c[a >> 2] | 0) + 24) | 0), Gd(d, Id() | 0) | 0) : 0 ) { a = 3; break a; } break; } default: { } } a = -1; } else a = -1; while (0); return a | 0; } function md(a) { a = a | 0; xq(a, 8131); c[a >> 2] = 4604; return; } function nd(a) { a = a | 0; var b = 0, d = 0; b = c[(a + 4) >> 2] | 0; if ( ((b | 0) != (c[a >> 2] | 0) ? ((d = b), (c[(d + -12) >> 2] | 0) == 0) : 0) ? (c[(d + -4) >> 2] | 0) == 2 : 0 ) a = c[(d + -8) >> 2] | 0; else a = 0; return a | 0; } function od(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0; d = V; V = (V + 16) | 0; e = (d + 4) | 0; g = d; f = eq(24) | 0; Kd(f, b); c[g >> 2] = 0; c[e >> 2] = c[g >> 2]; Ld(a, f, e); V = d; return; } function pd(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0; j = V; V = (V + 32) | 0; e = (j + 12) | 0; f = j; b = (j + 8) | 0; h = eq(4792) | 0; Zd(h, c[(a + 4) >> 2] | 0); g = (a + 8) | 0; c[b >> 2] = 0; c[e >> 2] = c[b >> 2]; _d(f, h, e); h = (a + 12) | 0; b = c[h >> 2] | 0; i = (a + 16) | 0; do if (b >>> 0 >= (c[i >> 2] | 0) >>> 0) { b = (((b - (c[g >> 2] | 0)) >> 3) + 1) | 0; d = ee(g) | 0; if (d >>> 0 < b >>> 0) cr(g); else { k = c[g >> 2] | 0; l = ((c[i >> 2] | 0) - k) | 0; i = l >> 2; be( e, (l >> 3) >>> 0 < (d >>> 1) >>> 0 ? (i >>> 0 < b >>> 0 ? b : i) : d, ((c[h >> 2] | 0) - k) >> 3, (a + 16) | 0 ); i = (e + 8) | 0; h = c[i >> 2] | 0; c[h >> 2] = c[f >> 2]; a = (f + 4) | 0; c[(h + 4) >> 2] = c[a >> 2]; c[f >> 2] = 0; c[a >> 2] = 0; c[i >> 2] = h + 8; ce(g, e); de(e); break; } } else { $d(e, g, 1); l = (e + 4) | 0; k = c[l >> 2] | 0; c[k >> 2] = c[f >> 2]; i = (f + 4) | 0; c[(k + 4) >> 2] = c[i >> 2]; c[f >> 2] = 0; c[i >> 2] = 0; c[l >> 2] = k + 8; ae(e); } while (0); Sd(f); V = j; return; } function qd(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0; j = V; V = (V + 32) | 0; e = (j + 12) | 0; f = j; b = (j + 8) | 0; h = eq(336) | 0; af(h, c[(a + 4) >> 2] | 0); g = (a + 8) | 0; c[b >> 2] = 0; c[e >> 2] = c[b >> 2]; bf(f, h, e); h = (a + 12) | 0; b = c[h >> 2] | 0; i = (a + 16) | 0; do if (b >>> 0 >= (c[i >> 2] | 0) >>> 0) { b = (((b - (c[g >> 2] | 0)) >> 3) + 1) | 0; d = ee(g) | 0; if (d >>> 0 < b >>> 0) cr(g); else { k = c[g >> 2] | 0; l = ((c[i >> 2] | 0) - k) | 0; i = l >> 2; be( e, (l >> 3) >>> 0 < (d >>> 1) >>> 0 ? (i >>> 0 < b >>> 0 ? b : i) : d, ((c[h >> 2] | 0) - k) >> 3, (a + 16) | 0 ); i = (e + 8) | 0; h = c[i >> 2] | 0; c[h >> 2] = c[f >> 2]; a = (f + 4) | 0; c[(h + 4) >> 2] = c[a >> 2]; c[f >> 2] = 0; c[a >> 2] = 0; c[i >> 2] = h + 8; ce(g, e); de(e); break; } } else { $d(e, g, 1); l = (e + 4) | 0; k = c[l >> 2] | 0; c[k >> 2] = c[f >> 2]; i = (f + 4) | 0; c[(k + 4) >> 2] = c[i >> 2]; c[f >> 2] = 0; c[i >> 2] = 0; c[l >> 2] = k + 8; ae(e); } while (0); Sd(f); V = j; return; } function rd(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0; j = V; V = (V + 32) | 0; e = (j + 12) | 0; f = j; b = (j + 8) | 0; h = eq(324) | 0; Af(h, c[(a + 4) >> 2] | 0); g = (a + 8) | 0; c[b >> 2] = 0; c[e >> 2] = c[b >> 2]; Bf(f, h, e); h = (a + 12) | 0; b = c[h >> 2] | 0; i = (a + 16) | 0; do if (b >>> 0 >= (c[i >> 2] | 0) >>> 0) { b = (((b - (c[g >> 2] | 0)) >> 3) + 1) | 0; d = ee(g) | 0; if (d >>> 0 < b >>> 0) cr(g); else { k = c[g >> 2] | 0; l = ((c[i >> 2] | 0) - k) | 0; i = l >> 2; be( e, (l >> 3) >>> 0 < (d >>> 1) >>> 0 ? (i >>> 0 < b >>> 0 ? b : i) : d, ((c[h >> 2] | 0) - k) >> 3, (a + 16) | 0 ); i = (e + 8) | 0; h = c[i >> 2] | 0; c[h >> 2] = c[f >> 2]; a = (f + 4) | 0; c[(h + 4) >> 2] = c[a >> 2]; c[f >> 2] = 0; c[a >> 2] = 0; c[i >> 2] = h + 8; ce(g, e); de(e); break; } } else { $d(e, g, 1); l = (e + 4) | 0; k = c[l >> 2] | 0; c[k >> 2] = c[f >> 2]; i = (f + 4) | 0; c[(k + 4) >> 2] = c[i >> 2]; c[f >> 2] = 0; c[i >> 2] = 0; c[l >> 2] = k + 8; ae(e); } while (0); Sd(f); V = j; return; } function sd(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0; j = V; V = (V + 32) | 0; h = (j + 12) | 0; i = j; e = (j + 8) | 0; g = eq(64) | 0; Qf(g, c[(a + 4) >> 2] | 0, b); f = (a + 8) | 0; c[e >> 2] = 0; c[h >> 2] = c[e >> 2]; Rf(i, g, h); g = (a + 12) | 0; b = c[g >> 2] | 0; e = (a + 16) | 0; do if (b >>> 0 >= (c[e >> 2] | 0) >>> 0) { b = (((b - (c[f >> 2] | 0)) >> 3) + 1) | 0; d = ee(f) | 0; if (d >>> 0 < b >>> 0) cr(f); else { k = c[f >> 2] | 0; l = ((c[e >> 2] | 0) - k) | 0; e = l >> 2; be( h, (l >> 3) >>> 0 < (d >>> 1) >>> 0 ? (e >>> 0 < b >>> 0 ? b : e) : d, ((c[g >> 2] | 0) - k) >> 3, (a + 16) | 0 ); a = (h + 8) | 0; g = c[a >> 2] | 0; c[g >> 2] = c[i >> 2]; e = (i + 4) | 0; c[(g + 4) >> 2] = c[e >> 2]; c[i >> 2] = 0; c[e >> 2] = 0; c[a >> 2] = g + 8; ce(f, h); de(h); break; } } else { $d(h, f, 1); l = (h + 4) | 0; k = c[l >> 2] | 0; c[k >> 2] = c[i >> 2]; a = (i + 4) | 0; c[(k + 4) >> 2] = c[a >> 2]; c[i >> 2] = 0; c[a >> 2] = 0; c[l >> 2] = k + 8; ae(h); } while (0); Sd(i); V = j; return; } function td(b, d) { b = b | 0; d = d | 0; var e = 0, f = 0; e = V; V = (V + 48) | 0; f = e; c[b >> 2] = d; a[(b + 4) >> 0] = 0; Jg((b + 8) | 0, d); Jg((b + 20) | 0, d); Oc(f, 256, 0, 0); Kg((b + 32) | 0, d, f); Ic(f); V = e; return; } function ud(a) { a = a | 0; Ng((a + 32) | 0); _f((a + 20) | 0); _f((a + 8) | 0); return; } function vd(a) { a = a | 0; var b = 0, d = 0; a = c[(a + 4) >> 2] | 0; if ( a | 0 ? ((d = (a + 4) | 0), (b = c[d >> 2] | 0), (c[d >> 2] = b + -1), (b | 0) == 0) : 0 ) { ca[c[((c[a >> 2] | 0) + 8) >> 2] & 255](a); qq(a); } return; } function wd(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0, g = 0, h = 0; e = V; V = (V + 16) | 0; f = (e + 4) | 0; h = e; g = eq(12) | 0; Og(g, b, d); c[h >> 2] = 0; c[f >> 2] = c[h >> 2]; Pg(a, g, f); V = e; return; } function xd(a) { a = a | 0; ge(a); $g((a + 4784) | 0); return; } function yd(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0, g = 0, h = 0; e = V; V = (V + 16) | 0; f = (e + 4) | 0; h = e; g = eq(12) | 0; ah(g, b, d); c[h >> 2] = 0; c[f >> 2] = c[h >> 2]; bh(a, g, f); V = e; return; } function zd(a) { a = a | 0; ge(a); nh((a + 4784) | 0); return; } function Ad(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0, g = 0, h = 0; e = V; V = (V + 16) | 0; f = (e + 4) | 0; h = e; g = eq(12) | 0; oh(g, b, d); c[h >> 2] = 0; c[f >> 2] = c[h >> 2]; ph(a, g, f); V = e; return; } function Bd(a) { a = a | 0; ge(a); Bh((a + 4784) | 0); return; } function Cd(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0, g = 0, h = 0; e = V; V = (V + 16) | 0; f = (e + 4) | 0; h = e; g = eq(12) | 0; Ch(g, b, d); c[h >> 2] = 0; c[f >> 2] = c[h >> 2]; Dh(a, g, f); V = e; return; } function Dd(a) { a = a | 0; ge(a); Ph((a + 4784) | 0); return; } function Ed(a, b) { a = a | 0; b = b | 0; return ((Gd(a, b) | 0) ^ 1) | 0; } function Fd() { if ((a[21456] | 0) == 0 ? Tp(21456) | 0 : 0) { _b(21536, 6, 20, 2); $p(21456); } return 21536; } function Gd(a, b) { a = a | 0; b = b | 0; if ((c[a >> 2] | 0) == (c[b >> 2] | 0) ? (c[(a + 8) >> 2] | 0) == (c[(b + 8) >> 2] | 0) : 0) a = (c[(a + 4) >> 2] | 0) == (c[(b + 4) >> 2] | 0); else a = 0; return a | 0; } function Hd() { if ((a[21464] | 0) == 0 ? Tp(21464) | 0 : 0) { _b(21548, 7, 8, 2); $p(21464); } return 21548; } function Id() { if ((a[21472] | 0) == 0 ? Tp(21472) | 0 : 0) { _b(21560, 8, 6, 2); $p(21472); } return 21560; } function Jd(a) { a = a | 0; yp(a); jp(a); return; } function Kd(b, d) { b = b | 0; d = d | 0; Md(b); c[b >> 2] = 4624; c[(b + 4) >> 2] = d; c[(b + 8) >> 2] = 0; c[(b + 12) >> 2] = 0; c[(b + 16) >> 2] = 0; a[(b + 20) >> 0] = 1; return; } function Ld(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 4664; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; Ud(a, e); V = d; return; } function Md(a) { a = a | 0; c[a >> 2] = 4644; return; } function Nd(b, d) { b = b | 0; d = d | 0; var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; k = V; V = (V + 16) | 0; h = k; e = c[(b + 8) >> 2] | 0; i = c[(b + 12) >> 2] | 0; if ((e | 0) != (i | 0)) { j = (h + 4) | 0; do { f = c[e >> 2] | 0; c[h >> 2] = f; g = c[(e + 4) >> 2] | 0; c[j >> 2] = g; if (g | 0) { g = (g + 4) | 0; c[g >> 2] = (c[g >> 2] | 0) + 1; } d = $[c[((c[f >> 2] | 0) + 12) >> 2] & 63](f, d) | 0; Sd(h); e = (e + 8) | 0; } while ((e | 0) != (i | 0)); } e = (b + 20) | 0; if (a[e >> 0] | 0) { a[e >> 0] = 0; nc(c[(b + 4) >> 2] | 0); } V = k; return d | 0; } function Od(a) { a = a | 0; c[a >> 2] = 4624; Td((a + 8) | 0); Qd(a); return; } function Pd(a) { a = a | 0; Od(a); jp(a); return; } function Qd(a) { a = a | 0; return; } function Rd(a) { a = a | 0; U(); } function Sd(a) { a = a | 0; var b = 0, d = 0; a = c[(a + 4) >> 2] | 0; if ( a | 0 ? ((d = (a + 4) | 0), (b = c[d >> 2] | 0), (c[d >> 2] = b + -1), (b | 0) == 0) : 0 ) { ca[c[((c[a >> 2] | 0) + 8) >> 2] & 255](a); qq(a); } return; } function Td(a) { a = a | 0; var b = 0, d = 0, e = 0; d = c[a >> 2] | 0; if (d | 0) { e = (a + 4) | 0; b = c[e >> 2] | 0; if ((b | 0) == (d | 0)) b = d; else { do { b = (b + -8) | 0; Sd(b); } while ((b | 0) != (d | 0)); b = c[a >> 2] | 0; } c[e >> 2] = d; Da(b, ((c[(a + 8) >> 2] | 0) - b) | 0); } return; } function Ud(a, b) { a = a | 0; b = b | 0; return; } function Vd(a) { a = a | 0; pq(a); jp(a); return; } function Wd(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) ca[c[((c[a >> 2] | 0) + 8) >> 2] & 255](a); return; } function Xd(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 8546 ? (a + 12) | 0 : 0) | 0; } function Yd(a) { a = a | 0; Da(a, 16); return; } function Zd(a, b) { a = a | 0; b = b | 0; fe(a); c[a >> 2] = 4692; c[(a + 4) >> 2] = b; ge((a + 8) | 0); return; } function _d(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 4740; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; Xe(a, e); V = d; return; } function $d(a, b, d) { a = a | 0; b = b | 0; d = d | 0; c[a >> 2] = b; b = c[(b + 4) >> 2] | 0; c[(a + 4) >> 2] = b; c[(a + 8) >> 2] = b + (d << 3); return; } function ae(a) { a = a | 0; c[((c[a >> 2] | 0) + 4) >> 2] = c[(a + 4) >> 2]; return; } function be(a, b, d, e) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; var f = 0; f = (a + 12) | 0; c[f >> 2] = 0; c[(a + 16) >> 2] = e; do if (b) if (b >>> 0 > 536870911) { f = v(8) | 0; vq(f, 6723); c[f >> 2] = 5956; x(f | 0, 3928, 123); } else { e = eq(b << 3) | 0; break; } else e = 0; while (0); c[a >> 2] = e; d = (e + (d << 3)) | 0; c[(a + 8) >> 2] = d; c[(a + 4) >> 2] = d; c[f >> 2] = e + (b << 3); return; } function ce(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; i = c[a >> 2] | 0; j = (a + 4) | 0; d = c[j >> 2] | 0; h = (b + 4) | 0; if ((d | 0) == (i | 0)) { f = h; g = a; e = c[h >> 2] | 0; d = i; } else { e = c[h >> 2] | 0; do { g = d; d = (d + -8) | 0; c[(e + -8) >> 2] = c[d >> 2]; g = (g + -4) | 0; c[(e + -4) >> 2] = c[g >> 2]; c[d >> 2] = 0; c[g >> 2] = 0; e = ((c[h >> 2] | 0) + -8) | 0; c[h >> 2] = e; } while ((d | 0) != (i | 0)); f = h; g = a; d = c[a >> 2] | 0; } c[g >> 2] = e; c[f >> 2] = d; i = (b + 8) | 0; h = c[j >> 2] | 0; c[j >> 2] = c[i >> 2]; c[i >> 2] = h; i = (a + 8) | 0; j = (b + 12) | 0; a = c[i >> 2] | 0; c[i >> 2] = c[j >> 2]; c[j >> 2] = a; c[b >> 2] = c[f >> 2]; return; } function de(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0; d = c[(a + 4) >> 2] | 0; e = (a + 8) | 0; b = c[e >> 2] | 0; if ((b | 0) != (d | 0)) do { f = (b + -8) | 0; c[e >> 2] = f; Sd(f); b = c[e >> 2] | 0; } while ((b | 0) != (d | 0)); b = c[a >> 2] | 0; if (b | 0) Da(b, ((c[(a + 12) >> 2] | 0) - b) | 0); return; } function ee(a) { a = a | 0; return 536870911; } function fe(a) { a = a | 0; c[a >> 2] = 4716; return; } function ge(b) { b = b | 0; oe(b); pe((b + 3980) | 0); qe((b + 4380) | 0); a[(b + 4780) >> 0] = 0; a[(b + 4781) >> 0] = 0; return; } function he(a) { a = a | 0; c[a >> 2] = 4692; ze((a + 8) | 0); le(a); return; } function ie(a) { a = a | 0; he(a); jp(a); return; } function je(a, b) { a = a | 0; b = b | 0; return b | 0; } function ke(a, b) { a = a | 0; b = b | 0; return Be((a + 8) | 0, c[(a + 4) >> 2] | 0, b) | 0; } function le(a) { a = a | 0; return; } function me(a) { a = a | 0; le(a); jp(a); return; } function ne(a, b) { a = a | 0; b = b | 0; return b | 0; } function oe(d) { d = d | 0; var e = 0, f = 0; te(d); ue((d + 52) | 0); ue((d + 436) | 0); Oc((d + 852) | 0, 64, 0, 0); a[(d + 3976) >> 0] = 0; e = (d + 20) | 0; f = (e + 32) | 0; do { b[e >> 1] = 0; e = (e + 2) | 0; } while ((e | 0) < (f | 0)); e = eq(44) | 0; Oc(e, 256, 0, 0); c[(d + 896) >> 2] = e; e = eq(44) | 0; Oc(e, 256, 0, 0); c[(d + 900) >> 2] = e; e = (d + 820) | 0; c[e >> 2] = 0; c[(e + 4) >> 2] = 0; c[(e + 8) >> 2] = 0; c[(e + 12) >> 2] = 0; c[(e + 16) >> 2] = 0; c[(e + 20) >> 2] = 0; c[(e + 24) >> 2] = 0; c[(e + 28) >> 2] = 0; e = 0; do { f = eq(44) | 0; Oc(f, 256, 0, 0); c[(d + 904 + (e << 2)) >> 2] = f; f = eq(44) | 0; Oc(f, 256, 0, 0); c[(d + 1928 + (e << 2)) >> 2] = f; f = eq(44) | 0; Oc(f, 256, 0, 0); c[(d + 2952 + (e << 2)) >> 2] = f; e = (e + 1) | 0; } while (e >>> 0 < 256); return; } function pe(a) { a = a | 0; xe(a, 16, 4, 8, 0); xe((a + 80) | 0, 16, 1, 8, 0); xe((a + 160) | 0, 32, 2, 8, 0); xe((a + 240) | 0, 32, 22, 8, 0); xe((a + 320) | 0, 32, 20, 8, 0); return; } function qe(a) { a = a | 0; mc(a, 16, 4, 8, 0); mc((a + 80) | 0, 16, 1, 8, 0); mc((a + 160) | 0, 32, 2, 8, 0); mc((a + 240) | 0, 32, 22, 8, 0); mc((a + 320) | 0, 32, 20, 8, 0); return; } function re(a) { a = a | 0; ye((a + 320) | 0); ye((a + 240) | 0); ye((a + 160) | 0); ye((a + 80) | 0); ye(a); return; } function se(a) { a = a | 0; var b = 0, d = 0; b = c[(a + 896) >> 2] | 0; if (b | 0) { Ic(b); jp(b); } b = c[(a + 900) >> 2] | 0; if (b | 0) { Ic(b); jp(b); } d = 0; do { b = c[(a + 904 + (d << 2)) >> 2] | 0; if (b | 0) { Ic(b); jp(b); } b = c[(a + 1928 + (d << 2)) >> 2] | 0; if (b | 0) { Ic(b); jp(b); } b = c[(a + 2952 + (d << 2)) >> 2] | 0; if (b | 0) { Ic(b); jp(b); } d = (d + 1) | 0; } while ((d | 0) != 256); Ic((a + 852) | 0); return; } function te(b) { b = b | 0; var c = 0; a[b >> 0] = 0; a[(b + 1) >> 0] = 0; a[(b + 2) >> 0] = 0; a[(b + 3) >> 0] = 0; c = (b + 4) | 0; a[c >> 0] = 0; a[(c + 1) >> 0] = 0; a[(c + 2) >> 0] = 0; a[(c + 3) >> 0] = 0; b = (b + 12) | 0; c = b; a[c >> 0] = 0; a[(c + 1) >> 0] = 0; a[(c + 2) >> 0] = 0; a[(c + 3) >> 0] = 0; b = (b + 4) | 0; a[b >> 0] = 0; a[(b + 1) >> 0] = 0; a[(b + 2) >> 0] = 0; a[(b + 3) >> 0] = 0; return; } function ue(a) { a = a | 0; var b = 0; b = (a + 384) | 0; do { ve(a); a = (a + 24) | 0; } while ((a | 0) != (b | 0)); return; } function ve(a) { a = a | 0; we(a); return; } function we(b) { b = b | 0; c[b >> 2] = 0; c[(b + 4) >> 2] = 0; c[(b + 8) >> 2] = 0; c[(b + 12) >> 2] = 0; c[(b + 16) >> 2] = 0; a[(b + 20) >> 0] = 1; return; } function xe(a, b, d, e, f) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; f = f | 0; var g = 0; c[(a + 4) >> 2] = b; c[(a + 8) >> 2] = d; c[(a + 12) >> 2] = e; c[(a + 16) >> 2] = f; c[(a + 36) >> 2] = 0; c[(a + 40) >> 2] = 0; c[(a + 44) >> 2] = 0; Gc((a + 48) | 0); c[(a + 68) >> 2] = 0; c[(a + 72) >> 2] = 0; c[(a + 76) >> 2] = 0; do if (!f) { d = (a + 20) | 0; if (((b + -1) | 0) >>> 0 < 31) { c[d >> 2] = b; f = 1 << b; c[(a + 24) >> 2] = f; d = f >>> 1; c[(a + 28) >> 2] = 0 - d; d = (f + -1 - d) | 0; break; } else { c[d >> 2] = 32; c[(a + 24) >> 2] = 0; c[(a + 28) >> 2] = -2147483648; d = 2147483647; break; } } else { e = (a + 20) | 0; c[e >> 2] = 0; c[(a + 24) >> 2] = f; d = f; g = 0; while (1) { d = d >>> 1; b = (g + 1) | 0; if (!d) break; else g = b; } c[e >> 2] = ((1 << g) | 0) == (f | 0) ? g : b; d = f >>> 1; c[(a + 28) >> 2] = 0 - d; d = (f + -1 - d) | 0; } while (0); c[(a + 32) >> 2] = d; c[a >> 2] = 0; return; } function ye(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0, g = 0; g = (a + 36) | 0; d = c[g >> 2] | 0; e = (a + 40) | 0; b = c[e >> 2] | 0; if ((b | 0) != (d | 0)) do { b = (b + -44) | 0; Ic(b); } while ((b | 0) != (d | 0)); c[e >> 2] = d; e = (a + 68) | 0; f = c[e >> 2] | 0; d = (a + 72) | 0; b = c[d >> 2] | 0; if ((b | 0) != (f | 0)) do { b = (b + -44) | 0; Ic(b); } while ((b | 0) != (f | 0)); c[d >> 2] = f; Hc(e); Hc(g); return; } function ze(a) { a = a | 0; Ae((a + 4380) | 0); re((a + 3980) | 0); se(a); return; } function Ae(a) { a = a | 0; qc((a + 320) | 0); qc((a + 240) | 0); qc((a + 160) | 0); qc((a + 80) | 0); qc(a); return; } function Be(f, g, h) { f = f | 0; g = g | 0; h = h | 0; var i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; p = V; V = (V + 32) | 0; o = p; i = (f + 4781) | 0; if (!(a[i >> 0] | 0)) { Ce((f + 4380) | 0); a[i >> 0] = 1; } i = (f + 3976) | 0; if (!(a[i >> 0] | 0)) { a[i >> 0] = 1; Ee(De(g) | 0, h, 20); Fe(o, h); k = f; i = o; j = (k + 20) | 0; do { a[k >> 0] = a[i >> 0] | 0; k = (k + 1) | 0; i = (i + 1) | 0; } while ((k | 0) < (j | 0)); b[(f + 12) >> 1] = 0; } else { m = Zc(g, (f + 852) | 0) | 0; if (m) { if ((m & 32) | 0) He((Zc(g, c[(f + 904 + (((Ge(f) | 0) & 255) << 2)) >> 2] | 0) | 0) & 255, f); n = (f + 14) | 0; k = a[n >> 0] | 0; i = k & 7; k = ((k & 255) >>> 3) & 7; j = d[(16 + (k << 3) + i) >> 0] | 0; i = d[(80 + (k << 3) + i) >> 0] | 0; if (!(m & 16)) l = b[(f + 20 + (j << 1)) >> 1] | 0; else { q = (f + 20 + (j << 1)) | 0; l = (pc((f + 4380) | 0, g, e[q >> 1] | 0, j >>> 0 < 3 ? j : 3) | 0) & 65535; b[q >> 1] = l; } b[(f + 12) >> 1] = l; if ((m & 8) | 0) { q = (f + 15) | 0; a[q >> 0] = Zc(g, c[(f + 1928 + (d[q >> 0] << 2)) >> 2] | 0) | 0; } if ((m & 4) | 0) { n = Zc(g, c[(f + 896 + ((((d[n >> 0] | 0) >>> 6) & 1) << 2)) >> 2] | 0) | 0; q = (f + 16) | 0; a[q >> 0] = Ie((n + (a[q >> 0] | 0)) | 0) | 0; } if ((m & 2) | 0) { q = (f + 17) | 0; a[q >> 0] = Zc(g, c[(f + 2952 + (d[q >> 0] << 2)) >> 2] | 0) | 0; } if (m & 1) { q = (f + 18) | 0; b[q >> 1] = pc((f + 4460) | 0, g, e[q >> 1] | 0, 0) | 0; } } else { q = a[(f + 14) >> 0] | 0; i = q & 7; q = ((q & 255) >>> 3) & 7; k = q; j = d[(16 + (q << 3) + i) >> 0] | 0; i = d[(80 + (q << 3) + i) >> 0] | 0; } l = (f + 52 + ((j * 24) | 0)) | 0; m = (f + 4540) | 0; n = ((k | 0) == 1) & 1; k = pc(m, g, Je(l) | 0, n) | 0; c[o >> 2] = k; c[f >> 2] = (c[f >> 2] | 0) + k; Ke(l, o); l = (f + 436 + ((j * 24) | 0)) | 0; k = Je(l) | 0; j = Le(m) | 0; q = (f + 4620) | 0; j = pc(q, g, k, (j >>> 0 < 20 ? j & -2 : 20) | n) | 0; c[o >> 2] = j; k = (f + 4) | 0; c[k >> 2] = (c[k >> 2] | 0) + j; Ke(l, o); o = Le(m) | 0; o = ((Le(q) | 0) + o) | 0; q = (f + 820 + (i << 2)) | 0; o = pc((f + 4700) | 0, g, c[q >> 2] | 0, (o >>> 0 < 36 ? (o >>> 1) & 2147483646 : 18) | n) | 0; c[(f + 8) >> 2] = o; c[q >> 2] = o; Me(f, h); } V = p; return (h + 20) | 0; } function Ce(a) { a = a | 0; oc(a); oc((a + 80) | 0); oc((a + 160) | 0); oc((a + 240) | 0); oc((a + 320) | 0); return; } function De(a) { a = a | 0; return c[a >> 2] | 0; } function Ee(b, d, e) { b = b | 0; d = d | 0; e = e | 0; var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; k = (b + 4) | 0; f = c[k >> 2] | 0; j = ((c[(b + 8) >> 2] | 0) - f) | 0; j = j >>> 0 > e >>> 0 ? e : j; i = (b + 12) | 0; g = ((c[i >> 2] | 0) + f) | 0; h = (g + j) | 0; if (j) { f = g; g = d; while (1) { a[g >> 0] = a[f >> 0] | 0; f = (f + 1) | 0; if ((f | 0) == (h | 0)) break; else g = (g + 1) | 0; } f = c[k >> 2] | 0; } c[k >> 2] = f + j; e = (e - j) | 0; if (e | 0) { Kc(b); g = ((c[i >> 2] | 0) + (c[k >> 2] | 0)) | 0; h = (g + e) | 0; f = (d + j) | 0; while (1) { a[f >> 0] = a[g >> 0] | 0; g = (g + 1) | 0; if ((g | 0) == (h | 0)) break; else f = (f + 1) | 0; } c[k >> 2] = (c[k >> 2] | 0) + e; } return; } function Fe(d, e) { d = d | 0; e = e | 0; te(d); c[d >> 2] = Ne(e) | 0; c[(d + 4) >> 2] = Ne((e + 4) | 0) | 0; c[(d + 8) >> 2] = Ne((e + 8) | 0) | 0; b[(d + 12) >> 1] = Oe((e + 12) | 0) | 0; He(Pe((e + 14) | 0) | 0, d); a[(d + 15) >> 0] = Pe((e + 15) | 0) | 0; a[(d + 16) >> 0] = Qe((e + 16) | 0) | 0; a[(d + 17) >> 0] = Qe((e + 17) | 0) | 0; b[(d + 18) >> 1] = Oe((e + 18) | 0) | 0; return; } function Ge(b) { b = b | 0; return a[(b + 14) >> 0] | 0; } function He(b, c) { b = b | 0; c = c | 0; a[(c + 14) >> 0] = b; return; } function Ie(a) { a = a | 0; return (a & 255) | 0; } function Je(a) { a = a | 0; return c[(a + 8) >> 2] | 0; } function Ke(b, d) { b = b | 0; d = d | 0; var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; k = (b + 20) | 0; do if (!(a[k >> 0] | 0)) { j = (b + 8) | 0; e = c[j >> 2] | 0; f = c[d >> 2] | 0; g = (b + 4) | 0; h = c[g >> 2] | 0; if ((e | 0) >= (f | 0)) { if ((h | 0) < (f | 0)) { c[b >> 2] = h; c[g >> 2] = c[d >> 2]; } else c[b >> 2] = f; a[k >> 0] = 1; break; } c[b >> 2] = h; c[g >> 2] = e; g = (b + 16) | 0; h = c[g >> 2] | 0; i = c[d >> 2] | 0; e = (b + 12) | 0; f = c[e >> 2] | 0; if ((h | 0) < (i | 0)) { c[j >> 2] = f; c[e >> 2] = h; c[g >> 2] = c[d >> 2]; break; } if ((f | 0) < (i | 0)) { c[j >> 2] = f; c[e >> 2] = c[d >> 2]; break; } else { c[j >> 2] = i; break; } } else { g = c[d >> 2] | 0; i = (b + 8) | 0; e = c[i >> 2] | 0; h = (b + 12) | 0; f = c[h >> 2] | 0; if ((g | 0) >= (e | 0)) { e = (b + 16) | 0; if ((g | 0) < (f | 0)) { c[e >> 2] = f; c[h >> 2] = c[d >> 2]; } else c[e >> 2] = g; a[k >> 0] = 0; break; } c[(b + 16) >> 2] = f; c[h >> 2] = e; e = c[d >> 2] | 0; f = c[b >> 2] | 0; g = (b + 4) | 0; h = c[g >> 2] | 0; if ((e | 0) < (f | 0)) { c[i >> 2] = h; c[g >> 2] = f; c[b >> 2] = c[d >> 2]; break; } if ((e | 0) < (h | 0)) { c[i >> 2] = h; c[g >> 2] = c[d >> 2]; break; } else { c[i >> 2] = e; break; } } while (0); return; } function Le(a) { a = a | 0; return c[a >> 2] | 0; } function Me(b, c) { b = b | 0; c = c | 0; var e = 0; Se(d[b >> 0] | (d[(b + 1) >> 0] << 8) | (d[(b + 2) >> 0] << 16) | (d[(b + 3) >> 0] << 24), c); e = (b + 4) | 0; Se( d[e >> 0] | (d[(e + 1) >> 0] << 8) | (d[(e + 2) >> 0] << 16) | (d[(e + 3) >> 0] << 24), (c + 4) | 0 ); e = (b + 8) | 0; Se( d[e >> 0] | (d[(e + 1) >> 0] << 8) | (d[(e + 2) >> 0] << 16) | (d[(e + 3) >> 0] << 24), (c + 8) | 0 ); e = (b + 12) | 0; Te(d[e >> 0] | (d[(e + 1) >> 0] << 8), (c + 12) | 0); Ue(Ge(b) | 0, (c + 14) | 0); Ue(a[(b + 15) >> 0] | 0, (c + 15) | 0); Ve(a[(b + 16) >> 0] | 0, (c + 16) | 0); Ve(a[(b + 17) >> 0] | 0, (c + 17) | 0); b = (b + 18) | 0; Te(d[b >> 0] | (d[(b + 1) >> 0] << 8), (c + 18) | 0); return; } function Ne(a) { a = a | 0; return Re(a) | 0; } function Oe(b) { b = b | 0; return (((a[(b + 1) >> 0] << 8) | d[b >> 0]) & 65535) | 0; } function Pe(b) { b = b | 0; return a[b >> 0] | 0; } function Qe(b) { b = b | 0; return a[b >> 0] | 0; } function Re(a) { a = a | 0; return ( ((d[(a + 1) >> 0] | 0) << 8) | (d[a >> 0] | 0) | ((d[(a + 2) >> 0] | 0) << 16) | ((d[(a + 3) >> 0] | 0) << 24) | 0 ); } function Se(a, b) { a = a | 0; b = b | 0; We(a, b); return; } function Te(b, c) { b = b | 0; c = c | 0; a[(c + 1) >> 0] = (b & 65535) >>> 8; a[c >> 0] = b; return; } function Ue(b, c) { b = b | 0; c = c | 0; a[c >> 0] = b; return; } function Ve(b, c) { b = b | 0; c = c | 0; a[c >> 0] = b; return; } function We(b, c) { b = b | 0; c = c | 0; a[(c + 3) >> 0] = b >>> 24; a[(c + 2) >> 0] = b >>> 16; a[(c + 1) >> 0] = b >>> 8; a[c >> 0] = b; return; } function Xe(a, b) { a = a | 0; b = b | 0; return; } function Ye(a) { a = a | 0; pq(a); jp(a); return; } function Ze(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) ca[c[((c[a >> 2] | 0) + 4) >> 2] & 255](a); return; } function _e(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 9202 ? (a + 12) | 0 : 0) | 0; } function $e(a) { a = a | 0; Da(a, 16); return; } function af(a, b) { a = a | 0; b = b | 0; fe(a); c[a >> 2] = 4768; c[(a + 4) >> 2] = b; cf((a + 8) | 0); return; } function bf(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 4792; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; Xe(a, e); V = d; return; } function cf(b) { b = b | 0; gf(b); hf((b + 164) | 0); jf((b + 244) | 0); a[(b + 324) >> 0] = 0; a[(b + 325) >> 0] = 0; return; } function df(a) { a = a | 0; c[a >> 2] = 4768; of((a + 8) | 0); le(a); return; } function ef(a) { a = a | 0; df(a); jp(a); return; } function ff(a, b) { a = a | 0; b = b | 0; return qf((a + 8) | 0, c[(a + 4) >> 2] | 0, b) | 0; } function gf(b) { b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; h = V; V = (V + 16) | 0; f = h; a[b >> 0] = 0; Oc((b + 4) | 0, 516, 0, 0); Oc((b + 48) | 0, 6, 0, 0); c[(b + 92) >> 2] = 0; c[(b + 96) >> 2] = 0; e = (b + 100) | 0; mf(e); nf(f); g = c[f >> 2] | 0; f = c[(f + 4) >> 2] | 0; d = 4; while (1) { i = e; j = i; a[j >> 0] = g; a[(j + 1) >> 0] = g >> 8; a[(j + 2) >> 0] = g >> 16; a[(j + 3) >> 0] = g >> 24; i = (i + 4) | 0; a[i >> 0] = f; a[(i + 1) >> 0] = f >> 8; a[(i + 2) >> 0] = f >> 16; a[(i + 3) >> 0] = f >> 24; d = (d + -1) | 0; if (!d) break; else e = (e + 8) | 0; } j = (b + 132) | 0; c[j >> 2] = 0; c[(j + 4) >> 2] = 0; c[(j + 8) >> 2] = 0; c[(j + 12) >> 2] = 0; c[(j + 16) >> 2] = 0; c[(j + 20) >> 2] = 0; c[(j + 24) >> 2] = 0; c[(j + 28) >> 2] = 0; V = h; return; } function hf(a) { a = a | 0; xe(a, 32, 9, 8, 0); return; } function jf(a) { a = a | 0; mc(a, 32, 9, 8, 0); return; } function kf(a) { a = a | 0; ye(a); return; } function lf(a) { a = a | 0; Ic((a + 48) | 0); Ic((a + 4) | 0); return; } function mf(a) { a = a | 0; var b = 0; b = (a + 32) | 0; do { nf(a); a = (a + 8) | 0; } while ((a | 0) != (b | 0)); return; } function nf(b) { b = b | 0; var c = 0; c = b; a[c >> 0] = 0; a[(c + 1) >> 0] = 0; a[(c + 2) >> 0] = 0; a[(c + 3) >> 0] = 0; b = (b + 4) | 0; a[b >> 0] = 0; a[(b + 1) >> 0] = 0; a[(b + 2) >> 0] = 0; a[(b + 3) >> 0] = 0; return; } function of(a) { a = a | 0; pf((a + 244) | 0); kf((a + 164) | 0); lf(a); return; } function pf(a) { a = a | 0; qc(a); return; } function qf(b, e, f) { b = b | 0; e = e | 0; f = f | 0; var g = 0, h = 0, i = 0, j = 0, k = 0; g = (b + 325) | 0; if (!(a[g >> 0] | 0)) { rf((b + 244) | 0); a[g >> 0] = 1; } if (!(a[b >> 0] | 0)) { a[b >> 0] = 1; Ee(De(e) | 0, f, 8); i = sf(f) | 0; j = u() | 0; b = (b + 100) | 0; e = b; a[e >> 0] = i; a[(e + 1) >> 0] = i >> 8; a[(e + 2) >> 0] = i >> 16; a[(e + 3) >> 0] = i >> 24; b = (b + 4) | 0; a[b >> 0] = j; a[(b + 1) >> 0] = j >> 8; a[(b + 2) >> 0] = j >> 16; a[(b + 3) >> 0] = j >> 24; } else { j = (b + 92) | 0; a: do if (!(c[(b + 132 + (c[j >> 2] << 2)) >> 2] | 0)) { g = Zc(e, (b + 48) | 0) | 0; switch (g | 0) { case 1: { e = pc((b + 244) | 0, e, 0, 0) | 0; c[(b + 132 + (c[j >> 2] << 2)) >> 2] = e; e = c[j >> 2] | 0; k = c[(b + 132 + (e << 2)) >> 2] | 0; i = (b + 100 + (e << 3)) | 0; h = i; g = h; h = (h + 4) | 0; k = lr( d[g >> 0] | (d[(g + 1) >> 0] << 8) | (d[(g + 2) >> 0] << 16) | (d[(g + 3) >> 0] << 24) | 0, d[h >> 0] | (d[(h + 1) >> 0] << 8) | (d[(h + 2) >> 0] << 16) | (d[(h + 3) >> 0] << 24) | 0, k | 0, ((((k | 0) < 0) << 31) >> 31) | 0 ) | 0; h = u() | 0; g = i; a[g >> 0] = k; a[(g + 1) >> 0] = k >> 8; a[(g + 2) >> 0] = k >> 16; a[(g + 3) >> 0] = k >> 24; i = (i + 4) | 0; a[i >> 0] = h; a[(i + 1) >> 0] = h >> 8; a[(i + 2) >> 0] = h >> 16; a[(i + 3) >> 0] = h >> 24; c[(b + 148 + (e << 2)) >> 2] = 0; break a; } case 2: { k = (b + 96) | 0; c[k >> 2] = ((c[k >> 2] | 0) + 1) & 3; i = (b + 100 + (c[j >> 2] << 3) + 4) | 0; i = pc( (b + 244) | 0, e, d[i >> 0] | (d[(i + 1) >> 0] << 8) | (d[(i + 2) >> 0] << 16) | (d[(i + 3) >> 0] << 24), 8 ) | 0; g = (b + 100 + (c[k >> 2] << 3)) | 0; h = g; a[h >> 0] = 0; a[(h + 1) >> 0] = 0; a[(h + 2) >> 0] = 0; a[(h + 3) >> 0] = 0; g = (g + 4) | 0; a[g >> 0] = i; a[(g + 1) >> 0] = i >> 8; a[(g + 2) >> 0] = i >> 16; a[(g + 3) >> 0] = i >> 24; g = tf(e) | 0; k = c[k >> 2] | 0; e = (b + 100 + (k << 3)) | 0; i = e; h = i; i = (i + 4) | 0; i = d[i >> 0] | (d[(i + 1) >> 0] << 8) | (d[(i + 2) >> 0] << 16) | (d[(i + 3) >> 0] << 24); g = d[h >> 0] | (d[(h + 1) >> 0] << 8) | (d[(h + 2) >> 0] << 16) | (d[(h + 3) >> 0] << 24) | g; h = e; a[h >> 0] = g; a[(h + 1) >> 0] = g >> 8; a[(h + 2) >> 0] = g >> 16; a[(h + 3) >> 0] = g >> 24; e = (e + 4) | 0; a[e >> 0] = i; a[(e + 1) >> 0] = i >> 8; a[(e + 2) >> 0] = i >> 16; a[(e + 3) >> 0] = i >> 24; c[j >> 2] = k; c[(b + 132 + (k << 2)) >> 2] = 0; c[(b + 148 + (c[j >> 2] << 2)) >> 2] = 0; break a; } default: { if ((g | 0) <= 2) break a; c[j >> 2] = (g + 2 + (c[j >> 2] | 0)) & 3; qf(b, e, f) | 0; break a; } } } else { i = Zc(e, (b + 4) | 0) | 0; if ((i | 0) == 1) { g = pc((b + 244) | 0, e, c[(b + 132 + (c[j >> 2] << 2)) >> 2] | 0, 1) | 0; k = c[j >> 2] | 0; e = (b + 100 + (k << 3)) | 0; i = e; h = i; i = (i + 4) | 0; g = lr( d[h >> 0] | (d[(h + 1) >> 0] << 8) | (d[(h + 2) >> 0] << 16) | (d[(h + 3) >> 0] << 24) | 0, d[i >> 0] | (d[(i + 1) >> 0] << 8) | (d[(i + 2) >> 0] << 16) | (d[(i + 3) >> 0] << 24) | 0, g | 0, ((((g | 0) < 0) << 31) >> 31) | 0 ) | 0; i = u() | 0; h = e; a[h >> 0] = g; a[(h + 1) >> 0] = g >> 8; a[(h + 2) >> 0] = g >> 16; a[(h + 3) >> 0] = g >> 24; e = (e + 4) | 0; a[e >> 0] = i; a[(e + 1) >> 0] = i >> 8; a[(e + 2) >> 0] = i >> 16; a[(e + 3) >> 0] = i >> 24; c[(b + 148 + (k << 2)) >> 2] = 0; break; } if ((i | 0) >= 511) { if ((i | 0) == 512) { k = (b + 96) | 0; c[k >> 2] = ((c[k >> 2] | 0) + 1) & 3; i = (b + 100 + (c[j >> 2] << 3) + 4) | 0; i = pc( (b + 244) | 0, e, d[i >> 0] | (d[(i + 1) >> 0] << 8) | (d[(i + 2) >> 0] << 16) | (d[(i + 3) >> 0] << 24), 8 ) | 0; g = (b + 100 + (c[k >> 2] << 3)) | 0; h = g; a[h >> 0] = 0; a[(h + 1) >> 0] = 0; a[(h + 2) >> 0] = 0; a[(h + 3) >> 0] = 0; g = (g + 4) | 0; a[g >> 0] = i; a[(g + 1) >> 0] = i >> 8; a[(g + 2) >> 0] = i >> 16; a[(g + 3) >> 0] = i >> 24; g = tf(e) | 0; k = c[k >> 2] | 0; e = (b + 100 + (k << 3)) | 0; i = e; h = i; i = (i + 4) | 0; i = d[i >> 0] | (d[(i + 1) >> 0] << 8) | (d[(i + 2) >> 0] << 16) | (d[(i + 3) >> 0] << 24); g = d[h >> 0] | (d[(h + 1) >> 0] << 8) | (d[(h + 2) >> 0] << 16) | (d[(h + 3) >> 0] << 24) | g; h = e; a[h >> 0] = g; a[(h + 1) >> 0] = g >> 8; a[(h + 2) >> 0] = g >> 16; a[(h + 3) >> 0] = g >> 24; e = (e + 4) | 0; a[e >> 0] = i; a[(e + 1) >> 0] = i >> 8; a[(e + 2) >> 0] = i >> 16; a[(e + 3) >> 0] = i >> 24; c[j >> 2] = k; c[(b + 132 + (k << 2)) >> 2] = 0; c[(b + 148 + (c[j >> 2] << 2)) >> 2] = 0; break; } if ((i | 0) <= 511) break; c[j >> 2] = ((c[j >> 2] | 0) + i) & 3; qf(b, e, f) | 0; break; } do if (!i) { g = pc((b + 244) | 0, e, 0, 7) | 0; h = (b + 148 + (c[j >> 2] << 2)) | 0; c[h >> 2] = (c[h >> 2] | 0) + 1; h = c[j >> 2] | 0; if ((c[(b + 148 + (h << 2)) >> 2] | 0) > 3) { c[(b + 132 + (h << 2)) >> 2] = g; c[(b + 148 + (c[j >> 2] << 2)) >> 2] = 0; } } else { if ((i | 0) < 500) { g = (b + 244) | 0; h = q(c[(b + 132 + (c[j >> 2] << 2)) >> 2] | 0, i) | 0; if ((i | 0) < 10) { g = pc(g, e, h, 2) | 0; break; } else { g = pc(g, e, h, 3) | 0; break; } } if ((i | 0) == 500) { g = pc( (b + 244) | 0, e, ((c[(b + 132 + (c[j >> 2] << 2)) >> 2] | 0) * 500) | 0, 4 ) | 0; h = (b + 148 + (c[j >> 2] << 2)) | 0; c[h >> 2] = (c[h >> 2] | 0) + 1; h = c[j >> 2] | 0; if ((c[(b + 148 + (h << 2)) >> 2] | 0) <= 3) break; c[(b + 132 + (h << 2)) >> 2] = g; c[(b + 148 + (c[j >> 2] << 2)) >> 2] = 0; break; } g = (500 - i) | 0; h = (b + 244) | 0; i = c[(b + 132 + (c[j >> 2] << 2)) >> 2] | 0; if ((g | 0) > -10) { g = pc(h, e, q(i, g) | 0, 5) | 0; break; } g = pc(h, e, q(i, -10) | 0, 6) | 0; h = (b + 148 + (c[j >> 2] << 2)) | 0; c[h >> 2] = (c[h >> 2] | 0) + 1; h = c[j >> 2] | 0; if ((c[(b + 148 + (h << 2)) >> 2] | 0) > 3) { c[(b + 132 + (h << 2)) >> 2] = g; c[(b + 148 + (c[j >> 2] << 2)) >> 2] = 0; } } while (0); k = (b + 100 + (c[j >> 2] << 3)) | 0; h = k; e = h; h = (h + 4) | 0; h = lr( d[e >> 0] | (d[(e + 1) >> 0] << 8) | (d[(e + 2) >> 0] << 16) | (d[(e + 3) >> 0] << 24) | 0, d[h >> 0] | (d[(h + 1) >> 0] << 8) | (d[(h + 2) >> 0] << 16) | (d[(h + 3) >> 0] << 24) | 0, g | 0, ((((g | 0) < 0) << 31) >> 31) | 0 ) | 0; e = u() | 0; i = k; a[i >> 0] = h; a[(i + 1) >> 0] = h >> 8; a[(i + 2) >> 0] = h >> 16; a[(i + 3) >> 0] = h >> 24; k = (k + 4) | 0; a[k >> 0] = e; a[(k + 1) >> 0] = e >> 8; a[(k + 2) >> 0] = e >> 16; a[(k + 3) >> 0] = e >> 24; } while (0); uf((b + 100 + (c[j >> 2] << 3)) | 0, f); } return (f + 8) | 0; } function rf(a) { a = a | 0; oc(a); return; } function sf(a) { a = a | 0; var b = 0, d = 0, e = 0; b = V; V = (V + 16) | 0; d = b; e = Re(a) | 0; vf(d, e, Re((a + 4) | 0) | 0); a = c[d >> 2] | 0; t(c[(d + 4) >> 2] | 0); V = b; return a | 0; } function tf(a) { a = a | 0; var b = 0; b = (bd(a) | 0) & 65535; return (((bd(a) | 0) & 65535) << 16) | b | 0; } function uf(a, b) { a = a | 0; b = b | 0; var c = 0; c = a; We(d[c >> 0] | (d[(c + 1) >> 0] << 8) | (d[(c + 2) >> 0] << 16) | (d[(c + 3) >> 0] << 24), b); a = (a + 4) | 0; We( d[a >> 0] | (d[(a + 1) >> 0] << 8) | (d[(a + 2) >> 0] << 16) | (d[(a + 3) >> 0] << 24), (b + 4) | 0 ); return; } function vf(b, c, d) { b = b | 0; c = c | 0; d = d | 0; var e = 0; e = b; a[e >> 0] = c; a[(e + 1) >> 0] = c >> 8; a[(e + 2) >> 0] = c >> 16; a[(e + 3) >> 0] = c >> 24; c = (b + 4) | 0; a[c >> 0] = d; a[(c + 1) >> 0] = d >> 8; a[(c + 2) >> 0] = d >> 16; a[(c + 3) >> 0] = d >> 24; return; } function wf(a) { a = a | 0; pq(a); jp(a); return; } function xf(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) ca[c[((c[a >> 2] | 0) + 4) >> 2] & 255](a); return; } function yf(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 9890 ? (a + 12) | 0 : 0) | 0; } function zf(a) { a = a | 0; Da(a, 16); return; } function Af(a, b) { a = a | 0; b = b | 0; fe(a); c[a >> 2] = 4820; c[(a + 4) >> 2] = b; Cf((a + 8) | 0); return; } function Bf(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 4844; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; Xe(a, e); V = d; return; } function Cf(b) { b = b | 0; a[b >> 0] = 0; Gf((b + 1) | 0); Oc((b + 8) | 0, 128, 0, 0); Oc((b + 52) | 0, 256, 0, 0); Oc((b + 96) | 0, 256, 0, 0); Oc((b + 140) | 0, 256, 0, 0); Oc((b + 184) | 0, 256, 0, 0); Oc((b + 228) | 0, 256, 0, 0); Oc((b + 272) | 0, 256, 0, 0); return; } function Df(a) { a = a | 0; c[a >> 2] = 4820; Hf((a + 8) | 0); le(a); return; } function Ef(a) { a = a | 0; Df(a); jp(a); return; } function Ff(a, b) { a = a | 0; b = b | 0; return If((a + 8) | 0, c[(a + 4) >> 2] | 0, b) | 0; } function Gf(b) { b = b | 0; var c = 0; a[b >> 0] = 0; a[(b + 1) >> 0] = 0; c = (b + 2) | 0; a[c >> 0] = 0; a[(c + 1) >> 0] = 0; b = (b + 4) | 0; a[b >> 0] = 0; a[(b + 1) >> 0] = 0; return; } function Hf(a) { a = a | 0; Ic((a + 272) | 0); Ic((a + 228) | 0); Ic((a + 184) | 0); Ic((a + 140) | 0); Ic((a + 96) | 0); Ic((a + 52) | 0); Ic((a + 8) | 0); return; } function If(c, f, g) { c = c | 0; f = f | 0; g = g | 0; var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; o = V; V = (V + 16) | 0; m = o; if (!(a[c >> 0] | 0)) { a[c >> 0] = 1; Ee(De(f) | 0, g, 6); Jf(m, g); n = (c + 1) | 0; a[n >> 0] = a[m >> 0] | 0; a[(n + 1) >> 0] = a[(m + 1) >> 0] | 0; a[(n + 2) >> 0] = a[(m + 2) >> 0] | 0; a[(n + 3) >> 0] = a[(m + 3) >> 0] | 0; a[(n + 4) >> 0] = a[(m + 4) >> 0] | 0; a[(n + 5) >> 0] = a[(m + 5) >> 0] | 0; } else { n = Zc(f, (c + 8) | 0) | 0; Gf(m); if (!(n & 1)) { h = (c + 1) | 0; h = (d[h >> 0] | (d[(h + 1) >> 0] << 8)) & 255; } else { l = (Zc(f, (c + 52) | 0) | 0) & 255; h = (c + 1) | 0; h = (Ie((l + ((d[h >> 0] | (d[(h + 1) >> 0] << 8)) & 255)) | 0) | 0) & 255; } b[m >> 1] = h; if (!(n & 2)) { l = (c + 1) | 0; h = h | ((d[l >> 0] | (d[(l + 1) >> 0] << 8)) & -256); } else { h = (Zc(f, (c + 96) | 0) | 0) & 255; l = (c + 1) | 0; h = ((Ie(((((d[l >> 0] | (d[(l + 1) >> 0] << 8)) & 65535) >>> 8) + h) | 0) | 0) & 255) << 8; h = (h | e[m >> 1]) & 65535; } b[m >> 1] = h; do if (n & 64) { k = (c + 1) | 0; i = ((h & 255) - ((d[k >> 0] | (d[(k + 1) >> 0] << 8)) & 255)) | 0; if (!(n & 4)) { h = (c + 3) | 0; h = (d[h >> 0] | (d[(h + 1) >> 0] << 8)) & 255; } else { h = (Zc(f, (c + 140) | 0) | 0) & 255; l = (c + 3) | 0; l = (i + ((d[l >> 0] | (d[(l + 1) >> 0] << 8)) & 255)) | 0; h = (Ie((((l | 0) < 1 ? 0 : (l | 0) > 254 ? 255 : l & 255) + h) | 0) | 0) & 255; } l = (m + 2) | 0; b[l >> 1] = h; if (!(n & 16)) { h = (c + 5) | 0; h = (d[h >> 0] | (d[(h + 1) >> 0] << 8)) & 255; } else { h = Zc(f, (c + 228) | 0) | 0; p = (c + 3) | 0; j = (c + 5) | 0; j = (((((i + (b[l >> 1] & 255) - ((d[p >> 0] | (d[(p + 1) >> 0] << 8)) & 255)) | 0) / 2) | 0) + ((d[j >> 0] | (d[(j + 1) >> 0] << 8)) & 255)) | 0; h = (Ie((((j | 0) < 1 ? 0 : (j | 0) > 254 ? 255 : j & 255) + (h & 255)) | 0) | 0) & 255; } j = (m + 4) | 0; b[j >> 1] = h; h = (((e[m >> 1] | 0) >>> 8) - (((d[k >> 0] | (d[(k + 1) >> 0] << 8)) & 65535) >>> 8)) | 0; if (!(n & 8)) { i = (c + 3) | 0; i = b[l >> 1] | ((d[i >> 0] | (d[(i + 1) >> 0] << 8)) & -256); } else { i = (Zc(f, (c + 184) | 0) | 0) & 255; p = (c + 3) | 0; p = ((((d[p >> 0] | (d[(p + 1) >> 0] << 8)) & 65535) >>> 8) + h) | 0; i = ((Ie((((p | 0) < 1 ? 0 : (p | 0) > 254 ? 255 : p & 255) + i) | 0) | 0) & 255) << 8; i = (i | e[l >> 1]) & 65535; } b[l >> 1] = i; if (!(n & 32)) { p = (c + 5) | 0; b[j >> 1] = b[j >> 1] | ((d[p >> 0] | (d[(p + 1) >> 0] << 8)) & -256); break; } else { p = Zc(f, (c + 272) | 0) | 0; f = (c + 3) | 0; n = (c + 5) | 0; n = (((((((e[l >> 1] | 0) >>> 8) + h - (((d[f >> 0] | (d[(f + 1) >> 0] << 8)) & 65535) >>> 8)) | 0) / 2) | 0) + (((d[n >> 0] | (d[(n + 1) >> 0] << 8)) & 65535) >>> 8)) | 0; p = ((Ie((((n | 0) < 1 ? 0 : (n | 0) > 254 ? 255 : n & 255) + (p & 255)) | 0) | 0) & 255) << 8; b[j >> 1] = p | e[j >> 1]; break; } } else { b[(m + 2) >> 1] = h; b[(m + 4) >> 1] = h; } while (0); p = (c + 1) | 0; a[p >> 0] = a[m >> 0] | 0; a[(p + 1) >> 0] = a[(m + 1) >> 0] | 0; a[(p + 2) >> 0] = a[(m + 2) >> 0] | 0; a[(p + 3) >> 0] = a[(m + 3) >> 0] | 0; a[(p + 4) >> 0] = a[(m + 4) >> 0] | 0; a[(p + 5) >> 0] = a[(m + 5) >> 0] | 0; Kf(p, g); } V = o; return (g + 6) | 0; } function Jf(a, b) { a = a | 0; b = b | 0; var c = 0, d = 0; d = Oe(b) | 0; c = Oe((b + 2) | 0) | 0; Lf(a, d, c, Oe((b + 4) | 0) | 0); return; } function Kf(a, b) { a = a | 0; b = b | 0; var c = 0; Te(d[a >> 0] | (d[(a + 1) >> 0] << 8), b); c = (a + 2) | 0; Te(d[c >> 0] | (d[(c + 1) >> 0] << 8), (b + 2) | 0); a = (a + 4) | 0; Te(d[a >> 0] | (d[(a + 1) >> 0] << 8), (b + 4) | 0); return; } function Lf(b, c, d, e) { b = b | 0; c = c | 0; d = d | 0; e = e | 0; a[b >> 0] = c; a[(b + 1) >> 0] = c >> 8; c = (b + 2) | 0; a[c >> 0] = d; a[(c + 1) >> 0] = d >> 8; d = (b + 4) | 0; a[d >> 0] = e; a[(d + 1) >> 0] = e >> 8; return; } function Mf(a) { a = a | 0; pq(a); jp(a); return; } function Nf(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) ca[c[((c[a >> 2] | 0) + 4) >> 2] & 255](a); return; } function Of(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 10570 ? (a + 12) | 0 : 0) | 0; } function Pf(a) { a = a | 0; Da(a, 16); return; } function Qf(a, b, d) { a = a | 0; b = b | 0; d = d | 0; fe(a); c[a >> 2] = 4872; c[(a + 4) >> 2] = b; Sf((a + 8) | 0, d); return; } function Rf(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 4896; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; Xe(a, e); V = d; return; } function Sf(b, d) { b = b | 0; d = d | 0; c[b >> 2] = c[d >> 2]; a[(b + 4) >> 0] = a[(d + 4) >> 0] | 0; Wf((b + 8) | 0, (d + 8) | 0); Wf((b + 20) | 0, (d + 20) | 0); Xf((b + 32) | 0, (d + 32) | 0); return; } function Tf(a) { a = a | 0; c[a >> 2] = 4872; ud((a + 8) | 0); le(a); return; } function Uf(a) { a = a | 0; Tf(a); jp(a); return; } function Vf(a, b) { a = a | 0; b = b | 0; return Dg((a + 8) | 0, c[(a + 4) >> 2] | 0, b) | 0; } function Wf(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0; c[a >> 2] = 0; c[(a + 4) >> 2] = 0; c[(a + 8) >> 2] = 0; d = (b + 4) | 0; e = ((c[d >> 2] | 0) - (c[b >> 2] | 0)) | 0; if (e | 0) { Yf(a, e); Zf(a, c[b >> 2] | 0, c[d >> 2] | 0, e); } return; } function Xf(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0; d = V; V = (V + 32) | 0; e = (d + 24) | 0; f = (d + 16) | 0; h = (d + 8) | 0; g = d; c[a >> 2] = 0; c[(a + 4) >> 2] = 0; c[(a + 8) >> 2] = 0; c[(a + 12) >> 2] = 0; c[(a + 16) >> 2] = 0; c[(a + 20) >> 2] = 0; zg(h, b); Ag(g, b); c[f >> 2] = c[h >> 2]; c[(f + 4) >> 2] = c[(h + 4) >> 2]; c[e >> 2] = c[g >> 2]; c[(e + 4) >> 2] = c[(g + 4) >> 2]; cg(a, f, e, 0); V = d; return; } function Yf(a, b) { a = a | 0; b = b | 0; var d = 0; if (($f(a) | 0) >>> 0 < b >>> 0) cr(a); else { d = eq(b) | 0; c[(a + 4) >> 2] = d; c[a >> 2] = d; c[(a + 8) >> 2] = d + b; return; } } function Zf(a, b, d, e) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; var f = 0, g = 0; g = V; V = (V + 16) | 0; f = g; ag(f, a, e); e = (f + 4) | 0; a = (d - b) | 0; if ((a | 0) > 0) { ur(c[e >> 2] | 0, b | 0, a | 0) | 0; c[e >> 2] = (c[e >> 2] | 0) + a; } bg(f); V = g; return; } function _f(a) { a = a | 0; var b = 0, d = 0; b = c[a >> 2] | 0; d = b; if (b | 0) { c[(a + 4) >> 2] = d; Da(b, ((c[(a + 8) >> 2] | 0) - d) | 0); } return; } function $f(a) { a = a | 0; return 2147483647; } function ag(a, b, d) { a = a | 0; b = b | 0; d = d | 0; c[a >> 2] = b; b = c[(b + 4) >> 2] | 0; c[(a + 4) >> 2] = b; c[(a + 8) >> 2] = b + d; return; } function bg(a) { a = a | 0; c[((c[a >> 2] | 0) + 4) >> 2] = c[(a + 4) >> 2]; return; } function cg(a, b, d, e) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; q = V; V = (V + 96) | 0; p = (q + 80) | 0; m = (q + 64) | 0; j = (q + 48) | 0; k = (q + 40) | 0; l = (q + 8) | 0; i = q; n = (q + 32) | 0; o = (q + 16) | 0; h = b; g = c[h >> 2] | 0; h = c[(h + 4) >> 2] | 0; f = d; d = c[f >> 2] | 0; f = c[(f + 4) >> 2] | 0; e = g; if ((f | 0) == (h | 0)) h = 0; else h = (((((f - (c[d >> 2] | 0)) | 0) / 44) | 0) + ((((d - g) >> 2) * 93) | 0) + ((((h - (c[g >> 2] | 0)) | 0) / -44) | 0)) | 0; d = ((c[(a + 8) >> 2] | 0) - (c[(a + 4) >> 2] | 0)) | 0; d = (((d | 0) == 0 ? 0 : ((((d >> 2) * 93) | 0) + -1) | 0) - ((c[(a + 20) >> 2] | 0) + (c[(a + 16) >> 2] | 0))) | 0; if (h >>> 0 > d >>> 0) eg(a, (h - d) | 0); fg(k, a); fg(i, a); f = i; d = c[f >> 2] | 0; f = c[(f + 4) >> 2] | 0; g = l; c[g >> 2] = d; c[(g + 4) >> 2] = f; g = d; if (h | 0) { d = (((((f - (c[d >> 2] | 0)) | 0) / 44) | 0) + h) | 0; if ((d | 0) > 0) { i = ((d >>> 0) / 93) | 0; h = (g + (i << 2)) | 0; c[l >> 2] = h; d = ((c[h >> 2] | 0) + ((((d - ((i * 93) | 0)) | 0) * 44) | 0)) | 0; } else { d = (92 - d) | 0; i = (g + ((((d | 0) / -93) | 0) << 2)) | 0; c[l >> 2] = i; d = ((c[i >> 2] | 0) + ((((92 - ((d | 0) % 93 | 0)) | 0) * 44) | 0)) | 0; } c[(l + 4) >> 2] = d; } c[m >> 2] = c[k >> 2]; c[(m + 4) >> 2] = c[(k + 4) >> 2]; c[p >> 2] = c[l >> 2]; c[(p + 4) >> 2] = c[(l + 4) >> 2]; gg(j, m, p); hg(p, j); ig(m, j); if (jg(p, m) | 0) { g = (o + 4) | 0; h = (b + 4) | 0; do { kg(n, p); lg(o, a, n); d = c[o >> 2] | 0; if ((d | 0) != (c[g >> 2] | 0)) { f = c[h >> 2] | 0; do { Wc(d, f); d = ((c[o >> 2] | 0) + 44) | 0; c[o >> 2] = d; f = (f + 44) | 0; c[h >> 2] = f; if (((f - (c[e >> 2] | 0)) | 0) == 4092) { e = (e + 4) | 0; c[b >> 2] = e; f = c[e >> 2] | 0; c[h >> 2] = f; } } while ((d | 0) != (c[g >> 2] | 0)); } mg(o); ng(p) | 0; } while (jg(p, m) | 0); } V = q; return; } function dg(a) { a = a | 0; var b = 0, d = 0, e = 0; b = c[(a + 4) >> 2] | 0; d = (a + 8) | 0; e = c[d >> 2] | 0; if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -4 - b) | 0) >>> 2) << 2); b = c[a >> 2] | 0; if (b | 0) Da(b, ((c[(a + 12) >> 2] | 0) - b) | 0); return; } function eg(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0; B = V; V = (V + 64) | 0; v = (B + 52) | 0; u = (B + 48) | 0; w = (B + 28) | 0; x = (B + 24) | 0; y = (B + 20) | 0; p = B; z = (a + 8) | 0; d = c[z >> 2] | 0; A = (a + 4) | 0; j = c[A >> 2] | 0; s = ((((d | 0) == (j | 0)) & 1) + b) | 0; h = ((s >>> 0) / 93) | 0; h = (h + ((((s - ((h * 93) | 0)) | 0) != 0) & 1)) | 0; s = (a + 16) | 0; e = c[s >> 2] | 0; i = ((e >>> 0) / 93) | 0; r = h >>> 0 < i >>> 0 ? h : i; b = (h - r) | 0; g = d; a: do if (!b) { c[s >> 2] = (q(r, -93) | 0) + e; if (r | 0) { i = (a + 12) | 0; k = (a + 12) | 0; l = (w + 4) | 0; m = (w + 8) | 0; n = (w + 12) | 0; b = r; e = j; while (1) { h = c[e >> 2] | 0; g = (e + 4) | 0; c[A >> 2] = g; t = c[i >> 2] | 0; e = t; do if ((d | 0) == (t | 0)) { t = c[a >> 2] | 0; d = t; if (g >>> 0 <= t >>> 0) { d = (e - d) | 0; d = (d | 0) == 0 ? 1 : d >> 1; qg(w, d, d >>> 2, k); c[x >> 2] = c[A >> 2]; c[y >> 2] = c[z >> 2]; c[u >> 2] = c[x >> 2]; c[v >> 2] = c[y >> 2]; ug(w, u, v); d = c[a >> 2] | 0; c[a >> 2] = c[w >> 2]; c[w >> 2] = d; d = c[A >> 2] | 0; c[A >> 2] = c[l >> 2]; c[l >> 2] = d; d = c[z >> 2] | 0; c[z >> 2] = c[m >> 2]; c[m >> 2] = d; d = c[i >> 2] | 0; c[i >> 2] = c[n >> 2]; c[n >> 2] = d; tg(w); d = c[z >> 2] | 0; break; } t = g; d = (((((t - d) >> 2) + 1) | 0) / -2) | 0; f = (g + (d << 2)) | 0; e = (e - t) | 0; if (!e) d = f; else { vr(f | 0, g | 0, e | 0) | 0; d = ((c[A >> 2] | 0) + (d << 2)) | 0; } t = (f + ((e >> 2) << 2)) | 0; c[z >> 2] = t; c[A >> 2] = d; d = t; } while (0); c[d >> 2] = h; d = ((c[z >> 2] | 0) + 4) | 0; c[z >> 2] = d; b = (b + -1) | 0; if (!b) break a; e = c[A >> 2] | 0; } } } else { t = (a + 12) | 0; e = c[t >> 2] | 0; f = (e - (c[a >> 2] | 0)) | 0; d = (g - j) >> 2; if (b >>> 0 > (((f >> 2) - d) | 0) >>> 0) { o = f >> 1; n = (d + b) | 0; qg(p, o >>> 0 < n >>> 0 ? n : o, (d - r) | 0, (a + 12) | 0); do { c[v >> 2] = eq(4092) | 0; rg(p, v); b = (b + -1) | 0; } while ((b | 0) != 0); if (!r) d = c[A >> 2] | 0; else { i = (p + 8) | 0; j = (p + 12) | 0; k = (p + 4) | 0; l = (p + 16) | 0; m = (w + 4) | 0; n = (w + 8) | 0; o = (w + 12) | 0; h = r; b = c[i >> 2] | 0; d = c[A >> 2] | 0; do { g = c[j >> 2] | 0; e = g; do if ((b | 0) == (g | 0)) { f = c[k >> 2] | 0; g = c[p >> 2] | 0; b = g; if (f >>> 0 <= g >>> 0) { b = (e - b) | 0; b = (b | 0) == 0 ? 1 : b >> 1; qg(w, b, b >>> 2, c[l >> 2] | 0); c[x >> 2] = c[k >> 2]; c[y >> 2] = c[i >> 2]; c[u >> 2] = c[x >> 2]; c[v >> 2] = c[y >> 2]; ug(w, u, v); b = c[p >> 2] | 0; c[p >> 2] = c[w >> 2]; c[w >> 2] = b; b = c[k >> 2] | 0; c[k >> 2] = c[m >> 2]; c[m >> 2] = b; b = c[i >> 2] | 0; c[i >> 2] = c[n >> 2]; c[n >> 2] = b; b = c[j >> 2] | 0; c[j >> 2] = c[o >> 2]; c[o >> 2] = b; tg(w); b = c[i >> 2] | 0; break; } C = f; b = (((((C - b) >> 2) + 1) | 0) / -2) | 0; g = (f + (b << 2)) | 0; e = (e - C) | 0; if (!e) b = g; else { vr(g | 0, f | 0, e | 0) | 0; b = ((c[k >> 2] | 0) + (b << 2)) | 0; } C = (g + ((e >> 2) << 2)) | 0; c[i >> 2] = C; c[k >> 2] = b; b = C; } while (0); c[b >> 2] = c[d >> 2]; b = ((c[i >> 2] | 0) + 4) | 0; c[i >> 2] = b; d = ((c[A >> 2] | 0) + 4) | 0; c[A >> 2] = d; h = (h + -1) | 0; } while ((h | 0) != 0); } b = c[z >> 2] | 0; if ((b | 0) != (d | 0)) { do { b = (b + -4) | 0; sg(p, b); d = c[A >> 2] | 0; } while ((b | 0) != (d | 0)); b = c[z >> 2] | 0; } C = c[a >> 2] | 0; c[a >> 2] = c[p >> 2]; c[p >> 2] = C; C = (p + 4) | 0; c[A >> 2] = c[C >> 2]; c[C >> 2] = d; C = (p + 8) | 0; c[z >> 2] = c[C >> 2]; c[C >> 2] = b; C = (p + 12) | 0; A = c[t >> 2] | 0; c[t >> 2] = c[C >> 2]; c[C >> 2] = A; c[s >> 2] = (c[s >> 2] | 0) + (q(r, -93) | 0); tg(p); break; } else { b: do if ((e | 0) == (g | 0)) k = 18; else { while (1) { c[v >> 2] = eq(4092) | 0; og(a, v); b = (b + -1) | 0; if (!b) break; if ((c[t >> 2] | 0) == (c[z >> 2] | 0)) { k = 18; break b; } } d = r; b = c[s >> 2] | 0; } while (0); if ((k | 0) == 18) { e = ~(h >>> 0 > i >>> 0 ? i : h); d = b; do { c[v >> 2] = eq(4092) | 0; pg(a, v); d = (d + -1) | 0; f = (((((c[z >> 2] | 0) - (c[A >> 2] | 0)) | 0) == 4 ? 92 : 93) + (c[s >> 2] | 0)) | 0; c[s >> 2] = f; } while ((d | 0) != 0); d = (b + -1 - e) | 0; b = f; } c[s >> 2] = b + (q(d, -93) | 0); if (!d) break; i = (a + 12) | 0; j = (w + 4) | 0; k = (w + 8) | 0; l = (w + 12) | 0; b = c[z >> 2] | 0; do { g = c[A >> 2] | 0; h = c[g >> 2] | 0; g = (g + 4) | 0; c[A >> 2] = g; C = c[t >> 2] | 0; e = C; do if ((b | 0) == (C | 0)) { C = c[a >> 2] | 0; b = C; if (g >>> 0 <= C >>> 0) { b = (e - b) | 0; b = (b | 0) == 0 ? 1 : b >> 1; qg(w, b, b >>> 2, i); c[x >> 2] = c[A >> 2]; c[y >> 2] = c[z >> 2]; c[u >> 2] = c[x >> 2]; c[v >> 2] = c[y >> 2]; ug(w, u, v); b = c[a >> 2] | 0; c[a >> 2] = c[w >> 2]; c[w >> 2] = b; b = c[A >> 2] | 0; c[A >> 2] = c[j >> 2]; c[j >> 2] = b; b = c[z >> 2] | 0; c[z >> 2] = c[k >> 2]; c[k >> 2] = b; b = c[t >> 2] | 0; c[t >> 2] = c[l >> 2]; c[l >> 2] = b; tg(w); b = c[z >> 2] | 0; break; } C = g; b = (((((C - b) >> 2) + 1) | 0) / -2) | 0; f = (g + (b << 2)) | 0; e = (e - C) | 0; if (!e) b = f; else { vr(f | 0, g | 0, e | 0) | 0; b = ((c[A >> 2] | 0) + (b << 2)) | 0; } C = (f + ((e >> 2) << 2)) | 0; c[z >> 2] = C; c[A >> 2] = b; b = C; } while (0); c[b >> 2] = h; b = ((c[z >> 2] | 0) + 4) | 0; c[z >> 2] = b; d = (d + -1) | 0; } while ((d | 0) != 0); } } while (0); V = B; return; } function fg(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0; d = ((c[(b + 16) >> 2] | 0) + (c[(b + 20) >> 2] | 0)) | 0; g = c[(b + 4) >> 2] | 0; e = ((d >>> 0) / 93) | 0; f = (g + (e << 2)) | 0; if ((c[(b + 8) >> 2] | 0) == (g | 0)) b = 0; else b = ((c[f >> 2] | 0) + ((((d - ((e * 93) | 0)) | 0) * 44) | 0)) | 0; c[a >> 2] = f; c[(a + 4) >> 2] = b; return; } function gg(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; f = b; b = c[(f + 4) >> 2] | 0; e = a; c[e >> 2] = c[f >> 2]; c[(e + 4) >> 2] = b; e = d; b = c[(e + 4) >> 2] | 0; d = (a + 8) | 0; c[d >> 2] = c[e >> 2]; c[(d + 4) >> 2] = b; return; } function hg(a, b) { a = a | 0; b = b | 0; c[a >> 2] = c[b >> 2]; c[(a + 4) >> 2] = c[(b + 4) >> 2]; c[(a + 8) >> 2] = c[(b + 8) >> 2]; c[(a + 12) >> 2] = c[(b + 12) >> 2]; return; } function ig(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; d = V; V = (V + 32) | 0; e = (d + 24) | 0; f = (d + 16) | 0; h = (d + 8) | 0; g = d; i = (b + 8) | 0; j = c[i >> 2] | 0; i = c[(i + 4) >> 2] | 0; b = h; c[b >> 2] = j; c[(b + 4) >> 2] = i; b = g; c[b >> 2] = j; c[(b + 4) >> 2] = i; c[f >> 2] = c[h >> 2]; c[(f + 4) >> 2] = c[(h + 4) >> 2]; c[e >> 2] = c[g >> 2]; c[(e + 4) >> 2] = c[(g + 4) >> 2]; gg(a, f, e); V = d; return; } function jg(a, b) { a = a | 0; b = b | 0; return ((xg(a, b) | 0) ^ 1) | 0; } function kg(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0; d = c[b >> 2] | 0; e = c[(b + 4) >> 2] | 0; if ((d | 0) == (c[(b + 8) >> 2] | 0)) yg(a, e, c[(b + 12) >> 2] | 0); else yg(a, e, ((c[d >> 2] | 0) + 4092) | 0); return; } function lg(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0; e = c[d >> 2] | 0; c[a >> 2] = e; c[(a + 4) >> 2] = c[(d + 4) >> 2]; c[(a + 8) >> 2] = e; c[(a + 12) >> 2] = b; return; } function mg(a) { a = a | 0; var b = 0; b = ((c[(a + 12) >> 2] | 0) + 20) | 0; c[b >> 2] = (c[b >> 2] | 0) + (((((c[a >> 2] | 0) - (c[(a + 8) >> 2] | 0)) | 0) / 44) | 0); return; } function ng(a) { a = a | 0; var b = 0, d = 0, e = 0; b = c[a >> 2] | 0; d = (a + 8) | 0; if ((b | 0) == (c[d >> 2] | 0)) { e = d; b = c[(e + 4) >> 2] | 0; d = a; c[d >> 2] = c[e >> 2]; c[(d + 4) >> 2] = b; } else { e = (b + 4) | 0; c[a >> 2] = e; c[(a + 4) >> 2] = c[e >> 2]; } return a | 0; } function og(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; p = V; V = (V + 48) | 0; f = (p + 32) | 0; e = (p + 28) | 0; i = (p + 8) | 0; j = (p + 4) | 0; k = p; o = (a + 8) | 0; d = c[o >> 2] | 0; l = (a + 12) | 0; n = c[l >> 2] | 0; g = n; do if ((d | 0) == (n | 0)) { n = (a + 4) | 0; m = c[n >> 2] | 0; q = c[a >> 2] | 0; h = q; if (m >>> 0 <= q >>> 0) { d = (g - h) | 0; d = (d | 0) == 0 ? 1 : d >> 1; qg(i, d, d >>> 2, (a + 12) | 0); c[j >> 2] = c[n >> 2]; c[k >> 2] = c[o >> 2]; c[e >> 2] = c[j >> 2]; c[f >> 2] = c[k >> 2]; ug(i, e, f); d = c[a >> 2] | 0; c[a >> 2] = c[i >> 2]; c[i >> 2] = d; d = (i + 4) | 0; q = c[n >> 2] | 0; c[n >> 2] = c[d >> 2]; c[d >> 2] = q; d = (i + 8) | 0; q = c[o >> 2] | 0; c[o >> 2] = c[d >> 2]; c[d >> 2] = q; d = (i + 12) | 0; q = c[l >> 2] | 0; c[l >> 2] = c[d >> 2]; c[d >> 2] = q; tg(i); d = c[o >> 2] | 0; break; } f = m; e = (((((f - h) >> 2) + 1) | 0) / -2) | 0; a = (m + (e << 2)) | 0; f = (d - f) | 0; if (!f) d = a; else { vr(a | 0, m | 0, f | 0) | 0; d = ((c[n >> 2] | 0) + (e << 2)) | 0; } q = (a + ((f >> 2) << 2)) | 0; c[o >> 2] = q; c[n >> 2] = d; d = q; } while (0); c[d >> 2] = c[b >> 2]; c[o >> 2] = (c[o >> 2] | 0) + 4; V = p; return; } function pg(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; p = V; V = (V + 48) | 0; e = (p + 32) | 0; d = (p + 28) | 0; h = (p + 8) | 0; i = (p + 4) | 0; j = p; o = (a + 4) | 0; m = c[o >> 2] | 0; n = c[a >> 2] | 0; k = n; do if ((m | 0) == (n | 0)) { n = (a + 8) | 0; l = c[n >> 2] | 0; g = (a + 12) | 0; q = c[g >> 2] | 0; f = q; if (l >>> 0 >= q >>> 0) { q = (f - k) | 0; q = (q | 0) == 0 ? 1 : q >> 1; qg(h, q, ((q + 3) | 0) >>> 2, (a + 12) | 0); c[i >> 2] = c[o >> 2]; c[j >> 2] = c[n >> 2]; c[d >> 2] = c[i >> 2]; c[e >> 2] = c[j >> 2]; ug(h, d, e); d = c[a >> 2] | 0; c[a >> 2] = c[h >> 2]; c[h >> 2] = d; d = (h + 4) | 0; q = c[o >> 2] | 0; c[o >> 2] = c[d >> 2]; c[d >> 2] = q; d = (h + 8) | 0; q = c[n >> 2] | 0; c[n >> 2] = c[d >> 2]; c[d >> 2] = q; d = (h + 12) | 0; q = c[g >> 2] | 0; c[g >> 2] = c[d >> 2]; c[d >> 2] = q; tg(h); d = c[o >> 2] | 0; break; } e = l; a = (((((f - e) >> 2) + 1) | 0) / 2) | 0; f = (l + (a << 2)) | 0; e = (e - m) | 0; d = (f + ((0 - (e >> 2)) << 2)) | 0; if (!e) { d = f; e = f; } else { vr(d | 0, m | 0, e | 0) | 0; e = ((c[n >> 2] | 0) + (a << 2)) | 0; } c[o >> 2] = d; c[n >> 2] = e; } else d = m; while (0); c[(d + -4) >> 2] = c[b >> 2]; c[o >> 2] = (c[o >> 2] | 0) + -4; V = p; return; } function qg(a, b, d, e) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; var f = 0; f = (a + 12) | 0; c[f >> 2] = 0; c[(a + 16) >> 2] = e; do if (b) if (b >>> 0 > 1073741823) { f = v(8) | 0; vq(f, 6723); c[f >> 2] = 5956; x(f | 0, 3928, 123); } else { e = eq(b << 2) | 0; break; } else e = 0; while (0); c[a >> 2] = e; d = (e + (d << 2)) | 0; c[(a + 8) >> 2] = d; c[(a + 4) >> 2] = d; c[f >> 2] = e + (b << 2); return; } function rg(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; p = V; V = (V + 48) | 0; f = (p + 32) | 0; e = (p + 28) | 0; i = (p + 8) | 0; j = (p + 4) | 0; k = p; o = (a + 8) | 0; d = c[o >> 2] | 0; l = (a + 12) | 0; n = c[l >> 2] | 0; g = n; do if ((d | 0) == (n | 0)) { n = (a + 4) | 0; m = c[n >> 2] | 0; q = c[a >> 2] | 0; h = q; if (m >>> 0 <= q >>> 0) { d = (g - h) | 0; d = (d | 0) == 0 ? 1 : d >> 1; qg(i, d, d >>> 2, c[(a + 16) >> 2] | 0); c[j >> 2] = c[n >> 2]; c[k >> 2] = c[o >> 2]; c[e >> 2] = c[j >> 2]; c[f >> 2] = c[k >> 2]; ug(i, e, f); d = c[a >> 2] | 0; c[a >> 2] = c[i >> 2]; c[i >> 2] = d; d = (i + 4) | 0; q = c[n >> 2] | 0; c[n >> 2] = c[d >> 2]; c[d >> 2] = q; d = (i + 8) | 0; q = c[o >> 2] | 0; c[o >> 2] = c[d >> 2]; c[d >> 2] = q; d = (i + 12) | 0; q = c[l >> 2] | 0; c[l >> 2] = c[d >> 2]; c[d >> 2] = q; tg(i); d = c[o >> 2] | 0; break; } f = m; e = (((((f - h) >> 2) + 1) | 0) / -2) | 0; a = (m + (e << 2)) | 0; f = (d - f) | 0; if (!f) d = a; else { vr(a | 0, m | 0, f | 0) | 0; d = ((c[n >> 2] | 0) + (e << 2)) | 0; } q = (a + ((f >> 2) << 2)) | 0; c[o >> 2] = q; c[n >> 2] = d; d = q; } while (0); c[d >> 2] = c[b >> 2]; c[o >> 2] = (c[o >> 2] | 0) + 4; V = p; return; } function sg(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; p = V; V = (V + 48) | 0; e = (p + 32) | 0; d = (p + 28) | 0; h = (p + 8) | 0; i = (p + 4) | 0; j = p; o = (a + 4) | 0; m = c[o >> 2] | 0; n = c[a >> 2] | 0; k = n; do if ((m | 0) == (n | 0)) { n = (a + 8) | 0; l = c[n >> 2] | 0; g = (a + 12) | 0; q = c[g >> 2] | 0; f = q; if (l >>> 0 >= q >>> 0) { q = (f - k) | 0; q = (q | 0) == 0 ? 1 : q >> 1; qg(h, q, ((q + 3) | 0) >>> 2, c[(a + 16) >> 2] | 0); c[i >> 2] = c[o >> 2]; c[j >> 2] = c[n >> 2]; c[d >> 2] = c[i >> 2]; c[e >> 2] = c[j >> 2]; ug(h, d, e); d = c[a >> 2] | 0; c[a >> 2] = c[h >> 2]; c[h >> 2] = d; d = (h + 4) | 0; q = c[o >> 2] | 0; c[o >> 2] = c[d >> 2]; c[d >> 2] = q; d = (h + 8) | 0; q = c[n >> 2] | 0; c[n >> 2] = c[d >> 2]; c[d >> 2] = q; d = (h + 12) | 0; q = c[g >> 2] | 0; c[g >> 2] = c[d >> 2]; c[d >> 2] = q; tg(h); d = c[o >> 2] | 0; break; } e = l; a = (((((f - e) >> 2) + 1) | 0) / 2) | 0; f = (l + (a << 2)) | 0; e = (e - m) | 0; d = (f + ((0 - (e >> 2)) << 2)) | 0; if (!e) { d = f; e = f; } else { vr(d | 0, m | 0, e | 0) | 0; e = ((c[n >> 2] | 0) + (a << 2)) | 0; } c[o >> 2] = d; c[n >> 2] = e; } else d = m; while (0); c[(d + -4) >> 2] = c[b >> 2]; c[o >> 2] = (c[o >> 2] | 0) + -4; V = p; return; } function tg(a) { a = a | 0; var b = 0, d = 0, e = 0; b = c[(a + 4) >> 2] | 0; d = (a + 8) | 0; e = c[d >> 2] | 0; if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -4 - b) | 0) >>> 2) << 2); b = c[a >> 2] | 0; if (b | 0) Da(b, ((c[(a + 12) >> 2] | 0) - b) | 0); return; } function ug(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0, g = 0, h = 0; h = V; V = (V + 16) | 0; g = h; f = c[b >> 2] | 0; vg(g, (a + 8) | 0, ((c[d >> 2] | 0) - f) >> 2); a = c[g >> 2] | 0; e = (g + 4) | 0; if ((a | 0) != (c[e >> 2] | 0)) { d = f; do { c[a >> 2] = c[d >> 2]; a = ((c[g >> 2] | 0) + 4) | 0; c[g >> 2] = a; d = (d + 4) | 0; } while ((a | 0) != (c[e >> 2] | 0)); c[b >> 2] = d; } wg(g); V = h; return; } function vg(a, b, d) { a = a | 0; b = b | 0; d = d | 0; c[a >> 2] = c[b >> 2]; c[(a + 4) >> 2] = (c[b >> 2] | 0) + (d << 2); c[(a + 8) >> 2] = b; return; } function wg(a) { a = a | 0; c[c[(a + 8) >> 2] >> 2] = c[a >> 2]; return; } function xg(a, b) { a = a | 0; b = b | 0; return ((c[(a + 4) >> 2] | 0) == (c[(b + 4) >> 2] | 0)) | 0; } function yg(a, b, d) { a = a | 0; b = b | 0; d = d | 0; c[a >> 2] = b; c[(a + 4) >> 2] = d; return; } function zg(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0; g = c[(b + 4) >> 2] | 0; d = c[(b + 16) >> 2] | 0; e = ((d >>> 0) / 93) | 0; f = (g + (e << 2)) | 0; if ((c[(b + 8) >> 2] | 0) == (g | 0)) b = 0; else b = ((c[f >> 2] | 0) + ((((d - ((e * 93) | 0)) | 0) * 44) | 0)) | 0; c[a >> 2] = f; c[(a + 4) >> 2] = b; return; } function Ag(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0; d = ((c[(b + 16) >> 2] | 0) + (c[(b + 20) >> 2] | 0)) | 0; g = c[(b + 4) >> 2] | 0; e = ((d >>> 0) / 93) | 0; f = (g + (e << 2)) | 0; if ((c[(b + 8) >> 2] | 0) == (g | 0)) b = 0; else b = ((c[f >> 2] | 0) + ((((d - ((e * 93) | 0)) | 0) * 44) | 0)) | 0; c[a >> 2] = f; c[(a + 4) >> 2] = b; return; } function Bg(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; i = V; V = (V + 16) | 0; e = (i + 8) | 0; g = i; Cg(e, a); fg(g, a); f = (e + 4) | 0; b = c[f >> 2] | 0; g = (g + 4) | 0; if ((b | 0) != (c[g >> 2] | 0)) do { Ic(b); b = ((c[f >> 2] | 0) + 44) | 0; c[f >> 2] = b; d = c[e >> 2] | 0; if (((b - (c[d >> 2] | 0)) | 0) == 4092) { b = (d + 4) | 0; c[e >> 2] = b; b = c[b >> 2] | 0; c[f >> 2] = b; } } while ((b | 0) != (c[g >> 2] | 0)); c[(a + 20) >> 2] = 0; f = (a + 8) | 0; e = (a + 4) | 0; d = c[e >> 2] | 0; b = ((c[f >> 2] | 0) - d) >> 2; if (b >>> 0 > 2) do { Da(c[d >> 2] | 0, 4092); d = ((c[e >> 2] | 0) + 4) | 0; c[e >> 2] = d; b = ((c[f >> 2] | 0) - d) >> 2; } while (b >>> 0 > 2); switch (b | 0) { case 1: { b = 46; h = 11; break; } case 2: { b = 93; h = 11; break; } default: { } } if ((h | 0) == 11) c[(a + 16) >> 2] = b; V = i; return; } function Cg(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0; g = c[(b + 4) >> 2] | 0; d = c[(b + 16) >> 2] | 0; e = ((d >>> 0) / 93) | 0; f = (g + (e << 2)) | 0; if ((c[(b + 8) >> 2] | 0) == (g | 0)) b = 0; else b = ((c[f >> 2] | 0) + ((((d - ((e * 93) | 0)) | 0) * 44) | 0)) | 0; c[a >> 2] = f; c[(a + 4) >> 2] = b; return; } function Dg(b, e, f) { b = b | 0; e = e | 0; f = f | 0; var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; m = V; V = (V + 16) | 0; l = m; j = (b + 4) | 0; if (!(a[j >> 0] | 0)) { l = De(e) | 0; Ee(l, f, c[b >> 2] | 0); l = c[b >> 2] | 0; i = (f + l) | 0; if (!l) g = 0; else { g = f; h = c[(b + 8) >> 2] | 0; while (1) { a[h >> 0] = a[g >> 0] | 0; g = (g + 1) | 0; if ((g | 0) == (i | 0)) break; else h = (h + 1) | 0; } g = c[b >> 2] | 0; } a[j >> 0] = 1; f = (f + g) | 0; } else { h = c[(b + 20) >> 2] | 0; g = c[(b + 8) >> 2] | 0; Cg(l, (b + 32) | 0); b = (b + 12) | 0; if ((g | 0) != (c[b >> 2] | 0)) { k = (l + 4) | 0; j = g; i = h; g = c[k >> 2] | 0; while (1) { h = d[j >> 0] | 0; h = Eg(((Zc(e, g) | 0) + h) | 0) | 0; a[i >> 0] = h; a[f >> 0] = h; a[j >> 0] = h; j = (j + 1) | 0; f = (f + 1) | 0; h = c[l >> 2] | 0; g = ((c[k >> 2] | 0) + 44) | 0; c[k >> 2] = g; if (((g - (c[h >> 2] | 0)) | 0) == 4092) { g = (h + 4) | 0; c[l >> 2] = g; g = c[g >> 2] | 0; c[k >> 2] = g; } if ((j | 0) == (c[b >> 2] | 0)) break; else i = (i + 1) | 0; } } } V = m; return f | 0; } function Eg(a) { a = a | 0; return (a & 255) | 0; } function Fg(a) { a = a | 0; pq(a); jp(a); return; } function Gg(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) ca[c[((c[a >> 2] | 0) + 4) >> 2] & 255](a); return; } function Hg(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 11262 ? (a + 12) | 0 : 0) | 0; } function Ig(a) { a = a | 0; Da(a, 16); return; } function Jg(a, b) { a = a | 0; b = b | 0; c[a >> 2] = 0; c[(a + 4) >> 2] = 0; c[(a + 8) >> 2] = 0; if (b | 0) { Yf(a, b); Lg(a, b); } return; } function Kg(a, b, d) { a = a | 0; b = b | 0; d = d | 0; c[a >> 2] = 0; c[(a + 4) >> 2] = 0; c[(a + 8) >> 2] = 0; c[(a + 12) >> 2] = 0; c[(a + 16) >> 2] = 0; c[(a + 20) >> 2] = 0; if (b | 0) Mg(a, b, d); return; } function Lg(b, d) { b = b | 0; d = d | 0; var e = 0, f = 0, g = 0; g = V; V = (V + 16) | 0; f = g; ag(f, b, d); d = (f + 4) | 0; b = c[d >> 2] | 0; e = (f + 8) | 0; if ((b | 0) != (c[e >> 2] | 0)) do { a[b >> 0] = 0; b = ((c[d >> 2] | 0) + 1) | 0; c[d >> 2] = b; } while ((b | 0) != (c[e >> 2] | 0)); bg(f); V = g; return; } function Mg(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; o = V; V = (V + 96) | 0; n = (o + 80) | 0; k = (o + 64) | 0; h = (o + 48) | 0; i = (o + 40) | 0; j = (o + 8) | 0; f = o; l = (o + 32) | 0; m = (o + 16) | 0; e = ((c[(a + 8) >> 2] | 0) - (c[(a + 4) >> 2] | 0)) | 0; e = (((e | 0) == 0 ? 0 : ((((e >> 2) * 93) | 0) + -1) | 0) - ((c[(a + 20) >> 2] | 0) + (c[(a + 16) >> 2] | 0))) | 0; if (e >>> 0 < b >>> 0) eg(a, (b - e) | 0); fg(i, a); fg(f, a); e = c[f >> 2] | 0; f = c[(f + 4) >> 2] | 0; g = j; c[g >> 2] = e; c[(g + 4) >> 2] = f; g = e; if (b | 0) { e = (((((f - (c[e >> 2] | 0)) | 0) / 44) | 0) + b) | 0; if ((e | 0) > 0) { b = ((e >>> 0) / 93) | 0; g = (g + (b << 2)) | 0; c[j >> 2] = g; e = ((c[g >> 2] | 0) + ((((e - ((b * 93) | 0)) | 0) * 44) | 0)) | 0; } else { e = (92 - e) | 0; b = (g + ((((e | 0) / -93) | 0) << 2)) | 0; c[j >> 2] = b; e = ((c[b >> 2] | 0) + ((((92 - ((e | 0) % 93 | 0)) | 0) * 44) | 0)) | 0; } c[(j + 4) >> 2] = e; } c[k >> 2] = c[i >> 2]; c[(k + 4) >> 2] = c[(i + 4) >> 2]; c[n >> 2] = c[j >> 2]; c[(n + 4) >> 2] = c[(j + 4) >> 2]; gg(h, k, n); hg(n, h); ig(k, h); if (jg(n, k) | 0) { f = (m + 4) | 0; do { kg(l, n); lg(m, a, l); e = c[m >> 2] | 0; if ((e | 0) != (c[f >> 2] | 0)) do { Wc(e, d); e = ((c[m >> 2] | 0) + 44) | 0; c[m >> 2] = e; } while ((e | 0) != (c[f >> 2] | 0)); mg(m); ng(n) | 0; } while (jg(n, k) | 0); } V = o; return; } function Ng(a) { a = a | 0; var b = 0, d = 0; Bg(a); b = c[(a + 4) >> 2] | 0; d = c[(a + 8) >> 2] | 0; if ((b | 0) != (d | 0)) do { Da(c[b >> 2] | 0, 4092); b = (b + 4) | 0; } while ((b | 0) != (d | 0)); dg(a); return; } function Og(a, b, d) { a = a | 0; b = b | 0; d = d | 0; Md(a); c[a >> 2] = 4924; c[(a + 4) >> 2] = b; c[(a + 8) >> 2] = d; return; } function Pg(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 4944; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; Wg(a, e); V = d; return; } function Qg(a, b) { a = a | 0; b = b | 0; return Tg(c[(a + 8) >> 2] | 0, c[(a + 4) >> 2] | 0, b) | 0; } function Rg(a) { a = a | 0; var b = 0, d = 0; c[a >> 2] = 4924; d = (a + 8) | 0; b = c[d >> 2] | 0; c[d >> 2] = 0; if (b | 0) { Vg(b); jp(b); } Qd(a); return; } function Sg(a) { a = a | 0; Rg(a); jp(a); return; } function Tg(a, b, c) { a = a | 0; b = b | 0; c = c | 0; return Ug((a + 4784) | 0, b, Be(a, b, c) | 0) | 0; } function Ug(b, c, d) { b = b | 0; c = c | 0; d = d | 0; if (a[b >> 0] | 0) { nc(c); a[b >> 0] = 0; } return d | 0; } function Vg(a) { a = a | 0; ze(a); return; } function Wg(a, b) { a = a | 0; b = b | 0; return; } function Xg(a) { a = a | 0; pq(a); jp(a); return; } function Yg(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) ca[c[((c[a >> 2] | 0) + 8) >> 2] & 255](a); return; } function Zg(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 12004 ? (a + 12) | 0 : 0) | 0; } function _g(a) { a = a | 0; Da(a, 16); return; } function $g(b) { b = b | 0; a[b >> 0] = 1; return; } function ah(a, b, d) { a = a | 0; b = b | 0; d = d | 0; Md(a); c[a >> 2] = 4972; c[(a + 4) >> 2] = b; c[(a + 8) >> 2] = d; return; } function bh(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 4992; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; Wg(a, e); V = d; return; } function ch(a, b) { a = a | 0; b = b | 0; return fh(c[(a + 8) >> 2] | 0, c[(a + 4) >> 2] | 0, b) | 0; } function dh(a) { a = a | 0; var b = 0, d = 0; c[a >> 2] = 4972; d = (a + 8) | 0; b = c[d >> 2] | 0; c[d >> 2] = 0; if (b | 0) { hh(b); jp(b); } Qd(a); return; } function eh(a) { a = a | 0; dh(a); jp(a); return; } function fh(a, b, c) { a = a | 0; b = b | 0; c = c | 0; return gh((a + 4784) | 0, b, Be(a, b, c) | 0) | 0; } function gh(a, b, c) { a = a | 0; b = b | 0; c = c | 0; return Ug((a + 328) | 0, b, qf(a, b, c) | 0) | 0; } function hh(a) { a = a | 0; ih((a + 4784) | 0); ze(a); return; } function ih(a) { a = a | 0; of(a); return; } function jh(a) { a = a | 0; pq(a); jp(a); return; } function kh(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) ca[c[((c[a >> 2] | 0) + 8) >> 2] & 255](a); return; } function lh(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 12827 ? (a + 12) | 0 : 0) | 0; } function mh(a) { a = a | 0; Da(a, 16); return; } function nh(a) { a = a | 0; cf(a); $g((a + 328) | 0); return; } function oh(a, b, d) { a = a | 0; b = b | 0; d = d | 0; Md(a); c[a >> 2] = 5020; c[(a + 4) >> 2] = b; c[(a + 8) >> 2] = d; return; } function ph(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 5040; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; Wg(a, e); V = d; return; } function qh(a, b) { a = a | 0; b = b | 0; return th(c[(a + 8) >> 2] | 0, c[(a + 4) >> 2] | 0, b) | 0; } function rh(a) { a = a | 0; var b = 0, d = 0; c[a >> 2] = 5020; d = (a + 8) | 0; b = c[d >> 2] | 0; c[d >> 2] = 0; if (b | 0) { vh(b); jp(b); } Qd(a); return; } function sh(a) { a = a | 0; rh(a); jp(a); return; } function th(a, b, c) { a = a | 0; b = b | 0; c = c | 0; return uh((a + 4784) | 0, b, Be(a, b, c) | 0) | 0; } function uh(a, b, c) { a = a | 0; b = b | 0; c = c | 0; return Ug((a + 316) | 0, b, If(a, b, c) | 0) | 0; } function vh(a) { a = a | 0; wh((a + 4784) | 0); ze(a); return; } function wh(a) { a = a | 0; Hf(a); return; } function xh(a) { a = a | 0; pq(a); jp(a); return; } function yh(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) ca[c[((c[a >> 2] | 0) + 8) >> 2] & 255](a); return; } function zh(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 13672 ? (a + 12) | 0 : 0) | 0; } function Ah(a) { a = a | 0; Da(a, 16); return; } function Bh(a) { a = a | 0; Cf(a); $g((a + 316) | 0); return; } function Ch(a, b, d) { a = a | 0; b = b | 0; d = d | 0; Md(a); c[a >> 2] = 5068; c[(a + 4) >> 2] = b; c[(a + 8) >> 2] = d; return; } function Dh(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 5088; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; Wg(a, e); V = d; return; } function Eh(a, b) { a = a | 0; b = b | 0; return Hh(c[(a + 8) >> 2] | 0, c[(a + 4) >> 2] | 0, b) | 0; } function Fh(a) { a = a | 0; var b = 0, d = 0; c[a >> 2] = 5068; d = (a + 8) | 0; b = c[d >> 2] | 0; c[d >> 2] = 0; if (b | 0) { Jh(b); jp(b); } Qd(a); return; } function Gh(a) { a = a | 0; Fh(a); jp(a); return; } function Hh(a, b, c) { a = a | 0; b = b | 0; c = c | 0; return Ih((a + 4784) | 0, b, Be(a, b, c) | 0) | 0; } function Ih(a, b, c) { a = a | 0; b = b | 0; c = c | 0; return uh((a + 328) | 0, b, qf(a, b, c) | 0) | 0; } function Jh(a) { a = a | 0; Kh((a + 4784) | 0); ze(a); return; } function Kh(a) { a = a | 0; wh((a + 328) | 0); of(a); return; } function Lh(a) { a = a | 0; pq(a); jp(a); return; } function Mh(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) ca[c[((c[a >> 2] | 0) + 8) >> 2] & 255](a); return; } function Nh(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 14573 ? (a + 12) | 0 : 0) | 0; } function Oh(a) { a = a | 0; Da(a, 16); return; } function Ph(a) { a = a | 0; cf(a); Bh((a + 328) | 0); return; } function Qh(a) { a = a | 0; return (a + 20) | 0; } function Rh(a, b, d) { a = a | 0; b = b | 0; d = d | 0; c[a >> 2] = b; c[(a + 4) >> 2] = d; c[(a + 8) >> 2] = 0; return; } function Sh(a, b) { a = a | 0; b = b | 0; c[a >> 2] = b; c[(a + 4) >> 2] = 0; c[(a + 8) >> 2] = -1; return; } function Th(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0; d = V; V = (V + 16) | 0; e = (d + 4) | 0; g = d; f = eq(24) | 0; ii(f, b); c[g >> 2] = 0; c[e >> 2] = c[g >> 2]; ji(a, f, e); V = d; return; } function Uh(a) { a = a | 0; var b = 0, d = 0; a = c[(a + 4) >> 2] | 0; if ( a | 0 ? ((d = (a + 4) | 0), (b = c[d >> 2] | 0), (c[d >> 2] = b + -1), (b | 0) == 0) : 0 ) { ca[c[((c[a >> 2] | 0) + 8) >> 2] & 255](a); qq(a); } return; } function Vh(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 5116; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; Xh(a, e); V = d; return; } function Wh(a) { a = a | 0; var b = 0, d = 0; a = c[(a + 4) >> 2] | 0; if ( a | 0 ? ((d = (a + 4) | 0), (b = c[d >> 2] | 0), (c[d >> 2] = b + -1), (b | 0) == 0) : 0 ) { ca[c[((c[a >> 2] | 0) + 8) >> 2] & 255](a); qq(a); } return; } function Xh(a, b) { a = a | 0; b = b | 0; return; } function Yh(a) { a = a | 0; pq(a); jp(a); return; } function Zh(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) jp(a); return; } function _h(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 14966 ? (a + 12) | 0 : 0) | 0; } function $h(a) { a = a | 0; Da(a, 16); return; } function ai(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 5144; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; ci(a, e); V = d; return; } function bi(a) { a = a | 0; var b = 0, d = 0; a = c[(a + 4) >> 2] | 0; if ( a | 0 ? ((d = (a + 4) | 0), (b = c[d >> 2] | 0), (c[d >> 2] = b + -1), (b | 0) == 0) : 0 ) { ca[c[((c[a >> 2] | 0) + 8) >> 2] & 255](a); qq(a); } return; } function ci(a, b) { a = a | 0; b = b | 0; return; } function di(a) { a = a | 0; pq(a); jp(a); return; } function ei(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) { hi(a); jp(a); } return; } function fi(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 15127 ? (a + 12) | 0 : 0) | 0; } function gi(a) { a = a | 0; Da(a, 16); return; } function hi(a) { a = a | 0; return; } function ii(b, d) { b = b | 0; d = d | 0; Md(b); c[b >> 2] = 5172; c[(b + 4) >> 2] = d; c[(b + 8) >> 2] = 0; c[(b + 12) >> 2] = 0; c[(b + 16) >> 2] = 0; a[(b + 20) >> 0] = 1; return; } function ji(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 5192; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; pi(a, e); V = d; return; } function ki(b, d) { b = b | 0; d = d | 0; var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; k = V; V = (V + 16) | 0; h = k; e = c[(b + 8) >> 2] | 0; i = c[(b + 12) >> 2] | 0; if ((e | 0) != (i | 0)) { j = (h + 4) | 0; do { f = c[e >> 2] | 0; c[h >> 2] = f; g = c[(e + 4) >> 2] | 0; c[j >> 2] = g; if (g | 0) { g = (g + 4) | 0; c[g >> 2] = (c[g >> 2] | 0) + 1; } d = $[c[((c[f >> 2] | 0) + 12) >> 2] & 63](f, d) | 0; Sd(h); e = (e + 8) | 0; } while ((e | 0) != (i | 0)); } e = (b + 20) | 0; if (a[e >> 0] | 0) { a[e >> 0] = 0; ni(c[(b + 4) >> 2] | 0); } V = k; return d | 0; } function li(a) { a = a | 0; c[a >> 2] = 5172; Td((a + 8) | 0); Qd(a); return; } function mi(a) { a = a | 0; li(a); jp(a); return; } function ni(a) { a = a | 0; var b = 0; b = ((oi(c[a >> 2] | 0) | 0) & 255) << 24; b = (((oi(c[a >> 2] | 0) | 0) & 255) << 16) | b; b = b | (((oi(c[a >> 2] | 0) | 0) & 255) << 8); c[(a + 4) >> 2] = b | ((oi(c[a >> 2] | 0) | 0) & 255); return; } function oi(b) { b = b | 0; var d = 0, e = 0; d = c[b >> 2] | 0; e = (b + 8) | 0; b = c[e >> 2] | 0; c[e >> 2] = b + 1; return a[(d + b) >> 0] | 0; } function pi(a, b) { a = a | 0; b = b | 0; return; } function qi(a) { a = a | 0; pq(a); jp(a); return; } function ri(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) ca[c[((c[a >> 2] | 0) + 8) >> 2] & 255](a); return; } function si(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 15450 ? (a + 12) | 0 : 0) | 0; } function ti(a) { a = a | 0; Da(a, 16); return; } function ui(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0; j = V; V = (V + 32) | 0; e = (j + 12) | 0; f = j; b = (j + 8) | 0; h = eq(180) | 0; wi(h, c[(a + 4) >> 2] | 0); g = (a + 8) | 0; c[b >> 2] = 0; c[e >> 2] = c[b >> 2]; xi(f, h, e); h = (a + 12) | 0; b = c[h >> 2] | 0; i = (a + 16) | 0; do if (b >>> 0 >= (c[i >> 2] | 0) >>> 0) { b = (((b - (c[g >> 2] | 0)) >> 3) + 1) | 0; d = ee(g) | 0; if (d >>> 0 < b >>> 0) cr(g); else { k = c[g >> 2] | 0; l = ((c[i >> 2] | 0) - k) | 0; i = l >> 2; be( e, (l >> 3) >>> 0 < (d >>> 1) >>> 0 ? (i >>> 0 < b >>> 0 ? b : i) : d, ((c[h >> 2] | 0) - k) >> 3, (a + 16) | 0 ); i = (e + 8) | 0; h = c[i >> 2] | 0; c[h >> 2] = c[f >> 2]; a = (f + 4) | 0; c[(h + 4) >> 2] = c[a >> 2]; c[f >> 2] = 0; c[a >> 2] = 0; c[i >> 2] = h + 8; ce(g, e); de(e); break; } } else { $d(e, g, 1); l = (e + 4) | 0; k = c[l >> 2] | 0; c[k >> 2] = c[f >> 2]; i = (f + 4) | 0; c[(k + 4) >> 2] = c[i >> 2]; c[f >> 2] = 0; c[i >> 2] = 0; c[l >> 2] = k + 8; ae(e); } while (0); Sd(f); V = j; return; } function vi(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0; j = V; V = (V + 32) | 0; e = (j + 12) | 0; f = j; b = (j + 8) | 0; h = eq(180) | 0; Ui(h, c[(a + 4) >> 2] | 0); g = (a + 8) | 0; c[b >> 2] = 0; c[e >> 2] = c[b >> 2]; Vi(f, h, e); h = (a + 12) | 0; b = c[h >> 2] | 0; i = (a + 16) | 0; do if (b >>> 0 >= (c[i >> 2] | 0) >>> 0) { b = (((b - (c[g >> 2] | 0)) >> 3) + 1) | 0; d = ee(g) | 0; if (d >>> 0 < b >>> 0) cr(g); else { k = c[g >> 2] | 0; l = ((c[i >> 2] | 0) - k) | 0; i = l >> 2; be( e, (l >> 3) >>> 0 < (d >>> 1) >>> 0 ? (i >>> 0 < b >>> 0 ? b : i) : d, ((c[h >> 2] | 0) - k) >> 3, (a + 16) | 0 ); i = (e + 8) | 0; h = c[i >> 2] | 0; c[h >> 2] = c[f >> 2]; a = (f + 4) | 0; c[(h + 4) >> 2] = c[a >> 2]; c[f >> 2] = 0; c[a >> 2] = 0; c[i >> 2] = h + 8; ce(g, e); de(e); break; } } else { $d(e, g, 1); l = (e + 4) | 0; k = c[l >> 2] | 0; c[k >> 2] = c[f >> 2]; i = (f + 4) | 0; c[(k + 4) >> 2] = c[i >> 2]; c[f >> 2] = 0; c[i >> 2] = 0; c[l >> 2] = k + 8; ae(e); } while (0); Sd(f); V = j; return; } function wi(a, b) { a = a | 0; b = b | 0; fe(a); c[a >> 2] = 5220; c[(a + 4) >> 2] = b; yi((a + 8) | 0); return; } function xi(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 5244; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; Xe(a, e); V = d; return; } function yi(b) { b = b | 0; xe(b, 32, 1, 8, 0); mc((b + 80) | 0, 32, 1, 8, 0); a[(b + 160) >> 0] = 0; a[(b + 161) >> 0] = 0; Ci((b + 164) | 0); return; } function zi(a) { a = a | 0; c[a >> 2] = 5220; Di((a + 8) | 0); le(a); return; } function Ai(a) { a = a | 0; zi(a); jp(a); return; } function Bi(a, b) { a = a | 0; b = b | 0; return Ei((a + 8) | 0, c[(a + 4) >> 2] | 0, b) | 0; } function Ci(b) { b = b | 0; a[(b + 4) >> 0] = 0; return; } function Di(a) { a = a | 0; qc((a + 80) | 0); ye(a); return; } function Ei(b, d, e) { b = b | 0; d = d | 0; e = e | 0; var f = 0, g = 0, h = 0; h = V; V = (V + 16) | 0; f = h; if (!(a[(b + 161) >> 0] | 0)) oc((b + 80) | 0); g = (b + 164) | 0; if (Fi(g) | 0) { d = Gi((b + 80) | 0, d, c[g >> 2] | 0, 0) | 0; c[f >> 2] = d; Se(d, e); } else { Ii(Hi(d) | 0, e, 4); c[f >> 2] = Ne(e) | 0; } Ji(g, f); V = h; return (e + 4) | 0; } function Fi(b) { b = b | 0; return ((a[(b + 4) >> 0] | 0) != 0) | 0; } function Gi(a, b, d, e) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; d = ((Ki(a, b, ((c[(a + 36) >> 2] | 0) + ((e * 44) | 0)) | 0) | 0) + d) | 0; b = c[(a + 24) >> 2] | 0; if ((d | 0) < 0) return (d + b) | 0; else return (d - (d >>> 0 < b >>> 0 ? 0 : b)) | 0; return 0; } function Hi(a) { a = a | 0; return c[a >> 2] | 0; } function Ii(b, c, d) { b = b | 0; c = c | 0; d = d | 0; var e = 0; if ((d | 0) > 0) { e = 0; do { a[(c + e) >> 0] = oi(b) | 0; e = (e + 1) | 0; } while ((e | 0) != (d | 0)); } return; } function Ji(b, d) { b = b | 0; d = d | 0; var e = 0; e = (b + 4) | 0; if (!(a[e >> 0] | 0)) a[e >> 0] = 1; c[b >> 2] = c[d >> 2]; return; } function Ki(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0; d = Li(b, d) | 0; c[a >> 2] = d; do if (d) { if (d >>> 0 >= 32) { d = c[(a + 28) >> 2] | 0; break; } e = c[(a + 12) >> 2] | 0; if (d >>> 0 > e >>> 0) { e = (d - e) | 0; d = Li(b, ((c[(a + 68) >> 2] | 0) + ((((d + -1) | 0) * 44) | 0)) | 0) | 0; e = (d << e) | (Mi(b, e) | 0); } else e = Li(b, ((c[(a + 68) >> 2] | 0) + ((((d + -1) | 0) * 44) | 0)) | 0) | 0; d = c[a >> 2] | 0; if ((e | 0) < ((1 << (d + -1)) | 0)) { d = (e + 1 + (-1 << d)) | 0; break; } else { d = (e + 1) | 0; break; } } else d = Ni(b, (a + 48) | 0) | 0; while (0); return d | 0; } function Li(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; n = (a + 8) | 0; m = c[n >> 2] | 0; f = c[(b + 16) >> 2] | 0; if (f) { e = (a + 4) | 0; d = c[e >> 2] | 0; l = m >>> 15; c[n >> 2] = l; j = ((d >>> 0) / (l >>> 0)) | 0; i = j >>> (c[(b + 40) >> 2] | 0); g = c[(f + (i << 2)) >> 2] | 0; i = ((c[(f + ((i + 1) << 2)) >> 2] | 0) + 1) | 0; h = (g + 1) | 0; k = c[(b + 8) >> 2] | 0; if (i >>> 0 > h >>> 0) { f = g; g = i; do { h = ((g + f) | 0) >>> 1; i = (c[(k + (h << 2)) >> 2] | 0) >>> 0 > j >>> 0; f = i ? f : h; g = i ? h : g; h = (f + 1) | 0; } while (g >>> 0 > h >>> 0); g = f; } f = q(c[(k + (g << 2)) >> 2] | 0, l) | 0; if ((g | 0) == (c[(b + 32) >> 2] | 0)) h = m; else h = q(c[(k + (h << 2)) >> 2] | 0, l) | 0; } else { k = m >>> 15; c[n >> 2] = k; i = c[b >> 2] | 0; l = c[(b + 8) >> 2] | 0; e = (a + 4) | 0; d = c[e >> 2] | 0; j = i >>> 1; f = 0; h = m; g = 0; do { o = q(c[(l + (j << 2)) >> 2] | 0, k) | 0; m = o >>> 0 > d >>> 0; h = m ? o : h; f = m ? f : o; g = m ? g : j; i = m ? j : i; j = ((g + i) | 0) >>> 1; } while ((j | 0) != (g | 0)); } c[e >> 2] = d - f; o = (h - f) | 0; c[n >> 2] = o; if (o >>> 0 < 16777216) Oi(a); n = ((c[(b + 12) >> 2] | 0) + (g << 2)) | 0; c[n >> 2] = (c[n >> 2] | 0) + 1; n = (b + 28) | 0; o = ((c[n >> 2] | 0) + -1) | 0; c[n >> 2] = o; if (!o) Xc(b); return g | 0; } function Mi(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0; if (b >>> 0 > 19) { d = (Pi(a) | 0) & 65535; return ((Mi(a, (b + -16) | 0) | 0) << 16) | d | 0; } e = (a + 4) | 0; f = c[e >> 2] | 0; g = (a + 8) | 0; d = (c[g >> 2] | 0) >>> b; c[g >> 2] = d; b = ((f >>> 0) / (d >>> 0)) | 0; c[e >> 2] = f - (q(b, d) | 0); if (d >>> 0 < 16777216) Oi(a); return b | 0; } function Ni(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; e = (a + 8) | 0; f = c[e >> 2] | 0; d = q(f >>> 13, c[(b + 8) >> 2] | 0) | 0; g = (a + 4) | 0; h = c[g >> 2] | 0; i = h >>> 0 >= d >>> 0; if (i) { c[g >> 2] = h - d; d = (f - d) | 0; c[e >> 2] = d; } else { c[e >> 2] = d; h = (b + 12) | 0; c[h >> 2] = (c[h >> 2] | 0) + 1; } if (d >>> 0 < 16777216) Oi(a); h = (b + 4) | 0; a = ((c[h >> 2] | 0) + -1) | 0; c[h >> 2] = a; if (!a) cd(b); return (i & 1) | 0; } function Oi(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0; b = (a + 4) | 0; d = (a + 8) | 0; e = c[b >> 2] | 0; do { e = (e << 8) | ((oi(c[a >> 2] | 0) | 0) & 255); c[b >> 2] = e; f = c[d >> 2] << 8; c[d >> 2] = f; } while (f >>> 0 < 16777216); return; } function Pi(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0; d = (a + 4) | 0; f = c[d >> 2] | 0; b = (a + 8) | 0; e = (c[b >> 2] | 0) >>> 16; c[b >> 2] = e; b = ((f >>> 0) / (e >>> 0)) | 0; c[d >> 2] = f - (q(b, e) | 0); Oi(a); return (b & 65535) | 0; } function Qi(a) { a = a | 0; pq(a); jp(a); return; } function Ri(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) ca[c[((c[a >> 2] | 0) + 4) >> 2] & 255](a); return; } function Si(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 15904 ? (a + 12) | 0 : 0) | 0; } function Ti(a) { a = a | 0; Da(a, 16); return; } function Ui(a, b) { a = a | 0; b = b | 0; fe(a); c[a >> 2] = 5272; c[(a + 4) >> 2] = b; Wi((a + 8) | 0); return; } function Vi(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 5296; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; Xe(a, e); V = d; return; } function Wi(b) { b = b | 0; xe(b, 32, 1, 8, 0); mc((b + 80) | 0, 32, 1, 8, 0); a[(b + 160) >> 0] = 0; a[(b + 161) >> 0] = 0; _i((b + 164) | 0); return; } function Xi(a) { a = a | 0; c[a >> 2] = 5272; $i((a + 8) | 0); le(a); return; } function Yi(a) { a = a | 0; Xi(a); jp(a); return; } function Zi(a, b) { a = a | 0; b = b | 0; return aj((a + 8) | 0, c[(a + 4) >> 2] | 0, b) | 0; } function _i(b) { b = b | 0; a[(b + 4) >> 0] = 0; return; } function $i(a) { a = a | 0; qc((a + 80) | 0); ye(a); return; } function aj(b, d, e) { b = b | 0; d = d | 0; e = e | 0; var f = 0, g = 0, h = 0; h = V; V = (V + 16) | 0; f = h; if (!(a[(b + 161) >> 0] | 0)) oc((b + 80) | 0); g = (b + 164) | 0; if (bj(g) | 0) { d = Gi((b + 80) | 0, d, c[g >> 2] | 0, 0) | 0; c[f >> 2] = d; We(d, e); } else { Ii(Hi(d) | 0, e, 4); c[f >> 2] = Re(e) | 0; } cj(g, f); V = h; return (e + 4) | 0; } function bj(b) { b = b | 0; return ((a[(b + 4) >> 0] | 0) != 0) | 0; } function cj(b, d) { b = b | 0; d = d | 0; var e = 0; e = (b + 4) | 0; if (!(a[e >> 0] | 0)) a[e >> 0] = 1; c[b >> 2] = c[d >> 2]; return; } function dj(a) { a = a | 0; pq(a); jp(a); return; } function ej(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) ca[c[((c[a >> 2] | 0) + 4) >> 2] & 255](a); return; } function fj(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 16402 ? (a + 12) | 0 : 0) | 0; } function gj(a) { a = a | 0; Da(a, 16); return; } function hj(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0; j = V; V = (V + 32) | 0; e = (j + 12) | 0; f = j; b = (j + 8) | 0; h = eq(172) | 0; jj(h, c[(a + 4) >> 2] | 0); g = (a + 8) | 0; c[b >> 2] = 0; c[e >> 2] = c[b >> 2]; kj(f, h, e); h = (a + 12) | 0; b = c[h >> 2] | 0; i = (a + 16) | 0; do if (b >>> 0 >= (c[i >> 2] | 0) >>> 0) { b = (((b - (c[g >> 2] | 0)) >> 3) + 1) | 0; d = ee(g) | 0; if (d >>> 0 < b >>> 0) cr(g); else { k = c[g >> 2] | 0; l = ((c[i >> 2] | 0) - k) | 0; i = l >> 2; be( e, (l >> 3) >>> 0 < (d >>> 1) >>> 0 ? (i >>> 0 < b >>> 0 ? b : i) : d, ((c[h >> 2] | 0) - k) >> 3, (a + 16) | 0 ); i = (e + 8) | 0; h = c[i >> 2] | 0; c[h >> 2] = c[f >> 2]; a = (f + 4) | 0; c[(h + 4) >> 2] = c[a >> 2]; c[f >> 2] = 0; c[a >> 2] = 0; c[i >> 2] = h + 8; ce(g, e); de(e); break; } } else { $d(e, g, 1); l = (e + 4) | 0; k = c[l >> 2] | 0; c[k >> 2] = c[f >> 2]; i = (f + 4) | 0; c[(k + 4) >> 2] = c[i >> 2]; c[f >> 2] = 0; c[i >> 2] = 0; c[l >> 2] = k + 8; ae(e); } while (0); Sd(f); V = j; return; } function ij(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0; j = V; V = (V + 32) | 0; e = (j + 12) | 0; f = j; b = (j + 8) | 0; h = eq(176) | 0; Aj(h, c[(a + 4) >> 2] | 0); g = (a + 8) | 0; c[b >> 2] = 0; c[e >> 2] = c[b >> 2]; Bj(f, h, e); h = (a + 12) | 0; b = c[h >> 2] | 0; i = (a + 16) | 0; do if (b >>> 0 >= (c[i >> 2] | 0) >>> 0) { b = (((b - (c[g >> 2] | 0)) >> 3) + 1) | 0; d = ee(g) | 0; if (d >>> 0 < b >>> 0) cr(g); else { k = c[g >> 2] | 0; l = ((c[i >> 2] | 0) - k) | 0; i = l >> 2; be( e, (l >> 3) >>> 0 < (d >>> 1) >>> 0 ? (i >>> 0 < b >>> 0 ? b : i) : d, ((c[h >> 2] | 0) - k) >> 3, (a + 16) | 0 ); i = (e + 8) | 0; h = c[i >> 2] | 0; c[h >> 2] = c[f >> 2]; a = (f + 4) | 0; c[(h + 4) >> 2] = c[a >> 2]; c[f >> 2] = 0; c[a >> 2] = 0; c[i >> 2] = h + 8; ce(g, e); de(e); break; } } else { $d(e, g, 1); l = (e + 4) | 0; k = c[l >> 2] | 0; c[k >> 2] = c[f >> 2]; i = (f + 4) | 0; c[(k + 4) >> 2] = c[i >> 2]; c[f >> 2] = 0; c[i >> 2] = 0; c[l >> 2] = k + 8; ae(e); } while (0); Sd(f); V = j; return; } function jj(a, b) { a = a | 0; b = b | 0; fe(a); c[a >> 2] = 5324; c[(a + 4) >> 2] = b; lj((a + 8) | 0); return; } function kj(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 5348; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; Xe(a, e); V = d; return; } function lj(b) { b = b | 0; xe(b, 8, 1, 8, 0); mc((b + 80) | 0, 8, 1, 8, 0); a[(b + 160) >> 0] = 0; a[(b + 161) >> 0] = 0; pj((b + 162) | 0); return; } function mj(a) { a = a | 0; c[a >> 2] = 5324; qj((a + 8) | 0); le(a); return; } function nj(a) { a = a | 0; mj(a); jp(a); return; } function oj(a, b) { a = a | 0; b = b | 0; return rj((a + 8) | 0, c[(a + 4) >> 2] | 0, b) | 0; } function pj(b) { b = b | 0; a[(b + 1) >> 0] = 0; return; } function qj(a) { a = a | 0; qc((a + 80) | 0); ye(a); return; } function rj(b, c, d) { b = b | 0; c = c | 0; d = d | 0; var e = 0, f = 0, g = 0; g = V; V = (V + 16) | 0; e = g; if (!(a[(b + 161) >> 0] | 0)) oc((b + 80) | 0); f = (b + 162) | 0; if (sj(f) | 0) { c = (Gi((b + 80) | 0, c, a[f >> 0] | 0, 0) | 0) & 255; a[e >> 0] = c; tj(c, d); } else { Ii(Hi(c) | 0, d, 1); a[e >> 0] = uj(d) | 0; } vj(f, e); V = g; return (d + 1) | 0; } function sj(b) { b = b | 0; return ((a[(b + 1) >> 0] | 0) != 0) | 0; } function tj(b, c) { b = b | 0; c = c | 0; a[c >> 0] = b; return; } function uj(b) { b = b | 0; return a[b >> 0] | 0; } function vj(b, c) { b = b | 0; c = c | 0; var d = 0; d = (b + 1) | 0; if (!(a[d >> 0] | 0)) a[d >> 0] = 1; a[b >> 0] = a[c >> 0] | 0; return; } function wj(a) { a = a | 0; pq(a); jp(a); return; } function xj(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) ca[c[((c[a >> 2] | 0) + 4) >> 2] & 255](a); return; } function yj(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 16900 ? (a + 12) | 0 : 0) | 0; } function zj(a) { a = a | 0; Da(a, 16); return; } function Aj(a, b) { a = a | 0; b = b | 0; fe(a); c[a >> 2] = 5376; c[(a + 4) >> 2] = b; Cj((a + 8) | 0); return; } function Bj(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 5400; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; Xe(a, e); V = d; return; } function Cj(b) { b = b | 0; xe(b, 16, 1, 8, 0); mc((b + 80) | 0, 16, 1, 8, 0); a[(b + 160) >> 0] = 0; a[(b + 161) >> 0] = 0; Gj((b + 162) | 0); return; } function Dj(a) { a = a | 0; c[a >> 2] = 5376; Hj((a + 8) | 0); le(a); return; } function Ej(a) { a = a | 0; Dj(a); jp(a); return; } function Fj(a, b) { a = a | 0; b = b | 0; return Ij((a + 8) | 0, c[(a + 4) >> 2] | 0, b) | 0; } function Gj(b) { b = b | 0; a[(b + 2) >> 0] = 0; return; } function Hj(a) { a = a | 0; qc((a + 80) | 0); ye(a); return; } function Ij(c, d, e) { c = c | 0; d = d | 0; e = e | 0; var f = 0, g = 0, h = 0; h = V; V = (V + 16) | 0; f = h; if (!(a[(c + 161) >> 0] | 0)) oc((c + 80) | 0); g = (c + 162) | 0; if (Jj(g) | 0) { d = (Gi((c + 80) | 0, d, b[g >> 1] | 0, 0) | 0) & 65535; b[f >> 1] = d; Kj(d, e); } else { Ii(Hi(d) | 0, e, 2); b[f >> 1] = Lj(e) | 0; } Mj(g, f); V = h; return (e + 2) | 0; } function Jj(b) { b = b | 0; return ((a[(b + 2) >> 0] | 0) != 0) | 0; } function Kj(a, b) { a = a | 0; b = b | 0; Te(a, b); return; } function Lj(a) { a = a | 0; return Oe(a) | 0; } function Mj(c, d) { c = c | 0; d = d | 0; var e = 0; e = (c + 2) | 0; if (!(a[e >> 0] | 0)) a[e >> 0] = 1; b[c >> 1] = b[d >> 1] | 0; return; } function Nj(a) { a = a | 0; pq(a); jp(a); return; } function Oj(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) ca[c[((c[a >> 2] | 0) + 4) >> 2] & 255](a); return; } function Pj(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 17398 ? (a + 12) | 0 : 0) | 0; } function Qj(a) { a = a | 0; Da(a, 16); return; } function Rj(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0; j = V; V = (V + 32) | 0; e = (j + 12) | 0; f = j; b = (j + 8) | 0; h = eq(172) | 0; Tj(h, c[(a + 4) >> 2] | 0); g = (a + 8) | 0; c[b >> 2] = 0; c[e >> 2] = c[b >> 2]; Uj(f, h, e); h = (a + 12) | 0; b = c[h >> 2] | 0; i = (a + 16) | 0; do if (b >>> 0 >= (c[i >> 2] | 0) >>> 0) { b = (((b - (c[g >> 2] | 0)) >> 3) + 1) | 0; d = ee(g) | 0; if (d >>> 0 < b >>> 0) cr(g); else { k = c[g >> 2] | 0; l = ((c[i >> 2] | 0) - k) | 0; i = l >> 2; be( e, (l >> 3) >>> 0 < (d >>> 1) >>> 0 ? (i >>> 0 < b >>> 0 ? b : i) : d, ((c[h >> 2] | 0) - k) >> 3, (a + 16) | 0 ); i = (e + 8) | 0; h = c[i >> 2] | 0; c[h >> 2] = c[f >> 2]; a = (f + 4) | 0; c[(h + 4) >> 2] = c[a >> 2]; c[f >> 2] = 0; c[a >> 2] = 0; c[i >> 2] = h + 8; ce(g, e); de(e); break; } } else { $d(e, g, 1); l = (e + 4) | 0; k = c[l >> 2] | 0; c[k >> 2] = c[f >> 2]; i = (f + 4) | 0; c[(k + 4) >> 2] = c[i >> 2]; c[f >> 2] = 0; c[i >> 2] = 0; c[l >> 2] = k + 8; ae(e); } while (0); Sd(f); V = j; return; } function Sj(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0; j = V; V = (V + 32) | 0; e = (j + 12) | 0; f = j; b = (j + 8) | 0; h = eq(176) | 0; gk(h, c[(a + 4) >> 2] | 0); g = (a + 8) | 0; c[b >> 2] = 0; c[e >> 2] = c[b >> 2]; hk(f, h, e); h = (a + 12) | 0; b = c[h >> 2] | 0; i = (a + 16) | 0; do if (b >>> 0 >= (c[i >> 2] | 0) >>> 0) { b = (((b - (c[g >> 2] | 0)) >> 3) + 1) | 0; d = ee(g) | 0; if (d >>> 0 < b >>> 0) cr(g); else { k = c[g >> 2] | 0; l = ((c[i >> 2] | 0) - k) | 0; i = l >> 2; be( e, (l >> 3) >>> 0 < (d >>> 1) >>> 0 ? (i >>> 0 < b >>> 0 ? b : i) : d, ((c[h >> 2] | 0) - k) >> 3, (a + 16) | 0 ); i = (e + 8) | 0; h = c[i >> 2] | 0; c[h >> 2] = c[f >> 2]; a = (f + 4) | 0; c[(h + 4) >> 2] = c[a >> 2]; c[f >> 2] = 0; c[a >> 2] = 0; c[i >> 2] = h + 8; ce(g, e); de(e); break; } } else { $d(e, g, 1); l = (e + 4) | 0; k = c[l >> 2] | 0; c[k >> 2] = c[f >> 2]; i = (f + 4) | 0; c[(k + 4) >> 2] = c[i >> 2]; c[f >> 2] = 0; c[i >> 2] = 0; c[l >> 2] = k + 8; ae(e); } while (0); Sd(f); V = j; return; } function Tj(a, b) { a = a | 0; b = b | 0; fe(a); c[a >> 2] = 5428; c[(a + 4) >> 2] = b; Vj((a + 8) | 0); return; } function Uj(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 5452; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; Xe(a, e); V = d; return; } function Vj(b) { b = b | 0; xe(b, 8, 1, 8, 0); mc((b + 80) | 0, 8, 1, 8, 0); a[(b + 160) >> 0] = 0; a[(b + 161) >> 0] = 0; Zj((b + 162) | 0); return; } function Wj(a) { a = a | 0; c[a >> 2] = 5428; _j((a + 8) | 0); le(a); return; } function Xj(a) { a = a | 0; Wj(a); jp(a); return; } function Yj(a, b) { a = a | 0; b = b | 0; return $j((a + 8) | 0, c[(a + 4) >> 2] | 0, b) | 0; } function Zj(b) { b = b | 0; a[(b + 1) >> 0] = 0; return; } function _j(a) { a = a | 0; qc((a + 80) | 0); ye(a); return; } function $j(b, c, e) { b = b | 0; c = c | 0; e = e | 0; var f = 0, g = 0, h = 0; h = V; V = (V + 16) | 0; f = h; if (!(a[(b + 161) >> 0] | 0)) oc((b + 80) | 0); g = (b + 162) | 0; if (ak(g) | 0) { c = (Gi((b + 80) | 0, c, d[g >> 0] | 0, 0) | 0) & 255; a[f >> 0] = c; Ue(c, e); } else { Ii(Hi(c) | 0, e, 1); a[f >> 0] = Pe(e) | 0; } bk(g, f); V = h; return (e + 1) | 0; } function ak(b) { b = b | 0; return ((a[(b + 1) >> 0] | 0) != 0) | 0; } function bk(b, c) { b = b | 0; c = c | 0; var d = 0; d = (b + 1) | 0; if (!(a[d >> 0] | 0)) a[d >> 0] = 1; a[b >> 0] = a[c >> 0] | 0; return; } function ck(a) { a = a | 0; pq(a); jp(a); return; } function dk(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) ca[c[((c[a >> 2] | 0) + 4) >> 2] & 255](a); return; } function ek(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 17896 ? (a + 12) | 0 : 0) | 0; } function fk(a) { a = a | 0; Da(a, 16); return; } function gk(a, b) { a = a | 0; b = b | 0; fe(a); c[a >> 2] = 5480; c[(a + 4) >> 2] = b; ik((a + 8) | 0); return; } function hk(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; d = V; V = (V + 16) | 0; e = d; c[a >> 2] = b; f = eq(16) | 0; c[(f + 4) >> 2] = 0; c[(f + 8) >> 2] = 0; c[f >> 2] = 5504; c[(f + 12) >> 2] = b; c[(a + 4) >> 2] = f; c[e >> 2] = b; c[(e + 4) >> 2] = b; Xe(a, e); V = d; return; } function ik(b) { b = b | 0; xe(b, 16, 1, 8, 0); mc((b + 80) | 0, 16, 1, 8, 0); a[(b + 160) >> 0] = 0; a[(b + 161) >> 0] = 0; mk((b + 162) | 0); return; } function jk(a) { a = a | 0; c[a >> 2] = 5480; nk((a + 8) | 0); le(a); return; } function kk(a) { a = a | 0; jk(a); jp(a); return; } function lk(a, b) { a = a | 0; b = b | 0; return ok((a + 8) | 0, c[(a + 4) >> 2] | 0, b) | 0; } function mk(b) { b = b | 0; a[(b + 2) >> 0] = 0; return; } function nk(a) { a = a | 0; qc((a + 80) | 0); ye(a); return; } function ok(c, d, f) { c = c | 0; d = d | 0; f = f | 0; var g = 0, h = 0, i = 0; i = V; V = (V + 16) | 0; g = i; if (!(a[(c + 161) >> 0] | 0)) oc((c + 80) | 0); h = (c + 162) | 0; if (pk(h) | 0) { d = (Gi((c + 80) | 0, d, e[h >> 1] | 0, 0) | 0) & 65535; b[g >> 1] = d; Te(d, f); } else { Ii(Hi(d) | 0, f, 2); b[g >> 1] = Oe(f) | 0; } qk(h, g); V = i; return (f + 2) | 0; } function pk(b) { b = b | 0; return ((a[(b + 2) >> 0] | 0) != 0) | 0; } function qk(c, d) { c = c | 0; d = d | 0; var e = 0; e = (c + 2) | 0; if (!(a[e >> 0] | 0)) a[e >> 0] = 1; b[c >> 1] = b[d >> 1] | 0; return; } function rk(a) { a = a | 0; pq(a); jp(a); return; } function sk(a) { a = a | 0; a = c[(a + 12) >> 2] | 0; if (a | 0) ca[c[((c[a >> 2] | 0) + 4) >> 2] & 255](a); return; } function tk(a, b) { a = a | 0; b = b | 0; return ((c[(b + 4) >> 2] | 0) == 18394 ? (a + 12) | 0 : 0) | 0; } function uk(a) { a = a | 0; Da(a, 16); return; } function vk() { return; } function wk(a) { a = a | 0; return Ek(a) | 0; } function xk() { return 0; } function yk() { return 0; } function zk(a) { a = a | 0; if (a | 0) { Fk(a); jp(a); } return; } function Ak() { return Gk() | 0; } function Bk() { return Hk() | 0; } function Ck() { return Ik() | 0; } function Dk() { return 0; } function Ek(a) { a = a | 0; return 3360; } function Fk(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0; b = V; V = (V + 16) | 0; e = b; c[e >> 2] = c[a >> 2]; c[a >> 2] = 0; d = (a + 4) | 0; c[(e + 4) >> 2] = c[d >> 2]; c[d >> 2] = 0; wa(e); d = (a + 8) | 0; c[e >> 2] = c[d >> 2]; c[d >> 2] = 0; f = (a + 12) | 0; c[(e + 4) >> 2] = c[f >> 2]; c[f >> 2] = 0; Ga(e); Ga(d); wa(a); V = b; return; } function Gk() { return 3360; } function Hk() { return 3368; } function Ik() { return 3384; } function Jk() { return 18579; } function Kk() { return 18582; } function Lk() { return 18584; } function Mk() { var a = 0; a = eq(16) | 0; Tk(a); return a | 0; } function Nk(a) { a = a | 0; var b = 0, c = 0, d = 0, e = 0; b = V; V = (V + 16) | 0; c = b; e = Ak() | 0; d = Pk(c) | 0; c = Qk(c) | 0; E(e | 0, d | 0, c | 0, Jk() | 0, 12, a | 0); V = b; return; } function Ok(a) { a = a | 0; return Rk(Y[a & 3]() | 0) | 0; } function Pk(a) { a = a | 0; return 1; } function Qk(a) { a = a | 0; return Sk() | 0; } function Rk(a) { a = a | 0; return a | 0; } function Sk() { return 5524; } function Tk(a) { a = a | 0; c[a >> 2] = 0; c[(a + 4) >> 2] = 0; c[(a + 8) >> 2] = 0; c[(a + 12) >> 2] = 0; return; } function Uk(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0; d = V; V = (V + 16) | 0; e = d; f = (d + 8) | 0; h = c[(b + 4) >> 2] | 0; c[e >> 2] = c[b >> 2]; c[(e + 4) >> 2] = h; h = Ak() | 0; g = Wk(f) | 0; f = Xk(f) | 0; b = bl() | 0; F(h | 0, a | 0, g | 0, f | 0, b | 0, 4, Yk(e) | 0, 0); V = d; return; } function Vk(a, b, d, e) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; var f = 0, g = 0; g = Zk(b) | 0; b = c[a >> 2] | 0; f = c[(a + 4) >> 2] | 0; a = (g + (f >> 1)) | 0; if (f & 1) b = c[((c[a >> 2] | 0) + b) >> 2] | 0; f = _k(d) | 0; g = $k(e) | 0; ea[b & 15](a, f, g); return; } function Wk(a) { a = a | 0; return 4; } function Xk(a) { a = a | 0; return al() | 0; } function Yk(a) { a = a | 0; var b = 0, d = 0; b = eq(8) | 0; d = c[(a + 4) >> 2] | 0; c[b >> 2] = c[a >> 2]; c[(b + 4) >> 2] = d; return b | 0; } function Zk(a) { a = a | 0; return a | 0; } function _k(a) { a = a | 0; return a | 0; } function $k(a) { a = a | 0; return a | 0; } function al() { return 144; } function bl() { return 18587; } function cl(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0; d = V; V = (V + 16) | 0; e = d; f = (d + 8) | 0; h = c[(b + 4) >> 2] | 0; c[e >> 2] = c[b >> 2]; c[(e + 4) >> 2] = h; h = Ak() | 0; g = el(f) | 0; f = fl(f) | 0; b = jl() | 0; F(h | 0, a | 0, g | 0, f | 0, b | 0, 7, gl(e) | 0, 0); V = d; return; } function dl(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; f = Zk(b) | 0; b = c[a >> 2] | 0; e = c[(a + 4) >> 2] | 0; a = (f + (e >> 1)) | 0; if (e & 1) b = c[((c[a >> 2] | 0) + b) >> 2] | 0; f = hl(d) | 0; da[b & 15](a, f); return; } function el(a) { a = a | 0; return 3; } function fl(a) { a = a | 0; return il() | 0; } function gl(a) { a = a | 0; var b = 0, d = 0; b = eq(8) | 0; d = c[(a + 4) >> 2] | 0; c[b >> 2] = c[a >> 2]; c[(b + 4) >> 2] = d; return b | 0; } function hl(a) { a = a | 0; return a | 0; } function il() { return 5528; } function jl() { return 18593; } function kl(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0; d = V; V = (V + 16) | 0; e = d; f = (d + 8) | 0; h = c[(b + 4) >> 2] | 0; c[e >> 2] = c[b >> 2]; c[(e + 4) >> 2] = h; h = Ak() | 0; g = ml(f) | 0; f = nl(f) | 0; b = rl() | 0; F(h | 0, a | 0, g | 0, f | 0, b | 0, 41, ol(e) | 0, 0); V = d; return; } function ll(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0; e = V; V = (V + 16) | 0; d = e; g = Zk(b) | 0; b = c[a >> 2] | 0; f = c[(a + 4) >> 2] | 0; a = (g + (f >> 1)) | 0; if (f & 1) b = c[((c[a >> 2] | 0) + b) >> 2] | 0; c[d >> 2] = Z[b & 15](a) | 0; g = pl(d) | 0; V = e; return g | 0; } function ml(a) { a = a | 0; return 2; } function nl(a) { a = a | 0; return ql() | 0; } function ol(a) { a = a | 0; var b = 0, d = 0; b = eq(8) | 0; d = c[(a + 4) >> 2] | 0; c[b >> 2] = c[a >> 2]; c[(b + 4) >> 2] = d; return b | 0; } function pl(a) { a = a | 0; return c[a >> 2] | 0; } function ql() { return 5540; } function rl() { return 18598; } function sl() { return; } function tl(a) { a = a | 0; return Al(a) | 0; } function ul() { return 0; } function vl() { return 0; } function wl(a) { a = a | 0; if (a | 0) { Bl(a); jp(a); } return; } function xl() { return Cl() | 0; } function yl() { return Dl() | 0; } function zl() { return El() | 0; } function Al(a) { a = a | 0; return 3400; } function Bl(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0; b = V; V = (V + 16) | 0; e = b; c[e >> 2] = c[a >> 2]; c[a >> 2] = 0; d = (a + 4) | 0; c[(e + 4) >> 2] = c[d >> 2]; c[d >> 2] = 0; Wh(e); d = (a + 16) | 0; c[e >> 2] = c[d >> 2]; c[d >> 2] = 0; f = (a + 20) | 0; c[(e + 4) >> 2] = c[f >> 2]; c[f >> 2] = 0; Uh(e); c[e >> 2] = c[d >> 2]; c[d >> 2] = 0; c[(e + 4) >> 2] = c[f >> 2]; c[f >> 2] = 0; Uh(e); Uh(d); bi((a + 8) | 0); Wh(a); V = b; return; } function Cl() { return 3400; } function Dl() { return 3408; } function El() { return 3424; } function Fl() { var a = 0; a = eq(24) | 0; Ml(a); return a | 0; } function Gl(a) { a = a | 0; var b = 0, c = 0, d = 0, e = 0; b = V; V = (V + 16) | 0; c = b; e = xl() | 0; d = Il(c) | 0; c = Jl(c) | 0; E(e | 0, d | 0, c | 0, Jk() | 0, 13, a | 0); V = b; return; } function Hl(a) { a = a | 0; return Kl(Y[a & 3]() | 0) | 0; } function Il(a) { a = a | 0; return 1; } function Jl(a) { a = a | 0; return Ll() | 0; } function Kl(a) { a = a | 0; return a | 0; } function Ll() { return 5548; } function Ml(a) { a = a | 0; c[a >> 2] = 0; c[(a + 4) >> 2] = 0; c[(a + 8) >> 2] = 0; c[(a + 12) >> 2] = 0; c[(a + 16) >> 2] = 0; c[(a + 20) >> 2] = 0; return; } function Nl(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0; d = V; V = (V + 16) | 0; e = d; f = (d + 8) | 0; h = c[(b + 4) >> 2] | 0; c[e >> 2] = c[b >> 2]; c[(e + 4) >> 2] = h; h = xl() | 0; g = Pl(f) | 0; f = Ql(f) | 0; b = bl() | 0; F(h | 0, a | 0, g | 0, f | 0, b | 0, 5, Rl(e) | 0, 0); V = d; return; } function Ol(a, b, d, e) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; var f = 0, g = 0; g = Sl(b) | 0; b = c[a >> 2] | 0; f = c[(a + 4) >> 2] | 0; a = (g + (f >> 1)) | 0; if (f & 1) b = c[((c[a >> 2] | 0) + b) >> 2] | 0; f = _k(d) | 0; g = $k(e) | 0; ea[b & 15](a, f, g); return; } function Pl(a) { a = a | 0; return 4; } function Ql(a) { a = a | 0; return Tl() | 0; } function Rl(a) { a = a | 0; var b = 0, d = 0; b = eq(8) | 0; d = c[(a + 4) >> 2] | 0; c[b >> 2] = c[a >> 2]; c[(b + 4) >> 2] = d; return b | 0; } function Sl(a) { a = a | 0; return a | 0; } function Tl() { return 160; } function Ul(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0; d = V; V = (V + 16) | 0; e = d; f = (d + 8) | 0; h = c[(b + 4) >> 2] | 0; c[e >> 2] = c[b >> 2]; c[(e + 4) >> 2] = h; h = xl() | 0; g = Wl(f) | 0; f = Xl(f) | 0; b = jl() | 0; F(h | 0, a | 0, g | 0, f | 0, b | 0, 8, Yl(e) | 0, 0); V = d; return; } function Vl(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; f = Sl(b) | 0; b = c[a >> 2] | 0; e = c[(a + 4) >> 2] | 0; a = (f + (e >> 1)) | 0; if (e & 1) b = c[((c[a >> 2] | 0) + b) >> 2] | 0; f = $k(d) | 0; da[b & 15](a, f); return; } function Wl(a) { a = a | 0; return 3; } function Xl(a) { a = a | 0; return Zl() | 0; } function Yl(a) { a = a | 0; var b = 0, d = 0; b = eq(8) | 0; d = c[(a + 4) >> 2] | 0; c[b >> 2] = c[a >> 2]; c[(b + 4) >> 2] = d; return b | 0; } function Zl() { return 5552; } function _l(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0; d = V; V = (V + 16) | 0; e = d; f = (d + 8) | 0; h = c[(b + 4) >> 2] | 0; c[e >> 2] = c[b >> 2]; c[(e + 4) >> 2] = h; h = xl() | 0; g = am(f) | 0; f = bm(f) | 0; b = jl() | 0; F(h | 0, a | 0, g | 0, f | 0, b | 0, 9, cm(e) | 0, 0); V = d; return; } function $l(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; f = Sl(b) | 0; b = c[a >> 2] | 0; e = c[(a + 4) >> 2] | 0; a = (f + (e >> 1)) | 0; if (e & 1) b = c[((c[a >> 2] | 0) + b) >> 2] | 0; f = hl(d) | 0; da[b & 15](a, f); return; } function am(a) { a = a | 0; return 3; } function bm(a) { a = a | 0; return dm() | 0; } function cm(a) { a = a | 0; var b = 0, d = 0; b = eq(8) | 0; d = c[(a + 4) >> 2] | 0; c[b >> 2] = c[a >> 2]; c[(b + 4) >> 2] = d; return b | 0; } function dm() { return 5564; } function em() { ja(); return; } function fm() { gm(); return; } function gm() { hm(22144); return; } function hm(a) { a = a | 0; var b = 0; b = V; V = (V + 16) | 0; c[b >> 2] = a; im(); V = b; return; } function im() { M(jm() | 0, 18653); C(km() | 0, 18658, 1, 1, 0); lm(18663); mm(18668); nm(18680); om(18694); pm(18700); qm(18715); rm(18719); sm(18732); tm(18737); um(18751); vm(18757); K(wm() | 0, 18764); K(xm() | 0, 18776); L(ym() | 0, 4, 18809); L(zm() | 0, 2, 18822); L(Am() | 0, 4, 18837); G(Bm() | 0, 18852); Cm(18868); Dm(18898); Em(18935); Fm(18974); Gm(19005); Hm(19045); Im(19074); Jm(19112); Km(19142); Dm(19181); Em(19213); Fm(19246); Gm(19279); Hm(19313); Im(19346); Lm(19380); Mm(19411); Nm(19443); return; } function jm() { return _n() | 0; } function km() { return Zn() | 0; } function lm(a) { a = a | 0; var b = 0, d = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; a = Xn() | 0; I(a | 0, c[d >> 2] | 0, 1, ((-128 << 24) >> 24) | 0, ((127 << 24) >> 24) | 0); V = b; return; } function mm(a) { a = a | 0; var b = 0, d = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; a = Vn() | 0; I(a | 0, c[d >> 2] | 0, 1, ((-128 << 24) >> 24) | 0, ((127 << 24) >> 24) | 0); V = b; return; } function nm(a) { a = a | 0; var b = 0, d = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; a = Tn() | 0; I(a | 0, c[d >> 2] | 0, 1, 0, 255); V = b; return; } function om(a) { a = a | 0; var b = 0, d = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; a = Rn() | 0; I(a | 0, c[d >> 2] | 0, 2, ((-32768 << 16) >> 16) | 0, ((32767 << 16) >> 16) | 0); V = b; return; } function pm(a) { a = a | 0; var b = 0, d = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; a = Pn() | 0; I(a | 0, c[d >> 2] | 0, 2, 0, 65535); V = b; return; } function qm(a) { a = a | 0; var b = 0, d = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; a = Nn() | 0; I(a | 0, c[d >> 2] | 0, 4, -2147483648, 2147483647); V = b; return; } function rm(a) { a = a | 0; var b = 0, d = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; a = Ln() | 0; I(a | 0, c[d >> 2] | 0, 4, 0, -1); V = b; return; } function sm(a) { a = a | 0; var b = 0, d = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; a = Jn() | 0; I(a | 0, c[d >> 2] | 0, 4, -2147483648, 2147483647); V = b; return; } function tm(a) { a = a | 0; var b = 0, d = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; a = Hn() | 0; I(a | 0, c[d >> 2] | 0, 4, 0, -1); V = b; return; } function um(a) { a = a | 0; var b = 0, d = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; a = Fn() | 0; H(a | 0, c[d >> 2] | 0, 4); V = b; return; } function vm(a) { a = a | 0; var b = 0, d = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; a = Dn() | 0; H(a | 0, c[d >> 2] | 0, 8); V = b; return; } function wm() { return Cn() | 0; } function xm() { return Bn() | 0; } function ym() { return An() | 0; } function zm() { return zn() | 0; } function Am() { return yn() | 0; } function Bm() { return xn() | 0; } function Cm(a) { a = a | 0; var b = 0, d = 0, e = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; e = un() | 0; a = vn() | 0; J(e | 0, a | 0, c[d >> 2] | 0); V = b; return; } function Dm(a) { a = a | 0; var b = 0, d = 0, e = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; e = rn() | 0; a = sn() | 0; J(e | 0, a | 0, c[d >> 2] | 0); V = b; return; } function Em(a) { a = a | 0; var b = 0, d = 0, e = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; e = on() | 0; a = pn() | 0; J(e | 0, a | 0, c[d >> 2] | 0); V = b; return; } function Fm(a) { a = a | 0; var b = 0, d = 0, e = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; e = ln() | 0; a = mn() | 0; J(e | 0, a | 0, c[d >> 2] | 0); V = b; return; } function Gm(a) { a = a | 0; var b = 0, d = 0, e = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; e = hn() | 0; a = jn() | 0; J(e | 0, a | 0, c[d >> 2] | 0); V = b; return; } function Hm(a) { a = a | 0; var b = 0, d = 0, e = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; e = en() | 0; a = fn() | 0; J(e | 0, a | 0, c[d >> 2] | 0); V = b; return; } function Im(a) { a = a | 0; var b = 0, d = 0, e = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; e = bn() | 0; a = cn() | 0; J(e | 0, a | 0, c[d >> 2] | 0); V = b; return; } function Jm(a) { a = a | 0; var b = 0, d = 0, e = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; e = _m() | 0; a = $m() | 0; J(e | 0, a | 0, c[d >> 2] | 0); V = b; return; } function Km(a) { a = a | 0; var b = 0, d = 0, e = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; e = Xm() | 0; a = Ym() | 0; J(e | 0, a | 0, c[d >> 2] | 0); V = b; return; } function Lm(a) { a = a | 0; var b = 0, d = 0, e = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; e = Um() | 0; a = Vm() | 0; J(e | 0, a | 0, c[d >> 2] | 0); V = b; return; } function Mm(a) { a = a | 0; var b = 0, d = 0, e = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; e = Rm() | 0; a = Sm() | 0; J(e | 0, a | 0, c[d >> 2] | 0); V = b; return; } function Nm(a) { a = a | 0; var b = 0, d = 0, e = 0; b = V; V = (V + 16) | 0; d = b; c[d >> 2] = a; e = Om() | 0; a = Pm() | 0; J(e | 0, a | 0, c[d >> 2] | 0); V = b; return; } function Om() { return Qm() | 0; } function Pm() { return 7; } function Qm() { return 3440; } function Rm() { return Tm() | 0; } function Sm() { return 7; } function Tm() { return 3448; } function Um() { return Wm() | 0; } function Vm() { return 6; } function Wm() { return 3456; } function Xm() { return Zm() | 0; } function Ym() { return 5; } function Zm() { return 3464; } function _m() { return an() | 0; } function $m() { return 4; } function an() { return 3472; } function bn() { return dn() | 0; } function cn() { return 5; } function dn() { return 3480; } function en() { return gn() | 0; } function fn() { return 4; } function gn() { return 3488; } function hn() { return kn() | 0; } function jn() { return 3; } function kn() { return 3496; } function ln() { return nn() | 0; } function mn() { return 2; } function nn() { return 3504; } function on() { return qn() | 0; } function pn() { return 1; } function qn() { return 3512; } function rn() { return tn() | 0; } function sn() { return 0; } function tn() { return 3520; } function un() { return wn() | 0; } function vn() { return 0; } function wn() { return 3528; } function xn() { return 3536; } function yn() { return 3544; } function zn() { return 3576; } function An() { return 3600; } function Bn() { return 3624; } function Cn() { return 3648; } function Dn() { return En() | 0; } function En() { return 4144; } function Fn() { return Gn() | 0; } function Gn() { return 4136; } function Hn() { return In() | 0; } function In() { return 4128; } function Jn() { return Kn() | 0; } function Kn() { return 4120; } function Ln() { return Mn() | 0; } function Mn() { return 4112; } function Nn() { return On() | 0; } function On() { return 4104; } function Pn() { return Qn() | 0; } function Qn() { return 4096; } function Rn() { return Sn() | 0; } function Sn() { return 4088; } function Tn() { return Un() | 0; } function Un() { return 4072; } function Vn() { return Wn() | 0; } function Wn() { return 4080; } function Xn() { return Yn() | 0; } function Yn() { return 4064; } function Zn() { return 4056; } function _n() { return 4040; } function $n(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0; b = V; V = (V + 16) | 0; d = (b + 8) | 0; e = (b + 4) | 0; f = b; c[f >> 2] = a; c[e >> 2] = c[f >> 2]; c[d >> 2] = c[((c[e >> 2] | 0) + 4) >> 2]; a = Jo(c[d >> 2] | 0) | 0; V = b; return a | 0; } function ao() { return 21636; } function bo(a) { a = a | 0; return (((a + -48) | 0) >>> 0 < 10) | 0; } function co() { return 5576; } function eo(b, c) { b = b | 0; c = c | 0; var d = 0, e = 0; d = a[b >> 0] | 0; e = a[c >> 0] | 0; if ((d << 24) >> 24 == 0 ? 1 : (d << 24) >> 24 != (e << 24) >> 24) b = e; else { do { b = (b + 1) | 0; c = (c + 1) | 0; d = a[b >> 0] | 0; e = a[c >> 0] | 0; } while (!((d << 24) >> 24 == 0 ? 1 : (d << 24) >> 24 != (e << 24) >> 24)); b = e; } return ((d & 255) - (b & 255)) | 0; } function fo(b) { b = b | 0; var d = 0, e = 0, f = 0; f = b; a: do if (!(f & 3)) e = 5; else { d = f; while (1) { if (!(a[b >> 0] | 0)) { b = d; break a; } b = (b + 1) | 0; d = b; if (!(d & 3)) { e = 5; break; } } } while (0); if ((e | 0) == 5) { while (1) { d = c[b >> 2] | 0; if (!(((d & -2139062144) ^ -2139062144) & (d + -16843009))) b = (b + 4) | 0; else break; } if (((d & 255) << 24) >> 24) do b = (b + 1) | 0; while ((a[b >> 0] | 0) != 0); } return (b - f) | 0; } function go(a) { a = a | 0; return; } function ho(a) { a = a | 0; return 1; } function io(b) { b = b | 0; var d = 0, e = 0; d = (b + 74) | 0; e = a[d >> 0] | 0; a[d >> 0] = (e + 255) | e; d = c[b >> 2] | 0; if (!(d & 8)) { c[(b + 8) >> 2] = 0; c[(b + 4) >> 2] = 0; e = c[(b + 44) >> 2] | 0; c[(b + 28) >> 2] = e; c[(b + 20) >> 2] = e; c[(b + 16) >> 2] = e + (c[(b + 48) >> 2] | 0); b = 0; } else { c[b >> 2] = d | 32; b = -1; } return b | 0; } function jo(b, d, e) { b = b | 0; d = d | 0; e = e | 0; var f = 0, g = 0, h = 0, i = 0, j = 0; f = (e + 16) | 0; g = c[f >> 2] | 0; if (!g) if (!(io(e) | 0)) { g = c[f >> 2] | 0; h = 5; } else f = 0; else h = 5; a: do if ((h | 0) == 5) { j = (e + 20) | 0; i = c[j >> 2] | 0; f = i; if (((g - i) | 0) >>> 0 < d >>> 0) { f = aa[c[(e + 36) >> 2] & 7](e, b, d) | 0; break; } b: do if (((a[(e + 75) >> 0] | 0) < 0) | ((d | 0) == 0)) { h = 0; g = b; } else { i = d; while (1) { g = (i + -1) | 0; if ((a[(b + g) >> 0] | 0) == 10) break; if (!g) { h = 0; g = b; break b; } else i = g; } f = aa[c[(e + 36) >> 2] & 7](e, b, i) | 0; if (f >>> 0 < i >>> 0) break a; h = i; g = (b + i) | 0; d = (d - i) | 0; f = c[j >> 2] | 0; } while (0); ur(f | 0, g | 0, d | 0) | 0; c[j >> 2] = (c[j >> 2] | 0) + d; f = (h + d) | 0; } while (0); return f | 0; } function ko(a, b) { a = a | 0; b = b | 0; if (!b) b = 0; else b = lo(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, a) | 0; return ((b | 0) == 0 ? a : b) | 0; } function lo(b, d, e) { b = b | 0; d = d | 0; e = e | 0; var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; o = ((c[b >> 2] | 0) + 1794895138) | 0; h = mo(c[(b + 8) >> 2] | 0, o) | 0; f = mo(c[(b + 12) >> 2] | 0, o) | 0; g = mo(c[(b + 16) >> 2] | 0, o) | 0; a: do if ( ( h >>> 0 < (d >>> 2) >>> 0 ? ((n = (d - (h << 2)) | 0), (f >>> 0 < n >>> 0) & (g >>> 0 < n >>> 0)) : 0 ) ? (((g | f) & 3) | 0) == 0 : 0 ) { n = f >>> 2; m = g >>> 2; l = 0; while (1) { j = h >>> 1; k = (l + j) | 0; i = k << 1; g = (i + n) | 0; f = mo(c[(b + (g << 2)) >> 2] | 0, o) | 0; g = mo(c[(b + ((g + 1) << 2)) >> 2] | 0, o) | 0; if (!((g >>> 0 < d >>> 0) & (f >>> 0 < ((d - g) | 0) >>> 0))) { f = 0; break a; } if (a[(b + (g + f)) >> 0] | 0) { f = 0; break a; } f = eo(e, (b + g) | 0) | 0; if (!f) break; f = (f | 0) < 0; if ((h | 0) == 1) { f = 0; break a; } l = f ? l : k; h = f ? j : (h - j) | 0; } f = (i + m) | 0; g = mo(c[(b + (f << 2)) >> 2] | 0, o) | 0; f = mo(c[(b + ((f + 1) << 2)) >> 2] | 0, o) | 0; if ((f >>> 0 < d >>> 0) & (g >>> 0 < ((d - f) | 0) >>> 0)) f = (a[(b + (f + g)) >> 0] | 0) == 0 ? (b + f) | 0 : 0; else f = 0; } else f = 0; while (0); return f | 0; } function mo(a, b) { a = a | 0; b = b | 0; var c = 0; c = tr(a | 0) | 0; return ((b | 0) == 0 ? a : c) | 0; } function no(b, d, e) { b = b | 0; d = d | 0; e = e | 0; var f = 0, g = 0, h = 0; h = d & 255; f = (e | 0) != 0; a: do if (f & (((b & 3) | 0) != 0)) { g = d & 255; while (1) { if ((a[b >> 0] | 0) == (g << 24) >> 24) { g = 6; break a; } b = (b + 1) | 0; e = (e + -1) | 0; f = (e | 0) != 0; if (!(f & (((b & 3) | 0) != 0))) { g = 5; break; } } } else g = 5; while (0); if ((g | 0) == 5) if (f) g = 6; else b = 0; b: do if ((g | 0) == 6) { if ((a[b >> 0] | 0) != ((d & 255) << 24) >> 24) { f = q(h, 16843009) | 0; c: do if (e >>> 0 > 3) do { h = c[b >> 2] ^ f; if ((((h & -2139062144) ^ -2139062144) & (h + -16843009)) | 0) break c; b = (b + 4) | 0; e = (e + -4) | 0; } while (e >>> 0 > 3); while (0); } if (!e) b = 0; else { f = d & 255; while (1) { if ((a[b >> 0] | 0) == (f << 24) >> 24) break b; e = (e + -1) | 0; if (!e) { b = 0; break; } else b = (b + 1) | 0; } } } while (0); return b | 0; } function oo(a, b, c) { a = a | 0; b = b | 0; c = c | 0; return ro(a, b, c, 1, 8) | 0; } function po(b, e, f, g, h, i) { b = b | 0; e = +e; f = f | 0; g = g | 0; h = h | 0; i = i | 0; var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0.0, s = 0, t = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0; H = V; V = (V + 560) | 0; l = (H + 32) | 0; w = (H + 536) | 0; G = H; F = G; m = (H + 540) | 0; c[w >> 2] = 0; E = (m + 12) | 0; Do(e) | 0; j = u() | 0; if ((j | 0) < 0) { e = -e; Do(e) | 0; D = 1; C = 20247; j = u() | 0; } else { D = (((h & 2049) | 0) != 0) & 1; C = ((h & 2048) | 0) == 0 ? (((h & 1) | 0) == 0 ? 20248 : 20253) : 20250; } do if ((0 == 0) & (((j & 2146435072) | 0) == 2146435072)) { G = ((i & 32) | 0) != 0; j = (D + 3) | 0; zo(b, 32, f, j, h & -65537); to(b, C, D); to(b, (e != e) | (0.0 != 0.0) ? (G ? 20274 : 20278) : G ? 20266 : 20270, 3); zo(b, 32, f, j, h ^ 8192); } else { r = +Eo(e, w) * 2.0; j = r != 0.0; if (j) c[w >> 2] = (c[w >> 2] | 0) + -1; v = i | 32; if ((v | 0) == 97) { o = i & 32; s = (o | 0) == 0 ? C : (C + 9) | 0; p = D | 2; j = (12 - g) | 0; do if (!((g >>> 0 > 11) | ((j | 0) == 0))) { e = 8.0; do { j = (j + -1) | 0; e = e * 16.0; } while ((j | 0) != 0); if ((a[s >> 0] | 0) == 45) { e = -(e + (-r - e)); break; } else { e = r + e - e; break; } } else e = r; while (0); k = c[w >> 2] | 0; j = (k | 0) < 0 ? (0 - k) | 0 : k; j = yo(j, (((j | 0) < 0) << 31) >> 31, E) | 0; if ((j | 0) == (E | 0)) { j = (m + 11) | 0; a[j >> 0] = 48; } a[(j + -1) >> 0] = ((k >> 31) & 2) + 43; n = (j + -2) | 0; a[n >> 0] = i + 15; k = (g | 0) < 1; l = ((h & 8) | 0) == 0; m = G; do { D = ~~e; j = (m + 1) | 0; a[m >> 0] = o | d[(640 + D) >> 0]; e = (e - +(D | 0)) * 16.0; if (((j - F) | 0) == 1 ? !(l & (k & (e == 0.0))) : 0) { a[j >> 0] = 46; m = (m + 2) | 0; } else m = j; } while (e != 0.0); if ((g | 0) != 0 ? ((-2 - F + m) | 0) < (g | 0) : 0) { k = E; l = n; j = (g + 2 + k - l) | 0; } else { k = E; l = n; j = (k - F - l + m) | 0; } E = (j + p) | 0; zo(b, 32, f, E, h); to(b, s, p); zo(b, 48, f, E, h ^ 65536); F = (m - F) | 0; to(b, G, F); G = (k - l) | 0; zo(b, 48, (j - (F + G)) | 0, 0, 0); to(b, n, G); zo(b, 32, f, E, h ^ 8192); j = E; break; } k = (g | 0) < 0 ? 6 : g; if (j) { j = ((c[w >> 2] | 0) + -28) | 0; c[w >> 2] = j; e = r * 268435456.0; } else { e = r; j = c[w >> 2] | 0; } B = (j | 0) < 0 ? l : (l + 288) | 0; l = B; do { z = ~~e >>> 0; c[l >> 2] = z; l = (l + 4) | 0; e = (e - +(z >>> 0)) * 1.0e9; } while (e != 0.0); z = B; if ((j | 0) > 0) { o = B; while (1) { n = (j | 0) < 29 ? j : 29; j = (l + -4) | 0; if (j >>> 0 >= o >>> 0) { m = 0; do { t = rr(c[j >> 2] | 0, 0, n | 0) | 0; t = lr(t | 0, u() | 0, m | 0, 0) | 0; x = u() | 0; m = pr(t | 0, x | 0, 1e9, 0) | 0; y = kr(m | 0, u() | 0, 1e9, 0) | 0; y = mr(t | 0, x | 0, y | 0, u() | 0) | 0; u() | 0; c[j >> 2] = y; j = (j + -4) | 0; } while (j >>> 0 >= o >>> 0); if (m) { y = (o + -4) | 0; c[y >> 2] = m; m = y; } else m = o; } else m = o; a: do if (l >>> 0 > m >>> 0) { j = l; while (1) { l = (j + -4) | 0; if (c[l >> 2] | 0) { l = j; break a; } if (l >>> 0 > m >>> 0) j = l; else break; } } while (0); j = ((c[w >> 2] | 0) - n) | 0; c[w >> 2] = j; if ((j | 0) > 0) o = m; else break; } } else m = B; if ((j | 0) < 0) { g = (((((k + 25) | 0) / 9) | 0) + 1) | 0; t = (v | 0) == 102; do { s = (0 - j) | 0; s = (s | 0) < 9 ? s : 9; if (m >>> 0 < l >>> 0) { n = ((1 << s) + -1) | 0; o = 1e9 >>> s; p = 0; j = m; do { y = c[j >> 2] | 0; c[j >> 2] = (y >>> s) + p; p = q(y & n, o) | 0; j = (j + 4) | 0; } while (j >>> 0 < l >>> 0); m = (c[m >> 2] | 0) == 0 ? (m + 4) | 0 : m; if (p) { c[l >> 2] = p; l = (l + 4) | 0; } } else m = (c[m >> 2] | 0) == 0 ? (m + 4) | 0 : m; j = t ? B : m; l = (((l - j) >> 2) | 0) > (g | 0) ? (j + (g << 2)) | 0 : l; j = ((c[w >> 2] | 0) + s) | 0; c[w >> 2] = j; } while ((j | 0) < 0); t = m; } else t = m; if (t >>> 0 < l >>> 0) { j = (((z - t) >> 2) * 9) | 0; n = c[t >> 2] | 0; if (n >>> 0 >= 10) { m = 10; do { m = (m * 10) | 0; j = (j + 1) | 0; } while (n >>> 0 >= m >>> 0); } } else j = 0; x = (v | 0) == 103; y = (k | 0) != 0; m = (k - ((v | 0) == 102 ? 0 : j) + (((y & x) << 31) >> 31)) | 0; if ((m | 0) < ((((((l - z) >> 2) * 9) | 0) + -9) | 0)) { w = (m + 9216) | 0; m = ((w | 0) / 9) | 0; g = (B + 4 + ((m + -1024) << 2)) | 0; m = (w - ((m * 9) | 0)) | 0; if ((m | 0) < 8) { n = 10; while (1) { n = (n * 10) | 0; if ((m | 0) < 7) m = (m + 1) | 0; else break; } } else n = 10; p = c[g >> 2] | 0; m = ((p >>> 0) / (n >>> 0)) | 0; s = (p - (q(m, n) | 0)) | 0; o = ((g + 4) | 0) == (l | 0); if (!(o & ((s | 0) == 0))) { r = ((m & 1) | 0) == 0 ? 9007199254740992.0 : 9007199254740994.0; w = n >>> 1; e = s >>> 0 < w >>> 0 ? 0.5 : o & ((s | 0) == (w | 0)) ? 1.0 : 1.5; if (D) { w = (a[C >> 0] | 0) == 45; e = w ? -e : e; r = w ? -r : r; } m = (p - s) | 0; c[g >> 2] = m; if (r + e != r) { w = (m + n) | 0; c[g >> 2] = w; if (w >>> 0 > 999999999) { n = g; j = t; while (1) { m = (n + -4) | 0; c[n >> 2] = 0; if (m >>> 0 < j >>> 0) { j = (j + -4) | 0; c[j >> 2] = 0; } w = ((c[m >> 2] | 0) + 1) | 0; c[m >> 2] = w; if (w >>> 0 > 999999999) n = m; else { n = j; break; } } } else { m = g; n = t; } j = (((z - n) >> 2) * 9) | 0; p = c[n >> 2] | 0; if (p >>> 0 >= 10) { o = 10; do { o = (o * 10) | 0; j = (j + 1) | 0; } while (p >>> 0 >= o >>> 0); } } else { m = g; n = t; } } else { m = g; n = t; } w = (m + 4) | 0; l = l >>> 0 > w >>> 0 ? w : l; } else n = t; g = (0 - j) | 0; b: do if (l >>> 0 > n >>> 0) while (1) { m = (l + -4) | 0; if (c[m >> 2] | 0) { w = l; v = 1; break b; } if (m >>> 0 > n >>> 0) l = m; else { w = m; v = 0; break; } } else { w = l; v = 0; } while (0); do if (x) { k = (k + ((y ^ 1) & 1)) | 0; if (((k | 0) > (j | 0)) & ((j | 0) > -5)) { o = (i + -1) | 0; k = (k + -1 - j) | 0; } else { o = (i + -2) | 0; k = (k + -1) | 0; } if (!(h & 8)) { if (v ? ((A = c[(w + -4) >> 2] | 0), (A | 0) != 0) : 0) if (!((A >>> 0) % 10 | 0)) { m = 0; l = 10; do { l = (l * 10) | 0; m = (m + 1) | 0; } while (!((A >>> 0) % (l >>> 0) | 0 | 0)); } else m = 0; else m = 9; l = (((((w - z) >> 2) * 9) | 0) + -9) | 0; if ((o | 32 | 0) == 102) { i = (l - m) | 0; i = (i | 0) > 0 ? i : 0; k = (k | 0) < (i | 0) ? k : i; break; } else { i = (l + j - m) | 0; i = (i | 0) > 0 ? i : 0; k = (k | 0) < (i | 0) ? k : i; break; } } } else o = i; while (0); t = (k | 0) != 0; p = t ? 1 : (h >>> 3) & 1; s = (o | 32 | 0) == 102; if (s) { x = 0; j = (j | 0) > 0 ? j : 0; } else { l = (j | 0) < 0 ? g : j; l = yo(l, (((l | 0) < 0) << 31) >> 31, E) | 0; m = E; if (((m - l) | 0) < 2) do { l = (l + -1) | 0; a[l >> 0] = 48; } while (((m - l) | 0) < 2); a[(l + -1) >> 0] = ((j >> 31) & 2) + 43; j = (l + -2) | 0; a[j >> 0] = o; x = j; j = (m - j) | 0; } j = (D + 1 + k + p + j) | 0; zo(b, 32, f, j, h); to(b, C, D); zo(b, 48, f, j, h ^ 65536); if (s) { p = n >>> 0 > B >>> 0 ? B : n; s = (G + 9) | 0; n = s; o = (G + 8) | 0; m = p; do { l = yo(c[m >> 2] | 0, 0, s) | 0; if ((m | 0) == (p | 0)) { if ((l | 0) == (s | 0)) { a[o >> 0] = 48; l = o; } } else if (l >>> 0 > G >>> 0) { wr(G | 0, 48, (l - F) | 0) | 0; do l = (l + -1) | 0; while (l >>> 0 > G >>> 0); } to(b, l, (n - l) | 0); m = (m + 4) | 0; } while (m >>> 0 <= B >>> 0); if (!((((h & 8) | 0) == 0) & (t ^ 1))) to(b, 20282, 1); if ((m >>> 0 < w >>> 0) & ((k | 0) > 0)) while (1) { l = yo(c[m >> 2] | 0, 0, s) | 0; if (l >>> 0 > G >>> 0) { wr(G | 0, 48, (l - F) | 0) | 0; do l = (l + -1) | 0; while (l >>> 0 > G >>> 0); } to(b, l, (k | 0) < 9 ? k : 9); m = (m + 4) | 0; l = (k + -9) | 0; if (!((m >>> 0 < w >>> 0) & ((k | 0) > 9))) { k = l; break; } else k = l; } zo(b, 48, (k + 9) | 0, 9, 0); } else { w = v ? w : (n + 4) | 0; if ((n >>> 0 < w >>> 0) & ((k | 0) > -1)) { g = (G + 9) | 0; t = ((h & 8) | 0) == 0; v = g; p = (0 - F) | 0; s = (G + 8) | 0; o = n; do { l = yo(c[o >> 2] | 0, 0, g) | 0; if ((l | 0) == (g | 0)) { a[s >> 0] = 48; l = s; } do if ((o | 0) == (n | 0)) { m = (l + 1) | 0; to(b, l, 1); if (t & ((k | 0) < 1)) { l = m; break; } to(b, 20282, 1); l = m; } else { if (l >>> 0 <= G >>> 0) break; wr(G | 0, 48, (l + p) | 0) | 0; do l = (l + -1) | 0; while (l >>> 0 > G >>> 0); } while (0); F = (v - l) | 0; to(b, l, (k | 0) > (F | 0) ? F : k); k = (k - F) | 0; o = (o + 4) | 0; } while ((o >>> 0 < w >>> 0) & ((k | 0) > -1)); } zo(b, 48, (k + 18) | 0, 18, 0); to(b, x, (E - x) | 0); } zo(b, 32, f, j, h ^ 8192); } while (0); V = H; return ((j | 0) < (f | 0) ? f : j) | 0; } function qo(a, b) { a = a | 0; b = b | 0; var d = 0.0, e = 0; e = ((c[b >> 2] | 0) + (8 - 1)) & ~(8 - 1); d = +g[e >> 3]; c[b >> 2] = e + 8; g[a >> 3] = d; return; } function ro(b, d, e, f, g) { b = b | 0; d = d | 0; e = e | 0; f = f | 0; g = g | 0; var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0; t = V; V = (V + 224) | 0; p = (t + 208) | 0; q = (t + 160) | 0; r = (t + 80) | 0; s = t; h = q; i = (h + 40) | 0; do { c[h >> 2] = 0; h = (h + 4) | 0; } while ((h | 0) < (i | 0)); c[p >> 2] = c[e >> 2]; if ((so(0, d, p, r, q, f, g) | 0) < 0) e = -1; else { if ((c[(b + 76) >> 2] | 0) > -1) o = ho(b) | 0; else o = 0; e = c[b >> 2] | 0; n = e & 32; if ((a[(b + 74) >> 0] | 0) < 1) c[b >> 2] = e & -33; h = (b + 48) | 0; if (!(c[h >> 2] | 0)) { i = (b + 44) | 0; j = c[i >> 2] | 0; c[i >> 2] = s; k = (b + 28) | 0; c[k >> 2] = s; l = (b + 20) | 0; c[l >> 2] = s; c[h >> 2] = 80; m = (b + 16) | 0; c[m >> 2] = s + 80; e = so(b, d, p, r, q, f, g) | 0; if (j) { aa[c[(b + 36) >> 2] & 7](b, 0, 0) | 0; e = (c[l >> 2] | 0) == 0 ? -1 : e; c[i >> 2] = j; c[h >> 2] = 0; c[m >> 2] = 0; c[k >> 2] = 0; c[l >> 2] = 0; } } else e = so(b, d, p, r, q, f, g) | 0; h = c[b >> 2] | 0; c[b >> 2] = h | n; if (o | 0) go(b); e = ((h & 32) | 0) == 0 ? e : -1; } V = t; return e | 0; } function so(d, e, f, h, i, j, k) { d = d | 0; e = e | 0; f = f | 0; h = h | 0; i = i | 0; j = j | 0; k = k | 0; var l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0; J = V; V = (V + 64) | 0; G = (J + 56) | 0; I = (J + 40) | 0; B = J; D = (J + 48) | 0; E = (J + 60) | 0; c[G >> 2] = e; y = (d | 0) != 0; z = (B + 40) | 0; A = z; B = (B + 39) | 0; C = (D + 4) | 0; l = 0; e = 0; n = 0; a: while (1) { do { do if ((e | 0) > -1) if ((l | 0) > ((2147483647 - e) | 0)) { c[(ao() | 0) >> 2] = 61; e = -1; break; } else { e = (l + e) | 0; break; } while (0); r = c[G >> 2] | 0; l = a[r >> 0] | 0; if (!((l << 24) >> 24)) { x = 92; break a; } m = r; b: while (1) { switch ((l << 24) >> 24) { case 37: { x = 10; break b; } case 0: { l = m; break b; } default: { } } w = (m + 1) | 0; c[G >> 2] = w; l = a[w >> 0] | 0; m = w; } c: do if ((x | 0) == 10) { x = 0; l = m; do { if ((a[(m + 1) >> 0] | 0) != 37) break c; l = (l + 1) | 0; m = (m + 2) | 0; c[G >> 2] = m; } while ((a[m >> 0] | 0) == 37); } while (0); l = (l - r) | 0; if (y) to(d, r, l); } while ((l | 0) != 0); w = (bo(a[((c[G >> 2] | 0) + 1) >> 0] | 0) | 0) == 0; m = c[G >> 2] | 0; if (!w ? (a[(m + 2) >> 0] | 0) == 36 : 0) { t = ((a[(m + 1) >> 0] | 0) + -48) | 0; p = 1; l = 3; } else { t = -1; p = n; l = 1; } l = (m + l) | 0; c[G >> 2] = l; m = a[l >> 0] | 0; n = (((m << 24) >> 24) + -32) | 0; if ((n >>> 0 > 31) | ((((1 << n) & 75913) | 0) == 0)) o = 0; else { o = 0; do { o = (1 << n) | o; l = (l + 1) | 0; c[G >> 2] = l; m = a[l >> 0] | 0; n = (((m << 24) >> 24) + -32) | 0; } while (!((n >>> 0 > 31) | ((((1 << n) & 75913) | 0) == 0))); } if ((m << 24) >> 24 == 42) { if ( (bo(a[(l + 1) >> 0] | 0) | 0) != 0 ? ((H = c[G >> 2] | 0), (a[(H + 2) >> 0] | 0) == 36) : 0 ) { l = (H + 1) | 0; c[(i + (((a[l >> 0] | 0) + -48) << 2)) >> 2] = 10; l = c[(h + (((a[l >> 0] | 0) + -48) << 3)) >> 2] | 0; n = 1; m = (H + 3) | 0; } else { if (p | 0) { e = -1; break; } if (y) { w = ((c[f >> 2] | 0) + (4 - 1)) & ~(4 - 1); l = c[w >> 2] | 0; c[f >> 2] = w + 4; } else l = 0; n = 0; m = ((c[G >> 2] | 0) + 1) | 0; } c[G >> 2] = m; w = (l | 0) < 0; v = w ? (0 - l) | 0 : l; o = w ? o | 8192 : o; w = n; } else { l = uo(G) | 0; if ((l | 0) < 0) { e = -1; break; } v = l; w = p; m = c[G >> 2] | 0; } do if ((a[m >> 0] | 0) == 46) { l = (m + 1) | 0; if ((a[l >> 0] | 0) != 42) { c[G >> 2] = l; l = uo(G) | 0; m = c[G >> 2] | 0; break; } if ( bo(a[(m + 2) >> 0] | 0) | 0 ? ((F = c[G >> 2] | 0), (a[(F + 3) >> 0] | 0) == 36) : 0 ) { l = (F + 2) | 0; c[(i + (((a[l >> 0] | 0) + -48) << 2)) >> 2] = 10; l = c[(h + (((a[l >> 0] | 0) + -48) << 3)) >> 2] | 0; m = (F + 4) | 0; c[G >> 2] = m; break; } if (w | 0) { e = -1; break a; } if (y) { s = ((c[f >> 2] | 0) + (4 - 1)) & ~(4 - 1); l = c[s >> 2] | 0; c[f >> 2] = s + 4; } else l = 0; m = ((c[G >> 2] | 0) + 2) | 0; c[G >> 2] = m; } else l = -1; while (0); s = 0; while (1) { if ((((a[m >> 0] | 0) + -65) | 0) >>> 0 > 57) { e = -1; break a; } n = m; m = (m + 1) | 0; c[G >> 2] = m; n = a[((a[n >> 0] | 0) + -65 + (176 + ((s * 58) | 0))) >> 0] | 0; p = n & 255; if (((p + -1) | 0) >>> 0 >= 8) break; else s = p; } if (!((n << 24) >> 24)) { e = -1; break; } q = (t | 0) > -1; do if ((n << 24) >> 24 == 19) if (q) { e = -1; break a; } else x = 54; else { if (q) { c[(i + (t << 2)) >> 2] = p; q = (h + (t << 3)) | 0; t = c[(q + 4) >> 2] | 0; x = I; c[x >> 2] = c[q >> 2]; c[(x + 4) >> 2] = t; x = 54; break; } if (!y) { e = 0; break a; } vo(I, p, f, k); m = c[G >> 2] | 0; x = 55; } while (0); if ((x | 0) == 54) { x = 0; if (y) x = 55; else l = 0; } d: do if ((x | 0) == 55) { x = 0; m = a[(m + -1) >> 0] | 0; m = ((s | 0) != 0) & (((m & 15) | 0) == 3) ? m & -33 : m; n = o & -65537; t = ((o & 8192) | 0) == 0 ? o : n; e: do switch (m | 0) { case 110: switch (((s & 255) << 24) >> 24) { case 0: { c[c[I >> 2] >> 2] = e; l = 0; break d; } case 1: { c[c[I >> 2] >> 2] = e; l = 0; break d; } case 2: { l = c[I >> 2] | 0; c[l >> 2] = e; c[(l + 4) >> 2] = (((e | 0) < 0) << 31) >> 31; l = 0; break d; } case 3: { b[c[I >> 2] >> 1] = e; l = 0; break d; } case 4: { a[c[I >> 2] >> 0] = e; l = 0; break d; } case 6: { c[c[I >> 2] >> 2] = e; l = 0; break d; } case 7: { l = c[I >> 2] | 0; c[l >> 2] = e; c[(l + 4) >> 2] = (((e | 0) < 0) << 31) >> 31; l = 0; break d; } default: { l = 0; break d; } } case 112: { m = 120; l = l >>> 0 > 8 ? l : 8; n = t | 8; x = 67; break; } case 88: case 120: { n = t; x = 67; break; } case 111: { q = I; q = xo(c[q >> 2] | 0, c[(q + 4) >> 2] | 0, z) | 0; n = (A - q) | 0; o = 0; p = 20230; l = (((t & 8) | 0) == 0) | ((l | 0) > (n | 0)) ? l : (n + 1) | 0; n = t; x = 73; break; } case 105: case 100: { n = I; m = c[n >> 2] | 0; n = c[(n + 4) >> 2] | 0; if ((n | 0) < 0) { m = mr(0, 0, m | 0, n | 0) | 0; n = u() | 0; o = I; c[o >> 2] = m; c[(o + 4) >> 2] = n; o = 1; p = 20230; x = 72; break e; } else { o = (((t & 2049) | 0) != 0) & 1; p = ((t & 2048) | 0) == 0 ? (((t & 1) | 0) == 0 ? 20230 : 20232) : 20231; x = 72; break e; } } case 117: { n = I; o = 0; p = 20230; m = c[n >> 2] | 0; n = c[(n + 4) >> 2] | 0; x = 72; break; } case 99: { a[B >> 0] = c[I >> 2]; r = B; o = 0; p = 20230; q = 1; m = n; l = A; break; } case 115: { s = c[I >> 2] | 0; s = (s | 0) == 0 ? 20240 : s; t = no(s, 0, l) | 0; K = (t | 0) == 0; r = s; o = 0; p = 20230; q = K ? l : (t - s) | 0; m = n; l = K ? (s + l) | 0 : t; break; } case 67: { c[D >> 2] = c[I >> 2]; c[C >> 2] = 0; c[I >> 2] = D; p = -1; x = 79; break; } case 83: { if (!l) { zo(d, 32, v, 0, t); l = 0; x = 89; } else { p = l; x = 79; } break; } case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { l = _[j & 1](d, +g[I >> 3], v, l, t, m) | 0; break d; } default: { o = 0; p = 20230; q = l; m = t; l = A; } } while (0); f: do if ((x | 0) == 67) { q = I; q = wo(c[q >> 2] | 0, c[(q + 4) >> 2] | 0, z, m & 32) | 0; p = I; p = (((n & 8) | 0) == 0) | (((c[p >> 2] | 0) == 0) & ((c[(p + 4) >> 2] | 0) == 0)); o = p ? 0 : 2; p = p ? 20230 : (20230 + (m >>> 4)) | 0; x = 73; } else if ((x | 0) == 72) { q = yo(m, n, z) | 0; n = t; x = 73; } else if ((x | 0) == 79) { x = 0; o = c[I >> 2] | 0; l = 0; while (1) { m = c[o >> 2] | 0; if (!m) break; m = Ao(E, m) | 0; n = (m | 0) < 0; if (n | (m >>> 0 > ((p - l) | 0) >>> 0)) { x = 83; break; } l = (m + l) | 0; if (p >>> 0 > l >>> 0) o = (o + 4) | 0; else break; } if ((x | 0) == 83) { x = 0; if (n) { e = -1; break a; } } zo(d, 32, v, l, t); if (!l) { l = 0; x = 89; } else { n = c[I >> 2] | 0; o = 0; while (1) { m = c[n >> 2] | 0; if (!m) { x = 89; break f; } m = Ao(E, m) | 0; o = (m + o) | 0; if ((o | 0) > (l | 0)) { x = 89; break f; } to(d, E, m); if (o >>> 0 >= l >>> 0) { x = 89; break; } else n = (n + 4) | 0; } } } while (0); if ((x | 0) == 73) { x = 0; m = I; m = ((c[m >> 2] | 0) != 0) | ((c[(m + 4) >> 2] | 0) != 0); K = ((l | 0) != 0) | m; m = (A - q + ((m ^ 1) & 1)) | 0; r = K ? q : z; q = K ? ((l | 0) > (m | 0) ? l : m) : 0; m = (l | 0) > -1 ? n & -65537 : n; l = A; } else if ((x | 0) == 89) { x = 0; zo(d, 32, v, l, t ^ 8192); l = (v | 0) > (l | 0) ? v : l; break; } t = (l - r) | 0; s = (q | 0) < (t | 0) ? t : q; K = (s + o) | 0; l = (v | 0) < (K | 0) ? K : v; zo(d, 32, l, K, m); to(d, p, o); zo(d, 48, l, K, m ^ 65536); zo(d, 48, s, t, 0); to(d, r, t); zo(d, 32, l, K, m ^ 8192); } while (0); n = w; } g: do if ((x | 0) == 92) if (!d) if (!n) e = 0; else { e = 1; while (1) { l = c[(i + (e << 2)) >> 2] | 0; if (!l) break; vo((h + (e << 3)) | 0, l, f, k); e = (e + 1) | 0; if (e >>> 0 >= 10) { e = 1; break g; } } while (1) { if (c[(i + (e << 2)) >> 2] | 0) { e = -1; break g; } e = (e + 1) | 0; if (e >>> 0 >= 10) { e = 1; break; } } } while (0); V = J; return e | 0; } function to(a, b, d) { a = a | 0; b = b | 0; d = d | 0; if (!(c[a >> 2] & 32)) jo(b, d, a) | 0; return; } function uo(b) { b = b | 0; var d = 0, e = 0; if (!(bo(a[c[b >> 2] >> 0] | 0) | 0)) d = 0; else { d = 0; do { e = c[b >> 2] | 0; d = (((d * 10) | 0) + -48 + (a[e >> 0] | 0)) | 0; e = (e + 1) | 0; c[b >> 2] = e; } while ((bo(a[e >> 0] | 0) | 0) != 0); } return d | 0; } function vo(a, b, d, e) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; var f = 0, h = 0.0; a: do if (b >>> 0 <= 20) do switch (b | 0) { case 9: { b = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1); e = c[b >> 2] | 0; c[d >> 2] = b + 4; c[a >> 2] = e; break a; } case 10: { e = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1); b = c[e >> 2] | 0; c[d >> 2] = e + 4; e = a; c[e >> 2] = b; c[(e + 4) >> 2] = (((b | 0) < 0) << 31) >> 31; break a; } case 11: { e = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1); b = c[e >> 2] | 0; c[d >> 2] = e + 4; e = a; c[e >> 2] = b; c[(e + 4) >> 2] = 0; break a; } case 12: { e = ((c[d >> 2] | 0) + (8 - 1)) & ~(8 - 1); b = e; f = c[b >> 2] | 0; b = c[(b + 4) >> 2] | 0; c[d >> 2] = e + 8; e = a; c[e >> 2] = f; c[(e + 4) >> 2] = b; break a; } case 13: { f = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1); e = c[f >> 2] | 0; c[d >> 2] = f + 4; e = ((e & 65535) << 16) >> 16; f = a; c[f >> 2] = e; c[(f + 4) >> 2] = (((e | 0) < 0) << 31) >> 31; break a; } case 14: { f = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1); e = c[f >> 2] | 0; c[d >> 2] = f + 4; f = a; c[f >> 2] = e & 65535; c[(f + 4) >> 2] = 0; break a; } case 15: { f = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1); e = c[f >> 2] | 0; c[d >> 2] = f + 4; e = ((e & 255) << 24) >> 24; f = a; c[f >> 2] = e; c[(f + 4) >> 2] = (((e | 0) < 0) << 31) >> 31; break a; } case 16: { f = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1); e = c[f >> 2] | 0; c[d >> 2] = f + 4; f = a; c[f >> 2] = e & 255; c[(f + 4) >> 2] = 0; break a; } case 17: { f = ((c[d >> 2] | 0) + (8 - 1)) & ~(8 - 1); h = +g[f >> 3]; c[d >> 2] = f + 8; g[a >> 3] = h; break a; } case 18: { da[e & 15](a, d); break a; } default: break a; } while (0); while (0); return; } function wo(b, c, e, f) { b = b | 0; c = c | 0; e = e | 0; f = f | 0; if (!(((b | 0) == 0) & ((c | 0) == 0))) do { e = (e + -1) | 0; a[e >> 0] = d[(640 + (b & 15)) >> 0] | 0 | f; b = qr(b | 0, c | 0, 4) | 0; c = u() | 0; } while (!(((b | 0) == 0) & ((c | 0) == 0))); return e | 0; } function xo(b, c, d) { b = b | 0; c = c | 0; d = d | 0; if (!(((b | 0) == 0) & ((c | 0) == 0))) do { d = (d + -1) | 0; a[d >> 0] = (b & 7) | 48; b = qr(b | 0, c | 0, 3) | 0; c = u() | 0; } while (!(((b | 0) == 0) & ((c | 0) == 0))); return d | 0; } function yo(b, c, d) { b = b | 0; c = c | 0; d = d | 0; var e = 0, f = 0, g = 0; if ((c >>> 0 > 0) | (((c | 0) == 0) & (b >>> 0 > 4294967295))) { do { e = b; b = pr(b | 0, c | 0, 10, 0) | 0; f = c; c = u() | 0; g = kr(b | 0, c | 0, 10, 0) | 0; g = mr(e | 0, f | 0, g | 0, u() | 0) | 0; u() | 0; d = (d + -1) | 0; a[d >> 0] = (g & 255) | 48; } while ((f >>> 0 > 9) | (((f | 0) == 9) & (e >>> 0 > 4294967295))); c = b; } else c = b; if (c) do { g = c; c = ((c >>> 0) / 10) | 0; d = (d + -1) | 0; a[d >> 0] = (g - ((c * 10) | 0)) | 48; } while (g >>> 0 >= 10); return d | 0; } function zo(a, b, c, d, e) { a = a | 0; b = b | 0; c = c | 0; d = d | 0; e = e | 0; var f = 0, g = 0; g = V; V = (V + 256) | 0; f = g; if (((c | 0) > (d | 0)) & (((e & 73728) | 0) == 0)) { e = (c - d) | 0; wr(f | 0, ((b << 24) >> 24) | 0, (e >>> 0 < 256 ? e : 256) | 0) | 0; if (e >>> 0 > 255) { b = (c - d) | 0; do { to(a, f, 256); e = (e + -256) | 0; } while (e >>> 0 > 255); e = b & 255; } to(a, f, e); } V = g; return; } function Ao(a, b) { a = a | 0; b = b | 0; if (!a) a = 0; else a = Bo(a, b, 0) | 0; return a | 0; } function Bo(b, d, e) { b = b | 0; d = d | 0; e = e | 0; do if (b) { if (d >>> 0 < 128) { a[b >> 0] = d; b = 1; break; } if (!(c[c[((Co() | 0) + 176) >> 2] >> 2] | 0)) if (((d & -128) | 0) == 57216) { a[b >> 0] = d; b = 1; break; } else { c[(ao() | 0) >> 2] = 25; b = -1; break; } if (d >>> 0 < 2048) { a[b >> 0] = (d >>> 6) | 192; a[(b + 1) >> 0] = (d & 63) | 128; b = 2; break; } if ((d >>> 0 < 55296) | (((d & -8192) | 0) == 57344)) { a[b >> 0] = (d >>> 12) | 224; a[(b + 1) >> 0] = ((d >>> 6) & 63) | 128; a[(b + 2) >> 0] = (d & 63) | 128; b = 3; break; } if (((d + -65536) | 0) >>> 0 < 1048576) { a[b >> 0] = (d >>> 18) | 240; a[(b + 1) >> 0] = ((d >>> 12) & 63) | 128; a[(b + 2) >> 0] = ((d >>> 6) & 63) | 128; a[(b + 3) >> 0] = (d & 63) | 128; b = 4; break; } else { c[(ao() | 0) >> 2] = 25; b = -1; break; } } else b = 1; while (0); return b | 0; } function Co() { return co() | 0; } function Do(a) { a = +a; var b = 0; g[h >> 3] = a; b = c[h >> 2] | 0; t(c[(h + 4) >> 2] | 0); return b | 0; } function Eo(a, b) { a = +a; b = b | 0; var d = 0, e = 0, f = 0; g[h >> 3] = a; d = c[h >> 2] | 0; e = c[(h + 4) >> 2] | 0; f = qr(d | 0, e | 0, 52) | 0; u() | 0; switch (f & 2047) { case 0: { if (a != 0.0) { a = +Eo(a * 18446744073709551616.0, b); d = ((c[b >> 2] | 0) + -64) | 0; } else d = 0; c[b >> 2] = d; break; } case 2047: break; default: { c[b >> 2] = (f & 2047) + -1022; c[h >> 2] = d; c[(h + 4) >> 2] = (e & -2146435073) | 1071644672; a = +g[h >> 3]; } } return +a; } function Fo(b, c, d) { b = b | 0; c = c | 0; d = d | 0; var e = 0, f = 0; a: do if (!d) b = 0; else { while (1) { e = a[b >> 0] | 0; f = a[c >> 0] | 0; if ((e << 24) >> 24 != (f << 24) >> 24) break; d = (d + -1) | 0; if (!d) { b = 0; break a; } else { b = (b + 1) | 0; c = (c + 1) | 0; } } b = ((e & 255) - (f & 255)) | 0; } while (0); return b | 0; } function Go(a, b, d, e) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; var f = 0, g = 0; f = V; V = (V + 16) | 0; g = f; c[g >> 2] = e; e = Ho(a, b, d, g) | 0; V = f; return e | 0; } function Ho(b, d, e, f) { b = b | 0; d = d | 0; e = e | 0; f = f | 0; var g = 0, h = 0, i = 0, j = 0; j = V; V = (V + 160) | 0; g = (j + 144) | 0; i = j; ur(i | 0, 3672, 144) | 0; if (((d + -1) | 0) >>> 0 > 2147483646) if (!d) { b = g; d = 1; h = 4; } else { c[(ao() | 0) >> 2] = 61; d = -1; } else h = 4; if ((h | 0) == 4) { h = (-2 - b) | 0; h = d >>> 0 > h >>> 0 ? h : d; c[(i + 48) >> 2] = h; g = (i + 20) | 0; c[g >> 2] = b; c[(i + 44) >> 2] = b; d = (b + h) | 0; b = (i + 16) | 0; c[b >> 2] = d; c[(i + 28) >> 2] = d; d = oo(i, e, f) | 0; if (h) { i = c[g >> 2] | 0; a[(i + ((((i | 0) == (c[b >> 2] | 0)) << 31) >> 31)) >> 0] = 0; } } V = j; return d | 0; } function Io(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; e = (a + 20) | 0; f = c[e >> 2] | 0; a = ((c[(a + 16) >> 2] | 0) - f) | 0; a = a >>> 0 > d >>> 0 ? d : a; ur(f | 0, b | 0, a | 0) | 0; c[e >> 2] = (c[e >> 2] | 0) + a; return d | 0; } function Jo(a) { a = a | 0; var b = 0, c = 0; b = ((fo(a) | 0) + 1) | 0; c = dr(b) | 0; if (!c) a = 0; else a = ur(c | 0, a | 0, b | 0) | 0; return a | 0; } function Ko(b, e) { b = b | 0; e = e | 0; var f = 0, g = 0; f = 0; while (1) { if ((d[(656 + f) >> 0] | 0) == (b | 0)) { g = 4; break; } f = (f + 1) | 0; if ((f | 0) == 87) { b = 87; g = 5; break; } } if ((g | 0) == 4) if (!f) f = 752; else { b = f; g = 5; } if ((g | 0) == 5) { f = 752; do { do { g = f; f = (f + 1) | 0; } while ((a[g >> 0] | 0) != 0); b = (b + -1) | 0; } while ((b | 0) != 0); } return Lo(f, c[(e + 20) >> 2] | 0) | 0; } function Lo(a, b) { a = a | 0; b = b | 0; return ko(a, b) | 0; } function Mo(a) { a = a | 0; return Ko(a, c[((No() | 0) + 176) >> 2] | 0) | 0; } function No() { return co() | 0; } function Oo(b, c, d) { b = b | 0; c = c | 0; d = d | 0; var e = 0; e = Mo(b) | 0; b = fo(e) | 0; if (b >>> 0 >= d >>> 0) { b = (d + -1) | 0; if (!d) b = 68; else { ur(c | 0, e | 0, b | 0) | 0; a[(c + b) >> 0] = 0; b = 68; } } else { ur(c | 0, e | 0, (b + 1) | 0) | 0; b = 0; } return b | 0; } function Po() { var a = 0, b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; e = V; V = (V + 48) | 0; g = (e + 32) | 0; b = (e + 24) | 0; h = (e + 16) | 0; f = e; e = (e + 36) | 0; a = Qo() | 0; if (a | 0 ? ((d = c[a >> 2] | 0), d | 0) : 0) { a = (d + 48) | 0; if (!(Ro(a) | 0)) { c[b >> 2] = 20420; To(20370, b); } b = So(a) | 0; if (((b | 0) == 1126902529) & ((u() | 0) == 1129074247)) a = c[(d + 44) >> 2] | 0; else a = (d + 80) | 0; c[e >> 2] = a; d = c[d >> 2] | 0; a = c[(d + 4) >> 2] | 0; if (aa[c[((c[954] | 0) + 16) >> 2] & 7](3816, d, e) | 0) { h = c[e >> 2] | 0; h = Z[c[((c[h >> 2] | 0) + 8) >> 2] & 15](h) | 0; c[f >> 2] = 20420; c[(f + 4) >> 2] = a; c[(f + 8) >> 2] = h; To(20284, f); } else { c[h >> 2] = 20420; c[(h + 4) >> 2] = a; To(20329, h); } } To(20408, g); } function Qo() { return 21640; } function Ro(a) { a = a | 0; a = So(a) | 0; return ((((a & -256) | 0) == 1126902528) & ((u() | 0) == 1129074247)) | 0; } function So(a) { a = a | 0; var b = 0; b = a; a = c[b >> 2] | 0; t(c[(b + 4) >> 2] | 0); return a | 0; } function To(a, b) { a = a | 0; b = b | 0; U(); } function Uo(a) { a = a | 0; return; } function Vo(a) { a = a | 0; Uo(a); jp(a); return; } function Wo(a) { a = a | 0; return; } function Xo(a) { a = a | 0; return; } function Yo(d, e, f) { d = d | 0; e = e | 0; f = f | 0; var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0; l = V; V = (V + 64) | 0; j = l; if (!(ap(d, e, 0) | 0)) if ((e | 0) != 0 ? ((k = ep(e, 3840, 3824, 0) | 0), (k | 0) != 0) : 0) { c[j >> 2] = k; c[(j + 4) >> 2] = 0; c[(j + 8) >> 2] = d; c[(j + 12) >> 2] = -1; d = (j + 16) | 0; e = (j + 24) | 0; g = (j + 48) | 0; h = d; i = (h + 36) | 0; do { c[h >> 2] = 0; h = (h + 4) | 0; } while ((h | 0) < (i | 0)); b[(d + 36) >> 1] = 0; a[(d + 38) >> 0] = 0; c[g >> 2] = 1; fa[c[((c[k >> 2] | 0) + 28) >> 2] & 7](k, j, c[f >> 2] | 0, 1); if ((c[e >> 2] | 0) == 1) { c[f >> 2] = c[d >> 2]; d = 1; } else d = 0; } else d = 0; else d = 1; V = l; return d | 0; } function Zo(a, b, d, e, f, g) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; f = f | 0; g = g | 0; if (ap(a, c[(b + 8) >> 2] | 0, g) | 0) dp(0, b, d, e, f); return; } function _o(b, d, e, f, g) { b = b | 0; d = d | 0; e = e | 0; f = f | 0; g = g | 0; var h = 0; do if (!(ap(b, c[(d + 8) >> 2] | 0, g) | 0)) { if (ap(b, c[d >> 2] | 0, g) | 0) { if ( (c[(d + 16) >> 2] | 0) != (e | 0) ? ((h = (d + 20) | 0), (c[h >> 2] | 0) != (e | 0)) : 0 ) { c[(d + 32) >> 2] = f; c[h >> 2] = e; g = (d + 40) | 0; c[g >> 2] = (c[g >> 2] | 0) + 1; if ((c[(d + 36) >> 2] | 0) == 1 ? (c[(d + 24) >> 2] | 0) == 2 : 0) a[(d + 54) >> 0] = 1; c[(d + 44) >> 2] = 4; break; } if ((f | 0) == 1) c[(d + 32) >> 2] = 1; } } else cp(0, d, e, f); while (0); return; } function $o(a, b, d, e) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; if (ap(a, c[(b + 8) >> 2] | 0, 0) | 0) bp(0, b, d, e); return; } function ap(a, b, d) { a = a | 0; b = b | 0; d = d | 0; if (d) if ((a | 0) == (b | 0)) a = 1; else a = (eo(c[(a + 4) >> 2] | 0, c[(b + 4) >> 2] | 0) | 0) == 0; else a = (c[(a + 4) >> 2] | 0) == (c[(b + 4) >> 2] | 0); return a | 0; } function bp(b, d, e, f) { b = b | 0; d = d | 0; e = e | 0; f = f | 0; var g = 0; b = (d + 16) | 0; g = c[b >> 2] | 0; do if (g) { if ((g | 0) != (e | 0)) { f = (d + 36) | 0; c[f >> 2] = (c[f >> 2] | 0) + 1; c[(d + 24) >> 2] = 2; a[(d + 54) >> 0] = 1; break; } b = (d + 24) | 0; if ((c[b >> 2] | 0) == 2) c[b >> 2] = f; } else { c[b >> 2] = e; c[(d + 24) >> 2] = f; c[(d + 36) >> 2] = 1; } while (0); return; } function cp(a, b, d, e) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; var f = 0; if ((c[(b + 4) >> 2] | 0) == (d | 0) ? ((f = (b + 28) | 0), (c[f >> 2] | 0) != 1) : 0) c[f >> 2] = e; return; } function dp(b, d, e, f, g) { b = b | 0; d = d | 0; e = e | 0; f = f | 0; g = g | 0; a[(d + 53) >> 0] = 1; do if ((c[(d + 4) >> 2] | 0) == (f | 0)) { a[(d + 52) >> 0] = 1; b = (d + 16) | 0; f = c[b >> 2] | 0; if (!f) { c[b >> 2] = e; c[(d + 24) >> 2] = g; c[(d + 36) >> 2] = 1; if (!((g | 0) == 1 ? (c[(d + 48) >> 2] | 0) == 1 : 0)) break; a[(d + 54) >> 0] = 1; break; } if ((f | 0) != (e | 0)) { g = (d + 36) | 0; c[g >> 2] = (c[g >> 2] | 0) + 1; a[(d + 54) >> 0] = 1; break; } f = (d + 24) | 0; b = c[f >> 2] | 0; if ((b | 0) == 2) { c[f >> 2] = g; b = g; } if ((b | 0) == 1 ? (c[(d + 48) >> 2] | 0) == 1 : 0) a[(d + 54) >> 0] = 1; } while (0); return; } function ep(d, e, f, g) { d = d | 0; e = e | 0; f = f | 0; g = g | 0; var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; p = V; V = (V + 64) | 0; n = p; m = c[d >> 2] | 0; o = (d + (c[(m + -8) >> 2] | 0)) | 0; m = c[(m + -4) >> 2] | 0; c[n >> 2] = f; c[(n + 4) >> 2] = d; c[(n + 8) >> 2] = e; c[(n + 12) >> 2] = g; d = (n + 16) | 0; e = (n + 20) | 0; g = (n + 24) | 0; h = (n + 28) | 0; i = (n + 32) | 0; j = (n + 40) | 0; k = d; l = (k + 36) | 0; do { c[k >> 2] = 0; k = (k + 4) | 0; } while ((k | 0) < (l | 0)); b[(d + 36) >> 1] = 0; a[(d + 38) >> 0] = 0; a: do if (ap(m, f, 0) | 0) { c[(n + 48) >> 2] = 1; ha[c[((c[m >> 2] | 0) + 20) >> 2] & 3](m, n, o, o, 1, 0); d = (c[g >> 2] | 0) == 1 ? o : 0; } else { ga[c[((c[m >> 2] | 0) + 24) >> 2] & 3](m, n, o, 1, 0); switch (c[(n + 36) >> 2] | 0) { case 0: { d = ((c[j >> 2] | 0) == 1) & ((c[h >> 2] | 0) == 1) & ((c[i >> 2] | 0) == 1) ? c[e >> 2] | 0 : 0; break a; } case 1: break; default: { d = 0; break a; } } if ( (c[g >> 2] | 0) != 1 ? !(((c[j >> 2] | 0) == 0) & ((c[h >> 2] | 0) == 1) & ((c[i >> 2] | 0) == 1)) : 0 ) { d = 0; break; } d = c[d >> 2] | 0; } while (0); V = p; return d | 0; } function fp(a) { a = a | 0; Uo(a); jp(a); return; } function gp(a, b, d, e, f, g) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; f = f | 0; g = g | 0; if (ap(a, c[(b + 8) >> 2] | 0, g) | 0) dp(0, b, d, e, f); else { a = c[(a + 8) >> 2] | 0; ha[c[((c[a >> 2] | 0) + 20) >> 2] & 3](a, b, d, e, f, g); } return; } function hp(b, d, e, f, g) { b = b | 0; d = d | 0; e = e | 0; f = f | 0; g = g | 0; var h = 0, i = 0, j = 0; a: do if (!(ap(b, c[(d + 8) >> 2] | 0, g) | 0)) { if (!(ap(b, c[d >> 2] | 0, g) | 0)) { i = c[(b + 8) >> 2] | 0; ga[c[((c[i >> 2] | 0) + 24) >> 2] & 3](i, d, e, f, g); break; } if ( (c[(d + 16) >> 2] | 0) != (e | 0) ? ((i = (d + 20) | 0), (c[i >> 2] | 0) != (e | 0)) : 0 ) { c[(d + 32) >> 2] = f; f = (d + 44) | 0; do if ((c[f >> 2] | 0) != 4) { h = (d + 52) | 0; a[h >> 0] = 0; j = (d + 53) | 0; a[j >> 0] = 0; b = c[(b + 8) >> 2] | 0; ha[c[((c[b >> 2] | 0) + 20) >> 2] & 3](b, d, e, e, 1, g); if (a[j >> 0] | 0) { j = (a[h >> 0] | 0) == 0; c[f >> 2] = 3; if (j) break; else break a; } else { c[f >> 2] = 4; break; } } while (0); c[i >> 2] = e; j = (d + 40) | 0; c[j >> 2] = (c[j >> 2] | 0) + 1; if ((c[(d + 36) >> 2] | 0) != 1) break; if ((c[(d + 24) >> 2] | 0) != 2) break; a[(d + 54) >> 0] = 1; break; } if ((f | 0) == 1) c[(d + 32) >> 2] = 1; } else cp(0, d, e, f); while (0); return; } function ip(a, b, d, e) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; if (ap(a, c[(b + 8) >> 2] | 0, 0) | 0) bp(0, b, d, e); else { a = c[(a + 8) >> 2] | 0; fa[c[((c[a >> 2] | 0) + 28) >> 2] & 7](a, b, d, e); } return; } function jp(a) { a = a | 0; er(a); return; } function kp(a) { a = a | 0; return; } function lp() { var a = 0, b = 0; a = Qo() | 0; if ((a | 0 ? ((b = c[a >> 2] | 0), b | 0) : 0) ? Ro((b + 48) | 0) | 0 : 0) mp(c[(b + 12) >> 2] | 0); mp(np() | 0); } function mp(a) { a = a | 0; var b = 0; b = V; V = (V + 16) | 0; ba[a & 3](); To(20559, b); } function np() { return 2; } function op(a) { a = a | 0; return; } function pp(a) { a = a | 0; jp(a); return; } function qp(a) { a = a | 0; return 20599; } function rp(a) { a = a | 0; c[a >> 2] = 5916; vp((a + 4) | 0); return; } function sp(a) { a = a | 0; rp(a); jp(a); return; } function tp(a) { a = a | 0; return up((a + 4) | 0) | 0; } function up(a) { a = a | 0; return c[a >> 2] | 0; } function vp(a) { a = a | 0; var b = 0, d = 0; if ( wp(a) | 0 ? ((b = xp(c[a >> 2] | 0) | 0), (d = (b + 8) | 0), (a = c[d >> 2] | 0), (c[d >> 2] = a + -1), (a | 0) < 1) : 0 ) jp(b); return; } function wp(a) { a = a | 0; return 1; } function xp(a) { a = a | 0; return (a + -12) | 0; } function yp(a) { a = a | 0; c[a >> 2] = 5936; vp((a + 4) | 0); return; } function zp(a) { a = a | 0; yp(a); jp(a); return; } function Ap(a) { a = a | 0; return up((a + 4) | 0) | 0; } function Bp(a) { a = a | 0; rp(a); jp(a); return; } function Cp(a) { a = a | 0; rp(a); jp(a); return; } function Dp() { var a = 0; a = V; V = (V + 16) | 0; To(20848, a); } function Ep(a) { a = a | 0; Uo(a); jp(a); return; } function Fp(a, b, c) { a = a | 0; b = b | 0; c = c | 0; return ap(a, b, 0) | 0; } function Gp(a) { a = a | 0; Uo(a); jp(a); return; } function Hp(d, e, f) { d = d | 0; e = e | 0; f = f | 0; var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0; n = V; V = (V + 64) | 0; l = n; do if (!(ap(e, 4048, 0) | 0)) { if (Ip(d, e, 0) | 0) { e = c[f >> 2] | 0; if (!e) { e = 1; break; } c[f >> 2] = c[e >> 2]; e = 1; break; } if ((e | 0) != 0 ? ((g = ep(e, 3840, 3976, 0) | 0), (g | 0) != 0) : 0) { e = c[f >> 2] | 0; if (e | 0) c[f >> 2] = c[e >> 2]; e = c[(g + 8) >> 2] | 0; i = (d + 8) | 0; h = c[i >> 2] | 0; if (((e & 7 & (h ^ 7)) | 0) == 0 ? ((((e & 96) ^ 96) & h) | 0) == 0 : 0) { h = (d + 12) | 0; d = c[h >> 2] | 0; g = (g + 12) | 0; e = c[g >> 2] | 0; if (!(ap(d, e, 0) | 0)) { if (ap(d, 4040, 0) | 0) { if (!e) { e = 1; break; } e = (ep(e, 3840, 3992, 0) | 0) == 0; break; } if (d) { e = ep(d, 3840, 3976, 0) | 0; if (e | 0) { if (!(c[i >> 2] & 1)) { e = 0; break; } e = Jp(e, c[g >> 2] | 0) | 0; break; } e = c[h >> 2] | 0; if (e) { e = ep(e, 3840, 4008, 0) | 0; if (e | 0) { if (!(c[i >> 2] & 1)) { e = 0; break; } e = Kp(e, c[g >> 2] | 0) | 0; break; } e = c[h >> 2] | 0; if ( ( ((e | 0) != 0 ? ((j = ep(e, 3840, 3824, 0) | 0), (j | 0) != 0) : 0) ? ((k = c[g >> 2] | 0), (k | 0) != 0) : 0 ) ? ((m = ep(k, 3840, 3824, 0) | 0), (m | 0) != 0) : 0 ) { c[l >> 2] = m; c[(l + 4) >> 2] = 0; c[(l + 8) >> 2] = j; c[(l + 12) >> 2] = -1; e = (l + 16) | 0; d = (l + 24) | 0; g = (l + 48) | 0; h = e; i = (h + 36) | 0; do { c[h >> 2] = 0; h = (h + 4) | 0; } while ((h | 0) < (i | 0)); b[(e + 36) >> 1] = 0; a[(e + 38) >> 0] = 0; c[g >> 2] = 1; fa[c[((c[m >> 2] | 0) + 28) >> 2] & 7](m, l, c[f >> 2] | 0, 1); do if ((c[d >> 2] | 0) == 1) { if (!(c[f >> 2] | 0)) { e = 1; break; } c[f >> 2] = c[e >> 2]; e = 1; } else e = 0; while (0); } else e = 0; } else e = 0; } else e = 0; } else e = 1; } else e = 0; } else e = 0; } else { c[f >> 2] = 0; e = 1; } while (0); V = n; return e | 0; } function Ip(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; if (!(c[(a + 8) >> 2] & 24)) if ((b | 0) != 0 ? ((e = ep(b, 3840, 3960, 0) | 0), (e | 0) != 0) : 0) { d = ((c[(e + 8) >> 2] & 24) | 0) != 0; f = 5; } else d = 0; else { d = 1; f = 5; } if ((f | 0) == 5) d = ap(a, b, d) | 0; return d | 0; } function Jp(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0, g = 0, h = 0; while (1) { if (!b) { b = 0; break; } d = ep(b, 3840, 3976, 0) | 0; if (!d) { b = 0; break; } f = c[(a + 8) >> 2] | 0; if ((c[(d + 8) >> 2] & ~f) | 0) { b = 0; break; } e = (a + 12) | 0; b = c[e >> 2] | 0; d = (d + 12) | 0; if (ap(b, c[d >> 2] | 0, 0) | 0) { b = 1; break; } if ((((f & 1) | 0) == 0) | ((b | 0) == 0)) { b = 0; break; } a = ep(b, 3840, 3976, 0) | 0; if (!a) { h = 9; break; } b = c[d >> 2] | 0; } if ((h | 0) == 9) { b = c[e >> 2] | 0; if ((b | 0) != 0 ? ((g = ep(b, 3840, 4008, 0) | 0), (g | 0) != 0) : 0) b = Kp(g, c[d >> 2] | 0) | 0; else b = 0; } return b | 0; } function Kp(a, b) { a = a | 0; b = b | 0; var d = 0; if ( ( ((b | 0) != 0 ? ((d = ep(b, 3840, 4008, 0) | 0), (d | 0) != 0) : 0) ? ((c[(d + 8) >> 2] & ~c[(a + 8) >> 2]) | 0) == 0 : 0 ) ? ap(c[(a + 12) >> 2] | 0, c[(d + 12) >> 2] | 0, 0) | 0 : 0 ) a = ap(c[(a + 16) >> 2] | 0, c[(d + 16) >> 2] | 0, 0) | 0; else a = 0; return a | 0; } function Lp(a) { a = a | 0; Uo(a); jp(a); return; } function Mp(b, d, e, f, g, h) { b = b | 0; d = d | 0; e = e | 0; f = f | 0; g = g | 0; h = h | 0; var i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; if (ap(b, c[(d + 8) >> 2] | 0, h) | 0) dp(0, d, e, f, g); else { r = (d + 52) | 0; j = a[r >> 0] | 0; q = (d + 53) | 0; i = a[q >> 0] | 0; p = c[(b + 12) >> 2] | 0; m = (b + 16 + (p << 3)) | 0; a[r >> 0] = 0; a[q >> 0] = 0; Qp((b + 16) | 0, d, e, f, g, h); k = a[r >> 0] | 0; j = k | j; l = a[q >> 0] | 0; i = l | i; a: do if ((p | 0) > 1) { n = (d + 24) | 0; o = (b + 8) | 0; p = (d + 54) | 0; b = (b + 24) | 0; do { i = i & 1; j = j & 1; if (a[p >> 0] | 0) break a; if (!((k << 24) >> 24)) { if ((l << 24) >> 24 ? ((c[o >> 2] & 1) | 0) == 0 : 0) break a; } else { if ((c[n >> 2] | 0) == 1) break a; if (!(c[o >> 2] & 2)) break a; } a[r >> 0] = 0; a[q >> 0] = 0; Qp(b, d, e, f, g, h); k = a[r >> 0] | 0; j = k | j; l = a[q >> 0] | 0; i = l | i; b = (b + 8) | 0; } while (b >>> 0 < m >>> 0); } while (0); a[r >> 0] = ((j << 24) >> 24 != 0) & 1; a[q >> 0] = ((i << 24) >> 24 != 0) & 1; } return; } function Np(b, d, e, f, g) { b = b | 0; d = d | 0; e = e | 0; f = f | 0; g = g | 0; var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; a: do if (!(ap(b, c[(d + 8) >> 2] | 0, g) | 0)) { if (!(ap(b, c[d >> 2] | 0, g) | 0)) { p = c[(b + 12) >> 2] | 0; k = (b + 16 + (p << 3)) | 0; Rp((b + 16) | 0, d, e, f, g); h = (b + 24) | 0; if ((p | 0) <= 1) break; b = c[(b + 8) >> 2] | 0; if (((b & 2) | 0) == 0 ? ((j = (d + 36) | 0), (c[j >> 2] | 0) != 1) : 0) { if (!(b & 1)) { b = (d + 54) | 0; while (1) { if (a[b >> 0] | 0) break a; if ((c[j >> 2] | 0) == 1) break a; Rp(h, d, e, f, g); h = (h + 8) | 0; if (h >>> 0 >= k >>> 0) break a; } } b = (d + 24) | 0; i = (d + 54) | 0; while (1) { if (a[i >> 0] | 0) break a; if ((c[j >> 2] | 0) == 1 ? (c[b >> 2] | 0) == 1 : 0) break a; Rp(h, d, e, f, g); h = (h + 8) | 0; if (h >>> 0 >= k >>> 0) break a; } } b = (d + 54) | 0; while (1) { if (a[b >> 0] | 0) break a; Rp(h, d, e, f, g); h = (h + 8) | 0; if (h >>> 0 >= k >>> 0) break a; } } if ( (c[(d + 16) >> 2] | 0) != (e | 0) ? ((p = (d + 20) | 0), (c[p >> 2] | 0) != (e | 0)) : 0 ) { c[(d + 32) >> 2] = f; o = (d + 44) | 0; if ((c[o >> 2] | 0) != 4) { j = (b + 16 + (c[(b + 12) >> 2] << 3)) | 0; k = (d + 52) | 0; f = (d + 53) | 0; l = (d + 54) | 0; m = (b + 8) | 0; n = (d + 24) | 0; h = 0; i = (b + 16) | 0; b = 0; b: while (1) { if (i >>> 0 >= j >>> 0) { i = 18; break; } a[k >> 0] = 0; a[f >> 0] = 0; Qp(i, d, e, e, 1, g); if (a[l >> 0] | 0) { i = 18; break; } do if (a[f >> 0] | 0) { if (!(a[k >> 0] | 0)) if (!(c[m >> 2] & 1)) { i = 19; break b; } else { b = 1; break; } if ((c[n >> 2] | 0) == 1) { h = 1; i = 19; break b; } if (!(c[m >> 2] & 2)) { h = 1; i = 19; break b; } else { h = 1; b = 1; } } while (0); i = (i + 8) | 0; } if ((i | 0) == 18) if (b) i = 19; else b = 4; if ((i | 0) == 19) b = 3; c[o >> 2] = b; if (h & 1) break; } c[p >> 2] = e; e = (d + 40) | 0; c[e >> 2] = (c[e >> 2] | 0) + 1; if ((c[(d + 36) >> 2] | 0) != 1) break; if ((c[(d + 24) >> 2] | 0) != 2) break; a[(d + 54) >> 0] = 1; break; } if ((f | 0) == 1) c[(d + 32) >> 2] = 1; } else cp(0, d, e, f); while (0); return; } function Op(b, d, e, f) { b = b | 0; d = d | 0; e = e | 0; f = f | 0; var g = 0, h = 0; a: do if (!(ap(b, c[(d + 8) >> 2] | 0, 0) | 0)) { h = c[(b + 12) >> 2] | 0; g = (b + 16 + (h << 3)) | 0; Pp((b + 16) | 0, d, e, f); if ((h | 0) > 1) { h = (d + 54) | 0; b = (b + 24) | 0; do { Pp(b, d, e, f); if (a[h >> 0] | 0) break a; b = (b + 8) | 0; } while (b >>> 0 < g >>> 0); } } else bp(0, d, e, f); while (0); return; } function Pp(a, b, d, e) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; var f = 0, g = 0; g = c[(a + 4) >> 2] | 0; if (d) { f = g >> 8; if (g & 1) f = c[((c[d >> 2] | 0) + f) >> 2] | 0; } else f = 0; a = c[a >> 2] | 0; fa[c[((c[a >> 2] | 0) + 28) >> 2] & 7](a, b, (d + f) | 0, ((g & 2) | 0) == 0 ? 2 : e); return; } function Qp(a, b, d, e, f, g) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; f = f | 0; g = g | 0; var h = 0, i = 0; i = c[(a + 4) >> 2] | 0; h = i >> 8; if (i & 1) h = c[((c[e >> 2] | 0) + h) >> 2] | 0; a = c[a >> 2] | 0; ha[c[((c[a >> 2] | 0) + 20) >> 2] & 3](a, b, d, (e + h) | 0, ((i & 2) | 0) == 0 ? 2 : f, g); return; } function Rp(a, b, d, e, f) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; f = f | 0; var g = 0, h = 0; h = c[(a + 4) >> 2] | 0; g = h >> 8; if (h & 1) g = c[((c[d >> 2] | 0) + g) >> 2] | 0; a = c[a >> 2] | 0; ga[c[((c[a >> 2] | 0) + 24) >> 2] & 3](a, b, (d + g) | 0, ((h & 2) | 0) == 0 ? 2 : e, f); return; } function Sp(a) { a = a | 0; c[a >> 2] = 5896; return; } function Tp(a) { a = a | 0; var b = 0, c = 0; b = V; V = (V + 16) | 0; c = b; Up(c, a); a = Vp(c) | 0; V = b; return a | 0; } function Up(a, b) { a = a | 0; b = b | 0; _p(a, b); return; } function Vp(a) { a = a | 0; var b = 0, d = 0; b = V; V = (V + 16) | 0; d = b; Wp(d, c[(a + 4) >> 2] | 0); if (!(((Xp(d) | 0) << 24) >> 24)) a = Zp(Yp(a) | 0) | 0; else a = 0; V = b; return a | 0; } function Wp(a, b) { a = a | 0; b = b | 0; c[a >> 2] = b; return; } function Xp(b) { b = b | 0; return a[c[b >> 2] >> 0] | 0; } function Yp(a) { a = a | 0; return a | 0; } function Zp(b) { b = b | 0; var d = 0, e = 0, f = 0, g = 0; g = V; V = (V + 16) | 0; f = g; b = c[(b + 8) >> 2] | 0; d = a[b >> 0] | 0; do if ((d << 24) >> 24 != 1) if (!(d & 2)) { a[b >> 0] = 2; e = 1; break; } else To(20985, f); else e = 0; while (0); V = g; return e | 0; } function _p(a, b) { a = a | 0; b = b | 0; c[a >> 2] = b; c[(a + 4) >> 2] = b; c[(a + 8) >> 2] = b + 1; c[(a + 12) >> 2] = 0; return; } function $p(a) { a = a | 0; var b = 0, c = 0; b = V; V = (V + 16) | 0; c = b; Up(c, a); aq(c); V = b; return; } function aq(a) { a = a | 0; var b = 0, d = 0; b = V; V = (V + 16) | 0; d = b; Wp(d, c[(a + 4) >> 2] | 0); bq(d); cq(Yp(a) | 0); V = b; return; } function bq(b) { b = b | 0; a[c[b >> 2] >> 0] = 1; return; } function cq(b) { b = b | 0; a[c[(b + 8) >> 2] >> 0] = 1; return; } function dq() { return 0; } function eq(a) { a = a | 0; var b = 0, c = 0; c = (a | 0) == 0 ? 1 : a; while (1) { b = dr(c) | 0; if (b | 0) { a = 6; break; } a = dq() | 0; if (!a) { a = 5; break; } ba[a & 3](); } if ((a | 0) == 5) { c = v(4) | 0; Sp(c); x(c | 0, 3880, 121); } else if ((a | 0) == 6) return b | 0; return 0; } function fq(a) { a = a | 0; return eq(a) | 0; } function gq(a) { a = a | 0; jp(a); return; } function hq(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; f = V; V = (V + 16) | 0; e = f; c[e >> 2] = c[d >> 2]; a = aa[c[((c[a >> 2] | 0) + 16) >> 2] & 7](a, b, e) | 0; if (a) c[d >> 2] = c[e >> 2]; V = f; return (a & 1) | 0; } function iq(a) { a = a | 0; if (!a) a = 0; else a = ((ep(a, 3840, 3976, 0) | 0) != 0) & 1; return a | 0; } function jq(a) { a = a | 0; return 0; } function kq() { return ((lq() | 0) > 0) | 0; } function lq() { return y() | 0; } function mq(a) { a = a | 0; return; } function nq(a) { a = a | 0; mq(a); jp(a); return; } function oq(a) { a = a | 0; return 21039; } function pq(a) { a = a | 0; return; } function qq(a) { a = a | 0; var b = 0, d = 0; b = (a + 8) | 0; if (!((c[b >> 2] | 0) != 0 ? ((d = c[b >> 2] | 0), (c[b >> 2] = d + -1), (d | 0) != 0) : 0)) ca[c[((c[a >> 2] | 0) + 16) >> 2] & 255](a); return; } function rq(a) { a = a | 0; a = jq(a) | 0; if (!a) return; else br(a, 21145); } function sq(a) { a = a | 0; return; } function tq(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0; e = fo(b) | 0; d = eq((e + 13) | 0) | 0; c[d >> 2] = e; c[(d + 4) >> 2] = e; c[(d + 8) >> 2] = 0; d = uq(d) | 0; ur(d | 0, b | 0, (e + 1) | 0) | 0; c[a >> 2] = d; return; } function uq(a) { a = a | 0; return (a + 12) | 0; } function vq(a, b) { a = a | 0; b = b | 0; c[a >> 2] = 5916; tq((a + 4) | 0, b); return; } function wq(b, d) { b = b | 0; d = d | 0; c[b >> 2] = 5936; tq((b + 4) | 0, (a[(d + 11) >> 0] | 0) < 0 ? c[d >> 2] | 0 : d); return; } function xq(a, b) { a = a | 0; b = b | 0; c[a >> 2] = 5936; tq((a + 4) | 0, b); return; } function yq(a) { a = a | 0; a = v(8) | 0; vq(a, 21163); c[a >> 2] = 5956; x(a | 0, 3928, 123); } function zq(a) { a = a | 0; a = v(8) | 0; vq(a, 21163); c[a >> 2] = 5976; x(a | 0, 3944, 123); } function Aq(b, d, e) { b = b | 0; d = d | 0; e = e | 0; var f = 0, g = 0, h = 0, i = 0; g = V; V = (V + 16) | 0; f = g; if (e >>> 0 > 4294967279) yq(b); if (e >>> 0 < 11) a[(b + 11) >> 0] = e; else { i = (e + 16) & -16; h = eq(i) | 0; c[b >> 2] = h; c[(b + 8) >> 2] = i | -2147483648; c[(b + 4) >> 2] = e; b = h; } Bq(b, d, e) | 0; a[f >> 0] = 0; nb((b + e) | 0, f); V = g; return; } function Bq(a, b, c) { a = a | 0; b = b | 0; c = c | 0; if (c | 0) ur(a | 0, b | 0, c | 0) | 0; return a | 0; } function Cq(b) { b = b | 0; if ((a[(b + 11) >> 0] | 0) < 0) Da(c[b >> 2] | 0, c[(b + 8) >> 2] & 2147483647); return; } function Dq(b, d, e, f, g, h, i, j) { b = b | 0; d = d | 0; e = e | 0; f = f | 0; g = g | 0; h = h | 0; i = i | 0; j = j | 0; var k = 0, l = 0, m = 0, n = 0, o = 0; o = V; V = (V + 16) | 0; n = o; if (((-18 - d) | 0) >>> 0 < e >>> 0) yq(b); if ((a[(b + 11) >> 0] | 0) < 0) m = c[b >> 2] | 0; else m = b; if (d >>> 0 < 2147483623) { k = (e + d) | 0; l = d << 1; k = k >>> 0 < l >>> 0 ? l : k; k = k >>> 0 < 11 ? 11 : (k + 16) & -16; } else k = -17; l = eq(k) | 0; if (g | 0) Bq(l, m, g) | 0; if (i | 0) Bq((l + g) | 0, j, i) | 0; f = (f - h) | 0; e = (f - g) | 0; if (e | 0) Bq((l + g + i) | 0, (m + g + h) | 0, e) | 0; e = (d + 1) | 0; if ((e | 0) != 11) Da(m, e); c[b >> 2] = l; c[(b + 8) >> 2] = k | -2147483648; i = (f + i) | 0; c[(b + 4) >> 2] = i; a[n >> 0] = 0; nb((l + i) | 0, n); V = o; return; } function Eq(b, d, e) { b = b | 0; d = d | 0; e = e | 0; var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; k = V; V = (V + 16) | 0; i = k; j = (b + 11) | 0; f = a[j >> 0] | 0; h = (f << 24) >> 24 < 0; if (h) { g = ((c[(b + 8) >> 2] & 2147483647) + -1) | 0; f = c[(b + 4) >> 2] | 0; } else { g = 10; f = f & 255; } if (((g - f) | 0) >>> 0 >= e >>> 0) { if (e | 0) { if (h) g = c[b >> 2] | 0; else g = b; Bq((g + f) | 0, d, e) | 0; f = (f + e) | 0; if ((a[j >> 0] | 0) < 0) c[(b + 4) >> 2] = f; else a[j >> 0] = f; a[i >> 0] = 0; nb((g + f) | 0, i); } } else Dq(b, g, (f + e - g) | 0, f, f, 0, e, d); V = k; return b | 0; } function Fq(a, b) { a = a | 0; b = b | 0; return Eq(a, b, lb(b) | 0) | 0; } function Gq(a, b, c) { a = a | 0; b = b | 0; c = c | 0; if (!c) a = 0; else a = Fo(a, b, c) | 0; return a | 0; } function Hq(b, d, e, f, g) { b = b | 0; d = d | 0; e = e | 0; f = f | 0; g = g | 0; var h = 0, i = 0; h = a[(b + 11) >> 0] | 0; i = (h << 24) >> 24 < 0; if (i) h = c[(b + 4) >> 2] | 0; else h = h & 255; if (((g | 0) == -1) | (h >>> 0 < d >>> 0)) zq(b); h = (h - d) | 0; e = h >>> 0 < e >>> 0 ? h : e; if (i) b = c[b >> 2] | 0; h = e >>> 0 > g >>> 0; b = Gq((b + d) | 0, f, h ? g : e) | 0; if (!b) return (e >>> 0 < g >>> 0 ? -1 : h & 1) | 0; else return b | 0; return 0; } function Iq(a) { a = a | 0; return; } function Jq(a) { a = a | 0; jp(a); return; } function Kq(a) { a = a | 0; return 21228; } function Lq(a, b, d) { a = a | 0; b = b | 0; d = d | 0; c[a >> 2] = d; c[(a + 4) >> 2] = b; return; } function Mq(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0; f = V; V = (V + 16) | 0; e = f; ea[c[((c[a >> 2] | 0) + 12) >> 2] & 15](e, a, b); if ((c[(e + 4) >> 2] | 0) == (c[(d + 4) >> 2] | 0)) a = (c[e >> 2] | 0) == (c[d >> 2] | 0); else a = 0; V = f; return a | 0; } function Nq(a, b, d) { a = a | 0; b = b | 0; d = d | 0; return ((c[b >> 2] | 0) == (d | 0) ? (c[(b + 4) >> 2] | 0) == (a | 0) : 0) | 0; } function Oq(a, b, c) { a = a | 0; b = b | 0; c = c | 0; if ((c | 0) > 256) Aq(a, 21176, lb(21176) | 0); else Pq(a, 0, c); return; } function Pq(a, b, c) { a = a | 0; b = b | 0; c = c | 0; Qq(a, c); return; } function Qq(b, d) { b = b | 0; d = d | 0; var e = 0, f = 0, g = 0, h = 0, i = 0; i = V; V = (V + 1040) | 0; g = (i + 1024) | 0; e = i; h = c[(ao() | 0) >> 2] | 0; f = Rq(Oo(d, e, 1024) | 0, e) | 0; if (!(a[f >> 0] | 0)) { c[g >> 2] = d; Go(e, 1024, 21211, g) | 0; } else e = f; c[(ao() | 0) >> 2] = h; Aq(b, e, lb(e) | 0); V = i; return; } function Rq(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0; switch (a | 0) { case 0: { d = b; break; } case -1: { a = c[(ao() | 0) >> 2] | 0; e = 3; break; } default: e = 3; } if ((e | 0) == 3) if ((a | 0) == 28) d = 22145; else P(); return d | 0; } function Sq(a) { a = a | 0; jp(a); return; } function Tq(a) { a = a | 0; return 21353; } function Uq(a, b, d) { a = a | 0; b = b | 0; d = d | 0; if ((d | 0) > 256) { Wq() | 0; b = 6180; } else { Xq() | 0; b = 6176; } c[a >> 2] = d; c[(a + 4) >> 2] = b; return; } function Vq(a, b, c) { a = a | 0; b = b | 0; c = c | 0; if ((c | 0) > 256) Aq(a, 21319, lb(21319) | 0); else Pq(a, 0, c); return; } function Wq() { if ((a[21488] | 0) == 0 ? Tp(21488) | 0 : 0) $p(21488); return 6180; } function Xq() { if ((a[21480] | 0) == 0 ? Tp(21480) | 0 : 0) $p(21480); return 6176; } function Yq(a) { a = a | 0; yp(a); return; } function Zq(a) { a = a | 0; Yq(a); jp(a); return; } function _q(a, b) { a = a | 0; b = b | 0; var d = 0; d = c[(b + 4) >> 2] | 0; ea[c[((c[d >> 2] | 0) + 24) >> 2] & 15](a, d, c[b >> 2] | 0); return; } function $q(b, d, e) { b = b | 0; d = d | 0; e = e | 0; var f = 0, g = 0, h = 0; h = V; V = (V + 16) | 0; g = h; if (c[d >> 2] | 0) { f = a[(e + 11) >> 0] | 0; if ((f << 24) >> 24 < 0) f = c[(e + 4) >> 2] | 0; else f = f & 255; if (f | 0) Fq(e, 21417) | 0; _q(g, d); d = a[(g + 11) >> 0] | 0; f = (d << 24) >> 24 < 0; Eq(e, f ? c[g >> 2] | 0 : g, f ? c[(g + 4) >> 2] | 0 : d & 255) | 0; Cq(g); } c[b >> 2] = c[e >> 2]; c[(b + 4) >> 2] = c[(e + 4) >> 2]; c[(b + 8) >> 2] = c[(e + 8) >> 2]; f = 0; while (1) { if ((f | 0) == 3) break; c[(e + (f << 2)) >> 2] = 0; f = (f + 1) | 0; } V = h; return; } function ar(a, b, d) { a = a | 0; b = b | 0; d = d | 0; var e = 0, f = 0, g = 0; e = V; V = (V + 32) | 0; g = (e + 12) | 0; f = e; Aq(f, d, lb(d) | 0); $q(g, b, f); wq(a, g); Cq(g); Cq(f); c[a >> 2] = 6192; f = b; b = c[(f + 4) >> 2] | 0; d = (a + 8) | 0; c[d >> 2] = c[f >> 2]; c[(d + 4) >> 2] = b; V = e; return; } function br(a, b) { a = a | 0; b = b | 0; var d = 0, e = 0, f = 0; f = V; V = (V + 16) | 0; e = (f + 8) | 0; d = v(16) | 0; Wq() | 0; c[f >> 2] = a; c[(f + 4) >> 2] = 6180; c[e >> 2] = c[f >> 2]; c[(e + 4) >> 2] = c[(f + 4) >> 2]; ar(d, e, b); x(d | 0, 4272, 136); } function cr(a) { a = a | 0; a = v(8) | 0; vq(a, 21420); c[a >> 2] = 5956; x(a | 0, 3928, 123); } function dr(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0; w = V; V = (V + 16) | 0; n = w; do if (a >>> 0 < 245) { k = a >>> 0 < 11 ? 16 : (a + 11) & -8; a = k >>> 3; m = c[5412] | 0; d = m >>> a; if ((d & 3) | 0) { b = (((d & 1) ^ 1) + a) | 0; a = (21688 + ((b << 1) << 2)) | 0; d = (a + 8) | 0; e = c[d >> 2] | 0; f = (e + 8) | 0; g = c[f >> 2] | 0; if ((g | 0) == (a | 0)) c[5412] = m & ~(1 << b); else { c[(g + 12) >> 2] = a; c[d >> 2] = g; } v = b << 3; c[(e + 4) >> 2] = v | 3; v = (e + v + 4) | 0; c[v >> 2] = c[v >> 2] | 1; v = f; V = w; return v | 0; } l = c[5414] | 0; if (k >>> 0 > l >>> 0) { if (d | 0) { b = 2 << a; b = (d << a) & (b | (0 - b)); b = ((b & (0 - b)) + -1) | 0; i = (b >>> 12) & 16; b = b >>> i; d = (b >>> 5) & 8; b = b >>> d; g = (b >>> 2) & 4; b = b >>> g; a = (b >>> 1) & 2; b = b >>> a; e = (b >>> 1) & 1; e = ((d | i | g | a | e) + (b >>> e)) | 0; b = (21688 + ((e << 1) << 2)) | 0; a = (b + 8) | 0; g = c[a >> 2] | 0; i = (g + 8) | 0; d = c[i >> 2] | 0; if ((d | 0) == (b | 0)) { a = m & ~(1 << e); c[5412] = a; } else { c[(d + 12) >> 2] = b; c[a >> 2] = d; a = m; } v = e << 3; h = (v - k) | 0; c[(g + 4) >> 2] = k | 3; f = (g + k) | 0; c[(f + 4) >> 2] = h | 1; c[(g + v) >> 2] = h; if (l | 0) { e = c[5417] | 0; b = l >>> 3; d = (21688 + ((b << 1) << 2)) | 0; b = 1 << b; if (!(a & b)) { c[5412] = a | b; b = d; a = (d + 8) | 0; } else { a = (d + 8) | 0; b = c[a >> 2] | 0; } c[a >> 2] = e; c[(b + 12) >> 2] = e; c[(e + 8) >> 2] = b; c[(e + 12) >> 2] = d; } c[5414] = h; c[5417] = f; v = i; V = w; return v | 0; } g = c[5413] | 0; if (g) { d = ((g & (0 - g)) + -1) | 0; f = (d >>> 12) & 16; d = d >>> f; e = (d >>> 5) & 8; d = d >>> e; h = (d >>> 2) & 4; d = d >>> h; i = (d >>> 1) & 2; d = d >>> i; j = (d >>> 1) & 1; j = c[(21952 + (((e | f | h | i | j) + (d >>> j)) << 2)) >> 2] | 0; d = j; i = j; j = ((c[(j + 4) >> 2] & -8) - k) | 0; while (1) { a = c[(d + 16) >> 2] | 0; if (!a) { a = c[(d + 20) >> 2] | 0; if (!a) break; } h = ((c[(a + 4) >> 2] & -8) - k) | 0; f = h >>> 0 < j >>> 0; d = a; i = f ? a : i; j = f ? h : j; } h = (i + k) | 0; if (h >>> 0 > i >>> 0) { f = c[(i + 24) >> 2] | 0; b = c[(i + 12) >> 2] | 0; do if ((b | 0) == (i | 0)) { a = (i + 20) | 0; b = c[a >> 2] | 0; if (!b) { a = (i + 16) | 0; b = c[a >> 2] | 0; if (!b) { d = 0; break; } } while (1) { e = (b + 20) | 0; d = c[e >> 2] | 0; if (!d) { e = (b + 16) | 0; d = c[e >> 2] | 0; if (!d) break; else { b = d; a = e; } } else { b = d; a = e; } } c[a >> 2] = 0; d = b; } else { d = c[(i + 8) >> 2] | 0; c[(d + 12) >> 2] = b; c[(b + 8) >> 2] = d; d = b; } while (0); do if (f | 0) { b = c[(i + 28) >> 2] | 0; a = (21952 + (b << 2)) | 0; if ((i | 0) == (c[a >> 2] | 0)) { c[a >> 2] = d; if (!d) { c[5413] = g & ~(1 << b); break; } } else { v = (f + 16) | 0; c[((c[v >> 2] | 0) == (i | 0) ? v : (f + 20) | 0) >> 2] = d; if (!d) break; } c[(d + 24) >> 2] = f; b = c[(i + 16) >> 2] | 0; if (b | 0) { c[(d + 16) >> 2] = b; c[(b + 24) >> 2] = d; } b = c[(i + 20) >> 2] | 0; if (b | 0) { c[(d + 20) >> 2] = b; c[(b + 24) >> 2] = d; } } while (0); if (j >>> 0 < 16) { v = (j + k) | 0; c[(i + 4) >> 2] = v | 3; v = (i + v + 4) | 0; c[v >> 2] = c[v >> 2] | 1; } else { c[(i + 4) >> 2] = k | 3; c[(h + 4) >> 2] = j | 1; c[(h + j) >> 2] = j; if (l | 0) { e = c[5417] | 0; b = l >>> 3; d = (21688 + ((b << 1) << 2)) | 0; b = 1 << b; if (!(b & m)) { c[5412] = b | m; b = d; a = (d + 8) | 0; } else { a = (d + 8) | 0; b = c[a >> 2] | 0; } c[a >> 2] = e; c[(b + 12) >> 2] = e; c[(e + 8) >> 2] = b; c[(e + 12) >> 2] = d; } c[5414] = j; c[5417] = h; } v = (i + 8) | 0; V = w; return v | 0; } else m = k; } else m = k; } else m = k; } else if (a >>> 0 <= 4294967231) { a = (a + 11) | 0; k = a & -8; e = c[5413] | 0; if (e) { f = (0 - k) | 0; a = a >>> 8; if (a) if (k >>> 0 > 16777215) j = 31; else { m = (((a + 1048320) | 0) >>> 16) & 8; q = a << m; i = (((q + 520192) | 0) >>> 16) & 4; q = q << i; j = (((q + 245760) | 0) >>> 16) & 2; j = (14 - (i | m | j) + ((q << j) >>> 15)) | 0; j = ((k >>> ((j + 7) | 0)) & 1) | (j << 1); } else j = 0; d = c[(21952 + (j << 2)) >> 2] | 0; a: do if (!d) { d = 0; a = 0; q = 61; } else { a = 0; i = k << ((j | 0) == 31 ? 0 : (25 - (j >>> 1)) | 0); g = 0; while (1) { h = ((c[(d + 4) >> 2] & -8) - k) | 0; if (h >>> 0 < f >>> 0) if (!h) { a = d; f = 0; q = 65; break a; } else { a = d; f = h; } q = c[(d + 20) >> 2] | 0; d = c[(d + 16 + ((i >>> 31) << 2)) >> 2] | 0; g = ((q | 0) == 0) | ((q | 0) == (d | 0)) ? g : q; if (!d) { d = g; q = 61; break; } else i = i << 1; } } while (0); if ((q | 0) == 61) { if (((d | 0) == 0) & ((a | 0) == 0)) { a = 2 << j; a = (a | (0 - a)) & e; if (!a) { m = k; break; } m = ((a & (0 - a)) + -1) | 0; h = (m >>> 12) & 16; m = m >>> h; g = (m >>> 5) & 8; m = m >>> g; i = (m >>> 2) & 4; m = m >>> i; j = (m >>> 1) & 2; m = m >>> j; d = (m >>> 1) & 1; a = 0; d = c[(21952 + (((g | h | i | j | d) + (m >>> d)) << 2)) >> 2] | 0; } if (!d) { i = a; h = f; } else q = 65; } if ((q | 0) == 65) { g = d; while (1) { m = ((c[(g + 4) >> 2] & -8) - k) | 0; d = m >>> 0 < f >>> 0; f = d ? m : f; a = d ? g : a; d = c[(g + 16) >> 2] | 0; if (!d) d = c[(g + 20) >> 2] | 0; if (!d) { i = a; h = f; break; } else g = d; } } if ( ((i | 0) != 0 ? h >>> 0 < (((c[5414] | 0) - k) | 0) >>> 0 : 0) ? ((l = (i + k) | 0), l >>> 0 > i >>> 0) : 0 ) { g = c[(i + 24) >> 2] | 0; b = c[(i + 12) >> 2] | 0; do if ((b | 0) == (i | 0)) { a = (i + 20) | 0; b = c[a >> 2] | 0; if (!b) { a = (i + 16) | 0; b = c[a >> 2] | 0; if (!b) { b = 0; break; } } while (1) { f = (b + 20) | 0; d = c[f >> 2] | 0; if (!d) { f = (b + 16) | 0; d = c[f >> 2] | 0; if (!d) break; else { b = d; a = f; } } else { b = d; a = f; } } c[a >> 2] = 0; } else { v = c[(i + 8) >> 2] | 0; c[(v + 12) >> 2] = b; c[(b + 8) >> 2] = v; } while (0); do if (g) { a = c[(i + 28) >> 2] | 0; d = (21952 + (a << 2)) | 0; if ((i | 0) == (c[d >> 2] | 0)) { c[d >> 2] = b; if (!b) { e = e & ~(1 << a); c[5413] = e; break; } } else { v = (g + 16) | 0; c[((c[v >> 2] | 0) == (i | 0) ? v : (g + 20) | 0) >> 2] = b; if (!b) break; } c[(b + 24) >> 2] = g; a = c[(i + 16) >> 2] | 0; if (a | 0) { c[(b + 16) >> 2] = a; c[(a + 24) >> 2] = b; } a = c[(i + 20) >> 2] | 0; if (a) { c[(b + 20) >> 2] = a; c[(a + 24) >> 2] = b; } } while (0); b: do if (h >>> 0 < 16) { v = (h + k) | 0; c[(i + 4) >> 2] = v | 3; v = (i + v + 4) | 0; c[v >> 2] = c[v >> 2] | 1; } else { c[(i + 4) >> 2] = k | 3; c[(l + 4) >> 2] = h | 1; c[(l + h) >> 2] = h; b = h >>> 3; if (h >>> 0 < 256) { d = (21688 + ((b << 1) << 2)) | 0; a = c[5412] | 0; b = 1 << b; if (!(a & b)) { c[5412] = a | b; b = d; a = (d + 8) | 0; } else { a = (d + 8) | 0; b = c[a >> 2] | 0; } c[a >> 2] = l; c[(b + 12) >> 2] = l; c[(l + 8) >> 2] = b; c[(l + 12) >> 2] = d; break; } b = h >>> 8; if (b) if (h >>> 0 > 16777215) d = 31; else { u = (((b + 1048320) | 0) >>> 16) & 8; v = b << u; t = (((v + 520192) | 0) >>> 16) & 4; v = v << t; d = (((v + 245760) | 0) >>> 16) & 2; d = (14 - (t | u | d) + ((v << d) >>> 15)) | 0; d = ((h >>> ((d + 7) | 0)) & 1) | (d << 1); } else d = 0; b = (21952 + (d << 2)) | 0; c[(l + 28) >> 2] = d; a = (l + 16) | 0; c[(a + 4) >> 2] = 0; c[a >> 2] = 0; a = 1 << d; if (!(e & a)) { c[5413] = e | a; c[b >> 2] = l; c[(l + 24) >> 2] = b; c[(l + 12) >> 2] = l; c[(l + 8) >> 2] = l; break; } b = c[b >> 2] | 0; c: do if (((c[(b + 4) >> 2] & -8) | 0) != (h | 0)) { e = h << ((d | 0) == 31 ? 0 : (25 - (d >>> 1)) | 0); while (1) { d = (b + 16 + ((e >>> 31) << 2)) | 0; a = c[d >> 2] | 0; if (!a) break; if (((c[(a + 4) >> 2] & -8) | 0) == (h | 0)) { b = a; break c; } else { e = e << 1; b = a; } } c[d >> 2] = l; c[(l + 24) >> 2] = b; c[(l + 12) >> 2] = l; c[(l + 8) >> 2] = l; break b; } while (0); u = (b + 8) | 0; v = c[u >> 2] | 0; c[(v + 12) >> 2] = l; c[u >> 2] = l; c[(l + 8) >> 2] = v; c[(l + 12) >> 2] = b; c[(l + 24) >> 2] = 0; } while (0); v = (i + 8) | 0; V = w; return v | 0; } else m = k; } else m = k; } else m = -1; while (0); d = c[5414] | 0; if (d >>> 0 >= m >>> 0) { b = (d - m) | 0; a = c[5417] | 0; if (b >>> 0 > 15) { v = (a + m) | 0; c[5417] = v; c[5414] = b; c[(v + 4) >> 2] = b | 1; c[(a + d) >> 2] = b; c[(a + 4) >> 2] = m | 3; } else { c[5414] = 0; c[5417] = 0; c[(a + 4) >> 2] = d | 3; v = (a + d + 4) | 0; c[v >> 2] = c[v >> 2] | 1; } v = (a + 8) | 0; V = w; return v | 0; } h = c[5415] | 0; if (h >>> 0 > m >>> 0) { t = (h - m) | 0; c[5415] = t; v = c[5418] | 0; u = (v + m) | 0; c[5418] = u; c[(u + 4) >> 2] = t | 1; c[(v + 4) >> 2] = m | 3; v = (v + 8) | 0; V = w; return v | 0; } if (!(c[5530] | 0)) { c[5532] = 4096; c[5531] = 4096; c[5533] = -1; c[5534] = -1; c[5535] = 0; c[5523] = 0; c[5530] = (n & -16) ^ 1431655768; a = 4096; } else a = c[5532] | 0; i = (m + 48) | 0; j = (m + 47) | 0; g = (a + j) | 0; f = (0 - a) | 0; k = g & f; if (k >>> 0 <= m >>> 0) { v = 0; V = w; return v | 0; } a = c[5522] | 0; if ( a | 0 ? ((l = c[5520] | 0), (n = (l + k) | 0), (n >>> 0 <= l >>> 0) | (n >>> 0 > a >>> 0)) : 0 ) { v = 0; V = w; return v | 0; } d: do if (!(c[5523] & 4)) { d = c[5418] | 0; e: do if (d) { e = 22096; while (1) { n = c[e >> 2] | 0; if (n >>> 0 <= d >>> 0 ? ((n + (c[(e + 4) >> 2] | 0)) | 0) >>> 0 > d >>> 0 : 0) break; a = c[(e + 8) >> 2] | 0; if (!a) { q = 128; break e; } else e = a; } b = (g - h) & f; if (b >>> 0 < 2147483647) { a = fr(b) | 0; if ((a | 0) == (((c[e >> 2] | 0) + (c[(e + 4) >> 2] | 0)) | 0)) { if ((a | 0) != (-1 | 0)) { h = b; g = a; q = 145; break d; } } else { e = a; q = 136; } } else b = 0; } else q = 128; while (0); do if ((q | 0) == 128) { d = fr(0) | 0; if ( (d | 0) != (-1 | 0) ? ((b = d), (o = c[5531] | 0), (p = (o + -1) | 0), (b = ((((p & b) | 0) == 0 ? 0 : (((p + b) & (0 - o)) - b) | 0) + k) | 0), (o = c[5520] | 0), (p = (b + o) | 0), (b >>> 0 > m >>> 0) & (b >>> 0 < 2147483647)) : 0 ) { n = c[5522] | 0; if (n | 0 ? (p >>> 0 <= o >>> 0) | (p >>> 0 > n >>> 0) : 0) { b = 0; break; } a = fr(b) | 0; if ((a | 0) == (d | 0)) { h = b; g = d; q = 145; break d; } else { e = a; q = 136; } } else b = 0; } while (0); do if ((q | 0) == 136) { d = (0 - b) | 0; if (!((i >>> 0 > b >>> 0) & ((b >>> 0 < 2147483647) & ((e | 0) != (-1 | 0))))) if ((e | 0) == (-1 | 0)) { b = 0; break; } else { h = b; g = e; q = 145; break d; } a = c[5532] | 0; a = (j - b + a) & (0 - a); if (a >>> 0 >= 2147483647) { h = b; g = e; q = 145; break d; } if ((fr(a) | 0) == (-1 | 0)) { fr(d) | 0; b = 0; break; } else { h = (a + b) | 0; g = e; q = 145; break d; } } while (0); c[5523] = c[5523] | 4; q = 143; } else { b = 0; q = 143; } while (0); if ( ((q | 0) == 143 ? k >>> 0 < 2147483647 : 0) ? ((t = fr(k) | 0), (p = fr(0) | 0), (r = (p - t) | 0), (s = r >>> 0 > ((m + 40) | 0) >>> 0), !( ((t | 0) == (-1 | 0)) | (s ^ 1) | (((t >>> 0 < p >>> 0) & (((t | 0) != (-1 | 0)) & ((p | 0) != (-1 | 0)))) ^ 1) )) : 0 ) { h = s ? r : b; g = t; q = 145; } if ((q | 0) == 145) { b = ((c[5520] | 0) + h) | 0; c[5520] = b; if (b >>> 0 > (c[5521] | 0) >>> 0) c[5521] = b; j = c[5418] | 0; f: do if (j) { b = 22096; while (1) { a = c[b >> 2] | 0; d = c[(b + 4) >> 2] | 0; if ((g | 0) == ((a + d) | 0)) { q = 154; break; } e = c[(b + 8) >> 2] | 0; if (!e) break; else b = e; } if ( ((q | 0) == 154 ? ((u = (b + 4) | 0), ((c[(b + 12) >> 2] & 8) | 0) == 0) : 0) ? (g >>> 0 > j >>> 0) & (a >>> 0 <= j >>> 0) : 0 ) { c[u >> 2] = d + h; v = ((c[5415] | 0) + h) | 0; t = (j + 8) | 0; t = ((t & 7) | 0) == 0 ? 0 : (0 - t) & 7; u = (j + t) | 0; t = (v - t) | 0; c[5418] = u; c[5415] = t; c[(u + 4) >> 2] = t | 1; c[(j + v + 4) >> 2] = 40; c[5419] = c[5534]; break; } if (g >>> 0 < (c[5416] | 0) >>> 0) c[5416] = g; d = (g + h) | 0; b = 22096; while (1) { if ((c[b >> 2] | 0) == (d | 0)) { q = 162; break; } a = c[(b + 8) >> 2] | 0; if (!a) break; else b = a; } if ((q | 0) == 162 ? ((c[(b + 12) >> 2] & 8) | 0) == 0 : 0) { c[b >> 2] = g; l = (b + 4) | 0; c[l >> 2] = (c[l >> 2] | 0) + h; l = (g + 8) | 0; l = (g + (((l & 7) | 0) == 0 ? 0 : (0 - l) & 7)) | 0; b = (d + 8) | 0; b = (d + (((b & 7) | 0) == 0 ? 0 : (0 - b) & 7)) | 0; k = (l + m) | 0; i = (b - l - m) | 0; c[(l + 4) >> 2] = m | 3; g: do if ((j | 0) == (b | 0)) { v = ((c[5415] | 0) + i) | 0; c[5415] = v; c[5418] = k; c[(k + 4) >> 2] = v | 1; } else { if ((c[5417] | 0) == (b | 0)) { v = ((c[5414] | 0) + i) | 0; c[5414] = v; c[5417] = k; c[(k + 4) >> 2] = v | 1; c[(k + v) >> 2] = v; break; } a = c[(b + 4) >> 2] | 0; if (((a & 3) | 0) == 1) { h = a & -8; e = a >>> 3; h: do if (a >>> 0 < 256) { a = c[(b + 8) >> 2] | 0; d = c[(b + 12) >> 2] | 0; if ((d | 0) == (a | 0)) { c[5412] = c[5412] & ~(1 << e); break; } else { c[(a + 12) >> 2] = d; c[(d + 8) >> 2] = a; break; } } else { g = c[(b + 24) >> 2] | 0; a = c[(b + 12) >> 2] | 0; do if ((a | 0) == (b | 0)) { d = (b + 16) | 0; e = (d + 4) | 0; a = c[e >> 2] | 0; if (!a) { a = c[d >> 2] | 0; if (!a) { a = 0; break; } } else d = e; while (1) { f = (a + 20) | 0; e = c[f >> 2] | 0; if (!e) { f = (a + 16) | 0; e = c[f >> 2] | 0; if (!e) break; else { a = e; d = f; } } else { a = e; d = f; } } c[d >> 2] = 0; } else { v = c[(b + 8) >> 2] | 0; c[(v + 12) >> 2] = a; c[(a + 8) >> 2] = v; } while (0); if (!g) break; d = c[(b + 28) >> 2] | 0; e = (21952 + (d << 2)) | 0; do if ((c[e >> 2] | 0) != (b | 0)) { v = (g + 16) | 0; c[((c[v >> 2] | 0) == (b | 0) ? v : (g + 20) | 0) >> 2] = a; if (!a) break h; } else { c[e >> 2] = a; if (a | 0) break; c[5413] = c[5413] & ~(1 << d); break h; } while (0); c[(a + 24) >> 2] = g; d = (b + 16) | 0; e = c[d >> 2] | 0; if (e | 0) { c[(a + 16) >> 2] = e; c[(e + 24) >> 2] = a; } d = c[(d + 4) >> 2] | 0; if (!d) break; c[(a + 20) >> 2] = d; c[(d + 24) >> 2] = a; } while (0); b = (b + h) | 0; f = (h + i) | 0; } else f = i; b = (b + 4) | 0; c[b >> 2] = c[b >> 2] & -2; c[(k + 4) >> 2] = f | 1; c[(k + f) >> 2] = f; b = f >>> 3; if (f >>> 0 < 256) { d = (21688 + ((b << 1) << 2)) | 0; a = c[5412] | 0; b = 1 << b; if (!(a & b)) { c[5412] = a | b; b = d; a = (d + 8) | 0; } else { a = (d + 8) | 0; b = c[a >> 2] | 0; } c[a >> 2] = k; c[(b + 12) >> 2] = k; c[(k + 8) >> 2] = b; c[(k + 12) >> 2] = d; break; } b = f >>> 8; do if (!b) e = 0; else { if (f >>> 0 > 16777215) { e = 31; break; } u = (((b + 1048320) | 0) >>> 16) & 8; v = b << u; t = (((v + 520192) | 0) >>> 16) & 4; v = v << t; e = (((v + 245760) | 0) >>> 16) & 2; e = (14 - (t | u | e) + ((v << e) >>> 15)) | 0; e = ((f >>> ((e + 7) | 0)) & 1) | (e << 1); } while (0); b = (21952 + (e << 2)) | 0; c[(k + 28) >> 2] = e; a = (k + 16) | 0; c[(a + 4) >> 2] = 0; c[a >> 2] = 0; a = c[5413] | 0; d = 1 << e; if (!(a & d)) { c[5413] = a | d; c[b >> 2] = k; c[(k + 24) >> 2] = b; c[(k + 12) >> 2] = k; c[(k + 8) >> 2] = k; break; } b = c[b >> 2] | 0; i: do if (((c[(b + 4) >> 2] & -8) | 0) != (f | 0)) { e = f << ((e | 0) == 31 ? 0 : (25 - (e >>> 1)) | 0); while (1) { d = (b + 16 + ((e >>> 31) << 2)) | 0; a = c[d >> 2] | 0; if (!a) break; if (((c[(a + 4) >> 2] & -8) | 0) == (f | 0)) { b = a; break i; } else { e = e << 1; b = a; } } c[d >> 2] = k; c[(k + 24) >> 2] = b; c[(k + 12) >> 2] = k; c[(k + 8) >> 2] = k; break g; } while (0); u = (b + 8) | 0; v = c[u >> 2] | 0; c[(v + 12) >> 2] = k; c[u >> 2] = k; c[(k + 8) >> 2] = v; c[(k + 12) >> 2] = b; c[(k + 24) >> 2] = 0; } while (0); v = (l + 8) | 0; V = w; return v | 0; } b = 22096; while (1) { a = c[b >> 2] | 0; if ( a >>> 0 <= j >>> 0 ? ((v = (a + (c[(b + 4) >> 2] | 0)) | 0), v >>> 0 > j >>> 0) : 0 ) break; b = c[(b + 8) >> 2] | 0; } f = (v + -47) | 0; a = (f + 8) | 0; a = (f + (((a & 7) | 0) == 0 ? 0 : (0 - a) & 7)) | 0; f = (j + 16) | 0; a = a >>> 0 < f >>> 0 ? j : a; b = (a + 8) | 0; d = (h + -40) | 0; t = (g + 8) | 0; t = ((t & 7) | 0) == 0 ? 0 : (0 - t) & 7; u = (g + t) | 0; t = (d - t) | 0; c[5418] = u; c[5415] = t; c[(u + 4) >> 2] = t | 1; c[(g + d + 4) >> 2] = 40; c[5419] = c[5534]; d = (a + 4) | 0; c[d >> 2] = 27; c[b >> 2] = c[5524]; c[(b + 4) >> 2] = c[5525]; c[(b + 8) >> 2] = c[5526]; c[(b + 12) >> 2] = c[5527]; c[5524] = g; c[5525] = h; c[5527] = 0; c[5526] = b; b = (a + 24) | 0; do { u = b; b = (b + 4) | 0; c[b >> 2] = 7; } while (((u + 8) | 0) >>> 0 < v >>> 0); if ((a | 0) != (j | 0)) { g = (a - j) | 0; c[d >> 2] = c[d >> 2] & -2; c[(j + 4) >> 2] = g | 1; c[a >> 2] = g; b = g >>> 3; if (g >>> 0 < 256) { d = (21688 + ((b << 1) << 2)) | 0; a = c[5412] | 0; b = 1 << b; if (!(a & b)) { c[5412] = a | b; b = d; a = (d + 8) | 0; } else { a = (d + 8) | 0; b = c[a >> 2] | 0; } c[a >> 2] = j; c[(b + 12) >> 2] = j; c[(j + 8) >> 2] = b; c[(j + 12) >> 2] = d; break; } b = g >>> 8; if (b) if (g >>> 0 > 16777215) e = 31; else { u = (((b + 1048320) | 0) >>> 16) & 8; v = b << u; t = (((v + 520192) | 0) >>> 16) & 4; v = v << t; e = (((v + 245760) | 0) >>> 16) & 2; e = (14 - (t | u | e) + ((v << e) >>> 15)) | 0; e = ((g >>> ((e + 7) | 0)) & 1) | (e << 1); } else e = 0; d = (21952 + (e << 2)) | 0; c[(j + 28) >> 2] = e; c[(j + 20) >> 2] = 0; c[f >> 2] = 0; b = c[5413] | 0; a = 1 << e; if (!(b & a)) { c[5413] = b | a; c[d >> 2] = j; c[(j + 24) >> 2] = d; c[(j + 12) >> 2] = j; c[(j + 8) >> 2] = j; break; } b = c[d >> 2] | 0; j: do if (((c[(b + 4) >> 2] & -8) | 0) != (g | 0)) { e = g << ((e | 0) == 31 ? 0 : (25 - (e >>> 1)) | 0); while (1) { d = (b + 16 + ((e >>> 31) << 2)) | 0; a = c[d >> 2] | 0; if (!a) break; if (((c[(a + 4) >> 2] & -8) | 0) == (g | 0)) { b = a; break j; } else { e = e << 1; b = a; } } c[d >> 2] = j; c[(j + 24) >> 2] = b; c[(j + 12) >> 2] = j; c[(j + 8) >> 2] = j; break f; } while (0); u = (b + 8) | 0; v = c[u >> 2] | 0; c[(v + 12) >> 2] = j; c[u >> 2] = j; c[(j + 8) >> 2] = v; c[(j + 12) >> 2] = b; c[(j + 24) >> 2] = 0; } } else { v = c[5416] | 0; if (((v | 0) == 0) | (g >>> 0 < v >>> 0)) c[5416] = g; c[5524] = g; c[5525] = h; c[5527] = 0; c[5421] = c[5530]; c[5420] = -1; c[5425] = 21688; c[5424] = 21688; c[5427] = 21696; c[5426] = 21696; c[5429] = 21704; c[5428] = 21704; c[5431] = 21712; c[5430] = 21712; c[5433] = 21720; c[5432] = 21720; c[5435] = 21728; c[5434] = 21728; c[5437] = 21736; c[5436] = 21736; c[5439] = 21744; c[5438] = 21744; c[5441] = 21752; c[5440] = 21752; c[5443] = 21760; c[5442] = 21760; c[5445] = 21768; c[5444] = 21768; c[5447] = 21776; c[5446] = 21776; c[5449] = 21784; c[5448] = 21784; c[5451] = 21792; c[5450] = 21792; c[5453] = 21800; c[5452] = 21800; c[5455] = 21808; c[5454] = 21808; c[5457] = 21816; c[5456] = 21816; c[5459] = 21824; c[5458] = 21824; c[5461] = 21832; c[5460] = 21832; c[5463] = 21840; c[5462] = 21840; c[5465] = 21848; c[5464] = 21848; c[5467] = 21856; c[5466] = 21856; c[5469] = 21864; c[5468] = 21864; c[5471] = 21872; c[5470] = 21872; c[5473] = 21880; c[5472] = 21880; c[5475] = 21888; c[5474] = 21888; c[5477] = 21896; c[5476] = 21896; c[5479] = 21904; c[5478] = 21904; c[5481] = 21912; c[5480] = 21912; c[5483] = 21920; c[5482] = 21920; c[5485] = 21928; c[5484] = 21928; c[5487] = 21936; c[5486] = 21936; v = (h + -40) | 0; t = (g + 8) | 0; t = ((t & 7) | 0) == 0 ? 0 : (0 - t) & 7; u = (g + t) | 0; t = (v - t) | 0; c[5418] = u; c[5415] = t; c[(u + 4) >> 2] = t | 1; c[(g + v + 4) >> 2] = 40; c[5419] = c[5534]; } while (0); b = c[5415] | 0; if (b >>> 0 > m >>> 0) { t = (b - m) | 0; c[5415] = t; v = c[5418] | 0; u = (v + m) | 0; c[5418] = u; c[(u + 4) >> 2] = t | 1; c[(v + 4) >> 2] = m | 3; v = (v + 8) | 0; V = w; return v | 0; } } c[(ao() | 0) >> 2] = 48; v = 0; V = w; return v | 0; } function er(a) { a = a | 0; var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; if (!a) return; d = (a + -8) | 0; f = c[5416] | 0; a = c[(a + -4) >> 2] | 0; b = a & -8; j = (d + b) | 0; do if (!(a & 1)) { e = c[d >> 2] | 0; if (!(a & 3)) return; h = (d + (0 - e)) | 0; g = (e + b) | 0; if (h >>> 0 < f >>> 0) return; if ((c[5417] | 0) == (h | 0)) { a = (j + 4) | 0; b = c[a >> 2] | 0; if (((b & 3) | 0) != 3) { i = h; b = g; break; } c[5414] = g; c[a >> 2] = b & -2; c[(h + 4) >> 2] = g | 1; c[(h + g) >> 2] = g; return; } d = e >>> 3; if (e >>> 0 < 256) { a = c[(h + 8) >> 2] | 0; b = c[(h + 12) >> 2] | 0; if ((b | 0) == (a | 0)) { c[5412] = c[5412] & ~(1 << d); i = h; b = g; break; } else { c[(a + 12) >> 2] = b; c[(b + 8) >> 2] = a; i = h; b = g; break; } } f = c[(h + 24) >> 2] | 0; a = c[(h + 12) >> 2] | 0; do if ((a | 0) == (h | 0)) { b = (h + 16) | 0; d = (b + 4) | 0; a = c[d >> 2] | 0; if (!a) { a = c[b >> 2] | 0; if (!a) { a = 0; break; } } else b = d; while (1) { e = (a + 20) | 0; d = c[e >> 2] | 0; if (!d) { e = (a + 16) | 0; d = c[e >> 2] | 0; if (!d) break; else { a = d; b = e; } } else { a = d; b = e; } } c[b >> 2] = 0; } else { i = c[(h + 8) >> 2] | 0; c[(i + 12) >> 2] = a; c[(a + 8) >> 2] = i; } while (0); if (f) { b = c[(h + 28) >> 2] | 0; d = (21952 + (b << 2)) | 0; if ((c[d >> 2] | 0) == (h | 0)) { c[d >> 2] = a; if (!a) { c[5413] = c[5413] & ~(1 << b); i = h; b = g; break; } } else { i = (f + 16) | 0; c[((c[i >> 2] | 0) == (h | 0) ? i : (f + 20) | 0) >> 2] = a; if (!a) { i = h; b = g; break; } } c[(a + 24) >> 2] = f; b = (h + 16) | 0; d = c[b >> 2] | 0; if (d | 0) { c[(a + 16) >> 2] = d; c[(d + 24) >> 2] = a; } b = c[(b + 4) >> 2] | 0; if (b) { c[(a + 20) >> 2] = b; c[(b + 24) >> 2] = a; i = h; b = g; } else { i = h; b = g; } } else { i = h; b = g; } } else { i = d; h = d; } while (0); if (h >>> 0 >= j >>> 0) return; a = (j + 4) | 0; e = c[a >> 2] | 0; if (!(e & 1)) return; if (!(e & 2)) { if ((c[5418] | 0) == (j | 0)) { j = ((c[5415] | 0) + b) | 0; c[5415] = j; c[5418] = i; c[(i + 4) >> 2] = j | 1; if ((i | 0) != (c[5417] | 0)) return; c[5417] = 0; c[5414] = 0; return; } if ((c[5417] | 0) == (j | 0)) { j = ((c[5414] | 0) + b) | 0; c[5414] = j; c[5417] = h; c[(i + 4) >> 2] = j | 1; c[(h + j) >> 2] = j; return; } f = ((e & -8) + b) | 0; d = e >>> 3; do if (e >>> 0 < 256) { b = c[(j + 8) >> 2] | 0; a = c[(j + 12) >> 2] | 0; if ((a | 0) == (b | 0)) { c[5412] = c[5412] & ~(1 << d); break; } else { c[(b + 12) >> 2] = a; c[(a + 8) >> 2] = b; break; } } else { g = c[(j + 24) >> 2] | 0; a = c[(j + 12) >> 2] | 0; do if ((a | 0) == (j | 0)) { b = (j + 16) | 0; d = (b + 4) | 0; a = c[d >> 2] | 0; if (!a) { a = c[b >> 2] | 0; if (!a) { d = 0; break; } } else b = d; while (1) { e = (a + 20) | 0; d = c[e >> 2] | 0; if (!d) { e = (a + 16) | 0; d = c[e >> 2] | 0; if (!d) break; else { a = d; b = e; } } else { a = d; b = e; } } c[b >> 2] = 0; d = a; } else { d = c[(j + 8) >> 2] | 0; c[(d + 12) >> 2] = a; c[(a + 8) >> 2] = d; d = a; } while (0); if (g | 0) { a = c[(j + 28) >> 2] | 0; b = (21952 + (a << 2)) | 0; if ((c[b >> 2] | 0) == (j | 0)) { c[b >> 2] = d; if (!d) { c[5413] = c[5413] & ~(1 << a); break; } } else { e = (g + 16) | 0; c[((c[e >> 2] | 0) == (j | 0) ? e : (g + 20) | 0) >> 2] = d; if (!d) break; } c[(d + 24) >> 2] = g; a = (j + 16) | 0; b = c[a >> 2] | 0; if (b | 0) { c[(d + 16) >> 2] = b; c[(b + 24) >> 2] = d; } a = c[(a + 4) >> 2] | 0; if (a | 0) { c[(d + 20) >> 2] = a; c[(a + 24) >> 2] = d; } } } while (0); c[(i + 4) >> 2] = f | 1; c[(h + f) >> 2] = f; if ((i | 0) == (c[5417] | 0)) { c[5414] = f; return; } } else { c[a >> 2] = e & -2; c[(i + 4) >> 2] = b | 1; c[(h + b) >> 2] = b; f = b; } a = f >>> 3; if (f >>> 0 < 256) { d = (21688 + ((a << 1) << 2)) | 0; b = c[5412] | 0; a = 1 << a; if (!(b & a)) { c[5412] = b | a; a = d; b = (d + 8) | 0; } else { b = (d + 8) | 0; a = c[b >> 2] | 0; } c[b >> 2] = i; c[(a + 12) >> 2] = i; c[(i + 8) >> 2] = a; c[(i + 12) >> 2] = d; return; } a = f >>> 8; if (a) if (f >>> 0 > 16777215) e = 31; else { h = (((a + 1048320) | 0) >>> 16) & 8; j = a << h; g = (((j + 520192) | 0) >>> 16) & 4; j = j << g; e = (((j + 245760) | 0) >>> 16) & 2; e = (14 - (g | h | e) + ((j << e) >>> 15)) | 0; e = ((f >>> ((e + 7) | 0)) & 1) | (e << 1); } else e = 0; a = (21952 + (e << 2)) | 0; c[(i + 28) >> 2] = e; c[(i + 20) >> 2] = 0; c[(i + 16) >> 2] = 0; b = c[5413] | 0; d = 1 << e; a: do if (!(b & d)) { c[5413] = b | d; c[a >> 2] = i; c[(i + 24) >> 2] = a; c[(i + 12) >> 2] = i; c[(i + 8) >> 2] = i; } else { a = c[a >> 2] | 0; b: do if (((c[(a + 4) >> 2] & -8) | 0) != (f | 0)) { e = f << ((e | 0) == 31 ? 0 : (25 - (e >>> 1)) | 0); while (1) { d = (a + 16 + ((e >>> 31) << 2)) | 0; b = c[d >> 2] | 0; if (!b) break; if (((c[(b + 4) >> 2] & -8) | 0) == (f | 0)) { a = b; break b; } else { e = e << 1; a = b; } } c[d >> 2] = i; c[(i + 24) >> 2] = a; c[(i + 12) >> 2] = i; c[(i + 8) >> 2] = i; break a; } while (0); h = (a + 8) | 0; j = c[h >> 2] | 0; c[(j + 12) >> 2] = i; c[h >> 2] = i; c[(i + 8) >> 2] = j; c[(i + 12) >> 2] = a; c[(i + 24) >> 2] = 0; } while (0); j = ((c[5420] | 0) + -1) | 0; c[5420] = j; if (j | 0) return; a = 22104; while (1) { a = c[a >> 2] | 0; if (!a) break; else a = (a + 8) | 0; } c[5420] = -1; return; } function fr(a) { a = a | 0; var b = 0, d = 0, e = 0; e = (a + 3) & -4; a = sr() | 0; b = c[a >> 2] | 0; d = (b + e) | 0; do if (((e | 0) < 1) | (d >>> 0 > b >>> 0)) { if (d >>> 0 > (R() | 0) >>> 0 ? (T(d | 0) | 0) == 0 : 0) break; c[a >> 2] = d; e = b; return e | 0; } while (0); c[(ao() | 0) >> 2] = 48; e = -1; return e | 0; } function gr(a) { a = a | 0; var b = 0; b = V; V = (V + a) | 0; V = (V + 15) & -16; return b | 0; } function hr(a) { a = a | 0; V = a; } function ir() { return V | 0; } function jr(a, b) { a = a | 0; b = b | 0; var c = 0, d = 0, e = 0, f = 0; f = a & 65535; e = b & 65535; c = q(e, f) | 0; d = a >>> 16; a = ((c >>> 16) + (q(e, d) | 0)) | 0; e = b >>> 16; b = q(e, f) | 0; return ( (t(((a >>> 16) + (q(e, d) | 0) + ((((a & 65535) + b) | 0) >>> 16)) | 0), ((a + b) << 16) | (c & 65535) | 0) | 0 ); } function kr(a, b, c, d) { a = a | 0; b = b | 0; c = c | 0; d = d | 0; var e = 0, f = 0; e = a; f = c; c = jr(e, f) | 0; a = u() | 0; return (t(((q(b, f) | 0) + (q(d, e) | 0) + a) | (a & 0) | 0), c | 0 | 0) | 0; } function lr(a, b, c, d) { a = a | 0; b = b | 0; c = c | 0; d = d | 0; c = (a + c) >>> 0; return (t(((b + d + ((c >>> 0 < a >>> 0) | 0)) >>> 0) | 0), c | 0) | 0; } function mr(a, b, c, d) { a = a | 0; b = b | 0; c = c | 0; d = d | 0; d = (b - d - ((c >>> 0 > a >>> 0) | 0)) >>> 0; return (t(d | 0), ((a - c) >>> 0) | 0) | 0; } function nr(a) { a = a | 0; return (a ? (31 - (r(a ^ (a - 1)) | 0)) | 0 : 32) | 0; } function or(a, b, d, e, f) { a = a | 0; b = b | 0; d = d | 0; e = e | 0; f = f | 0; var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; l = a; j = b; k = j; h = d; n = e; i = n; if (!k) { g = (f | 0) != 0; if (!i) { if (g) { c[f >> 2] = (l >>> 0) % (h >>> 0); c[(f + 4) >> 2] = 0; } n = 0; f = ((l >>> 0) / (h >>> 0)) >>> 0; return (t(n | 0), f) | 0; } else { if (!g) { n = 0; f = 0; return (t(n | 0), f) | 0; } c[f >> 2] = a | 0; c[(f + 4) >> 2] = b & 0; n = 0; f = 0; return (t(n | 0), f) | 0; } } g = (i | 0) == 0; do if (h) { if (!g) { g = ((r(i | 0) | 0) - (r(k | 0) | 0)) | 0; if (g >>> 0 <= 31) { m = (g + 1) | 0; i = (31 - g) | 0; b = (g - 31) >> 31; h = m; a = ((l >>> (m >>> 0)) & b) | (k << i); b = (k >>> (m >>> 0)) & b; g = 0; i = l << i; break; } if (!f) { n = 0; f = 0; return (t(n | 0), f) | 0; } c[f >> 2] = a | 0; c[(f + 4) >> 2] = j | (b & 0); n = 0; f = 0; return (t(n | 0), f) | 0; } g = (h - 1) | 0; if ((g & h) | 0) { i = ((r(h | 0) | 0) + 33 - (r(k | 0) | 0)) | 0; p = (64 - i) | 0; m = (32 - i) | 0; j = m >> 31; o = (i - 32) | 0; b = o >> 31; h = i; a = (((m - 1) >> 31) & (k >>> (o >>> 0))) | (((k << m) | (l >>> (i >>> 0))) & b); b = b & (k >>> (i >>> 0)); g = (l << p) & j; i = (((k << p) | (l >>> (o >>> 0))) & j) | ((l << m) & ((i - 33) >> 31)); break; } if (f | 0) { c[f >> 2] = g & l; c[(f + 4) >> 2] = 0; } if ((h | 0) == 1) { o = j | (b & 0); p = a | 0 | 0; return (t(o | 0), p) | 0; } else { p = nr(h | 0) | 0; o = (k >>> (p >>> 0)) | 0; p = (k << (32 - p)) | (l >>> (p >>> 0)) | 0; return (t(o | 0), p) | 0; } } else { if (g) { if (f | 0) { c[f >> 2] = (k >>> 0) % (h >>> 0); c[(f + 4) >> 2] = 0; } o = 0; p = ((k >>> 0) / (h >>> 0)) >>> 0; return (t(o | 0), p) | 0; } if (!l) { if (f | 0) { c[f >> 2] = 0; c[(f + 4) >> 2] = (k >>> 0) % (i >>> 0); } o = 0; p = ((k >>> 0) / (i >>> 0)) >>> 0; return (t(o | 0), p) | 0; } g = (i - 1) | 0; if (!(g & i)) { if (f | 0) { c[f >> 2] = a | 0; c[(f + 4) >> 2] = (g & k) | (b & 0); } o = 0; p = k >>> ((nr(i | 0) | 0) >>> 0); return (t(o | 0), p) | 0; } g = ((r(i | 0) | 0) - (r(k | 0) | 0)) | 0; if (g >>> 0 <= 30) { b = (g + 1) | 0; i = (31 - g) | 0; h = b; a = (k << i) | (l >>> (b >>> 0)); b = k >>> (b >>> 0); g = 0; i = l << i; break; } if (!f) { o = 0; p = 0; return (t(o | 0), p) | 0; } c[f >> 2] = a | 0; c[(f + 4) >> 2] = j | (b & 0); o = 0; p = 0; return (t(o | 0), p) | 0; } while (0); if (!h) { k = i; j = 0; i = 0; } else { m = d | 0 | 0; l = n | (e & 0); k = lr(m | 0, l | 0, -1, -1) | 0; d = u() | 0; j = i; i = 0; do { e = j; j = (g >>> 31) | (j << 1); g = i | (g << 1); e = (a << 1) | (e >>> 31) | 0; n = (a >>> 31) | (b << 1) | 0; mr(k | 0, d | 0, e | 0, n | 0) | 0; p = u() | 0; o = (p >> 31) | (((p | 0) < 0 ? -1 : 0) << 1); i = o & 1; a = mr( e | 0, n | 0, (o & m) | 0, (((((p | 0) < 0 ? -1 : 0) >> 31) | (((p | 0) < 0 ? -1 : 0) << 1)) & l) | 0 ) | 0; b = u() | 0; h = (h - 1) | 0; } while ((h | 0) != 0); k = j; j = 0; } h = 0; if (f | 0) { c[f >> 2] = a; c[(f + 4) >> 2] = b; } o = ((g | 0) >>> 31) | ((k | h) << 1) | (((h << 1) | (g >>> 31)) & 0) | j; p = (((g << 1) | (0 >>> 31)) & -2) | i; return (t(o | 0), p) | 0; } function pr(a, b, c, d) { a = a | 0; b = b | 0; c = c | 0; d = d | 0; return or(a, b, c, d, 0) | 0; } function qr(a, b, c) { a = a | 0; b = b | 0; c = c | 0; if ((c | 0) < 32) { t((b >>> c) | 0); return (a >>> c) | ((b & ((1 << c) - 1)) << (32 - c)); } t(0); return (b >>> (c - 32)) | 0; } function rr(a, b, c) { a = a | 0; b = b | 0; c = c | 0; if ((c | 0) < 32) { t((b << c) | ((a & (((1 << c) - 1) << (32 - c))) >>> (32 - c)) | 0); return a << c; } t((a << (c - 32)) | 0); return 0; } function sr() { return 22176; } function tr(a) { a = a | 0; return ( ((a & 255) << 24) | (((a >> 8) & 255) << 16) | (((a >> 16) & 255) << 8) | (a >>> 24) | 0 ); } function ur(b, d, e) { b = b | 0; d = d | 0; e = e | 0; var f = 0, g = 0, h = 0; if ((e | 0) >= 512) { S(b | 0, d | 0, e | 0) | 0; return b | 0; } h = b | 0; g = (b + e) | 0; if ((b & 3) == (d & 3)) { while (b & 3) { if (!e) return h | 0; a[b >> 0] = a[d >> 0] | 0; b = (b + 1) | 0; d = (d + 1) | 0; e = (e - 1) | 0; } e = (g & -4) | 0; f = (e - 64) | 0; while ((b | 0) <= (f | 0)) { c[b >> 2] = c[d >> 2]; c[(b + 4) >> 2] = c[(d + 4) >> 2]; c[(b + 8) >> 2] = c[(d + 8) >> 2]; c[(b + 12) >> 2] = c[(d + 12) >> 2]; c[(b + 16) >> 2] = c[(d + 16) >> 2]; c[(b + 20) >> 2] = c[(d + 20) >> 2]; c[(b + 24) >> 2] = c[(d + 24) >> 2]; c[(b + 28) >> 2] = c[(d + 28) >> 2]; c[(b + 32) >> 2] = c[(d + 32) >> 2]; c[(b + 36) >> 2] = c[(d + 36) >> 2]; c[(b + 40) >> 2] = c[(d + 40) >> 2]; c[(b + 44) >> 2] = c[(d + 44) >> 2]; c[(b + 48) >> 2] = c[(d + 48) >> 2]; c[(b + 52) >> 2] = c[(d + 52) >> 2]; c[(b + 56) >> 2] = c[(d + 56) >> 2]; c[(b + 60) >> 2] = c[(d + 60) >> 2]; b = (b + 64) | 0; d = (d + 64) | 0; } while ((b | 0) < (e | 0)) { c[b >> 2] = c[d >> 2]; b = (b + 4) | 0; d = (d + 4) | 0; } } else { e = (g - 4) | 0; while ((b | 0) < (e | 0)) { a[b >> 0] = a[d >> 0] | 0; a[(b + 1) >> 0] = a[(d + 1) >> 0] | 0; a[(b + 2) >> 0] = a[(d + 2) >> 0] | 0; a[(b + 3) >> 0] = a[(d + 3) >> 0] | 0; b = (b + 4) | 0; d = (d + 4) | 0; } } while ((b | 0) < (g | 0)) { a[b >> 0] = a[d >> 0] | 0; b = (b + 1) | 0; d = (d + 1) | 0; } return h | 0; } function vr(b, c, d) { b = b | 0; c = c | 0; d = d | 0; var e = 0; if (((c | 0) < (b | 0)) & ((b | 0) < ((c + d) | 0))) { e = b; c = (c + d) | 0; b = (b + d) | 0; while ((d | 0) > 0) { b = (b - 1) | 0; c = (c - 1) | 0; d = (d - 1) | 0; a[b >> 0] = a[c >> 0] | 0; } b = e; } else ur(b, c, d) | 0; return b | 0; } function wr(b, d, e) { b = b | 0; d = d | 0; e = e | 0; var f = 0, g = 0, h = 0, i = 0; h = (b + e) | 0; d = d & 255; if ((e | 0) >= 67) { while (b & 3) { a[b >> 0] = d; b = (b + 1) | 0; } f = (h & -4) | 0; i = d | (d << 8) | (d << 16) | (d << 24); g = (f - 64) | 0; while ((b | 0) <= (g | 0)) { c[b >> 2] = i; c[(b + 4) >> 2] = i; c[(b + 8) >> 2] = i; c[(b + 12) >> 2] = i; c[(b + 16) >> 2] = i; c[(b + 20) >> 2] = i; c[(b + 24) >> 2] = i; c[(b + 28) >> 2] = i; c[(b + 32) >> 2] = i; c[(b + 36) >> 2] = i; c[(b + 40) >> 2] = i; c[(b + 44) >> 2] = i; c[(b + 48) >> 2] = i; c[(b + 52) >> 2] = i; c[(b + 56) >> 2] = i; c[(b + 60) >> 2] = i; b = (b + 64) | 0; } while ((b | 0) < (f | 0)) { c[b >> 2] = i; b = (b + 4) | 0; } } while ((b | 0) < (h | 0)) { a[b >> 0] = d; b = (b + 1) | 0; } return (h - e) | 0; } function xr(a) { a = a | 0; return Y[a & 3]() | 0; } function yr(a, b) { a = a | 0; b = b | 0; return Z[a & 15](b | 0) | 0; } function zr(a, b, c, d, e, f, g) { a = a | 0; b = b | 0; c = +c; d = d | 0; e = e | 0; f = f | 0; g = g | 0; return _[a & 1](b | 0, +c, d | 0, e | 0, f | 0, g | 0) | 0; } function Ar(a, b, c) { a = a | 0; b = b | 0; c = c | 0; return $[a & 63](b | 0, c | 0) | 0; } function Br(a, b, c, d) { a = a | 0; b = b | 0; c = c | 0; d = d | 0; return aa[a & 7](b | 0, c | 0, d | 0) | 0; } function Cr(a) { a = a | 0; ba[a & 3](); } function Dr(a, b) { a = a | 0; b = b | 0; ca[a & 255](b | 0); } function Er(a, b, c) { a = a | 0; b = b | 0; c = c | 0; da[a & 15](b | 0, c | 0); } function Fr(a, b, c, d) { a = a | 0; b = b | 0; c = c | 0; d = d | 0; ea[a & 15](b | 0, c | 0, d | 0); } function Gr(a, b, c, d, e) { a = a | 0; b = b | 0; c = c | 0; d = d | 0; e = e | 0; fa[a & 7](b | 0, c | 0, d | 0, e | 0); } function Hr(a, b, c, d, e, f) { a = a | 0; b = b | 0; c = c | 0; d = d | 0; e = e | 0; f = f | 0; ga[a & 3](b | 0, c | 0, d | 0, e | 0, f | 0); } function Ir(a, b, c, d, e, f, g) { a = a | 0; b = b | 0; c = c | 0; d = d | 0; e = e | 0; f = f | 0; g = g | 0; ha[a & 3](b | 0, c | 0, d | 0, e | 0, f | 0, g | 0); } function Jr() { s(0); return 0; } function Kr(a) { a = a | 0; s(1); return 0; } function Lr(a, b, c, d, e, f) { a = a | 0; b = +b; c = c | 0; d = d | 0; e = e | 0; f = f | 0; s(2); return 0; } function Mr(a, b) { a = a | 0; b = b | 0; s(3); return 0; } function Nr(a, b, c) { a = a | 0; b = b | 0; c = c | 0; s(4); return 0; } function Or() { s(5); } function Pr(a) { a = a | 0; s(6); } function Qr(a, b) { a = a | 0; b = b | 0; s(7); } function Rr(a, b, c) { a = a | 0; b = b | 0; c = c | 0; s(8); } function Sr(a, b, c, d) { a = a | 0; b = b | 0; c = c | 0; d = d | 0; s(9); } function Tr(a, b, c, d, e) { a = a | 0; b = b | 0; c = c | 0; d = d | 0; e = e | 0; s(10); } function Ur(a, b, c, d, e, f) { a = a | 0; b = b | 0; c = c | 0; d = d | 0; e = e | 0; f = f | 0; s(11); } // EMSCRIPTEN_END_FUNCS var Y = [Jr, Mk, Fl, Jr]; var Z = [Kr, Ap, zb, Fb, qp, tp, oq, Kq, Tq, wk, na, tl, Ok, Hl, Kr, Kr]; var _ = [Lr, po]; var $ = [ Mr, Ba, Ka, Eb, jd, Nd, Xd, je, ke, ne, _e, ff, yf, Ff, Of, Vf, Hg, Qg, Zg, ch, lh, qh, zh, Eh, Nh, _h, fi, ki, si, Bi, Si, Zi, fj, oj, yj, Fj, Pj, Yj, ek, lk, tk, ll, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr ]; var aa = [Nr, Io, Yo, Fp, Hp, Mq, Nq, Nr]; var ba = [Or, Dp, Po, Or]; var ca = [ Pr, pq, za, Aa, Ca, Ia, Ja, La, yp, ob, Gb, yb, Bb, Cb, Lb, Mb, Xb, Yb, sc, tc, uc, Nc, hd, id, kd, Jd, Od, Pd, Qd, Rd, Vd, Wd, Yd, he, ie, le, me, Ye, Ze, $e, df, ef, wf, xf, zf, Df, Ef, Mf, Nf, Pf, Tf, Uf, Fg, Gg, Ig, Rg, Sg, Xg, Yg, _g, dh, eh, jh, kh, mh, rh, sh, xh, yh, Ah, Fh, Gh, Lh, Mh, Oh, Yh, Zh, $h, di, ei, gi, li, mi, qi, ri, ti, zi, Ai, Qi, Ri, Ti, Xi, Yi, dj, ej, gj, mj, nj, wj, xj, zj, Dj, Ej, Nj, Oj, Qj, Wj, Xj, ck, dk, fk, jk, kk, rk, sk, uk, Uo, Vo, Wo, Xo, fp, op, pp, rp, sp, zp, Bp, Cp, Ep, Gp, Lp, mq, nq, Iq, Jq, Sq, Yq, Zq, zk, wl, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr ]; var da = [Qr, Ab, Db, ma, pa, qa, ra, sa, qo, Qr, Qr, Qr, Qr, Qr, Qr, Qr]; var ea = [Rr, Lq, Oq, Uq, Vq, la, oa, dl, Vl, $l, Rr, Rr, Rr, Rr, Rr, Rr]; var fa = [Sr, $o, ip, Op, Vk, Ol, Sr, Sr]; var ga = [Tr, _o, hp, Np]; var ha = [Ur, Zo, gp, Mp]; return { __ZSt18uncaught_exceptionv: kq, ___cxa_can_catch: hq, ___cxa_is_pointer_type: iq, ___embind_register_native_and_builtin_types: im, ___errno_location: ao, ___getTypeName: $n, ___muldi3: kr, ___udivdi3: pr, _bitshift64Lshr: qr, _bitshift64Shl: rr, _emscripten_get_sbrk_ptr: sr, _free: er, _i64Add: lr, _i64Subtract: mr, _llvm_bswap_i32: tr, _malloc: dr, _memcpy: ur, _memmove: vr, _memset: wr, dynCall_i: xr, dynCall_ii: yr, dynCall_iidiiii: zr, dynCall_iii: Ar, dynCall_iiii: Br, dynCall_v: Cr, dynCall_vi: Dr, dynCall_vii: Er, dynCall_viii: Fr, dynCall_viiii: Gr, dynCall_viiiii: Hr, dynCall_viiiiii: Ir, globalCtors: ia, stackAlloc: gr, stackRestore: hr, stackSave: ir }; })( // EMSCRIPTEN_END_ASM asmGlobalArg, asmLibraryArg, buffer ); var __ZSt18uncaught_exceptionv = (Module['__ZSt18uncaught_exceptionv'] = asm['__ZSt18uncaught_exceptionv']); var ___cxa_can_catch = (Module['___cxa_can_catch'] = asm['___cxa_can_catch']); var ___cxa_is_pointer_type = (Module['___cxa_is_pointer_type'] = asm['___cxa_is_pointer_type']); var ___embind_register_native_and_builtin_types = (Module[ '___embind_register_native_and_builtin_types' ] = asm['___embind_register_native_and_builtin_types']); var ___errno_location = (Module['___errno_location'] = asm['___errno_location']); var ___getTypeName = (Module['___getTypeName'] = asm['___getTypeName']); var ___muldi3 = (Module['___muldi3'] = asm['___muldi3']); var ___udivdi3 = (Module['___udivdi3'] = asm['___udivdi3']); var _bitshift64Lshr = (Module['_bitshift64Lshr'] = asm['_bitshift64Lshr']); var _bitshift64Shl = (Module['_bitshift64Shl'] = asm['_bitshift64Shl']); var _emscripten_get_sbrk_ptr = (Module['_emscripten_get_sbrk_ptr'] = asm['_emscripten_get_sbrk_ptr']); var _free = (Module['_free'] = asm['_free']); var _i64Add = (Module['_i64Add'] = asm['_i64Add']); var _i64Subtract = (Module['_i64Subtract'] = asm['_i64Subtract']); var _llvm_bswap_i32 = (Module['_llvm_bswap_i32'] = asm['_llvm_bswap_i32']); var _malloc = (Module['_malloc'] = asm['_malloc']); var _memcpy = (Module['_memcpy'] = asm['_memcpy']); var _memmove = (Module['_memmove'] = asm['_memmove']); var _memset = (Module['_memset'] = asm['_memset']); var globalCtors = (Module['globalCtors'] = asm['globalCtors']); var stackAlloc = (Module['stackAlloc'] = asm['stackAlloc']); var stackRestore = (Module['stackRestore'] = asm['stackRestore']); var stackSave = (Module['stackSave'] = asm['stackSave']); var dynCall_i = (Module['dynCall_i'] = asm['dynCall_i']); var dynCall_ii = (Module['dynCall_ii'] = asm['dynCall_ii']); var dynCall_iidiiii = (Module['dynCall_iidiiii'] = asm['dynCall_iidiiii']); var dynCall_iii = (Module['dynCall_iii'] = asm['dynCall_iii']); var dynCall_iiii = (Module['dynCall_iiii'] = asm['dynCall_iiii']); var dynCall_v = (Module['dynCall_v'] = asm['dynCall_v']); var dynCall_vi = (Module['dynCall_vi'] = asm['dynCall_vi']); var dynCall_vii = (Module['dynCall_vii'] = asm['dynCall_vii']); var dynCall_viii = (Module['dynCall_viii'] = asm['dynCall_viii']); var dynCall_viiii = (Module['dynCall_viiii'] = asm['dynCall_viiii']); var dynCall_viiiii = (Module['dynCall_viiiii'] = asm['dynCall_viiiii']); var dynCall_viiiiii = (Module['dynCall_viiiiii'] = asm['dynCall_viiiiii']); Module['asm'] = asm; if (memoryInitializer) { if (!isDataURI(memoryInitializer)) { memoryInitializer = locateFile(memoryInitializer); } if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) { var data = readBinary(memoryInitializer); HEAPU8.set(data, GLOBAL_BASE); } else { addRunDependency('memory initializer'); var applyMemoryInitializer = function (data) { if (data.byteLength) data = new Uint8Array(data); HEAPU8.set(data, GLOBAL_BASE); if (Module['memoryInitializerRequest']) delete Module['memoryInitializerRequest'].response; removeRunDependency('memory initializer'); }; var doBrowserLoad = function () { readAsync(memoryInitializer, applyMemoryInitializer, function () { var e = new Error('could not load memory initializer ' + memoryInitializer); throw e; }); }; var memoryInitializerBytes = tryParseAsDataURI(memoryInitializer); if (memoryInitializerBytes) { applyMemoryInitializer(memoryInitializerBytes.buffer); } else if (Module['memoryInitializerRequest']) { var useRequest = function () { var request = Module['memoryInitializerRequest']; var response = request.response; if (request.status !== 200 && request.status !== 0) { var data = tryParseAsDataURI(Module['memoryInitializerRequestURL']); if (data) { response = data.buffer; } else { console.warn( 'a problem seems to have happened with Module.memoryInitializerRequest, status: ' + request.status + ', retrying ' + memoryInitializer ); doBrowserLoad(); return; } } applyMemoryInitializer(response); }; if (Module['memoryInitializerRequest'].response) { setTimeout(useRequest, 0); } else { Module['memoryInitializerRequest'].addEventListener('load', useRequest); } } else { doBrowserLoad(); } } } var calledRun; function ExitStatus(status) { this.name = 'ExitStatus'; this.message = 'Program terminated with exit(' + status + ')'; this.status = status; } dependenciesFulfilled = function runCaller() { if (!calledRun) run(); if (!calledRun) dependenciesFulfilled = runCaller; }; function run(args) { args = args || arguments_; if (runDependencies > 0) { return; } preRun(); if (runDependencies > 0) return; function doRun() { if (calledRun) return; calledRun = true; Module['calledRun'] = true; if (ABORT) return; initRuntime(); preMain(); if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); postRun(); } if (Module['setStatus']) { Module['setStatus']('Running...'); setTimeout(function () { setTimeout(function () { Module['setStatus'](''); }, 1); doRun(); }, 1); } else { doRun(); } } Module['run'] = run; if (Module['preInit']) { if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; while (Module['preInit'].length > 0) { Module['preInit'].pop()(); } } noExitRuntime = true; run(); return Module; }