From 88e2bac3f5a9a5d49657641fb58a42ed374858a8 Mon Sep 17 00:00:00 2001 From: advplyr Date: Sat, 16 Oct 2021 20:33:49 -0500 Subject: [PATCH] Support cbr and cbz comics and comic reader #109 --- client/components/app/ComicReader.vue | 219 ++++++++++++++++++ client/components/app/Reader.vue | 20 +- client/nuxt.config.js | 5 +- client/package-lock.json | 7 +- client/package.json | 5 +- client/pages/audiobook/_id/index.vue | 12 +- .../static/libarchive/wasm-gen/libarchive.js | 15 ++ .../libarchive/wasm-gen/libarchive.wasm | Bin 0 -> 896488 bytes client/static/libarchive/worker-bundle.js | 1 + package.json | 2 +- server/objects/Audiobook.js | 8 +- server/utils/globals.js | 2 +- 12 files changed, 276 insertions(+), 20 deletions(-) create mode 100644 client/components/app/ComicReader.vue create mode 100644 client/static/libarchive/wasm-gen/libarchive.js create mode 100644 client/static/libarchive/wasm-gen/libarchive.wasm create mode 100644 client/static/libarchive/worker-bundle.js diff --git a/client/components/app/ComicReader.vue b/client/components/app/ComicReader.vue new file mode 100644 index 00000000..e514b854 --- /dev/null +++ b/client/components/app/ComicReader.vue @@ -0,0 +1,219 @@ + + + + + \ No newline at end of file diff --git a/client/components/app/Reader.vue b/client/components/app/Reader.vue index 0a44ee9a..98c91d63 100644 --- a/client/components/app/Reader.vue +++ b/client/components/app/Reader.vue @@ -39,6 +39,10 @@
+ +
+ +
{{ ebookType }}
@@ -111,6 +115,9 @@ export default { pdfEbook() { return this.ebooks.find((eb) => eb.ext === '.pdf') }, + comicEbook() { + return this.ebooks.find((eb) => eb.ext === '.cbz' || eb.ext === '.cbr') + }, userToken() { return this.$store.getters['user/getToken'] }, @@ -158,7 +165,6 @@ export default { document.removeEventListener('keyup', this.keyUp) }, init() { - this.registerListeners() if (this.selectedAudiobookFile) { this.ebookUrl = this.getEbookUrl(this.selectedAudiobookFile.path) if (this.selectedAudiobookFile.ext === '.pdf') { @@ -169,6 +175,8 @@ export default { } else if (this.selectedAudiobookFile.ext === '.epub') { this.ebookType = 'epub' this.initEpub() + } else if (this.selectedAudiobookFile.ext === '.cbr' || this.selectedAudiobookFile.ext === '.cbz') { + this.ebookType = 'comic' } } else if (this.epubEbook) { this.ebookType = 'epub' @@ -181,6 +189,9 @@ export default { } else if (this.pdfEbook) { this.ebookType = 'pdf' this.ebookUrl = this.getEbookUrl(this.pdfEbook.path) + } else if (this.comicEbook) { + this.ebookType = 'comic' + this.ebookUrl = this.getEbookUrl(this.comicEbook.path) } }, addHtmlCss() { @@ -266,6 +277,7 @@ export default { reader.readAsArrayBuffer(buff) }, initEpub() { + this.registerListeners() // var book = ePub(this.url, { // requestHeaders: { // Authorization: `Bearer ${this.userToken}` @@ -327,14 +339,16 @@ export default { }) }, close() { - this.unregisterListeners() + if (this.ebookType === 'epub') { + this.unregisterListeners() + } } }, mounted() { if (this.show) this.init() }, beforeDestroy() { - this.unregisterListeners() + this.close() } } diff --git a/client/nuxt.config.js b/client/nuxt.config.js index 891034ee..d9579f65 100644 --- a/client/nuxt.config.js +++ b/client/nuxt.config.js @@ -19,7 +19,7 @@ module.exports = { // Global page headers: https://go.nuxtjs.dev/config-head head: { - title: 'AudioBookshelf', + title: 'Audiobookshelf', htmlAttrs: { lang: 'en' }, @@ -98,8 +98,7 @@ module.exports = { }, // Build Configuration: https://go.nuxtjs.dev/config-build - build: { - }, + build: {}, watchers: { webpack: { aggregateTimeout: 300, diff --git a/client/package-lock.json b/client/package-lock.json index 8c5c4466..0e427328 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -1,6 +1,6 @@ { "name": "audiobookshelf-client", - "version": "1.4.8", + "version": "1.4.10", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -7385,6 +7385,11 @@ "launch-editor": "^2.2.1" } }, + "libarchive.js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/libarchive.js/-/libarchive.js-1.3.0.tgz", + "integrity": "sha512-EkQfRXt9DhWwj6BnEA2TNpOf4jTnzSTUPGgE+iFxcdNqjktY8GitbDeHnx8qZA0/IukNyyBUR3oQKRdYkO+HFg==" + }, "lie": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", diff --git a/client/package.json b/client/package.json index e353a81b..afe8bc58 100644 --- a/client/package.json +++ b/client/package.json @@ -1,6 +1,6 @@ { "name": "audiobookshelf-client", - "version": "1.4.9", + "version": "1.4.10", "description": "Audiobook manager and player", "main": "index.js", "scripts": { @@ -19,6 +19,7 @@ "date-fns": "^2.25.0", "epubjs": "^0.3.88", "hls.js": "^1.0.7", + "libarchive.js": "^1.3.0", "nuxt": "^2.15.7", "nuxt-socket-io": "^1.1.18", "vue-pdf": "^4.3.0", @@ -29,4 +30,4 @@ "@nuxtjs/tailwindcss": "^4.2.1", "postcss": "^8.3.6" } -} \ No newline at end of file +} diff --git a/client/pages/audiobook/_id/index.vue b/client/pages/audiobook/_id/index.vue index 00407cf3..4c7f33ca 100644 --- a/client/pages/audiobook/_id/index.vue +++ b/client/pages/audiobook/_id/index.vue @@ -104,7 +104,7 @@ {{ isMissing ? 'Missing' : 'Incomplete' }} - + auto_stories Read @@ -322,16 +322,14 @@ export default { return this.audiobook.ebooks }, showEpubAlert() { - return this.ebooks.length && !this.epubEbook && !this.tracks.length + return this.ebooks.length && !this.numEbooks && !this.tracks.length }, showExperimentalReadAlert() { return !this.tracks.length && this.ebooks.length && !this.showExperimentalFeatures }, - epubEbook() { - return this.ebooks.find((eb) => eb.ext === '.epub') - }, - mobiEbook() { - return this.ebooks.find((eb) => eb.ext === '.mobi' || eb.ext === '.azw3') + numEbooks() { + // Number of currently supported for reading ebooks, not all ebooks + return this.audiobook.numEbooks }, userToken() { return this.$store.getters['user/getToken'] diff --git a/client/static/libarchive/wasm-gen/libarchive.js b/client/static/libarchive/wasm-gen/libarchive.js new file mode 100644 index 00000000..0a3c9fca --- /dev/null +++ b/client/static/libarchive/wasm-gen/libarchive.js @@ -0,0 +1,15 @@ + +var libarchive = (function () { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + return ( + function (libarchive) { + libarchive = libarchive || {}; + + var Module = typeof libarchive !== "undefined" ? libarchive : {}; var moduleOverrides = {}; var key; for (key in Module) { if (Module.hasOwnProperty(key)) { moduleOverrides[key] = Module[key] } } Module["arguments"] = []; Module["thisProgram"] = "./this.program"; Module["quit"] = function (status, toThrow) { throw toThrow }; Module["preRun"] = []; Module["postRun"] = []; 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 require === "function" && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; 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) } else { return scriptDirectory + path } } if (ENVIRONMENT_IS_NODE) { scriptDirectory = __dirname + "/"; var nodeFS; var nodePath; Module["read"] = function shell_read(filename, binary) { var ret; if (!nodeFS) nodeFS = require("fs"); if (!nodePath) nodePath = require("path"); filename = nodePath["normalize"](filename); ret = nodeFS["readFileSync"](filename); return binary ? ret : ret.toString() }; Module["readBinary"] = function readBinary(filename) { var ret = Module["read"](filename, true); if (!ret.buffer) { ret = new Uint8Array(ret) } assert(ret.buffer); return ret }; if (process["argv"].length > 1) { Module["thisProgram"] = process["argv"][1].replace(/\\/g, "/") } Module["arguments"] = process["argv"].slice(2); process["on"]("uncaughtException", function (ex) { if (!(ex instanceof ExitStatus)) { throw ex } }); process["on"]("unhandledRejection", abort); Module["quit"] = function (status) { process["exit"](status) }; Module["inspect"] = function () { return "[Emscripten Module object]" } } else if (ENVIRONMENT_IS_SHELL) { if (typeof read != "undefined") { Module["read"] = function shell_read(f) { return read(f) } } Module["readBinary"] = function readBinary(f) { var data; if (typeof readbuffer === "function") { return new Uint8Array(readbuffer(f)) } data = read(f, "binary"); assert(typeof data === "object"); return data }; if (typeof scriptArgs != "undefined") { Module["arguments"] = scriptArgs } else if (typeof arguments != "undefined") { Module["arguments"] = arguments } if (typeof quit === "function") { Module["quit"] = function (status) { quit(status) } } } 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 (_scriptDir) { scriptDirectory = _scriptDir } if (scriptDirectory.indexOf("blob:") !== 0) { scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1) } else { scriptDirectory = "" } Module["read"] = function shell_read(url) { var xhr = new XMLHttpRequest; xhr.open("GET", url, false); xhr.send(null); return xhr.responseText }; if (ENVIRONMENT_IS_WORKER) { Module["readBinary"] = function readBinary(url) { var xhr = new XMLHttpRequest; xhr.open("GET", url, false); xhr.responseType = "arraybuffer"; xhr.send(null); return new Uint8Array(xhr.response) } } Module["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 } onerror() }; xhr.onerror = onerror; xhr.send(null) }; Module["setWindowTitle"] = function (title) { document.title = title } } else { } var out = Module["print"] || (typeof console !== "undefined" ? console.log.bind(console) : typeof print !== "undefined" ? print : null); var err = Module["printErr"] || (typeof printErr !== "undefined" ? printErr : typeof console !== "undefined" && console.warn.bind(console) || out); for (key in moduleOverrides) { if (moduleOverrides.hasOwnProperty(key)) { Module[key] = moduleOverrides[key] } } moduleOverrides = undefined; function dynamicAlloc(size) { var ret = HEAP32[DYNAMICTOP_PTR >> 2]; var end = ret + size + 15 & -16; if (end <= _emscripten_get_heap_size()) { HEAP32[DYNAMICTOP_PTR >> 2] = end } else { var success = _emscripten_resize_heap(end); if (!success) return 0 } 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 = parseInt(type.substr(1)); assert(bits % 8 === 0, "getNativeTypeSize invalid bits " + bits + ", type " + type); return bits / 8 } else { return 0 } } } } var asm2wasmImports = { "f64-rem": function (x, y) { return x % y }, "debugger": function () { debugger } }; var functionPointers = new Array(0); var tempRet0 = 0; var setTempRet0 = function (value) { tempRet0 = value }; if (typeof WebAssembly !== "object") { err("no native wasm support detected") } var wasmMemory; var wasmTable; 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 } function cwrap(ident, returnType, argTypes, opts) { argTypes = argTypes || []; var numericArgs = argTypes.every(function (type) { return type === "number" }); var numericRet = returnType !== "string"; if (numericRet && numericArgs && !opts) { return getCFunc(ident) } return function () { return ccall(ident, returnType, argTypes, arguments, opts) } } 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 ALLOC_NORMAL = 0; var ALLOC_NONE = 3; function allocate(slab, types, allocator, ptr) { var zeroinit, size; if (typeof slab === "number") { zeroinit = true; size = slab } else { zeroinit = false; size = slab.length } var singleType = typeof types === "string" ? types : null; var ret; if (allocator == ALLOC_NONE) { ret = ptr } else { ret = [_malloc, stackAlloc, dynamicAlloc][allocator](Math.max(size, singleType ? 1 : types.length)) } if (zeroinit) { var stop; ptr = ret; assert((ret & 3) == 0); stop = ret + (size & ~3); for (; ptr < stop; ptr += 4) { HEAP32[ptr >> 2] = 0 } stop = ret + size; while (ptr < stop) { HEAP8[ptr++ >> 0] = 0 } return ret } if (singleType === "i8") { if (slab.subarray || slab.slice) { HEAPU8.set(slab, ret) } else { HEAPU8.set(new Uint8Array(slab), ret) } return ret } var i = 0, type, typeSize, previousType; while (i < size) { var curr = slab[i]; type = singleType || types[i]; if (type === 0) { i++; continue } if (type == "i64") type = "i32"; setValue(ret + i, curr, type); if (previousType !== type) { typeSize = getNativeTypeSize(type); previousType = type } i += typeSize } return ret } function getMemory(size) { if (!runtimeInitialized) return dynamicAlloc(size); return _malloc(size) } var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined; function UTF8ArrayToString(u8Array, idx, maxBytesToRead) { var endIdx = idx + maxBytesToRead; var endPtr = idx; while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr; if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)) } else { var str = ""; while (idx < endPtr) { var u0 = u8Array[idx++]; if (!(u0 & 128)) { str += String.fromCharCode(u0); continue } var u1 = u8Array[idx++] & 63; if ((u0 & 224) == 192) { str += String.fromCharCode((u0 & 31) << 6 | u1); continue } var u2 = u8Array[idx++] & 63; if ((u0 & 240) == 224) { u0 = (u0 & 15) << 12 | u1 << 6 | u2 } else { u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[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, outU8Array, 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; outU8Array[outIdx++] = u } else if (u <= 2047) { if (outIdx + 1 >= endIdx) break; outU8Array[outIdx++] = 192 | u >> 6; outU8Array[outIdx++] = 128 | u & 63 } else if (u <= 65535) { if (outIdx + 2 >= endIdx) break; outU8Array[outIdx++] = 224 | u >> 12; outU8Array[outIdx++] = 128 | u >> 6 & 63; outU8Array[outIdx++] = 128 | u & 63 } else { if (outIdx + 3 >= endIdx) break; outU8Array[outIdx++] = 240 | u >> 18; outU8Array[outIdx++] = 128 | u >> 12 & 63; outU8Array[outIdx++] = 128 | u >> 6 & 63; outU8Array[outIdx++] = 128 | u & 63 } } outU8Array[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 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 } function demangle(func) { return func } function demangleAll(text) { var regex = /__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(0) } catch (e) { err = e } if (!err.stack) { return "(no stack trace available)" } } return err.stack.toString() } function stackTrace() { var js = jsStackTrace(); if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"](); return demangleAll(js) } var WASM_PAGE_SIZE = 65536; function alignUp(x, multiple) { if (x % multiple > 0) { x += multiple - x % multiple } return x } var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; function updateGlobalBufferViews() { Module["HEAP8"] = HEAP8 = new Int8Array(buffer); Module["HEAP16"] = HEAP16 = new Int16Array(buffer); Module["HEAP32"] = HEAP32 = new Int32Array(buffer); Module["HEAPU8"] = HEAPU8 = new Uint8Array(buffer); Module["HEAPU16"] = HEAPU16 = new Uint16Array(buffer); Module["HEAPU32"] = HEAPU32 = new Uint32Array(buffer); Module["HEAPF32"] = HEAPF32 = new Float32Array(buffer); Module["HEAPF64"] = HEAPF64 = new Float64Array(buffer) } var DYNAMIC_BASE = 5520464, DYNAMICTOP_PTR = 277552; var TOTAL_STACK = 5242880; var INITIAL_TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 16777216; if (INITIAL_TOTAL_MEMORY < TOTAL_STACK) err("TOTAL_MEMORY should be larger than TOTAL_STACK, was " + INITIAL_TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")"); if (Module["buffer"]) { buffer = Module["buffer"] } else { if (typeof WebAssembly === "object" && typeof WebAssembly.Memory === "function") { wasmMemory = new WebAssembly.Memory({ "initial": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE }); buffer = wasmMemory.buffer } else { buffer = new ArrayBuffer(INITIAL_TOTAL_MEMORY) } } updateGlobalBufferViews(); HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; function callRuntimeCallbacks(callbacks) { while (callbacks.length > 0) { var callback = callbacks.shift(); if (typeof callback == "function") { callback(); 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 ensureInitRuntime() { if (runtimeInitialized) return; runtimeInitialized = true; if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); TTY.init(); PIPEFS.root = FS.mount(PIPEFS, {}, null); callRuntimeCallbacks(__ATINIT__) } function preMain() { FS.ignorePermissions = false; 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 getUniqueRunDependency(id) { return id } 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"] = {}; var dataURIPrefix = "data:application/octet-stream;base64,"; function isDataURI(filename) { return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0 } var wasmBinaryFile = "libarchive.wasm"; if (!isDataURI(wasmBinaryFile)) { wasmBinaryFile = locateFile(wasmBinaryFile) } function getBinary() { try { if (Module["wasmBinary"]) { return new Uint8Array(Module["wasmBinary"]) } if (Module["readBinary"]) { return Module["readBinary"](wasmBinaryFile) } else { throw "both async and sync fetching of the wasm failed" } } catch (err) { abort(err) } } function getBinaryPromise() { if (!Module["wasmBinary"] && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === "function") { return fetch(wasmBinaryFile, { credentials: "same-origin" }).then(function (response) { if (!response["ok"]) { throw "failed to load wasm binary file at '" + wasmBinaryFile + "'" } return response["arrayBuffer"]() }).catch(function () { return getBinary() }) } return new Promise(function (resolve, reject) { resolve(getBinary()) }) } function createWasm(env) { var info = { "env": env, "global": { "NaN": NaN, Infinity: Infinity }, "global.Math": Math, "asm2wasm": asm2wasmImports }; function receiveInstance(instance, module) { var exports = instance.exports; Module["asm"] = exports; removeRunDependency("wasm-instantiate") } addRunDependency("wasm-instantiate"); if (Module["instantiateWasm"]) { try { return Module["instantiateWasm"](info, receiveInstance) } catch (e) { err("Module.instantiateWasm callback failed with error: " + e); return false } } function receiveInstantiatedSource(output) { receiveInstance(output["instance"]) } function instantiateArrayBuffer(receiver) { getBinaryPromise().then(function (binary) { return WebAssembly.instantiate(binary, info) }).then(receiver, function (reason) { err("failed to asynchronously prepare wasm: " + reason); abort(reason) }) } if (!Module["wasmBinary"] && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && typeof fetch === "function") { WebAssembly.instantiateStreaming(fetch(wasmBinaryFile, { credentials: "same-origin" }), info).then(receiveInstantiatedSource, function (reason) { err("wasm streaming compile failed: " + reason); err("falling back to ArrayBuffer instantiation"); instantiateArrayBuffer(receiveInstantiatedSource) }) } else { instantiateArrayBuffer(receiveInstantiatedSource) } return {} } Module["asm"] = function (global, env, providedBuffer) { env["memory"] = wasmMemory; env["table"] = wasmTable = new WebAssembly.Table({ "initial": 507, "maximum": 507, "element": "anyfunc" }); env["__memory_base"] = 1024; env["__table_base"] = 0; var exports = createWasm(env); return exports }; __ATINIT__.push({ func: function () { ___emscripten_environ_constructor() } }); var ENV = {}; function ___buildEnvironment(environ) { var MAX_ENV_VALUES = 64; var TOTAL_ENV_SIZE = 1024; var poolPtr; var envPtr; if (!___buildEnvironment.called) { ___buildEnvironment.called = true; ENV["USER"] = ENV["LOGNAME"] = "web_user"; ENV["PATH"] = "/"; ENV["PWD"] = "/"; ENV["HOME"] = "/home/web_user"; ENV["LANG"] = "C.UTF-8"; ENV["_"] = Module["thisProgram"]; poolPtr = getMemory(TOTAL_ENV_SIZE); envPtr = getMemory(MAX_ENV_VALUES * 4); HEAP32[envPtr >> 2] = poolPtr; HEAP32[environ >> 2] = envPtr } else { envPtr = HEAP32[environ >> 2]; poolPtr = HEAP32[envPtr >> 2] } var strings = []; var totalSize = 0; for (var key in ENV) { if (typeof ENV[key] === "string") { var line = key + "=" + ENV[key]; strings.push(line); totalSize += line.length } } if (totalSize > TOTAL_ENV_SIZE) { throw new Error("Environment size exceeded TOTAL_ENV_SIZE!") } var ptrSize = 4; for (var i = 0; i < strings.length; i++) { var line = strings[i]; writeAsciiToMemory(line, poolPtr); HEAP32[envPtr + i * ptrSize >> 2] = poolPtr; poolPtr += line.length + 1 } HEAP32[envPtr + strings.length * ptrSize >> 2] = 0 } var PATH = { splitPath: function (filename) { var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; return splitPathRe.exec(filename).slice(1) }, normalizeArray: function (parts, allowAboveRoot) { var up = 0; for (var i = parts.length - 1; i >= 0; i--) { var last = parts[i]; if (last === ".") { parts.splice(i, 1) } else if (last === "..") { parts.splice(i, 1); up++ } else if (up) { parts.splice(i, 1); up-- } } if (allowAboveRoot) { for (; up; up--) { parts.unshift("..") } } return parts }, normalize: function (path) { var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/"; path = PATH.normalizeArray(path.split("/").filter(function (p) { return !!p }), !isAbsolute).join("/"); if (!path && !isAbsolute) { path = "." } if (path && trailingSlash) { path += "/" } return (isAbsolute ? "/" : "") + path }, dirname: function (path) { var result = PATH.splitPath(path), root = result[0], dir = result[1]; if (!root && !dir) { return "." } if (dir) { dir = dir.substr(0, dir.length - 1) } return root + dir }, basename: function (path) { if (path === "/") return "/"; var lastSlash = path.lastIndexOf("/"); if (lastSlash === -1) return path; return path.substr(lastSlash + 1) }, extname: function (path) { return PATH.splitPath(path)[3] }, join: function () { var paths = Array.prototype.slice.call(arguments, 0); return PATH.normalize(paths.join("/")) }, join2: function (l, r) { return PATH.normalize(l + "/" + r) } }; function ___setErrNo(value) { if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value; return value } var PATH_FS = { resolve: function () { var resolvedPath = "", resolvedAbsolute = false; for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { var path = i >= 0 ? arguments[i] : FS.cwd(); if (typeof path !== "string") { throw new TypeError("Arguments to path.resolve must be strings") } else if (!path) { return "" } resolvedPath = path + "/" + resolvedPath; resolvedAbsolute = path.charAt(0) === "/" } resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function (p) { return !!p }), !resolvedAbsolute).join("/"); return (resolvedAbsolute ? "/" : "") + resolvedPath || "." }, relative: function (from, to) { from = PATH_FS.resolve(from).substr(1); to = PATH_FS.resolve(to).substr(1); function trim(arr) { var start = 0; for (; start < arr.length; start++) { if (arr[start] !== "") break } var end = arr.length - 1; for (; end >= 0; end--) { if (arr[end] !== "") break } if (start > end) return []; return arr.slice(start, end - start + 1) } var fromParts = trim(from.split("/")); var toParts = trim(to.split("/")); var length = Math.min(fromParts.length, toParts.length); var samePartsLength = length; for (var i = 0; i < length; i++) { if (fromParts[i] !== toParts[i]) { samePartsLength = i; break } } var outputParts = []; for (var i = samePartsLength; i < fromParts.length; i++) { outputParts.push("..") } outputParts = outputParts.concat(toParts.slice(samePartsLength)); return outputParts.join("/") } }; var TTY = { ttys: [], init: function () { }, shutdown: function () { }, register: function (dev, ops) { TTY.ttys[dev] = { input: [], output: [], ops: ops }; FS.registerDevice(dev, TTY.stream_ops) }, stream_ops: { open: function (stream) { var tty = TTY.ttys[stream.node.rdev]; if (!tty) { throw new FS.ErrnoError(19) } stream.tty = tty; stream.seekable = false }, close: function (stream) { stream.tty.ops.flush(stream.tty) }, flush: function (stream) { stream.tty.ops.flush(stream.tty) }, read: function (stream, buffer, offset, length, pos) { if (!stream.tty || !stream.tty.ops.get_char) { throw new FS.ErrnoError(6) } var bytesRead = 0; for (var i = 0; i < length; i++) { var result; try { result = stream.tty.ops.get_char(stream.tty) } catch (e) { throw new FS.ErrnoError(5) } if (result === undefined && bytesRead === 0) { throw new FS.ErrnoError(11) } if (result === null || result === undefined) break; bytesRead++; buffer[offset + i] = result } if (bytesRead) { stream.node.timestamp = Date.now() } return bytesRead }, write: function (stream, buffer, offset, length, pos) { if (!stream.tty || !stream.tty.ops.put_char) { throw new FS.ErrnoError(6) } try { for (var i = 0; i < length; i++) { stream.tty.ops.put_char(stream.tty, buffer[offset + i]) } } catch (e) { throw new FS.ErrnoError(5) } if (length) { stream.node.timestamp = Date.now() } return i } }, default_tty_ops: { get_char: function (tty) { if (!tty.input.length) { var result = null; if (ENVIRONMENT_IS_NODE) { var BUFSIZE = 256; var buf = new Buffer(BUFSIZE); var bytesRead = 0; var isPosixPlatform = process.platform != "win32"; var fd = process.stdin.fd; if (isPosixPlatform) { var usingDevice = false; try { fd = fs.openSync("/dev/stdin", "r"); usingDevice = true } catch (e) { } } try { bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null) } catch (e) { if (e.toString().indexOf("EOF") != -1) bytesRead = 0; else throw e } if (usingDevice) { fs.closeSync(fd) } if (bytesRead > 0) { result = buf.slice(0, bytesRead).toString("utf-8") } else { result = null } } else if (typeof window != "undefined" && typeof window.prompt == "function") { result = window.prompt("Input: "); if (result !== null) { result += "\n" } } else if (typeof readline == "function") { result = readline(); if (result !== null) { result += "\n" } } if (!result) { return null } tty.input = intArrayFromString(result, true) } return tty.input.shift() }, put_char: function (tty, val) { if (val === null || val === 10) { out(UTF8ArrayToString(tty.output, 0)); tty.output = [] } else { if (val != 0) tty.output.push(val) } }, flush: function (tty) { if (tty.output && tty.output.length > 0) { out(UTF8ArrayToString(tty.output, 0)); tty.output = [] } } }, default_tty1_ops: { put_char: function (tty, val) { if (val === null || val === 10) { err(UTF8ArrayToString(tty.output, 0)); tty.output = [] } else { if (val != 0) tty.output.push(val) } }, flush: function (tty) { if (tty.output && tty.output.length > 0) { err(UTF8ArrayToString(tty.output, 0)); tty.output = [] } } } }; var MEMFS = { ops_table: null, mount: function (mount) { return MEMFS.createNode(null, "/", 16384 | 511, 0) }, createNode: function (parent, name, mode, dev) { if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { throw new FS.ErrnoError(1) } if (!MEMFS.ops_table) { MEMFS.ops_table = { dir: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, lookup: MEMFS.node_ops.lookup, mknod: MEMFS.node_ops.mknod, rename: MEMFS.node_ops.rename, unlink: MEMFS.node_ops.unlink, rmdir: MEMFS.node_ops.rmdir, readdir: MEMFS.node_ops.readdir, symlink: MEMFS.node_ops.symlink }, stream: { llseek: MEMFS.stream_ops.llseek } }, file: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: { llseek: MEMFS.stream_ops.llseek, read: MEMFS.stream_ops.read, write: MEMFS.stream_ops.write, allocate: MEMFS.stream_ops.allocate, mmap: MEMFS.stream_ops.mmap, msync: MEMFS.stream_ops.msync } }, link: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, readlink: MEMFS.node_ops.readlink }, stream: {} }, chrdev: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: FS.chrdev_stream_ops } } } var node = FS.createNode(parent, name, mode, dev); if (FS.isDir(node.mode)) { node.node_ops = MEMFS.ops_table.dir.node; node.stream_ops = MEMFS.ops_table.dir.stream; node.contents = {} } else if (FS.isFile(node.mode)) { node.node_ops = MEMFS.ops_table.file.node; node.stream_ops = MEMFS.ops_table.file.stream; node.usedBytes = 0; node.contents = null } else if (FS.isLink(node.mode)) { node.node_ops = MEMFS.ops_table.link.node; node.stream_ops = MEMFS.ops_table.link.stream } else if (FS.isChrdev(node.mode)) { node.node_ops = MEMFS.ops_table.chrdev.node; node.stream_ops = MEMFS.ops_table.chrdev.stream } node.timestamp = Date.now(); if (parent) { parent.contents[name] = node } return node }, getFileDataAsRegularArray: function (node) { if (node.contents && node.contents.subarray) { var arr = []; for (var i = 0; i < node.usedBytes; ++i)arr.push(node.contents[i]); return arr } return node.contents }, getFileDataAsTypedArray: function (node) { if (!node.contents) return new Uint8Array; if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); return new Uint8Array(node.contents) }, expandFileStorage: function (node, newCapacity) { var prevCapacity = node.contents ? node.contents.length : 0; if (prevCapacity >= newCapacity) return; var CAPACITY_DOUBLING_MAX = 1024 * 1024; newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0); if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); var oldContents = node.contents; node.contents = new Uint8Array(newCapacity); if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); return }, resizeFileStorage: function (node, newSize) { if (node.usedBytes == newSize) return; if (newSize == 0) { node.contents = null; node.usedBytes = 0; return } if (!node.contents || node.contents.subarray) { var oldContents = node.contents; node.contents = new Uint8Array(new ArrayBuffer(newSize)); if (oldContents) { node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))) } node.usedBytes = newSize; return } if (!node.contents) node.contents = []; if (node.contents.length > newSize) node.contents.length = newSize; else while (node.contents.length < newSize) node.contents.push(0); node.usedBytes = newSize }, node_ops: { getattr: function (node) { var attr = {}; attr.dev = FS.isChrdev(node.mode) ? node.id : 1; attr.ino = node.id; attr.mode = node.mode; attr.nlink = 1; attr.uid = 0; attr.gid = 0; attr.rdev = node.rdev; if (FS.isDir(node.mode)) { attr.size = 4096 } else if (FS.isFile(node.mode)) { attr.size = node.usedBytes } else if (FS.isLink(node.mode)) { attr.size = node.link.length } else { attr.size = 0 } attr.atime = new Date(node.timestamp); attr.mtime = new Date(node.timestamp); attr.ctime = new Date(node.timestamp); attr.blksize = 4096; attr.blocks = Math.ceil(attr.size / attr.blksize); return attr }, setattr: function (node, attr) { if (attr.mode !== undefined) { node.mode = attr.mode } if (attr.timestamp !== undefined) { node.timestamp = attr.timestamp } if (attr.size !== undefined) { MEMFS.resizeFileStorage(node, attr.size) } }, lookup: function (parent, name) { throw FS.genericErrors[2] }, mknod: function (parent, name, mode, dev) { return MEMFS.createNode(parent, name, mode, dev) }, rename: function (old_node, new_dir, new_name) { if (FS.isDir(old_node.mode)) { var new_node; try { new_node = FS.lookupNode(new_dir, new_name) } catch (e) { } if (new_node) { for (var i in new_node.contents) { throw new FS.ErrnoError(39) } } } delete old_node.parent.contents[old_node.name]; old_node.name = new_name; new_dir.contents[new_name] = old_node; old_node.parent = new_dir }, unlink: function (parent, name) { delete parent.contents[name] }, rmdir: function (parent, name) { var node = FS.lookupNode(parent, name); for (var i in node.contents) { throw new FS.ErrnoError(39) } delete parent.contents[name] }, readdir: function (node) { var entries = [".", ".."]; for (var key in node.contents) { if (!node.contents.hasOwnProperty(key)) { continue } entries.push(key) } return entries }, symlink: function (parent, newname, oldpath) { var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); node.link = oldpath; return node }, readlink: function (node) { if (!FS.isLink(node.mode)) { throw new FS.ErrnoError(22) } return node.link } }, stream_ops: { read: function (stream, buffer, offset, length, position) { var contents = stream.node.contents; if (position >= stream.node.usedBytes) return 0; var size = Math.min(stream.node.usedBytes - position, length); if (size > 8 && contents.subarray) { buffer.set(contents.subarray(position, position + size), offset) } else { for (var i = 0; i < size; i++)buffer[offset + i] = contents[position + i] } return size }, write: function (stream, buffer, offset, length, position, canOwn) { canOwn = false; if (!length) return 0; var node = stream.node; node.timestamp = Date.now(); if (buffer.subarray && (!node.contents || node.contents.subarray)) { if (canOwn) { node.contents = buffer.subarray(offset, offset + length); node.usedBytes = length; return length } else if (node.usedBytes === 0 && position === 0) { node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); node.usedBytes = length; return length } else if (position + length <= node.usedBytes) { node.contents.set(buffer.subarray(offset, offset + length), position); return length } } MEMFS.expandFileStorage(node, position + length); if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); else { for (var i = 0; i < length; i++) { node.contents[position + i] = buffer[offset + i] } } node.usedBytes = Math.max(node.usedBytes, position + length); return length }, llseek: function (stream, offset, whence) { var position = offset; if (whence === 1) { position += stream.position } else if (whence === 2) { if (FS.isFile(stream.node.mode)) { position += stream.node.usedBytes } } if (position < 0) { throw new FS.ErrnoError(22) } return position }, allocate: function (stream, offset, length) { MEMFS.expandFileStorage(stream.node, offset + length); stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length) }, mmap: function (stream, buffer, offset, length, position, prot, flags) { if (!FS.isFile(stream.node.mode)) { throw new FS.ErrnoError(19) } var ptr; var allocated; var contents = stream.node.contents; if (!(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer)) { allocated = false; ptr = contents.byteOffset } else { if (position > 0 || position + length < stream.node.usedBytes) { if (contents.subarray) { contents = contents.subarray(position, position + length) } else { contents = Array.prototype.slice.call(contents, position, position + length) } } allocated = true; ptr = _malloc(length); if (!ptr) { throw new FS.ErrnoError(12) } buffer.set(contents, ptr) } return { ptr: ptr, allocated: allocated } }, msync: function (stream, buffer, offset, length, mmapFlags) { if (!FS.isFile(stream.node.mode)) { throw new FS.ErrnoError(19) } if (mmapFlags & 2) { return 0 } var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); return 0 } } }; var IDBFS = { dbs: {}, indexedDB: function () { if (typeof indexedDB !== "undefined") return indexedDB; var ret = null; if (typeof window === "object") ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; assert(ret, "IDBFS used, but indexedDB not supported"); return ret }, DB_VERSION: 21, DB_STORE_NAME: "FILE_DATA", mount: function (mount) { return MEMFS.mount.apply(null, arguments) }, syncfs: function (mount, populate, callback) { IDBFS.getLocalSet(mount, function (err, local) { if (err) return callback(err); IDBFS.getRemoteSet(mount, function (err, remote) { if (err) return callback(err); var src = populate ? remote : local; var dst = populate ? local : remote; IDBFS.reconcile(src, dst, callback) }) }) }, getDB: function (name, callback) { var db = IDBFS.dbs[name]; if (db) { return callback(null, db) } var req; try { req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION) } catch (e) { return callback(e) } if (!req) { return callback("Unable to connect to IndexedDB") } req.onupgradeneeded = function (e) { var db = e.target.result; var transaction = e.target.transaction; var fileStore; if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME) } else { fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME) } if (!fileStore.indexNames.contains("timestamp")) { fileStore.createIndex("timestamp", "timestamp", { unique: false }) } }; req.onsuccess = function () { db = req.result; IDBFS.dbs[name] = db; callback(null, db) }; req.onerror = function (e) { callback(this.error); e.preventDefault() } }, getLocalSet: function (mount, callback) { var entries = {}; function isRealDir(p) { return p !== "." && p !== ".." } function toAbsolute(root) { return function (p) { return PATH.join2(root, p) } } var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); while (check.length) { var path = check.pop(); var stat; try { stat = FS.stat(path) } catch (e) { return callback(e) } if (FS.isDir(stat.mode)) { check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))) } entries[path] = { timestamp: stat.mtime } } return callback(null, { type: "local", entries: entries }) }, getRemoteSet: function (mount, callback) { var entries = {}; IDBFS.getDB(mount.mountpoint, function (err, db) { if (err) return callback(err); try { var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readonly"); transaction.onerror = function (e) { callback(this.error); e.preventDefault() }; var store = transaction.objectStore(IDBFS.DB_STORE_NAME); var index = store.index("timestamp"); index.openKeyCursor().onsuccess = function (event) { var cursor = event.target.result; if (!cursor) { return callback(null, { type: "remote", db: db, entries: entries }) } entries[cursor.primaryKey] = { timestamp: cursor.key }; cursor.continue() } } catch (e) { return callback(e) } }) }, loadLocalEntry: function (path, callback) { var stat, node; try { var lookup = FS.lookupPath(path); node = lookup.node; stat = FS.stat(path) } catch (e) { return callback(e) } if (FS.isDir(stat.mode)) { return callback(null, { timestamp: stat.mtime, mode: stat.mode }) } else if (FS.isFile(stat.mode)) { node.contents = MEMFS.getFileDataAsTypedArray(node); return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }) } else { return callback(new Error("node type not supported")) } }, storeLocalEntry: function (path, entry, callback) { try { if (FS.isDir(entry.mode)) { FS.mkdir(path, entry.mode) } else if (FS.isFile(entry.mode)) { FS.writeFile(path, entry.contents, { canOwn: true }) } else { return callback(new Error("node type not supported")) } FS.chmod(path, entry.mode); FS.utime(path, entry.timestamp, entry.timestamp) } catch (e) { return callback(e) } callback(null) }, removeLocalEntry: function (path, callback) { try { var lookup = FS.lookupPath(path); var stat = FS.stat(path); if (FS.isDir(stat.mode)) { FS.rmdir(path) } else if (FS.isFile(stat.mode)) { FS.unlink(path) } } catch (e) { return callback(e) } callback(null) }, loadRemoteEntry: function (store, path, callback) { var req = store.get(path); req.onsuccess = function (event) { callback(null, event.target.result) }; req.onerror = function (e) { callback(this.error); e.preventDefault() } }, storeRemoteEntry: function (store, path, entry, callback) { var req = store.put(entry, path); req.onsuccess = function () { callback(null) }; req.onerror = function (e) { callback(this.error); e.preventDefault() } }, removeRemoteEntry: function (store, path, callback) { var req = store.delete(path); req.onsuccess = function () { callback(null) }; req.onerror = function (e) { callback(this.error); e.preventDefault() } }, reconcile: function (src, dst, callback) { var total = 0; var create = []; Object.keys(src.entries).forEach(function (key) { var e = src.entries[key]; var e2 = dst.entries[key]; if (!e2 || e.timestamp > e2.timestamp) { create.push(key); total++ } }); var remove = []; Object.keys(dst.entries).forEach(function (key) { var e = dst.entries[key]; var e2 = src.entries[key]; if (!e2) { remove.push(key); total++ } }); if (!total) { return callback(null) } var errored = false; var completed = 0; var db = src.type === "remote" ? src.db : dst.db; var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readwrite"); var store = transaction.objectStore(IDBFS.DB_STORE_NAME); function done(err) { if (err) { if (!done.errored) { done.errored = true; return callback(err) } return } if (++completed >= total) { return callback(null) } } transaction.onerror = function (e) { done(this.error); e.preventDefault() }; create.sort().forEach(function (path) { if (dst.type === "local") { IDBFS.loadRemoteEntry(store, path, function (err, entry) { if (err) return done(err); IDBFS.storeLocalEntry(path, entry, done) }) } else { IDBFS.loadLocalEntry(path, function (err, entry) { if (err) return done(err); IDBFS.storeRemoteEntry(store, path, entry, done) }) } }); remove.sort().reverse().forEach(function (path) { if (dst.type === "local") { IDBFS.removeLocalEntry(path, done) } else { IDBFS.removeRemoteEntry(store, path, done) } }) } }; var NODEFS = { isWindows: false, staticInit: function () { NODEFS.isWindows = !!process.platform.match(/^win/); var flags = process["binding"]("constants"); if (flags["fs"]) { flags = flags["fs"] } NODEFS.flagsForNodeMap = { 1024: flags["O_APPEND"], 64: flags["O_CREAT"], 128: flags["O_EXCL"], 0: flags["O_RDONLY"], 2: flags["O_RDWR"], 4096: flags["O_SYNC"], 512: flags["O_TRUNC"], 1: flags["O_WRONLY"] } }, bufferFrom: function (arrayBuffer) { return Buffer.alloc ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer) }, mount: function (mount) { assert(ENVIRONMENT_IS_NODE); return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0) }, createNode: function (parent, name, mode, dev) { if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { throw new FS.ErrnoError(22) } var node = FS.createNode(parent, name, mode); node.node_ops = NODEFS.node_ops; node.stream_ops = NODEFS.stream_ops; return node }, getMode: function (path) { var stat; try { stat = fs.lstatSync(path); if (NODEFS.isWindows) { stat.mode = stat.mode | (stat.mode & 292) >> 2 } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(-e.errno) } return stat.mode }, realPath: function (node) { var parts = []; while (node.parent !== node) { parts.push(node.name); node = node.parent } parts.push(node.mount.opts.root); parts.reverse(); return PATH.join.apply(null, parts) }, flagsForNode: function (flags) { flags &= ~2097152; flags &= ~2048; flags &= ~32768; flags &= ~524288; var newFlags = 0; for (var k in NODEFS.flagsForNodeMap) { if (flags & k) { newFlags |= NODEFS.flagsForNodeMap[k]; flags ^= k } } if (!flags) { return newFlags } else { throw new FS.ErrnoError(22) } }, node_ops: { getattr: function (node) { var path = NODEFS.realPath(node); var stat; try { stat = fs.lstatSync(path) } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(-e.errno) } if (NODEFS.isWindows && !stat.blksize) { stat.blksize = 4096 } if (NODEFS.isWindows && !stat.blocks) { stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0 } return { dev: stat.dev, ino: stat.ino, mode: stat.mode, nlink: stat.nlink, uid: stat.uid, gid: stat.gid, rdev: stat.rdev, size: stat.size, atime: stat.atime, mtime: stat.mtime, ctime: stat.ctime, blksize: stat.blksize, blocks: stat.blocks } }, setattr: function (node, attr) { var path = NODEFS.realPath(node); try { if (attr.mode !== undefined) { fs.chmodSync(path, attr.mode); node.mode = attr.mode } if (attr.timestamp !== undefined) { var date = new Date(attr.timestamp); fs.utimesSync(path, date, date) } if (attr.size !== undefined) { fs.truncateSync(path, attr.size) } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(-e.errno) } }, lookup: function (parent, name) { var path = PATH.join2(NODEFS.realPath(parent), name); var mode = NODEFS.getMode(path); return NODEFS.createNode(parent, name, mode) }, mknod: function (parent, name, mode, dev) { var node = NODEFS.createNode(parent, name, mode, dev); var path = NODEFS.realPath(node); try { if (FS.isDir(node.mode)) { fs.mkdirSync(path, node.mode) } else { fs.writeFileSync(path, "", { mode: node.mode }) } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(-e.errno) } return node }, rename: function (oldNode, newDir, newName) { var oldPath = NODEFS.realPath(oldNode); var newPath = PATH.join2(NODEFS.realPath(newDir), newName); try { fs.renameSync(oldPath, newPath) } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(-e.errno) } }, unlink: function (parent, name) { var path = PATH.join2(NODEFS.realPath(parent), name); try { fs.unlinkSync(path) } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(-e.errno) } }, rmdir: function (parent, name) { var path = PATH.join2(NODEFS.realPath(parent), name); try { fs.rmdirSync(path) } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(-e.errno) } }, readdir: function (node) { var path = NODEFS.realPath(node); try { return fs.readdirSync(path) } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(-e.errno) } }, symlink: function (parent, newName, oldPath) { var newPath = PATH.join2(NODEFS.realPath(parent), newName); try { fs.symlinkSync(oldPath, newPath) } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(-e.errno) } }, readlink: function (node) { var path = NODEFS.realPath(node); try { path = fs.readlinkSync(path); path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); return path } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(-e.errno) } } }, stream_ops: { open: function (stream) { var path = NODEFS.realPath(stream.node); try { if (FS.isFile(stream.node.mode)) { stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)) } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(-e.errno) } }, close: function (stream) { try { if (FS.isFile(stream.node.mode) && stream.nfd) { fs.closeSync(stream.nfd) } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(-e.errno) } }, read: function (stream, buffer, offset, length, position) { if (length === 0) return 0; try { return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) } catch (e) { throw new FS.ErrnoError(-e.errno) } }, write: function (stream, buffer, offset, length, position) { try { return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) } catch (e) { throw new FS.ErrnoError(-e.errno) } }, llseek: function (stream, offset, whence) { var position = offset; if (whence === 1) { position += stream.position } else if (whence === 2) { if (FS.isFile(stream.node.mode)) { try { var stat = fs.fstatSync(stream.nfd); position += stat.size } catch (e) { throw new FS.ErrnoError(-e.errno) } } } if (position < 0) { throw new FS.ErrnoError(22) } return position } } }; var WORKERFS = { DIR_MODE: 16895, FILE_MODE: 33279, reader: null, mount: function (mount) { assert(ENVIRONMENT_IS_WORKER); if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync; var root = WORKERFS.createNode(null, "/", WORKERFS.DIR_MODE, 0); var createdParents = {}; function ensureParent(path) { var parts = path.split("/"); var parent = root; for (var i = 0; i < parts.length - 1; i++) { var curr = parts.slice(0, i + 1).join("/"); if (!createdParents[curr]) { createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0) } parent = createdParents[curr] } return parent } function base(path) { var parts = path.split("/"); return parts[parts.length - 1] } Array.prototype.forEach.call(mount.opts["files"] || [], function (file) { WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate) }); (mount.opts["blobs"] || []).forEach(function (obj) { WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]) }); (mount.opts["packages"] || []).forEach(function (pack) { pack["metadata"].files.forEach(function (file) { var name = file.filename.substr(1); WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack["blob"].slice(file.start, file.end)) }) }); return root }, createNode: function (parent, name, mode, dev, contents, mtime) { var node = FS.createNode(parent, name, mode); node.mode = mode; node.node_ops = WORKERFS.node_ops; node.stream_ops = WORKERFS.stream_ops; node.timestamp = (mtime || new Date).getTime(); assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); if (mode === WORKERFS.FILE_MODE) { node.size = contents.size; node.contents = contents } else { node.size = 4096; node.contents = {} } if (parent) { parent.contents[name] = node } return node }, node_ops: { getattr: function (node) { return { dev: 1, ino: undefined, mode: node.mode, nlink: 1, uid: 0, gid: 0, rdev: undefined, size: node.size, atime: new Date(node.timestamp), mtime: new Date(node.timestamp), ctime: new Date(node.timestamp), blksize: 4096, blocks: Math.ceil(node.size / 4096) } }, setattr: function (node, attr) { if (attr.mode !== undefined) { node.mode = attr.mode } if (attr.timestamp !== undefined) { node.timestamp = attr.timestamp } }, lookup: function (parent, name) { throw new FS.ErrnoError(2) }, mknod: function (parent, name, mode, dev) { throw new FS.ErrnoError(1) }, rename: function (oldNode, newDir, newName) { throw new FS.ErrnoError(1) }, unlink: function (parent, name) { throw new FS.ErrnoError(1) }, rmdir: function (parent, name) { throw new FS.ErrnoError(1) }, readdir: function (node) { var entries = [".", ".."]; for (var key in node.contents) { if (!node.contents.hasOwnProperty(key)) { continue } entries.push(key) } return entries }, symlink: function (parent, newName, oldPath) { throw new FS.ErrnoError(1) }, readlink: function (node) { throw new FS.ErrnoError(1) } }, stream_ops: { read: function (stream, buffer, offset, length, position) { if (position >= stream.node.size) return 0; var chunk = stream.node.contents.slice(position, position + length); var ab = WORKERFS.reader.readAsArrayBuffer(chunk); buffer.set(new Uint8Array(ab), offset); return chunk.size }, write: function (stream, buffer, offset, length, position) { throw new FS.ErrnoError(5) }, llseek: function (stream, offset, whence) { var position = offset; if (whence === 1) { position += stream.position } else if (whence === 2) { if (FS.isFile(stream.node.mode)) { position += stream.node.size } } if (position < 0) { throw new FS.ErrnoError(22) } return position } } }; var FS = { root: null, mounts: [], devices: {}, streams: [], nextInode: 1, nameTable: null, currentPath: "/", initialized: false, ignorePermissions: true, trackingDelegate: {}, tracking: { openFlags: { READ: 1, WRITE: 2 } }, ErrnoError: null, genericErrors: {}, filesystems: null, syncFSRequests: 0, handleFSError: function (e) { if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace(); return ___setErrNo(e.errno) }, lookupPath: function (path, opts) { path = PATH_FS.resolve(FS.cwd(), path); opts = opts || {}; if (!path) return { path: "", node: null }; var defaults = { follow_mount: true, recurse_count: 0 }; for (var key in defaults) { if (opts[key] === undefined) { opts[key] = defaults[key] } } if (opts.recurse_count > 8) { throw new FS.ErrnoError(40) } var parts = PATH.normalizeArray(path.split("/").filter(function (p) { return !!p }), false); var current = FS.root; var current_path = "/"; for (var i = 0; i < parts.length; i++) { var islast = i === parts.length - 1; if (islast && opts.parent) { break } current = FS.lookupNode(current, parts[i]); current_path = PATH.join2(current_path, parts[i]); if (FS.isMountpoint(current)) { if (!islast || islast && opts.follow_mount) { current = current.mounted.root } } if (!islast || opts.follow) { var count = 0; while (FS.isLink(current.mode)) { var link = FS.readlink(current_path); current_path = PATH_FS.resolve(PATH.dirname(current_path), link); var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); current = lookup.node; if (count++ > 40) { throw new FS.ErrnoError(40) } } } } return { path: current_path, node: current } }, getPath: function (node) { var path; while (true) { if (FS.isRoot(node)) { var mount = node.mount.mountpoint; if (!path) return mount; return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path } path = path ? node.name + "/" + path : node.name; node = node.parent } }, hashName: function (parentid, name) { var hash = 0; for (var i = 0; i < name.length; i++) { hash = (hash << 5) - hash + name.charCodeAt(i) | 0 } return (parentid + hash >>> 0) % FS.nameTable.length }, hashAddNode: function (node) { var hash = FS.hashName(node.parent.id, node.name); node.name_next = FS.nameTable[hash]; FS.nameTable[hash] = node }, hashRemoveNode: function (node) { var hash = FS.hashName(node.parent.id, node.name); if (FS.nameTable[hash] === node) { FS.nameTable[hash] = node.name_next } else { var current = FS.nameTable[hash]; while (current) { if (current.name_next === node) { current.name_next = node.name_next; break } current = current.name_next } } }, lookupNode: function (parent, name) { var err = FS.mayLookup(parent); if (err) { throw new FS.ErrnoError(err, parent) } var hash = FS.hashName(parent.id, name); for (var node = FS.nameTable[hash]; node; node = node.name_next) { var nodeName = node.name; if (node.parent.id === parent.id && nodeName === name) { return node } } return FS.lookup(parent, name) }, createNode: function (parent, name, mode, rdev) { if (!FS.FSNode) { FS.FSNode = function (parent, name, mode, rdev) { if (!parent) { parent = this } this.parent = parent; this.mount = parent.mount; this.mounted = null; this.id = FS.nextInode++; this.name = name; this.mode = mode; this.node_ops = {}; this.stream_ops = {}; this.rdev = rdev }; FS.FSNode.prototype = {}; var readMode = 292 | 73; var writeMode = 146; Object.defineProperties(FS.FSNode.prototype, { read: { get: function () { return (this.mode & readMode) === readMode }, set: function (val) { val ? this.mode |= readMode : this.mode &= ~readMode } }, write: { get: function () { return (this.mode & writeMode) === writeMode }, set: function (val) { val ? this.mode |= writeMode : this.mode &= ~writeMode } }, isFolder: { get: function () { return FS.isDir(this.mode) } }, isDevice: { get: function () { return FS.isChrdev(this.mode) } } }) } var node = new FS.FSNode(parent, name, mode, rdev); FS.hashAddNode(node); return node }, destroyNode: function (node) { FS.hashRemoveNode(node) }, isRoot: function (node) { return node === node.parent }, isMountpoint: function (node) { return !!node.mounted }, isFile: function (mode) { return (mode & 61440) === 32768 }, isDir: function (mode) { return (mode & 61440) === 16384 }, isLink: function (mode) { return (mode & 61440) === 40960 }, isChrdev: function (mode) { return (mode & 61440) === 8192 }, isBlkdev: function (mode) { return (mode & 61440) === 24576 }, isFIFO: function (mode) { return (mode & 61440) === 4096 }, isSocket: function (mode) { return (mode & 49152) === 49152 }, flagModes: { "r": 0, "rs": 1052672, "r+": 2, "w": 577, "wx": 705, "xw": 705, "w+": 578, "wx+": 706, "xw+": 706, "a": 1089, "ax": 1217, "xa": 1217, "a+": 1090, "ax+": 1218, "xa+": 1218 }, modeStringToFlags: function (str) { var flags = FS.flagModes[str]; if (typeof flags === "undefined") { throw new Error("Unknown file open mode: " + str) } return flags }, flagsToPermissionString: function (flag) { var perms = ["r", "w", "rw"][flag & 3]; if (flag & 512) { perms += "w" } return perms }, nodePermissions: function (node, perms) { if (FS.ignorePermissions) { return 0 } if (perms.indexOf("r") !== -1 && !(node.mode & 292)) { return 13 } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) { return 13 } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) { return 13 } return 0 }, mayLookup: function (dir) { var err = FS.nodePermissions(dir, "x"); if (err) return err; if (!dir.node_ops.lookup) return 13; return 0 }, mayCreate: function (dir, name) { try { var node = FS.lookupNode(dir, name); return 17 } catch (e) { } return FS.nodePermissions(dir, "wx") }, mayDelete: function (dir, name, isdir) { var node; try { node = FS.lookupNode(dir, name) } catch (e) { return e.errno } var err = FS.nodePermissions(dir, "wx"); if (err) { return err } if (isdir) { if (!FS.isDir(node.mode)) { return 20 } if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { return 16 } } else { if (FS.isDir(node.mode)) { return 21 } } return 0 }, mayOpen: function (node, flags) { if (!node) { return 2 } if (FS.isLink(node.mode)) { return 40 } else if (FS.isDir(node.mode)) { if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { return 21 } } return FS.nodePermissions(node, FS.flagsToPermissionString(flags)) }, MAX_OPEN_FDS: 4096, nextfd: function (fd_start, fd_end) { fd_start = fd_start || 0; fd_end = fd_end || FS.MAX_OPEN_FDS; for (var fd = fd_start; fd <= fd_end; fd++) { if (!FS.streams[fd]) { return fd } } throw new FS.ErrnoError(24) }, getStream: function (fd) { return FS.streams[fd] }, createStream: function (stream, fd_start, fd_end) { if (!FS.FSStream) { FS.FSStream = function () { }; FS.FSStream.prototype = {}; Object.defineProperties(FS.FSStream.prototype, { object: { get: function () { return this.node }, set: function (val) { this.node = val } }, isRead: { get: function () { return (this.flags & 2097155) !== 1 } }, isWrite: { get: function () { return (this.flags & 2097155) !== 0 } }, isAppend: { get: function () { return this.flags & 1024 } } }) } var newStream = new FS.FSStream; for (var p in stream) { newStream[p] = stream[p] } stream = newStream; var fd = FS.nextfd(fd_start, fd_end); stream.fd = fd; FS.streams[fd] = stream; return stream }, closeStream: function (fd) { FS.streams[fd] = null }, chrdev_stream_ops: { open: function (stream) { var device = FS.getDevice(stream.node.rdev); stream.stream_ops = device.stream_ops; if (stream.stream_ops.open) { stream.stream_ops.open(stream) } }, llseek: function () { throw new FS.ErrnoError(29) } }, major: function (dev) { return dev >> 8 }, minor: function (dev) { return dev & 255 }, makedev: function (ma, mi) { return ma << 8 | mi }, registerDevice: function (dev, ops) { FS.devices[dev] = { stream_ops: ops } }, getDevice: function (dev) { return FS.devices[dev] }, getMounts: function (mount) { var mounts = []; var check = [mount]; while (check.length) { var m = check.pop(); mounts.push(m); check.push.apply(check, m.mounts) } return mounts }, syncfs: function (populate, callback) { if (typeof populate === "function") { callback = populate; populate = false } FS.syncFSRequests++; if (FS.syncFSRequests > 1) { console.log("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work") } var mounts = FS.getMounts(FS.root.mount); var completed = 0; function doCallback(err) { FS.syncFSRequests--; return callback(err) } function done(err) { if (err) { if (!done.errored) { done.errored = true; return doCallback(err) } return } if (++completed >= mounts.length) { doCallback(null) } } mounts.forEach(function (mount) { if (!mount.type.syncfs) { return done(null) } mount.type.syncfs(mount, populate, done) }) }, mount: function (type, opts, mountpoint) { var root = mountpoint === "/"; var pseudo = !mountpoint; var node; if (root && FS.root) { throw new FS.ErrnoError(16) } else if (!root && !pseudo) { var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); mountpoint = lookup.path; node = lookup.node; if (FS.isMountpoint(node)) { throw new FS.ErrnoError(16) } if (!FS.isDir(node.mode)) { throw new FS.ErrnoError(20) } } var mount = { type: type, opts: opts, mountpoint: mountpoint, mounts: [] }; var mountRoot = type.mount(mount); mountRoot.mount = mount; mount.root = mountRoot; if (root) { FS.root = mountRoot } else if (node) { node.mounted = mount; if (node.mount) { node.mount.mounts.push(mount) } } return mountRoot }, unmount: function (mountpoint) { var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); if (!FS.isMountpoint(lookup.node)) { throw new FS.ErrnoError(22) } var node = lookup.node; var mount = node.mounted; var mounts = FS.getMounts(mount); Object.keys(FS.nameTable).forEach(function (hash) { var current = FS.nameTable[hash]; while (current) { var next = current.name_next; if (mounts.indexOf(current.mount) !== -1) { FS.destroyNode(current) } current = next } }); node.mounted = null; var idx = node.mount.mounts.indexOf(mount); node.mount.mounts.splice(idx, 1) }, lookup: function (parent, name) { return parent.node_ops.lookup(parent, name) }, mknod: function (path, mode, dev) { var lookup = FS.lookupPath(path, { parent: true }); var parent = lookup.node; var name = PATH.basename(path); if (!name || name === "." || name === "..") { throw new FS.ErrnoError(22) } var err = FS.mayCreate(parent, name); if (err) { throw new FS.ErrnoError(err) } if (!parent.node_ops.mknod) { throw new FS.ErrnoError(1) } return parent.node_ops.mknod(parent, name, mode, dev) }, create: function (path, mode) { mode = mode !== undefined ? mode : 438; mode &= 4095; mode |= 32768; return FS.mknod(path, mode, 0) }, mkdir: function (path, mode) { mode = mode !== undefined ? mode : 511; mode &= 511 | 512; mode |= 16384; return FS.mknod(path, mode, 0) }, mkdirTree: function (path, mode) { var dirs = path.split("/"); var d = ""; for (var i = 0; i < dirs.length; ++i) { if (!dirs[i]) continue; d += "/" + dirs[i]; try { FS.mkdir(d, mode) } catch (e) { if (e.errno != 17) throw e } } }, mkdev: function (path, mode, dev) { if (typeof dev === "undefined") { dev = mode; mode = 438 } mode |= 8192; return FS.mknod(path, mode, dev) }, symlink: function (oldpath, newpath) { if (!PATH_FS.resolve(oldpath)) { throw new FS.ErrnoError(2) } var lookup = FS.lookupPath(newpath, { parent: true }); var parent = lookup.node; if (!parent) { throw new FS.ErrnoError(2) } var newname = PATH.basename(newpath); var err = FS.mayCreate(parent, newname); if (err) { throw new FS.ErrnoError(err) } if (!parent.node_ops.symlink) { throw new FS.ErrnoError(1) } return parent.node_ops.symlink(parent, newname, oldpath) }, rename: function (old_path, new_path) { var old_dirname = PATH.dirname(old_path); var new_dirname = PATH.dirname(new_path); var old_name = PATH.basename(old_path); var new_name = PATH.basename(new_path); var lookup, old_dir, new_dir; try { lookup = FS.lookupPath(old_path, { parent: true }); old_dir = lookup.node; lookup = FS.lookupPath(new_path, { parent: true }); new_dir = lookup.node } catch (e) { throw new FS.ErrnoError(16) } if (!old_dir || !new_dir) throw new FS.ErrnoError(2); if (old_dir.mount !== new_dir.mount) { throw new FS.ErrnoError(18) } var old_node = FS.lookupNode(old_dir, old_name); var relative = PATH_FS.relative(old_path, new_dirname); if (relative.charAt(0) !== ".") { throw new FS.ErrnoError(22) } relative = PATH_FS.relative(new_path, old_dirname); if (relative.charAt(0) !== ".") { throw new FS.ErrnoError(39) } var new_node; try { new_node = FS.lookupNode(new_dir, new_name) } catch (e) { } if (old_node === new_node) { return } var isdir = FS.isDir(old_node.mode); var err = FS.mayDelete(old_dir, old_name, isdir); if (err) { throw new FS.ErrnoError(err) } err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); if (err) { throw new FS.ErrnoError(err) } if (!old_dir.node_ops.rename) { throw new FS.ErrnoError(1) } if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { throw new FS.ErrnoError(16) } if (new_dir !== old_dir) { err = FS.nodePermissions(old_dir, "w"); if (err) { throw new FS.ErrnoError(err) } } try { if (FS.trackingDelegate["willMovePath"]) { FS.trackingDelegate["willMovePath"](old_path, new_path) } } catch (e) { console.log("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) } FS.hashRemoveNode(old_node); try { old_dir.node_ops.rename(old_node, new_dir, new_name) } catch (e) { throw e } finally { FS.hashAddNode(old_node) } try { if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path) } catch (e) { console.log("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) } }, rmdir: function (path) { var lookup = FS.lookupPath(path, { parent: true }); var parent = lookup.node; var name = PATH.basename(path); var node = FS.lookupNode(parent, name); var err = FS.mayDelete(parent, name, true); if (err) { throw new FS.ErrnoError(err) } if (!parent.node_ops.rmdir) { throw new FS.ErrnoError(1) } if (FS.isMountpoint(node)) { throw new FS.ErrnoError(16) } try { if (FS.trackingDelegate["willDeletePath"]) { FS.trackingDelegate["willDeletePath"](path) } } catch (e) { console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) } parent.node_ops.rmdir(parent, name); FS.destroyNode(node); try { if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) } catch (e) { console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) } }, readdir: function (path) { var lookup = FS.lookupPath(path, { follow: true }); var node = lookup.node; if (!node.node_ops.readdir) { throw new FS.ErrnoError(20) } return node.node_ops.readdir(node) }, unlink: function (path) { var lookup = FS.lookupPath(path, { parent: true }); var parent = lookup.node; var name = PATH.basename(path); var node = FS.lookupNode(parent, name); var err = FS.mayDelete(parent, name, false); if (err) { throw new FS.ErrnoError(err) } if (!parent.node_ops.unlink) { throw new FS.ErrnoError(1) } if (FS.isMountpoint(node)) { throw new FS.ErrnoError(16) } try { if (FS.trackingDelegate["willDeletePath"]) { FS.trackingDelegate["willDeletePath"](path) } } catch (e) { console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) } parent.node_ops.unlink(parent, name); FS.destroyNode(node); try { if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) } catch (e) { console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) } }, readlink: function (path) { var lookup = FS.lookupPath(path); var link = lookup.node; if (!link) { throw new FS.ErrnoError(2) } if (!link.node_ops.readlink) { throw new FS.ErrnoError(22) } return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)) }, stat: function (path, dontFollow) { var lookup = FS.lookupPath(path, { follow: !dontFollow }); var node = lookup.node; if (!node) { throw new FS.ErrnoError(2) } if (!node.node_ops.getattr) { throw new FS.ErrnoError(1) } return node.node_ops.getattr(node) }, lstat: function (path) { return FS.stat(path, true) }, chmod: function (path, mode, dontFollow) { var node; if (typeof path === "string") { var lookup = FS.lookupPath(path, { follow: !dontFollow }); node = lookup.node } else { node = path } if (!node.node_ops.setattr) { throw new FS.ErrnoError(1) } node.node_ops.setattr(node, { mode: mode & 4095 | node.mode & ~4095, timestamp: Date.now() }) }, lchmod: function (path, mode) { FS.chmod(path, mode, true) }, fchmod: function (fd, mode) { var stream = FS.getStream(fd); if (!stream) { throw new FS.ErrnoError(9) } FS.chmod(stream.node, mode) }, chown: function (path, uid, gid, dontFollow) { var node; if (typeof path === "string") { var lookup = FS.lookupPath(path, { follow: !dontFollow }); node = lookup.node } else { node = path } if (!node.node_ops.setattr) { throw new FS.ErrnoError(1) } node.node_ops.setattr(node, { timestamp: Date.now() }) }, lchown: function (path, uid, gid) { FS.chown(path, uid, gid, true) }, fchown: function (fd, uid, gid) { var stream = FS.getStream(fd); if (!stream) { throw new FS.ErrnoError(9) } FS.chown(stream.node, uid, gid) }, truncate: function (path, len) { if (len < 0) { throw new FS.ErrnoError(22) } var node; if (typeof path === "string") { var lookup = FS.lookupPath(path, { follow: true }); node = lookup.node } else { node = path } if (!node.node_ops.setattr) { throw new FS.ErrnoError(1) } if (FS.isDir(node.mode)) { throw new FS.ErrnoError(21) } if (!FS.isFile(node.mode)) { throw new FS.ErrnoError(22) } var err = FS.nodePermissions(node, "w"); if (err) { throw new FS.ErrnoError(err) } node.node_ops.setattr(node, { size: len, timestamp: Date.now() }) }, ftruncate: function (fd, len) { var stream = FS.getStream(fd); if (!stream) { throw new FS.ErrnoError(9) } if ((stream.flags & 2097155) === 0) { throw new FS.ErrnoError(22) } FS.truncate(stream.node, len) }, utime: function (path, atime, mtime) { var lookup = FS.lookupPath(path, { follow: true }); var node = lookup.node; node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }) }, open: function (path, flags, mode, fd_start, fd_end) { if (path === "") { throw new FS.ErrnoError(2) } flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; mode = typeof mode === "undefined" ? 438 : mode; if (flags & 64) { mode = mode & 4095 | 32768 } else { mode = 0 } var node; if (typeof path === "object") { node = path } else { path = PATH.normalize(path); try { var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); node = lookup.node } catch (e) { } } var created = false; if (flags & 64) { if (node) { if (flags & 128) { throw new FS.ErrnoError(17) } } else { node = FS.mknod(path, mode, 0); created = true } } if (!node) { throw new FS.ErrnoError(2) } if (FS.isChrdev(node.mode)) { flags &= ~512 } if (flags & 65536 && !FS.isDir(node.mode)) { throw new FS.ErrnoError(20) } if (!created) { var err = FS.mayOpen(node, flags); if (err) { throw new FS.ErrnoError(err) } } if (flags & 512) { FS.truncate(node, 0) } flags &= ~(128 | 512); var stream = FS.createStream({ node: node, path: FS.getPath(node), flags: flags, seekable: true, position: 0, stream_ops: node.stream_ops, ungotten: [], error: false }, fd_start, fd_end); if (stream.stream_ops.open) { stream.stream_ops.open(stream) } if (Module["logReadFiles"] && !(flags & 1)) { if (!FS.readFiles) FS.readFiles = {}; if (!(path in FS.readFiles)) { FS.readFiles[path] = 1; console.log("FS.trackingDelegate error on read file: " + path) } } try { if (FS.trackingDelegate["onOpenFile"]) { var trackingFlags = 0; if ((flags & 2097155) !== 1) { trackingFlags |= FS.tracking.openFlags.READ } if ((flags & 2097155) !== 0) { trackingFlags |= FS.tracking.openFlags.WRITE } FS.trackingDelegate["onOpenFile"](path, trackingFlags) } } catch (e) { console.log("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message) } return stream }, close: function (stream) { if (FS.isClosed(stream)) { throw new FS.ErrnoError(9) } if (stream.getdents) stream.getdents = null; try { if (stream.stream_ops.close) { stream.stream_ops.close(stream) } } catch (e) { throw e } finally { FS.closeStream(stream.fd) } stream.fd = null }, isClosed: function (stream) { return stream.fd === null }, llseek: function (stream, offset, whence) { if (FS.isClosed(stream)) { throw new FS.ErrnoError(9) } if (!stream.seekable || !stream.stream_ops.llseek) { throw new FS.ErrnoError(29) } if (whence != 0 && whence != 1 && whence != 2) { throw new FS.ErrnoError(22) } stream.position = stream.stream_ops.llseek(stream, offset, whence); stream.ungotten = []; return stream.position }, read: function (stream, buffer, offset, length, position) { if (length < 0 || position < 0) { throw new FS.ErrnoError(22) } if (FS.isClosed(stream)) { throw new FS.ErrnoError(9) } if ((stream.flags & 2097155) === 1) { throw new FS.ErrnoError(9) } if (FS.isDir(stream.node.mode)) { throw new FS.ErrnoError(21) } if (!stream.stream_ops.read) { throw new FS.ErrnoError(22) } var seeking = typeof position !== "undefined"; if (!seeking) { position = stream.position } else if (!stream.seekable) { throw new FS.ErrnoError(29) } var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); if (!seeking) stream.position += bytesRead; return bytesRead }, write: function (stream, buffer, offset, length, position, canOwn) { if (length < 0 || position < 0) { throw new FS.ErrnoError(22) } if (FS.isClosed(stream)) { throw new FS.ErrnoError(9) } if ((stream.flags & 2097155) === 0) { throw new FS.ErrnoError(9) } if (FS.isDir(stream.node.mode)) { throw new FS.ErrnoError(21) } if (!stream.stream_ops.write) { throw new FS.ErrnoError(22) } if (stream.flags & 1024) { FS.llseek(stream, 0, 2) } var seeking = typeof position !== "undefined"; if (!seeking) { position = stream.position } else if (!stream.seekable) { throw new FS.ErrnoError(29) } var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); if (!seeking) stream.position += bytesWritten; try { if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path) } catch (e) { console.log("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message) } return bytesWritten }, allocate: function (stream, offset, length) { if (FS.isClosed(stream)) { throw new FS.ErrnoError(9) } if (offset < 0 || length <= 0) { throw new FS.ErrnoError(22) } if ((stream.flags & 2097155) === 0) { throw new FS.ErrnoError(9) } if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { throw new FS.ErrnoError(19) } if (!stream.stream_ops.allocate) { throw new FS.ErrnoError(95) } stream.stream_ops.allocate(stream, offset, length) }, mmap: function (stream, buffer, offset, length, position, prot, flags) { if ((stream.flags & 2097155) === 1) { throw new FS.ErrnoError(13) } if (!stream.stream_ops.mmap) { throw new FS.ErrnoError(19) } return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags) }, msync: function (stream, buffer, offset, length, mmapFlags) { if (!stream || !stream.stream_ops.msync) { return 0 } return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags) }, munmap: function (stream) { return 0 }, ioctl: function (stream, cmd, arg) { if (!stream.stream_ops.ioctl) { throw new FS.ErrnoError(25) } return stream.stream_ops.ioctl(stream, cmd, arg) }, readFile: function (path, opts) { opts = opts || {}; opts.flags = opts.flags || "r"; opts.encoding = opts.encoding || "binary"; if (opts.encoding !== "utf8" && opts.encoding !== "binary") { throw new Error('Invalid encoding type "' + opts.encoding + '"') } var ret; var stream = FS.open(path, opts.flags); var stat = FS.stat(path); var length = stat.size; var buf = new Uint8Array(length); FS.read(stream, buf, 0, length, 0); if (opts.encoding === "utf8") { ret = UTF8ArrayToString(buf, 0) } else if (opts.encoding === "binary") { ret = buf } FS.close(stream); return ret }, writeFile: function (path, data, opts) { opts = opts || {}; opts.flags = opts.flags || "w"; var stream = FS.open(path, opts.flags, opts.mode); if (typeof data === "string") { var buf = new Uint8Array(lengthBytesUTF8(data) + 1); var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn) } else if (ArrayBuffer.isView(data)) { FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn) } else { throw new Error("Unsupported data type") } FS.close(stream) }, cwd: function () { return FS.currentPath }, chdir: function (path) { var lookup = FS.lookupPath(path, { follow: true }); if (lookup.node === null) { throw new FS.ErrnoError(2) } if (!FS.isDir(lookup.node.mode)) { throw new FS.ErrnoError(20) } var err = FS.nodePermissions(lookup.node, "x"); if (err) { throw new FS.ErrnoError(err) } FS.currentPath = lookup.path }, createDefaultDirectories: function () { FS.mkdir("/tmp"); FS.mkdir("/home"); FS.mkdir("/home/web_user") }, createDefaultDevices: function () { FS.mkdir("/dev"); FS.registerDevice(FS.makedev(1, 3), { read: function () { return 0 }, write: function (stream, buffer, offset, length, pos) { return length } }); FS.mkdev("/dev/null", FS.makedev(1, 3)); TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); FS.mkdev("/dev/tty", FS.makedev(5, 0)); FS.mkdev("/dev/tty1", FS.makedev(6, 0)); var random_device; if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") { var randomBuffer = new Uint8Array(1); random_device = function () { crypto.getRandomValues(randomBuffer); return randomBuffer[0] } } else if (ENVIRONMENT_IS_NODE) { try { var crypto_module = require("crypto"); random_device = function () { return crypto_module["randomBytes"](1)[0] } } catch (e) { } } else { } if (!random_device) { random_device = function () { abort("random_device") } } FS.createDevice("/dev", "random", random_device); FS.createDevice("/dev", "urandom", random_device); FS.mkdir("/dev/shm"); FS.mkdir("/dev/shm/tmp") }, createSpecialDirectories: function () { FS.mkdir("/proc"); FS.mkdir("/proc/self"); FS.mkdir("/proc/self/fd"); FS.mount({ mount: function () { var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73); node.node_ops = { lookup: function (parent, name) { var fd = +name; var stream = FS.getStream(fd); if (!stream) throw new FS.ErrnoError(9); var ret = { parent: null, mount: { mountpoint: "fake" }, node_ops: { readlink: function () { return stream.path } } }; ret.parent = ret; return ret } }; return node } }, {}, "/proc/self/fd") }, createStandardStreams: function () { if (Module["stdin"]) { FS.createDevice("/dev", "stdin", Module["stdin"]) } else { FS.symlink("/dev/tty", "/dev/stdin") } if (Module["stdout"]) { FS.createDevice("/dev", "stdout", null, Module["stdout"]) } else { FS.symlink("/dev/tty", "/dev/stdout") } if (Module["stderr"]) { FS.createDevice("/dev", "stderr", null, Module["stderr"]) } else { FS.symlink("/dev/tty1", "/dev/stderr") } var stdin = FS.open("/dev/stdin", "r"); var stdout = FS.open("/dev/stdout", "w"); var stderr = FS.open("/dev/stderr", "w") }, ensureErrnoError: function () { if (FS.ErrnoError) return; FS.ErrnoError = function ErrnoError(errno, node) { this.node = node; this.setErrno = function (errno) { this.errno = errno }; this.setErrno(errno); this.message = "FS error"; if (this.stack) Object.defineProperty(this, "stack", { value: (new Error).stack, writable: true }) }; FS.ErrnoError.prototype = new Error; FS.ErrnoError.prototype.constructor = FS.ErrnoError;[2].forEach(function (code) { FS.genericErrors[code] = new FS.ErrnoError(code); FS.genericErrors[code].stack = "" }) }, staticInit: function () { FS.ensureErrnoError(); FS.nameTable = new Array(4096); FS.mount(MEMFS, {}, "/"); FS.createDefaultDirectories(); FS.createDefaultDevices(); FS.createSpecialDirectories(); FS.filesystems = { "MEMFS": MEMFS, "IDBFS": IDBFS, "NODEFS": NODEFS, "WORKERFS": WORKERFS } }, init: function (input, output, error) { FS.init.initialized = true; FS.ensureErrnoError(); Module["stdin"] = input || Module["stdin"]; Module["stdout"] = output || Module["stdout"]; Module["stderr"] = error || Module["stderr"]; FS.createStandardStreams() }, quit: function () { FS.init.initialized = false; var fflush = Module["_fflush"]; if (fflush) fflush(0); for (var i = 0; i < FS.streams.length; i++) { var stream = FS.streams[i]; if (!stream) { continue } FS.close(stream) } }, getMode: function (canRead, canWrite) { var mode = 0; if (canRead) mode |= 292 | 73; if (canWrite) mode |= 146; return mode }, joinPath: function (parts, forceRelative) { var path = PATH.join.apply(null, parts); if (forceRelative && path[0] == "/") path = path.substr(1); return path }, absolutePath: function (relative, base) { return PATH_FS.resolve(base, relative) }, standardizePath: function (path) { return PATH.normalize(path) }, findObject: function (path, dontResolveLastLink) { var ret = FS.analyzePath(path, dontResolveLastLink); if (ret.exists) { return ret.object } else { ___setErrNo(ret.error); return null } }, analyzePath: function (path, dontResolveLastLink) { try { var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); path = lookup.path } catch (e) { } var ret = { isRoot: false, exists: false, error: 0, name: null, path: null, object: null, parentExists: false, parentPath: null, parentObject: null }; try { var lookup = FS.lookupPath(path, { parent: true }); ret.parentExists = true; ret.parentPath = lookup.path; ret.parentObject = lookup.node; ret.name = PATH.basename(path); lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); ret.exists = true; ret.path = lookup.path; ret.object = lookup.node; ret.name = lookup.node.name; ret.isRoot = lookup.path === "/" } catch (e) { ret.error = e.errno } return ret }, createFolder: function (parent, name, canRead, canWrite) { var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); var mode = FS.getMode(canRead, canWrite); return FS.mkdir(path, mode) }, createPath: function (parent, path, canRead, canWrite) { parent = typeof parent === "string" ? parent : FS.getPath(parent); var parts = path.split("/").reverse(); while (parts.length) { var part = parts.pop(); if (!part) continue; var current = PATH.join2(parent, part); try { FS.mkdir(current) } catch (e) { } parent = current } return current }, createFile: function (parent, name, properties, canRead, canWrite) { var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); var mode = FS.getMode(canRead, canWrite); return FS.create(path, mode) }, createDataFile: function (parent, name, data, canRead, canWrite, canOwn) { var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent; var mode = FS.getMode(canRead, canWrite); var node = FS.create(path, mode); if (data) { if (typeof data === "string") { var arr = new Array(data.length); for (var i = 0, len = data.length; i < len; ++i)arr[i] = data.charCodeAt(i); data = arr } FS.chmod(node, mode | 146); var stream = FS.open(node, "w"); FS.write(stream, data, 0, data.length, 0, canOwn); FS.close(stream); FS.chmod(node, mode) } return node }, createDevice: function (parent, name, input, output) { var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); var mode = FS.getMode(!!input, !!output); if (!FS.createDevice.major) FS.createDevice.major = 64; var dev = FS.makedev(FS.createDevice.major++, 0); FS.registerDevice(dev, { open: function (stream) { stream.seekable = false }, close: function (stream) { if (output && output.buffer && output.buffer.length) { output(10) } }, read: function (stream, buffer, offset, length, pos) { var bytesRead = 0; for (var i = 0; i < length; i++) { var result; try { result = input() } catch (e) { throw new FS.ErrnoError(5) } if (result === undefined && bytesRead === 0) { throw new FS.ErrnoError(11) } if (result === null || result === undefined) break; bytesRead++; buffer[offset + i] = result } if (bytesRead) { stream.node.timestamp = Date.now() } return bytesRead }, write: function (stream, buffer, offset, length, pos) { for (var i = 0; i < length; i++) { try { output(buffer[offset + i]) } catch (e) { throw new FS.ErrnoError(5) } } if (length) { stream.node.timestamp = Date.now() } return i } }); return FS.mkdev(path, mode, dev) }, createLink: function (parent, name, target, canRead, canWrite) { var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); return FS.symlink(target, path) }, forceLoadFile: function (obj) { if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; var success = true; if (typeof XMLHttpRequest !== "undefined") { throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.") } else if (Module["read"]) { try { obj.contents = intArrayFromString(Module["read"](obj.url), true); obj.usedBytes = obj.contents.length } catch (e) { success = false } } else { throw new Error("Cannot load without read() or XMLHttpRequest.") } if (!success) ___setErrNo(5); return success }, createLazyFile: function (parent, name, url, canRead, canWrite) { function LazyUint8Array() { this.lengthKnown = false; this.chunks = [] } LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { if (idx > this.length - 1 || idx < 0) { return undefined } var chunkOffset = idx % this.chunkSize; var chunkNum = idx / this.chunkSize | 0; return this.getter(chunkNum)[chunkOffset] }; LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { this.getter = getter }; LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { var xhr = new XMLHttpRequest; xhr.open("HEAD", url, false); xhr.send(null); if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); var datalength = Number(xhr.getResponseHeader("Content-length")); var header; var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; var chunkSize = 1024 * 1024; if (!hasByteServing) chunkSize = datalength; var doXHR = function (from, to) { if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!"); var xhr = new XMLHttpRequest; xhr.open("GET", url, false); if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; if (xhr.overrideMimeType) { xhr.overrideMimeType("text/plain; charset=x-user-defined") } xhr.send(null); if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); if (xhr.response !== undefined) { return new Uint8Array(xhr.response || []) } else { return intArrayFromString(xhr.responseText || "", true) } }; var lazyArray = this; lazyArray.setDataGetter(function (chunkNum) { var start = chunkNum * chunkSize; var end = (chunkNum + 1) * chunkSize - 1; end = Math.min(end, datalength - 1); if (typeof lazyArray.chunks[chunkNum] === "undefined") { lazyArray.chunks[chunkNum] = doXHR(start, end) } if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!"); return lazyArray.chunks[chunkNum] }); if (usesGzip || !datalength) { chunkSize = datalength = 1; datalength = this.getter(0).length; chunkSize = datalength; console.log("LazyFiles on gzip forces download of the whole file when length is accessed") } this._length = datalength; this._chunkSize = chunkSize; this.lengthKnown = true }; if (typeof XMLHttpRequest !== "undefined") { if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; var lazyArray = new LazyUint8Array; Object.defineProperties(lazyArray, { length: { get: function () { if (!this.lengthKnown) { this.cacheLength() } return this._length } }, chunkSize: { get: function () { if (!this.lengthKnown) { this.cacheLength() } return this._chunkSize } } }); var properties = { isDevice: false, contents: lazyArray } } else { var properties = { isDevice: false, url: url } } var node = FS.createFile(parent, name, properties, canRead, canWrite); if (properties.contents) { node.contents = properties.contents } else if (properties.url) { node.contents = null; node.url = properties.url } Object.defineProperties(node, { usedBytes: { get: function () { return this.contents.length } } }); var stream_ops = {}; var keys = Object.keys(node.stream_ops); keys.forEach(function (key) { var fn = node.stream_ops[key]; stream_ops[key] = function forceLoadLazyFile() { if (!FS.forceLoadFile(node)) { throw new FS.ErrnoError(5) } return fn.apply(null, arguments) } }); stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { if (!FS.forceLoadFile(node)) { throw new FS.ErrnoError(5) } var contents = stream.node.contents; if (position >= contents.length) return 0; var size = Math.min(contents.length - position, length); if (contents.slice) { for (var i = 0; i < size; i++) { buffer[offset + i] = contents[position + i] } } else { for (var i = 0; i < size; i++) { buffer[offset + i] = contents.get(position + i) } } return size }; node.stream_ops = stream_ops; return node }, createPreloadedFile: function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { Browser.init(); var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; var dep = getUniqueRunDependency("cp " + fullname); function processData(byteArray) { function finish(byteArray) { if (preFinish) preFinish(); if (!dontCreateFile) { FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn) } if (onload) onload(); removeRunDependency(dep) } var handled = false; Module["preloadPlugins"].forEach(function (plugin) { if (handled) return; if (plugin["canHandle"](fullname)) { plugin["handle"](byteArray, fullname, finish, function () { if (onerror) onerror(); removeRunDependency(dep) }); handled = true } }); if (!handled) finish(byteArray) } addRunDependency(dep); if (typeof url == "string") { Browser.asyncLoad(url, function (byteArray) { processData(byteArray) }, onerror) } else { processData(url) } }, indexedDB: function () { return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB }, DB_NAME: function () { return "EM_FS_" + window.location.pathname }, DB_VERSION: 20, DB_STORE_NAME: "FILE_DATA", saveFilesToDB: function (paths, onload, onerror) { onload = onload || function () { }; onerror = onerror || function () { }; var indexedDB = FS.indexedDB(); try { var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) } catch (e) { return onerror(e) } openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { console.log("creating db"); var db = openRequest.result; db.createObjectStore(FS.DB_STORE_NAME) }; openRequest.onsuccess = function openRequest_onsuccess() { var db = openRequest.result; var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); var files = transaction.objectStore(FS.DB_STORE_NAME); var ok = 0, fail = 0, total = paths.length; function finish() { if (fail == 0) onload(); else onerror() } paths.forEach(function (path) { var putRequest = files.put(FS.analyzePath(path).object.contents, path); putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() } }); transaction.onerror = onerror }; openRequest.onerror = onerror }, loadFilesFromDB: function (paths, onload, onerror) { onload = onload || function () { }; onerror = onerror || function () { }; var indexedDB = FS.indexedDB(); try { var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) } catch (e) { return onerror(e) } openRequest.onupgradeneeded = onerror; openRequest.onsuccess = function openRequest_onsuccess() { var db = openRequest.result; try { var transaction = db.transaction([FS.DB_STORE_NAME], "readonly") } catch (e) { onerror(e); return } var files = transaction.objectStore(FS.DB_STORE_NAME); var ok = 0, fail = 0, total = paths.length; function finish() { if (fail == 0) onload(); else onerror() } paths.forEach(function (path) { var getRequest = files.get(path); getRequest.onsuccess = function getRequest_onsuccess() { if (FS.analyzePath(path).exists) { FS.unlink(path) } FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); ok++; if (ok + fail == total) finish() }; getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() } }); transaction.onerror = onerror }; openRequest.onerror = onerror } }; var SYSCALLS = { DEFAULT_POLLMASK: 5, mappings: {}, umask: 511, calculateAt: function (dirfd, path) { if (path[0] !== "/") { var dir; if (dirfd === -100) { dir = FS.cwd() } else { var dirstream = FS.getStream(dirfd); if (!dirstream) throw new FS.ErrnoError(9); dir = dirstream.path } path = PATH.join2(dir, path) } return path }, doStat: function (func, path, buf) { try { var stat = func(path) } catch (e) { if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { return -20 } throw e } HEAP32[buf >> 2] = stat.dev; HEAP32[buf + 4 >> 2] = 0; HEAP32[buf + 8 >> 2] = stat.ino; HEAP32[buf + 12 >> 2] = stat.mode; HEAP32[buf + 16 >> 2] = stat.nlink; HEAP32[buf + 20 >> 2] = stat.uid; HEAP32[buf + 24 >> 2] = stat.gid; HEAP32[buf + 28 >> 2] = stat.rdev; HEAP32[buf + 32 >> 2] = 0; tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1]; HEAP32[buf + 48 >> 2] = 4096; HEAP32[buf + 52 >> 2] = stat.blocks; HEAP32[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0; HEAP32[buf + 60 >> 2] = 0; HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0; HEAP32[buf + 68 >> 2] = 0; HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0; HEAP32[buf + 76 >> 2] = 0; tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 80 >> 2] = tempI64[0], HEAP32[buf + 84 >> 2] = tempI64[1]; return 0 }, doMsync: function (addr, stream, len, flags) { var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); FS.msync(stream, buffer, 0, len, flags) }, doMkdir: function (path, mode) { path = PATH.normalize(path); if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); FS.mkdir(path, mode, 0); return 0 }, doMknod: function (path, mode, dev) { switch (mode & 61440) { case 32768: case 8192: case 24576: case 4096: case 49152: break; default: return -22 }FS.mknod(path, mode, dev); return 0 }, doReadlink: function (path, buf, bufsize) { if (bufsize <= 0) return -22; var ret = FS.readlink(path); var len = Math.min(bufsize, lengthBytesUTF8(ret)); var endChar = HEAP8[buf + len]; stringToUTF8(ret, buf, bufsize + 1); HEAP8[buf + len] = endChar; return len }, doAccess: function (path, amode) { if (amode & ~7) { return -22 } var node; var lookup = FS.lookupPath(path, { follow: true }); node = lookup.node; var perms = ""; if (amode & 4) perms += "r"; if (amode & 2) perms += "w"; if (amode & 1) perms += "x"; if (perms && FS.nodePermissions(node, perms)) { return -13 } return 0 }, doDup: function (path, flags, suggestFD) { var suggest = FS.getStream(suggestFD); if (suggest) FS.close(suggest); return FS.open(path, flags, 0, suggestFD, suggestFD).fd }, doReadv: function (stream, iov, iovcnt, offset) { var ret = 0; for (var i = 0; i < iovcnt; i++) { var ptr = HEAP32[iov + i * 8 >> 2]; var len = HEAP32[iov + (i * 8 + 4) >> 2]; var curr = FS.read(stream, HEAP8, ptr, len, offset); if (curr < 0) return -1; ret += curr; if (curr < len) break } return ret }, doWritev: function (stream, iov, iovcnt, offset) { var ret = 0; for (var i = 0; i < iovcnt; i++) { var ptr = HEAP32[iov + i * 8 >> 2]; var len = HEAP32[iov + (i * 8 + 4) >> 2]; var curr = FS.write(stream, HEAP8, ptr, len, offset); if (curr < 0) return -1; ret += curr } return ret }, varargs: 0, get: function (varargs) { SYSCALLS.varargs += 4; var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; return ret }, getStr: function () { var ret = UTF8ToString(SYSCALLS.get()); return ret }, getStreamFromFD: function () { var stream = FS.getStream(SYSCALLS.get()); if (!stream) throw new FS.ErrnoError(9); return stream }, get64: function () { var low = SYSCALLS.get(), high = SYSCALLS.get(); return low }, getZero: function () { SYSCALLS.get() } }; function ___syscall140(which, varargs) { SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); if (!(offset_high == -1 && offset_low < 0) && !(offset_high == 0 && offset_low >= 0)) { return -75 } var offset = offset_low; FS.llseek(stream, offset, whence); tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[result >> 2] = tempI64[0], HEAP32[result + 4 >> 2] = tempI64[1]; if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; return 0 } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno } } function ___syscall146(which, varargs) { SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); return SYSCALLS.doWritev(stream, iov, iovcnt) } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno } } function ___syscall168(which, varargs) { SYSCALLS.varargs = varargs; try { var fds = SYSCALLS.get(), nfds = SYSCALLS.get(), timeout = SYSCALLS.get(); var nonzero = 0; for (var i = 0; i < nfds; i++) { var pollfd = fds + 8 * i; var fd = HEAP32[pollfd >> 2]; var events = HEAP16[pollfd + 4 >> 1]; var mask = 32; var stream = FS.getStream(fd); if (stream) { mask = SYSCALLS.DEFAULT_POLLMASK; if (stream.stream_ops.poll) { mask = stream.stream_ops.poll(stream) } } mask &= events | 8 | 16; if (mask) nonzero++; HEAP16[pollfd + 6 >> 1] = mask } return nonzero } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno } } function ___syscall195(which, varargs) { SYSCALLS.varargs = varargs; try { var path = SYSCALLS.getStr(), buf = SYSCALLS.get(); return SYSCALLS.doStat(FS.stat, path, buf) } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno } } function ___syscall196(which, varargs) { SYSCALLS.varargs = varargs; try { var path = SYSCALLS.getStr(), buf = SYSCALLS.get(); return SYSCALLS.doStat(FS.lstat, path, buf) } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno } } function ___syscall197(which, varargs) { SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(); return SYSCALLS.doStat(FS.stat, stream.path, buf) } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno } } function ___syscall221(which, varargs) { SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); switch (cmd) { case 0: { var arg = SYSCALLS.get(); if (arg < 0) { return -22 } var newStream; newStream = FS.open(stream.path, stream.flags, 0, arg); return newStream.fd } case 1: case 2: return 0; case 3: return stream.flags; case 4: { var arg = SYSCALLS.get(); stream.flags |= arg; return 0 } case 12: { var arg = SYSCALLS.get(); var offset = 0; HEAP16[arg + offset >> 1] = 2; return 0 } case 13: case 14: return 0; case 16: case 8: return -22; case 9: ___setErrNo(22); return -1; default: { return -22 } } } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno } } function ___syscall3(which, varargs) { SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), count = SYSCALLS.get(); return FS.read(stream, HEAP8, buf, count) } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno } } function ___syscall4(which, varargs) { SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), count = SYSCALLS.get(); return FS.write(stream, HEAP8, buf, count) } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno } } function ___syscall41(which, varargs) { SYSCALLS.varargs = varargs; try { var old = SYSCALLS.getStreamFromFD(); return FS.open(old.path, old.flags, 0).fd } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno } } var ERRNO_CODES = { EPERM: 1, ENOENT: 2, ESRCH: 3, EINTR: 4, EIO: 5, ENXIO: 6, E2BIG: 7, ENOEXEC: 8, EBADF: 9, ECHILD: 10, EAGAIN: 11, EWOULDBLOCK: 11, ENOMEM: 12, EACCES: 13, EFAULT: 14, ENOTBLK: 15, EBUSY: 16, EEXIST: 17, EXDEV: 18, ENODEV: 19, ENOTDIR: 20, EISDIR: 21, EINVAL: 22, ENFILE: 23, EMFILE: 24, ENOTTY: 25, ETXTBSY: 26, EFBIG: 27, ENOSPC: 28, ESPIPE: 29, EROFS: 30, EMLINK: 31, EPIPE: 32, EDOM: 33, ERANGE: 34, ENOMSG: 42, EIDRM: 43, ECHRNG: 44, EL2NSYNC: 45, EL3HLT: 46, EL3RST: 47, ELNRNG: 48, EUNATCH: 49, ENOCSI: 50, EL2HLT: 51, EDEADLK: 35, ENOLCK: 37, EBADE: 52, EBADR: 53, EXFULL: 54, ENOANO: 55, EBADRQC: 56, EBADSLT: 57, EDEADLOCK: 35, EBFONT: 59, ENOSTR: 60, ENODATA: 61, ETIME: 62, ENOSR: 63, ENONET: 64, ENOPKG: 65, EREMOTE: 66, ENOLINK: 67, EADV: 68, ESRMNT: 69, ECOMM: 70, EPROTO: 71, EMULTIHOP: 72, EDOTDOT: 73, EBADMSG: 74, ENOTUNIQ: 76, EBADFD: 77, EREMCHG: 78, ELIBACC: 79, ELIBBAD: 80, ELIBSCN: 81, ELIBMAX: 82, ELIBEXEC: 83, ENOSYS: 38, ENOTEMPTY: 39, ENAMETOOLONG: 36, ELOOP: 40, EOPNOTSUPP: 95, EPFNOSUPPORT: 96, ECONNRESET: 104, ENOBUFS: 105, EAFNOSUPPORT: 97, EPROTOTYPE: 91, ENOTSOCK: 88, ENOPROTOOPT: 92, ESHUTDOWN: 108, ECONNREFUSED: 111, EADDRINUSE: 98, ECONNABORTED: 103, ENETUNREACH: 101, ENETDOWN: 100, ETIMEDOUT: 110, EHOSTDOWN: 112, EHOSTUNREACH: 113, EINPROGRESS: 115, EALREADY: 114, EDESTADDRREQ: 89, EMSGSIZE: 90, EPROTONOSUPPORT: 93, ESOCKTNOSUPPORT: 94, EADDRNOTAVAIL: 99, ENETRESET: 102, EISCONN: 106, ENOTCONN: 107, ETOOMANYREFS: 109, EUSERS: 87, EDQUOT: 122, ESTALE: 116, ENOTSUP: 95, ENOMEDIUM: 123, EILSEQ: 84, EOVERFLOW: 75, ECANCELED: 125, ENOTRECOVERABLE: 131, EOWNERDEAD: 130, ESTRPIPE: 86 }; var PIPEFS = { BUCKET_BUFFER_SIZE: 8192, mount: function (mount) { return FS.createNode(null, "/", 16384 | 511, 0) }, createPipe: function () { var pipe = { buckets: [] }; pipe.buckets.push({ buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), offset: 0, roffset: 0 }); var rName = PIPEFS.nextname(); var wName = PIPEFS.nextname(); var rNode = FS.createNode(PIPEFS.root, rName, 4096, 0); var wNode = FS.createNode(PIPEFS.root, wName, 4096, 0); rNode.pipe = pipe; wNode.pipe = pipe; var readableStream = FS.createStream({ path: rName, node: rNode, flags: FS.modeStringToFlags("r"), seekable: false, stream_ops: PIPEFS.stream_ops }); rNode.stream = readableStream; var writableStream = FS.createStream({ path: wName, node: wNode, flags: FS.modeStringToFlags("w"), seekable: false, stream_ops: PIPEFS.stream_ops }); wNode.stream = writableStream; return { readable_fd: readableStream.fd, writable_fd: writableStream.fd } }, stream_ops: { poll: function (stream) { var pipe = stream.node.pipe; if ((stream.flags & 2097155) === 1) { return 256 | 4 } else { if (pipe.buckets.length > 0) { for (var i = 0; i < pipe.buckets.length; i++) { var bucket = pipe.buckets[i]; if (bucket.offset - bucket.roffset > 0) { return 64 | 1 } } } } return 0 }, ioctl: function (stream, request, varargs) { return ERRNO_CODES.EINVAL }, read: function (stream, buffer, offset, length, position) { var pipe = stream.node.pipe; var currentLength = 0; for (var i = 0; i < pipe.buckets.length; i++) { var bucket = pipe.buckets[i]; currentLength += bucket.offset - bucket.roffset } assert(buffer instanceof ArrayBuffer || ArrayBuffer.isView(buffer)); var data = buffer.subarray(offset, offset + length); if (length <= 0) { return 0 } if (currentLength == 0) { throw new FS.ErrnoError(ERRNO_CODES.EAGAIN) } var toRead = Math.min(currentLength, length); var totalRead = toRead; var toRemove = 0; for (var i = 0; i < pipe.buckets.length; i++) { var currBucket = pipe.buckets[i]; var bucketSize = currBucket.offset - currBucket.roffset; if (toRead <= bucketSize) { var tmpSlice = currBucket.buffer.subarray(currBucket.roffset, currBucket.offset); if (toRead < bucketSize) { tmpSlice = tmpSlice.subarray(0, toRead); currBucket.roffset += toRead } else { toRemove++ } data.set(tmpSlice); break } else { var tmpSlice = currBucket.buffer.subarray(currBucket.roffset, currBucket.offset); data.set(tmpSlice); data = data.subarray(tmpSlice.byteLength); toRead -= tmpSlice.byteLength; toRemove++ } } if (toRemove && toRemove == pipe.buckets.length) { toRemove--; pipe.buckets[toRemove].offset = 0; pipe.buckets[toRemove].roffset = 0 } pipe.buckets.splice(0, toRemove); return totalRead }, write: function (stream, buffer, offset, length, position) { var pipe = stream.node.pipe; assert(buffer instanceof ArrayBuffer || ArrayBuffer.isView(buffer)); var data = buffer.subarray(offset, offset + length); var dataLen = data.byteLength; if (dataLen <= 0) { return 0 } var currBucket = null; if (pipe.buckets.length == 0) { currBucket = { buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), offset: 0, roffset: 0 }; pipe.buckets.push(currBucket) } else { currBucket = pipe.buckets[pipe.buckets.length - 1] } assert(currBucket.offset <= PIPEFS.BUCKET_BUFFER_SIZE); var freeBytesInCurrBuffer = PIPEFS.BUCKET_BUFFER_SIZE - currBucket.offset; if (freeBytesInCurrBuffer >= dataLen) { currBucket.buffer.set(data, currBucket.offset); currBucket.offset += dataLen; return dataLen } else if (freeBytesInCurrBuffer > 0) { currBucket.buffer.set(data.subarray(0, freeBytesInCurrBuffer), currBucket.offset); currBucket.offset += freeBytesInCurrBuffer; data = data.subarray(freeBytesInCurrBuffer, data.byteLength) } var numBuckets = data.byteLength / PIPEFS.BUCKET_BUFFER_SIZE | 0; var remElements = data.byteLength % PIPEFS.BUCKET_BUFFER_SIZE; for (var i = 0; i < numBuckets; i++) { var newBucket = { buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), offset: PIPEFS.BUCKET_BUFFER_SIZE, roffset: 0 }; pipe.buckets.push(newBucket); newBucket.buffer.set(data.subarray(0, PIPEFS.BUCKET_BUFFER_SIZE)); data = data.subarray(PIPEFS.BUCKET_BUFFER_SIZE, data.byteLength) } if (remElements > 0) { var newBucket = { buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), offset: data.byteLength, roffset: 0 }; pipe.buckets.push(newBucket); newBucket.buffer.set(data) } return dataLen }, close: function (stream) { var pipe = stream.node.pipe; pipe.buckets = null } }, nextname: function () { if (!PIPEFS.nextname.current) { PIPEFS.nextname.current = 0 } return "pipe[" + PIPEFS.nextname.current++ + "]" } }; function ___syscall42(which, varargs) { SYSCALLS.varargs = varargs; try { var fdPtr = SYSCALLS.get(); if (fdPtr == 0) { throw new FS.ErrnoError(14) } var res = PIPEFS.createPipe(); HEAP32[fdPtr >> 2] = res.readable_fd; HEAP32[fdPtr + 4 >> 2] = res.writable_fd; return 0 } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno } } function ___syscall5(which, varargs) { SYSCALLS.varargs = varargs; try { var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get(); var stream = FS.open(pathname, flags, mode); return stream.fd } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno } } function ___syscall6(which, varargs) { SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(); FS.close(stream); return 0 } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno } } function _abort() { Module["abort"]() } function _emscripten_get_heap_size() { return HEAP8.length } function abortOnCannotGrowMemory(requestedSize) { abort("OOM") } function emscripten_realloc_buffer(size) { var PAGE_MULTIPLE = 65536; size = alignUp(size, PAGE_MULTIPLE); var oldSize = buffer.byteLength; try { var result = wasmMemory.grow((size - oldSize) / 65536); if (result !== (-1 | 0)) { buffer = wasmMemory.buffer; return true } else { return false } } catch (e) { return false } } function _emscripten_resize_heap(requestedSize) { var oldSize = _emscripten_get_heap_size(); var PAGE_MULTIPLE = 65536; var LIMIT = 2147483648 - PAGE_MULTIPLE; if (requestedSize > LIMIT) { return false } var MIN_TOTAL_MEMORY = 16777216; var newSize = Math.max(oldSize, MIN_TOTAL_MEMORY); while (newSize < requestedSize) { if (newSize <= 536870912) { newSize = alignUp(2 * newSize, PAGE_MULTIPLE) } else { newSize = Math.min(alignUp((3 * newSize + 2147483648) / 4, PAGE_MULTIPLE), LIMIT) } } if (!emscripten_realloc_buffer(newSize)) { return false } updateGlobalBufferViews(); return true } function _exit(status) { exit(status) } var ___tm_current = 277408; var ___tm_timezone = (stringToUTF8("GMT", 277456, 4), 277456); function _tzset() { if (_tzset.called) return; _tzset.called = true; HEAP32[__get_timezone() >> 2] = (new Date).getTimezoneOffset() * 60; var winter = new Date(2e3, 0, 1); var summer = new Date(2e3, 6, 1); HEAP32[__get_daylight() >> 2] = Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); function extractZone(date) { var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); return match ? match[1] : "GMT" } var winterName = extractZone(winter); var summerName = extractZone(summer); var winterNamePtr = allocate(intArrayFromString(winterName), "i8", ALLOC_NORMAL); var summerNamePtr = allocate(intArrayFromString(summerName), "i8", ALLOC_NORMAL); if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { HEAP32[__get_tzname() >> 2] = winterNamePtr; HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr } else { HEAP32[__get_tzname() >> 2] = summerNamePtr; HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr } } function _localtime_r(time, tmPtr) { _tzset(); var date = new Date(HEAP32[time >> 2] * 1e3); HEAP32[tmPtr >> 2] = date.getSeconds(); HEAP32[tmPtr + 4 >> 2] = date.getMinutes(); HEAP32[tmPtr + 8 >> 2] = date.getHours(); HEAP32[tmPtr + 12 >> 2] = date.getDate(); HEAP32[tmPtr + 16 >> 2] = date.getMonth(); HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900; HEAP32[tmPtr + 24 >> 2] = date.getDay(); var start = new Date(date.getFullYear(), 0, 1); var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0; HEAP32[tmPtr + 28 >> 2] = yday; HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60); var summerOffset = new Date(2e3, 6, 1).getTimezoneOffset(); var winterOffset = start.getTimezoneOffset(); var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; HEAP32[tmPtr + 32 >> 2] = dst; var zonePtr = HEAP32[__get_tzname() + (dst ? 4 : 0) >> 2]; HEAP32[tmPtr + 40 >> 2] = zonePtr; return tmPtr } function _localtime(time) { return _localtime_r(time, ___tm_current) } function _emscripten_memcpy_big(dest, src, num) { HEAPU8.set(HEAPU8.subarray(src, src + num), dest) } function _mktime(tmPtr) { _tzset(); var date = new Date(HEAP32[tmPtr + 20 >> 2] + 1900, HEAP32[tmPtr + 16 >> 2], HEAP32[tmPtr + 12 >> 2], HEAP32[tmPtr + 8 >> 2], HEAP32[tmPtr + 4 >> 2], HEAP32[tmPtr >> 2], 0); var dst = HEAP32[tmPtr + 32 >> 2]; var guessedOffset = date.getTimezoneOffset(); var start = new Date(date.getFullYear(), 0, 1); var summerOffset = new Date(2e3, 6, 1).getTimezoneOffset(); var winterOffset = start.getTimezoneOffset(); var dstOffset = Math.min(winterOffset, summerOffset); if (dst < 0) { HEAP32[tmPtr + 32 >> 2] = Number(summerOffset != winterOffset && dstOffset == guessedOffset) } else if (dst > 0 != (dstOffset == guessedOffset)) { var nonDstOffset = Math.max(winterOffset, summerOffset); var trueOffset = dst > 0 ? dstOffset : nonDstOffset; date.setTime(date.getTime() + (trueOffset - guessedOffset) * 6e4) } HEAP32[tmPtr + 24 >> 2] = date.getDay(); var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0; HEAP32[tmPtr + 28 >> 2] = yday; return date.getTime() / 1e3 | 0 } function _posix_spawn_file_actions_addclose() { err("missing function: posix_spawn_file_actions_addclose"); abort(-1) } function _posix_spawn_file_actions_adddup2() { err("missing function: posix_spawn_file_actions_adddup2"); abort(-1) } function _posix_spawn_file_actions_destroy() { err("missing function: posix_spawn_file_actions_destroy"); abort(-1) } function _posix_spawn_file_actions_init() { err("missing function: posix_spawn_file_actions_init"); abort(-1) } function _fork() { ___setErrNo(11); return -1 } function _posix_spawnp() { return _fork.apply(null, arguments) } function _timegm(tmPtr) { _tzset(); var time = Date.UTC(HEAP32[tmPtr + 20 >> 2] + 1900, HEAP32[tmPtr + 16 >> 2], HEAP32[tmPtr + 12 >> 2], HEAP32[tmPtr + 8 >> 2], HEAP32[tmPtr + 4 >> 2], HEAP32[tmPtr >> 2], 0); var date = new Date(time); HEAP32[tmPtr + 24 >> 2] = date.getUTCDay(); var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; HEAP32[tmPtr + 28 >> 2] = yday; return date.getTime() / 1e3 | 0 } function _wait(stat_loc) { ___setErrNo(10); return -1 } function _waitpid() { return _wait.apply(null, arguments) } FS.staticInit(); if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit() } function intArrayFromString(stringy, dontAddNull, length) { var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; var u8array = new Array(len); var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); if (dontAddNull) u8array.length = numBytesWritten; return u8array } var asmGlobalArg = {}; var asmLibraryArg = { "b": abort, "q": setTempRet0, "G": ___buildEnvironment, "l": ___setErrNo, "s": ___syscall140, "i": ___syscall146, "p": ___syscall168, "o": ___syscall195, "n": ___syscall196, "m": ___syscall197, "c": ___syscall221, "F": ___syscall3, "E": ___syscall4, "D": ___syscall41, "C": ___syscall42, "B": ___syscall5, "h": ___syscall6, "g": _abort, "A": _emscripten_get_heap_size, "z": _emscripten_memcpy_big, "y": _emscripten_resize_heap, "f": _exit, "x": _localtime, "d": _mktime, "e": _posix_spawn_file_actions_addclose, "k": _posix_spawn_file_actions_adddup2, "j": _posix_spawn_file_actions_destroy, "w": _posix_spawn_file_actions_init, "v": _posix_spawnp, "u": _timegm, "t": _waitpid, "r": abortOnCannotGrowMemory, "a": DYNAMICTOP_PTR }; var asm = Module["asm"](asmGlobalArg, asmLibraryArg, buffer); Module["asm"] = asm; var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = function () { return Module["asm"]["H"].apply(null, arguments) }; var ___errno_location = Module["___errno_location"] = function () { return Module["asm"]["I"].apply(null, arguments) }; var __get_daylight = Module["__get_daylight"] = function () { return Module["asm"]["J"].apply(null, arguments) }; var __get_timezone = Module["__get_timezone"] = function () { return Module["asm"]["K"].apply(null, arguments) }; var __get_tzname = Module["__get_tzname"] = function () { return Module["asm"]["L"].apply(null, arguments) }; var _archive_close = Module["_archive_close"] = function () { return Module["asm"]["M"].apply(null, arguments) }; var _archive_entry_filetype = Module["_archive_entry_filetype"] = function () { return Module["asm"]["N"].apply(null, arguments) }; var _archive_entry_is_encrypted = Module["_archive_entry_is_encrypted"] = function () { return Module["asm"]["O"].apply(null, arguments) }; var _archive_entry_pathname = Module["_archive_entry_pathname"] = function () { return Module["asm"]["P"].apply(null, arguments) }; var _archive_entry_pathname_utf8 = Module["_archive_entry_pathname_utf8"] = function () { return Module["asm"]["Q"].apply(null, arguments) }; var _archive_entry_size = Module["_archive_entry_size"] = function () { return Module["asm"]["R"].apply(null, arguments) }; var _archive_error_string = Module["_archive_error_string"] = function () { return Module["asm"]["S"].apply(null, arguments) }; var _archive_open = Module["_archive_open"] = function () { return Module["asm"]["T"].apply(null, arguments) }; var _archive_read_add_passphrase = Module["_archive_read_add_passphrase"] = function () { return Module["asm"]["U"].apply(null, arguments) }; var _archive_read_data_skip = Module["_archive_read_data_skip"] = function () { return Module["asm"]["V"].apply(null, arguments) }; var _archive_read_has_encrypted_entries = Module["_archive_read_has_encrypted_entries"] = function () { return Module["asm"]["W"].apply(null, arguments) }; var _free = Module["_free"] = function () { return Module["asm"]["X"].apply(null, arguments) }; var _get_filedata = Module["_get_filedata"] = function () { return Module["asm"]["Y"].apply(null, arguments) }; var _get_next_entry = Module["_get_next_entry"] = function () { return Module["asm"]["Z"].apply(null, arguments) }; var _get_version = Module["_get_version"] = function () { return Module["asm"]["_"].apply(null, arguments) }; var _malloc = Module["_malloc"] = function () { return Module["asm"]["$"].apply(null, arguments) }; var stackAlloc = Module["stackAlloc"] = function () { return Module["asm"]["ca"].apply(null, arguments) }; var stackRestore = Module["stackRestore"] = function () { return Module["asm"]["da"].apply(null, arguments) }; var stackSave = Module["stackSave"] = function () { return Module["asm"]["ea"].apply(null, arguments) }; var dynCall_v = Module["dynCall_v"] = function () { return Module["asm"]["aa"].apply(null, arguments) }; var dynCall_vi = Module["dynCall_vi"] = function () { return Module["asm"]["ba"].apply(null, arguments) }; Module["asm"] = asm; Module["intArrayFromString"] = intArrayFromString; Module["cwrap"] = cwrap; Module["allocate"] = allocate; Module["then"] = function (func) { if (Module["calledRun"]) { func(Module) } else { var old = Module["onRuntimeInitialized"]; Module["onRuntimeInitialized"] = function () { if (old) old(); func(Module) } } return Module }; function ExitStatus(status) { this.name = "ExitStatus"; this.message = "Program terminated with exit(" + status + ")"; this.status = status } ExitStatus.prototype = new Error; ExitStatus.prototype.constructor = ExitStatus; dependenciesFulfilled = function runCaller() { if (!Module["calledRun"]) run(); if (!Module["calledRun"]) dependenciesFulfilled = runCaller }; function run(args) { args = args || Module["arguments"]; if (runDependencies > 0) { return } preRun(); if (runDependencies > 0) return; if (Module["calledRun"]) return; function doRun() { if (Module["calledRun"]) return; Module["calledRun"] = true; if (ABORT) return; ensureInitRuntime(); 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; function exit(status, implicit) { if (implicit && Module["noExitRuntime"] && status === 0) { return } if (Module["noExitRuntime"]) { } else { ABORT = true; EXITSTATUS = status; exitRuntime(); if (Module["onExit"]) Module["onExit"](status) } Module["quit"](status, new ExitStatus(status)) } function abort(what) { if (Module["onAbort"]) { Module["onAbort"](what) } if (what !== undefined) { out(what); err(what); what = JSON.stringify(what) } else { what = "" } ABORT = true; EXITSTATUS = 1; throw "abort(" + what + "). Build with -s ASSERTIONS=1 for more info." } Module["abort"] = abort; if (Module["preInit"]) { if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]]; while (Module["preInit"].length > 0) { Module["preInit"].pop()() } } Module["noExitRuntime"] = true; run(); + + + return libarchive + } + ); +})(); +export default libarchive; \ No newline at end of file diff --git a/client/static/libarchive/wasm-gen/libarchive.wasm b/client/static/libarchive/wasm-gen/libarchive.wasm new file mode 100644 index 0000000000000000000000000000000000000000..aa189c5dcc54c563f78641d6fb746c184556180f GIT binary patch literal 896488 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

R!5w*Z6{vkKih*Q*y1wj{s0*rN`;5k!~ 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

kpo!#)bw^GQBboe4f$-3g zGs8$UdJ3FP&%rQ~C@ z6p^3sdjA^4^$EoFv|)$w1LPM9gl2WRZe%ET!nFmgHQdK`41ZZO!2jy1|; zY4=c^E0d+uKiE#e@u8#>WIkrF9vNcEA{J1m@*BZSpZe9&-uM%Fbn;dQxRhfU1H4yV z>9$q~ei3i52*|0ZZ=t6r4OMnP@1f#ryqcL4?#rI`K-A&d2H}s`&Y)nu%_M>pkD;-a zm0(#5PeEPpson`l9Q8It@eXYv@eO?)jqRDEv=c}8r87&F@xVIJQ`-PNJ0-CQf&()V z`~XXJ-qG_MIr{RN*(nVmvy-N&lE5@j@Q!7bAF(i7>~-m4jkCZ3yF?K`6=Za^r**hN z#8qF!7ji+)dUi50*Tv}uM=#MQG>j;y*hDe0Fhff+pE*Q&zVm8DYQU#yyEswu@XLr$ zn=zG_QPiBc>s0mWL9gxPQ}tARNH(K2OC{T>u!|+5K=evQ9vsU<&9nhcoTEj-YxP0i zt2|;kh$6fDQ&W?ZlbH{LjYC`y$`~C~ANkSPSUeJV$6NMrhfkS~cXi6!tG5$4MIe1E zAXDIP5~!ns=w^q3pCfRBz@TqRd4D?pQ8Z|>e}F)mtq6smO>Ts{H!$DSRiflG8mAu1 zoma{rNbj6Ma`?&o4zYKQ*R_v5`Q)BE4wtV>(F%L=+&d0WzwXXfhPAIa)!=n^-pS!X z^i0Zr8~uTMli`Yl$*elF$okV9X1WwOgsi})+b#h2L~l+7P+TI`??q-t9~nI#U!iRyxuG)oz& z`qFv1_pa*3!zMpza;6Cl;t;NzK}^OFffiaMXZa|V4sCPT1N#!ldL(93QQFr zqyoh~P=cju5GPhnUZrO*hD9b+gNCZ1MW(}=fN>%(Rbbf}bz=P~DAAg=LWpm5X|^7{ zmPjp*g=WQn6TKN@6`w*TClRwTM)t(Wj5>iWgV8o4vtVQ|7}>2#cz8k#6(h+aMsf>Z zufLZM3r1f2wH7V)`#&RTt{%RBk48vek9x2EC35aHjlNDpr7?{w_g}2DS=tr_FALLdBoti)Mz8y31vunA0_wy!cptcKu

xS>H2aO@|#`J}Y)6m8L_ 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 hx4CG_WA3|fnSiSt&& z*okY?kS1fwa{@2I48pF}=}U$*F7lFDFs=E3LxV(Vn`YIbT{|WF+OWZ3S*XsBZ~x-z zDu395qm+Dlr1_9&-@YKRwDutq%M}E20uma;r%A6*Q{Fko5ACCypn4#JuNi`d)6bY0 zgSfWC-+=|F5wP^gaB9>!wW(-Ut>HXb@mz9Ek`hx6swOH>Wx=PLnzjU2orkH>E6Aoo z0Y`6@IUuDl8qjx`85uQK6=6rW1o zH+P@XM+;6ouid(`ou8fmR=oh*vcbef6t(KU_+fh$j%tV#V}_bJvtUY&{6PJBTzGAo zk&m+K9K=O^;A>R3&hQ1t(kW`+tZWpAW_%-h#dcHXVcJhhENkrCBmQz&DY+;I@xjjA zyOfNDqf-`xa|;e%=!_oZ(vNwHYRlJ+*He`v2{$P>i;;EPECLH|GoiBvA-#Q*RJ9C8J$jWEjDLBta_w6Q@4(IAF`UHUBlhO)kjd z#&hvd%H-pM>B|O16mmp)BPE}M;HUK3+6@l~YEkWeiJ>WU5AIym;pJ%FX7_3uQQEVh zOc6Elj|9ErcIZ4S4}UmCahSKiJIjrdk&Y-sSt{$qbQ5EL%|fGM1xvW^!a z9k+`)190|0PFkx5kBtCfC7^2v3M_@-xLpIL#fBigA_&}LTYgWTGpO zvheAa2wWuCJW??)P>jSo)-5SYzXm8kZYwPk4FXs(ETqMh1PVK5w2%;vBceG+qnum~ zIC-c*7PanaPT?*>iZZTorFp$41W9SUTCz(y=_)mgR)!m4QOt&0r&BGe>9}?(XkEUk zZiQxly^Q-`FF|GQ)>-f+J9=Z>7u%w0B*sedK-cD3Y;XcL4jigM14W49;X2C10XRITUSTREi01tNR9GgnHt$2 zUA?fB39T>;pSkg86ACJDEY!$SC+RPw$&qL^+z#aJF>HmAk2fhC!K5uLGrtK6h3biS zi&6&qHr^=oH*BK2{$zEgmVCD1>WhC@Zi6YvaYf|I(Ti6;?};2XXD;b@f;L})o$ik+%RgdF z0*O~9It(|;paGAqTfRCk$F&*}6JFU*3YDL2Z)!OtZrxkHalG+~-c~A>VMh{^~>*sdSqs*41*pQU$^-O>M2Ay$XnuUk|BJ3G@1j#mYKled0K*T%}Gm zmnq+Xf5te>Bcw6fkcpuM$(+cKd3V-Oomw3MuZs8-VS;?`7j6@w%%{l!D9w5kEmUq}8LC{`%FT76L(W_+c zr#0cMwe>Acq`c+Zb9Z>eaMTwyKG9sEA(h9uFBREr?g2lfA!y`iQrw}U|D-(iql*l~eKjK|Jihbq(WGhEJss*Z) zSmaEY#L4{$v6820hH^O_Hi#_p=FnPSJqO^aWIMSwx1=n8O)LJ93tx|Gv>g}i63aLd zf0wDTP_^{@k3I}J+CNpz_zu?LPFQy4I{$ogKdfP*7DraZB2q}|esfBBPi@z==u_T9 z;uE|XW0XE--I4l$)8KsEj?OousHM0tF^ZgR??_#S*Xq@>g=WP&S+#JNxA9)v4)@Zi zjiXIlXv0D#dH&DFKw5CN1CWszbf>EFAP-9GBlHmw=%Xp^bIdtT76-LN+sNXT3}5e8 zmwHfdS5Ap*aRK3Mn5Wgpup%_Vk#LZcm2P9xYB^_W0P1QuaLqy>6)e4eu()x_7!qMt!b53GTnfu z$(G7Pn2~xASK=jiQ|v&IR!KwkRE*(M%f|32n*~$#67L1kl@D!Tsb&)bMkr6VYru~L zK&uJhFB;CKp>ZXvie|~=gcGP(^@ounHZnDI9Jb@P8si-X_aD1tofjWqH~~#EV_&V~ z=nd-&i??zS4n+@^znD6XcS6*>NIlU^l~G%ISF1PT)>Y6AsYr$sTXRj`;llbqW#eu? zW#g3k@EYfwbOOV@nmlaWYm!YR=6R@|Q^^pV(#M?jT~r;7=!9g_s#}t$*Pjo*z2heh zt1GBF*m+pB-=20qqh>4>!(9vSX`uBGj`o3uSb3{rmt@hdWq#Vb(1Vr8;vH+{--!zP zD4Bl7@6V$-%n9tMNgGd`qv09%tVd4!xHZ-0xb~z1XQmdTY-7(vbT+YXTX98hwX;Am zW}w3%pic1+vT+jjL9%~F4TgSs0!xn5JGO_WW&2ZV^o)>VFw?c{P6!VXx>1zU7h}>z zRiRM#%%XT=RH`7(k!(F}aymF+UwUFxRQJ4UW7Pp6#^W&*-4B+#WxrtqGGPXmvF2%+ z!tsV~E$X3&QL=j3t2dSxBohb@;HG^coh_7~dRU|5$$E4=Nok) zz}JrtumAUL^j?3TgF+~+S$^OYOf&6I7$mEbp^R$C!XK$perIsF$^eFgx^kKFqiAeB zJsl7kiHiaZBI@_iSbWG@nx9OJ>tt4sWC?(gGMh9rl^H`wwoJM~R;Zdr}^LlXtQb&-cll;|E6aSOc7H6g0V6}vPy?b-2iJRn@9 z{w(jhCL(D9ri_fg^PwQ-M_0?C)Vwmx*CLqKqaM!w9YfZin3gD1U}N0Vsq6T5fwh{z zZo423!wEIs(~yHl3laCU_(eqS)-TfgLH)uLcj*_D?k4R{!qTzF^vm~c>GvqVv*d)7 z9HEH`?~_^oRWhJPlFLX2%5ANQu}})B{CvZF8Rk=0 z$yj}VB&f*I426N}rr7F2tolo7`g@P2I|_WzpEtHH+gGdAlP&Aj>TUee)l7}C)}2|U zEI%%e7P@1l1a>009@N_Ht&o2`GLIiCDOfRuYwiq>4{wHXZpFZ|X6H~7S{HwIE`5EJ zrj%;rQd$4KqZNt-d!#;wEI22CqX8l}Im#IMtZJ9i!h$qH3w2 z14mFm$;dZo7F3|2S6)V}zLX_!a4fj$OG@=vD>-^@GaLv-)|*-vzQ}9_gB}sDDDqCa z{)jY{J|f?pnoTW*Z{T5+ghZtdqQeD5f2n*4VUH`u`=v+@REQ$nMCH0BD%WLHBHs$A z9M>d{s_dcUr2hwO!{)D(PtgU$?hB7Zi<|eWhYzXJL)GJVR9KQ1Ti61?M>hj)uTu9` z-=kE8oFRfy?t3oVS5045E#B>8E08!-kXL9ge>=IQ`NcDspKxy+b15g$uL&r7#46e=Ih? zJBaaJHkTkGaQ|}H{Nw7`_1_Mg>(m!!fW}nm`0~RY>GR759WyN4%dDYh)es7g1-IX{ z<|4MHYjv1nx)SE-_v<`t)#ZY%v%TYy@Qbe- zsK-a+mnrnoRYyOqy*snp?iJW=_plKUligB@ zW$f07Uy0os$t$s2Bl#bL-CW%=cH8Y9*`3)<^jeMGc8lHYYm&Gx=2`h-tgbG4L#}!D zF&&HE&_ZYB+36$jAANVqYg>7VBj!=}a1CvR7&C|85>fTrh*wV@uH)+2u~kQ-ZgAaF zJ(neYb&nqP!J{5xkl>{*s7Jl!j0MRZ`mkGmn_51;O3SlSwxBM?MOoA!#VAQ_=tX^e z5I?8(l?9p77;DA3lCIMfM%(>y!O58_Z){^g_2)9h=GbNW%(2VVSfKZ80~gNveput< zL-(pG{O8!0?@(W^S*0)gxXEzgT1y_Mr>tvvaIYn2-hWrg_C#{bKBh|a4ppVopz4tC zD$##I4wXMs&#tykkQPrlCb{bJhYa|Cj$-xU;Mj*=|3Iu(SpRTrvcl8)hnKP17jO^R z^!^Qh*lM>%|24jc!C`15|0>bVJdG@)^^ANqa^+zDb-wh`h>M{97O|XsM7pG%^gsQa zjN))hEm`JjHI}(B`WXsaTHX97TjtVqGHa!g1ujoASMsgVfB%%|%KMTRPy&^emrx21 z-YlVL1N|l}1Yyk*N|?^{4Jji_D34)*ynJ#hEW)wxVd@ksR8kdb{OHCGaD5)d)=Im? zM@JTD5V_L0a}1Wdm%WcFbZ?8piaPthMwb$KwtKHRkpz}fN$5?y`K-7JQo9E39qt;C zU87wC;&AO65RYruz)Ag@%skypSZ%sNzvR6s{n8`kIEgJWvTHyyP3;;ONgnPRUAPD53*%Z?_8j)FnKoKqEpC8^!1Gu^u;_uej8+9 zb{u#`K6XL`Q>JPS5$r^S*dfJIa&uu?YjzCF#dEY<-ivzJ<*~Azzv`83M-1I!Iem0_ z!?DY(c*iCye!W*##C8X0^EfADlv=)p!>Z2|<+O0P&I^g&a_9(qUKHA0&rWt%9eHRX z5`T@qIDe;CVBJ%@?E*?3h**pnBL7I&X1oDz)EjxgI{3hVRTJd^yyjA{u}xHDH{ ziW^~y?28opJqj}>&BOKzs(p;2E4zjgeW(tCuD~%jil4Z4t`1-sl4$;Y}Y$el!N z@3S+^U8cpZ?DdH<;WSjgKCQizE+@28e|DvL=FVYH?qr|9@}Au3p4?eO9p>MgHY6r| z1|l0hV8wD^dA1ytvL(?;9hku{ri~S0C>#w((5^o#wC#q>RAqMBZ2d?jsv39@_%)kvtR@;xn{b z=Cs50BqGQh`*%*PvWMyz%?!u?x6w6nc!)@kphx6k`W5wRW4!~MOmUAJGCOGCWx@HE zDdm7f0x@I}Ihb@*aVX(2<-%VTzIoaA5w!WcT!>B`*~$0MfeZhOdbP3SyOaxq-((?N zmUZ2Y(skY&FSQwrir%m++=zK`l!G|4r?0EW3;h91Nq9vM^I0<(a~Jg77hVd{<{TbvEAIxJ}|Q zHIhH74#-~P?{+}51HOZ&YM)lGHrBC5XY_wcy(i;CDub4izUk<8kw8H zX1Gztke2*uB8L~#a=Qm*X-=$MLev!f+ z^SeUL-8J;3f4islit_G9^9W!A*qhc2o%zGly9=mM+O>rr-0z%clp~*0tQww6QHz6| zce0LW@x6L)7Z?k6&1P)E)0Mt_eN&-E`YM}5 zf=Qit9-}T5PK+ol$wd8i(MWCJo(9tBg{P){dGVDNGUzY4^+bG51j&IXXuPy_fuXK~ zXhtNkRn9)=2bW>Y6&(q;{QHm?H~1pXy@L!VmpJ@>R#7~?(EC(>`Kpb0zPKzEf{+?V zjG|FKNIF(sQQnR-U%$V|GDaX#ICCOc-A;9|=qf-|qe;A~_(8NXbX7L{NFj|`%hxd! z&J*q9NBS_41PLt8Z%JQTwz8*X-VB&KP9EX2;S!mWQ4fCK66~V%a2;&L(s{v( zMX;PM{$vR(LrV)`BhXj}LjYBoR7kEW!+PpSs+PRStZbal?&TY~R?s!>-NwP#>G~in zI%YONH2Vw2m{}GZi&;`7gKVzr+D84kfU#0N%w03m3Qo1{O} zaA0C@qh6Gs%dG_7g?YQ8({z)=lz1rVr1@z7NNby|Nh(+t%a+isTQs7KFbDRHo)62+ zu{-Wc8NK>eS24mHaE6vKbsZUv>RjM8P3oilF=7xV!Ax$GfuZsw2xHE>P8t9Bv7qUR6xJuS_@uz2G(XN}g?{3rZj#jk-WFW0eONm)o zGsGm*#E4P6RF3i?i*uCPvkGNaiGDeg8VBb6;Z@drxJt6|7NL344Vp|mg1v>#b$p-K zlFM=?U-a0o?s(Nkpl0^viYz@l)J+BZ)gQcZNwVG);=(*}HW-m#_lC+xOy#4n%jK|j zr(cF$E{E;={6>K5WuyQ;BqDXjC4LEmT*@TS&@sqFBWE@WqfjCa3e9I^65Y!3({!VY ziy4doj?A3q2WVOx6M`8wo7S&HRdeJ!VeUw$htgtxmp;{S=pSK@IUi zM-W!HT`MlW>gO8_k$pst3#&Ym>lbYG-3xY#m~_7vYzte)<3SyPpx-MPmET47^Aq&HVp&yq*mml|)krWbvKGvyku)c7`3!wmdwuIQWv8yQm zsJ$74(Nxd|AUxy4eTQS|x~YjDSV>n(Nm>_3`Nb9z?tt!%DWlwMKoa8#g_Gx5T>K1SuT1RM)K2IVY1^1BBxAhf!kTmh#EE$XZ|O=>-W3 zJ=uyItp*x2HxXPCUj)Khfhnp1WKw0LL+mJeuK&u;xF!W5(d`qnc#Q`?Fk zOW)P?TjO>M!B>3{WzZ}c25jJ0epYj9YST~z>5c8yGmG8T$Ni!eLv{I?l!f4@6~wwC z-<;Ui@Tt$^outW7u|pR8;&20852@}%0h-Akm#XzMntitPr~@PyRf-UUBGXRyxV6f^ zqfX;LKn*(ln1_NHuu|sN!a*XvF^G<&&R4?bc#SsyS=tPNWv`~26|egX?h`Js0EVQe%?UoHTyndN$wWr151*VhSf);Awy#7TDIh zoKBT=DsAAnEUw6AGcGZ);>`3@9)#KPbRut?smF{*@Etf7n{|GcC1j1cBv1Es|(XZRY`)>f6f73dhjJacxH$X z$$L)py`ni0`Ztm?kpbMPAaWxq6M2OsYu600H&SZ;nGBveNgpE4lhhtx$J-VI>RENN z44>Q<1@)aNdVjm!zOtnkp++xL<6MT-DZ=bfq+a_^u=Y6~&O6O}I!h4Q>@eX*H9726hm zIDQuwTR);3yp}?A>dmV|&A5*iRV;7Z4cloH6+1=!fysc-|5g`czoL@oiG(2uPY%ZX zl2kSDQ0B{Pr=fVf>F|k%w3BHe{05+&+Wb`C7!1#iM#SfMPWLNBDzPrdL%NJNu>dvd{&fyYTPshkF4YT3^YG558IcF*YWCz^WDtr7gwZ;poYarBd>~NsX0I94yRN%83!YPp-|4$HD0t*amaki#xU$G7|~H! zTsquZKJDV_UjdU8Bfj~nVTmW>mwuRO=!fwueW|DY?Ac^_PDlEVWd|r%zQcYM66+aQ z43?JgXY1#bkmXv+ImJy6SBAfhdE)^uU?iT+CO!E`_lSjaDIDFe89SUqic2zyGDAUGH#dZ&;~f|dZOmEsgGMsn6YVh zDq*L5=5iP5<5J)I=nx&|S*(C6BKo<&3emq-?3{6-J$0cyDx}O{lul<9e&;fIs&)hd zdz88ZhcN*MT?Ec|u{~i^z?!?fK__rlmILMAVt?*da5qRRMt^puUOJF!apVCpD@>j8 z>@}mO572Z!InN?9VrQ#9%~LaPq1x@a$=j>T_iq?q)9dwGh2Ch_K(j0L)d48-w05&W z#4PH_OKOxq1$eI-W_}b(J4_!}zr!;SS5C(UMJ|=5lb4Wh%Yk&%IB}Z>RLD z|MJZZgSAe;%-)S9p2ecnxs2KNc1c`0QC(TRmz>PJ0pXk>8Hhc6tv?d2n-$ozzkEI2 zN(l7eS@Whoq0_m=PbqX6Z-5wKE?ZgD*+}9RTbmwdi|KJvna0zHmZCnLEQ?I1In!wq zU)j)JH#B7LEp)#!Lzvl73h83LP!~Ib?aZS)FbjkY2C2*|sWxdpRGSnXs!fV+t7eTI zX04mSoW{r42z#K>Jrhix9RLj46%#nd1nOa^mIOo@%2RZ^i>gc*bK9k%@g?r(*wRqO zBBaJG=+AciG@1tMB+brtXMDUnHvTC5YY9d%4iR%D;D-w+)iX2{fGQN};i48Hj6Y>G;fMGvQHeV8?QHj9=TvQg4erQ5uR0Py4M<>@ z!m61vm$)XC(4ZA)tUVlg@-J{42#tb*KH_o zi6pFr>S*JW{+`O68Z2YbEJ7xu0m^9F57>n&H$bXX-(2n%*d6-pB+r6WjO15Gq#{SW9=86Tl|C*9WAGjaw=JV z43TTfDf+W8SB#xo{J4Xf-#ryf1Z+?|z4fCG$yxgjU)?Pz>V8ZQl}vM!*1@{Sxy9~C zVJh-BojMvWiD=D28nNyfHgeb1*e4vd&lT&>Eq>Aj1edwu@qDFfHJ!T!!@(KXr`LTK zG@l!Z9zaZ^*|4MLbKLh0ZL7H)$22hJR$9tSWuFYtM8JjWsUtO5`!RhjjmVkBkJqn| zxMyan^2JYY?UMIZh>|V|AXGtF9a{89G@iT%t5U9+qWXucS}I29wyS=gkn_#p?hKEQ zAgCwLZtbc*(>|ySiOsj2Roek3EN#WhZL3y-%ZIp(p9LPv7&wFyWND%ko~XEiXytP~=46S?`@4 zySK^XVgpWK>i!sgOD&!yBE(0l`YU|Na$52&`PA!Bbp z8l@O_A1nxg^=EG1KG^_y%xCje^$N%=`!xpoofw>NCPt8?{U3{h%?h4hj zYZKoLrFsLG1cv%us$!SSexmymFHNquu{>jf6E)*xrlP3{6KJU$5Z7dLOz+Be`SPUF zj|KO&NsbU$YP;B&JaT$Oil`~Z;V~+)Z=DNEv>-(EWc9%D_rFr3N_@TiPhay|Dgmt0 zj(q;ZZ&Y0!L!I2jc~a&sV`Cb5arVE}L*PR$F3C$vI`7n=2L* zCFiPR?5}aHbE4y7(9zMRCG#jRJK*Jz^ZnaepfDk##@E4Lv#4qQFi{U$>s=COnKfUE z*7sf2p!F6BR$E48;Z}&aixkkue6`jiI3%0_tgf<&XvFfG!?70Q(oDf&TiK}q(JbA* zj+rxyc9p%$eCY0m06ep~Gh1|@R$z>3DUVm^S-{zLBKoZn%oX~s3YX9ys`8Bx3M=zTG6xWP z7MlDXB$-vje2`6kk)rzE>QAX&E*3M<7BtSbwHnI=#+Ld3j~{V1))c7$@QlumZEG2R zcSJVm|5KEQySDiKI@cmacq6de@_%OV(ZSldBqp^oihAAjEocG7ubH^-;b?)(yXBB~ ztpgJ8I{LBUU4w?EuYr3XQcryRr48PdI);j;(i4mBHp%{@r6(4Vo>le4@#H9!o6hdw zmefRYgnp;q*w+C&_Oy!`2=HbmF|sYLQ??$ntB(N zgiT;S+)0p#|A$xYw|g2HuKRd&@5v%YY+YUmagolDa(%GDQ>R zKFR9#MD%GbdkYO^&Nkv&nPaynWln4wqj_rBdJwMK3pY^G+hW_FIxzR>37U_z8P{8JundmjAF_ z=CX?Ge&B^#kUp^DeqwDT_Bg?4C^qS;odbRVJJ%F{?U$ueZT&8@7Jz-p##G{`)Dcm} zG3C9?RJ<$B&r~apT{ZKb1sE_5C{KR^<*hejZ>}n22ze9u<`IpsRW_wl>O#GEbH|lrN_YCzV+-|_6g(tS> zrF?sz#a5!Q_37~Ei^V8dBa3XLDDO!XU~xBDW?Vt~m>v$U3GT`EaSyV>W-}U545Y9a zD7a^sveTe$fu|gT=FevWSgSi_T&C_EDM1Q#*X*Bn(&x+jhpC0=JTFfbg_k@R2glC4 z<-_;lJ~`GN55J*ysfW?YY*#LbuA1w4j0g*FZRH2vS_m?4Z}JwKn^o_0@Y9wiKLJSd z(7%MA=8aQkw0Yc-!B2|bUcn}8e%ovXEBkVUv9^n`4l^ug#?nmG`;?sT_z$zYN%ce= zCJ};kd;)KgPG%uN;(76sOi(HstUF&aLIM53XvKQVUjrL(`bq{|PS|3;hy%qgM?@HK zIrB+@)`!fSWWdb@%LirVHmu_T=C=P8_AZlqJGPapx8_EtURk}4mWnHxux4;r`VPVh zi{}3=XUMvAoC)zf5mt4Z#ZmHnYzNjIVa!14V2bT1D<}c~i?7$Hy4%QtwP7JJ41qo$ zmxDm)&$Jg!2#CPJ=>{=f^S`|;ng46vSFB2%A=?)5*qPZMUP{sDgM_D;ipY{zSG=VZ zqc3Ni#OOOxn|7dR@2Lz$vQuwG%g{h2qggYxr8q(?bZ4k^6xHk6+q| ziYB&NzM%y_5x#;4$#2k1#40<=RA0hEA)+Y%pzX0t4nLGWDjkD-rmcmr&&njL`nYPU zzx&b#y`S2aurzW_d~+o+gwzb}mPUylfF*heBFra2geq#|)}|mPZc{u{#i3R=z30mR zjucwQ&1%0)Dh?CjT?oM&jEdb>iQVh5MJ0A(DFa?X@HFvY(vb!4{LoF_*pEDgboq-> zgz1sc8%mcGG{uUm{74J6uL;sE&g)ID0|#NED$ETtzPOqSAwo5W^PVH12Zi%nx*ro_ow zZ1UVJVr_7UHk&OrbIZggk$GE@gniD!ZdSKOatTQkKwuUiH6$ek>avYK)E~&4c45Wlv+%=+>it_D`IUqpsi{A zO8v=Db=cb9y~_}KO?;`7jtql%&(u=?F$dsAYeX<=-7w62bQr|T=B6*$OZO$HJt7uk z?V>1JOuUTmmDRQ3&9Y{oy5!okDXGtft+j(u=9U|V1WTA*M-7&K_sm>~OG>-3ZP~{f zKia-!+u&-1BludJP}s+zoO87-EktYrm1Rk>>~3;_7=CPID=G=f_EaJ2N4%xBImScJ zjDjP4l7^m(lR#W79nBDvjsZR&PBMKiMqem?eBw3zc5lesu{PUP@9JJttdqnRJ-%>i zC5?}fD8|2-A7}(Z()eJi#&b#quXmI2i`vM*JB?->9vPqpkyz2gjlyo^91Bv~-VbPj z)1Nt(wBh%y^?*Dle}F54Iknk5?J;o?Cd_uYF9kerz{%3YC6IQN0)`_GdCP8mrM>a- z!J;!`WZM-OPD;!}x?Zv>E=v{IB>?^HnqAMPmI7Te;I}n^19P zZ47r;&?yUP&aqR<i%U`xRGgR#Uf5aM zC2r)_@^)A$ELZJ+HX@c$&M#|OEHziYhj}qnC%Qtl221R#F5j0<_0MyUHD@Rwin}$R zp|G_wKbAUCQ&;WxjWZN*vd>V=r-si{dU%F{lAgFZ6;D!dLjpg-C!;LXI75-}*LwDR zoS{%nZf3nlKIM6Ft0WL9cb$qL*)ixOtgc}UOAXyjEUOYjEYSkxv z-XO_U#R&wZq@s4;g`=jrb0i;U8XEabkW@trUckL`HSV1?1;-rROR9;^XyijvS=H{a zzEX1PyUl5Mkc|<;gAyWkr!#AY;&sCm8z5rdlJa^|g5)m1DjrGE#k9&;Xt>o9ArZSY z$wbeu(-NVl9=mEwnG^nAy6!r^an*{VvQJF>hd3}OC+>(#D0XbhFO)PqT@rqx5shy* zQBDHQ0W%6PqFk@`7;ThPb7`U`8&1f(A79puZL_15ui`WY;#_f4OLfUpr5#;wZqY0H zO3P7B@N!g+_IjVA(|TVdV2t1*cl>gfucMc^d~-2|VEEp2=rJJUJVQHCfDN}qI)tA{ zoufzwQa05pq}mjq!@B)=iAA5iDp)NelTX{ELpHFoGl@kuraIOOLL`A1aU5Co&T9umJ_kInS_YOCOWiyZzGV4r4N}4E zMy05Y9-#U(WsF7$skVD8-rG5dFIZ<(T&@04QyfuJIGW>7;|!(0!F`bO+muR|fEbR? zP_pVq#_gM|1A*E&LkazShEiDw>I~%;X>Z&c$ugeTnN9oj7@wF~k*ICPz{<`lCLvy2 z$St(e7iLk@hX1ojyWq4Pt~K6HUys_4cG|HWF8a$Z0pV|rzEFOW>C+bNmRmXbZ=B5L zxs{Xu+Q~X^ZVE01{&6SE@3ms`$DEu!5!;uR*5OgDHHT`JV{J&Zk-lQ{w5NGPChclY z&tU%LuWgXGgTBBL+o4^f>N%8*2mt3H^a1k{nd&-5b8XVbH<$5WRDOfo;-_SEVvL z(`N%ZbB#JP&^-ang2uKMLGQ^icn{Du$4$^1Gl(c|n>$~JAm&UH34%7-RZAG{xm{t0 zM^24X36b5_+?wiian@1uYrnC+Nf0hb<>8#(xe0e6S3OKt4UEpZhV%(hZyDVTzV>39p-iRsam;{t3I5o$WtHowaQbGn0`lSD5%0|Om)8Vsp2VZVPzayQd$~0pZtYOrLo)c>Bg~4qXUyKC^|4{sYm-Huc-L&kMLsQZCZAFiU!cpBfM(EARS3*%UhD##GYRt2P3r+ z<@2p^4r57XO_&6#kr@*EG=?C?kh`pNbOP2#)k?-{@<|ewWST5LOb>?7Tv__^OgK*u zMq>zd7z1zysUUrL+zhkaX-tmu!C7XaFm`w111!cY7g>Zo?sWR)RK|bE*!AZE}X3FQi8G7COXBBO?)`5l1o|n(he&t?XRFuXM+_+ z*2VE~ieYA}f!;jvAxZln%rq<)RPFM|7!Z}qmm&O^c$D)`t@zG?AAX`1J)#g@55%ec z$D=G?h*X@jhzw3fFizi0e+*(Tyi=yC@5K+n?G=F(tL7KSU6A4!{il)x{h9Xu;IaK1 zE^c?akHWu}U=)};!wMQZ@uOkfPa*7N6dBuTwkhiyb1i+h{S61D?~cD=xAg7ualM6O zW*XI*N^aWm%geivc3%%LT}^7oa|5f(_Em3rWqnG*VA7_Lkxb>E)+%46C*8XWp$H~5 zF?PvG`MRtz=C$b$7K$UW5)@pRWS`eQL#vDPViU(hoa#mP#HsKpQde%R8TO-%!su|8GRFALTgQ!*SDsa$M?=H&!J^Kluw=(OlBh(nO z3WbQ6YB&~1c)rXUM`yRfXC8hNe-~Zw?KBakA1kq?(j&BoPMlE-xE|Pk5HCB(q&DxC}f*~K4nCi&sRaw5YwHY1S z7guVqa(W-+{30fANLWw)eJfsVlvZ)^oF;Ju zr$)t6`{N@zOXXdiAY9`H2e8Cm*65Ah%{nu6d3XyWy1MoB>a^4tZa@sw(&&B~jnVjz z?0O)M5+0u>b7SZe8q;C;B@?sCoR_`)9;19s$>757l~v2GUw^N?a6&^G4MkXDhZ5qd zVb=g`(@*ZN-tg58RVU$w#M&ls1u#I=XyxK#1Jv6)vnX)H4=x1e&+V(mp7kOhic*T} z=tUj$zJcJeXD3uNujIo<4vnaOooapV8gi&P)o~z0bzwA_W_1we93KmJA5=Jg0%$(J$H~G5S4mtZ|>okVnO1bSx&I`kyZ~^0z^( zFM7c-s7uhd9px-t?z~au@i8o9*6g}BtwB_RW&y8DZ|X;XxW3r@*Hw#hZz@sW!`=iZ zQ(9J-hl_%U-ag5sGFK--uvgB;JVIu!2TP^AyO}Z;DL{}`Tk(Qk^l7lKI|#qFRGl@ufT)@h6hIa_TD?Hi6(BdZrNCN-|c zLmmLHLAuc5Q+$**Er`eA8BX!!KF?m~G`7zm4io=omA$hmk7P-H8$m8#?Ct57RI6n<~~I0w8@LB;hiC;Q0g1ZrmHwtLER1hLe=D z&uKw=Xpi3!)ox@<%^qz(aE?eQzm8G2Td;TQ)NxADr{cH@;C`6sQiU(op;G-;x32Y; z{!6PP?<+2P5oe&6m--q|cPRG`)lAC_O@A`nuaaZCA`WaaV(k0m_On5OkBtRO>oHfm zm$6+ZN`+QM{1i2`^$^80-h(x*T<^e&wt3jDOxk((9&;G~Kv@XFtXKKDoIRgUNlc#{tfa zlVrxsya9Kn81n|3RMe$hL33sGeu}57C=Kv?t1lA6Wg1dj1?M}ihJCbsNX`H~uDQ6_ zF3)#Re|D9o9-;}GA1|L4d2Z^I?=^opemfqMgHZw_wcrb$7YPpq#)mf1Ui8TZEyeqg z+9B6+l$0w1P7`du&J8FVG>4vC) z*VYTmHe4aZl1vvN)8a&zkfu5bM7$3Q3W)LZNmcOcOuT2slU*zN2=4p)ReS_9<(Zr9 zw`A-q#oD$o@Df~0e`GJgz{7IC`n3l(R4l7j=T)aww?onDkM(CISHPg9!4zjJbF^>@ zcv?B-X(jY-_yc05`CwW#(7ep623`*tAPE`)BoLmSX@W6;_|^M2%V;`!Z@EvuEvcys z^vQ|MPEj4pfm?InL=K$Hfje^Gt{k{K2ky;*PvyYrZ}Y6UQ{Wp{^O?Ize4h0o)*fcnFC2h?8=dV5pO zI7l}RxRe^G(hsVGqJ>@SRjPLR&9RM($)2v)s5?|?zGytMaql;Vg}A_&Y0H_Oe#(=^ zkz@`jl5E3TGUtYJeYcD9TD>9cuf{J!xqAv|O=+-gMwWJ~h-3ervvzs%g`(2$La6Hf z?713vh7lzZa+KFmMb){i>b?LBN>A~~ic=v0&>I;LSKoBVjDB@3r@Crv;yvj^?C3Gg zEX?IusqgKW^QzRSuPr;(BwG?aDnQdH#E8?UcO{NYM(KtWs{WN-L5|Mbb><2k7Z2HG z_htD7EReLrgTifpTNiYBXkLJj{^uO5i`YpJ3QmcT`_PMgD2+0T=x=UE@1Q$1Dl(p^ z6QjPw3Mf#}+_YK=-#GxJ7*%rvlV=fBp=EdC>uFXfBi+ixM*0lK3d&?4n?>9NFW7R| zV263D69$F30poJY^LTFtk*$f*O_%zTn$87iciXt^%AAZZ$W4B^U&xyrI*pHc-8G$4 z{+DO#!=DDKk-?@tPJgYW2WY43&(!|%IX1!5ngGeHD|maTmfFZMqdzn%M>}*y`RW#S zgi<(O#*D#yz!d@n0#_3K5iN_4@)?P5J$aDJb~ZxjmRWQQg=a^sa5)Uw5$O1AjUP#8 zXGUj8nhZf_wGZM`wTN$e_2BId>8+4n^`$RtsMd!E#Q629^-!K-^tt{xC>x{Q;<1L$S7RB_wyU@6WARSB5vOR z${?~{wMLkc(@$4)^lXu);gM|rRlhuo^|F_e&x)rTfUUoqZhsmgDD3p&N1M>BwHP{c ztXOm^mYO@2xt0_LQ&a~6Uxz2&-)?t@7kdrIQK?RW;0GkBU&ACAc(e@bx_yCpIcq0| zi$syc*;GV&hrCF=X9f?Rt%8>sdg@7k)|0JdroN@=;hw= z>K{HE3(Mo0gtka$5=t$csM=)Rllx+&UxArb7rd+3zv1kn&%c)b^!p5Vjenhfm#?vL z{;cWs`)m9CiT*mCzfcnfCv-Jgp&zy`#~*}wL=4Y5+K z%;J_iKsp8QilCZ!_b_-51Eh=o$NQrwY{WMt;ZJ!MeZJNZ25W0zXLRmrZM#yN0muVg zf$u+OG|9w8 zK}q)!Sd{Q=^~Vh$-gKC0OQw5Ven_F2@)y^LCgR(LewjP%gAEWvJZ@%8Rc&J48s@ph zy}7^s`XNh2^`P4*^_4~`qdOf-Q%k!z zOt9CE!ePDWflOv}#Lae>mM_cXeM`!nxKe8wHG|J>TE71U%R$`}-Yvs|dPL5&WnHRS z)w>%AtOf!Vu>uGgKW;-~pyAsLf+`Wsu3m%ird)qjSERHd8#w<=#SHllYj+YStLHy+ z{W>H+;D7!hN_JN*dH4&NJ}cMxK(T7kSJy>TlZL%~bNRJa-K<|bRlctd^ZoX+eC5a6 zHI#QOOAP{|ac(ZJ9zwZu^?c>Ouc3Wt^;|cXKV4`0L?hdj>%EUzqEFPZ4$oOb>+HX)>`#!N$)(@bC>=blcn=!oPu98q zq>;-S$8DVF@=@pZpQRc{`;T2k-csdU)%!<4A?Al$shXMU?vXSoa~L~a4lu*He`%`w zYo0SVhU`DfkYFQ>3xBmy7_M2Fs&V(H^WXicv|WrZx40A>u9iAgWm(}J<`8)pAIqe$ z{BapZuHu?TE>{uSh1rvv;y=sUlShsRN86LStRV$Q!aSH|luKiH7K0;s40Mam=p1S3 z7A)&U#pvK0h8m#-OvP~wvNiJ7jcaP+6LI58W3J0VHfQQNQ*Yw)>*6scO+xN1bib{4 z%VV9%@X{Gd3@_#q^7?D%J^i~oW+=O2hO#qeC>Qg?tm9&4x-n&p4{W?0ir*#U=dh<& z4thf7&}^OTnTX?g`ecQvO zLk?Z{sUI1M137Fom98+--3Uixr0Y&W9apN>VK%Vew?4n=4Dg|WmyNDHp zC~b3kAwF0!AlG(HT{R4PkR)O>HBN0;t!LF0>|n{llhWxxAYEIzPA+fo9>&J(KI)aJ zP2v_c1uv9N@{BeWzRZn2&pQE8ay3StU5gC5dt2F>pxvbTXi`+pLp45THjk@D2T>>i zUuX$|Kk$TxUH(vp?Y`wTsM~>p1NPNqLd`freJ40YX6iAwR?td}&>ZXqq*R_R&>?61_clnQsv z!mTDxeB6)Dn;pXza>m_y&W#BE``Ez z%;@zyTmB!*ko&VwuSx+GFSQxANq{ZO2w+A8PjlsL`HtmO{^ThMFkgP9HLOH<&d{^r z>bV3Bt_9b%aaIv!aS2(2Rg}w3zN9{1@%9y+ZsK&9Y>FS-ruO@kQeLWzRFu5_Oja-L z>|>9?7dy4%>|?&1v8!H*>qPV_RS|lxQM@ewZQwLrEz(a~c*Tb({pN*NhZeiZ1;>M! z=x#bjb+SC+-ys&=>U)HNW7)d%KxchRD{yv#i5WgvRA2l|NT(mQ6t~#oj%(8G9MaMg z+3Q5^+=@hbOD8-80dunIc?nhU*(Z*qP%W_ZXPQ&?spjP36(Xo)rjbvAp;*+)Ie&(_ zc?J{>Z%hSAYie!+d2WfF(Y>n=%QZy*)^&0ntabS^$S$G%*gvmOuO=EsL|d;?#J?*W z$MTKx6XlI^0oo6h$0pvFHj3-&UOR!%1RC&I-qHX?Hu-{ZQ%Qx;(^8=xya!VJSRg0O&-FxP2`AQ)A(uB2QgP*t*+^9Jq{e zn9~t=qPA2I6plz~deRyCkub|UCo1FA>1Y#cqnba*Z4+@P;FeF9erK9@Q??6H=go-K}`T3)^)TYw_ngz*_>8%Jm8Fc+m<2Gg` zxU}xWiEEI*lC-6K(&i_xch2LwgrDa4fuCmOiJU9H-U^2%*Y(Ie#wn_JvdW-$c(!~` zn=8s-Be^cE_tZuDb_^RXC6fb}V{B{rpa6-$8Uf-PDEwfkUwLr;Wm)ilbI?Zz6h;uy z$wVc{QJ2&vD$q5E^PSgCurHBKAMMn10yZ?U??%OX}J@vu(Y4i*~^qmZ$OR>7$A$N z5W>q%r{gWwd8ng+PahDDR9;2V7agJXfCoF5Z(F?ls&p3|07%KY)nD`?h(!EV^y<8u zhAn5I)!6Gh56Psv4TplN?<}BSOPgg!m$78W0C18Y*renKHeq2(ps^Y>p!d^q6^Zm2 z+obe6IotkHOBP_{36n>0Rk8uY6h;Y8&~AyLPJ1= zK+9&vNZmCu#OR@qY3@6WMcO?Ggw*VM}FrNuVN4ozK@b7sA41>=)J zGpw07T3_xq`bxq8b%Eqb7sKl^j*vV(odEly|HM;0zL05hT2)wkfU$e3*490dG3g#0 zM=0}@PaNcuHE%SaHF<+-#Kh4X!_v{8s@eeDpGzU6{#*q@^k)sh{karE>dz*GdK?<| zCoqQn=@z12acJB%IaS>Zy@>SwfPjTT4AV1s`7Tq|>F=0Yz=2CSsiUs8{B zfBleo4;niV|9B_B^sA3EDWn3%4dI|+gH@rZz&LpgO-XqTjW7USng9% zW@A`y=qB8l2WsaO8D>U?1H~xKXwB3k!}DT?x!BXQtvm#aJ*h_Q3A$oW8K|(Q3FtA} zShy`kc~z^f?3-z<83no8yC4E7$YAIBfFYL{uePiWo%I}$DbRpq(xp#JavP5>C?w3H$*PJUpxi}?ZkPC33E+EIO@ zuxy^+-cHkf%OV+ok$A-nLutI{nH#OCG{u9(%w)sdX0wYEM=Far(!Yr#S&CqP{+M?3 zi`2dlaZG#CHJ8SxkAbMkDs(pnK-i4zF7V0EmcdxPz030=u#!Vr`|cIgAF{INdf#(X z6shu@8%<@c&Utpok@Q^W>SVw2VF1p(UpIpBtsLC@x8_GQ^L4VF6I=2`^Aa4mU;a`! zaATgSm|y>L?7iUTWtlEv6)!FxILM~C#l?Bq5ek(1@x+d?*vp)feo|73c>uv;_U`*^ zXo}o-+~N1w*4H7B9G1jU3*`cw<+mLbQL7<@TuZ6NbFCMxcBz@&M<;TZuwE zJMh8bh0U0r{pt^(7&ihTNs#X^_~>w7f+SJJz&%vZ9*$CI-qF`QwNCT+tj!#IjKZEx z>z!%+#Gj-cYz_2*#Z)A=SuQ(3C7*#>l}<}xi|0^%f(rjrj+?JTTk8;BoSdvH+~$Kw zET!cj!%YsNd2^6XNWr+aY^4)gf0kSyYK#ZamZsBe;Zz+Xr={5JYO#$Z2BEjX5gfv` z|B1}BizmDye@hIei5I}8M^3Oy z)QK!*2+7PbM1N&q!yHF*;<47{)(O!z*IhnYjt&s(#pCW#Bm4qvwU))w96UA*CW!7> zaXnj_jUg?AjXD$GTsCEsw;a_i+O9TplTkk1JlA9^Ip}K|lb+^iOvP|?+l+V69-!x8 zc5B{7CDAuF>OCK$Bo)Uk+U#hw>f=iHV|1w8II38GdWzDECkm_e$6`L=I?{$(@*JVq z^UxqFRw0$;=`rW>9X{4Ig}h#_p1B=*-Ts2&c&a0M3~IQ>BV4;p_v=GwizyKJf@cBH zd(G&aZPMwIeaghVJ__26k>PAcHPo

0y{LQo`=j7-0(eRU9=fDyINJ!HRE@qQ(UV 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%0D8#+88Lt~IVRZZd8$ZU+Q+mvOgo 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 N__*SCYlc this._loadFile(o.result, t, n)), o.readAsArrayBuffer(e), r } close() { this._runCode.closeArchive(this._archive), this._wasmModule._free(this._filePtr), this._file = null, this._filePtr = null, this._archive = null } hasEncryptedData() { this._archive = this._runCode.openArchive(this._filePtr, this._fileLength, this._passphrase), this._runCode.getNextEntry(this._archive); const e = this._runCode.hasEncryptedEntries(this._archive); return 0 !== e && (e > 0 || null) } setPassphrase(e) { this._passphrase = e } *entries(r = !1, t = null) { let n; for (this._archive = this._runCode.openArchive(this._filePtr, this._fileLength, this._passphrase); 0 !== (n = this._runCode.getNextEntry(this._archive));) { const o = { size: this._runCode.getEntrySize(n), path: this._runCode.getEntryName(n), type: e[this._runCode.getEntryType(n)], ref: n }; if ("FILE" === o.type) { let e = o.path.split("/"); o.fileName = e[e.length - 1] } if (r && t !== o.path) this._runCode.skipEntry(this._archive); else { const e = this._runCode.getFileData(this._archive, o.size); if (e < 0) throw new Error(this._runCode.getError(this._archive)); o.fileData = this._wasmModule.HEAP8.slice(e, e + o.size), this._wasmModule._free(e) } yield o } } _loadFile(e, r, t) { try { const n = new Uint8Array(e); this._fileLength = n.length, this._filePtr = this._runCode.malloc(this._fileLength), this._wasmModule.HEAP8.set(n, this._filePtr), r() } catch (e) { t(e) } } _promiseHandles() { let e = null, r = null; return { promise: new Promise((t, n) => { e = t, r = n }), resolve: e, reject: r } } } var t, n = (t = "undefined" != typeof document && document.currentScript ? document.currentScript.src : void 0, function (e) { var r, n = void 0 !== (e = e || {}) ? e : {}, o = {}; for (r in n) n.hasOwnProperty(r) && (o[r] = n[r]); n.arguments = [], n.thisProgram = "./this.program", n.quit = function (e, r) { throw r }, n.preRun = [], n.postRun = []; var i, a, s = !1, u = !1; s = "object" == typeof window, u = "function" == typeof importScripts, i = "object" == typeof process && "function" == typeof require && !s && !u, a = !s && !i && !u; var c, f, l = ""; i ? (l = __dirname + "/", n.read = function (e, r) { var t; return c || (c = require("fs")), f || (f = require("path")), e = f.normalize(e), t = c.readFileSync(e), r ? t : t.toString() }, n.readBinary = function (e) { var r = n.read(e, !0); return r.buffer || (r = new Uint8Array(r)), y(r.buffer), r }, process.argv.length > 1 && (n.thisProgram = process.argv[1].replace(/\\/g, "/")), n.arguments = process.argv.slice(2), process.on("uncaughtException", function (e) { if (!(e instanceof We)) throw e }), process.on("unhandledRejection", Ke), n.quit = function (e) { process.exit(e) }, n.inspect = function () { return "[Emscripten Module object]" }) : a ? ("undefined" != typeof read && (n.read = function (e) { return read(e) }), n.readBinary = function (e) { var r; return "function" == typeof readbuffer ? new Uint8Array(readbuffer(e)) : (y("object" == typeof (r = read(e, "binary"))), r) }, "undefined" != typeof scriptArgs ? n.arguments = scriptArgs : void 0 !== arguments && (n.arguments = arguments), "function" == typeof quit && (n.quit = function (e) { quit(e) })) : (s || u) && (u ? l = self.location.href : document.currentScript && (l = document.currentScript.src), t && (l = t), l = 0 !== l.indexOf("blob:") ? l.substr(0, l.lastIndexOf("/") + 1) : "", n.read = function (e) { var r = new XMLHttpRequest; return r.open("GET", e, !1), r.send(null), r.responseText }, u && (n.readBinary = function (e) { var r = new XMLHttpRequest; return r.open("GET", e, !1), r.responseType = "arraybuffer", r.send(null), new Uint8Array(r.response) }), n.readAsync = function (e, r, t) { var n = new XMLHttpRequest; n.open("GET", e, !0), n.responseType = "arraybuffer", n.onload = function () { 200 == n.status || 0 == n.status && n.response ? r(n.response) : t() }, n.onerror = t, n.send(null) }, n.setWindowTitle = function (e) { document.title = e }); var d = n.print || ("undefined" != typeof console ? console.log.bind(console) : "undefined" != typeof print ? print : null), p = n.printErr || ("undefined" != typeof printErr ? printErr : "undefined" != typeof console && console.warn.bind(console) || d); for (r in o) o.hasOwnProperty(r) && (n[r] = o[r]); function m(e) { var r = M[q >> 2], t = r + e + 15 & -16; if (t <= Fe()) M[q >> 2] = t; else if (!Ae(t)) return 0; return r } function h(e) { switch (e) { 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 ("*" === e[e.length - 1]) return 4; if ("i" === e[0]) { var r = parseInt(e.substr(1)); return y(r % 8 == 0, "getNativeTypeSize invalid bits " + r + ", type " + e), r / 8 } return 0 } } o = void 0; var w, v = { "f64-rem": function (e, r) { return e % r }, debugger: function () { } }; new Array(0), "object" != typeof WebAssembly && p("no native wasm support detected"); var g = !1; function y(e, r) { e || Ke("Assertion failed: " + r) } function E(e) { var r = n["_" + e]; return y(r, "Cannot call unknown function " + e + ", make sure it is exported"), r } function _(e, r, t, n, o) { var i = { string: function (e) { var r = 0; if (null != e && 0 !== e) { var t = 1 + (e.length << 2); C(e, r = Ue(t), t) } return r }, array: function (e) { var r, t, n = Ue(e.length); return r = e, t = n, P.set(r, t), n } }, a = E(e), s = [], u = 0; if (n) for (var c = 0; c < n.length; c++) { var f = i[t[c]]; f ? (0 === u && (u = He()), s[c] = f(n[c])) : s[c] = n[c] } var l = a.apply(null, s); return l = function (e) { return "string" === r ? I(e) : "boolean" === r ? Boolean(e) : e }(l), 0 !== u && je(u), l } function b(e, r, t, n) { switch ("*" === (t = t || "i8").charAt(t.length - 1) && (t = "i32"), t) { case "i1": case "i8": P[e >> 0] = r; break; case "i16": T[e >> 1] = r; break; case "i32": M[e >> 2] = r; break; case "i64": tempI64 = [r >>> 0, (tempDouble = r, +J(tempDouble) >= 1 ? tempDouble > 0 ? (0 | re(+ee(tempDouble / 4294967296), 4294967295)) >>> 0 : ~~+Q((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], M[e >> 2] = tempI64[0], M[e + 4 >> 2] = tempI64[1]; break; case "float": B[e >> 2] = r; break; case "double": x[e >> 3] = r; break; default: Ke("invalid type for setValue: " + t) } } var k = 0, D = 3; function S(e, r, t, n) { var o, i; "number" == typeof e ? (o = !0, i = e) : (o = !1, i = e.length); var a, s = "string" == typeof r ? r : null; if (a = t == D ? n : [Le, Ue, m][t](Math.max(i, s ? 1 : r.length)), o) { var u; for (n = a, y(0 == (3 & a)), u = a + (-4 & i); n < u; n += 4)M[n >> 2] = 0; for (u = a + i; n < u;)P[n++ >> 0] = 0; return a } if ("i8" === s) return e.subarray || e.slice ? R.set(e, a) : R.set(new Uint8Array(e), a), a; for (var c, f, l, d = 0; d < i;) { var p = e[d]; 0 !== (c = s || r[d]) ? ("i64" == c && (c = "i32"), b(a + d, p, c), l !== c && (f = h(c), l = c), d += f) : d++ } return a } function F(e) { return $ ? Le(e) : m(e) } var A, P, R, T, M, B, x, O = "undefined" != typeof TextDecoder ? new TextDecoder("utf8") : void 0; function N(e, r, t) { for (var n = r + t, o = r; e[o] && !(o >= n);)++o; if (o - r > 16 && e.subarray && O) return O.decode(e.subarray(r, o)); for (var i = ""; r < o;) { var a = e[r++]; if (128 & a) { var s = 63 & e[r++]; if (192 != (224 & a)) { var u = 63 & e[r++]; if ((a = 224 == (240 & a) ? (15 & a) << 12 | s << 6 | u : (7 & a) << 18 | s << 12 | u << 6 | 63 & e[r++]) < 65536) i += String.fromCharCode(a); else { var c = a - 65536; i += String.fromCharCode(55296 | c >> 10, 56320 | 1023 & c) } } else i += String.fromCharCode((31 & a) << 6 | s) } else i += String.fromCharCode(a) } return i } function I(e, r) { return e ? N(R, e, r) : "" } function z(e, r, t, n) { if (!(n > 0)) return 0; for (var o = t, i = t + n - 1, a = 0; a < e.length; ++a) { var s = e.charCodeAt(a); if (s >= 55296 && s <= 57343 && (s = 65536 + ((1023 & s) << 10) | 1023 & e.charCodeAt(++a)), s <= 127) { if (t >= i) break; r[t++] = s } else if (s <= 2047) { if (t + 1 >= i) break; r[t++] = 192 | s >> 6, r[t++] = 128 | 63 & s } else if (s <= 65535) { if (t + 2 >= i) break; r[t++] = 224 | s >> 12, r[t++] = 128 | s >> 6 & 63, r[t++] = 128 | 63 & s } else { if (t + 3 >= i) break; r[t++] = 240 | s >> 18, r[t++] = 128 | s >> 12 & 63, r[t++] = 128 | s >> 6 & 63, r[t++] = 128 | 63 & s } } return r[t] = 0, t - o } function C(e, r, t) { return z(e, R, r, t) } function L(e) { for (var r = 0, t = 0; t < e.length; ++t) { var n = e.charCodeAt(t); n >= 55296 && n <= 57343 && (n = 65536 + ((1023 & n) << 10) | 1023 & e.charCodeAt(++t)), n <= 127 ? ++r : r += n <= 2047 ? 2 : n <= 65535 ? 3 : 4 } return r } function U(e, r, t) { for (var n = 0; n < e.length; ++n)P[r++ >> 0] = e.charCodeAt(n); t || (P[r >> 0] = 0) } function j() { var e = function () { var e = new Error; if (!e.stack) { try { throw new Error(0) } catch (r) { e = r } if (!e.stack) return "(no stack trace available)" } return e.stack.toString() }(); return n.extraStackTrace && (e += "\n" + n.extraStackTrace()), e.replace(/__Z[\w\d_]+/g, function (e) { var r = e; return e === r ? e : r + " [" + e + "]" }) } function H(e, r) { return e % r > 0 && (e += r - e % r), e } function W() { n.HEAP8 = P = new Int8Array(A), n.HEAP16 = T = new Int16Array(A), n.HEAP32 = M = new Int32Array(A), n.HEAPU8 = R = new Uint8Array(A), n.HEAPU16 = new Uint16Array(A), n.HEAPU32 = new Uint32Array(A), n.HEAPF32 = B = new Float32Array(A), n.HEAPF64 = x = new Float64Array(A) } "undefined" != typeof TextDecoder && new TextDecoder("utf-16le"); var q = 277552, K = n.TOTAL_MEMORY || 16777216; function Z(e) { for (; e.length > 0;) { var r = e.shift(); if ("function" != typeof r) { var t = r.func; "number" == typeof t ? void 0 === r.arg ? n.dynCall_v(t) : n.dynCall_vi(t, r.arg) : t(void 0 === r.arg ? null : r.arg) } else r() } } K < 5242880 && p("TOTAL_MEMORY should be larger than TOTAL_STACK, was " + K + "! (TOTAL_STACK=5242880)"), n.buffer ? A = n.buffer : "object" == typeof WebAssembly && "function" == typeof WebAssembly.Memory ? (w = new WebAssembly.Memory({ initial: K / 65536 }), A = w.buffer) : A = new ArrayBuffer(K), W(), M[q >> 2] = 5520464; var V = [], X = [], Y = [], G = [], $ = !1, J = Math.abs, Q = Math.ceil, ee = Math.floor, re = Math.min, te = 0, ne = null; function oe(e) { te++, n.monitorRunDependencies && n.monitorRunDependencies(te) } function ie(e) { if (te--, n.monitorRunDependencies && n.monitorRunDependencies(te), 0 == te && ne) { var r = ne; ne = null, r() } } n.preloadedImages = {}, n.preloadedAudios = {}; var ae = "data:application/octet-stream;base64,"; function se(e) { return String.prototype.startsWith ? e.startsWith(ae) : 0 === e.indexOf(ae) } var ue, ce = "libarchive.wasm"; function fe() { try { if (n.wasmBinary) return new Uint8Array(n.wasmBinary); if (n.readBinary) return n.readBinary(ce); throw "both async and sync fetching of the wasm failed" } catch (e) { Ke(e) } } function le(e) { var r = { env: e, global: { NaN: NaN, Infinity: 1 / 0 }, "global.Math": Math, asm2wasm: v }; function t(e, r) { var t = e.exports; n.asm = t, ie() } if (oe(), n.instantiateWasm) try { return n.instantiateWasm(r, t) } catch (e) { return p("Module.instantiateWasm callback failed with error: " + e), !1 } function o(e) { t(e.instance) } function i(e) { (n.wasmBinary || !s && !u || "function" != typeof fetch ? new Promise(function (e, r) { e(fe()) }) : fetch(ce, { credentials: "same-origin" }).then(function (e) { if (!e.ok) throw "failed to load wasm binary file at '" + ce + "'"; return e.arrayBuffer() }).catch(function () { return fe() })).then(function (e) { return WebAssembly.instantiate(e, r) }).then(e, function (e) { p("failed to asynchronously prepare wasm: " + e), Ke(e) }) } return n.wasmBinary || "function" != typeof WebAssembly.instantiateStreaming || se(ce) || "function" != typeof fetch ? i(o) : WebAssembly.instantiateStreaming(fetch(ce, { credentials: "same-origin" }), r).then(o, function (e) { p("wasm streaming compile failed: " + e), p("falling back to ArrayBuffer instantiation"), i(o) }), {} } se(ce) || (ue = ce, ce = n.locateFile ? n.locateFile(ue, l) : l + ue), n.asm = function (e, r, t) { return r.memory = w, r.table = new WebAssembly.Table({ initial: 507, maximum: 507, element: "anyfunc" }), r.__memory_base = 1024, r.__table_base = 0, le(r) }, X.push({ func: function () { Ne() } }); var de = {}, pe = { splitPath: function (e) { return /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1) }, normalizeArray: function (e, r) { for (var t = 0, n = e.length - 1; n >= 0; n--) { var o = e[n]; "." === o ? e.splice(n, 1) : ".." === o ? (e.splice(n, 1), t++) : t && (e.splice(n, 1), t--) } if (r) for (; t; t--)e.unshift(".."); return e }, normalize: function (e) { var r = "/" === e.charAt(0), t = "/" === e.substr(-1); return (e = pe.normalizeArray(e.split("/").filter(function (e) { return !!e }), !r).join("/")) || r || (e = "."), e && t && (e += "/"), (r ? "/" : "") + e }, dirname: function (e) { var r = pe.splitPath(e), t = r[0], n = r[1]; return t || n ? (n && (n = n.substr(0, n.length - 1)), t + n) : "." }, basename: function (e) { if ("/" === e) return "/"; var r = e.lastIndexOf("/"); return -1 === r ? e : e.substr(r + 1) }, extname: function (e) { return pe.splitPath(e)[3] }, join: function () { var e = Array.prototype.slice.call(arguments, 0); return pe.normalize(e.join("/")) }, join2: function (e, r) { return pe.normalize(e + "/" + r) } }; function me(e) { return n.___errno_location && (M[n.___errno_location() >> 2] = e), e } var he = { resolve: function () { for (var e = "", r = !1, t = arguments.length - 1; t >= -1 && !r; t--) { var n = t >= 0 ? arguments[t] : _e.cwd(); if ("string" != typeof n) throw new TypeError("Arguments to path.resolve must be strings"); if (!n) return ""; e = n + "/" + e, r = "/" === n.charAt(0) } return (r ? "/" : "") + (e = pe.normalizeArray(e.split("/").filter(function (e) { return !!e }), !r).join("/")) || "." }, relative: function (e, r) { function t(e) { for (var r = 0; r < e.length && "" === e[r]; r++); for (var t = e.length - 1; t >= 0 && "" === e[t]; t--); return r > t ? [] : e.slice(r, t - r + 1) } e = he.resolve(e).substr(1), r = he.resolve(r).substr(1); for (var n = t(e.split("/")), o = t(r.split("/")), i = Math.min(n.length, o.length), a = i, s = 0; s < i; s++)if (n[s] !== o[s]) { a = s; break } var u = []; for (s = a; s < n.length; s++)u.push(".."); return (u = u.concat(o.slice(a))).join("/") } }, we = { ttys: [], init: function () { }, shutdown: function () { }, register: function (e, r) { we.ttys[e] = { input: [], output: [], ops: r }, _e.registerDevice(e, we.stream_ops) }, stream_ops: { open: function (e) { var r = we.ttys[e.node.rdev]; if (!r) throw new _e.ErrnoError(19); e.tty = r, e.seekable = !1 }, close: function (e) { e.tty.ops.flush(e.tty) }, flush: function (e) { e.tty.ops.flush(e.tty) }, read: function (e, r, t, n, o) { if (!e.tty || !e.tty.ops.get_char) throw new _e.ErrnoError(6); for (var i = 0, a = 0; a < n; a++) { var s; try { s = e.tty.ops.get_char(e.tty) } catch (e) { throw new _e.ErrnoError(5) } if (void 0 === s && 0 === i) throw new _e.ErrnoError(11); if (null == s) break; i++, r[t + a] = s } return i && (e.node.timestamp = Date.now()), i }, write: function (e, r, t, n, o) { if (!e.tty || !e.tty.ops.put_char) throw new _e.ErrnoError(6); try { for (var i = 0; i < n; i++)e.tty.ops.put_char(e.tty, r[t + i]) } catch (e) { throw new _e.ErrnoError(5) } return n && (e.node.timestamp = Date.now()), i } }, default_tty_ops: { get_char: function (e) { if (!e.input.length) { var r = null; if (i) { var t = new Buffer(256), n = 0, o = "win32" != process.platform, a = process.stdin.fd; if (o) { var s = !1; try { a = Te.openSync("/dev/stdin", "r"), s = !0 } catch (e) { } } try { n = Te.readSync(a, t, 0, 256, null) } catch (e) { if (-1 == e.toString().indexOf("EOF")) throw e; n = 0 } s && Te.closeSync(a), r = n > 0 ? t.slice(0, n).toString("utf-8") : null } else "undefined" != typeof window && "function" == typeof window.prompt ? null !== (r = window.prompt("Input: ")) && (r += "\n") : "function" == typeof readline && null !== (r = readline()) && (r += "\n"); if (!r) return null; e.input = Be(r, !0) } return e.input.shift() }, put_char: function (e, r) { null === r || 10 === r ? (d(N(e.output, 0)), e.output = []) : 0 != r && e.output.push(r) }, flush: function (e) { e.output && e.output.length > 0 && (d(N(e.output, 0)), e.output = []) } }, default_tty1_ops: { put_char: function (e, r) { null === r || 10 === r ? (p(N(e.output, 0)), e.output = []) : 0 != r && e.output.push(r) }, flush: function (e) { e.output && e.output.length > 0 && (p(N(e.output, 0)), e.output = []) } } }, ve = { ops_table: null, mount: function (e) { return ve.createNode(null, "/", 16895, 0) }, createNode: function (e, r, t, n) { if (_e.isBlkdev(t) || _e.isFIFO(t)) throw new _e.ErrnoError(1); ve.ops_table || (ve.ops_table = { dir: { node: { getattr: ve.node_ops.getattr, setattr: ve.node_ops.setattr, lookup: ve.node_ops.lookup, mknod: ve.node_ops.mknod, rename: ve.node_ops.rename, unlink: ve.node_ops.unlink, rmdir: ve.node_ops.rmdir, readdir: ve.node_ops.readdir, symlink: ve.node_ops.symlink }, stream: { llseek: ve.stream_ops.llseek } }, file: { node: { getattr: ve.node_ops.getattr, setattr: ve.node_ops.setattr }, stream: { llseek: ve.stream_ops.llseek, read: ve.stream_ops.read, write: ve.stream_ops.write, allocate: ve.stream_ops.allocate, mmap: ve.stream_ops.mmap, msync: ve.stream_ops.msync } }, link: { node: { getattr: ve.node_ops.getattr, setattr: ve.node_ops.setattr, readlink: ve.node_ops.readlink }, stream: {} }, chrdev: { node: { getattr: ve.node_ops.getattr, setattr: ve.node_ops.setattr }, stream: _e.chrdev_stream_ops } }); var o = _e.createNode(e, r, t, n); return _e.isDir(o.mode) ? (o.node_ops = ve.ops_table.dir.node, o.stream_ops = ve.ops_table.dir.stream, o.contents = {}) : _e.isFile(o.mode) ? (o.node_ops = ve.ops_table.file.node, o.stream_ops = ve.ops_table.file.stream, o.usedBytes = 0, o.contents = null) : _e.isLink(o.mode) ? (o.node_ops = ve.ops_table.link.node, o.stream_ops = ve.ops_table.link.stream) : _e.isChrdev(o.mode) && (o.node_ops = ve.ops_table.chrdev.node, o.stream_ops = ve.ops_table.chrdev.stream), o.timestamp = Date.now(), e && (e.contents[r] = o), o }, getFileDataAsRegularArray: function (e) { if (e.contents && e.contents.subarray) { for (var r = [], t = 0; t < e.usedBytes; ++t)r.push(e.contents[t]); return r } return e.contents }, getFileDataAsTypedArray: function (e) { return e.contents ? e.contents.subarray ? e.contents.subarray(0, e.usedBytes) : new Uint8Array(e.contents) : new Uint8Array }, expandFileStorage: function (e, r) { var t = e.contents ? e.contents.length : 0; if (!(t >= r)) { r = Math.max(r, t * (t < 1048576 ? 2 : 1.125) | 0), 0 != t && (r = Math.max(r, 256)); var n = e.contents; e.contents = new Uint8Array(r), e.usedBytes > 0 && e.contents.set(n.subarray(0, e.usedBytes), 0) } }, resizeFileStorage: function (e, r) { if (e.usedBytes != r) { if (0 == r) return e.contents = null, void (e.usedBytes = 0); if (!e.contents || e.contents.subarray) { var t = e.contents; return e.contents = new Uint8Array(new ArrayBuffer(r)), t && e.contents.set(t.subarray(0, Math.min(r, e.usedBytes))), void (e.usedBytes = r) } if (e.contents || (e.contents = []), e.contents.length > r) e.contents.length = r; else for (; e.contents.length < r;)e.contents.push(0); e.usedBytes = r } }, node_ops: { getattr: function (e) { var r = {}; return r.dev = _e.isChrdev(e.mode) ? e.id : 1, r.ino = e.id, r.mode = e.mode, r.nlink = 1, r.uid = 0, r.gid = 0, r.rdev = e.rdev, _e.isDir(e.mode) ? r.size = 4096 : _e.isFile(e.mode) ? r.size = e.usedBytes : _e.isLink(e.mode) ? r.size = e.link.length : r.size = 0, r.atime = new Date(e.timestamp), r.mtime = new Date(e.timestamp), r.ctime = new Date(e.timestamp), r.blksize = 4096, r.blocks = Math.ceil(r.size / r.blksize), r }, setattr: function (e, r) { void 0 !== r.mode && (e.mode = r.mode), void 0 !== r.timestamp && (e.timestamp = r.timestamp), void 0 !== r.size && ve.resizeFileStorage(e, r.size) }, lookup: function (e, r) { throw _e.genericErrors[2] }, mknod: function (e, r, t, n) { return ve.createNode(e, r, t, n) }, rename: function (e, r, t) { if (_e.isDir(e.mode)) { var n; try { n = _e.lookupNode(r, t) } catch (e) { } if (n) for (var o in n.contents) throw new _e.ErrnoError(39) } delete e.parent.contents[e.name], e.name = t, r.contents[t] = e, e.parent = r }, unlink: function (e, r) { delete e.contents[r] }, rmdir: function (e, r) { var t = _e.lookupNode(e, r); for (var n in t.contents) throw new _e.ErrnoError(39); delete e.contents[r] }, readdir: function (e) { var r = [".", ".."]; for (var t in e.contents) e.contents.hasOwnProperty(t) && r.push(t); return r }, symlink: function (e, r, t) { var n = ve.createNode(e, r, 41471, 0); return n.link = t, n }, readlink: function (e) { if (!_e.isLink(e.mode)) throw new _e.ErrnoError(22); return e.link } }, stream_ops: { read: function (e, r, t, n, o) { var i = e.node.contents; if (o >= e.node.usedBytes) return 0; var a = Math.min(e.node.usedBytes - o, n); if (a > 8 && i.subarray) r.set(i.subarray(o, o + a), t); else for (var s = 0; s < a; s++)r[t + s] = i[o + s]; return a }, write: function (e, r, t, n, o, i) { if (!n) return 0; var a = e.node; if (a.timestamp = Date.now(), r.subarray && (!a.contents || a.contents.subarray)) { if (0 === a.usedBytes && 0 === o) return a.contents = new Uint8Array(r.subarray(t, t + n)), a.usedBytes = n, n; if (o + n <= a.usedBytes) return a.contents.set(r.subarray(t, t + n), o), n } if (ve.expandFileStorage(a, o + n), a.contents.subarray && r.subarray) a.contents.set(r.subarray(t, t + n), o); else for (var s = 0; s < n; s++)a.contents[o + s] = r[t + s]; return a.usedBytes = Math.max(a.usedBytes, o + n), n }, llseek: function (e, r, t) { var n = r; if (1 === t ? n += e.position : 2 === t && _e.isFile(e.node.mode) && (n += e.node.usedBytes), n < 0) throw new _e.ErrnoError(22); return n }, allocate: function (e, r, t) { ve.expandFileStorage(e.node, r + t), e.node.usedBytes = Math.max(e.node.usedBytes, r + t) }, mmap: function (e, r, t, n, o, i, a) { if (!_e.isFile(e.node.mode)) throw new _e.ErrnoError(19); var s, u, c = e.node.contents; if (2 & a || c.buffer !== r && c.buffer !== r.buffer) { if ((o > 0 || o + n < e.node.usedBytes) && (c = c.subarray ? c.subarray(o, o + n) : Array.prototype.slice.call(c, o, o + n)), u = !0, !(s = Le(n))) throw new _e.ErrnoError(12); r.set(c, s) } else u = !1, s = c.byteOffset; return { ptr: s, allocated: u } }, msync: function (e, r, t, n, o) { if (!_e.isFile(e.node.mode)) throw new _e.ErrnoError(19); return 2 & o ? 0 : (ve.stream_ops.write(e, r, 0, n, t, !1), 0) } } }, ge = { dbs: {}, indexedDB: function () { if ("undefined" != typeof indexedDB) return indexedDB; var e = null; return "object" == typeof window && (e = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB), y(e, "IDBFS used, but indexedDB not supported"), e }, DB_VERSION: 21, DB_STORE_NAME: "FILE_DATA", mount: function (e) { return ve.mount.apply(null, arguments) }, syncfs: function (e, r, t) { ge.getLocalSet(e, function (n, o) { if (n) return t(n); ge.getRemoteSet(e, function (e, n) { if (e) return t(e); var i = r ? n : o, a = r ? o : n; ge.reconcile(i, a, t) }) }) }, getDB: function (e, r) { var t, n = ge.dbs[e]; if (n) return r(null, n); try { t = ge.indexedDB().open(e, ge.DB_VERSION) } catch (e) { return r(e) } if (!t) return r("Unable to connect to IndexedDB"); t.onupgradeneeded = function (e) { var r, t = e.target.result, n = e.target.transaction; (r = t.objectStoreNames.contains(ge.DB_STORE_NAME) ? n.objectStore(ge.DB_STORE_NAME) : t.createObjectStore(ge.DB_STORE_NAME)).indexNames.contains("timestamp") || r.createIndex("timestamp", "timestamp", { unique: !1 }) }, t.onsuccess = function () { n = t.result, ge.dbs[e] = n, r(null, n) }, t.onerror = function (e) { r(this.error), e.preventDefault() } }, getLocalSet: function (e, r) { var t = {}; function n(e) { return "." !== e && ".." !== e } function o(e) { return function (r) { return pe.join2(e, r) } } for (var i = _e.readdir(e.mountpoint).filter(n).map(o(e.mountpoint)); i.length;) { var a, s = i.pop(); try { a = _e.stat(s) } catch (e) { return r(e) } _e.isDir(a.mode) && i.push.apply(i, _e.readdir(s).filter(n).map(o(s))), t[s] = { timestamp: a.mtime } } return r(null, { type: "local", entries: t }) }, getRemoteSet: function (e, r) { var t = {}; ge.getDB(e.mountpoint, function (e, n) { if (e) return r(e); try { var o = n.transaction([ge.DB_STORE_NAME], "readonly"); o.onerror = function (e) { r(this.error), e.preventDefault() }, o.objectStore(ge.DB_STORE_NAME).index("timestamp").openKeyCursor().onsuccess = function (e) { var o = e.target.result; if (!o) return r(null, { type: "remote", db: n, entries: t }); t[o.primaryKey] = { timestamp: o.key }, o.continue() } } catch (e) { return r(e) } }) }, loadLocalEntry: function (e, r) { var t, n; try { n = _e.lookupPath(e).node, t = _e.stat(e) } catch (e) { return r(e) } return _e.isDir(t.mode) ? r(null, { timestamp: t.mtime, mode: t.mode }) : _e.isFile(t.mode) ? (n.contents = ve.getFileDataAsTypedArray(n), r(null, { timestamp: t.mtime, mode: t.mode, contents: n.contents })) : r(new Error("node type not supported")) }, storeLocalEntry: function (e, r, t) { try { if (_e.isDir(r.mode)) _e.mkdir(e, r.mode); else { if (!_e.isFile(r.mode)) return t(new Error("node type not supported")); _e.writeFile(e, r.contents, { canOwn: !0 }) } _e.chmod(e, r.mode), _e.utime(e, r.timestamp, r.timestamp) } catch (e) { return t(e) } t(null) }, removeLocalEntry: function (e, r) { try { _e.lookupPath(e); var t = _e.stat(e); _e.isDir(t.mode) ? _e.rmdir(e) : _e.isFile(t.mode) && _e.unlink(e) } catch (e) { return r(e) } r(null) }, loadRemoteEntry: function (e, r, t) { var n = e.get(r); n.onsuccess = function (e) { t(null, e.target.result) }, n.onerror = function (e) { t(this.error), e.preventDefault() } }, storeRemoteEntry: function (e, r, t, n) { var o = e.put(t, r); o.onsuccess = function () { n(null) }, o.onerror = function (e) { n(this.error), e.preventDefault() } }, removeRemoteEntry: function (e, r, t) { var n = e.delete(r); n.onsuccess = function () { t(null) }, n.onerror = function (e) { t(this.error), e.preventDefault() } }, reconcile: function (e, r, t) { var n = 0, o = []; Object.keys(e.entries).forEach(function (t) { var i = e.entries[t], a = r.entries[t]; (!a || i.timestamp > a.timestamp) && (o.push(t), n++) }); var i = []; if (Object.keys(r.entries).forEach(function (t) { r.entries[t], e.entries[t] || (i.push(t), n++) }), !n) return t(null); var a = 0, s = ("remote" === e.type ? e.db : r.db).transaction([ge.DB_STORE_NAME], "readwrite"), u = s.objectStore(ge.DB_STORE_NAME); function c(e) { return e ? c.errored ? void 0 : (c.errored = !0, t(e)) : ++a >= n ? t(null) : void 0 } s.onerror = function (e) { c(this.error), e.preventDefault() }, o.sort().forEach(function (e) { "local" === r.type ? ge.loadRemoteEntry(u, e, function (r, t) { if (r) return c(r); ge.storeLocalEntry(e, t, c) }) : ge.loadLocalEntry(e, function (r, t) { if (r) return c(r); ge.storeRemoteEntry(u, e, t, c) }) }), i.sort().reverse().forEach(function (e) { "local" === r.type ? ge.removeLocalEntry(e, c) : ge.removeRemoteEntry(u, e, c) }) } }, ye = { isWindows: !1, staticInit: function () { ye.isWindows = !!process.platform.match(/^win/); var e = process.binding("constants"); e.fs && (e = e.fs), ye.flagsForNodeMap = { 1024: e.O_APPEND, 64: e.O_CREAT, 128: e.O_EXCL, 0: e.O_RDONLY, 2: e.O_RDWR, 4096: e.O_SYNC, 512: e.O_TRUNC, 1: e.O_WRONLY } }, bufferFrom: function (e) { return Buffer.alloc ? Buffer.from(e) : new Buffer(e) }, mount: function (e) { return y(i), ye.createNode(null, "/", ye.getMode(e.opts.root), 0) }, createNode: function (e, r, t, n) { if (!_e.isDir(t) && !_e.isFile(t) && !_e.isLink(t)) throw new _e.ErrnoError(22); var o = _e.createNode(e, r, t); return o.node_ops = ye.node_ops, o.stream_ops = ye.stream_ops, o }, getMode: function (e) { var r; try { r = Te.lstatSync(e), ye.isWindows && (r.mode = r.mode | (292 & r.mode) >> 2) } catch (e) { if (!e.code) throw e; throw new _e.ErrnoError(-e.errno) } return r.mode }, realPath: function (e) { for (var r = []; e.parent !== e;)r.push(e.name), e = e.parent; return r.push(e.mount.opts.root), r.reverse(), pe.join.apply(null, r) }, flagsForNode: function (e) { e &= -2097153, e &= -2049, e &= -32769, e &= -524289; var r = 0; for (var t in ye.flagsForNodeMap) e & t && (r |= ye.flagsForNodeMap[t], e ^= t); if (e) throw new _e.ErrnoError(22); return r }, node_ops: { getattr: function (e) { var r, t = ye.realPath(e); try { r = Te.lstatSync(t) } catch (e) { if (!e.code) throw e; throw new _e.ErrnoError(-e.errno) } return ye.isWindows && !r.blksize && (r.blksize = 4096), ye.isWindows && !r.blocks && (r.blocks = (r.size + r.blksize - 1) / r.blksize | 0), { dev: r.dev, ino: r.ino, mode: r.mode, nlink: r.nlink, uid: r.uid, gid: r.gid, rdev: r.rdev, size: r.size, atime: r.atime, mtime: r.mtime, ctime: r.ctime, blksize: r.blksize, blocks: r.blocks } }, setattr: function (e, r) { var t = ye.realPath(e); try { if (void 0 !== r.mode && (Te.chmodSync(t, r.mode), e.mode = r.mode), void 0 !== r.timestamp) { var n = new Date(r.timestamp); Te.utimesSync(t, n, n) } void 0 !== r.size && Te.truncateSync(t, r.size) } catch (e) { if (!e.code) throw e; throw new _e.ErrnoError(-e.errno) } }, lookup: function (e, r) { var t = pe.join2(ye.realPath(e), r), n = ye.getMode(t); return ye.createNode(e, r, n) }, mknod: function (e, r, t, n) { var o = ye.createNode(e, r, t, n), i = ye.realPath(o); try { _e.isDir(o.mode) ? Te.mkdirSync(i, o.mode) : Te.writeFileSync(i, "", { mode: o.mode }) } catch (e) { if (!e.code) throw e; throw new _e.ErrnoError(-e.errno) } return o }, rename: function (e, r, t) { var n = ye.realPath(e), o = pe.join2(ye.realPath(r), t); try { Te.renameSync(n, o) } catch (e) { if (!e.code) throw e; throw new _e.ErrnoError(-e.errno) } }, unlink: function (e, r) { var t = pe.join2(ye.realPath(e), r); try { Te.unlinkSync(t) } catch (e) { if (!e.code) throw e; throw new _e.ErrnoError(-e.errno) } }, rmdir: function (e, r) { var t = pe.join2(ye.realPath(e), r); try { Te.rmdirSync(t) } catch (e) { if (!e.code) throw e; throw new _e.ErrnoError(-e.errno) } }, readdir: function (e) { var r = ye.realPath(e); try { return Te.readdirSync(r) } catch (e) { if (!e.code) throw e; throw new _e.ErrnoError(-e.errno) } }, symlink: function (e, r, t) { var n = pe.join2(ye.realPath(e), r); try { Te.symlinkSync(t, n) } catch (e) { if (!e.code) throw e; throw new _e.ErrnoError(-e.errno) } }, readlink: function (e) { var r = ye.realPath(e); try { return r = Te.readlinkSync(r), r = Me.relative(Me.resolve(e.mount.opts.root), r) } catch (e) { if (!e.code) throw e; throw new _e.ErrnoError(-e.errno) } } }, stream_ops: { open: function (e) { var r = ye.realPath(e.node); try { _e.isFile(e.node.mode) && (e.nfd = Te.openSync(r, ye.flagsForNode(e.flags))) } catch (e) { if (!e.code) throw e; throw new _e.ErrnoError(-e.errno) } }, close: function (e) { try { _e.isFile(e.node.mode) && e.nfd && Te.closeSync(e.nfd) } catch (e) { if (!e.code) throw e; throw new _e.ErrnoError(-e.errno) } }, read: function (e, r, t, n, o) { if (0 === n) return 0; try { return Te.readSync(e.nfd, ye.bufferFrom(r.buffer), t, n, o) } catch (e) { throw new _e.ErrnoError(-e.errno) } }, write: function (e, r, t, n, o) { try { return Te.writeSync(e.nfd, ye.bufferFrom(r.buffer), t, n, o) } catch (e) { throw new _e.ErrnoError(-e.errno) } }, llseek: function (e, r, t) { var n = r; if (1 === t) n += e.position; else if (2 === t && _e.isFile(e.node.mode)) try { n += Te.fstatSync(e.nfd).size } catch (e) { throw new _e.ErrnoError(-e.errno) } if (n < 0) throw new _e.ErrnoError(22); return n } } }, Ee = { DIR_MODE: 16895, FILE_MODE: 33279, reader: null, mount: function (e) { y(u), Ee.reader || (Ee.reader = new FileReaderSync); var r = Ee.createNode(null, "/", Ee.DIR_MODE, 0), t = {}; function n(e) { for (var n = e.split("/"), o = r, i = 0; i < n.length - 1; i++) { var a = n.slice(0, i + 1).join("/"); t[a] || (t[a] = Ee.createNode(o, n[i], Ee.DIR_MODE, 0)), o = t[a] } return o } function o(e) { var r = e.split("/"); return r[r.length - 1] } return Array.prototype.forEach.call(e.opts.files || [], function (e) { Ee.createNode(n(e.name), o(e.name), Ee.FILE_MODE, 0, e, e.lastModifiedDate) }), (e.opts.blobs || []).forEach(function (e) { Ee.createNode(n(e.name), o(e.name), Ee.FILE_MODE, 0, e.data) }), (e.opts.packages || []).forEach(function (e) { e.metadata.files.forEach(function (r) { var t = r.filename.substr(1); Ee.createNode(n(t), o(t), Ee.FILE_MODE, 0, e.blob.slice(r.start, r.end)) }) }), r }, createNode: function (e, r, t, n, o, i) { var a = _e.createNode(e, r, t); return a.mode = t, a.node_ops = Ee.node_ops, a.stream_ops = Ee.stream_ops, a.timestamp = (i || new Date).getTime(), y(Ee.FILE_MODE !== Ee.DIR_MODE), t === Ee.FILE_MODE ? (a.size = o.size, a.contents = o) : (a.size = 4096, a.contents = {}), e && (e.contents[r] = a), a }, node_ops: { getattr: function (e) { return { dev: 1, ino: void 0, mode: e.mode, nlink: 1, uid: 0, gid: 0, rdev: void 0, size: e.size, atime: new Date(e.timestamp), mtime: new Date(e.timestamp), ctime: new Date(e.timestamp), blksize: 4096, blocks: Math.ceil(e.size / 4096) } }, setattr: function (e, r) { void 0 !== r.mode && (e.mode = r.mode), void 0 !== r.timestamp && (e.timestamp = r.timestamp) }, lookup: function (e, r) { throw new _e.ErrnoError(2) }, mknod: function (e, r, t, n) { throw new _e.ErrnoError(1) }, rename: function (e, r, t) { throw new _e.ErrnoError(1) }, unlink: function (e, r) { throw new _e.ErrnoError(1) }, rmdir: function (e, r) { throw new _e.ErrnoError(1) }, readdir: function (e) { var r = [".", ".."]; for (var t in e.contents) e.contents.hasOwnProperty(t) && r.push(t); return r }, symlink: function (e, r, t) { throw new _e.ErrnoError(1) }, readlink: function (e) { throw new _e.ErrnoError(1) } }, stream_ops: { read: function (e, r, t, n, o) { if (o >= e.node.size) return 0; var i = e.node.contents.slice(o, o + n), a = Ee.reader.readAsArrayBuffer(i); return r.set(new Uint8Array(a), t), i.size }, write: function (e, r, t, n, o) { throw new _e.ErrnoError(5) }, llseek: function (e, r, t) { var n = r; if (1 === t ? n += e.position : 2 === t && _e.isFile(e.node.mode) && (n += e.node.size), n < 0) throw new _e.ErrnoError(22); return n } } }, _e = { root: null, mounts: [], devices: {}, streams: [], nextInode: 1, nameTable: null, currentPath: "/", initialized: !1, ignorePermissions: !0, trackingDelegate: {}, tracking: { openFlags: { READ: 1, WRITE: 2 } }, ErrnoError: null, genericErrors: {}, filesystems: null, syncFSRequests: 0, handleFSError: function (e) { if (!(e instanceof _e.ErrnoError)) throw e + " : " + j(); return me(e.errno) }, lookupPath: function (e, r) { if (r = r || {}, !(e = he.resolve(_e.cwd(), e))) return { path: "", node: null }; var t = { follow_mount: !0, recurse_count: 0 }; for (var n in t) void 0 === r[n] && (r[n] = t[n]); if (r.recurse_count > 8) throw new _e.ErrnoError(40); for (var o = pe.normalizeArray(e.split("/").filter(function (e) { return !!e }), !1), i = _e.root, a = "/", s = 0; s < o.length; s++) { var u = s === o.length - 1; if (u && r.parent) break; if (i = _e.lookupNode(i, o[s]), a = pe.join2(a, o[s]), _e.isMountpoint(i) && (!u || u && r.follow_mount) && (i = i.mounted.root), !u || r.follow) for (var c = 0; _e.isLink(i.mode);) { var f = _e.readlink(a); if (a = he.resolve(pe.dirname(a), f), i = _e.lookupPath(a, { recurse_count: r.recurse_count }).node, c++ > 40) throw new _e.ErrnoError(40) } } return { path: a, node: i } }, getPath: function (e) { for (var r; ;) { if (_e.isRoot(e)) { var t = e.mount.mountpoint; return r ? "/" !== t[t.length - 1] ? t + "/" + r : t + r : t } r = r ? e.name + "/" + r : e.name, e = e.parent } }, hashName: function (e, r) { for (var t = 0, n = 0; n < r.length; n++)t = (t << 5) - t + r.charCodeAt(n) | 0; return (e + t >>> 0) % _e.nameTable.length }, hashAddNode: function (e) { var r = _e.hashName(e.parent.id, e.name); e.name_next = _e.nameTable[r], _e.nameTable[r] = e }, hashRemoveNode: function (e) { var r = _e.hashName(e.parent.id, e.name); if (_e.nameTable[r] === e) _e.nameTable[r] = e.name_next; else for (var t = _e.nameTable[r]; t;) { if (t.name_next === e) { t.name_next = e.name_next; break } t = t.name_next } }, lookupNode: function (e, r) { var t = _e.mayLookup(e); if (t) throw new _e.ErrnoError(t, e); for (var n = _e.hashName(e.id, r), o = _e.nameTable[n]; o; o = o.name_next) { var i = o.name; if (o.parent.id === e.id && i === r) return o } return _e.lookup(e, r) }, createNode: function (e, r, t, n) { _e.FSNode || (_e.FSNode = function (e, r, t, n) { e || (e = this), this.parent = e, this.mount = e.mount, this.mounted = null, this.id = _e.nextInode++, this.name = r, this.mode = t, this.node_ops = {}, this.stream_ops = {}, this.rdev = n }, _e.FSNode.prototype = {}, Object.defineProperties(_e.FSNode.prototype, { read: { get: function () { return 365 == (365 & this.mode) }, set: function (e) { e ? this.mode |= 365 : this.mode &= -366 } }, write: { get: function () { return 146 == (146 & this.mode) }, set: function (e) { e ? this.mode |= 146 : this.mode &= -147 } }, isFolder: { get: function () { return _e.isDir(this.mode) } }, isDevice: { get: function () { return _e.isChrdev(this.mode) } } })); var o = new _e.FSNode(e, r, t, n); return _e.hashAddNode(o), o }, destroyNode: function (e) { _e.hashRemoveNode(e) }, isRoot: function (e) { return e === e.parent }, isMountpoint: function (e) { return !!e.mounted }, isFile: function (e) { return 32768 == (61440 & e) }, isDir: function (e) { return 16384 == (61440 & e) }, isLink: function (e) { return 40960 == (61440 & e) }, isChrdev: function (e) { return 8192 == (61440 & e) }, isBlkdev: function (e) { return 24576 == (61440 & e) }, isFIFO: function (e) { return 4096 == (61440 & e) }, isSocket: function (e) { return 49152 == (49152 & e) }, flagModes: { r: 0, rs: 1052672, "r+": 2, w: 577, wx: 705, xw: 705, "w+": 578, "wx+": 706, "xw+": 706, a: 1089, ax: 1217, xa: 1217, "a+": 1090, "ax+": 1218, "xa+": 1218 }, modeStringToFlags: function (e) { var r = _e.flagModes[e]; if (void 0 === r) throw new Error("Unknown file open mode: " + e); return r }, flagsToPermissionString: function (e) { var r = ["r", "w", "rw"][3 & e]; return 512 & e && (r += "w"), r }, nodePermissions: function (e, r) { return _e.ignorePermissions ? 0 : (-1 === r.indexOf("r") || 292 & e.mode) && (-1 === r.indexOf("w") || 146 & e.mode) && (-1 === r.indexOf("x") || 73 & e.mode) ? 0 : 13 }, mayLookup: function (e) { var r = _e.nodePermissions(e, "x"); return r || (e.node_ops.lookup ? 0 : 13) }, mayCreate: function (e, r) { try { return _e.lookupNode(e, r), 17 } catch (e) { } return _e.nodePermissions(e, "wx") }, mayDelete: function (e, r, t) { var n; try { n = _e.lookupNode(e, r) } catch (e) { return e.errno } var o = _e.nodePermissions(e, "wx"); if (o) return o; if (t) { if (!_e.isDir(n.mode)) return 20; if (_e.isRoot(n) || _e.getPath(n) === _e.cwd()) return 16 } else if (_e.isDir(n.mode)) return 21; return 0 }, mayOpen: function (e, r) { return e ? _e.isLink(e.mode) ? 40 : _e.isDir(e.mode) && ("r" !== _e.flagsToPermissionString(r) || 512 & r) ? 21 : _e.nodePermissions(e, _e.flagsToPermissionString(r)) : 2 }, MAX_OPEN_FDS: 4096, nextfd: function (e, r) { e = e || 0, r = r || _e.MAX_OPEN_FDS; for (var t = e; t <= r; t++)if (!_e.streams[t]) return t; throw new _e.ErrnoError(24) }, getStream: function (e) { return _e.streams[e] }, createStream: function (e, r, t) { _e.FSStream || (_e.FSStream = function () { }, _e.FSStream.prototype = {}, Object.defineProperties(_e.FSStream.prototype, { object: { get: function () { return this.node }, set: function (e) { this.node = e } }, isRead: { get: function () { return 1 != (2097155 & this.flags) } }, isWrite: { get: function () { return 0 != (2097155 & this.flags) } }, isAppend: { get: function () { return 1024 & this.flags } } })); var n = new _e.FSStream; for (var o in e) n[o] = e[o]; e = n; var i = _e.nextfd(r, t); return e.fd = i, _e.streams[i] = e, e }, closeStream: function (e) { _e.streams[e] = null }, chrdev_stream_ops: { open: function (e) { var r = _e.getDevice(e.node.rdev); e.stream_ops = r.stream_ops, e.stream_ops.open && e.stream_ops.open(e) }, llseek: function () { throw new _e.ErrnoError(29) } }, major: function (e) { return e >> 8 }, minor: function (e) { return 255 & e }, makedev: function (e, r) { return e << 8 | r }, registerDevice: function (e, r) { _e.devices[e] = { stream_ops: r } }, getDevice: function (e) { return _e.devices[e] }, getMounts: function (e) { for (var r = [], t = [e]; t.length;) { var n = t.pop(); r.push(n), t.push.apply(t, n.mounts) } return r }, syncfs: function (e, r) { "function" == typeof e && (r = e, e = !1), _e.syncFSRequests++, _e.syncFSRequests > 1 && console.log("warning: " + _e.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work"); var t = _e.getMounts(_e.root.mount), n = 0; function o(e) { return _e.syncFSRequests--, r(e) } function i(e) { if (e) return i.errored ? void 0 : (i.errored = !0, o(e)); ++n >= t.length && o(null) } t.forEach(function (r) { if (!r.type.syncfs) return i(null); r.type.syncfs(r, e, i) }) }, mount: function (e, r, t) { var n, o = "/" === t, i = !t; if (o && _e.root) throw new _e.ErrnoError(16); if (!o && !i) { var a = _e.lookupPath(t, { follow_mount: !1 }); if (t = a.path, n = a.node, _e.isMountpoint(n)) throw new _e.ErrnoError(16); if (!_e.isDir(n.mode)) throw new _e.ErrnoError(20) } var s = { type: e, opts: r, mountpoint: t, mounts: [] }, u = e.mount(s); return u.mount = s, s.root = u, o ? _e.root = u : n && (n.mounted = s, n.mount && n.mount.mounts.push(s)), u }, unmount: function (e) { var r = _e.lookupPath(e, { follow_mount: !1 }); if (!_e.isMountpoint(r.node)) throw new _e.ErrnoError(22); var t = r.node, n = t.mounted, o = _e.getMounts(n); Object.keys(_e.nameTable).forEach(function (e) { for (var r = _e.nameTable[e]; r;) { var t = r.name_next; -1 !== o.indexOf(r.mount) && _e.destroyNode(r), r = t } }), t.mounted = null; var i = t.mount.mounts.indexOf(n); t.mount.mounts.splice(i, 1) }, lookup: function (e, r) { return e.node_ops.lookup(e, r) }, mknod: function (e, r, t) { var n = _e.lookupPath(e, { parent: !0 }).node, o = pe.basename(e); if (!o || "." === o || ".." === o) throw new _e.ErrnoError(22); var i = _e.mayCreate(n, o); if (i) throw new _e.ErrnoError(i); if (!n.node_ops.mknod) throw new _e.ErrnoError(1); return n.node_ops.mknod(n, o, r, t) }, create: function (e, r) { return r = void 0 !== r ? r : 438, r &= 4095, r |= 32768, _e.mknod(e, r, 0) }, mkdir: function (e, r) { return r = void 0 !== r ? r : 511, r &= 1023, r |= 16384, _e.mknod(e, r, 0) }, mkdirTree: function (e, r) { for (var t = e.split("/"), n = "", o = 0; o < t.length; ++o)if (t[o]) { n += "/" + t[o]; try { _e.mkdir(n, r) } catch (e) { if (17 != e.errno) throw e } } }, mkdev: function (e, r, t) { return void 0 === t && (t = r, r = 438), r |= 8192, _e.mknod(e, r, t) }, symlink: function (e, r) { if (!he.resolve(e)) throw new _e.ErrnoError(2); var t = _e.lookupPath(r, { parent: !0 }).node; if (!t) throw new _e.ErrnoError(2); var n = pe.basename(r), o = _e.mayCreate(t, n); if (o) throw new _e.ErrnoError(o); if (!t.node_ops.symlink) throw new _e.ErrnoError(1); return t.node_ops.symlink(t, n, e) }, rename: function (e, r) { var t, n, o = pe.dirname(e), i = pe.dirname(r), a = pe.basename(e), s = pe.basename(r); try { t = _e.lookupPath(e, { parent: !0 }).node, n = _e.lookupPath(r, { parent: !0 }).node } catch (e) { throw new _e.ErrnoError(16) } if (!t || !n) throw new _e.ErrnoError(2); if (t.mount !== n.mount) throw new _e.ErrnoError(18); var u, c = _e.lookupNode(t, a), f = he.relative(e, i); if ("." !== f.charAt(0)) throw new _e.ErrnoError(22); if ("." !== (f = he.relative(r, o)).charAt(0)) throw new _e.ErrnoError(39); try { u = _e.lookupNode(n, s) } catch (e) { } if (c !== u) { var l = _e.isDir(c.mode), d = _e.mayDelete(t, a, l); if (d) throw new _e.ErrnoError(d); if (d = u ? _e.mayDelete(n, s, l) : _e.mayCreate(n, s)) throw new _e.ErrnoError(d); if (!t.node_ops.rename) throw new _e.ErrnoError(1); if (_e.isMountpoint(c) || u && _e.isMountpoint(u)) throw new _e.ErrnoError(16); if (n !== t && (d = _e.nodePermissions(t, "w"))) throw new _e.ErrnoError(d); try { _e.trackingDelegate.willMovePath && _e.trackingDelegate.willMovePath(e, r) } catch (t) { console.log("FS.trackingDelegate['willMovePath']('" + e + "', '" + r + "') threw an exception: " + t.message) } _e.hashRemoveNode(c); try { t.node_ops.rename(c, n, s) } catch (e) { throw e } finally { _e.hashAddNode(c) } try { _e.trackingDelegate.onMovePath && _e.trackingDelegate.onMovePath(e, r) } catch (t) { console.log("FS.trackingDelegate['onMovePath']('" + e + "', '" + r + "') threw an exception: " + t.message) } } }, rmdir: function (e) { var r = _e.lookupPath(e, { parent: !0 }).node, t = pe.basename(e), n = _e.lookupNode(r, t), o = _e.mayDelete(r, t, !0); if (o) throw new _e.ErrnoError(o); if (!r.node_ops.rmdir) throw new _e.ErrnoError(1); if (_e.isMountpoint(n)) throw new _e.ErrnoError(16); try { _e.trackingDelegate.willDeletePath && _e.trackingDelegate.willDeletePath(e) } catch (r) { console.log("FS.trackingDelegate['willDeletePath']('" + e + "') threw an exception: " + r.message) } r.node_ops.rmdir(r, t), _e.destroyNode(n); try { _e.trackingDelegate.onDeletePath && _e.trackingDelegate.onDeletePath(e) } catch (r) { console.log("FS.trackingDelegate['onDeletePath']('" + e + "') threw an exception: " + r.message) } }, readdir: function (e) { var r = _e.lookupPath(e, { follow: !0 }).node; if (!r.node_ops.readdir) throw new _e.ErrnoError(20); return r.node_ops.readdir(r) }, unlink: function (e) { var r = _e.lookupPath(e, { parent: !0 }).node, t = pe.basename(e), n = _e.lookupNode(r, t), o = _e.mayDelete(r, t, !1); if (o) throw new _e.ErrnoError(o); if (!r.node_ops.unlink) throw new _e.ErrnoError(1); if (_e.isMountpoint(n)) throw new _e.ErrnoError(16); try { _e.trackingDelegate.willDeletePath && _e.trackingDelegate.willDeletePath(e) } catch (r) { console.log("FS.trackingDelegate['willDeletePath']('" + e + "') threw an exception: " + r.message) } r.node_ops.unlink(r, t), _e.destroyNode(n); try { _e.trackingDelegate.onDeletePath && _e.trackingDelegate.onDeletePath(e) } catch (r) { console.log("FS.trackingDelegate['onDeletePath']('" + e + "') threw an exception: " + r.message) } }, readlink: function (e) { var r = _e.lookupPath(e).node; if (!r) throw new _e.ErrnoError(2); if (!r.node_ops.readlink) throw new _e.ErrnoError(22); return he.resolve(_e.getPath(r.parent), r.node_ops.readlink(r)) }, stat: function (e, r) { var t = _e.lookupPath(e, { follow: !r }).node; if (!t) throw new _e.ErrnoError(2); if (!t.node_ops.getattr) throw new _e.ErrnoError(1); return t.node_ops.getattr(t) }, lstat: function (e) { return _e.stat(e, !0) }, chmod: function (e, r, t) { var n; if (!(n = "string" == typeof e ? _e.lookupPath(e, { follow: !t }).node : e).node_ops.setattr) throw new _e.ErrnoError(1); n.node_ops.setattr(n, { mode: 4095 & r | -4096 & n.mode, timestamp: Date.now() }) }, lchmod: function (e, r) { _e.chmod(e, r, !0) }, fchmod: function (e, r) { var t = _e.getStream(e); if (!t) throw new _e.ErrnoError(9); _e.chmod(t.node, r) }, chown: function (e, r, t, n) { var o; if (!(o = "string" == typeof e ? _e.lookupPath(e, { follow: !n }).node : e).node_ops.setattr) throw new _e.ErrnoError(1); o.node_ops.setattr(o, { timestamp: Date.now() }) }, lchown: function (e, r, t) { _e.chown(e, r, t, !0) }, fchown: function (e, r, t) { var n = _e.getStream(e); if (!n) throw new _e.ErrnoError(9); _e.chown(n.node, r, t) }, truncate: function (e, r) { if (r < 0) throw new _e.ErrnoError(22); var t; if (!(t = "string" == typeof e ? _e.lookupPath(e, { follow: !0 }).node : e).node_ops.setattr) throw new _e.ErrnoError(1); if (_e.isDir(t.mode)) throw new _e.ErrnoError(21); if (!_e.isFile(t.mode)) throw new _e.ErrnoError(22); var n = _e.nodePermissions(t, "w"); if (n) throw new _e.ErrnoError(n); t.node_ops.setattr(t, { size: r, timestamp: Date.now() }) }, ftruncate: function (e, r) { var t = _e.getStream(e); if (!t) throw new _e.ErrnoError(9); if (0 == (2097155 & t.flags)) throw new _e.ErrnoError(22); _e.truncate(t.node, r) }, utime: function (e, r, t) { var n = _e.lookupPath(e, { follow: !0 }).node; n.node_ops.setattr(n, { timestamp: Math.max(r, t) }) }, open: function (e, r, t, o, i) { if ("" === e) throw new _e.ErrnoError(2); var a; if (t = void 0 === t ? 438 : t, t = 64 & (r = "string" == typeof r ? _e.modeStringToFlags(r) : r) ? 4095 & t | 32768 : 0, "object" == typeof e) a = e; else { e = pe.normalize(e); try { a = _e.lookupPath(e, { follow: !(131072 & r) }).node } catch (e) { } } var s = !1; if (64 & r) if (a) { if (128 & r) throw new _e.ErrnoError(17) } else a = _e.mknod(e, t, 0), s = !0; if (!a) throw new _e.ErrnoError(2); if (_e.isChrdev(a.mode) && (r &= -513), 65536 & r && !_e.isDir(a.mode)) throw new _e.ErrnoError(20); if (!s) { var u = _e.mayOpen(a, r); if (u) throw new _e.ErrnoError(u) } 512 & r && _e.truncate(a, 0), r &= -641; var c = _e.createStream({ node: a, path: _e.getPath(a), flags: r, seekable: !0, position: 0, stream_ops: a.stream_ops, ungotten: [], error: !1 }, o, i); c.stream_ops.open && c.stream_ops.open(c), !n.logReadFiles || 1 & r || (_e.readFiles || (_e.readFiles = {}), e in _e.readFiles || (_e.readFiles[e] = 1, console.log("FS.trackingDelegate error on read file: " + e))); try { if (_e.trackingDelegate.onOpenFile) { var f = 0; 1 != (2097155 & r) && (f |= _e.tracking.openFlags.READ), 0 != (2097155 & r) && (f |= _e.tracking.openFlags.WRITE), _e.trackingDelegate.onOpenFile(e, f) } } catch (r) { console.log("FS.trackingDelegate['onOpenFile']('" + e + "', flags) threw an exception: " + r.message) } return c }, close: function (e) { if (_e.isClosed(e)) throw new _e.ErrnoError(9); e.getdents && (e.getdents = null); try { e.stream_ops.close && e.stream_ops.close(e) } catch (e) { throw e } finally { _e.closeStream(e.fd) } e.fd = null }, isClosed: function (e) { return null === e.fd }, llseek: function (e, r, t) { if (_e.isClosed(e)) throw new _e.ErrnoError(9); if (!e.seekable || !e.stream_ops.llseek) throw new _e.ErrnoError(29); if (0 != t && 1 != t && 2 != t) throw new _e.ErrnoError(22); return e.position = e.stream_ops.llseek(e, r, t), e.ungotten = [], e.position }, read: function (e, r, t, n, o) { if (n < 0 || o < 0) throw new _e.ErrnoError(22); if (_e.isClosed(e)) throw new _e.ErrnoError(9); if (1 == (2097155 & e.flags)) throw new _e.ErrnoError(9); if (_e.isDir(e.node.mode)) throw new _e.ErrnoError(21); if (!e.stream_ops.read) throw new _e.ErrnoError(22); var i = void 0 !== o; if (i) { if (!e.seekable) throw new _e.ErrnoError(29) } else o = e.position; var a = e.stream_ops.read(e, r, t, n, o); return i || (e.position += a), a }, write: function (e, r, t, n, o, i) { if (n < 0 || o < 0) throw new _e.ErrnoError(22); if (_e.isClosed(e)) throw new _e.ErrnoError(9); if (0 == (2097155 & e.flags)) throw new _e.ErrnoError(9); if (_e.isDir(e.node.mode)) throw new _e.ErrnoError(21); if (!e.stream_ops.write) throw new _e.ErrnoError(22); 1024 & e.flags && _e.llseek(e, 0, 2); var a = void 0 !== o; if (a) { if (!e.seekable) throw new _e.ErrnoError(29) } else o = e.position; var s = e.stream_ops.write(e, r, t, n, o, i); a || (e.position += s); try { e.path && _e.trackingDelegate.onWriteToFile && _e.trackingDelegate.onWriteToFile(e.path) } catch (r) { console.log("FS.trackingDelegate['onWriteToFile']('" + e.path + "') threw an exception: " + r.message) } return s }, allocate: function (e, r, t) { if (_e.isClosed(e)) throw new _e.ErrnoError(9); if (r < 0 || t <= 0) throw new _e.ErrnoError(22); if (0 == (2097155 & e.flags)) throw new _e.ErrnoError(9); if (!_e.isFile(e.node.mode) && !_e.isDir(e.node.mode)) throw new _e.ErrnoError(19); if (!e.stream_ops.allocate) throw new _e.ErrnoError(95); e.stream_ops.allocate(e, r, t) }, mmap: function (e, r, t, n, o, i, a) { if (1 == (2097155 & e.flags)) throw new _e.ErrnoError(13); if (!e.stream_ops.mmap) throw new _e.ErrnoError(19); return e.stream_ops.mmap(e, r, t, n, o, i, a) }, msync: function (e, r, t, n, o) { return e && e.stream_ops.msync ? e.stream_ops.msync(e, r, t, n, o) : 0 }, munmap: function (e) { return 0 }, ioctl: function (e, r, t) { if (!e.stream_ops.ioctl) throw new _e.ErrnoError(25); return e.stream_ops.ioctl(e, r, t) }, readFile: function (e, r) { if ((r = r || {}).flags = r.flags || "r", r.encoding = r.encoding || "binary", "utf8" !== r.encoding && "binary" !== r.encoding) throw new Error('Invalid encoding type "' + r.encoding + '"'); var t, n = _e.open(e, r.flags), o = _e.stat(e).size, i = new Uint8Array(o); return _e.read(n, i, 0, o, 0), "utf8" === r.encoding ? t = N(i, 0) : "binary" === r.encoding && (t = i), _e.close(n), t }, writeFile: function (e, r, t) { (t = t || {}).flags = t.flags || "w"; var n = _e.open(e, t.flags, t.mode); if ("string" == typeof r) { var o = new Uint8Array(L(r) + 1), i = z(r, o, 0, o.length); _e.write(n, o, 0, i, void 0, t.canOwn) } else { if (!ArrayBuffer.isView(r)) throw new Error("Unsupported data type"); _e.write(n, r, 0, r.byteLength, void 0, t.canOwn) } _e.close(n) }, cwd: function () { return _e.currentPath }, chdir: function (e) { var r = _e.lookupPath(e, { follow: !0 }); if (null === r.node) throw new _e.ErrnoError(2); if (!_e.isDir(r.node.mode)) throw new _e.ErrnoError(20); var t = _e.nodePermissions(r.node, "x"); if (t) throw new _e.ErrnoError(t); _e.currentPath = r.path }, createDefaultDirectories: function () { _e.mkdir("/tmp"), _e.mkdir("/home"), _e.mkdir("/home/web_user") }, createDefaultDevices: function () { var e; if (_e.mkdir("/dev"), _e.registerDevice(_e.makedev(1, 3), { read: function () { return 0 }, write: function (e, r, t, n, o) { return n } }), _e.mkdev("/dev/null", _e.makedev(1, 3)), we.register(_e.makedev(5, 0), we.default_tty_ops), we.register(_e.makedev(6, 0), we.default_tty1_ops), _e.mkdev("/dev/tty", _e.makedev(5, 0)), _e.mkdev("/dev/tty1", _e.makedev(6, 0)), "object" == typeof crypto && "function" == typeof crypto.getRandomValues) { var r = new Uint8Array(1); e = function () { return crypto.getRandomValues(r), r[0] } } else if (i) try { var t = require("crypto"); e = function () { return t.randomBytes(1)[0] } } catch (e) { } e || (e = function () { Ke("random_device") }), _e.createDevice("/dev", "random", e), _e.createDevice("/dev", "urandom", e), _e.mkdir("/dev/shm"), _e.mkdir("/dev/shm/tmp") }, createSpecialDirectories: function () { _e.mkdir("/proc"), _e.mkdir("/proc/self"), _e.mkdir("/proc/self/fd"), _e.mount({ mount: function () { var e = _e.createNode("/proc/self", "fd", 16895, 73); return e.node_ops = { lookup: function (e, r) { var t = +r, n = _e.getStream(t); if (!n) throw new _e.ErrnoError(9); var o = { parent: null, mount: { mountpoint: "fake" }, node_ops: { readlink: function () { return n.path } } }; return o.parent = o, o } }, e } }, {}, "/proc/self/fd") }, createStandardStreams: function () { n.stdin ? _e.createDevice("/dev", "stdin", n.stdin) : _e.symlink("/dev/tty", "/dev/stdin"), n.stdout ? _e.createDevice("/dev", "stdout", null, n.stdout) : _e.symlink("/dev/tty", "/dev/stdout"), n.stderr ? _e.createDevice("/dev", "stderr", null, n.stderr) : _e.symlink("/dev/tty1", "/dev/stderr"), _e.open("/dev/stdin", "r"), _e.open("/dev/stdout", "w"), _e.open("/dev/stderr", "w") }, ensureErrnoError: function () { _e.ErrnoError || (_e.ErrnoError = function (e, r) { this.node = r, this.setErrno = function (e) { this.errno = e }, this.setErrno(e), this.message = "FS error", this.stack && Object.defineProperty(this, "stack", { value: (new Error).stack, writable: !0 }) }, _e.ErrnoError.prototype = new Error, _e.ErrnoError.prototype.constructor = _e.ErrnoError, [2].forEach(function (e) { _e.genericErrors[e] = new _e.ErrnoError(e), _e.genericErrors[e].stack = "" })) }, staticInit: function () { _e.ensureErrnoError(), _e.nameTable = new Array(4096), _e.mount(ve, {}, "/"), _e.createDefaultDirectories(), _e.createDefaultDevices(), _e.createSpecialDirectories(), _e.filesystems = { MEMFS: ve, IDBFS: ge, NODEFS: ye, WORKERFS: Ee } }, init: function (e, r, t) { _e.init.initialized = !0, _e.ensureErrnoError(), n.stdin = e || n.stdin, n.stdout = r || n.stdout, n.stderr = t || n.stderr, _e.createStandardStreams() }, quit: function () { _e.init.initialized = !1; var e = n._fflush; e && e(0); for (var r = 0; r < _e.streams.length; r++) { var t = _e.streams[r]; t && _e.close(t) } }, getMode: function (e, r) { var t = 0; return e && (t |= 365), r && (t |= 146), t }, joinPath: function (e, r) { var t = pe.join.apply(null, e); return r && "/" == t[0] && (t = t.substr(1)), t }, absolutePath: function (e, r) { return he.resolve(r, e) }, standardizePath: function (e) { return pe.normalize(e) }, findObject: function (e, r) { var t = _e.analyzePath(e, r); return t.exists ? t.object : (me(t.error), null) }, analyzePath: function (e, r) { try { e = (n = _e.lookupPath(e, { follow: !r })).path } catch (e) { } var t = { isRoot: !1, exists: !1, error: 0, name: null, path: null, object: null, parentExists: !1, parentPath: null, parentObject: null }; try { var n = _e.lookupPath(e, { parent: !0 }); t.parentExists = !0, t.parentPath = n.path, t.parentObject = n.node, t.name = pe.basename(e), n = _e.lookupPath(e, { follow: !r }), t.exists = !0, t.path = n.path, t.object = n.node, t.name = n.node.name, t.isRoot = "/" === n.path } catch (e) { t.error = e.errno } return t }, createFolder: function (e, r, t, n) { var o = pe.join2("string" == typeof e ? e : _e.getPath(e), r), i = _e.getMode(t, n); return _e.mkdir(o, i) }, createPath: function (e, r, t, n) { e = "string" == typeof e ? e : _e.getPath(e); for (var o = r.split("/").reverse(); o.length;) { var i = o.pop(); if (i) { var a = pe.join2(e, i); try { _e.mkdir(a) } catch (e) { } e = a } } return a }, createFile: function (e, r, t, n, o) { var i = pe.join2("string" == typeof e ? e : _e.getPath(e), r), a = _e.getMode(n, o); return _e.create(i, a) }, createDataFile: function (e, r, t, n, o, i) { var a = r ? pe.join2("string" == typeof e ? e : _e.getPath(e), r) : e, s = _e.getMode(n, o), u = _e.create(a, s); if (t) { if ("string" == typeof t) { for (var c = new Array(t.length), f = 0, l = t.length; f < l; ++f)c[f] = t.charCodeAt(f); t = c } _e.chmod(u, 146 | s); var d = _e.open(u, "w"); _e.write(d, t, 0, t.length, 0, i), _e.close(d), _e.chmod(u, s) } return u }, createDevice: function (e, r, t, n) { var o = pe.join2("string" == typeof e ? e : _e.getPath(e), r), i = _e.getMode(!!t, !!n); _e.createDevice.major || (_e.createDevice.major = 64); var a = _e.makedev(_e.createDevice.major++, 0); return _e.registerDevice(a, { open: function (e) { e.seekable = !1 }, close: function (e) { n && n.buffer && n.buffer.length && n(10) }, read: function (e, r, n, o, i) { for (var a = 0, s = 0; s < o; s++) { var u; try { u = t() } catch (e) { throw new _e.ErrnoError(5) } if (void 0 === u && 0 === a) throw new _e.ErrnoError(11); if (null == u) break; a++, r[n + s] = u } return a && (e.node.timestamp = Date.now()), a }, write: function (e, r, t, o, i) { for (var a = 0; a < o; a++)try { n(r[t + a]) } catch (e) { throw new _e.ErrnoError(5) } return o && (e.node.timestamp = Date.now()), a } }), _e.mkdev(o, i, a) }, createLink: function (e, r, t, n, o) { var i = pe.join2("string" == typeof e ? e : _e.getPath(e), r); return _e.symlink(t, i) }, forceLoadFile: function (e) { if (e.isDevice || e.isFolder || e.link || e.contents) return !0; var r = !0; if ("undefined" != typeof XMLHttpRequest) throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); if (!n.read) throw new Error("Cannot load without read() or XMLHttpRequest."); try { e.contents = Be(n.read(e.url), !0), e.usedBytes = e.contents.length } catch (e) { r = !1 } return r || me(5), r }, createLazyFile: function (e, r, t, n, o) { function i() { this.lengthKnown = !1, this.chunks = [] } if (i.prototype.get = function (e) { if (!(e > this.length - 1 || e < 0)) { var r = e % this.chunkSize, t = e / this.chunkSize | 0; return this.getter(t)[r] } }, i.prototype.setDataGetter = function (e) { this.getter = e }, i.prototype.cacheLength = function () { var e = new XMLHttpRequest; if (e.open("HEAD", t, !1), e.send(null), !(e.status >= 200 && e.status < 300 || 304 === e.status)) throw new Error("Couldn't load " + t + ". Status: " + e.status); var r, n = Number(e.getResponseHeader("Content-length")), o = (r = e.getResponseHeader("Accept-Ranges")) && "bytes" === r, i = (r = e.getResponseHeader("Content-Encoding")) && "gzip" === r, a = 1048576; o || (a = n); var s = this; s.setDataGetter(function (e) { var r = e * a, o = (e + 1) * a - 1; if (o = Math.min(o, n - 1), void 0 === s.chunks[e] && (s.chunks[e] = function (e, r) { if (e > r) throw new Error("invalid range (" + e + ", " + r + ") or no bytes requested!"); if (r > n - 1) throw new Error("only " + n + " bytes available! programmer error!"); var o = new XMLHttpRequest; if (o.open("GET", t, !1), n !== a && o.setRequestHeader("Range", "bytes=" + e + "-" + r), "undefined" != typeof Uint8Array && (o.responseType = "arraybuffer"), o.overrideMimeType && o.overrideMimeType("text/plain; charset=x-user-defined"), o.send(null), !(o.status >= 200 && o.status < 300 || 304 === o.status)) throw new Error("Couldn't load " + t + ". Status: " + o.status); return void 0 !== o.response ? new Uint8Array(o.response || []) : Be(o.responseText || "", !0) }(r, o)), void 0 === s.chunks[e]) throw new Error("doXHR failed!"); return s.chunks[e] }), !i && n || (a = n = 1, n = this.getter(0).length, a = n, console.log("LazyFiles on gzip forces download of the whole file when length is accessed")), this._length = n, this._chunkSize = a, this.lengthKnown = !0 }, "undefined" != typeof XMLHttpRequest) { if (!u) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; var a = new i; Object.defineProperties(a, { length: { get: function () { return this.lengthKnown || this.cacheLength(), this._length } }, chunkSize: { get: function () { return this.lengthKnown || this.cacheLength(), this._chunkSize } } }); var s = { isDevice: !1, contents: a } } else s = { isDevice: !1, url: t }; var c = _e.createFile(e, r, s, n, o); s.contents ? c.contents = s.contents : s.url && (c.contents = null, c.url = s.url), Object.defineProperties(c, { usedBytes: { get: function () { return this.contents.length } } }); var f = {}; return Object.keys(c.stream_ops).forEach(function (e) { var r = c.stream_ops[e]; f[e] = function () { if (!_e.forceLoadFile(c)) throw new _e.ErrnoError(5); return r.apply(null, arguments) } }), f.read = function (e, r, t, n, o) { if (!_e.forceLoadFile(c)) throw new _e.ErrnoError(5); var i = e.node.contents; if (o >= i.length) return 0; var a = Math.min(i.length - o, n); if (i.slice) for (var s = 0; s < a; s++)r[t + s] = i[o + s]; else for (s = 0; s < a; s++)r[t + s] = i.get(o + s); return a }, c.stream_ops = f, c }, createPreloadedFile: function (e, r, t, o, i, a, s, u, c, f) { Browser.init(); var l = r ? he.resolve(pe.join2(e, r)) : e; function d(t) { function d(t) { f && f(), u || _e.createDataFile(e, r, t, o, i, c), a && a(), ie() } var p = !1; n.preloadPlugins.forEach(function (e) { p || e.canHandle(l) && (e.handle(t, l, d, function () { s && s(), ie() }), p = !0) }), p || d(t) } oe(), "string" == typeof t ? Browser.asyncLoad(t, function (e) { d(e) }, s) : d(t) }, indexedDB: function () { return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB }, DB_NAME: function () { return "EM_FS_" + window.location.pathname }, DB_VERSION: 20, DB_STORE_NAME: "FILE_DATA", saveFilesToDB: function (e, r, t) { r = r || function () { }, t = t || function () { }; var n = _e.indexedDB(); try { var o = n.open(_e.DB_NAME(), _e.DB_VERSION) } catch (e) { return t(e) } o.onupgradeneeded = function () { console.log("creating db"), o.result.createObjectStore(_e.DB_STORE_NAME) }, o.onsuccess = function () { var n = o.result.transaction([_e.DB_STORE_NAME], "readwrite"), i = n.objectStore(_e.DB_STORE_NAME), a = 0, s = 0, u = e.length; function c() { 0 == s ? r() : t() } e.forEach(function (e) { var r = i.put(_e.analyzePath(e).object.contents, e); r.onsuccess = function () { ++a + s == u && c() }, r.onerror = function () { a + ++s == u && c() } }), n.onerror = t }, o.onerror = t }, loadFilesFromDB: function (e, r, t) { r = r || function () { }, t = t || function () { }; var n = _e.indexedDB(); try { var o = n.open(_e.DB_NAME(), _e.DB_VERSION) } catch (e) { return t(e) } o.onupgradeneeded = t, o.onsuccess = function () { var n = o.result; try { var i = n.transaction([_e.DB_STORE_NAME], "readonly") } catch (e) { return void t(e) } var a = i.objectStore(_e.DB_STORE_NAME), s = 0, u = 0, c = e.length; function f() { 0 == u ? r() : t() } e.forEach(function (e) { var r = a.get(e); r.onsuccess = function () { _e.analyzePath(e).exists && _e.unlink(e), _e.createDataFile(pe.dirname(e), pe.basename(e), r.result, !0, !0, !0), ++s + u == c && f() }, r.onerror = function () { s + ++u == c && f() } }), i.onerror = t }, o.onerror = t } }, be = { DEFAULT_POLLMASK: 5, mappings: {}, umask: 511, calculateAt: function (e, r) { if ("/" !== r[0]) { var t; if (-100 === e) t = _e.cwd(); else { var n = _e.getStream(e); if (!n) throw new _e.ErrnoError(9); t = n.path } r = pe.join2(t, r) } return r }, doStat: function (e, r, t) { try { var n = e(r) } catch (e) { if (e && e.node && pe.normalize(r) !== pe.normalize(_e.getPath(e.node))) return -20; throw e } return M[t >> 2] = n.dev, M[t + 4 >> 2] = 0, M[t + 8 >> 2] = n.ino, M[t + 12 >> 2] = n.mode, M[t + 16 >> 2] = n.nlink, M[t + 20 >> 2] = n.uid, M[t + 24 >> 2] = n.gid, M[t + 28 >> 2] = n.rdev, M[t + 32 >> 2] = 0, tempI64 = [n.size >>> 0, (tempDouble = n.size, +J(tempDouble) >= 1 ? tempDouble > 0 ? (0 | re(+ee(tempDouble / 4294967296), 4294967295)) >>> 0 : ~~+Q((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], M[t + 40 >> 2] = tempI64[0], M[t + 44 >> 2] = tempI64[1], M[t + 48 >> 2] = 4096, M[t + 52 >> 2] = n.blocks, M[t + 56 >> 2] = n.atime.getTime() / 1e3 | 0, M[t + 60 >> 2] = 0, M[t + 64 >> 2] = n.mtime.getTime() / 1e3 | 0, M[t + 68 >> 2] = 0, M[t + 72 >> 2] = n.ctime.getTime() / 1e3 | 0, M[t + 76 >> 2] = 0, tempI64 = [n.ino >>> 0, (tempDouble = n.ino, +J(tempDouble) >= 1 ? tempDouble > 0 ? (0 | re(+ee(tempDouble / 4294967296), 4294967295)) >>> 0 : ~~+Q((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], M[t + 80 >> 2] = tempI64[0], M[t + 84 >> 2] = tempI64[1], 0 }, doMsync: function (e, r, t, n) { var o = new Uint8Array(R.subarray(e, e + t)); _e.msync(r, o, 0, t, n) }, doMkdir: function (e, r) { return "/" === (e = pe.normalize(e))[e.length - 1] && (e = e.substr(0, e.length - 1)), _e.mkdir(e, r, 0), 0 }, doMknod: function (e, r, t) { switch (61440 & r) { case 32768: case 8192: case 24576: case 4096: case 49152: break; default: return -22 }return _e.mknod(e, r, t), 0 }, doReadlink: function (e, r, t) { if (t <= 0) return -22; var n = _e.readlink(e), o = Math.min(t, L(n)), i = P[r + o]; return C(n, r, t + 1), P[r + o] = i, o }, doAccess: function (e, r) { if (-8 & r) return -22; var t; t = _e.lookupPath(e, { follow: !0 }).node; var n = ""; return 4 & r && (n += "r"), 2 & r && (n += "w"), 1 & r && (n += "x"), n && _e.nodePermissions(t, n) ? -13 : 0 }, doDup: function (e, r, t) { var n = _e.getStream(t); return n && _e.close(n), _e.open(e, r, 0, t, t).fd }, doReadv: function (e, r, t, n) { for (var o = 0, i = 0; i < t; i++) { var a = M[r + 8 * i >> 2], s = M[r + (8 * i + 4) >> 2], u = _e.read(e, P, a, s, n); if (u < 0) return -1; if (o += u, u < s) break } return o }, doWritev: function (e, r, t, n) { for (var o = 0, i = 0; i < t; i++) { var a = M[r + 8 * i >> 2], s = M[r + (8 * i + 4) >> 2], u = _e.write(e, P, a, s, n); if (u < 0) return -1; o += u } return o }, varargs: 0, get: function (e) { return be.varargs += 4, M[be.varargs - 4 >> 2] }, getStr: function () { return I(be.get()) }, getStreamFromFD: function () { var e = _e.getStream(be.get()); if (!e) throw new _e.ErrnoError(9); return e }, get64: function () { var e = be.get(); return be.get(), e }, getZero: function () { be.get() } }, ke = 11, De = 22, Se = { BUCKET_BUFFER_SIZE: 8192, mount: function (e) { return _e.createNode(null, "/", 16895, 0) }, createPipe: function () { var e = { buckets: [] }; e.buckets.push({ buffer: new Uint8Array(Se.BUCKET_BUFFER_SIZE), offset: 0, roffset: 0 }); var r = Se.nextname(), t = Se.nextname(), n = _e.createNode(Se.root, r, 4096, 0), o = _e.createNode(Se.root, t, 4096, 0); n.pipe = e, o.pipe = e; var i = _e.createStream({ path: r, node: n, flags: _e.modeStringToFlags("r"), seekable: !1, stream_ops: Se.stream_ops }); n.stream = i; var a = _e.createStream({ path: t, node: o, flags: _e.modeStringToFlags("w"), seekable: !1, stream_ops: Se.stream_ops }); return o.stream = a, { readable_fd: i.fd, writable_fd: a.fd } }, stream_ops: { poll: function (e) { var r = e.node.pipe; if (1 == (2097155 & e.flags)) return 260; if (r.buckets.length > 0) for (var t = 0; t < r.buckets.length; t++) { var n = r.buckets[t]; if (n.offset - n.roffset > 0) return 65 } return 0 }, ioctl: function (e, r, t) { return De }, read: function (e, r, t, n, o) { for (var i = e.node.pipe, a = 0, s = 0; s < i.buckets.length; s++) { var u = i.buckets[s]; a += u.offset - u.roffset } y(r instanceof ArrayBuffer || ArrayBuffer.isView(r)); var c = r.subarray(t, t + n); if (n <= 0) return 0; if (0 == a) throw new _e.ErrnoError(ke); var f = Math.min(a, n), l = f, d = 0; for (s = 0; s < i.buckets.length; s++) { var p = i.buckets[s], m = p.offset - p.roffset; if (f <= m) { var h = p.buffer.subarray(p.roffset, p.offset); f < m ? (h = h.subarray(0, f), p.roffset += f) : d++, c.set(h); break } h = p.buffer.subarray(p.roffset, p.offset), c.set(h), c = c.subarray(h.byteLength), f -= h.byteLength, d++ } return d && d == i.buckets.length && (d--, i.buckets[d].offset = 0, i.buckets[d].roffset = 0), i.buckets.splice(0, d), l }, write: function (e, r, t, n, o) { var i = e.node.pipe; y(r instanceof ArrayBuffer || ArrayBuffer.isView(r)); var a = r.subarray(t, t + n), s = a.byteLength; if (s <= 0) return 0; var u = null; 0 == i.buckets.length ? (u = { buffer: new Uint8Array(Se.BUCKET_BUFFER_SIZE), offset: 0, roffset: 0 }, i.buckets.push(u)) : u = i.buckets[i.buckets.length - 1], y(u.offset <= Se.BUCKET_BUFFER_SIZE); var c = Se.BUCKET_BUFFER_SIZE - u.offset; if (c >= s) return u.buffer.set(a, u.offset), u.offset += s, s; c > 0 && (u.buffer.set(a.subarray(0, c), u.offset), u.offset += c, a = a.subarray(c, a.byteLength)); for (var f = a.byteLength / Se.BUCKET_BUFFER_SIZE | 0, l = a.byteLength % Se.BUCKET_BUFFER_SIZE, d = 0; d < f; d++) { var p = { buffer: new Uint8Array(Se.BUCKET_BUFFER_SIZE), offset: Se.BUCKET_BUFFER_SIZE, roffset: 0 }; i.buckets.push(p), p.buffer.set(a.subarray(0, Se.BUCKET_BUFFER_SIZE)), a = a.subarray(Se.BUCKET_BUFFER_SIZE, a.byteLength) } return l > 0 && (p = { buffer: new Uint8Array(Se.BUCKET_BUFFER_SIZE), offset: a.byteLength, roffset: 0 }, i.buckets.push(p), p.buffer.set(a)), s }, close: function (e) { e.node.pipe.buckets = null } }, nextname: function () { return Se.nextname.current || (Se.nextname.current = 0), "pipe[" + Se.nextname.current++ + "]" } }; function Fe() { return P.length } function Ae(e) { var r = Fe(); if (e > 2147418112) return !1; for (var t = Math.max(r, 16777216); t < e;)t = t <= 536870912 ? H(2 * t, 65536) : Math.min(H((3 * t + 2147483648) / 4, 65536), 2147418112); return !!function (e) { e = H(e, 65536); var r = A.byteLength; try { return -1 !== w.grow((e - r) / 65536) && (A = w.buffer, !0) } catch (e) { return !1 } }(t) && (W(), !0) } var Pe = 277408; function Re() { if (!Re.called) { Re.called = !0, M[ze() >> 2] = 60 * (new Date).getTimezoneOffset(); var e = new Date(2e3, 0, 1), r = new Date(2e3, 6, 1); M[Ie() >> 2] = Number(e.getTimezoneOffset() != r.getTimezoneOffset()); var t = a(e), n = a(r), o = S(Be(t), "i8", k), i = S(Be(n), "i8", k); r.getTimezoneOffset() < e.getTimezoneOffset() ? (M[Ce() >> 2] = o, M[Ce() + 4 >> 2] = i) : (M[Ce() >> 2] = i, M[Ce() + 4 >> 2] = o) } function a(e) { var r = e.toTimeString().match(/\(([A-Za-z ]+)\)$/); return r ? r[1] : "GMT" } } if (C("GMT", 277456, 4), _e.staticInit(), i) { var Te = require("fs"), Me = require("path"); ye.staticInit() } function Be(e, r, t) { var n = t > 0 ? t : L(e) + 1, o = new Array(n), i = z(e, o, 0, o.length); return r && (o.length = i), o } var xe = { b: Ke, q: function (e) { }, G: function e(r) { var t, o; e.called ? (o = M[r >> 2], t = M[o >> 2]) : (e.called = !0, de.USER = de.LOGNAME = "web_user", de.PATH = "/", de.PWD = "/", de.HOME = "/home/web_user", de.LANG = "C.UTF-8", de._ = n.thisProgram, t = F(1024), o = F(256), M[o >> 2] = t, M[r >> 2] = o); var i = [], a = 0; for (var s in de) if ("string" == typeof de[s]) { var u = s + "=" + de[s]; i.push(u), a += u.length } if (a > 1024) throw new Error("Environment size exceeded TOTAL_ENV_SIZE!"); for (var c = 0; c < i.length; c++)U(u = i[c], t), M[o + 4 * c >> 2] = t, t += u.length + 1; M[o + 4 * i.length >> 2] = 0 }, l: me, s: function (e, r) { be.varargs = r; try { var t = be.getStreamFromFD(), n = be.get(), o = be.get(), i = be.get(), a = be.get(); if (!(-1 == n && o < 0 || 0 == n && o >= 0)) return -75; var s = o; return _e.llseek(t, s, a), tempI64 = [t.position >>> 0, (tempDouble = t.position, +J(tempDouble) >= 1 ? tempDouble > 0 ? (0 | re(+ee(tempDouble / 4294967296), 4294967295)) >>> 0 : ~~+Q((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], M[i >> 2] = tempI64[0], M[i + 4 >> 2] = tempI64[1], t.getdents && 0 === s && 0 === a && (t.getdents = null), 0 } catch (e) { return void 0 !== _e && e instanceof _e.ErrnoError || Ke(e), -e.errno } }, i: function (e, r) { be.varargs = r; try { var t = be.getStreamFromFD(), n = be.get(), o = be.get(); return be.doWritev(t, n, o) } catch (e) { return void 0 !== _e && e instanceof _e.ErrnoError || Ke(e), -e.errno } }, p: function (e, r) { be.varargs = r; try { for (var t = be.get(), n = be.get(), o = (be.get(), 0), i = 0; i < n; i++) { var a = t + 8 * i, s = M[a >> 2], u = T[a + 4 >> 1], c = 32, f = _e.getStream(s); f && (c = be.DEFAULT_POLLMASK, f.stream_ops.poll && (c = f.stream_ops.poll(f))), (c &= 24 | u) && o++, T[a + 6 >> 1] = c } return o } catch (e) { return void 0 !== _e && e instanceof _e.ErrnoError || Ke(e), -e.errno } }, o: function (e, r) { be.varargs = r; try { var t = be.getStr(), n = be.get(); return be.doStat(_e.stat, t, n) } catch (e) { return void 0 !== _e && e instanceof _e.ErrnoError || Ke(e), -e.errno } }, n: function (e, r) { be.varargs = r; try { var t = be.getStr(), n = be.get(); return be.doStat(_e.lstat, t, n) } catch (e) { return void 0 !== _e && e instanceof _e.ErrnoError || Ke(e), -e.errno } }, m: function (e, r) { be.varargs = r; try { var t = be.getStreamFromFD(), n = be.get(); return be.doStat(_e.stat, t.path, n) } catch (e) { return void 0 !== _e && e instanceof _e.ErrnoError || Ke(e), -e.errno } }, c: function (e, r) { be.varargs = r; try { var t = be.getStreamFromFD(); switch (be.get()) { case 0: return (n = be.get()) < 0 ? -22 : _e.open(t.path, t.flags, 0, n).fd; case 1: case 2: return 0; case 3: return t.flags; case 4: var n = be.get(); return t.flags |= n, 0; case 12: return n = be.get(), T[n + 0 >> 1] = 2, 0; case 13: case 14: return 0; case 16: case 8: return -22; case 9: return me(22), -1; default: return -22 } } catch (e) { return void 0 !== _e && e instanceof _e.ErrnoError || Ke(e), -e.errno } }, F: function (e, r) { be.varargs = r; try { var t = be.getStreamFromFD(), n = be.get(), o = be.get(); return _e.read(t, P, n, o) } catch (e) { return void 0 !== _e && e instanceof _e.ErrnoError || Ke(e), -e.errno } }, E: function (e, r) { be.varargs = r; try { var t = be.getStreamFromFD(), n = be.get(), o = be.get(); return _e.write(t, P, n, o) } catch (e) { return void 0 !== _e && e instanceof _e.ErrnoError || Ke(e), -e.errno } }, D: function (e, r) { be.varargs = r; try { var t = be.getStreamFromFD(); return _e.open(t.path, t.flags, 0).fd } catch (e) { return void 0 !== _e && e instanceof _e.ErrnoError || Ke(e), -e.errno } }, C: function (e, r) { be.varargs = r; try { var t = be.get(); if (0 == t) throw new _e.ErrnoError(14); var n = Se.createPipe(); return M[t >> 2] = n.readable_fd, M[t + 4 >> 2] = n.writable_fd, 0 } catch (e) { return void 0 !== _e && e instanceof _e.ErrnoError || Ke(e), -e.errno } }, B: function (e, r) { be.varargs = r; try { var t = be.getStr(), n = be.get(), o = be.get(); return _e.open(t, n, o).fd } catch (e) { return void 0 !== _e && e instanceof _e.ErrnoError || Ke(e), -e.errno } }, h: function (e, r) { be.varargs = r; try { var t = be.getStreamFromFD(); return _e.close(t), 0 } catch (e) { return void 0 !== _e && e instanceof _e.ErrnoError || Ke(e), -e.errno } }, g: function () { n.abort() }, A: Fe, z: function (e, r, t) { R.set(R.subarray(r, r + t), e) }, y: Ae, f: function (e) { !function (e, r) { r && n.noExitRuntime && 0 === e || (n.noExitRuntime || (g = !0, n.onExit && n.onExit(e)), n.quit(e, new We(e))) }(e) }, x: function (e) { return function (e, r) { Re(); var t = new Date(1e3 * M[e >> 2]); M[r >> 2] = t.getSeconds(), M[r + 4 >> 2] = t.getMinutes(), M[r + 8 >> 2] = t.getHours(), M[r + 12 >> 2] = t.getDate(), M[r + 16 >> 2] = t.getMonth(), M[r + 20 >> 2] = t.getFullYear() - 1900, M[r + 24 >> 2] = t.getDay(); var n = new Date(t.getFullYear(), 0, 1), o = (t.getTime() - n.getTime()) / 864e5 | 0; M[r + 28 >> 2] = o, M[r + 36 >> 2] = -60 * t.getTimezoneOffset(); var i = new Date(2e3, 6, 1).getTimezoneOffset(), a = n.getTimezoneOffset(), s = 0 | (i != a && t.getTimezoneOffset() == Math.min(a, i)); M[r + 32 >> 2] = s; var u = M[Ce() + (s ? 4 : 0) >> 2]; return M[r + 40 >> 2] = u, r }(e, Pe) }, d: function (e) { Re(); var r = new Date(M[e + 20 >> 2] + 1900, M[e + 16 >> 2], M[e + 12 >> 2], M[e + 8 >> 2], M[e + 4 >> 2], M[e >> 2], 0), t = M[e + 32 >> 2], n = r.getTimezoneOffset(), o = new Date(r.getFullYear(), 0, 1), i = new Date(2e3, 6, 1).getTimezoneOffset(), a = o.getTimezoneOffset(), s = Math.min(a, i); if (t < 0) M[e + 32 >> 2] = Number(i != a && s == n); else if (t > 0 != (s == n)) { var u = Math.max(a, i), c = t > 0 ? s : u; r.setTime(r.getTime() + 6e4 * (c - n)) } M[e + 24 >> 2] = r.getDay(); var f = (r.getTime() - o.getTime()) / 864e5 | 0; return M[e + 28 >> 2] = f, r.getTime() / 1e3 | 0 }, e: function () { p("missing function: posix_spawn_file_actions_addclose"), Ke(-1) }, k: function () { p("missing function: posix_spawn_file_actions_adddup2"), Ke(-1) }, j: function () { p("missing function: posix_spawn_file_actions_destroy"), Ke(-1) }, w: function () { p("missing function: posix_spawn_file_actions_init"), Ke(-1) }, v: function () { return function () { return me(11), -1 }.apply(null, arguments) }, u: function (e) { Re(); var r = Date.UTC(M[e + 20 >> 2] + 1900, M[e + 16 >> 2], M[e + 12 >> 2], M[e + 8 >> 2], M[e + 4 >> 2], M[e >> 2], 0), t = new Date(r); M[e + 24 >> 2] = t.getUTCDay(); var n = Date.UTC(t.getUTCFullYear(), 0, 1, 0, 0, 0, 0), o = (t.getTime() - n) / 864e5 | 0; return M[e + 28 >> 2] = o, t.getTime() / 1e3 | 0 }, t: function () { return function (e) { return me(10), -1 }.apply(null, arguments) }, r: function (e) { Ke("OOM") }, a: q }, Oe = n.asm({}, xe, A); n.asm = Oe; var Ne = n.___emscripten_environ_constructor = function () { return n.asm.H.apply(null, arguments) }, Ie = (n.___errno_location = function () { return n.asm.I.apply(null, arguments) }, n.__get_daylight = function () { return n.asm.J.apply(null, arguments) }), ze = n.__get_timezone = function () { return n.asm.K.apply(null, arguments) }, Ce = n.__get_tzname = function () { return n.asm.L.apply(null, arguments) }, Le = (n._archive_close = function () { return n.asm.M.apply(null, arguments) }, n._archive_entry_filetype = function () { return n.asm.N.apply(null, arguments) }, n._archive_entry_is_encrypted = function () { return n.asm.O.apply(null, arguments) }, n._archive_entry_pathname = function () { return n.asm.P.apply(null, arguments) }, n._archive_entry_pathname_utf8 = function () { return n.asm.Q.apply(null, arguments) }, n._archive_entry_size = function () { return n.asm.R.apply(null, arguments) }, n._archive_error_string = function () { return n.asm.S.apply(null, arguments) }, n._archive_open = function () { return n.asm.T.apply(null, arguments) }, n._archive_read_add_passphrase = function () { return n.asm.U.apply(null, arguments) }, n._archive_read_data_skip = function () { return n.asm.V.apply(null, arguments) }, n._archive_read_has_encrypted_entries = function () { return n.asm.W.apply(null, arguments) }, n._free = function () { return n.asm.X.apply(null, arguments) }, n._get_filedata = function () { return n.asm.Y.apply(null, arguments) }, n._get_next_entry = function () { return n.asm.Z.apply(null, arguments) }, n._get_version = function () { return n.asm._.apply(null, arguments) }, n._malloc = function () { return n.asm.$.apply(null, arguments) }), Ue = n.stackAlloc = function () { return n.asm.ca.apply(null, arguments) }, je = n.stackRestore = function () { return n.asm.da.apply(null, arguments) }, He = n.stackSave = function () { return n.asm.ea.apply(null, arguments) }; function We(e) { this.name = "ExitStatus", this.message = "Program terminated with exit(" + e + ")", this.status = e } function qe(e) { function r() { n.calledRun || (n.calledRun = !0, g || ($ || ($ = !0, n.noFSInit || _e.init.initialized || _e.init(), we.init(), Se.root = _e.mount(Se, {}, null), Z(X)), _e.ignorePermissions = !1, Z(Y), n.onRuntimeInitialized && n.onRuntimeInitialized(), function () { if (n.postRun) for ("function" == typeof n.postRun && (n.postRun = [n.postRun]); n.postRun.length;)e = n.postRun.shift(), G.unshift(e); var e; Z(G) }())) } e = e || n.arguments, te > 0 || (function () { if (n.preRun) for ("function" == typeof n.preRun && (n.preRun = [n.preRun]); n.preRun.length;)e = n.preRun.shift(), V.unshift(e); var e; Z(V) }(), te > 0 || n.calledRun || (n.setStatus ? (n.setStatus("Running..."), setTimeout(function () { setTimeout(function () { n.setStatus("") }, 1), r() }, 1)) : r())) } function Ke(e) { throw n.onAbort && n.onAbort(e), void 0 !== e ? (d(e), p(e), e = JSON.stringify(e)) : e = "", g = !0, "abort(" + e + "). Build with -s ASSERTIONS=1 for more info." } if (n.dynCall_v = function () { return n.asm.aa.apply(null, arguments) }, n.dynCall_vi = function () { return n.asm.ba.apply(null, arguments) }, n.asm = Oe, n.intArrayFromString = Be, n.cwrap = function (e, r, t, n) { var o = (t = t || []).every(function (e) { return "number" === e }); return "string" !== r && o && !n ? E(e) : function () { return _(e, r, t, arguments) } }, n.allocate = S, n.then = function (e) { if (n.calledRun) e(n); else { var r = n.onRuntimeInitialized; n.onRuntimeInitialized = function () { r && r(), e(n) } } return n }, We.prototype = new Error, We.prototype.constructor = We, ne = function e() { n.calledRun || qe(), n.calledRun || (ne = e) }, n.run = qe, n.abort = Ke, n.preInit) for ("function" == typeof n.preInit && (n.preInit = [n.preInit]); n.preInit.length > 0;)n.preInit.pop()(); return n.noExitRuntime = !0, qe(), e }); class o { constructor() { this.preRun = [], this.postRun = [], this.totalDependencies = 0 } print(...e) { console.log(e) } printErr(...e) { console.error(e) } initFunctions() { this.runCode = { getVersion: this.cwrap("get_version", "string", []), openArchive: this.cwrap("archive_open", "number", ["number", "number", "string"]), getNextEntry: this.cwrap("get_next_entry", "number", ["number"]), getFileData: this.cwrap("get_filedata", "number", ["number", "number"]), skipEntry: this.cwrap("archive_read_data_skip", "number", ["number"]), closeArchive: this.cwrap("archive_close", null, ["number"]), getEntrySize: this.cwrap("archive_entry_size", "number", ["number"]), getEntryName: this.cwrap("archive_entry_pathname", "string", ["number"]), getEntryType: this.cwrap("archive_entry_filetype", "number", ["number"]), getError: this.cwrap("archive_error_string", "string", ["number"]), entryIsEncrypted: this.cwrap("archive_entry_is_encrypted", "number", ["number"]), hasEncryptedEntries: this.cwrap("archive_read_has_encrypted_entries", "number", ["number"]), addPassphrase: this.cwrap("archive_read_add_passphrase", "number", ["number", "string"]), string: e => this.allocate(this.intArrayFromString(e), "i8", 0), malloc: this.cwrap("malloc", "number", ["number"]), free: this.cwrap("free", null, ["number"]) } } monitorRunDependencies() { } locateFile(e) { return `wasm-gen/${e}` } } let i = null, a = !1; var s; s = (e => { i = new r(e), a = !1, self.postMessage({ type: "READY" }) }), n(new o).then(e => { e.initFunctions(), s(e) }), self.onmessage = (async ({ data: e }) => { if (a) return void self.postMessage({ type: "BUSY" }); let r = !1; a = !0; try { switch (e.type) { case "HELLO": break; case "OPEN": await i.open(e.file), self.postMessage({ type: "OPENED" }); break; case "LIST_FILES": r = !0; case "EXTRACT_FILES": for (const e of i.entries(r)) self.postMessage({ type: "ENTRY", entry: e }); self.postMessage({ type: "END" }); break; case "EXTRACT_SINGLE_FILE": for (const r of i.entries(!0, e.target)) r.fileData && self.postMessage({ type: "FILE", entry: r }); break; case "CHECK_ENCRYPTION": self.postMessage({ type: "ENCRYPTION_STATUS", status: i.hasEncryptedData() }); break; case "SET_PASSPHRASE": i.setPassphrase(e.passphrase), self.postMessage({ type: "PASSPHRASE_STATUS", status: !0 }); break; default: throw new Error("Invalid Command") } } catch (e) { self.postMessage({ type: "ERROR", error: { message: e.message, name: e.name, stack: e.stack } }) } finally { a = !1 } }) }(); \ No newline at end of file diff --git a/package.json b/package.json index 5073ab52..9a20a06e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "audiobookshelf", - "version": "1.4.9", + "version": "1.4.10", "description": "Self-hosted audiobook server for managing and playing audiobooks", "main": "index.js", "scripts": { diff --git a/server/objects/Audiobook.js b/server/objects/Audiobook.js index aac6c6b1..64e7c438 100644 --- a/server/objects/Audiobook.js +++ b/server/objects/Audiobook.js @@ -139,6 +139,10 @@ class Audiobook { return this.ebooks.find(file => file.ext === '.pdf') } + get hasComic() { + return this.ebooks.find(file => file.ext === '.cbr' || file.ext === '.cbz') + } + get hasMissingIno() { return !this.ino || this._audioFiles.find(abf => !abf.ino) || this._otherFiles.find(f => !f.ino) || this._tracks.find(t => !t.ino) } @@ -210,7 +214,7 @@ class Audiobook { hasInvalidParts: this.invalidParts ? this.invalidParts.length : 0, // numEbooks: this.ebooks.length, ebooks: this.ebooks.map(ebook => ebook.toJSON()), - numEbooks: (this.hasEpub || this.hasMobi || this.hasPdf) ? 1 : 0, // Only supporting epubs in the reader currently + numEbooks: (this.hasEpub || this.hasMobi || this.hasPdf || this.hasComic) ? 1 : 0, numTracks: this.tracks.length, chapters: this.chapters || [], isMissing: !!this.isMissing, @@ -237,7 +241,7 @@ class Audiobook { audioFiles: this._audioFiles.map(audioFile => audioFile.toJSON()), otherFiles: this._otherFiles.map(otherFile => otherFile.toJSON()), ebooks: this.ebooks.map(ebook => ebook.toJSON()), - numEbooks: (this.hasEpub || this.hasMobi || this.hasPdf) ? 1 : 0, + numEbooks: (this.hasEpub || this.hasMobi || this.hasPdf || this.hasComic) ? 1 : 0, numTracks: this.tracks.length, tags: this.tags, book: this.bookToJSON(), diff --git a/server/utils/globals.js b/server/utils/globals.js index 0edc5ca5..2ee2ec1a 100644 --- a/server/utils/globals.js +++ b/server/utils/globals.js @@ -1,7 +1,7 @@ const globals = { SupportedImageTypes: ['png', 'jpg', 'jpeg', 'webp'], SupportedAudioTypes: ['m4b', 'mp3', 'm4a', 'flac', 'opus', 'mp4'], - SupportedEbookTypes: ['epub', 'pdf', 'mobi', 'azw3'] + SupportedEbookTypes: ['epub', 'pdf', 'mobi', 'azw3', 'cbr', 'cbz'] } module.exports = globals